PageSourceSearch

https://www.tequeremosescuchar.com/psilinea/resources/components/engage/assets/js/min/min.js

js tequeremosescuchar.com collected 2026-10-08 05:40:48 UTC 3,222,090 bytes, 44,213 lines download raw bytes

1function blogIsotope() {
2    if ($(".posts.masonry").length || $(".posts.masonry-grid").length) {
3        var $container = $(".posts");
4        if ($(".infinite-container").length) {
5            $container.isotope({
6                itemSelector: ".item",
7                layoutMode: "packery",
8                percentPosition: !0,
9                masonry: {
10                    columnWidth: $container.find(".item:not(.item-wide):not(.item-fullwidth):not(.item-tall)")[0],
11                    gutter: 0
12                }
13            });
14            var currentPage = 1, newPage = $(".next-page").attr("href"), numPage = $(".next-page").data("num-page");
15            $(".infinite-container").hasClass("infinite-onclick") ? $(".next-page").click(function (e) {
16                e.preventDefault(), $("body").append('<div id="temp-load"></div>'), currentPage++, currentPage >= numPage && $(".next-page").parent().fadeOut(300, function () {
17                    $(".next-page").parent().remove()
18                });
19                var newUrl = newPage + "-" + currentPage + ".html";
20                $("#temp-load").load(newUrl + " .posts", function () {
21                    $("#temp-load > .infinite-container").children().css({opacity: 0});
22                    var toAdd = $("#temp-load > .infinite-container").html();
23                    $container.isotope("insert", $(toAdd), function () {
24                        $container.children().css({opacity: 1})
25                    }), $(".video-js").each(function () {
26                        var videoId = $(this).attr("id");
27                        videojs(videoId)
28                    }), handleVideo(), flexslider(), $(window).trigger("resize"), setTimeout(function () {
29                        $container.isotope("layout")
30                    }, 100), $("#temp-load").remove()
31                })
32            }) : $(window).scroll(function () {
33                var scrollTop = $(window).scrollTop(), windowHeight = $(window).height(),
34                    docuHeight = $(document).height(), footerHeight = $("#footer").height();
35                if (currentPage >= numPage) return void $(".spinner").parent().fadeOut(300, function () {
36                    $(".spinner").parent().remove()
37                });
38                if (scrollTop + windowHeight >= docuHeight - footerHeight) {
39                    $("body").append('<div id="temp-load"></div>'), currentPage++;
40                    var newUrl = newPage + "-" + currentPage + ".html";
41                    $("#temp-load").load(newUrl + " .posts", function () {
42                        $("#temp-load > .infinite-container").children().css({opacity: 0});
43                        var toAdd = $("#temp-load > .infinite-container").html();
44                        $container.isotope("insert", $(toAdd), function () {
45                            $container.children().css({opacity: 1})
46                        }), $(".video-js").each(function () {
47                            var videoId = $(this).attr("id");
48                            videojs(videoId)
49                        }), handleVideo(), flexslider(), $(window).trigger("resize"), setTimeout(function () {
50                            $container.isotope("layout")
51                        }, 100), $("#temp-load").remove()
52                    })
53                }
54            })
55        }
56    }
57}
58
59function postIsotope() {
60    if ($(".post .post-masonry").length) {
61        var $postMasonry = $(".post .post-masonry");
62        $postMasonry.isotope({
63            itemSelector: ".post figure",
64            percentPosition: !0,
65            masonry: {columnWidth: ".grid-sizer"}
66        }), $(window).resize(function () {
67            $postMasonry.isotope("layout")
68        })
69    }
70}
71
72function chart() {
73    if ($("#radar-chart").length) {
74        var radarChartData = {
75            labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"],
76            datasets: [{
77                fillColor: "rgba(220,220,220,0.2)",
78                strokeColor: "rgba(220,220,220,1)",
79                pointColor: "rgba(220,220,220,1)",
80                pointStrokeColor: "#fff",
81                pointHighlightFill: "#fff",
82                pointHighlightStroke: "rgba(220,220,220,1)",
83                data: [65, 59, 90, 81, 56, 55, 40]
84            }, {
85                fillColor: "rgba(226, 120, 93,0.2)",
86                strokeColor: "#e2785d ",
87                pointColor: "#e2785d ",
88                pointStrokeColor: "#fff",
89                pointHighlightFill: "#fff",
90                pointHighlightStroke: "#e2785d ",
91                data: [28, 48, 40, 19, 96, 27, 100]
92            }]
93        };
94        if ($("#radar-chart").hasClass("animated")) $("#radar-chart.animated").on("appear", function (event, $allAppearedElements) {
95            if (!$("#radar-chart").hasClass("visible")) {
96                new Chart(document.getElementById("radar-chart").getContext("2d")).Radar(radarChartData, {
97                    responsive: !0,
98                    tooltipCornerRadius: 0
99                })
100            }
101        }); else {
102            new Chart(document.getElementById("radar-chart").getContext("2d")).Radar(radarChartData, {
103                responsive: !0,
104                tooltipCornerRadius: 0
105            })
106        }
107    }
108    if ($("#line-chart").length) {
109        var lineChartData = {
110            labels: ["January", "February", "March", "April", "May", "June", "July"],
111            datasets: [{
112                fillColor: "rgba(220,220,220,0.2)",
113                strokeColor: "rgba(220,220,220,1)",
114                pointColor: "rgba(220,220,220,1)",
115                pointStrokeColor: "#fff",
116                pointHighlightFill: "#fff",
117                pointHighlightStroke: "rgba(220,220,220,1)",
118                data: [65, 59, 80, 81, 56, 55, 40]
119            }, {
120                fillColor: "rgba(226, 120, 93,0.2)",
121                strokeColor: "rgba(226, 120, 93,1)",
122                pointColor: "rgba(226, 120, 93,1)",
123                pointStrokeColor: "#e2785d",
124                pointHighlightFill: "#e2785d",
125                pointHighlightStroke: "rgba(226, 120, 93,1)",
126                data: [28, 48, 40, 19, 86, 27, 90]
127            }]
128        };
129        $("#line-chart").hasClass("animated") ? $("#line-chart.animated").on("appear", function (event, $allAppearedElements) {
130            $("#line-chart").hasClass("visible") || (window.myPie = new Chart(document.getElementById("line-chart").getContext("2d")).Line(lineChartData, {
131                responsive: !0,
132                tooltipCornerRadius: 0
133            }))
134        }) : window.myPie = new Chart(document.getElementById("line-chart").getContext("2d")).Line(lineChartData, {
135            responsive: !0,
136            tooltipCornerRadius: 0
137        })
138    }
139    if ($("#donut-chart").length) {
140        var donutData = [{
141            value: 300,
142            color: "rgba(226, 120, 93,0.9)",
143            highlight: "rgba(226, 120, 93,1)",
144            label: "Orange"
145        }, {value: 40, color: "rgba(54, 173, 199,0.9)", highlight: "rgba(54, 173, 199,1)", label: "Blue"}, {
146            value: 100,
147            color: "rgba(255, 200, 112,0.9)",
148            highlight: "rgba(255, 200, 112,1)",
149            label: "Yellow"
150        }, {value: 50, color: "rgba(27, 184, 152,0.9)", highlight: "rgba(27, 184, 152,1)", label: "Green"}, {
151            value: 120,
152            color: "rgba(97, 103, 116,0.9)",
153            highlight: "rgba(97, 103, 116,1)",
154            label: "Dark Grey"
155        }];
156        $("#donut-chart").hasClass("animated") ? $("#donut-chart.animated").on("appear", function (event, $allAppearedElements) {
157            $("#donut-chart").hasClass("visible") || (window.myPie = new Chart(document.getElementById("donut-chart").getContext("2d")).Pie(donutData, {
158                responsive: !0,
159                tooltipCornerRadius: 0
160            }))
161        }) : window.myPie = new Chart(document.getElementById("donut-chart").getContext("2d")).Pie(donutData, {
162            responsive: !0,
163            tooltipCornerRadius: 0
164        })
165    }
166    if ($("#polar-chart").length) {
167        var polarData = [{
168            value: 80,
169            color: "rgba(27, 184, 152,0.9)",
170            highlight: "rgba(27, 184, 152,1)",
171            label: "Green"
172        }, {
173            value: 120,
174            color: "rgba(226, 120, 93,0.9)",
175            highlight: "rgba(226, 120, 93,1)",
176            label: "Orange"
177        }, {value: 80, color: "rgba(54, 173, 199,0.9)", highlight: "rgba(54, 173, 199,1)", label: "Blue"}, {
178            value: 60,
179            color: "rgba(201, 98, 95,0.9)",
180            highlight: "rgba(201, 98, 95,1)",
181            label: "Red"
182        }
182, {value: 60, color: "rgba(97, 103, 116,0.9)", highlight: "rgba(97, 103, 116,1)", label: "Dark Grey"}];
183        $("#polar-chart").hasClass("animated") ? $("#polar-chart.animated").on("appear", function (event, $allAppearedElements) {
184            $("#polar-chart").hasClass("visible") || (window.myPolarArea = new Chart(document.getElementById("polar-chart").getContext("2d")).PolarArea(polarData, {
185                responsive: !0,
186                tooltipCornerRadius: 0
187            }))
188        }) : window.myPolarArea = new Chart(document.getElementById("polar-chart").getContext("2d")).PolarArea(polarData, {
189            responsive: !0,
190            tooltipCornerRadius: 0
191        })
192    }
193}
194
195function wishlist() {
196    $(".product-wishlist").click(function (e) {
197        if (e.preventDefault(), $(this).find("i").hasClass("fa-heart-o")) {
198            var numWishlist = parseInt($("#main-navigation .wishlist_items_number").text());
199            $(".wishlist_items_number").text("").text(numWishlist + 1), $(this).parents(".product-single").length || ($(this).find("i").removeClass("fa-heart-o").addClass("fa-heart"), $(this).find("i").attr("title", "<p>Remove from Wishlist</p>").tooltip("dispose").tooltip("show")), $(this).parents(".product-single").length && $(this).fadeOut(300, function () {
200                $(this).html('<i class="fa fa-heart"></i> Remove from Wishlist').fadeIn(300)
201            })
202        } else {
203            var numWishlist = parseInt($("#main-navigation .wishlist_items_number").text());
204            numWishlist > 0 && $(".wishlist_items_number").text("").text(numWishlist - 1), $(this).parents(".product-single").length || ($(this).find("i").removeClass("fa-heart").addClass("fa-heart-o"), $(this).find("i").attr("title", "<p>Add to Wishlist</p>").tooltip("dispose").tooltip("show")), $(this).parents(".product-single").length && $(this).fadeOut(300, function () {
205                $(this).html('<i class="fa fa-heart-o"></i> Add from Wishlist').fadeIn(300)
206            })
207        }
208    })
209}
210
211function addToCart() {
212    $(".product, .product-single, .wishlist").on("click", ".add-to-cart, .view-cart", function (e) {
213        var numCart = 0;
214        $(this).hasClass("view-cart") && (window.location.href = "shopping-cart"), e.preventDefault(), $(this).fadeOut(300, function () {
215            $(".products-list").length ? ($(this).html("View Cart").removeClass("add-to-cart").addClass("view-cart").attr("href", "cart").fadeIn(300), $(this).find("i").attr("title", "<p>Add to Wishlist</p>").tooltip("dispose").tooltip("show")) : $(this).parents(".product-single").length ? $(this).html('<i class="nc-icon-outline shopping_bag-16"></i><span>View Cart</span>').removeClass("add-to-cart").removeClass("btn-primary").addClass("view-cart").addClass("btn-dark").attr("href", "shopping-cart").fadeIn(300) : $(this).parents(".product-info").length ? ($(this).html("<span>View Cart</span>").removeClass("add-to-cart").addClass("view-cart").attr("href", "shopping-cart").fadeIn(300), $(this).attr("data-original-title", "<p>View Cart</p>").tooltip("dispose").tooltip("show")) : $(this).html('<i class="nc-icon-outline shopping_bag-16"></i><span>View Cart</span>').removeClass("add-to-cart").removeClass("btn-primary").addClass("view-cart btn-dark").attr("href", "shopping-cart").fadeIn(300), numCart = parseInt($("#main-navigation .cart_items_number").text()) + 1, $(".cart_items_number").text(numCart)
216        })
217    }), $("body").on("click", ".add-to-cart", function () {
218        var magnificPopup = $.magnificPopup.instance;
219        if (magnificPopup.close(), toastr.options = {positionClass: "toast-bottom-right"}, $(".wishlist").length) {
220            var itemName = $(this).parents(".cart-item").find(".product-name").text(),
221                itemImg = $(this).parents(".cart-item").find("img").attr("src"),
222                itemPrice = $(this).parents(".cart-item").find(".product-price").text();
223            toastr.info('<div class="notif-cart"><div class="img-wrapper"><img src="' + itemImg + '" alt="jacket 1" draggable="false"></div><div class="text-wrapper">' + itemName + ' added to cart<div class="notif-price">' + itemPrice + "</div></div></div>")
224        } else if ($(this).parents(".product-single").length) {
225            var itemName = $(this).parents(".product-single").find(".product-name").text(),
226                itemImg = $(this).parents(".product-single").find("img").attr("src"),
227                itemPrice = $(this).parents(".product-single").find(".product-price").text();
228            toastr.info('<div class="notif-cart"><div class="img-wrapper"><img src="' + itemImg + '" alt="cart image" draggable="false"></div><div class="text-wrapper">' + itemName + ' added to cart<div class="notif-price">' + itemPrice + "</div></div></div>")
229        } else if ($(".product-list").length) {
230            var itemName = $(this).parents(".product-single").find(".product-name").text(),
231                itemImg = $(this).parents(".product-single").find("img").attr("src"),
232                itemPrice = $(this).parents(".product-single").find(".product-price").text();
233            toastr.info('<div class="notif-cart"><div class="img-wrapper"><img src="' + itemImg + '" alt="jacket 1" draggable="false"></div><div class="text-wrapper">' + itemName + ' added to cart<div class="notif-price">' + itemPrice + "</div></div></div>")
234        } else toastr.info('<div class="notif-cart"><div class="img-wrapper"><img src="assets/img/ecommerce/jacket-1.jpg" alt="jacket 1" draggable="false"></div><div class="text-wrapper">Item added to your cart<div class="notif-price">$59.95</div></div></div>')
235    })
236}
237
238function removeFromCart() {
239    $(".product-remove a").on("click", function (e) {
240        e.preventDefault();
241        var numCart = parseInt($("#main-navigation .cart_items_number").text());
242        if ($(this).parents("#cart-quickview").length > 0) {
243            var itemQuantity = $(this).parents(".cart-item").find(".product-qty").data("qty");
244            console.log(itemQuantity), $(".cart_items_number").text(numCart - itemQuantity), 1 == $(this).parents("#cart-quickview").find(".cart-item").length && ($("#cart-quickview .table-cart, #cart
244-quickview .cart-total, #cart-quickview .btn").fadeOut(), $("#cart-quickview").append('<p class="cart-empty">Your cart is empty</p>'))
245        } else $(".cart_items_number").text(numCart - $(this).parents(".cart-item").find(".quantity input").val());
246        var itemName = $(this).parents(".cart-item").find(".product-name").text(),
247            itemImg = $(this).parents(".cart-item").find("img").attr("src"),
248            itemPrice = $(this).parents(".cart-item").find(".product-price").text();
249        $(this).parents(".cart-item").fadeOut(300, function () {
250            $(".tooltip").remove(), $(this).remove(), calculTotal()
251        }), toastr.options = {positionClass: "toast-bottom-right"}, toastr.info('<div class="notif-cart"><div class="img-wrapper"><img src="' + itemImg + '" alt="removed item" draggable="false"></div><div class="text-wrapper">' + itemName + ' removed<div class="notif-price">' + itemPrice + "</div></div></div>")
252    })
253}
254
255function updateAmountCart() {
256    var numCart = 0;
257    $(".quantity input").each(function () {
258        numCart += parseFloat($(this).val())
259    }), $(".cart-item").on("click", ".quantity .plus", function () {
260        var numCart = parseInt($("#main-navigation .cart_items_number").text());
261        $(".cart_items_number").text(numCart + 1);
262        var itemPrice = $(this).parents(".cart-item").find(".product-price span").text(),
263            currentVal = parseInt($(this).parent().find("input").val()) + 1, itemTotal = itemPrice * currentVal;
264        $(this).parents(".cart-item").find(".product-total").html("$<span>" + itemTotal.toFixed(2) + "</span>"), calculTotal()
265    }), $(".cart-item").on("click", ".quantity .minus", function () {
266        var itemPrice = $(this).parents(".cart-item").find(".product-price span").text(),
267            currentVal = parseInt($(this).parent().find("input").val()) - 1, itemTotal = itemPrice * currentVal;
268        if (currentVal > 0) {
269            var numCart = parseInt($("#main-navigation .cart_items_number").text());
270            numCart > 0 && $(".cart_items_number").text("").text(numCart - 1), $(this).parents(".cart-item").find(".product-total").html("$<span>" + itemTotal.toFixed(2) + "</span>"), calculTotal()
271        }
272    })
273}
274
275function calculTotal() {
276    var subtotal = 0, total = 0, shippingCost = parseFloat($("input[name=shipping-cost]:checked").val());
277    $(".product-total span").each(function () {
278        subtotal += parseFloat($(this).text())
279    }), total = subtotal + shippingCost, $(".cart-subtotal-val span").text(total.toFixed(2)), $(".cart-total-val span").text(total.toFixed(2))
280}
281
282function shipping() {
283    $("input[name=shipping-cost]").click(function () {
284        var subtotal = 0, total = 0, shippingCost = parseFloat($("input[name=shipping-cost]:checked").val());
285        $(".checkout-form").length ? subtotal = parseFloat($(".cart-subtotal-val span").text()) : $(".product-total span").each(function () {
286            subtotal += parseFloat($(this).text())
287        }), total = subtotal + shippingCost, $(".cart-total-val span").text(total.toFixed(2))
288    })
289}
290
291function productVariable() {
292    if ($(".select-color").length || $(".select-size").length) {
293        $(".quantity-cart, #clear-selection").hide();
294        var colorData = sizeData = "null";
295        $(".select-color").on("change", function () {
296            $("#clear-selection").fadeIn(), colorData = $(this).val(), void 0 !== colorData && ($("#clear-selection").show(), "orange" === colorData && ($("#product-slider").flexslider(0), $("#product-slider-thumbnails").flexslider(0)), "blue" === colorData && ($("#product-slider").flexslider(3), $("#product-slider-thumbnails").flexslider(3)), "brown" === colorData && ($("#product-slider").flexslider(6), $("#product-slider-thumbnails").flexslider(6))), "null" !== colorData && "null" !== sizeData ? $(".quantity-cart").fadeIn() : $(".quantity-cart").fadeOut()
297        }), $(".select-size").on("change", function () {
298            $("#clear-selection").fadeIn(), sizeData = $(this).val(), "null" !== colorData && "null" !== sizeData ? $(".quantity-cart").fadeIn() : $(".quantity-cart").fadeOut()
299        })
300    }
301    $("#clear-selection").click(function (e) {
302        e.preventDefault(), $(".select-color").val("choose").trigger("change"), $(".select-size").val("choose").trigger("change"), $("#clear-selection").fadeOut()
303    })
304}
305
306function extendedProduct() {
307    $(".product-single, .extended-product-img-wrapper").css("min-height", ""), $(".extended-product:not(.extended-third)").each(function () {
308        var extendedProduct = $(this);
309        extendedImg = extendedProduct.find(".extended-product-img"), extendedImgHeight = extendedImg.height(), extendedDesc = extendedProduct.find(".extended-product-desc"), extendedDescHeight = extendedDesc.height(), extendedImgHeight > extendedDescHeight ? extendedProduct.hasClass("extended-product-first") || extendedProduct.hasClass("extended-product-last") ? extendedProduct.find(".product-single").css("min-height", extendedImgHeight - 30) : extendedProduct.find(".product-single").css("min-height", extendedImgHeight - 60) : extendedProduct.hasClass("extended-alone") ? extendedImg.find(".extended-product-img-wrapper").css("min-height", extendedDescHeight - 60) : extendedImg.find(".extended-product-img-wrapper").css("min-height", extendedDescHeight)
310    }), $(".extended-product.extended-third").each(function () {
311        var extendedProduct = $(this);
312        extendedProductHeight = extendedProduct.height(), extendedProduct.find(".extended-product-desc .product-single, .extended-product-img-wrapper").css("min-height", extendedProductHeight)
313    })
314}
315
316function snowEffect() {
317    function initHeader() {
318        width = window.innerWidth, height = window.innerHeight, target = {
319            x: 0,
320            y: height
321        }, largeHeader = document.getElementById("rev_slider"), largeHeader.style.height = height + "px", canvas = document.getElementById("demo-canvas"), canvas.width = width, canvas.height = height, ctx = canvas.getContext("2d"), circles = [];
322        for (var x = 0; .5 * width > x; x++) {
323            var c = new Circle;
324            circles.push(c)
325        }
326        animate()
327    }
328
329    function addListeners() {
330        window.addEventListener("scroll", scrollCheck), window.addEventListener("resize", resize)
331    }
332
333    function scrollCheck() {
334        animateHeader = document.body.scrollTop > height ? !1 : !0
335    }
336
337    function resize() {
338        width = window.innerWidth, height = window.innerHeight, largeHeader.style.height = height + "px", canvas.width = width, canvas.height = height
339    }
340
341    function animate() {
342        if (animateHeader) {
343            ctx.clearRect(0, 0, width, height);
344            for (var i in circles) circles[i].draw()
345        }
346        requestAnimationFrame(animate)
347    }
348
349    function Circle() {
350        function init() {
351            _this.pos.x = Math.random() * width, _this.pos.y = height + 300 * Math.random(), _this.alpha = .1 + .6 * Math.random(), _this.scale = .1 + .5 * Math.random(), _this.velocity = Math.random()
352        }
353
354        var _this = this;
355        !function () {
356            _this.pos = {}, init()
357        }(), this.draw = function () {
358            _this.alpha <= 0 && init(), _this.pos.y -= _this.velocity, _this.alpha -= 5e-4, ctx.beginPath(), ctx.arc(_this.pos.x, _this.pos.y, 10 * _this.scale, 0, 2 * Math.PI, !1), ctx.fillStyle = "rgba(255,255,255," + _this.alpha + ")", ctx.fill()
359        }
360    }
361
362    if ($("#demo-canvas").length) {
363        var width, height, largeHeader, canvas, ctx, circles, target, animateHeader = !0;
364        initHeader(), addListeners()
365    }
366}
367
368function googleMap() {
369    var geocodingMap, windowHeight = $(window).height(), myMap = [], map = $(".map"), iterator = 1, routeLat = 51.50853,
370        routeLng = -.12574;
371    map.each(function () {
372        var mapStyle = [];
373        $(this).data("map-height") && ($(this).css("height", $(this).data("map-height")), "100%" === $(this).data("map-height") && ($(this).parent().css("height", windowHeight), $(this).css("height", windowHeight + 40), $(".section-fullmap .row").height() > windowHeight && ($(this).parent().css("height", $(".section-fullmap .row").height() + 120), $(this).css("height", $(".section-fullmap .row").height() + 160)))), $(this).data("map-width") && $(this).css("width", $(this).data("map-width")), $(this).hasClass("map-header") && $(this).css("height", $(this).parent().height()), "blue" === $(this).data("map-style") && (mapStyle = [{
374            featureType: "water",
375            stylers: [{saturation: 43}, {lightness: -11}, {hue: "#0088ff"}]
376        }, {
377            featureType: "road",
378            elementType: "geometry.fill",
379            stylers: [{hue: "#ff0000"}, {saturation: -100}, {lightness: 99}]
380        }, {
381            featureType: "road",
382            elementType: "geometry.stroke",
383            stylers: [{color: "#808080"}, {lightness: 54}]
384        }, {
385            featureType: "landscape.man_made",
386            elementType: "geometry.fill",
387            stylers: [{color: "#ece2d9"}]
388        }, {featureType: "poi.park", elementType: "geometry.fill", stylers: [{color: "#ccdca1"}]}, {
389            featureType: "road",
390            elementType: "labels.text.fill",
391            stylers: [{color: "#767676"}]
392        }, {featureType: "road", elementType: "labels.text.stroke", stylers: [{color: "#ffffff"}]}, {
393            featureType: "poi",
394            stylers: [{visibility: "off"}]
395        }, {
396            featureType: "landscape.natural",
397            elementType: "geometry.fill",
398            stylers: [{visibility: "on"}, {color: "#b8cb93"}]
399        }, {featureType: "poi.park", stylers: [{visibility: "on"}]}, {
400            featureType: "poi.sports_complex",
401            stylers: [{visibility: "on"}]
402        }, {featureType: "poi.medical", stylers: [{visibility: "on"}]}, {
403            featureType: "poi.business",
404            stylers: [{visibility: "simplified"}]
405        }]), "turquoise" === $(this).data("map-style") && (mapStyle = [{
406            featureType: "landscape.natural",
407            elementType: "geometry.fill",
408            stylers: [{visibility: "on"}, {color: "#e0efef"}]
409        }, {
410            featureType: "poi",
411            elementType: "geometry.fill",
412            stylers: [{visibility: "on"}, {hue: "#1900ff"}, {color: "#c0e8e8"}]
413        }, {
414            featureType: "road",
415            elementType: "geometry",
416            stylers: [{lightness: 100}, {visibility: "simplified"}]
417        }, {featureType: "road", elementType: "labels", stylers: [{visibility: "off"}]}, {
418            featureType: "transit.line",
419            elementType: "geometry",
420            stylers: [{visibility: "on"}, {lightness: 700}]
421        }, {
422            featureType: "water",
423            elementType: "all",
424            stylers: [{color: "#7dcdcd"}]
425        }]), "dark" === $(this).data("map-style") && (mapStyle = [{
426            featureType: "all",
427            elementType: "labels.text.fill",
428            stylers: [{saturation: 36}, {color: "#000000"}, {lightness: 40}]
429        }, {
430            featureType: "all",
431            elementType: "labels.text.stroke",
432            stylers: [{visibility: "on"}, {color: "#000000"}, {lightness: 16}]
433        }, {
434            featureType: "all",
435            elementType: "labels.icon",
436            stylers: [{visibility: "off"}]
437        }, {
438            featureType: "administrative",
439            elementType: "geometry.fill",
440            stylers: [{color: "#000000"}, {lightness: 20}]
441        }, {
442            featureType: "administrative",
443            elementType: "geometry.stroke",
444            stylers: [{color: "#000000"}, {lightness: 17}, {weight: 1.2}]
445        }, {
446            featureType: "landscape",
447            elementType: "geometry",
448            stylers: [{color: "#000000"}, {lightness: 20}]
449        }, {
450            featureType: "poi",
451            elementType: "geometry",
452            stylers: [{color: "#000000"}, {lightness: 21}]
453        }, {
454            featureType: "road.highway",
455            elementType: "geometry.fill",
456            stylers: [{color: "#000000"}, {lightness: 17}]
457        }, {
458            featureType: "road.highway",
459            elementType: "geometry.stroke",
460            stylers: [{color: "#000000"}, {lightness: 29}, {weight: .2}]
461        }, {
462            featureType: "road.arterial",
463            elementType: "geometry",
464            stylers: [{color: "#000000"}, {lightness: 18}]
465        }, {
466            featureType: "road.local",
467            elementType: "geometry",
468            stylers: [{color: "#000000"}, {lightness: 16}]
469        }, {
470            featureType: "transit",
471            elementType: "geometry",
472            stylers: [{color: "#000000"}, {lightness: 19}]
473        }, {
474            featureType: "water",
475            elementType: "geometry",
476            stylers: [{color: "#000000"}, {lightness: 17}]
477        }]), "black-white" === $(this).data("map-style") && (mapStyle = [{
478            featureType: "landscape",
479            stylers: [{saturation: -100}, {lightness: 65}, {visibility: "on"}]
480        }, {
481            featureType: "poi",
482            stylers: [{saturation: -100}, {lightness: 51}, {visibility: "simplified"}]
483        }, {
484            featureType: "road.highway",
485            stylers: [{saturation: -100}, {visibility: "simplified"}]
486        }, {
487            featureType: "road.arterial",
488            stylers: [{saturation: -100}, {lightness: 30}, {visibility: "on"}]
489        }, {
490            featureType: "road.local",
491            stylers: [{saturation: -100}, {lightness: 40}, {visibility: "on"}]
492        }, {
493            featureType: "transit",
494            stylers: [{saturation: -100}, {visibility: "simplified"}]
495        }, {featureType: "administrative.province", stylers: [{visibility: "off"}]}, {
496            featureType: "water",
497            elementType: "labels",
498            stylers: [{visibility: "on"}, {lightness: -25}, {saturation: -100}]
499        }, {
500            featureType: "water",
501            elementType: "geometry",
502            stylers: [{hue: "#ffff00"}, {lightness: -25}, {saturation: -97}]
503        }]);
504        var currentMap = "#" + $(this).attr("id"), $this = $(this), opts = null,
505            pluginOptions = $this.data("plugin-options"), defaults = {
506                div: currentMap,
507                lat: -12.043333,
508                lng: -77.028333,
509                zoom: 16,
510                panControl: !0,
511                mapTypeControl: !0,
512                zoomControl: !0,
513                scrollwheel: !1,
514                streetViewControl: !1,
515                overviewMapControl: !0,
516                styles: mapStyle
517            };
518        if (opts = $.extend({}, defaults, pluginOptions), "map-route" === $(this).attr("id")) {
519            geocodingMap = new GMaps(opts);
520            var routeLat = pluginOptions.lat, routeLng = pluginOptions.lng;
521            return void geocodingMap.addMarker({
522                lat: routeLat,
523                lng: routeLng,
524                title: "Our office",
525                infoWindow: {content: "<p>Our office</p>"},
526                icon: "assets/img/map-markers/blue.png"
527            })
528        }
529        if (myMap[iterator] = new GMaps(opts), void 0 !== pluginOptions && pluginOptions.address) {
530            var iteratorAddress = iterator;
531            GMaps.geocode({
532                address: pluginOptions.address, callback: function (results, status) {
533                    if ("OK" === status) {
534                        var latlng = results[0].geometry.location;
535                        myMap[iteratorAddress].setCenter(latlng.lat(), latlng.lng()), $this.data("markers") || myMap[iteratorAddress].addMarker({
536                            lat: pluginOptions.lat ? pluginOptions.lat : latlng.lat(),
537                            lng: pluginOptions.lng ? pluginOptions.lng : latlng.lng(),
538                            title: "Here we are",
539                            infoWindow: {content: "<p>Find us here</p>"},
540                            icon: $this.data("marker-img") ? $this.data("marker-img") : "assets/img/map-markers/dark.png"
541                        })
542                    } else myMap[iteratorAddress].addMarker({
543                        lat: -37.814107,
544                        lng: 144.96328,
545                        title: "Here we are",
546                        infoWindow: {content: "<p>Find us here</p>"},
547                        icon: "assets/img/map-markers/dark.png"
548                    })
549                }
550            })
551        }
552        if ($this.data("markers") && pluginOptions.lat && pluginOptions.lng) {
553            var markersOptions = $this.data("markers");
554            if ("none" === markersOptions) return;
555            $.map(markersOptions, function (val, i) {
556                myMap[iterator].addMarker({
557                    lat: val.lat ? val.lat : pluginOptions.lat,
558                    lng: val.lng ? val.lng : pluginOptions.lng,
559                    icon: val.icon ? val.icon : "assets/img/map-markers/dark.png",
560                    title: val.title ? val.title : null,
561                    infoWindow: {content: val.title ? "<p>" + val.title + "</p>" : null}
562                })
563            })
564        } else void 0 !== pluginOptions && pluginOptions.lat && pluginOptions.lng && myMap[iterator].addMarker({
565            lat: pluginOptions.lat ? pluginOptions.lat : latlng.lat(),
566            lng: pluginOptions.lng ? pluginOptions.lng : latlng.lng(),
567            title: "Here we are",
568            infoWindow: {content: "<p>Find us here</p>"},
569            icon: $this.data("marker-img") ? $this.data("marker-img") : "assets/img/map-markers/dark.png"
570        });
571        iterator++
572    }), $("#geocoding_form").submit(function (e) {
573        e.preventDefault(), GMaps.geocode({
574            address: $("#address").val().trim(), callback: function (results, status) {
575                if ("OK" === status) {
576                    var latlng = results[0].geometry.location;
577                    geocodingMap.drawRoute({
578                        origin: [latlng.lat(), latlng.lng()],
579                        destination: [routeLat, routeLng],
580                        travelMode: "driving",
581                        strokeColor: "#6AA1B8",
582                        strokeOpacity: .6,
583                        strokeWeight: 6
584                    }), geocodingMap.addMarker({
585                        lat: latlng.lat(),
586                        lng: latlng.lng(),
587                        icon: "assets/img/map-markers/dark.png",
588                        infoWindow: {content: "<p>You're here</p>"}
589                    })
590                }
591            }
592        })
593    })
594}
595
596function handleIsotope() {
597    $(".grid").length && ($(".grid:not(.infinite-container)").each(function () {
598        var $container = $(this), layoutIsotope = "packery";
599        $container.hasClass("masonry-grid") && (layoutIsotope = "fitRows"), $container.isotope({
600            itemSelector: ".item",
601            layoutMode: layoutIsotope,
602            percentPosition: !0,
603            masonry: {
604                columnWidth: $container.find(".item:not(.item-wide):not(.item-fullwidth):not(.item-tall)")[0],
605                gutter: 0
606            }
607        }), $(".items-filter a").click(function () {
608            $(".items-filter .current").removeClass("current"), $(this).addClass("current");
609            var selector = $(this).attr("data-filter");
610            return $container.isotope({filter: selector, transitionDuration: "0.7s"}), !1
611        }), $(window).resize(function () {
612            masonryHeight(), $container.isotope("layout")
613        }), $("body").trigger("resize")
614    }), setTimeout(function () {
615        $("body").trigger("resize")
616    }, 1100))
617}
618
619function masonryHeight() {
620    $(".masonry").each(function () {
621        if (!$(this).hasClass("masonry-layout") && !$(this).hasClass("grid-1")) {
622            $(this).find(".item").height("");
623            var masonryHeight = $(this).find(".item:not(.item-tall):not(.item-wide):not(.item-fullwidth)").width();
624            $(this).hasClass("no-space") ? $(this).find(".item:not(.isotope-hidden)").each(function () {
625                $(this).height(masonryHeight), $(this).hasClass("item-tall") && $(this).height(2 * masonryHeight), $(this).hasClass("item-wide") && !$(this).hasClass("item-tall") && $(this).width(2 * masonryHeight)
626            }) : $(this).find(".item:not(.isotope-hidden)").each(function () {
627                $(this).height(masonryHeight - 32), $(this).hasClass("item-tall") && $(this).height(2 * masonryHeight - 44), $(this).hasClass("item-wide") && !$(this).hasClass("item-tall") && $(this).width(2 * masonryHeight + 20)
628            })
629        }
630    })
631}
632
633function handleMenus() {
634    windowWidth = $(window).width(), $("#off-fullscreen-menu").length || $("#off-aside-menu").length || $(".left-nav").length || $(".right-nav").length || $(".aside-right").length ? body.removeClass("menu-mobile mobile-menu-open") : showMobileMenuW
634idth > windowWidth ? (body.addClass("menu-mobile").removeClass("top-menu-open"), toggleMenu.removeClass("active"), $("#main-menu, .main-menu").removeClass("main-menu-open")) : body.removeClass("menu-mobile mobile-menu-open")
635}
636
637function handleOffMainMenu() {
638    var mainMenu = $(".off-main-menu");
639    $("html").on("click", 'body:not(.menu-mobile) [data-toggle="main-menu"]', function (e) {
640        e.preventDefault(), $(".toggle-menu").hasClass("active") === !0 ? ($(".toggle-menu").removeClass("active"), mainMenu.removeClass("main-menu-open"), body.addClass("main-menu-closing"), setTimeout(function () {
641            body.hasClass("main-menu-closing") === !0 && body.removeClass("main-menu-closing")
642        }, 500)) : ($(".toggle-menu").addClass("active"), mainMenu.addClass("main-menu-open"))
643    })
644}
645
646function handleSideMenu() {
647    $.fn.slimScroll && $("#aside-nav .main-nav-wrapper").slimScroll({
648        color: $("#off-aside-menu").hasClass("header-dark") ? "#7B7B7B" : "#eee",
649        size: "8px",
650        height: "100%",
651        alwaysVisible: !0
652    }), $("body").on("click", '[data-toggle="aside-menu"]', function (e) {
653        e.preventDefault();
654        var toggleEffect = $(this).data("effect"), menuPosition = $(this).data("position");
655        "hover" === toggleEffect && $("body").addClass("aside-hover"), "push" === toggleEffect && $("body").removeClass("aside-hover"), "left" === menuPosition && $("body").addClass("aside-left").removeClass("aside-right"), "right" === menuPosition && $("body").addClass("aside-right").removeClass("aside-left"), $(".toggle-menu").hasClass("active") === !0 ? closeSideMenu() : ($(".toggle-menu").addClass("active"), $("body").addClass("aside-menu-open"))
656    }), body.click(function (e) {
657        $(e.target).parents("#aside-nav").length || $(e.target).is("aside") || $(e.target).is(".toggle-menu") || $(e.target).parents(".toggle-menu").length || $(e.target).parents(".off-menu-btn").length || body.hasClass("aside-menu-open") === !0 && closeSideMenu()
658    })
659}
660
661function closeSideMenu() {
662    body.hasClass("aside-menu-open") && ($(".toggle-menu").removeClass("active"), body.removeClass("aside-menu-open"), body.addClass("aside-menu-closing"), setTimeout(function () {
663        body.hasClass("aside-menu-closing") === !0 && body.removeClass("aside-menu-closing")
664    }, 500))
665}
666
667function handleMobileMenu() {
668    $("html").on("click", "body.menu-mobile .toggle-menu", function (e) {
669        $(".toggle-menu").toggleClass("active"), $(".toggle-menu").hasClass("active") === !0 ? body.addClass("mobile-menu-open") : closeMobileMenu()
670    }), body.click(function (e) {
671        $(e.target).parents("#aside-nav").length || $(e.target).is("aside") || $(e.target).is(".toggle-menu") || $(e.target).parents(".toggle-menu").length || $(e.target).parents(".off-menu-btn").length || body.hasClass("mobile-menu-open") === !0 && closeMobileMenu()
672    })
673}
674
675function closeMobileMenu() {
676    body.hasClass("mobile-menu-open") && (toggleMenu.removeClass("active"), body.removeClass("mobile-menu-open"), body.addClass("mobile-menu-closing"), setTimeout(function () {
677        body.hasClass("mobile-menu-closing") === !0 && body.removeClass("mobile-menu-closing")
678    }, 500))
679}
680
681function handleTopMenu() {
682    $("html").on("click", 'body:not(.menu-mobile) [data-toggle="top-menu"]', function (e) {
683        toggleMenu.toggleClass("active"), body.toggleClass("top-menu-open"), $("#off-top-menu .submenu").each(function () {
684            var menuWidth = $(this).prev().width(), menuHeight = $(this).height();
685            $(this).css("left", menuWidth).css("top", -(menuHeight / 2 - 15))
686        })
687    }), body.click(function (e) {
688        $(e.target).parents("#off-top-menu").length || $(e.target).parents(".toggle-menu").length || $(e.target).hasClass("toggle-menu") || body.hasClass("top-menu-open") === !0 && (body.removeClass("top-menu-open"), toggleMenu.removeClass("active"))
689    })
690}
691
692function handleFullscreenMenu() {
693    $("body").on("click", '[data-toggle="fullscreen-menu"]', function (e) {
694        $(".toggle-menu").toggleClass("active"), $("body").toggleClass("full-menu-open"), $("#off-fullscreen-menu").toggleClass("full-menu-open"), $("body").on("click", "#off-fullscreen-menu nav > ul li > a", function (e) {
695            e.preventDefault();
696            var targetLink = $(this).attr("href");
697            "#" != targetLink && "" != targetLink && $("body").fadeOut(350, function () {
698                window.location.href = targetLink
699            }), $(this).hasClass("is-open") ? ($(this).removeClass("is-open"), $(this).next().slideUp(300)) : ($(this).parent(".submenu").parent().find(".is-open").next().slideUp(300), $(this).parent(".submenu").parent().find(".is-open").removeClass("is-open"), $(this).addClass("is-open"), $(this).next().slideDown(300))
700        })
701    })
702}
703
704function mainNavSubmenus() {
705    $.fn.superfish && ($("#off-aside-menu").length || body.hasClass("left-nav") || body.hasClass("right-nav") || body.hasClass("overview") || body.hasClass("split-screen") || ($("#main-navigation #main-menu ul, #main-navigation .main-menu ul, #main-navigation .nav-tools").superfish({
706        popUpSelector: "ul,.mega-menu-content",
707        delay: 250,
708        speed: 250,
709        animation: {opacity: "show"},
710        animationOut: {opacity: "hide"},
711        cssArrows: !1,
712        autoArrows: !1,
713        onShow: function () {
714            $(this).find(".perspective-img-1, .perspective-img-2, .perspective-img-3").css("-webkit-transform", "translateY(20px)").css("opacity", 1)
715        },
716        onHide: function () {
717            $(this).find(".perspective-img-1, .perspective-img-2, .perspective-img-3").css("-webkit-transform", "translateY(50px)").css("opacity", 0)
718        }
719    }), $(".topbar-menu > ul").superfish({
720        popUpSelector: "ul",
721        delay: 100,
722        speed: 300,
723        animation: {opacity: "show", height: "show"},
724        animationOut: {opacity: "hide", height: "hide"},
725        cssArrows: !1,
726        autoArrows: !1
727    })))
728}
729
730function asideNavSubmenus() {
731    var timer = null;
732    $("#main-aside-menu > ul li > a").click(function (e) {
733        $(this).hasClass("is-open") ? ($(this).removeClass("is-open"), $(this).next().slideUp(300)) : ($(this).parent(".submenu").parent().find(".is-open").next().slideUp(300),
734            $(this).parent(".submenu").parent().find(".is-open").removeClass("is-open"), $(this).parent().hasClass("submenu") && $(this).addClass("is-open"), $(this).next().slideDown(300)), clearTimeout(timer), timer = null, timer = setTimeout(function () {
735            $("#main-aside-menu > ul li > a").removeClass("is-open"), $("#main-aside-menu > ul li > a").next().slideUp()
736        }, 5e4), ($("body").hasClass("one-page") || $("body").hasClass("slider-page")) && closeMobileMenu()
737    })
738}
739
740function navbarScroll() {
741    var topScroll = $(window).scrollTop(), logoImg = $("body").find("#logo a img"),
742        logoLight = $("body").find("#logo a").data("logo-light"),
743        logoDark = $("body").find("#logo a").data("logo-dark");
744    body.hasClass("onepage-special") || (body.hasClass("header-light") && logoImg.attr("src", logoDark), body.hasClass("header-dark") && logoImg.attr("src", logoLight), body.hasClass("transparent-dark") && logoImg.attr("src", logoDark), body.hasClass("nav-bottom") || (body.hasClass("header-transparent") && body.hasClass("transparent-dark") && logoImg.attr("src", logoDark), topnav.length > 0 && (topScroll > 0 ? (body.removeClass("topnav-top"), topnav.hasClass("bg-black") || body.hasClass("header-light") || body.hasClass("header-dark") || body.hasClass("header-scroll-transparent") || logoImg.attr("src", logoDark), body.hasClass("header-scroll-dark") && logoImg.attr("src", logoLight), body.hasClass("header-scroll-transparent") && body.hasClass("header-light") && logoImg.attr("src", logoLight), body.hasClass("header-scroll-transparent") && !body.hasClass("header-light") && logoImg.attr("src", logoLight)) : (body.addClass("topnav-top"), $(".slotholder").animate({textIndent: 0}, {
745        step: function (now, fx) {
746            $(this).css("-webkit-transform", "translate3d(0px, " + now + "px, 0px)")
747        }, duration: 400
748    }, "ease-in-out"), topnav.hasClass("bg-black") || body.hasClass("header-light") || body.hasClass("header-dark") || ($("#logo a img").attr("src", logoLight), body.hasClass("header-transparent") && body.hasClass("transparent-dark") && logoImg.attr("src", logoDark)), body.hasClass("header-dark") && $("#aside-logo a img").attr("src", $("body").find("#aside-logo a").data("logo-light")))), body.hasClass("dark-skin") && (body.hasClass("header-light") ? body.removeClass("header-light").addClass("header-dark") : logoImg.attr("src", logoLight))))
749}
750
751function stickyNav() {
752    if ($(".sticky-nav").length) {
753        var stickyNav = $(".sticky-nav"), windowScrollTop = $(window).scrollTop();
754        windowScrollTop >= 90 ? stickyNav.addClass("pos-fixed") : stickyNav.removeClass("pos-fixed")
755    }
756}
757
758function headerNoSticky() {
759    if (scrollPos = $(window).scrollTop(), $(".header-no-sticky #main-navigation:not(.header-2)").length) {
760        var st = $(this).scrollTop();
761        st > lastScrollTop ? $(".header-no-sticky #main-navigation").removeClass("nav-visible") : $(".header-no-sticky #main-navigation").addClass("nav-visible"), st > 0 ? $("#main-navigation .main-nav-wrapper").css("background", "#fff") : $("#main-navigation .main-nav-wrapper").css("background", ""), lastScrollTop = st
762    }
763}
764
765function onepageNavigation() {
766    body.hasClass("one-page") && $("#main-navigation, #main-aside-menu").onePageNav({
767        currentClass: "current",
768        scrollSpeed: 1e3,
769        easing: "easeInOutQuint"
770    })
771}
772
773function handleFullpage() {
774    if ($(".fullpage").length) if (windowWidth = $(window).width(), 1024 > windowWidth) $.fn.fullpage && (fullPageCreated = !1, $.fn.fullpage.destroy("all"), console.log("aaa")); else {
775        var tooltipsText = [];
776        $(".fullpage .section").each(function (i) {
777            var title = $(this).data("title");
778            tooltipsText[i] = title
779        }), fullPageCreated === !1 && (fullPageCreated = !0, $(".fullpage").fullpage({
780            anchors: tooltipsText,
781            navigation: !0,
782            showActiveTooltip: !0,
783            navigationPosition: "left",
784            navigationTooltips: tooltipsText,
785            scrollBar: !1,
786            scrollOverflow: !0,
787            touchSensitivity: 15,
788            normalScrollElementTouchThreshold: 5,
789            controlArrows: !0,
790            verticalCentered: !0,
791            resize: !1,
792            paddingTop: "0",
793            paddingBottom: "20px",
794            responsiveWidth: 0,
795            responsiveHeight: 0,
796            afterLoad: function (anchorLink, index) {
797                var logoImg = $("#logo a img"), logoLight = $("#logo a").data("logo-light"),
798                    logoDark = $("#logo a").data("logo-dark");
799                $(".fp-section.active").hasClass("section-dark") ? (body.removeClass("transparent-dark"), $("#fp-nav").addClass("nav-light"), logoImg.attr("src", logoLight)) : (body.addClass("transparent-dark"), $("#fp-nav").removeClass("nav-light"), logoImg.attr("src", logoDark))
800            }
801        }))
802    }
803}
804
805function splitscreen() {
806    if ($("#split-screen").length) {
807        var tooltipsText = [];
808        $("#split-screen .split-left .split-section").each(function (i) {
809            var title = $(this).data("title");
810            tooltipsText[i] = title
811        }), $("#split-screen").multiscroll({
812            verticalCentered: !0,
813            scrollingSpeed: 700,
814            easing: "easeInQuart",
815            menu: "#main-menu",
816            anchors: tooltipsText,
817            sectionsColor: [],
818            navigation: !0,
819            navigationPosition: "right",
820            navigationColor: "#000",
821            navigationTooltips: tooltipsText,
822            normalScrollElements: null,
823            keyboardScrolling: !0,
824            sectionSelector: ".split-section",
825            leftSelector: ".split-left",
826            rightSelector: ".split-right",
827            onLeave: function (index, nextIndex, direction) {
828            },
829            afterLoad: function (anchorLink, index) {
830            },
831            afterLoad: function (anchorLink, index) {
832                var logoImg = $("#logo a img"), logoLight = $("#logo a").data("logo-light"),
833                    logoDark = $("#logo a").data("logo-dark");
834                $(".split-left .split-section.active").hasClass("section-dark") ? (body.removeClass("transparent-dark"), logoImg.attr("src", logoLight)) : (body.addClass("transparent-dark"), logoImg.attr("src", logoDark)), $(".split-right .split-section.active").hasClass("section-dark") ? $("#multiscroll-nav").removeClass("nav-dark") : $("#multiscroll-nav").addClass("nav-dark"), $("html:not(.split-bordered) .split-left .split-section.active").hasClass("bg-primary") ? $(".split-screen #main-menu li.active a").attr("style", "color:#000 !important") : $(".split-screen #main-menu li a").removeAttr("style")
835            }
836        })
837    }
838}
839
840function handleTopbar() {
841    if ($("#topbar").length && $(window).width() > 768 && !body.hasClass("header-no-sticky")) if ($("#header").hasClass("header-2")) {
842        var header2Height = $(".header-2 .main-nav-wrapper").height(), windowScrollTop = $(window).scrollTop();
843        windowScrollTop >= topbarHeight + header2Height ? $(".header-2 .main-nav-wrapper").css("position", "fixed").css("width", "100%").css("top", 0) : $(".header-2 .main-nav-wrapper").attr("style", "")
844    } else $("html").hasClass("page-bordered") ? scrollPos > 0 ? ($("#topbar").css("margin-top", -topbarHeight + 20), $("#main-navigation").css("top", 20)) : ($("#topbar").css("margin-top", 20), $("#main-navigation").css("top", topbarHeight + 20)) : scrollPos > 0 ? ($("#topbar").css("margin-top", -topbarHeight), $("#main-navigation").css("top", 0)) : ($("#topbar").css("margin-top", 0), $("#main-navigation").css("top", topbarHeight))
845}
846
847function menuBackgroundImg() {
848    $("[data-menu-img]").each(function () {
849        var dataImg = $(this).attr("data-menu-img");
850        $(this).css("background-image", "url(" + dataImg + ")")
851    })
852}
853
854function overviewIsotope() {
855    var $container = $(".masonry-overview"), itemReveal = Isotope.Item.prototype.reveal;
856    Isotope.Item.prototype.reveal = function () {
857        itemReveal.apply(this, arguments), $(this.element).removeClass("isotope-hidden")
858    };
859    var itemHide = Isotope.Item.prototype.hide;
860    Isotope.Item.prototype.hide = function () {
861        itemHide.apply(this, arguments), $(this.element).addClass("isotope-hidden")
862    }, $(".masonry-overview").isotope({
863        itemSelector: ".item",
864        itemPositionDataEnabled: !0
865    }).on("arrangeComplete", function (event, filteredItems) {
866        midWidth = $(window).width() / 2, $(".item:not(.isotope-hidden)").each(function () {
867            var posLeft = $(this).position().left;
868            posLeft < midWidth ? $(this).removeClass("active-left") : $(this).addClass("active-left")
869        })
870    }), $(".items-filter a").click(function () {
871        $(".items-filter .current").removeClass("current"), $(this).addClass("current");
872        var selector = $(this).attr("data-filter");
873        return $container.isotope({filter: selector, transitionDuration: "0.7s"}), !1
874    }), $(window).resize(function () {
875        $container.isotope("layout")
876    })
877}
878
879function galleryCover() {
880    if ($(".gallery-medium-cover").length) {
881        var element = $(".gallery-medium-cover");
882        if (void 0 == element.attr("style")) setTimeout(function () {
883            element.offset();
884            element.css("margin-left", -element.offset().left).css("margin-top", -element.offset().top)
885        }, 500); else {
886            element.css("margin-left", "").css("margin-top", "");
887            element.offset();
888            element.css("margin-left", -element.offset().left).css("margin-top", -element.offset().top)
889        }
890    }
891}
892
893function portfolioAjax() {
894    if ($(".section-portfolio .grid").length) {
895        var $container = $(".grid");
896        if ($(".infinite-container").length) {
897            var layoutIsotope = "packery";
898            $container.hasClass("masonry-grid") && (layoutIsotope = "fitRows"), $container.isotope({
899                itemSelector: ".item",
900                layoutMode: layoutIsotope,
901                percentPosition: !0,
902                masonry: {
903                    columnWidth: $container.find(".item:not(.item-wide):not(.item-fullwidth):not(.item-tall)")[0],
904                    gutter: 0
905                }
906            }), $(".items-filter a").click(function () {
907                $(".items-filter .current").removeClass("current"), $(this).addClass("current");
908                var selector = $(this).attr("data-filter");
909                return $container.isotope({filter: selector, transitionDuration: "0.7s"}), !1
910            });
911            var currentPage = 1, newPage = $(".next-page").attr("href"), numPage = $(".next-page").data("num-page");
912            $(".infinite-container").hasClass("infinite-onclick") ? ($(".next-page").unbind("click"), $(".next-page").click(function (e) {
913                e.preventDefault(), $("body").append('<div id="temp-load"></div>'), currentPage++, currentPage >= numPage && $(".next-page").parent().fadeOut(300, function () {
914                    $(".next-page").parent().remove()
915                });
916                var newUrl = newPage + "-" + currentPage + ".html";
917                $("#temp-load").load(newUrl + " .grid", function () {
918                    $("#temp-load > .infinite-container").children().css({opacity: 0});
919                    var toAdd = $("#temp-load > .infinite-container").html();
920                    $container.isotope("insert", $(toAdd), function () {
921                        $container.children().css({opacity: 1})
922                    }), masonryHeight(), $container.isotope("layout"), $("#temp-load").remove()
923                })
924            })) : $(window).scroll(function () {
925                var scrollTop = $(window).scrollTop(), windowHeight = $(window).height(),
926                    docuHeight = $(document).height(), footerHeight = $("#footer").height();
927                if (currentPage >= numPage) $(".spinner").parent().fadeOut(300, function () {
928                    $(".spinner").parent().remove()
929                }); else if (scrollTop + windowHeight >= docuHeight - footerHeight) {
930                    $("body").append('<div id="temp-load"></div>'), currentPage++;
931                    var newUrl = newPage + "-" + currentPage + ".html";
932                    $("#temp-load").load(newUrl + " .grid", function () {
933                        $("#temp-load > .infinite-container").children().css({opacity: 0});
934                        var toAdd = $("#temp-load > .infinite-container").html();
935                        $container.isotope("insert", $(toAdd), function () {
936                            $container.children().css({opacity: 1})
937                        }), masonryHeight(), $container.isotope("layout"), $("#temp-load").remove()
938                    })
939                }
940            })
941        }
942    }
943}
944
945function portfolioBuilder() {
946    $(".portfolio-builder .switcher").on("click", ":radio", function () {
947        var layout = $(this).val();
948        $(".portfolio-builder .switcher :radio").removeClass("is-checked"), $(this).addClass("is-checked"), sectionPortfolio.animate({opacity: 0}, 350, function () {
949            "wide" === layout && sectionPortfolio.children().removeClass("container").addClass("container-fluid"), "boxed" === layout && sectionPortfolio.children().removeClass("container-fluid").addClass("container"), "with-space" === layout && portfolioList.removeClass("no-space"), "no-space" === layout && portfolioList.addClass("no-space"), "with-caption" === layout && addCaption(), "no-caption" === layout && removeCaption(), setTimeout(function () {
950                $("body").trigger("resize")
951            }, 400), setTimeout(function () {
952                sectionPortfolio.animate({opacity: 1}, 350), handlepopup()
953            }, 450)
954        })
955    })
956}
957
958function addCaption() {
959    portfolioList.addClass("with-caption"), portfolioList.find("figure").removeClass("he-1").addClass("he-2 caption-visible caption-center"), portfolioList.find("figure").each(function () {
960        var imageSrc = $(this).find("img").attr("src"),
961            hoverIcons = '<div class="hover-icons">\n  <div class="hover-icons-wrapper">\n    <a href="' + imageSrc + '" class="magnific">\n      <i class="nc-icon-outline ui-1_zoom"></i>\n    </a>\n    <a href="portfolio-single-extended">\n      <i class="nc-icon-outline ui-2_menu-dots"></i>\n    </a>\n  </div>\n</div>\n';
962        if ($(this).find("img").after(hoverIcons), $(this).attr("data-link")) {
963            var itemLink = $(this).attr("data-link");
964            $(this).find("h4").wrapInner('<a href="' + itemLink + '"></a>'), $(this).removeAttr("data-link")
965        }
966    })
967}
968
969function removeCaption() {
970    portfolioList.removeClass("with-caption"), portfolioList.find("figure").addClass("he-1").removeClass("he-2 caption-visible caption-center"), portfolioList.find("figure > a").addClass("magnific").removeClass("disabled"), portfolioList.find(".hover-icons").remove(), portfolioList.find("figure").each(function () {
971        var itemLink = ($(this).find("img").attr("src"), $(this).find("h4 a").attr("href"));
972        $(this).attr("data-link", itemLink)
973    })
974}
975
976function handlesearch() {
977    var wrapper = $("#wrapper"), search = ($("#toggle-search"), $(".search-overlay"));
978    $(".search-overlay-close"), $("#toggle-search").data("search-style");
979    $("[data-toggle-search]").click(function (e) {
980        e.preventDefault();
981        var searchLayout = $(this).data("toggle-search");
982        "top" === searchLayout && (setTimeout(function () {
983            $("#search.top-search, .search.top-search, body").toggleClass("search-open")
984        }, 100), setTimeout(function () {
985            $(".top-search input").focus()
986        }, 200), $("body").on("click", function (e) {
987            e.preventDefault(), $(e.target).parents(".search-tool").length || $(e.target).parents(".toggle-search").length || $(e.target).parents("#search").length || $(e.target).parents(".search").length || body.hasClass("search-open") === !0 && $("#search.top-search, .search.top-search, body").removeClass("search-open")
988        }), $(".search-close a").on("click", function (e) {
989            e.preventDefault(), $("#search.top-search, .search.top-search, body").removeClass("search-open")
990        }), $("#search.top-search input").keypress(function (e) {
991            return 13 === e.which ? ($("#search.top-search, .search.top-search").submit(), !1) : void 0
992        })), "nav" === searchLayout && (setTimeout(function () {
993            $(".nav-search").toggleClass("search-open"), $("body").toggleClass("search-nav-open")
994        }, 100), setTimeout(function () {
995            $(".nav-search input").focus()
996        }, 200), $("body").on("click", function (e) {
997            e.preventDefault(), $(e.target).parents(".search-tool").length || $(e.target).parents(".toggle-search").length || $(e.target).parents("#search").length || $(e.target).parents(".search").length || ($("#search.nav-search, .search.nav-search").removeClass("search-open"), $("body").removeClass("search-nav-open"))
998        }), $(".search-close a").on("click", function (e) {
999            e.preventDefault(), $("#search.nav-search, .search.nav-search").removeClass("search-open"), $("body").removeClass("search-nav-open")
1000        }), $("#search.nav-search input, .search.nav-search input").keypress(function (e) {
1001            return 13 === e.which ? ($("#search.top-search, .search.top-search").submit(), !1) : void 0
1002        })), "fullscreen" === searchLayout && (search.addClass("open"), wrapper.addClass("search-overlay-open"), setTimeout(function () {
1003            $(".search-overlay input").focus()
1004        }, 200), $(".search-overlay-close").click(function (e) {
1005            e.preventDefault(), search.removeClass("open"), wrapper.removeClass("search-overlay-open")
1006        }), document.addEventListener("keydown", function (ev) {
1007            var keyCode = ev.keyCode || ev.which;
1008            27 === keyCode && search.hasClass("open") && (search.removeClass("open"), wrapper.removeClass("search-overlay-open"))
1009        }), $("body").on("click", function (e) {
1010            e.preventDefault(), $(e.target).parents(".search-tool").length || $(e.target).parents("form").length || $(e.target).parents(".btn").length || $(e.target).is("a") || search.hasClass("open") === !0 && (search.removeClass("open"), wrapper.removeClass("search-overlay-open"))
1011        }))
1012    })
1013}
1014
1015function textAnimation() {
1016    function initHeadline() {
1017        singleLetters($(".text-animate.letters").find("b")), animateHeadline($(".text-animate"))
1018    }
1019
1020    function singleLetters($words) {
1021        $words.each(function () {
1022            var word = $(this), letters = word.text().split(""), selected = word.hasClass("is-visible");
1023            for (i in letters) word.parents(".rotate-2").length > 0 && (letters[i] = "<em>" + letters[i] + "</em>"), letters[i] = selected ? '<i class="in">' + letters[i] + "</i>" : "<i>" + letters[i] + "</i>";
1024            var newLetters = letters.join("");
1025            word.html(newLetters).css("opacity", 1)
1026        })
1027    }
1028
1029    function animateHeadline($headlines) {
1030        var duration = animationDelay;
1031        $headlines.each(function () {
1032            var headline = $(this);
1033            if (headline.hasClass("loading-bar")) duration = barAnimationDelay, setTimeout(function () {
1034                headline.find(".words-wrapper").addClass("is-loading")
1035            }, barWaiting); else if (headline.hasClass("clip")) {
1036                var spanWrapper = headline.find(".words-wrapper"), newWidth = spanWrapper.width() + 10;
1037                spanWrapper.css("width", newWidth)
1038            } else if (!headline.hasClass("type")) {
1039                var words = headline.find(".words-wrapper b"), width = 0;
1040                words.each(function () {
1041                    var wordWidth = $(this).width();
1042                    wordWidth > width && (width = wordWidth)
1043                }), headline.find(".words-wrapper").css("width", width)
1044            }
1045            setTimeout(function () {
1046                hideWord(headline.find(".is-visible").eq(0))
1047            }, duration)
1048        })
1049    }
1050
1051    function hideWord($word) {
1052        var nextWord = takeNext($word);
1053        if ($word.parents(".text-animate").hasClass("type")) {
1054            var parentSpan = $word.parent(".words-wrapper");
1055            parentSpan.addClass("selected").removeClass("waiting"), setTimeout(function () {
1056                parentSpan.removeClass("selected"), $word.removeClass("is-visible").addClass("is-hidden").children("i").removeClass("in").addClass("out")
1057            }, selectionDuration), setTimeout(function () {
1058                showWord(nextWord, typeLettersDelay)
1059            }, typeAnimationDelay)
1060        } else if ($word.parents(".text-animate").hasClass("letters")) {
1061            var bool = $word.children("i").length >= nextWord.children("i").length ? !0 : !1;
1062            hideLetter($word.find("i").eq(0), $word, bool, lettersDelay), showLetter(nextWord.find("i").eq(0), nextWord, bool, lettersDelay)
1063        } else $word.parents(".text-animate").hasClass("clip") ? $word.parents(".words-wrapper").animate({width: "2px"}, revealDuration, function () {
1064            switchWord($word, nextWord), showWord(nextWord)
1065        }) : $word.parents(".text-animate").hasClass("loading-bar") ? ($word.parents(".words-wrapper").removeClass("is-loading"), switchWord($word, nextWord), setTimeout(function () {
1066            hideWord(nextWord)
1067        }, barAnimationDelay), setTimeout(function () {
1068            $word.parents(".words-wrapper").addClass("is-loading")
1069        }, barWaiting)) : (switchWord($word, nextWord), setTimeout(function () {
1070            hideWord(nextWord)
1071        }, animationDelay))
1072    }
1073
1074    function showWord($word, $duration) {
1075        $word.parents(".text-animate").hasClass("type") ? (showLetter($word.find("i").eq(0), $word, !1, $duration), $word.addClass("is-visible").removeClass("is-hidden")) : $word.parents(".text-animate").hasClass("clip") && $word.parents(".words-wrapper").animate({width: $word.width() + 10}, revealDuration, function () {
1076            setTimeout(function () {
1077                hideWord($word)
1078            }, revealAnimationDelay)
1079        })
1080    }
1081
1082    function hideLetter($letter, $word, $bool, $duration) {
1083        if ($letter.removeClass("in").addClass("out"), $letter.is(":last-child") ? $bool && setTimeout(function () {
1084            hideWord(takeNext($word))
1085        }, animationDelay) : setTimeout(function () {
1086            hideLetter($letter.next(), $word, $bool, $duration)
1087        }, $duration), $letter.is(":last-child") && $("html").hasClass("no-csstransitions")) {
1088            var nextWord = takeNext($word);
1089            switchWord($word, nextWord)
1090        }
1091    }
1092
1093    function showLetter($letter, $word, $bool, $duration) {
1094        $letter.addClass("in").removeClass("out"), $letter.is(":last-child") ? ($word.parents(".text-animate").hasClass("type") && setTimeout(function () {
1095            $word.parents(".words-wrapper").addClass("waiting")
1096        }, 200), $bool || setTimeout(function () {
1097            hideWord($word)
1098        }, animationDelay)) : setTimeout(function () {
1099            showLetter($letter.next(), $word, $bool, $duration)
1100        }, $duration)
1101    }
1102
1103    function takeNext($word) {
1104        return $word.is(":last-child") ? $word.parent().children().eq(0) : $word.next()
1105    }
1106
1107    function switchWord($oldWord, $newWord) {
1108        $oldWord.removeClass("is-visible").addClass("is-hidden"), $newWord.removeClass("is-hidden").addClass("is-visible")
1109    }
1110
1111    var animationDelay = 2500, barAnimationDelay = 3800, barWaiting = barAnimationDelay - 3e3, lettersDelay = 50,
1112        typeLettersDelay = 150, selectionDuration = 500, typeAnimationDelay = selectionDuration + 800,
1113        revealDuration = 600, revealAnimationDelay = 1500;
1114    initHeadline()
1115}
1116
1117function switchOnepage() {
1118    $(".toggle-onepage").click(function () {
1119        var delay = 0;
1120        $(".menu-layouts .menu-layout").each(function (i) {
1121            delay = 25 * i, setTimeout(function (el) {
1122                el.addClass("menu-hidden"), setTimeout(function () {
1123                    el.hasClass("onepage-activated") ? ($(".toggle-onepage").text("See onepage version").addClass("btn-white").removeClass("btn-primary"), el.text(el.data("title-multipages")).attr("href", el.data("href-multipages")).removeClass("onepage-activated")) : ($(".toggle-onepage").text("See multipages version").addClass("btn-primary").removeClass("btn-white"), el.text(el.data("title-onepage")).attr("href", el.data("href-onepage")).addClass("onepage-activated")), el.removeClass("menu-hidden")
1124                }, 250, $(this))
1125            }, delay, $(this))
1126        })
1127    })
1128}
1129
1130function toggleBuilder() {
1131    $(".builder-toggle").on("click", function () {
1132        $("#builder").hasClass("open") ? $("#builder").removeClass("open") : $("#builder").addClass("open")
1133    }), body.click(function (e) {
1134        $(e.target).parents("#builder").length || $(e.target).parents(".builder-toggle").length || builder.hasClass("open") === !0 && builder.removeClass("open")
1135    })
1136}
1137
1138function tooltipBuilder() {
1139    $(".tooltip-builder").length && $(".tooltip-builder").each(function () {
1140        function closeTooltipBuilder() {
1141            $(".tooltip-wrapper").css("opacity", 0), setTimeout(function () {
1142                $(".tooltip-popup").animate({opacity: 0, width: 0, height: 0, padding: 0}, 400, function () {
1143                    $(".tooltip-popup").addClass("tooltip-hidden").removeClass("tooltip-visible")
1144                })
1145            }, 200)
1146        }
1147
1148        if ($(this).data("pos-top")) {
1149            var tooltipPositionTop = $(this).data("pos-top");
1150            $(this).css("top", tooltipPositionTop)
1151        }
1152        if ($(this).data("pos-left")) {
1153            var tooltipPositionTop = $(this).data("pos-left");
1154            $(this).css("left", tooltipPositionTop)
1155        }
1156        var tooltipHeight = $(".tooltip-popup").height() + 40, tooltipWidth = $(".tooltip-popup").width();
1157        $(".tooltip-popup").addClass("tooltip-hidden"), $(".tooltip-icon, .close-tooltip-popup").click(function () {
1158            $(".tooltip-popup").hasClass("tooltip-visible") ? closeTooltipBuilder() : ($(".tooltip-popup").css("visibility", "visible"), $(".tooltip-popup").animate({
1159                opacity: 1,
1160                width: tooltipWidth,
1161                height: tooltipHeight,
1162                padding: "20px 15px"
1163            }, 400, function () {
1164                $(".tooltip-popup").addClass("tooltip-visible").removeClass("tooltip-hidden")
1165            }), setTimeout(function () {
1166                $(".tooltip-wrapper").css("opacity", 1)
1167            }, 300))
1168        }), body.click(function (e) {
1169            $(e.target).parents(".tooltip-builder").length || $(e.target).is("tooltip-builder") || $(".tooltip-popup").hasClass("tooltip-visible") === !0 && closeTooltipBuilder()
1170        })
1171    })
1172}
1173
1174function builderScroll() {
1175    $.fn.slimScroll && $(".builder .inner").slimScroll({
1176        color: "#8F8F8F",
1177        size: "5px",
1178        height: "100%",
1179        alwaysVisible: !1
1180    })
1181}
1182
1183function handleBoxedBackground() {
1184    var dataImg = $("body").attr("data-bg-img"), dataColor = $("body").attr("data-bg-color");
1185    $(".custom-bg-background div").click(function () {
1186        dataImg = $(this).attr("data-bg-img"), sessionStorage.setItem("bg-img", dataImg), body.css("background-image", "url(assets/img/" + dataImg + ")"), $(".custom-bg-background div").removeClass("active"), $(this).addClass("active"), $("#live-code").html("&lt;body class=&quot;bg-pattern&quot; data-bg-img=&quot;" + dataImg + "&quot; data-bg-color=&quot;" + dataColor + "&quot;&gt"), $("#live-code").each(function (i, block) {
1187            hljs.highlightBlock(block)
1188        }), $(this).attr("data-pattern") ? ($("body").removeClass("bg-pattern"), sessionStorage.setItem("bg-pattern", "false")) : ($("body").addClass("bg-pattern"), sessionStorage.setItem("bg-pattern", "true"))
1189    }), $(".custom-bg-color div").click(function () {
1190        dataColor = $(this).attr("data-bg-color"), sessionStorage.setItem("bg-color", dataColor), body.css("background-color", dataColor), $(".custom-bg-color div").removeClass("active").css("border-color", ""), $(this).addClass("active").css("border-color", dataColor), $("#live-code").html("&lt;body class=&quot;bg-pattern&quot; data-bg-img=&quot;" + dataImg + "&quot; data-bg-color=&quot;" + dataColor + "&quot;&gt"), $("#live-code").each(function (i, block) {
1191            hljs.highlightBlock(block)
1192        })
1193    })
1194}
1195
1196function handleThemes() {
1197    $("[data-theme]").click(function () {
1198        var themeColor = $(this).attr("data-theme");
1199        if ($(this).parent().find(".theme-color").removeClass("active"), $(this).addClass("active"), body.removeClass(function (index, css) {
1200            return (css.match(/(^|\s)theme-\S+/g) || []).join(" ")
1201        }), body.addClass("theme-" + themeColor), sessionStorage.setItem("theme", themeColor), $(".map-marker").length) {
1202            $(".map-marker").attr("src");
1203            "dark" == sessionStorage.getItem("theme") ? $(".map-marker").attr("src", "assets/img/map-markers/big-white.png") : $(".map-marker").attr("src", "assets/img/map-markers/big-" + sessionStorage.getItem("theme") + ".png")
1204        }
1205    })
1206}
1207
1208function handleHeader() {
1209    $("[data-menu]").click(function (e) {
1210        e.preventDefault();
1211        var headerLayout = $(this).attr("data-menu");
1212        sessionStorage.setItem("menu", headerLayout), $("body").fadeOut(350, function () {
1213            location.reload()
1214        })
1215    }), $("[data-menu-style]").click(function (e) {
1216        e.preventDefault();
1217        var headerLayout = $(this).attr("data-menu-style");
1218        sessionStorage.setItem("menu-style", headerLayout), $("body").fadeOut(350, function () {
1219            location.reload()
1220        })
1221    })
1222}
1223
1224function handleFooter() {
1225    body.hasClass("footer-reveal") && ($('*[data-footer="reveal"]').parent().find(".btn").addClass("btn-bordered"), $('*[data-footer="reveal"]').removeClass("btn-bordered")), $("[data-footer]").click(function () {
1226        var footerLayout = $(this).attr("data-footer");
1227        $(this).parent().find(".btn").addClass("btn-bordered"), $(this).removeClass("btn-bordered"), "reveal" === footerLayout && (body.addClass("footer-reveal"), footerReveal(), sessionStorage.setItem("footer", "reveal")), "n
1227ormal" === footerLayout && (body.removeClass("footer-reveal"), $("#main-content").removeAttr("style"), sessionStorage.setItem("footer", "normal"))
1228    })
1229}
1230
1231function handleLayout() {
1232    $("[data-layout]").click(function () {
1233        var layout = $(this).attr("data-layout");
1234        body.hasClass("left-nav") ? (toastr.options = {
1235            positionClass: "toast-builder",
1236            iconClass: "toast-warning",
1237            timeOut: 4e4
1238        }, toastr.warning('<div class="text-wrapper">Boxed layout is not available with lateral navigation</div>')) : (sessionStorage.setItem("layout", layout), $("body").fadeOut(350, function () {
1239            location.reload()
1240        }))
1241    })
1242}
1243
1244function handleSkins() {
1245    $("[data-skin]").click(function () {
1246        var skin = $(this).attr("data-skin");
1247        "dark" === skin && $("body").fadeOut(350, function () {
1248            sessionStorage.setItem("skin", "dark"), location.reload()
1249        }), "light" === skin && $("body").fadeOut(350, function () {
1250            sessionStorage.setItem("skin", "light"), location.reload()
1251        })
1252    })
1253}
1254
1255function darkSkin() {
1256    $(".btn[data-skin]").removeClass("btn-dark").addClass("btn-default"), $("[data-skin]").text("Light Theme").attr("data-skin", "light"), body.addClass("dark-skin header-scroll-dark"), navbarScroll(topnav, topnavHeight), sessionStorage.setItem("skin", "dark"), $(".clients, .widget-brands").find("img").each(function () {
1257        $(this).parents(".bg-primary").length || $(this).attr("src", $(this).attr("src").replace(/\.png/, "-light.png"))
1258    }), $('*[data-bg-img="construction/city.jpg"]').length && $('*[data-bg-img="construction/city.jpg"]').attr("data-bg-img", "construction/city-dark.jpg").css("background-image", "url(assets/img/construction/city-dark.jpg)")
1259}
1260
1261function lightSkin() {
1262    $(".btn[data-skin]").removeClass("btn-default").addClass("btn-dark"), $("[data-skin]").text("Dark Theme").attr("data-skin", "dark"), body.removeClass("dark-skin"), navbarScroll(topnav, topnavHeight), sessionStorage.setItem("skin", "light")
1263}
1264
1265function handleCookie() {
1266    if ("boxed" === sessionStorage.getItem("layout")) {
1267        if ($("body").data("demo")) return;
1268        body.addClass("boxed"), body.removeClass("footer-reveal").addClass("boxed bg-pattern"), $(".builder-boxed-bg").css("display", "block"), $("#main-content").attr("style", ""), $('*[data-layout="boxed"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-layout="boxed"]').removeClass("btn-bordered")
1269    }
1270    if ("lateral" === sessionStorage.getItem("menu")) {
1271        if ($("body").data("demo")) return;
1272        menuHeader.remove(), $("#aside-nav").remove(), body.removeClass("right-nav header-transparent header-scroll-transparent footer-reveal header-light header-scroll-dark topnav-top aside-right boxed").addClass("header-dark left-nav"), $(".builder-menu-style .btn-builder-transparent").css("display", "none"), $(".builder-menu-style .btn").css("width", 84), $('*[data-menu-style="transparent"]').css("display", "none"), $('*[data-menu-style="image"]').css("display", "inline-block"), $('*[data-menu-style="light"]').removeClass("btn-bordered"), $('*[data-menu-style="dark"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu-style="dark"]').removeClass("btn-bordered"), $("body").hasClass("header-dark") || body.addClass("header-light"), $("body").hasClass("header-light") && body.addClass("transparent-dark"), "ecommerce" === $("body").data("page-type") ? $("#wrapper").prepend(menuLateralEcommerce) : $("#wrapper").prepend(menuLateral), menuHeader.after(toggleLateralBtn), $('*[data-menu="lateral"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu="lateral"]').removeClass("btn-bordered"), $("#main-content .container").each(function () {
1273            $(this).parent().hasClass("action-wrapper") || $(this).addClass("container-fluid").removeClass("container")
1274        }), handleSideMenu(), asideNavSubmenus(), navbarScroll(), revSlider()
1275    }
1276    if ("right-align" === sessionStorage.getItem("menu")) {
1277        if ($("body").data("demo")) return;
1278        body.removeClass("aside-right left-nav header-dark header-scroll-transparent"), menuHeader.find("#main-navigation").remove(), menuHeader.append(menuRightAlign), 0 === $("#aside-nav").length && $("#wrapper").append(menuMobile), $('*[data-menu="right-align"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu="right-align"]').removeClass("btn-bordered"), mainNavSubmenus(), menuBackgroun
1278dImg()
1279    }
1280    if ("left-align" === sessionStorage.getItem("menu")) {
1281        if ($("body").data("demo")) return;
1282        body.removeClass("aside-right left-nav header-dark header-scroll-transparent"), menuHeader.find("#main-navigation").remove(), menuHeader.append(menuLeftAlign), 0 === $("#aside-nav").length && $("#wrapper").append(menuMobile), $('*[data-menu="left-align"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu="left-align"]').removeClass("btn-bordered"), mainNavSubmenus(), menuBackgroundImg()
1283    }
1284    if ("logo-center" === sessionStorage.getItem("menu")) {
1285        if ($("body").data("demo")) return;
1286        body.removeClass("aside-right left-nav header-dark").addClass("header-scroll-dark"), menuHeader.find("#main-navigation").remove(), menuHeader.append(menuLogoCenter), 0 === $("#aside-nav").length && body.prepend(menuMobile), $('*[data-menu="logo-center"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu="logo-center"]').removeClass("btn-bordered"), mainNavSubmenus(), menuBackgroundImg()
1287    }
1288    if ("overlay" === sessionStorage.getItem("menu")) {
1289        if ($("body").data("demo")) return;
1290        $("body").hasClass("header-light") || body.addClass("header-transparent header-scroll-transparent"), body.addClass("header-scroll-transparent"), $("#off-mobile-menu").remove(), body.removeClass("aside-right left-nav right-nav"), menuHeader.empty().html(menuOverlay), menuHeader.append(menuOverlayHeader), $('*[data-menu="overlay"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu="overlay"]').removeClass("btn-bordered"), handleMenus()
1291    }
1292    if ("offcanvas" === sessionStorage.getItem("menu")) {
1293        if ($("body").data("demo")) return;
1294        body.removeClass("right-nav left-nav header-dark header-scroll-dark").addClass("aside-right header-transparent header-scroll-transparent"), menuHeader.empty().html(menuOffcanvasHeader), $("#off-mobile-menu").remove(), "ecommerce" === $("body").data("page-type") ? body.prepend(menuOffcanvasEcommerce) : body.prepend(menuOffcanvas), $("body").hasClass("header-light") && body.addClass("transparent-dark"), body.removeClass("header-light"), $('*[data-menu="offcanvas"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu="offcanvas"]').removeClass("btn-bordered")
1295    }
1296    if ("transparent" === sessionStorage.getItem("menu-style")) {
1297        if ($("body").data("demo")) return;
1298        "lateral" !== sessionStorage.getItem("menu") ? (body.removeClass("header-light header-dark").addClass("header-transparent"), $('*[data-menu-style="transparent"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu-style="transparent"]').removeClass("btn-bordered")) : ($('*[data-menu-style="light"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu-style="light"]').removeClass("btn-bordered"))
1299    }
1300    if ("light" === sessionStorage.getItem("menu-style")) {
1301        if ($("body").data("demo")) return;
1302        body.removeClass("header-transparent header-dark header-scroll-dark").addClass("header-light"), $('*[data-menu-style="light"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu-style="light"]').removeClass("btn-bordered"), $("body").hasClass("left-nav") && $("#aside-logo img").attr("src", "assets/img/logo/logo-aside-dark.png")
1303    }
1304    if ("image" === sessionStorage.getItem("menu-style")) {
1305        if ($("body").data("demo")) return;
1306        "lateral" === sessionStorage.getItem("menu") && (body.removeClass("header-light header-transparent").addClass("header-dark"), $("#aside-nav").addClass("img-cover").attr("data-bg-img", "nature/tall-3.jpg"),
1307            $('*[data-menu-style="image"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu-style="image"]').removeClass("btn-bordered"), $("[data-bg-img]").each(function () {
1308            var dataImg = $(this).attr("data-bg-img");
1309            $(this).css("background-image", "url(assets/img/" + dataImg + ")")
1310        }))
1311    }
1312    if ("dark" === sessionStorage.getItem("menu-style")) {
1313        if ($("body").data("demo")) return;
1314        body.removeClass("header-light header-transparent").addClass("header-dark"), $('*[data-menu-style="dark"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-menu-style="dark"]').removeClass("btn-bordered")
1315    }
1316    if ("reveal" === sessionStorage.getItem("footer") && (body.addClass("footer-reveal"), $('*[data-footer="reveal"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-footer="reveal"]').removeClass("btn-bordered"), footerReveal()), "normal" === sessionStorage.getItem("footer") && (body.removeClass("footer-reveal"), $('*[data-footer="normal"]').parents(".builder-section").find(".btn").addClass("btn-bordered"), $('*[data-footer="normal"]').removeClass("btn-bordered"), footerReveal()), sessionStorage.getItem("bg-img") && (body.css("background-image", "url(assets/img/" + sessionStorage.getItem("bg-img") + ")"), $(".boxed-bg").removeClass("active"), $('*[data-bg-img="' + sessionStorage.getItem("bg-img") + '"]').addClass("active")), sessionStorage.getItem("bg-color") && body.css("background-color", sessionStorage.getItem("bg-color")), "true" === sessionStorage.getItem("bg-pattern") && body.addClass("bg-pattern"), sessionStorage.getItem("theme")) {
1317        if (body.removeClass("theme-blue"), body.addClass("theme-" + sessionStorage.getItem("theme")), $(".theme-color").removeClass("active"), $('*[data-theme="' + sessionStorage.getItem("theme") + '"]').addClass("active"), $(".map").length) {
1318            var mapImage = $(".map-element").find("img").attr("src");
1319            "assets/img/map-markers/big-blue.png" == mapImage && ("dark" == sessionStorage.getItem("theme") ? $(".map-element").find("img").attr("src", "assets/img/map-markers/big-white.png") : $(".map-element").find("img").attr("src", "assets/img/map-markers/big-" + sessionStorage.getItem("theme") + ".png"))
1320        }
1321    } else body.hasClass("theme-amber") ? ($(".theme-color").removeClass("active"), $('*[data-theme="amber"]').addClass("active")) : body.hasClass("theme-indigo") ? ($(".theme-color").removeClass("active"), $('*[data-theme="indigo"]').addClass("active")) : body.hasClass("theme-red") ? ($(".theme-color").removeClass("active"), $('*[data-theme="red"]').addClass("active")) : body.hasClass("theme-orange") ? ($(".theme-color").removeClass("active"), $('*[data-theme="orange"]').addClass("active")) : body.hasClass("theme-indigo") ? ($(".theme-color").removeClass("active"), $('*[data-theme="indigo"]').addClass("active")) : body.hasClass("theme-brown") ? ($(".theme-color").removeClass("active"), $('*[data-theme="brown"]').addClass("active")) : body.hasClass("theme-purple") ? ($(".theme-color").removeClass("active"), $('*[data-theme="purple"]').addClass("active")) : body.hasClass("theme-teal") ? ($(".theme-color").removeClass("active"), $('*[data-theme="teal"]').addClass("active")) : body.hasClass("theme-dark") ? ($(".theme-color").removeClass("active"), $('*[data-theme="dark"]').addClass("active")) : (body.addClass("theme-blue"), $(".theme-color").removeClass("active"), $('*[data-theme="blue"]').addClass("active"));
1322    "dark" === sessionStorage.getItem("skin") && darkSkin(), navbarScroll(), "ecommerce" !== $("body").data("page-type") && $(".wishlist-tool, .cart-tool").remove()
1323}
1324
1325function resetStyle() {
1326    $("#reset-style").click(function () {
1327        sessionStorage.clear(), $("body").fadeOut(350, function () {
1328            location.reload()
1329        })
1330    })
1331}
1332
1333function owlCarousel() {
1334    $("[data-plugin-carousel]:not(.manual), .owl-carousel:not(.manual)").each(function () {
1335        function owlNav() {
1336            var carouselImageHeight = $carousel.find("figure").height();
1337            if (null !== carouselImageHeight) {
1338                if ($carousel.hasClass("product-carousel")) {
1339                    var itemHeight = $carousel.find(".item").height();
1340                    $carousel.find(".owl-prev, .owl-next").css("top", itemHeight / 2)
1341                } else if ($carousel.hasClass("features-carousel")) {
1342                    var itemHeight = $carousel.find(".item").height();
1343                    $carousel.find(".owl-prev, .owl-next").css("top", itemHeight / 2)
1344                } else {
1345                    $carousel.find(".owl-prev, .owl-next").css("top", carouselImageHeight / 2)
1346                }
1347                $carousel.on("changed.owl.carousel", function (event) {
1348                    $carousel.find("figure").addClass(" visible")
1349                })
1350            }
1351        }
1352
1353        var $carousel = $(this), opts = null, pluginOptions = $carousel.data("plugin-options"), defaults = {
1354            autoplay: !1,
1355            autoplayTimeout: 4e3,
1356            autoplayHoverPause: !0,
1357            loop: !1,
1358            dots: !1,
1359            margin: 10,
1360            nav: !0,
1361            center: !1,
1362            startPosition: 0,
1363            items: 5,
1364            navRewind: !1,
1365            responsive: {
1366                0: {items: $carousel.data("items-mobile") ? $carousel.data("items-mobile") : 1},
1367                768: {items: $carousel.data("items-tablet") ? $carousel.data("items-tablet") : 3},
1368                1024: {items: $carousel.data("items-desktop") ? $carousel.data("items-desktop") : 5}
1369            },
1370            navText: ['<i class="nc-icon-outline arrows-1_minimal-left"></i>', '<i class="nc-icon-outline arrows-1_minimal-right"></i>']
1371        };
1372        opts = $.extend({}, defaults, pluginOptions), $carousel.owlCarousel(opts), owlNav(), $carousel.on("resized.owl.carousel", function (event) {
1373            owlNav()
1374        })
1375    })
1376}
1377
1378function slickCarousel() {
1379    $(".slick-carousel:not(.manual)").each(function () {
1380        var $this = $(this), opts = null, pluginOptions = $this.data("plugin-options"), defaults = {
1381            centerMode: !0,
1382            infinite: !1,
1383            slidesToShow: 1,
1384            initialSlide: 1,
1385            prevArrow: '<div class="slick-prev"><i class="nc-icon-outline arrows-1_tail-left"></i></div>',
1386            nextArrow: '<div type="button" class="slick-next"><i class="nc-icon-outline arrows-1_tail-right"></i></div>'
1387        };
1388        opts = $.extend({}, defaults, pluginOptions), $this.slick(opts)
1389    })
1390}
1391
1392function bxSlider() {
1393    $(".bx-slider:not(.manual)").each(function () {
1394        var $this = $(this), opts = null, pluginOptions = $this.data("plugin-options"),
1395            defaults = {pager: !1, mode: "horizontal", auto: !0, touchEnabled: !0, controls: !1};
1396        opts = $.extend({}, defaults, pluginOptions), $this.bxSlider(opts)
1397    })
1398}
1399
1400function revSlider() {
1401    if ($.fn.revolution && $("#rev_slider").length) {
1402        var revSliderLayout = $("#rev_slider").data("slider-layout") ? $("#rev_slider").data("slider-layout") : "auto",
1403            revSliderHeight = $("#rev_slider").data("gridheight") ? $("#rev_slider").data("gridheight") : [800, 800, 480, 360],
1404            windowHeight = $(window).height();
1405        $("body").hasClass("left-nav") && (revSliderLayout = "auto", "fullscreen" == $("#rev_slider").data("slider-layout") && (revSliderHeight = windowHeight)), revapi = $("#rev_slider").show().revolution({
1406            sliderType: $("#rev_slider").data("slider-type") ? $("#rev_slider").data("slider-type") : "standard",
1407            jsFileLocation: "assets/js/plugins/revolution-slider/revolution/js/",
1408            sliderLayout: revSliderLayout,
1409            dottedOverlay: "none",
1410            delay: 9e3,
1411            lazyLoad: "on",
1412            navigation: {
1413                keyboardNavigation: "on",
1414                keyboard_direction: "horizontal",
1415                mouseScrollNavigation: $("#rev_slider").data("nav-mouse") ? $("#rev_slider").data("nav-mouse") : "off",
1416                onHoverStop: "off",
1417                touch: {
1418                    touchenabled: "on",
1419                    swipe_threshold: 75,
1420                    swipe_min_touches: 1,
1421                    swipe_direction: "horizontal",
1422                    drag_block_vertical: !1
1423                },
1424                arrows: {
1425                    style: "zeus",
1426                    enable: $("#rev_slider").attr("data-nav-arrows") ? !1 : !0,
1427                    hide_onmobile: !1,
1428                    hide_onleave: !1,
1429                    tmp: $("#rev_slider").data("slider-thumbnail") ? '<div class="tp-title-wrap"><div class="tp-arr-imgholder"></div></div>' : '<div class="tp-title-wrap"></div>',
1430                    left: {h_align: "left", v_align: "center", h_offset: 10, v_offset: 0},
1431                    right: {h_align: "right", v_align: "center", h_offset: 10, v_offset: 0}
1432                },
1433                bullets: {
1434                    enable: $("#rev_slider").attr("data-nav-bullets") ? !0 : !1,
1435                    hide_onmobile: !1,
1436                    style: "uranus",
1437                    hide_onleave: !1,
1438                    direction: "vertical",
1439                    h_align: $("#rev_slider").data("bullets-align") ? $("#rev_slider").data("bullets-align") : "left",
1440                    v_align: "center",
1441                    h_offset: 30,
1442                    v_offset: 0,
1443                    space: 10,
1444                    tmp: '<span class="tp-bullet-inner"></span>'
1445                }
1446            },
1447            carousel: {
1448                maxRotation: 5,
1449                vary_rotation: "off",
1450                minScale: 15,
1451                vary_scale: "off",
1452                horizontal_align: "center",
1453                vertical_align: "center",
1454                fadeout: "on",
1455                vary_fade: "on",
1456                maxVisibleItems: 3,
1457                infinity: "off",
1458                space: -80,
1459                stretch: "off"
1460            },
1461            responsiveLevels: $(this).data("responsive") ? $(this).data("responsive") : [1240, 1024, 778, 480],
1462            gridwidth: $(this).data("gridwidth") ? $(this).data("gridwidth") : [1230, 1024, 767, 480],
1463            gridheight: revSliderHeight,
1464            lazyType: "none",
1465            parallax: {
1466                type: "mouse",
1467                origo: "slidertop",
1468                speed: 2e3,
1469                levels: [2, 3, 4, 5, 6, 7, 12, 16, 10, 50],
1470                disable_onmobile: "on"
1471            },
1472            shadow: 0,
1473            spinner: "off",
1474            stopLoop: "on",
1475            stopAfterLoops: 0,
1476            stopAtSlide: 1,
1477            shuffle: "off",
1478            autoHeight: "off",
1479            disableProgressBar: "on",
1480            hideThumbsOnMobile: "off",
1481            hideSliderAtLimit: 0,
1482            hideCaptionAtLimit: 0,
1483            hideAllCaptionAtLilmit: 0,
1484            startWithSlide: 0,
1485            fallbacks: {simplifyAll: "off", nextSlideOnWindowFocus: "off", disableFocusListener: "off"}
1486        }), revapi.bind("revolution.slide.onbeforeswap", function (e) {
1487            if ("fullscreen" == $("#rev_slider").data("slider-layout") && $("body").hasClass("left-nav")) {
1488                var windowHeight = $(window).height();
1489                $(".rev_slider_wrapper, #rev_slider").height(windowHeight)
1490            }
1491        }), revapi.bind("revolution.slide.onchange", function (event, data) {
1492            var logoImg = $("#logo a img"), logoLight = $("#logo a").data("logo-light"),
1493                logoDark = $("#logo a").data("logo-dark");
1494            data.slideIndex;
1495            "dark" === revapi.find("li").eq(data.slideIndex - 1).attr("data-color") && ($("body").addClass("transparent-dark"), logoImg.attr("src", logoDark)), "light" === revapi.find("li").eq(data.slideIndex - 1).attr("data-color") && ($("body").removeClass("transparent-dark"), logoImg.attr("src", logoLight))
1496        }), $("body").on("click", "[data-go-to-slide]", function () {
1497            var goToSlide = $(this).data("go-to-slide");
1498            return revapi.revshowslide(goToSlide), !1
1499        }), setTimeout(function () {
1500            $(window).resize()
1501        }, 300)
1502    }
1503}
1504
1505function flexslider() {
1506    $("[data-plugin-flexslider]:not(.manual), .flexslider:not(.manual)").each(function () {
1507        var $this = $(this), opts = null, pluginOptions = $this.data("plugin-options"), defaults = {
1508            animation: "fade",
1509            easing: "swing",
1510            direction: "horizontal",
1511            animationLoop: !0,
1512            smoothHeight: !1,
1513            startAt: 0,
1514            slideshow: !0,
1515            slideshowSpeed: 7e3,
1516            animationSpeed: 600,
1517            initDelay: 0,
1518            pauseOnAction: !0,
1519            pauseOnHover: !1,
1520            touch: !0,
1521            video: !1,
1522            controlNav: !0,
1523            directionNav: !0,
1524            prevText: "",
1525            nextText: "",
1526            keyboard: !0,
1527            multipleKeyboard: !1,
1528            mousewheel: !1,
1529            pausePlay: !1,
1530            pauseText: "Pause",
1531            playText: "Play",
1532            controlsContainer: "",
1533            manualControls: "",
1534            itemWidth: 0,
1535            itemMargin: 0,
1536            minItems: 0,
1537            maxItems: 0
1538        };
1539        opts = $.extend({}, defaults, pluginOptions), $this.flexslider(opts)
1540    })
1541}
1542
1543function forceHeight() {
1544    $("[data-force-height]").each(function () {
1545        $(this).children().height("");
1546        var forceHeight = $(this).children().height();
1547        $(this).children().height(forceHeight)
1548    })
1549}
1550
1551function pageLoader() {
1552    $(".loader-wrapper").length && ($(".loader-wrapper").hasClass("loader-disabled") ? $(".loader-wrapper").addClass("loaded") : $(".section-portfolio").length ? setTimeout(function () {
1553        $(".loader-wrapper").addClass("loaded")
1554    }, 500) : setTimeout(function () {
1555        $(".loader-wrapper").addClass("loaded")
1556    }, 200))
1557}
1558
1559function handleTabs() {
1560    $('a[data-toggle="tab"]').on("shown.bs.tab", function () {
1561        $(".map").attr("style", ""), googleMap()
1562    })
1563}
1564
1565function appearEffect() {
1566    $.fn.appear && (setTimeout(function () {
1567        $(".animated, .countup, progress").appear({force_process: !0})
1568    }, 300), setTimeout(function () {
1569        $(".circular-bar, .dial").appear({force_process: !0})
1570    }, 1e3)), $(".animated").on("appear", function (event, $allAppearedElements) {
1571        var element = $(this), animation = element.data("animation"), animationDelay = element.data("animation-delay");
1572        animationDelay ? setTimeout(function () {
1573            element.addClass(animation + " visible")
1574        }, animationDelay) : element.addClass(animation + " visible")
1575    })
1576}
1577
1578function headerFading() {
1579    if ($(".header-fading").length) {
1580        setTimeout(function () {
1581            $(".header-fading").addClass("header-has-fade")
1582        }, 200)
1583    }
1584}
1585
1586function handleTooltips() {
1587    $('[data-toggle="tooltip"]').tooltip({container: "body"})
1588}
1589
1590function colorBackground() {
1591    $("[data-bg-color]").each(function () {
1592        var bgColor = $(this).attr("data-bg-color");
1593        $(this).css("background-color", bgColor)
1594    }), $("[data-bg-img]").each(function () {
1595        var dataImg = $(this).attr("data-bg-img");
1596        $(this).css("background-image", "url(assets/img/" + dataImg + ")")
1597    }), $("[data-bg-pattern]").each(function () {
1598        var dataImg = $(this).attr("data-bg-pattern");
1599        $(this).css("background-image", "url(assets/img/" + dataImg + ")")
1600    }), $("[data-color]").each(function () {
1601        var color = $(this).attr("data-color");
1602        $(this).css("color", color)
1603    })
1604}
1605
1606function faqCategories() {
1607    $(".categories-list a").click(function () {
1608        $(this).parents(".categories-list").find("a").removeClass(" current"), $(this).addClass("current")
1609    }), $("#tabs-all").click(function () {
1610        $(this).parents(".categories-list").find("a").each(function (i, t) {
1611            var tab = $("#faq-accordion").find(".tab-pane");
1612            tab.removeClass("in"), setTimeout(function () {
1613                tab.addClass("active"), setTimeout(function () {
1614                    tab.addClass("active in")
1615                }, 150)
1616            }, 150)
1617        })
1618    })
1619}
1620
1621function scrollEasing() {
1622    if (!isFirefox) {
1623        var scrollTime = .4, scrollDistance = 300;
1624        $("body").hasClass("left-nav") || $("body").hasClass("right-nav") ? $("#main-content").on("mousewheel DOMMouseScroll", function (event) {
1625            event.preventDefault();
1626            var delta = event.originalEvent.wheelDelta / 120 || -event.originalEvent.detail / 3,
1627                scrollTop = $window.scrollTop(), finalScroll = scrollTop - parseInt(delta * scrollDistance);
1628            TweenMax.to($window, scrollTime, {
1629                scrollTo: {y: finalScroll, autoKill: !0},
1630                ease: Power1.easeOut,
1631                autoKill: !0,
1632                overwrite: 5
1633            })
1634        }) : body.hasClass("boxed") ? body.on("mousewheel DOMMouseScroll", function (event) {
1635            event.preventDefault();
1636            var delta = event.originalEvent.wheelDelta / 120 || -event.originalEvent.detail / 3,
1637                scrollTop = $window.scrollTop(), finalScroll = scrollTop - parseInt(delta * scrollDistance);
1638            TweenMax.to($window, scrollTime, {
1639                scrollTo: {y: finalScroll, autoKill: !0},
1640                ease: Power1.easeOut,
1641                autoKill: !0,
1642                overwrite: 5
1643            })
1644        }) : $("#wrapper").on("mousewheel DOMMouseScroll", function (event) {
1645            event.preventDefault();
1646            var delta = event.originalEvent.wheelDelta / 120 || -event.originalEvent.detail / 3,
1647                scrollTop = $window.scrollTop(), finalScroll = scrollTop - parseInt(delta * scrollDistance);
1648            TweenMax.to($window, scrollTime, {
1649                scrollTo: {y: finalScroll, autoKill: !0},
1650                ease: Power1.easeOut,
1651                autoKill: !0,
1652                overwrite: 5
1653            })
1654        })
1655    }
1656}
1657
1658function adjustSidebarHeight() {
1659    $("#sidebar-left, #sidebar-right, .sidebar-left, .sidebar-right").
1659css("min-height", ""), $(".section-blog, .section-page, .section-portfolio").each(function () {
1660        var blogHeight = $(this).height();
1661        $("#sidebar-left, #sidebar-right, .sidebar-left, .sidebar-right").css("min-height", blogHeight)
1662    })
1663}
1664
1665function handleProgress() {
1666    $("progress").on("appear", function (event, $allAppearedElements) {
1667        var progressBar = $(this), animationDelay = progressBar.data("animation-delay");
1668        animationDelay ? setTimeout(function () {
1669            progressBar.css("width", progressBar.attr("value") + "%"), progressBar.parent().find(".progress-value").css("opacity", 1)
1670        }, animationDelay) : (progressBar.css("width", progressBar.attr("value") + "%"), progressBar.parent().find(".progress-value").css("opacity", 1))
1671    })
1672}
1673
1674function progressBar() {
1675    $("progress").each(function () {
1676        var progressBar = $(this), animationDelay = progressBar.data("animation-delay");
1677        progressBar.css("width", "0%"), progressBar.parent().find(".progress-value").css("opacity", 0), animationDelay ? setTimeout(function () {
1678            progressBar.css("width", progressBar.attr("value") + "%"), progressBar.parent().find(".progress-value").css("opacity", 1)
1679        }, animationDelay) : (progressBar.css("width", progressBar.attr("value") + "%"), progressBar.parent().find(".progress-value").css("opacity", 1))
1680    })
1681}
1682
1683function circleProgress() {
1684    $(".circular-bar").on("appear", function (event, $allAppearedElements) {
1685        $(this).addClass("circular-visible")
1686    }), $(".dial").on("appear", function (event, $allAppearedElements) {
1687        var elm = $(this);
1688        if (!elm.parent().parent().hasClass("circular-visible")) {
1689            var color = elm.attr("data-fgColor"), perc = elm.attr("value");
1690            elm.attr("data-thin");
1691            elm.knob({
1692                readOnly: !0,
1693                thickness: elm.data("thin") || .2,
1694                displayInput: elm.data("animated-number") || !1,
1695                width: 180,
1696                height: 180,
1697                bgColor: elm.data("bg-color") || "rgba(0,0,0,0.06)"
1698            }), $({value: 0}).animate({value: perc}, {
1699                duration: 1e3, easing: "swing", progress: function () {
1700                    elm.val(Math.ceil(this.value)).trigger("change")
1701                }
1702            }), $(this).append(function () {
1703                elm.parent().parent().find(".circular-bar-content label").css("color", color), elm.parent().parent().find(".circular-bar-content label").text(perc + "%")
1704            })
1705        }
1706    })
1707}
1708
1709function goNext() {
1710    $(".go-next, [data-go-to]").on("click", function (e) {
1711        e.preventDefault();
1712        var scrollToElement = $(this).closest("section, header").next();
1713        $(this).data("go-to") && (scrollToElement = $($(this).data("go-to")));
1714        var animatedHeaderHeight = $("#main-navigation").height();
1715        $("body").hasClass("topnav-top") && (animatedHeaderHeight = $("#main-navigation").height()), $("html").hasClass("page-bordered") && $("body").hasClass("topnav-top") && (animatedHeaderHeight = $("#main-navigation").height() - 11), ($("body").hasClass("left-nav") || $("body").hasClass("offmenu")) && (animatedHeaderHeight = 0), $("body").hasClass("overview") && (animatedHeaderHeight = 30), $("#topbar").length && (animatedHeaderHeight = $("#main-navigation").height() + 10), $("#topbar").length && $("body").hasClass("topnav-top") && (animatedHeaderHeight = $("#main-navigation").height() + 40), $("body").hasClass("header-transparent") && $("body").hasClass("header-scroll-transparent") && (animatedHeaderHeight = 30), $("html, body").animate({scrollTop: scrollToElement.offset().top - animatedHeaderHeight}, 1e3)
1716    })
1717}
1718
1719function handleLinks() {
1720    $("a[href='#']").click(function (e) {
1721        e.preventDefault()
1722    }), $("body:not(.one-page):not(.split-screen)").on("click", "#main-menu li a, #main-aside-menu li a, .main-menu li a, figure a:not(.ajax-modal), .flexslider > a, .tools-btn, .fade-link", function (e) {
1723        if (!($("body").hasClass("tour") || $("html").hasClass("one-page") || $(this).attr("target") || $(this).hasClass("email-link"))) {
1724            e.preventDefault();
1725            var targetLink = $(this).attr("href");
1726            if ("#" === targetLink || "" === targetLink || $(this).hasClass("magnific")) return;
1727            $("body").fadeOut(350, function () {
1728                window.location.href = targetLink
1729            })
1730        }
1731    }), $("[data-link]").click(function () {
1732        var targetLink = $(this).data("link");
1733        void 0 !== targetLink && "#" !== targetLink && $("body").fadeOut(350, function () {
1734            window.location.href = targetLink
1735        })
1736    })
1737}
1738
1739function checkCategories() {
1740    $(".checklist a").each(function (i, el) {
1741        $(el).append('<span><span class="x"></span><span class="y"></span></span>'), $(el).parent().on("click", function () {
1742            return $(this).hasClass("checked") ? ($(el).find(".y").removeClass("animate"), setTimeout(function () {
1743                $(el).find(".x").removeClass("animate")
1744            }, 50), $(this).removeClass("checked"), !1) : ($(el).find(".x").addClass("animate"), setTimeout(function () {
1745                $(el).find(".y").addClass("animate")
1746            }, 100), $(this).addClass("checked"), !1)
1747        }), $(this).parent().hasClass("checked") && ($(el).find(".x").addClass("animate"), setTimeout(function () {
1748            $(el).find(".y").addClass("animate")
1749        }, 100))
1750    })
1751}
1752
1753function handleSelect() {
1754    /*$.fn.select2 && setTimeout(function () {
1755        $("select:not(.select-picker)").each(function () {
1756            $(this).select2({
1757                placeholder: $(this).data("placeholder") ? $(this).data("placeholder") : "",
1758                allowClear: $(this).data("allowclear") ? $(this).data("allowclear") : !1,
1759                minimumInputLength: $(this).data("minimumInputLength") ? $(this).data("minimumInputLength") : -1,
1760                minimumResultsForSearch: $(this).data("search") ? 1 : -1,
1761                dropdownCssClass: $(this).data("style") ? $(this).data("style") : "",
1762                containerCssClass: $(this).data("container-class") ? $(this).data("container-class") : ""
1763            })
1764        })
1765    }, 200), $(".select-picker").length && $.fn.selectpicker && $(".select-picker").selectpicker({
1766        selectAllText: "Select All",
1767        deselectAllText: "Deselect All",
1768        iconBase: "",
1769        tickIcon: ""
1770    })*/
1771}
1772
1773function handleDatepicker() {
1774    $.fn.datepicker && $(".datepicker").each(function () {
1775        $(this).datepicker({
1776            startView: $(this).data("view") ? $(this).data("view") : 0,
1777            language: $(this).data("lang") ? $(this).data("lang") : "en",
1778            forceParse: $(this).data("parse") ? $(this).data("parse") : !1,
1779            daysOfWeekDisabled: $(this).data("day-disabled") ? $(this).data("day-disabled") : "",
1780            calendarWeeks: $(this).data("calendar-week") ? $(this).data("calendar-week") : !1,
1781            autoclose: $(this).data("autoclose") ? $(this).data("autoclose") : !1,
1782            todayHighlight: $(this).data("today-highlight") ? $(this).data("today-highlight") : !0,
1783            toggleActive: $(this).data("toggle-active") ? $(this).data("toggle-active") : !0,
1784            multidate: $(this).data("multidate") ? $(this).data("multidate") : !1,
1785            orientation: $(this).data("orientation") ? $(this).data("orientation") : "top",
1786            rtl: $("html").hasClass("rtl") ? !0 : !1
1787        })
1788    })
1789}
1790
1791function handleCountUp() {
1792    $(".countup").on("appear", function (event, $allAppearedElements) {
1793        var element = $(this), animationDelay = element.data("animation-delay");
1794        element.hasClass("is-animated") || (animationDelay ? setTimeout(function () {
1795            element.countTo({
1796                from: element.data("from") ? element.data("from") : 0,
1797                to: element.data("to") ? element.data("to") : 100,
1798                speed: element.data("speed") ? element.data("speed") : 1e3,
1799                refreshInterval: element.data("refresh") ? element.data("refresh") : 50
1800            })
1801        }, animationDelay) : element.countTo({
1802            from: element.data("from") ? element.data("from") : 0,
1803            to: element.data("to") ? element.data("to") : 100,
1804            speed: element.data("speed") ? element.data("speed") : 1e3,
1805            refreshInterval: element.data("refresh") ? element.data("refresh") : 50
1806        })), element.addClass("is-animated")
1807    })
1808}
1809
1810function handleCountDown() {
1811    $(".countdown").each(function () {
1812        var countDownDate = $(this).data("date") ? $(this).data("date") : "2020/10/10";
1813        $(this).countdown(countDownDate).on("update.countdown", function (event) {
1814            if ($(this).hasClass("countdown-inline")) {
1815                $(this).html(event.strftime("<span>%-w</span> week%!w <span>%-d</span> day%!d <span>%H</span> hr <span>%M</span> min <span>%S</span> sec"))
1816            } else {
1817                $(this).html(event.strftime('<div class="countdown-block"><span>%-w</span> week%!w </div><div class="countdown-block"><span>%-d</span> day%!d </div><div class="countdown-block"><span>%H</span> hours </div><div class="countdown-block"><span>%M</span> min </div><div class="countdown-block"><span>%S</span> sec</div>'))
1818            }
1819        })
1820    })
1821}
1822
1823function formGroup() {
1824    $(".form-group.form-grouped").click(function () {
1825        $(this).find("input, select").focus(), $(this).hasClass("form-grouped-select-2") && $(this).find("select").data("select2").open(), $(this).addClass("focused")
1826    }), $("body").on("focus", ".form-group.form-grouped :input", function () {
1827        $(this).parents(".form-group").addClass("focused")
1828    }), $("body").on("blur", ".form-grouped", function (e) {
1829        $(e.target).is(".select2-hidden-accessible") || $(this).removeClass("focused")
1830    }), setTimeout(function () {
1831        $(".form-grouped.form-grouped-select-2").each(function () {
1832            $(this).width(""), $(this).width($(this).width())
1833        }), $(".form-grouped .select2-container").each(function () {
1834            $(this).width(""), $(this).width($(this).parent().width() + 4)
1835        })
1836    }, 1e3)
1837}
1838
1839function tagsInput() {
1840    $.fn.tagsinput && $(".select-tags").each(function () {
1841        $(this).tagsinput({tagClass: "label label-primary"})
1842    }), $(".bootstrap-tagsinput").length && ($(".bootstrap-tagsinput").click(function () {
1843        $(this).find("input").focus()
1844    }), $("body").on("focus", ".bootstrap-tagsinput :input", function () {
1845        $(".form-group.form-grouped").removeClass("focused"), $(this).parents(".form-group").addClass("focused")
1846    }), $("body").on("blur", ".bootstrap-tagsinput :input", function () {
1847        $(this).parents(".form-group").removeClass("focused")
1848    }))
1849}
1850
1851function tickersAnimation() {
1852    $.fn.easyTicker && $(".news-list").each(function () {
1853        $(this).easyTicker({
1854            direction: "up",
1855            easing: "swing",
1856            speed: "slow",
1857            interval: 4e3,
1858            height: "auto",
1859            visible: 1,
1860            mousePause: 1,
1861            controls: {up: ".btnUp", down: ".btnDown", toggle: ".btnToggle"}
1862        })
1863    })
1864}
1865
1866function handleAccordion() {
1867    $(".panel-accordion").length && ($(".panel-accordion").on("show.bs.collapse", function (e) {
1868        $(e.target).find(".progress").length && progressBar(), $(e.target).find(".countup").length && $(e.target).find(".countup").each(function () {
1869            $(this).countTo({
1870                from: $(this).data("from") ? $(this).data("from") 
1870: 0,
1871                to: $(this).data("to") ? $(this).data("to") : 100,
1872                speed: $(this).data("speed") ? $(this).data("speed") : 1e3,
1873                refreshInterval: $(this).data("refresh") ? $(this).data("refresh") : 50
1874            })
1875        })
1876    }), $(".panel-accordion").on("shown.bs.collapse", function (e) {
1877        $(e.target).find(".map").length && googleMap()
1878    }))
1879}
1880
1881function halfSection() {
1882    $(".half-section .text-element-wrapper").css("min-height", ""), $(".half-section .img-cover").css("height", ""), $(window).width() > 992 ? ($(".half-section").removeClass("half-section-fullwidth"), $(".half-section").each(function () {
1883        $(this).find(".text-element-wrapper").css("min-height", $(this).height() - 40), ($(this).hasClass("half-section-first") || $(this).hasClass("half-section-last")) && $(this).find(".text-element-wrapper").css("min-height", $(this).height() - 20), $(this).hasClass("half-section-alone") && $(this).find(".text-element-wrapper").css("min-height", $(this).height())
1884    })) : ($(".half-section").addClass("half-section-fullwidth"), $(".half-section").find(".img-cover").height($(".img-cover").width()))
1885}
1886
1887function adjustHeight() {
1888    $(".same-height").each(function () {
1889        var sectionHeight = $(this).height();
1890        $(this).next().height(sectionHeight)
1891    })
1892}
1893
1894function imageZoom() {
1895    if ($.fn.easyzoom) {
1896        $(".easyzoom").easyZoom()
1897    }
1898}
1899
1900function iconHover() {
1901    $(".icon-hover a").each(function () {
1902        var icon = $(this).html();
1903        $(this).append(icon)
1904    })
1905}
1906
1907function handleQuantity() {
1908    $("body").on("click", ".quantity .plus", function () {
1909        var currentVal = parseInt($(this).parent().find("input").val());
1910        $(this).parent().find("input").val(currentVal + 1)
1911    }), $("body").on("click", ".quantity .minus", function () {
1912        var currentVal = parseInt($(this).parent().find("input").val());
1913        currentVal > 1 && $(this).parent().find("input").val(currentVal - 1)
1914    })
1915}
1916
1917function handleSticky() {
1918    if ($(".sticky").length) {
1919        var stickyElement = $(".sticky"), topScroll = $(document).scrollTop(), stickyHeight = stickyElement.height(),
1920            secondColumnHeight = stickyElement.prev().height();
1921        null === secondColumnHeight && (secondColumnHeight = stickyElement.next().height());
1922        var differenceHeight = secondColumnHeight - stickyHeight;
1923        differenceHeight > topScroll && stickyElement.css("margin-top", topScroll)
1924    }
1925}
1926
1927function handleModals() {
1928    $.fn.slickModals && $(".slickModal").each(function () {
1929        var $modalSlick = $(this), opts = null, pluginOptions = $modalSlick.data("plugin-options"), defaults = {
1930            popupType: "",
1931            delayTime: 2500,
1932            exitTopDistance: 40,
1933            scrollTopDistance: 400,
1934            setCookie: !1,
1935            cookieDays: 0,
1936            cookieTriggerClass: "setCookie-1",
1937            cookieName: "slickModal-1",
1938            overlayBg: !0,
1939            overlayBgColor: "rgba(0,0,0,0.9)",
1940            overlayTransition: "ease",
1941            overlayTransitionSpeed: "0.4",
1942            bgEffect: null,
1943            blurBgRadius: "2px",
1944            scaleBgValue: "0.9",
1945            windowWidth: "500px",
1946            windowHeight: "500px",
1947            windowLocation: "center",
1948            windowTransition: "ease",
1949            windowTransitionSpeed: "0.4",
1950            windowTransitionEffect: "slideLeft",
1951            windowShadowOffsetX: "0",
1952            windowShadowOffsetY: "0",
1953            windowShadowBlurRadius: "0",
1954            windowShadowSpreadRadius: "0",
1955            windowShadowColor: "rgba(0,0,0,0)",
1956            windowBackground: "rgba(255,255,255,0)",
1957            windowRadius: "0",
1958            windowMargin: "auto",
1959            windowPadding: "0",
1960            closeButton: "labeled",
1961            reopenClass: "slick-modal"
1962        };
1963        opts = $.extend({}, defaults, pluginOptions), $modalSlick.slickModals(opts)
1964    })
1965}
1966
1967function handlepopup() {
1968    $.fn.magnificPopup && ($(".trigger-popup").magnificPopup({
1969        removalDelay: 500,
1970        closeBtnInside: !0,
1971        closeOnBgClick: !0,
1972        closeMarkup: '<span class="mfp-close">x</span>',
1973        callbacks: {
1974            beforeOpen: function () {
1975                this.st.mainClass = this.st.el.attr("data-effect")
1976            }, open: function () {
1977                handleSelect()
1978            }
1979        },
1980        midClick: !0
1981    }), 0 == $(".magnific").parents(".section-portfolio").length && 0 == $(".magnific").parents(".images-gallery").length && $(".magnific").magnificPopup({
1982        type: "image",
1983        closeOnContentClick: !0,
1984        closeBtnInside: !0,
1985        closeMarkup: '<span class="mfp-close">x</span>',
1986        fixedContentPos: !0,
1987        midClick: !0,
1988        removalDelay: 500,
1989        mainClass: "mfp-fade",
1990        tLoading: "",
1991        image: {verticalFit: !0},
1992        zoom: {enabled: !1, duration: 300},
1993        callbacks: {
1994            imageLoadComplete: function () {
1995                var self = this;
1996                setTimeout(function () {
1997                    self.wrap.addClass("mfp-image-loaded")
1998                }, 16)
1999            }, close: function () {
2000                this.wrap.removeClass("mfp-image-loaded")
2001            }, beforeChange: function () {
2002                this.items[0].src = this.items[0].src + "?=" + Math.random()
2003            }
2004        }
2005    }), $(".images-gallery, .section-portfolio").magnificPopup({
2006        type: "image",
2007        removalDelay: 300,
2008        delegate: ".magnific",
2009        gallery: {enabled: !0},
2010        mainClass: "mfp-fade"
2011    }), $(".popup-video, .popup-gmaps").magnificPopup({
2012        disableOn: 700,
2013        type: "iframe",
2014        mainClass: "mfp-fade",
2015        preloader: !0,
2016        removalDelay: 300
2017    }), $(".ajax-modal").magnificPopup({
2018        type: "ajax",
2019        overflowY: "scroll",
2020        mainClass: "mfp-fade",
2021        callbacks: {
2022            ajaxContentAdded: function () {
2023                iconHover(), flexslider(), handleVideo(), handleIsotope()
2024            }
2025        }
2026    }))
2027}
2028
2029function scrollTop() {
2030    $(this).scrollTop() > 100 ? $(".scrollup").fadeIn() : $(".scrollup").fadeOut(), $(window).scroll(function () {
2031        $(this).scrollTop() > 100 ? $(".scrollup").fadeIn() : $(".scrollup").fadeOut()
2032    }), $(".scrollup").click(function () {
2033        return $("html, body").animate({scrollTop: 0}, 1e3), !1
2034    })
2035}
2036
2037function simpleSlider() {
2038    $(".simple-slider").length && ($(".simple-slider").slider({
2039        range: !1,
2040        min: 0,
2041        max: 30,
2042        value: 3,
2043        slide: function (event, ui) {
2044            $("#value").text(ui.value + "px")
2045        }
2046    }), $("#value").text($(".simple-slider").slider("values", 3) + "px"))
2047}
2048
2049function fullHeight() {
2050    $(".height-full").each(function () {
2051        $(this).height($(window).height())
2052    })
2053}
2054
2055function parallaxZoomOut() {
2056    if ($(".parallax-zoom-out").length) {
2057        windowWidth = $(window).width();
2058        var scrollPos = $(window).scrollTop(), backgroundSize = windowWidth * (1.32 - scrollPos / 1500);
2059        $(".parallax-zoom-out").each(function () {
2060            backgroundSize > windowWidth && $(this).css("background-size", backgroundSize)
2061        })
2062    }
2063}
2064
2065function handleVideo() {
2066    $(".video-js").each(function () {
2067        var videoWidth = $(this).width(), videoHeight = .5625 * videoWidth, videoId = $(this).attr("id");
2068        if (0 == $(this).parents(".post").length ? ($(this).css("height", ""), $(this).parents("header").css("height", "")) : $(this).css("height", videoHeight), $(this).hasClass("full-video") && ($(this).css("height", videoHeight), $(this).parents("header").css("height", videoHeight)), $(this).parents("header").length && $(this).parents("header").css("height", videoHeight), $(this).data("poster")) {
2069            $(this).find(".vjs-poster").remove();
2070            var currentPoster = $(this).data("poster");
2071            $(this).append('<div class="vjs-poster" tabindex="-1" style="background-image: url(&quot;' + currentPoster + '&quot;);"></div>')
2072        }
2073        var myPlayer = videojs(videoId), videoPlaying = !1;
2074        0 == $(this).parents("header").length && $("#" + videoId).click(function () {
2075            videoPlaying ? (myPlayer.pause(), videoPlaying = !1) : (myPlayer.play(), videoPlaying = !0)
2076        })
2077    }), $(".video-embed").each(function () {
2078        function onPlayProgress(data, id) {
2079            $(".loader-wrapper").attr("style", "")
2080        }
2081
2082        if ($(this).fitVids({customSelector: "iframe[src^='//www.dailymotion.com'], iframe[src^='http:////www.dailymotion.com']"}), $(this).hasClass("full-video") && $(this).height($(window).height()), $(this).parent().is("header") || $(this).parent().hasClass("page-coming-soon")) {
2083            var videoId = $(this).find("iframe").attr("id"), iframe = $("#" + videoId)[0], player = $f(iframe);
2084            $(".status");
2085            $(".loader-wrapper").css("opacity", 1).css("visibility", "visible").css("z-index", "2000"), player.addEvent("ready", function () {
2086                player.addEvent("playProgress", onPlayProgress)
2087            })
2088        }
2089    })
2090}
2091
2092function footerReveal() {
2093    setTimeout(function () {
2094        if (body.hasClass("footer-reveal")) {
2095            var footerHeight = $("#footer").height();
2096            mainContent.css("margin-bottom", footerHeight)
2097        }
2098    }, 1e3)
2099}
2100
2101function rating() {
2102    $(".rating").each(function () {
2103        $(this).raty({
2104            cancel: !1,
2105            cancelClass: "raty-cancel",
2106            cancelHint: "Cancel this rating!",
2107            cancelOff: "cancel-off.png",
2108            cancelOn: "cancel-on.png",
2109            cancelPlace: "left",
2110            half: !0,
2111            halfShow: !0,
2112            hints: ["bad", "poor", "regular", "good", "gorgeous"],
2113            noRatedMsg: "Not rated yet!",
2114            number: 5,
2115            numberMax: 20,
2116            precision: !1,
2117            readOnly: $(this).data("read-only") ? $(this).data("read-only") : !1,
2118            round: {down: .25, full: .6, up: .76},
2119            score: $(this).data("value") ? $(this).data("value") : void 0,
2120            scoreName: "score",
2121            single: !1,
2122            space: !0,
2123            starHalf: "fa fa-star-half-o",
2124            starOff: "fa fa-star-o",
2125            starOn: "fa fa-star",
2126            targetText: "",
2127            targetType: "hint",
2128            starType: "i",
2129            click: function () {
2130            }
2131        })
2132    })
2133}
2134
2135function notification() {
2136    $.fn.toastr && (toastr.options = {
2137        tapToDismiss: !0,
2138        toastClass: "toast",
2139        containerId: "toast-container",
2140        debug: !1,
2141        fadeIn: 300,
2142        fadeOut: 600,
2143        hideDuration: 500,
2144        iconClass: "toast-info",
2145        positionClass: "toast-top-right",
2146        timeOut: 4e3,
2147        titleClass: "toast-title",
2148        messageClass: "toast-message"
2149    })
2150}
2151
2152function scrollTop() {
2153    $(this).scrollTop() > 100 ? $(".scrollup").fadeIn() : $(".scrollup").fadeOut(), $(window).scroll(function () {
2154        $(this).scrollTop() > 100 ? $(".scrollup").fadeIn() : $(".scrollup").fadeOut()
2155    }), $(".scrollup").click(function () {
2156        return $("html, body").animate({scrollTop: 0}, 1e3), !1
2157    })
2158}
2159
2160function calendar() {
2161    if ($.fn.fullCalendar && ($("#fitness-calendar").length || $("#yoga-calendar").length)) {
2162        $("#fitness-calendar").fullCalendar({
2163            minTime: "09:00:00",
2164            maxTime: "18:00:00",
2165            defaultView: "agendaWeek",
2166            allDaySlot: !1,
2167            columnFormat: "dddd",
2168            slotDuration: "01:00:00",
2169            defaultDate: "2015-12-12",
2170            handleWindowResize: !0,
2171            height: "auto",
2172            defaultEventMinutes: 60,
2173            defaultTimedEventDuration: "01:00:00",
2174            header: {left: "", center: "", right: ""},
2175            hiddenDays: [0],
2176            events: [{
2177                title: "Yoga Zen",
2178                start: "2015-12-07 09:00:00",
2179                className: "indigo lighten-2"
2180            }, {title: "Crosspin", start: "2015-12-07 10:00:00", className: "orange accent-4"}, {
2181                title: "Bike Spin",
2182                start: "2015-12-07 14:00:00",
2183                className: "grey darken-4"
2184            }, {title: "Zumba Dance", start: "2015-12-07 15:00:00", className: "teal lighten-2"}, {
2185                title: "Fight Cardio", start: "2015-12-07 16:00:00",
2186                className: "indigo lighten-2"
2187            }, {title: "WeighLifting", start: "2015-12-08 09:00:00", className: "red lighten-1"}, {
2188                title: "Crosspin",
2189                start: "2015-12-08 10:00:00",
2190                className: "orange accent-4"
2191            }, {
2192                title: "Zumba Dance",
2193                start: "2015-12-08 11:00:00",
2194                className: "teal lighten-2"
2195            }, {title: "WeighLifting", start: "2015-12-08 12:00:00", className: "red lighten-1"}, {
2196                title: "Yoga Zen",
2197                start: "2015-12-08 15:00:00",
2198                className: "blue lighten-2"
2199            }, {title: "Fight Cardio", start: "2015-12-08 17:00:00", className: "indigo lighten-2"}, {
2200                title: "Crosspin",
2201                start: "2015-12-09 10:00:00",
2202                className: "orange accent-4"
2203            }, {title: "Bike Spin", start: "2015-12-09 11:00:00", className: "grey darken-4"}, {
2204                title: "Zumba Dance",
2205                start: "2015-12-09 14:00:00",
2206                className: "teal lighten-2"
2207            }, {title: "Yoga Zen", start: "2015-12-09 15:00:00", className: "blue lighten-2"}, {
2208                title: "Fight Cardio",
2209                start: "2015-12-09 17:00:00",
2210                className: "indigo lighten-2"
2211            }
2211, {title: "Bike Spin", start: "2015-12-10 09:00:00", className: "grey darken-4"}, {
2212                title: "Fight Cardio",
2213                start: "2015-12-10 10:00:00",
2214                className: "indigo lighten-2"
2215            }, {title: "Zumba Dance", start: "2015-12-10 11:00:00", className: "teal lighten-2"}, {
2216                title: "Crosspin",
2217                start: "2015-12-10 14:00:00",
2218                className: "orange accent-4"
2219            }, {title: "WeighLifting", start: "2015-12-10 16:00:00", className: "red lighten-1"}, {
2220                title: "Bike Spin",
2221                start: "2015-12-10 17:00:00",
2222                className: "light-green darken-1"
2223            }, {
2224                title: "Zumba Dance",
2225                start: "2015-12-11 09:00:00",
2226                className: "teal lighten-2"
2227            }, {title: "Fight Cardio", start: "2015-12-11 10:00:00", className: "indigo lighten-2"}, {
2228                title: "Yoga Zen",
2229                start: "2015-12-11 11:00:00",
2230                className: "blue lighten-2"
2231            }, {title: "Zumba Dance", start: "2015-12-11 14:00:00", className: "teal lighten-2"}, {
2232                title: "Bike Spin",
2233                start: "2015-12-11 16:00:00",
2234                className: "light-green darken-1"
2235            }, {title: "Yoga Zen", start: "2015-12-12 10:00:00", className: "blue lighten-2"}, {
2236                title: "Bike Spin",
2237                start: "2015-12-12 11:00:00",
2238                className: "grey darken-4"
2239            }, {title: "Crosspin", start: "2015-12-12 12:00:00", className: "orange accent-4"}, {
2240                title: "WeighLifting",
2241                start: "2015-12-12 15:00:00",
2242                className: "red lighten-1"
2243            }, {title: "Zumba Dance", start: "2015-12-12 16:00:00", className: "teal lighten-2"}, {
2244                title: "Yoga Zen",
2245                start: "2015-12-12 17:00:00",
2246                className: "blue lighten-2"
2247            }],
2248            editable: !1,
2249            droppable: !1
2250        }), $("#yoga-calendar").fullCalendar({
2251            minTime: "09:00:00",
2252            maxTime: "18:00:00",
2253            defaultView: "agendaWeek",
2254            allDaySlot: !1,
2255            columnFormat: "dddd",
2256            slotDuration: "01:00:00",
2257            defaultDate: "2015-12-12",
2258            handleWindowResize: !0,
2259            height: "auto",
2260            defaultEventMinutes: 60,
2261            defaultTimedEventDuration: "01:00:00",
2262            header: {left: "", center: "", right: ""},
2263            hiddenDays: [0],
2264            events: [{
2265                title: "Yoga Zen",
2266                start: "2015-12-07 09:00:00",
2267                className: "indigo lighten-2"
2268            }, {
2269                title: "Prenatal Exercices",
2270                start: "2015-12-07 10:00:00",
2271                className: "orange accent-4"
2272            }, {title: "Vitality", start: "2015-12-07 14:00:00", className: "grey darken-4"}, {
2273                title: "Yummy",
2274                start: "2015-12-07 15:00:00",
2275                className: "teal lighten-2"
2276            }, {
2277                title: "Stretches",
2278                start: "2015-12-07 16:00:00",
2279                className: "indigo lighten-2"
2280            }, {
2281                title: "Rise & Shine",
2282                start: "2015-12-08 09:00:00",
2283                className: "red lighten-1"
2284            }, {
2285                title: "Prenatal Exercices",
2286                start: "2015-12-08 10:00:00",
2287                className: "orange accent-4"
2288            }, {title: "Yummy", start: "2015-12-08 11:00:00", className: "teal lighten-2"}, {
2289                title: "Rise & Shine",
2290                start: "2015-12-08 12:00:00",
2291                className: "red lighten-1"
2292            }, {title: "Yoga Zen", start: "2015-12-08 15:00:00", className: "blue lighten-2"}, {
2293                title: "Stretches",
2294                start: "2015-12-08 17:00:00",
2295                className: "indigo lighten-2"
2296            }, {
2297                title: "Prenatal Exercices",
2298                start: "2015-12-09 10:00:00",
2299                className: "orange accent-4"
2300            }, {title: "Vitality", start: "2015-12-09 11:00:00", className: "grey darken-4"}, {
2301                title: "Yummy",
2302                start: "2015-12-09 14:00:00",
2303                className: "teal lighten-2"
2304            }, {title: "Yoga Zen", start: "2015-12-09 15:00:00", className: "blue lighten-2"}, {
2305                title: "Stretches",
2306                start: "2015-12-09 17:00:00",
2307                className: "indigo lighten-2"
2308            }
2308, {title: "Vitality", start: "2015-12-10 09:00:00", className: "grey darken-4"}, {
2309                title: "Stretches",
2310                start: "2015-12-10 10:00:00",
2311                className: "indigo lighten-2"
2312            }, {
2313                title: "Yummy",
2314                start: "2015-12-10 11:00:00",
2315                className: "teal lighten-2"
2316            }, {
2317                title: "Prenatal Exercices",
2318                start: "2015-12-10 14:00:00",
2319                className: "orange accent-4"
2320            }, {title: "Rise & Shine", start: "2015-12-10 16:00:00", className: "red lighten-1"}, {
2321                title: "Vitality",
2322                start: "2015-12-10 17:00:00",
2323                className: "light-green darken-1"
2324            }, {title: "Yummy", start: "2015-12-11 09:00:00", className: "teal lighten-2"}, {
2325                title: "Stretches",
2326                start: "2015-12-11 10:00:00",
2327                className: "indigo lighten-2"
2328            }, {title: "Yoga Zen", start: "2015-12-11 11:00:00", className: "blue lighten-2"}, {
2329                title: "Yummy",
2330                start: "2015-12-11 14:00:00",
2331                className: "teal lighten-2"
2332            }, {title: "Vitality", start: "2015-12-11 16:00:00", className: "light-green darken-1"}, {
2333                title: "Yoga Zen",
2334                start: "2015-12-12 10:00:00",
2335                className: "blue lighten-2"
2336            }, {
2337                title: "Vitality",
2338                start: "2015-12-12 11:00:00",
2339                className: "grey darken-4"
2340            }, {
2341                title: "Prenatal Exercices",
2342                start: "2015-12-12 12:00:00",
2343                className: "orange accent-4"
2344            }, {title: "Rise & Shine", start: "2015-12-12 15:00:00", className: "red lighten-1"}, {
2345                title: "Yummy",
2346                start: "2015-12-12 16:00:00",
2347                className: "teal lighten-2"
2348            }, {title: "Yoga Zen", start: "2015-12-12 17:00:00", className: "blue lighten-2"}],
2349            editable: !1,
2350            droppable: !1
2351        })
2352    }
2353}
2354
2355function imgCoverSquare() {
2356    $(".img-cover-square, .section-square").each(function () {
2357        $(this).height(""), $(this).height($(this).width())
2358    })
2359}
2360
2361function demo() {
2362    $(".shortcode-question").click(function () {
2363        $(".shortcode-answer").slideToggle()
2364    })
2365}
2366
2367function screenshotPreview() {
2368    xOffset = 160, yOffset = -60, $("a.screenshot").hover(function (e) {
2369        var posLeft = $(this).offset().left, posTop = $(this).offset().top,
2370            builderClass = $(this).hasClass("screenshot-builder") ? "screenshot-builder" : "",
2371            title = $(this).attr("title") ? '<span class="screenshot-title">' + $(this).attr("title") + "</span>" : "";
2372        builderClass ? $(this).parent().append("<p id='screenshot' class=" + builderClass + "><img src='" + $(this).attr("data-rel") + "' alt='url preview' />" + title + "</p>") : $("body").append("<p id='screenshot'><img src='" + $(this).attr("data-rel") + "' alt='url preview' />" + title + "</p>"), $("#screenshot").css("top", posTop + yOffset + "px").css("left", posLeft + xOffset).fadeIn("fast")
2373    }, function () {
2374        $("#screenshot").remove()
2375    })
2376}
2377
2378function widgetTwitter() {
2379    $(".widget-twitter").each(function () {
2380        $.ajax({
2381            dataType: "html", url: "include/twitter/twitterBot.php", success: function (returnHTML) {
2382                $(".tweets-list ul").html(returnHTML), $(".tweets-list").easyTicker({
2383                    direction: "down",
2384                    easing: "swing",
2385                    speed: "slow",
2386                    interval: 6e3,
2387                    height: "auto",
2388                    visible: 2,
2389                    mousePause: 1,
2390                    controls: {up: ".btnUp", down: ".btnDown", toggle: ".btnToggle"}
2391                }), footerReveal()
2392            }, error: function (data) {
2393                console.log(data)
2394            }
2395        })
2396    })
2397}
2398
2399function widgetPinterest() {
2400    $(".widget-pinterest").each(function () {
2401        $(this)
2402    })
2403}
2404
2405function widgetFlickr() {
2406    $(".widget-flickr:not(.flickr-demo)").each(function () {
2407        var element = $(this);
2408        $(this).find("ul").jflickrfeed({
2409            limit: element.data("count") ? element.data("count") : 12,
2410            qstrings: {id: element.data("user") ? element.data("user") : "44802888@N04"},
2411            itemTemplate: '<li><img width="100" height="100" alt="{{title}}" src="{{image_s}}" /></li>'
2412        })
2413    })
2414}
2415
2416function widgetDribbble() {
2417    $(".widget-dribbble").each(function () {
2418        var element = $(this);
2419        $.jribbble.setToken(dribbbleToken), $.jribbble.shots("teams").then(function (shots) {
2420            var html = [];
vendor: 11,087 bytes, lines 2421-2689
2421            shots.forEach(function (shot) {
2422                html.push('<li class="shots--shot">'), html.push('<a href="' + shot.html_url + '">'), html.push('<img src="' + shot.images.normal + '">'), html.push("</a></li>")
2423            }), element.find(".dribbble-list").html(html.join(""))
2424        })
2425    })
2426}
2427
2428function widgetGoogle() {
2429    $(".widget-google-plus").each(function () {
2430        document.getElementsByClassName("g-page")[0].setAttribute("data-width", $(".google-plus-wrapper").width());
2431        var po = document.createElement("script");
2432        po.type = "text/javascript", po.async = !0, po.src = "https://apis.google.com/js/platform.js";
2433        var s = document.getElementsByTagName("script")[0];
2434        s.parentNode.insertBefore(po, s)
2435    })
2436}
2437
2438function submitForm() {
2439    var name = $("#name").val(), email = $("#email").val(), subject = $("#subject").val(),
2440        message = $("#message").val();
2441    $.ajax({
2442        type: "POST",
2443        url: "include/contact-form.php",
2444        data: "name=" + name + "&email=" + email + "&subject=" + subject + "&message=" + message,
2445        success: function (text) {
2446            "success" == text ? formSuccess() : (formError(), submitMSG(!1, text))
2447        }
2448    })
2449}
2450
2451function formSuccess() {
2452    $("#contactForm")[0].reset(), submitMSG(!0, "Your message has been sent. We will keep in touch with you soon."), $("#form-submit").addClass("disabled")
2453}
2454
2455function formError() {
2456    $("#contactForm").removeClass().one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function () {
2457        $(this).removeClass()
2458    })
2459}
2460
2461function submitMSG(valid, msg) {
2462    if (valid) {
2463        var msgClasses = "text-primary";
2464        $("#msgSubmit").removeClass().addClass(msgClasses).text(msg)
2465    } else {
2466        var msgClasses = "text-danger";
2467        $("#msgSubmit").removeClass().addClass(msgClasses).text("Something went wront. Please try later.")
2468    }
2469}
2470
2471!function (a, b) {
2472    "object" == typeof module && "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function (a) {
2473        if (!a.document) throw new Error("jQuery requires a window with a document");
2474        return b(a)
2475    } : b(a)
2476}("undefined" != typeof window ? window : this, function (a, b) {
2477    function s(a) {
2478        var b = "length" in a && a.length, c = n.type(a);
2479        return "function" === c || n.isWindow(a) ? !1 : 1 === a.nodeType && b ? !0 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a
2480    }
2481
2482    function x(a, b, c) {
2483        if (n.isFunction(b)) return n.grep(a, function (a, d) {
2484            return !!b.call(a, d, a) !== c
2485        });
2486        if (b.nodeType) return n.grep(a, function (a) {
2487            return a === b !== c
2488        });
2489        if ("string" == typeof b) {
2490            if (w.test(b)) return n.filter(b, a, c);
2491            b = n.filter(b, a)
2492        }
2493        return n.grep(a, function (a) {
2494            return g.call(b, a) >= 0 !== c
2495        })
2496    }
2497
2498    function D(a, b) {
2499        for (; (a = a[b]) && 1 !== a.nodeType;) ;
2500        return a
2501    }
2502
2503    function G(a) {
2504        var b = F[a] = {};
2505        return n.each(a.match(E) || [], function (a, c) {
2506            b[c] = !0
2507        }), b
2508    }
2509
2510    function I() {
2511        l.removeEventListener("DOMContentLoaded", I, !1), a.removeEventListener("load", I, !1), n.ready()
2512    }
2513
2514    function K() {
2515        Object.defineProperty(this.cache = {}, 0, {
2516            get: function () {
2517                return {}
2518            }
2519        }), this.expando = n.expando + K.uid++
2520    }
2521
2522    function P(a, b, c) {
2523        var d;
2524        if (void 0 === c && 1 === a.nodeType) if (d = "data-" + b.replace(O, "-$1").toLowerCase(), c = a.getAttribute(d), "string" == typeof c) {
2525            try {
2526                c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : N.test(c) ? n.parseJSON(c) : c
2527            } catch (e) {
2528            }
2529            M.set(a, b, c)
2530        } else c = void 0;
2531        return c
2532    }
2533
2534    function Z() {
2535        return !0
2536    }
2537
2538    function $() {
2539        return !1
2540    }
2541
2542    function _() {
2543        try {
2544            return l.activeElement
2545        } catch (a) {
2546        }
2547    }
2548
2549    function ja(a, b) {
2550        return n.nodeName(a, "table") && n.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a
2551    }
2552
2553    function ka(a) {
2554        return a.type = (null !== a.getAttribute("type")) + "/" + a.type, a
2555    }
2556
2557    function la(a) {
2558        var b = ga.exec(a.type);
2559        return b ? a.type = b[1] : a.removeAttribute("type"), a
2560    }
2561
2562    function ma(a, b) {
2563        for (var c = 0, d = a.length; d > c; c++) L.set(a[c], "globalEval", !b || L.get(b[c], "globalEval"))
2564    }
2565
2566    function na(a, b) {
2567        var c, d, e, f, g, h, i, j;
2568        if (1 === b.nodeType) {
2569            if (L.hasData(a) && (f = L.access(a), g = L.set(b, f), j = f.events)) {
2570                delete g.handle, g.events = {};
2571                for (e in j) for (c = 0, d = j[e].length; d > c; c++) n.event.add(b, e, j[e][c])
2572            }
2573            M.hasData(a) && (h = M.access(a), i = n.extend({}, h), M.set(b, i))
2574        }
2575    }
2576
2577    function oa(a, b) {
2578        var c = a.getElementsByTagName ? a.getElementsByTagName(b || "*") : a.querySelectorAll ? a.querySelectorAll(b || "*") : [];
2579        return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], c) : c
2580    }
2581
2582    function pa(a, b) {
2583        var c = b.nodeName.toLowerCase();
2584        "input" === c && T.test(a.type) ? b.checked = a.checked : ("input" === c || "textarea" === c) && (b.defaultValue = a.defaultValue)
2585    }
2586
2587    function sa(b, c) {
2588        var d, e = n(c.createElement(b)).appendTo(c.body),
2589            f = a.getDefaultComputedStyle && (d = a.getDefaultComputedStyle(e[0])) ? d.display : n.css(e[0], "display");
2590        return e.detach(), f
2591    }
2592
2593    function ta(a) {
2594        var b = l, c = ra[a];
2595        return c || (c = sa(a, b), "none" !== c && c || (qa = (qa || n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement), b = qa[0].contentDocument, b.write(), b.close(), c = sa(a, b), qa.detach()), ra[a] = c), c
2596    }
2597
2598    function xa(a, b, c) {
2599        var d, e, f, g, h = a.style;
2600        return c = c || wa(a), c && (g = c.getPropertyValue(b) || c[b]), c && ("" !== g || n.contains(a.ownerDocument, a) || (g = n.style(a, b)), va.test(g) && ua.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f)), void 0 !== g ? g + "" : g
2601    }
2602
2603    function ya(a, b) {
2604        return {
2605            get: function () {
2606                return a() ? void delete this.get : (this.get = b).apply(this, arguments)
2607            }
2608        }
2609    }
2610
2611    function Fa(a, b) {
2612        if (b in a) return b;
2613        for (var c = b[0].toUpperCase() + b.slice(1), d = b, e = Ea.length; e--;) if (b = Ea[e] + c, b in a) return b;
2614        return d
2615    }
2616
2617    function Ga(a, b, c) {
2618        var d = Aa.exec(b);
2619        return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b
2620    }
2621
2622    function Ha(a, b, c, d, e) {
2623        for (var f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, g = 0; 4 > f; f += 2) "margin" === c && (g += n.css(a, c + R[f], !0, e)), d ? ("content" === c && (g -= n.css(a, "padding" + R[f], !0, e)), "margin" !== c && (g -= n.css(a, "border" + R[f] + "Width", !0, e))) : (g += n.css(a, "padding" + R[f], !0, e), "padding" !== c && (g += n.css(a, "border" + R[f] + "Width", !0, e)));
2624        return g
2625    }
2626
2627    function Ia(a, b, c) {
2628        var d = !0, e = "width" === b ? a.offsetWidth : a.offsetHeight, f = wa(a),
2629            g = "border-box" === n.css(a, "boxSizing", !1, f);
2630        if (0 >= e || null == e) {
2631            if (e = xa(a, b, f), (0 > e || null == e) && (e = a.style[b]), va.test(e)) return e;
2632            d = g && (k.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0
2633        }
2634        return e + Ha(a, b, c || (g ? "border" : "content"), d, f) + "px"
2635    }
2636
2637    function Ja(a, b) {
2638        for (var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = L.get(d, "olddisplay"), c = d.style.display, b ? (f[g] || "none" !== c || (d.style.display = ""), "" === d.style.display && S(d) && (f[g] = L.access(d, "olddisplay", ta(d.nodeName)))) : (e = S(d), "none" === c && e || L.set(d, "olddisplay", e ? c : n.css(d, "display"))));
2639        for (g = 0; h > g; g++) d = a[g], d.style && (b && "none" !== d.style.display && "" !== d.style.display || (d.style.display = b ? f[g] || "" : "none"));
2640        return a
2641    }
2642
2643    function Ka(a, b, c, d, e) {
2644        return new Ka.prototype.init(a, b, c, d, e)
2645    }
2646
2647    function Sa() {
2648        return setTimeout(function () {
2649            La = void 0
2650        }), La = n.now()
2651    }
2652
2653    function Ta(a, b) {
2654        var c, d = 0, e = {height: a};
2655        for (b = b ? 1 : 0; 4 > d; d += 2 - b) c = R[d], e["margin" + c] = e["padding" + c] = a;
2656        return b && (e.opacity = e.width = a), e
2657    }
2658
2659    function Ua(a, b, c) {
2660        for (var d, e = (Ra[b] || []).concat(Ra["*"]), f = 0, g = e.length; g > f; f++) if (d = e[f].call(c, b, a)) return d
2661    }
2662
2663    function Va(a, b, c) {
2664        var d, e, f, g, h, i, j, k, l = this, m = {}, o = a.style, p = a.nodeType && S(a), q = L.get(a, "fxshow");
2665        c.queue || (h = n._queueHooks(a, "fx"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function () {
2666            h.unqueued || i()
2667        }), h.unqueued++, l.always(function () {
2668            l.always(function () {
2669                h.unqueued--, n.queue(a, "fx").length || h.empty.fire()
2670            })
2671        })), 1 === a.nodeType && ("height" in b || "width" in b) && (c.overflow = [o.overflow, o.overflowX, o.overflowY], j = n.css(a, "display"), k = "none" === j ? L.get(a, "olddisplay") || ta(a.nodeName) : j, "inline" === k && "none" === n.css(a, "float") && (o.display = "inline-block")), c.overflow && (o.overflow = "hidden", l.always(function () {
2672            o.overflow = c.overflow[0], o.overflowX = c.overflow[1], o.overflowY = c.overflow[2]
2673        }));
2674        for (d in b) if (e = b[d], Na.exec(e)) {
2675            if (delete b[d], f = f || "toggle" === e, e === (p ? "hide" : "show")) {
2676                if ("show" !== e || !q || void 0 === q[d]) continue;
2677                p = !0
2678            }
2679            m[d] = q && q[d] || n.style(a, d)
2680        } else j = void 0;
2681        if (n.isEmptyObject(m)) "inline" === ("none" === j ? ta(a.nodeName) : j) && (o.display = j); else {
2682            q ? "hidden" in q && (p = q.hidden) : q = L.access(a, "fxshow", {}), f && (q.hidden = !p), p ? n(a).show() : l.done(function () {
2683                n(a).hide()
2684            }), l.done(function () {
2685                var b;
2686                L.remove(a, "fxshow");
2687                for (b in m) n.style(a, b, m[b])
2688            });
2689            for (d in m) g = Ua(p ? q[d] : 0, d, l), d in q || (q[d] = g.start, p && (g.end = g.start, g.start = "
vendor: 5,813 bytes, lines 2689-2822
2689width" === d || "height" === d ? 1 : 0))
2690        }
2691    }
2692
2693    function Wa(a, b) {
2694        var c, d, e, f, g;
2695        for (c in a) if (d = n.camelCase(c), e = b[d], f = a[c], n.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = n.cssHooks[d], g && "expand" in g) {
2696            f = g.expand(f), delete a[d];
2697            for (c in f) c in a || (a[c] = f[c], b[c] = e)
2698        } else b[d] = e
2699    }
2700
2701    function Xa(a, b, c) {
2702        var d, e, f = 0, g = Qa.length, h = n.Deferred().always(function () {
2703            delete i.elem
2704        }), i = function () {
2705            if (e) return !1;
2706            for (var b = La || Sa(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f);
2707            return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1)
2708        }, j = h.promise({
2709            elem: a,
2710            props: n.extend({}, b),
2711            opts: n.extend(!0, {specialEasing: {}}, c),
2712            originalProperties: b,
2713            originalOptions: c,
2714            startTime: La || Sa(),
2715            duration: c.duration,
2716            tweens: [],
2717            createTween: function (b, c) {
2718                var d = n.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);
2719                return j.tweens.push(d), d
2720            },
2721            stop: function (b) {
2722                var c = 0, d = b ? j.tweens.length : 0;
2723                if (e) return this;
2724                for (e = !0; d > c; c++) j.tweens[c].run(1);
2725                return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]), this
2726            }
2727        }), k = j.props;
2728        for (Wa(k, j.opts.specialEasing); g > f; f++) if (d = Qa[f].call(j, a, k, j.opts)) return d;
2729        return n.map(k, Ua, j), n.isFunction(j.opts.start) && j.opts.start.call(a, j), n.fx.timer(n.extend(i, {
2730            elem: a,
2731            anim: j,
2732            queue: j.opts.queue
2733        })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)
2734    }
2735
2736    function qb(a) {
2737        return function (b, c) {
2738            "string" != typeof b && (c = b, b = "*");
2739            var d, e = 0, f = b.toLowerCase().match(E) || [];
2740            if (n.isFunction(c)) for (; d = f[e++];) "+" === d[0] ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c)
2741        }
2742    }
2743
2744    function rb(a, b, c, d) {
2745        function g(h) {
2746            var i;
2747            return e[h] = !0, n.each(a[h] || [], function (a, h) {
2748                var j = h(b, c, d);
2749                return "string" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1)
2750            }), i
2751        }
2752
2753        var e = {}, f = a === mb;
2754        return g(b.dataTypes[0]) || !e["*"] && g("*")
2755    }
2756
2757    function sb(a, b) {
2758        var c, d, e = n.ajaxSettings.flatOptions || {};
2759        for (c in b) void 0 !== b[c] && ((e[c] ? a : d || (d = {}))[c] = b[c]);
2760        return d && n.extend(!0, a, d), a
2761    }
2762
2763    function tb(a, b, c) {
2764        for (var d, e, f, g, h = a.contents, i = a.dataTypes; "*" === i[0];) i.shift(), void 0 === d && (d = a.mimeType || b.getResponseHeader("Content-Type"));
2765        if (d) for (e in h) if (h[e] && h[e].test(d)) {
2766            i.unshift(e);
2767            break
2768        }
2769        if (i[0] in c) f = i[0]; else {
2770            for (e in c) {
2771                if (!i[0] || a.converters[e + " " + i[0]]) {
2772                    f = e;
2773                    break
2774                }
2775                g || (g = e)
2776            }
2777            f = f || g
2778        }
2779        return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0
2780    }
2781
2782    function ub(a, b, c, d) {
2783        var e, f, g, h, i, j = {}, k = a.dataTypes.slice();
2784        if (k[1]) for (g in a.converters) j[g.toLowerCase()] = a.converters[g];
2785        for (f = k.shift(); f;) if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift()) if ("*" === f) f = i; else if ("*" !== i && i !== f) {
2786            if (g = j[i + " " + f] || j["* " + f], !g) for (e in j) if (h = e.split(" "), h[1] === f && (g = j[i + " " + h[0]] || j["* " + h[0]])) {
2787                g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1]));
2788                break
2789            }
2790            if (g !== !0) if (g && a["throws"]) b = g(b); else try {
2791                b = g(b)
2792            } catch (l) {
2793                return {state: "parsererror", error: g ? l : "No conversion from " + i + " to " + f}
2794            }
2795        }
2796        return {state: "success", data: b}
2797    }
2798
2799    function Ab(a, b, c, d) {
2800        var e;
2801        if (n.isArray(b)) n.each(b, function (b, e) {
2802            c || wb.test(a) ? d(a, e) : Ab(a + "[" + ("object" == typeof e ? b : "") + "]", e, c, d)
2803        }); else if (c || "object" !== n.type(b)) d(a, b); else for (e in b) Ab(a + "[" + e + "]", b[e], c, d)
2804    }
2805
2806    function Jb(a) {
2807        return n.isWindow(a) ? a : 9 === a.nodeType && a.defaultView
2808    }
2809
2810    var c = [], d = c.slice, e = c.concat, f = c.push, g = c.indexOf, h = {}, i = h.toString, j = h.hasOwnProperty,
2811        k = {}, l = a.document, m = "2.1.4", n = function (a, b) {
2812            return new n.fn.init(a, b)
2813        }, o = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, p = /^-ms-/, q = /-([\da-z])/gi, r = function (a, b) {
2814            return b.toUpperCase()
2815        };
2816    n.fn = n.prototype = {
2817        jquery: m, constructor: n, selector: "", length: 0, toArray: function () {
2818            return d.call(this)
2819        }, get: function (a) {
2820            return null != a ? 0 > a ? this[a + this.length] : this[a] : d.call(this)
2821        }, pushStack: function (a) {
2822            var b = n.merge(this.constructor(), a);
vendor: 5,971 bytes, lines 2823-2919
2823            return b.prevObject = this, b.context = this.context, b
2824        }, each: function (a, b) {
2825            return n.each(this, a, b)
2826        }, map: function (a) {
2827            return this.pushStack(n.map(this, function (b, c) {
2828                return a.call(b, c, b)
2829            }))
2830        }, slice: function () {
2831            return this.pushStack(d.apply(this, arguments))
2832        }, first: function () {
2833            return this.eq(0)
2834        }, last: function () {
2835            return this.eq(-1)
2836        }, eq: function (a) {
2837            var b = this.length, c = +a + (0 > a ? b : 0);
2838            return this.pushStack(c >= 0 && b > c ? [this[c]] : [])
2839        }, end: function () {
2840            return this.prevObject || this.constructor(null)
2841        }, push: f, sort: c.sort, splice: c.splice
2842    }, n.extend = n.fn.extend = function () {
2843        var a, b, c, d, e, f, g = arguments[0] || {}, h = 1, i = arguments.length, j = !1;
2844        for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || n.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++) if (null != (a = arguments[h])) for (b in a) c = g[b], d = a[b], g !== d && (j && d && (n.isPlainObject(d) || (e = n.isArray(d))) ? (e ? (e = !1, f = c && n.isArray(c) ? c : []) : f = c && n.isPlainObject(c) ? c : {}, g[b] = n.extend(j, f, d)) : void 0 !== d && (g[b] = d));
2845        return g
2846    }, n.extend({
2847        expando: "jQuery" + (m + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (a) {
2848            throw new Error(a)
2849        }, noop: function () {
2850        }, isFunction: function (a) {
2851            return "function" === n.type(a)
2852        }, isArray: Array.isArray, isWindow: function (a) {
2853            return null != a && a === a.window
2854        }, isNumeric: function (a) {
2855            return !n.isArray(a) && a - parseFloat(a) + 1 >= 0
2856        }, isPlainObject: function (a) {
2857            return "object" !== n.type(a) || a.nodeType || n.isWindow(a) ? !1 : a.constructor && !j.call(a.constructor.prototype, "isPrototypeOf") ? !1 : !0
2858        }, isEmptyObject: function (a) {
2859            var b;
2860            for (b in a) return !1;
2861            return !0
2862        }, type: function (a) {
2863            return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? h[i.call(a)] || "object" : typeof a
2864        }, globalEval: function (a) {
2865            var b, c = eval;
2866            a = n.trim(a), a && (1 === a.indexOf("use strict") ? (b = l.createElement("script"), b.text = a, l.head.appendChild(b).parentNode.removeChild(b)) : c(a))
2867        }, camelCase: function (a) {
2868            return a.replace(p, "ms-").replace(q, r)
2869        }, nodeName: function (a, b) {
2870            return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
2871        }, each: function (a, b, c) {
2872            var d, e = 0, f = a.length, g = s(a);
2873            if (c) {
2874                if (g) for (; f > e && (d = b.apply(a[e], c), d !== !1); e++) ; else for (e in a) if (d = b.apply(a[e], c), d === !1) break
2875            } else if (g) for (; f > e && (d = b.call(a[e], e, a[e]), d !== !1); e++) ; else for (e in a) if (d = b.call(a[e], e, a[e]), d === !1) break;
2876            return a
2877        }, trim: function (a) {
2878            return null == a ? "" : (a + "").replace(o, "")
2879        }, makeArray: function (a, b) {
2880            var c = b || [];
2881            return null != a && (s(Object(a)) ? n.merge(c, "string" == typeof a ? [a] : a) : f.call(c, a)), c
2882        }, inArray: function (a, b, c) {
2883            return null == b ? -1 : g.call(b, a, c)
2884        }, merge: function (a, b) {
2885            for (var c = +b.length, d = 0, e = a.length; c > d; d++) a[e++] = b[d];
2886            return a.length = e, a
2887        }, grep: function (a, b, c) {
2888            for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]);
2889            return e
2890        }, map: function (a, b, c) {
2891            var d, f = 0, g = a.length, h = s(a), i = [];
2892            if (h) for (; g > f; f++) d = b(a[f], f, c), null != d && i.push(d); else for (f in a) d = b(a[f], f, c), null != d && i.push(d);
2893            return e.apply([], i)
2894        }, guid: 1, proxy: function (a, b) {
2895            var c, e, f;
2896            return "string" == typeof b && (c = a[b], b = a, a = c), n.isFunction(a) ? (e = d.call(arguments, 2), f = function () {
2897                return a.apply(b || this, e.concat(d.call(arguments)))
2898            }, f.guid = a.guid = a.guid || n.guid++, f) : void 0
2899        }, now: Date.now, support: k
2900    }), n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (a, b) {
2901        h["[object " + b + "]"] = b.toLowerCase()
2902    });
2903    var t = function (a) {
2904        function ga(a, b, d, e) {
2905            var f, h, j, k, l, o, r, s, w, x;
2906            if ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, d = d || [], k = b.nodeType, "string" != typeof a || !a || 1 !== k && 9 !== k && 11 !== k) return d;
2907            if (!e && p) {
2908                if (11 !== k && (f = _.exec(a))) if (j = f[1]) {
2909                    if (9 === k) {
2910                        if (h = b.getElementById(j), !h || !h.parentNode) return d;
2911                        if (h.id === j) return d.push(h), d
2912                    } else if (b.ownerDocument && (h = b.ownerDocument.getElementById(j)) && t(b, h) && h.id === j) return d.push(h), d
2913                } else {
2914                    if (f[2]) return H.apply(d, b.getElementsByTagName(a)), d;
2915                    if ((j = f[3]) && c.getElementsByClassName) return H.apply(d, b.getElementsByClassName(j)), d
2916                }
2917                if (c.qsa && (!q || !q.test(a))) {
2918                    if (s = r = u, w = b, x = 1 !== k && a, 1 === k && "object" !== b.nodeName.toLowerCase()) {
2919                        for (o = g(a), (r = b.getAttribute("id")) ? s = r.replace(ba, "\\$&") : b.setAttribute("id", s), s = "[id='" + s + "'] ", l = o.length; l--;
vendor: 5,820 bytes, lines 2919-3071
2919) o[l] = s + ra(o[l]);
2920                        w = aa.test(a) && pa(b.parentNode) || b, x = o.join(",")
2921                    }
2922                    if (x) try {
2923                        return H.apply(d, w.querySelectorAll(x)), d
2924                    } catch (y) {
2925                    } finally {
2926                        r || b.removeAttribute("id")
2927                    }
2928                }
2929            }
2930            return i(a.replace(R, "$1"), b, d, e)
2931        }
2932
2933        function ha() {
2934            function b(c, e) {
2935                return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e
2936            }
2937
2938            var a = [];
2939            return b
2940        }
2941
2942        function ia(a) {
2943            return a[u] = !0, a
2944        }
2945
2946        function ja(a) {
2947            var b = n.createElement("div");
2948            try {
2949                return !!a(b)
2950            } catch (c) {
2951                return !1
2952            } finally {
2953                b.parentNode && b.parentNode.removeChild(b), b = null
2954            }
2955        }
2956
2957        function ka(a, b) {
2958            for (var c = a.split("|"), e = a.length; e--;) d.attrHandle[c[e]] = b
2959        }
2960
2961        function la(a, b) {
2962            var c = b && a,
2963                d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C);
2964            if (d) return d;
2965            if (c) for (; c = c.nextSibling;) if (c === b) return -1;
2966            return a ? 1 : -1
2967        }
2968
2969        function ma(a) {
2970            return function (b) {
2971                var c = b.nodeName.toLowerCase();
2972                return "input" === c && b.type === a
2973            }
2974        }
2975
2976        function na(a) {
2977            return function (b) {
2978                var c = b.nodeName.toLowerCase();
2979                return ("input" === c || "button" === c) && b.type === a
2980            }
2981        }
2982
2983        function oa(a) {
2984            return ia(function (b) {
2985                return b = +b, ia(function (c, d) {
2986                    for (var e, f = a([], c.length, b), g = f.length; g--;) c[e = f[g]] && (c[e] = !(d[e] = c[e]))
2987                })
2988            })
2989        }
2990
2991        function pa(a) {
2992            return a && "undefined" != typeof a.getElementsByTagName && a
2993        }
2994
2995        function qa() {
2996        }
2997
2998        function ra(a) {
2999            for (var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value;
3000            return d
3001        }
3002
3003        function sa(a, b, c) {
3004            var d = b.dir, e = c && "parentNode" === d, f = x++;
3005            return b.first ? function (b, c, f) {
3006                for (; b = b[d];) if (1 === b.nodeType || e) return a(b, c, f)
3007            } : function (b, c, g) {
3008                var h, i, j = [w, f];
3009                if (g) {
3010                    for (; b = b[d];) if ((1 === b.nodeType || e) && a(b, c, g)) return !0
3011                } else for (; b = b[d];) if (1 === b.nodeType || e) {
3012                    if (i = b[u] || (b[u] = {}), (h = i[d]) && h[0] === w && h[1] === f) return j[2] = h[2];
3013                    if (i[d] = j, j[2] = a(b, c, g)) return !0
3014                }
3015            }
3016        }
3017
3018        function ta(a) {
3019            return a.length > 1 ? function (b, c, d) {
3020                for (var e = a.length; e--;) if (!a[e](b, c, d)) return !1;
3021                return !0
3022            } : a[0]
3023        }
3024
3025        function ua(a, b, c) {
3026            for (var d = 0, e = b.length; e > d; d++) ga(a, b[d], c);
3027            return c
3028        }
3029
3030        function va(a, b, c, d, e) {
3031            for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++) (f = a[h]) && (!c || c(f, d, e)) && (g.push(f), j && b.push(h));
3032            return g
3033        }
3034
3035        function wa(a, b, c, d, e, f) {
3036            return d && !d[u] && (d = wa(d)), e && !e[u] && (e = wa(e, f)), ia(function (f, g, h, i) {
3037                var j, k, l, m = [], n = [], o = g.length, p = f || ua(b || "*", h.nodeType ? [h] : h, []),
3038                    q = !a || !f && b ? p : va(p, m, a, h, i), r = c ? e || (f ? a : o || d) ? [] : g : q;
3039                if (c && c(q, r, h, i), d) for (j = va(r, n), d(j, [], h, i), k = j.length; k--;) (l = j[k]) && (r[n[k]] = !(q[n[k]] = l));
3040                if (f) {
3041                    if (e || a) {
3042                        if (e) {
3043                            for (j = [], k = r.length; k--;) (l = r[k]) && j.push(q[k] = l);
3044                            e(null, r = [], j, i)
3045                        }
3046                        for (k = r.length; k--;) (l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l))
3047                    }
3048                } else r = va(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r)
3049            })
3050        }
3051
3052        function xa(a) {
3053            for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = sa(function (a) {
3054                return a === b
3055            }, h, !0), l = sa(function (a) {
3056                return J(b, a) > -1
3057            }, h, !0), m = [function (a, c, d) {
3058                var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d));
3059                return b = null, e
3060            }]; f > i; i++) if (c = d.relative[a[i].type]) m = [sa(ta(m), c)]; else {
3061                if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) {
3062                    for (e = ++i; f > e && !d.relative[a[e].type]; e++) ;
3063                    return wa(i > 1 && ta(m), i > 1 && ra(a.slice(0, i - 1).concat({value: " " === a[i - 2].type ? "*" : ""})).replace(R, "$1"), c, e > i && xa(a.slice(i, e)), f > e && xa(a = a.slice(e)), f > e && ra(a))
3064                }
3065                m.push(c)
3066            }
3067            return ta(m)
3068        }
3069
3070        function ya(a, b) {
3071            var c = b.length > 0, e = a.length > 0, f = function (f, g, h, i, k) {
vendor: 10,217 bytes, lines 3072-3219
3072                var l, m, o, p = 0, q = "0", r = f && [], s = [], t = j, u = f || e && d.find.TAG("*", k),
3073                    v = w += null == t ? 1 : Math.random() || .1, x = u.length;
3074                for (k && (j = g !== n && g); q !== x && null != (l = u[q]); q++) {
3075                    if (e && l) {
3076                        for (m = 0; o = a[m++];) if (o(l, g, h)) {
3077                            i.push(l);
3078                            break
3079                        }
3080                        k && (w = v)
3081                    }
3082                    c && ((l = !o && l) && p--, f && r.push(l))
3083                }
3084                if (p += q, c && q !== p) {
3085                    for (m = 0; o = b[m++];) o(r, s, g, h);
3086                    if (f) {
3087                        if (p > 0) for (; q--;) r[q] || s[q] || (s[q] = F.call(i));
3088                        s = va(s)
3089                    }
3090                    H.apply(i, s), k && !f && s.length > 0 && p + b.length > 1 && ga.uniqueSort(i)
3091                }
3092                return k && (w = v, j = t), r
3093            };
3094            return c ? ia(f) : f
3095        }
3096
3097        var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = "sizzle" + 1 * new Date, v = a.document, w = 0,
3098            x = 0, y = ha(), z = ha(), A = ha(), B = function (a, b) {
3099                return a === b && (l = !0), 0
3100            }, C = 1 << 31, D = {}.hasOwnProperty, E = [], F = E.pop, G = E.push, H = E.push, I = E.slice,
3101            J = function (a, b) {
3102                for (var c = 0, d = a.length; d > c; c++) if (a[c] === b) return c;
3103                return -1
3104            },
3105            K = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
3106            L = "[\\x20\\t\\r\\n\\f]", M = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", N = M.replace("w", "w#"),
3107            O = "\\[" + L + "*(" + M + ")(?:" + L + "*([*^$|!~]?=)" + L + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + N + "))|)" + L + "*\\]",
3108            P = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + O + ")*)|.*)\\)|)",
3109            Q = new RegExp(L + "+", "g"), R = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"),
3110            S = new RegExp("^" + L + "*," + L + "*"), T = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"),
3111            U = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"), V = new RegExp(P),
3112            W = new RegExp("^" + N + "$"), X = {
3113                ID: new RegExp("^#(" + M + ")"),
3114                CLASS: new RegExp("^\\.(" + M + ")"),
3115                TAG: new RegExp("^(" + M.replace("w", "w*") + ")"),
3116                ATTR: new RegExp("^" + O),
3117                PSEUDO: new RegExp("^" + P),
3118                CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + L + "*(even|odd|(([+-]|)(\\d*)n|)" + L + "*(?:([+-]|)" + L + "*(\\d+)|))" + L + "*\\)|)", "i"),
3119                bool: new RegExp("^(?:" + K + ")$", "i"),
3120                needsContext: new RegExp("^" + L + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + L + "*((?:-\\d)?\\d*)" + L + "*\\)|)(?=[^-]|$)", "i")
3121            }, Y = /^(?:input|select|textarea|button)$/i, Z = /^h\d$/i, $ = /^[^{]+\{\s*\[native \w/,
3122            _ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, aa = /[+~]/, ba = /'|\\/g,
3123            ca = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"), da = function (a, b, c) {
3124                var d = "0x" + b - 65536;
3125                return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320)
3126            }, ea = function () {
3127                m()
3128            };
3129        try {
3130            H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType
3131        } catch (fa) {
3132            H = {
3133                apply: E.length ? function (a, b) {
3134                    G.apply(a, I.call(b))
3135                } : function (a, b) {
3136                    for (var c = a.length, d = 0; a[c++] = b[d++];) ;
3137                    a.length = c - 1
3138                }
3139            }
3140        }
3141        c = ga.support = {}, f = ga.isXML = function (a) {
3142            var b = a && (a.ownerDocument || a).documentElement;
3143            return b ? "HTML" !== b.nodeName : !1
3144        }, m = ga.setDocument = function (a) {
3145            var b, e, g = a ? a.ownerDocument || a : v;
3146            return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = g.documentElement, e = g.defaultView, e && e !== e.top && (e.addEventListener ? e.addEventListener("unload", ea, !1) : e.attachEvent && e.attachEvent("onunload", ea)), p = !f(g), c.attributes = ja(function (a) {
3147                return a.className = "i", !a.getAttribute("className")
3148            }), c.getElementsByTagName = ja(function (a) {
3149                return a.appendChild(g.createComment("")), !a.getElementsByTagName("*").length
3150            }), c.getElementsByClassName = $.test(g.getElementsByClassName), c.getById = ja(function (a) {
3151                return o.appendChild(a).id = u, !g.getElementsByName || !g.getElementsByName(u).length
3152            }), c.getById ? (d.find.ID = function (a, b) {
3153                if ("undefined" != typeof b.getElementById && p) {
3154                    var c = b.getElementById(a);
3155                    return c && c.parentNode ? [c] : []
3156                }
3157            }, d.filter.ID = function (a) {
3158                var b = a.replace(ca, da);
3159                return function (a) {
3160                    return a.getAttribute("id") === b
3161                }
3162            }) : (delete d.find.ID, d.filter.ID = function (a) {
3163                var b = a.replace(ca, da);
3164                return function (a) {
3165                    var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id");
3166                    return c && c.value === b
3167                }
3168            }), d.find.TAG = c.getElementsByTagName ? function (a, b) {
3169                return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0
3170            } : function (a, b) {
3171                var c, d = [], e = 0, f = b.getElementsByTagName(a);
3172                if ("*" === a) {
3173                    for (; c = f[e++];) 1 === c.nodeType && d.push(c);
3174                    return d
3175                }
3176                return f
3177            }, d.find.CLASS = c.getElementsByClassName && function (a, b) {
3178                return p ? b.getElementsByClassName(a) : void 0
3179            }, r = [], q = [], (c.qsa = $.test(g.querySelectorAll)) && (ja(function (a) {
3180                o.appendChild(a).innerHTML = "<a id='" + u + "'></a><select id='" + u + "-\f]' msallowcapture=''><option selected=''></option></select>", a.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + L + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || q.push("\\[" + L + "*(?:value|" + K + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="), a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]")
3181            }), ja(function (a) {
3182                var b = g.createElement("input");
3183                b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && q.push("name" + L + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || q.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), q.push(",.*:")
3184            })), (c.matchesSelector = $.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ja(function (a) {
3185                c.disconnectedMatch = s.call(a, "div"), s.call(a, "[s!='']:x"), r.push("!=", P)
3186            }), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = $.test(o.compareDocumentPosition), t = b || $.test(o.contains) ? function (a, b) {
3187                var c = 9 === a.nodeType ? a.documentElement : a, d = b && b.parentNode;
3188                return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d)))
3189            } : function (a, b) {
3190                if (b) for (; b = b.parentNode;) if (b === a) return !0;
3191                return !1
3192            }, B = b ? function (a, b) {
3193                if (a === b) return l = !0, 0;
3194                var d = !a.compareDocumentPosition - !b.compareDocumentPosition;
3195                return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === g || a.ownerDocument === v && t(v, a) ? -1 : b === g || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1)
3196            } : function (a, b) {
3197                if (a === b) return l = !0, 0;
3198                var c, d = 0, e = a.parentNode, f = b.parentNode, h = [a], i = [b];
3199                if (!e || !f) return a === g ? -1 : b === g ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0;
3200                if (e === f) return la(a, b);
3201                for (c = a; c = c.parentNode;) h.unshift(c);
3202                for (c = b; c = c.parentNode;) i.unshift(c);
3203                for (; h[d] === i[d];) d++;
3204                return d ? la(h[d], i[d]) : h[d] === v ? -1 : i[d] === v ? 1 : 0
3205            }, g) : n
3206        }, ga.matches = function (a, b) {
3207            return ga(a, null, null, b)
3208        }, ga.matchesSelector = function (a, b) {
3209            if ((a.ownerDocument || a) !== n && m(a), b = b.replace(U, "='$1']"), !(!c.matchesSelector || !p || r && r.test(b) || q && q.test(b))) try {
3210                var d = s.call(a, b);
3211                if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d
3212            } catch (e) {
3213            }
3214            return ga(b, n, null, [a]).length > 0
3215        }, ga.contains = function (a, b) {
3216            return (a.ownerDocument || a) !== n && m(a), t(a, b)
3217        }, ga.attr = function (a, b) {
3218            (a.ownerDocument || a) !== n && m(a);
3219            var e = d.attrHandle[b.toLowerCase()],
vendor: 8,579 bytes, lines 3220-3358
3220                f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0;
3221            return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null
3222        }, ga.error = function (a) {
3223            throw new Error("Syntax error, unrecognized expression: " + a)
3224        }, ga.uniqueSort = function (a) {
3225            var b, d = [], e = 0, f = 0;
3226            if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) {
3227                for (; b = a[f++];) b === a[f] && (e = d.push(f));
3228                for (; e--;) a.splice(d[e], 1)
3229            }
3230            return k = null, a
3231        }, e = ga.getText = function (a) {
3232            var b, c = "", d = 0, f = a.nodeType;
3233            if (f) {
3234                if (1 === f || 9 === f || 11 === f) {
3235                    if ("string" == typeof a.textContent) return a.textContent;
3236                    for (a = a.firstChild; a; a = a.nextSibling) c += e(a)
3237                } else if (3 === f || 4 === f) return a.nodeValue
3238            } else for (; b = a[d++];) c += e(b);
3239            return c
3240        }, d = ga.selectors = {
3241            cacheLength: 50,
3242            createPseudo: ia,
3243            match: X,
3244            attrHandle: {},
3245            find: {},
3246            relative: {
3247                ">": {dir: "parentNode", first: !0},
3248                " ": {dir: "parentNode"},
3249                "+": {dir: "previousSibling", first: !0},
3250                "~": {dir: "previousSibling"}
3251            },
3252            preFilter: {
3253                ATTR: function (a) {
3254                    return a[1] = a[1].replace(ca, da), a[3] = (a[3] || a[4] || a[5] || "").replace(ca, da), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4)
3255                }, CHILD: function (a) {
3256                    return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || ga.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && ga.error(a[0]), a
3257                }, PSEUDO: function (a) {
3258                    var b, c = !a[6] && a[2];
3259                    return X.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && V.test(c) && (b = g(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))
3260                }
3261            },
3262            filter: {
3263                TAG: function (a) {
3264                    var b = a.replace(ca, da).toLowerCase();
3265                    return "*" === a ? function () {
3266                        return !0
3267                    } : function (a) {
3268                        return a.nodeName && a.nodeName.toLowerCase() === b
3269                    }
3270                }, CLASS: function (a) {
3271                    var b = y[a + " "];
3272                    return b || (b = new RegExp("(^|" + L + ")" + a + "(" + L + "|$)")) && y(a, function (a) {
3273                        return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "")
3274                    })
3275                }, ATTR: function (a, b, c) {
3276                    return function (d) {
3277                        var e = ga.attr(d, a);
3278                        return null == e ? "!=" === b : b ? (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c && 0 === e.indexOf(c) : "*=" === b ? c && e.indexOf(c) > -1 : "$=" === b ? c && e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(Q, " ") + " ").indexOf(c) > -1 : "|=" === b ? e === c || e.slice(0, c.length + 1) === c + "-" : !1) : !0
3279                    }
3280                }, CHILD: function (a, b, c, d, e) {
3281                    var f = "nth" !== a.slice(0, 3), g = "last" !== a.slice(-4), h = "of-type" === b;
3282                    return 1 === d && 0 === e ? function (a) {
3283                        return !!a.parentNode
3284                    } : function (b, c, i) {
3285                        var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling", q = b.parentNode,
3286                            r = h && b.nodeName.toLowerCase(), s = !i && !h;
3287                        if (q) {
3288                            if (f) {
3289                                for (; p;) {
3290                                    for (l = b; l = l[p];) if (h ? l.nodeName.toLowerCase() === r : 1 === l.nodeType) return !1;
3291                                    o = p = "only" === a && !o && "nextSibling"
3292                                }
3293                                return !0
3294                            }
3295                            if (o = [g ? q.firstChild : q.lastChild], g && s) {
3296                                for (k = q[u] || (q[u] = {}), j = k[a] || [], n = j[0] === w && j[1], m = j[0] === w && j[2], l = n && q.childNodes[n]; l = ++n && l && l[p] || (m = n = 0) || o.pop();) if (1 === l.nodeType && ++m && l === b) {
3297                                    k[a] = [w, n, m];
3298                                    break
3299                                }
3300                            } else if (s && (j = (b[u] || (b[u] = {}))[a]) && j[0] === w) m = j[1]; else for (; (l = ++n && l && l[p] || (m = n = 0) || o.pop()) && ((h ? l.nodeName.toLowerCase() !== r : 1 !== l.nodeType) || !++m || (s && ((l[u] || (l[u] = {}))[a] = [w, m]), l !== b));) ;
3301                            return m -= e, m === d || m % d === 0 && m / d >= 0
3302                        }
3303                    }
3304                }, PSEUDO: function (a, b) {
3305                    var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || ga.error("unsupported pseudo: " + a);
3306                    return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ia(function (a, c) {
3307                        for (var d, f = e(a, b), g = f.length; g--;) d = J(a, f[g]), a[d] = !(c[d] = f[g])
3308                    }) : function (a) {
3309                        return e(a, 0, c)
3310                    }) : e
3311                }
3312            },
3313            pseudos: {
3314                not: ia(function (a) {
3315                    var b = [], c = [], d = h(a.replace(R, "$1"));
3316                    return d[u] ? ia(function (a, b, c, e) {
3317                        for (var f, g = d(a, null, e, []), h = a.length; h--;) (f = g[h]) && (a[h] = !(b[h] = f))
3318                    }) : function (a, e, f) {
3319                        return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop()
3320                    }
3321                }), has: ia(function (a) {
3322                    return function (b) {
3323                        return ga(a, b).length > 0
3324                    }
3325                }), contains: ia(function (a) {
3326                    return a = a.replace(ca, da), function (b) {
3327                        return (b.textContent || b.innerText || e(b)).indexOf(a) > -1
3328                    }
3329                }), lang: ia(function (a) {
3330                    return W.test(a || "") || ga.error("unsupported lang: " + a), a = a.replace(ca, da).toLowerCase(), function (b) {
3331                        var c;
3332                        do if (c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType);
3333                        return !1
3334                    }
3335                }), target: function (b) {
3336                    var c = a.location && a.location.hash;
3337                    return c && c.slice(1) === b.id
3338                }, root: function (a) {
3339                    return a === o
3340                }, focus: function (a) {
3341                    return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)
3342                }, enabled: function (a) {
3343                    return a.disabled === !1
3344                }, disabled: function (a) {
3345                    return a.disabled === !0
3346                }, checked: function (a) {
3347                    var b = a.nodeName.toLowerCase();
3348                    return "input" === b && !!a.checked || "option" === b && !!a.selected
3349                }, selected: function (a) {
3350                    return a.parentNode && a.parentNode.selectedIndex, a.selected === !0
3351                }, empty: function (a) {
3352                    for (a = a.firstChild; a; a = a.nextSibling) if (a.nodeType < 6) return !1;
3353                    return !0
3354                }, parent: function (a) {
3355                    return !d.pseudos.empty(a)
3356                }, header: function (a) {
3357                    return Z.test(a.nodeName)
3358                }
vendor: 23,834 bytes, lines 3358-3797
3358, input: function (a) {
3359                    return Y.test(a.nodeName)
3360                }, button: function (a) {
3361                    var b = a.nodeName.toLowerCase();
3362                    return "input" === b && "button" === a.type || "button" === b
3363                }, text: function (a) {
3364                    var b;
3365                    return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase())
3366                }, first: oa(function () {
3367                    return [0]
3368                }), last: oa(function (a, b) {
3369                    return [b - 1]
3370                }), eq: oa(function (a, b, c) {
3371                    return [0 > c ? c + b : c]
3372                }), even: oa(function (a, b) {
3373                    for (var c = 0; b > c; c += 2) a.push(c);
3374                    return a
3375                }), odd: oa(function (a, b) {
3376                    for (var c = 1; b > c; c += 2) a.push(c);
3377                    return a
3378                }), lt: oa(function (a, b, c) {
3379                    for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d);
3380                    return a
3381                }), gt: oa(function (a, b, c) {
3382                    for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d);
3383                    return a
3384                })
3385            }
3386        }, d.pseudos.nth = d.pseudos.eq;
3387        for (b in{radio: !0, checkbox: !0, file: !0, password: !0, image: !0}) d.pseudos[b] = ma(b);
3388        for (b in{submit: !0, reset: !0}) d.pseudos[b] = na(b);
3389        return qa.prototype = d.filters = d.pseudos, d.setFilters = new qa, g = ga.tokenize = function (a, b) {
3390            var c, e, f, g, h, i, j, k = z[a + " "];
3391            if (k) return b ? 0 : k.slice(0);
3392            for (h = a, i = [], j = d.preFilter; h;) {
3393                (!c || (e = S.exec(h))) && (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = T.exec(h)) && (c = e.shift(), f.push({
3394                    value: c,
3395                    type: e[0].replace(R, " ")
3396                }), h = h.slice(c.length));
3397                for (g in d.filter) !(e = X[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({
3398                    value: c,
3399                    type: g,
3400                    matches: e
3401                }), h = h.slice(c.length));
3402                if (!c) break
3403            }
3404            return b ? h.length : h ? ga.error(a) : z(a, i).slice(0)
3405        }, h = ga.compile = function (a, b) {
3406            var c, d = [], e = [], f = A[a + " "];
3407            if (!f) {
3408                for (b || (b = g(a)), c = b.length; c--;) f = xa(b[c]), f[u] ? d.push(f) : e.push(f);
3409                f = A(a, ya(e, d)), f.selector = a
3410            }
3411            return f
3412        }, i = ga.select = function (a, b, e, f) {
3413            var i, j, k, l, m, n = "function" == typeof a && a, o = !f && g(a = n.selector || a);
3414            if (e = e || [], 1 === o.length) {
3415                if (j = o[0] = o[0].slice(0), j.length > 2 && "ID" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) {
3416                    if (b = (d.find.ID(k.matches[0].replace(ca, da), b) || [])[0], !b) return e;
3417                    n && (b = b.parentNode), a = a.slice(j.shift().value.length)
3418                }
3419                for (i = X.needsContext.test(a) ? 0 : j.length; i-- && (k = j[i], !d.relative[l = k.type]);) if ((m = d.find[l]) && (f = m(k.matches[0].replace(ca, da), aa.test(j[0].type) && pa(b.parentNode) || b))) {
3420                    if (j.splice(i, 1), a = f.length && ra(j), !a) return H.apply(e, f), e;
3421                    break
3422                }
3423            }
3424            return (n || h(a, o))(f, b, !p, e, aa.test(a) && pa(b.parentNode) || b), e
3425        }, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ja(function (a) {
3426            return 1 & a.compareDocumentPosition(n.createElement("div"))
3427        }), ja(function (a) {
3428            return a.innerHTML = "<a href='#'></a>", "#" === a.firstChild.getAttribute("href")
3429        }) || ka("type|href|height|width", function (a, b, c) {
3430            return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2)
3431        }), c.attributes && ja(function (a) {
3432            return a.innerHTML = "<input/>", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value")
3433        }) || ka("value", function (a, b, c) {
3434            return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue
3435        }), ja(function (a) {
3436            return null == a.getAttribute("disabled")
3437        }) || ka(K, function (a, b, c) {
3438            var d;
3439            return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null
3440        }), ga
3441    }(a);
3442    n.find = t, n.expr = t.selectors, n.expr[":"] = n.expr.pseudos, n.unique = t.uniqueSort, n.text = t.getText, n.isXMLDoc = t.isXML, n.contains = t.contains;
3443    var u = n.expr.match.needsContext, v = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, w = /^.[^:#\[\.,]*$/;
3444    n.filter = function (a, b, c) {
3445        var d = b[0];
3446        return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] : n.find.matches(a, n.grep(b, function (a) {
3447            return 1 === a.nodeType
3448        }))
3449    }, n.fn.extend({
3450        find: function (a) {
3451            var b, c = this.length, d = [], e = this;
3452            if ("string" != typeof a) return this.pushStack(n(a).filter(function () {
3453                for (b = 0; c > b; b++) if (n.contains(e[b], this)) return !0
3454            }));
3455            for (b = 0; c > b; b++) n.find(a, e[b], d);
3456            return d = this.pushStack(c > 1 ? n.unique(d) : d), d.selector = this.selector ? this.selector + " " + a : a, d
3457        }, filter: function (a) {
3458            return this.pushStack(x(this, a || [], !1))
3459        }, not: function (a) {
3460            return this.pushStack(x(this, a || [], !0))
3461        }, is: function (a) {
3462            return !!x(this, "string" == typeof a && u.test(a) ? n(a) : a || [], !1).length
3463        }
3464    });
3465    var y, z = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, A = n.fn.init = function (a, b) {
3466        var c, d;
3467        if (!a) return this;
3468        if ("string" == typeof a) {
3469            if (c = "<" === a[0] && ">" === a[a.length - 1] && a.length >= 3 ? [null, a, null] : z.exec(a), !c || !c[1] && b) return !b || b.jquery ? (b || y).find(a) : this.constructor(b).find(a);
3470            if (c[1]) {
3471                if (b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(c[1], b && b.nodeType ? b.ownerDocument || b : l, !0)), v.test(c[1]) && n.isPlainObject(b)) for (c in b) n.isFunction(this[c]) ? this[c](b[c]) : this.attr(c, b[c]);
3472                return this
3473            }
3474            return d = l.getElementById(c[2]), d && d.parentNode && (this.length = 1, this[0] = d), this.context = l, this.selector = a, this
3475        }
3476        return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? "undefined" != typeof y.ready ? y.ready(a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this))
3477    };
3478    A.prototype = n.fn, y = n(l);
3479    var B = /^(?:parents|prev(?:Until|All))/, C = {children: !0, contents: !0, next: !0, prev: !0};
3480    n.extend({
3481        dir: function (a, b, c) {
3482            for (var d = [], e = void 0 !== c; (a = a[b]) && 9 !== a.nodeType;) if (1 === a.nodeType) {
3483                if (e && n(a).is(c)) break;
3484                d.push(a)
3485            }
3486            return d
3487        }, sibling: function (a, b) {
3488            for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);
3489            return c
3490        }
3491    }), n.fn.extend({
3492        has: function (a) {
3493            var b = n(a, this), c = b.length;
3494            return this.filter(function () {
3495                for (var a = 0; c > a; a++) if (n.contains(this, b[a])) return !0
3496            })
3497        }, closest: function (a, b) {
3498            for (var c, d = 0, e = this.length, f = [], g = u.test(a) || "string" != typeof a ? n(a, b || this.context) : 0; e > d; d++) for (c = this[d]; c && c !== b; c = c.parentNode) if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && n.find.matchesSelector(c, a))) {
3499                f.push(c);
3500                break
3501            }
3502            return this.pushStack(f.length > 1 ? n.unique(f) : f)
3503        }, index: function (a) {
3504            return a ? "string" == typeof a ? g.call(n(a), this[0]) : g.call(this, a.jquery ? a[0] : a) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
3505        }, add: function (a, b) {
3506            return this.pushStack(n.unique(n.merge(this.get(), n(a, b))))
3507        }, addBack: function (a) {
3508            return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
3509        }
3510    }), n.each({
3511        parent: function (a) {
3512            var b = a.parentNode;
3513            return b && 11 !== b.nodeType ? b : null
3514        }, parents: function (a) {
3515            return n.dir(a, "parentNode")
3516        }, parentsUntil: function (a, b, c) {
3517            return n.dir(a, "parentNode", c)
3518        }, next: function (a) {
3519            return D(a, "nextSibling")
3520        }, prev: function (a) {
3521            return D(a, "previousSibling")
3522        }, nextAll: function (a) {
3523            return n.dir(a, "nextSibling")
3524        }, prevAll: function (a) {
3525            return n.dir(a, "previousSibling")
3526        }, nextUntil: function (a, b, c) {
3527            return n.dir(a, "nextSibling", c)
3528        }, prevUntil: function (a, b, c) {
3529            return n.dir(a, "previousSibling", c)
3530        }, siblings: function (a) {
3531            return n.sibling((a.parentNode || {}).firstChild, a)
3532        }, children: function (a) {
3533            return n.sibling(a.firstChild)
3534        }, contents: function (a) {
3535            return a.contentDocument || n.merge([], a.childNodes)
3536        }
3537    }, function (a, b) {
3538        n.fn[a] = function (c, d) {
3539            var e = n.map(this, b, c);
3540            return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = n.filter(d, e)), this.length > 1 && (C[a] || n.unique(e), B.test(a) && e.reverse()), this.pushStack(e)
3541        }
3542    });
3543    var E = /\S+/g, F = {};
3544    n.Callbacks = function (a) {
3545        a = "string" == typeof a ? F[a] || G(a) : n.extend({}, a);
3546        var b, c, d, e, f, g, h = [], i = !a.once && [], j = function (l) {
3547            for (b = a.memory && l, c = !0, g = e || 0, e = 0, f = h.length, d = !0; h && f > g; g++) if (h[g].apply(l[0], l[1]) === !1 && a.stopOnFalse) {
3548                b = !1;
3549                break
3550            }
3551            d = !1, h && (i ? i.length && j(i.shift()) : b ? h = [] : k.disable())
3552        }, k = {
3553            add: function () {
3554                if (h) {
3555                    var c = h.length;
3556                    !function g(b) {
3557                        n.each(b, function (b, c) {
3558                            var d = n.type(c);
3559                            "function" === d ? a.unique && k.has(c) || h.push(c) : c && c.length && "string" !== d && g(c)
3560                        })
3561                    }(arguments), d ? f = h.length : b && (e = c, j(b))
3562                }
3563                return this
3564            }, remove: function () {
3565                return h && n.each(arguments, function (a, b) {
3566                    for (var c; (c = n.inArray(b, h, c)) > -1;) h.splice(c, 1), d && (f >= c && f--, g >= c && g--)
3567                }), this
3568            }, has: function (a) {
3569                return a ? n.inArray(a, h) > -1 : !(!h || !h.length)
3570            }, empty: function () {
3571                return h = [], f = 0, this
3572            }, disable: function () {
3573                return h = i = b = void 0, this
3574            }, disabled: function () {
3575                return !h
3576            }, lock: function () {
3577                return i = void 0, b || k.disable(), this
3578            }, locked: function () {
3579                return !i
3580            }, fireWith: function (a, b) {
3581                return !h || c && !i || (b = b || [], b = [a, b.slice ? b.slice() : b], d ? i.push(b) : j(b)), this
3582            }, fire: function () {
3583                return k.fireWith(this, arguments), this
3584            }, fired: function () {
3585                return !!c
3586            }
3587        };
3588        return k
3589    }, n.extend({
3590        Deferred: function (a) {
3591            var b = [["resolve", "done", n.Callbacks("once memory"), "resolved"], ["reject", "fail", n.Callbacks("once memory"), "rejected"], ["notify", "progress", n.Callbacks("memory")]],
3592                c = "pending", d = {
3593                    state: function () {
3594                        return c
3595                    }, always: function () {
3596                        return e.done(arguments).fail(arguments), this
3597                    }, then: function () {
3598                        var a = arguments;
3599                        return n.Deferred(function (c) {
3600                            n.each(b, function (b, f) {
3601                                var g = n.isFunction(a[b]) && a[b];
3602                                e[f[1]](function () {
3603                                    var a = g && g.apply(this, arguments);
3604                                    a && n.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments)
3605                                })
3606                            }), a = null
3607                        }).promise()
3608                    }, promise: function (a) {
3609                        return null != a ? n.extend(a, d) : d
3610                    }
3611                }, e = {};
3612            return d.pipe = d.then, n.each(b, function (a, f) {
3613                var g = f[2], h = f[3];
3614                d[f[1]] = g.add, h && g.add(function () {
3615                    c = h
3616                }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function () {
3617                    return e[f[0] + "With"](this === e ? d : this, arguments), this
3618                }, e[f[0] + "With"] = g.fireWith
3619            }), d.promise(e), a && a.call(e, e), e
3620        }, when: function (a) {
3621            var i, j, k, b = 0, c = d.call(arguments), e = c.length,
3622                f = 1 !== e || a && n.isFunction(a.promise) ? e : 0, g = 1 === f ? a : n.Deferred(),
3623                h = function (a, b, c) {
3624                    return function (e) {
3625                        b[a] = this, c[a] = arguments.length > 1 ? d.call(arguments) : e, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c)
3626                    }
3627                };
3628            if (e > 1) for (i = new Array(e), j = new Array(e), k = new Array(e); e > b; b++) c[b] && n.isFunction(c[b].promise) ? c[b].promise().done(h(b, k, c)).fail(g.reject).progress(h(b, j, i)) : --f;
3629            return f || g.resolveWith(k, c), g.promise()
3630        }
3631    });
3632    var H;
3633    n.fn.ready = function (a) {
3634        return n.ready.promise().done(a), this
3635    }, n.extend({
3636        isReady: !1, readyWait: 1, holdReady: function (a) {
3637            a ? n.readyWait++ : n.ready(!0)
3638        }, ready: function (a) {
3639            (a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (H.resolveWith(l, [n]), n.fn.triggerHandler && (n(l).triggerHandler("ready"), n(l).off("ready"))))
3640        }
3641    }), n.ready.promise = function (b) {
3642        return H || (H = n.Deferred(), "complete" === l.readyState ? setTimeout(n.ready) : (l.addEventListener("DOMContentLoaded", I, !1), a.addEventListener("load", I, !1))), H.promise(b)
3643    }, n.ready.promise();
3644    var J = n.access = function (a, b, c, d, e, f, g) {
3645        var h = 0, i = a.length, j = null == c;
3646        if ("object" === n.type(c)) {
3647            e = !0;
3648            for (h in c) n.access(a, b, h, c[h], !0, f, g)
3649        } else if (void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function (a, b, c) {
3650            return j.call(n(a), c)
3651        })), b)) for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c)));
3652        return e ? a : j ? b.call(a) : i ? b(a[0], c) : f
3653    };
3654    n.acceptData = function (a) {
3655        return 1 === a.nodeType || 9 === a.nodeType || !+a.nodeType
3656    }, K.uid = 1, K.accepts = n.acceptData, K.prototype = {
3657        key: function (a) {
3658            if (!K.accepts(a)) return 0;
3659            var b = {}, c = a[this.expando];
3660            if (!c) {
3661                c = K.uid++;
3662                try {
3663                    b[this.expando] = {value: c}, Object.defineProperties(a, b)
3664                } catch (d) {
3665                    b[this.expando] = c, n.extend(a, b)
3666                }
3667            }
3668            return this.cache[c] || (this.cache[c] = {}), c
3669        }, set: function (a, b, c) {
3670            var d, e = this.key(a), f = this.cache[e];
3671            if ("string" == typeof b) f[b] = c; else if (n.isEmptyObject(f)) n.extend(this.cache[e], b); else for (d in b) f[d] = b[d];
3672            return f
3673        }, get: function (a, b) {
3674            var c = this.cache[this.key(a)];
3675            return void 0 === b ? c : c[b]
3676        }, access: function (a, b, c) {
3677            var d;
3678            return void 0 === b || b && "string" == typeof b && void 0 === c ? (d = this.get(a, b), void 0 !== d ? d : this.get(a, n.camelCase(b))) : (this.set(a, b, c), void 0 !== c ? c : b)
3679        }, remove: function (a, b) {
3680            var c, d, e, f = this.key(a), g = this.cache[f];
3681            if (void 0 === b) this.cache[f] = {}; else {
3682                n.isArray(b) ? d = b.concat(b.map(n.camelCase)) : (e = n.camelCase(b), b in g ? d = [b, e] : (d = e, d = d in g ? [d] : d.match(E) || [])), c = d.length;
3683                for (; c--;) delete g[d[c]]
3684            }
3685        }, hasData: function (a) {
3686            return !n.isEmptyObject(this.cache[a[this.expando]] || {})
3687        }, discard: function (a) {
3688            a[this.expando] && delete this.cache[a[this.expando]]
3689        }
3690    };
3691    var L = new K, M = new K, N = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, O = /([A-Z])/g;
3692    n.extend({
3693        hasData: function (a) {
3694            return M.hasData(a) || L.hasData(a)
3695        }, data: function (a, b, c) {
3696            return M.access(a, b, c)
3697        }, removeData: function (a, b) {
3698            M.remove(a, b)
3699        }, _data: function (a, b, c) {
3700            return L.access(a, b, c)
3701        }, _removeData: function (a, b) {
3702            L.remove(a, b)
3703        }
3704    }), n.fn.extend({
3705        data: function (a, b) {
3706            var c, d, e, f = this[0], g = f && f.attributes;
3707            if (void 0 === a) {
3708                if (this.length && (e = M.get(f), 1 === f.nodeType && !L.get(f, "hasDataAttrs"))) {
3709                    for (c = g.length; c--;) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = n.camelCase(d.slice(5)), P(f, d, e[d])));
3710                    L.set(f, "hasDataAttrs", !0)
3711                }
3712                return e
3713            }
3714            return "object" == typeof a ? this.each(function () {
3715                M.set(this, a)
3716            }) : J(this, function (b) {
3717                var c, d = n.camelCase(a);
3718                if (f && void 0 === b) {
3719                    if (c = M.get(f, a), void 0 !== c) return c;
3720                    if (c = M.get(f, d), void 0 !== c) return c;
3721                    if (c = P(f, d, void 0), void 0 !== c) return c
3722                } else this.each(function () {
3723                    var c = M.get(this, d);
3724                    M.set(this, d, b), -1 !== a.indexOf("-") && void 0 !== c && M.set(this, a, b)
3725                })
3726            }, null, b, arguments.length > 1, null, !0)
3727        }, removeData: function (a) {
3728            return this.each(function () {
3729                M.remove(this, a)
3730            })
3731        }
3732    }), n.extend({
3733        queue: function (a, b, c) {
3734            var d;
3735            return a ? (b = (b || "fx") + "queue", d = L.get(a, b), c && (!d || n.isArray(c) ? d = L.access(a, b, n.makeArray(c)) : d.push(c)), d || []) : void 0
3736        }, dequeue: function (a, b) {
3737            b = b || "fx";
3738            var c = n.queue(a, b), d = c.length, e = c.shift(), f = n._queueHooks(a, b), g = function () {
3739                n.dequeue(a, b)
3740            };
3741            "inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()
3742        }, _queueHooks: function (a, b) {
3743            var c = b + "queueHooks";
3744            return L.get(a, c) || L.access(a, c, {
3745                empty: n.Callbacks("once memory").add(function () {
3746                    L.remove(a, [b + "queue", c])
3747                })
3748            })
3749        }
3750    }), n.fn.extend({
3751        queue: function (a, b) {
3752            var c = 2;
3753            return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? n.queue(this[0], a) : void 0 === b ? this : this.each(function () {
3754                var c = n.queue(this, a, b);
3755                n._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && n.dequeue(this, a)
3756            })
3757        }, dequeue: function (a) {
3758            return this.each(function () {
3759                n.dequeue(this, a)
3760            })
3761        }, clearQueue: function (a) {
3762            return this.queue(a || "fx", [])
3763        }, promise: function (a, b) {
3764            var c, d = 1, e = n.Deferred(), f = this, g = this.length, h = function () {
3765                --d || e.resolveWith(f, [f])
3766            };
3767            for ("string" != typeof a && (b = a, a = void 0), a = a || "fx"; g--;) c = L.get(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h));
3768            return h(), e.promise(b)
3769        }
3770    });
3771    var Q = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, R = ["Top", "Right", "Bottom", "Left"], S = function (a, b) {
3772        return a = b || a, "none" === n.css(a, "display") || !n.contains(a.ownerDocument, a)
3773    }, T = /^(?:checkbox|radio)$/i;
3774    !function () {
3775        var a = l.createDocumentFragment(), b = a.appendChild(l.createElement("div")), c = l.createElement("input");
3776        c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), b.appendChild(c), k.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, b.innerHTML = "<textarea>x</textarea>", k.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue
3777    }();
3778    var U = "undefined";
3779    k.focusinBubbles = "onfocusin" in a;
3780    var V = /^key/, W = /^(?:mouse|pointer|contextmenu)|click/, X = /^(?:focusinfocus|focusoutblur)$/,
3781        Y = /^([^.]*)(?:\.(.+)|)$/;
3782    n.event = {
3783        global: {},
3784        add: function (a, b, c, d, e) {
3785            var f, g, h, i, j, k, l, m, o, p, q, r = L.get(a);
3786            if (r) for (c.handler && (f = c, c = f.handler, e = f.selector), c.guid || (c.guid = n.guid++), (i = r.events) || (i = r.events = {}), (g = r.handle) || (g = r.handle = function (b) {
3787                return typeof n !== U && n.event.triggered !== b.type ? n.event.dispatch.apply(a, arguments) : void 0
3788            }), b = (b || "").match(E) || [""], j = b.length; j--;) h = Y.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o && (l = n.event.special[o] || {}, o = (e ? l.delegateType : l.bindType) || o, l = n.event.special[o] || {}, k = n.extend({
3789                type: o,
3790                origType: q,
3791                data: d,
3792                handler: c,
3793                guid: c.guid,
3794                selector: e,
3795                needsContext: e && n.expr.match.needsContext.test(e),
3796                namespace: p.join(".")
3797            }, f), (m = i[o]) || (m = i[o] = [], m.delegateCount = 0, l.setup && l.setup.call(a, d, p, g) !== !1 || a.addEventListener && a.addEventListener(o, g, !1)), l.add && (l.add.call(a, 
vendor: 4,691 bytes, lines 3797-3840
3797k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, k) : m.push(k), n.event.global[o] = !0)
3798        },
3799        remove: function (a, b, c, d, e) {
3800            var f, g, h, i, j, k, l, m, o, p, q, r = L.hasData(a) && L.get(a);
3801            if (r && (i = r.events)) {
3802                for (b = (b || "").match(E) || [""], j = b.length; j--;) if (h = Y.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) {
3803                    for (l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = i[o] || [], h = h[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), g = f = m.length; f--;) k = m[f], !e && q !== k.origType || c && c.guid !== k.guid || h && !h.test(k.namespace) || d && d !== k.selector && ("**" !== d || !k.selector) || (m.splice(f, 1), k.selector && m.delegateCount--, l.remove && l.remove.call(a, k));
3804                    g && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle), delete i[o])
3805                } else for (o in i) n.event.remove(a, o + b[j], c, d, !0);
3806                n.isEmptyObject(i) && (delete r.handle, L.remove(a, "events"))
3807            }
3808        },
3809        trigger: function (b, c, d, e) {
3810            var f, g, h, i, k, m, o, p = [d || l], q = j.call(b, "type") ? b.type : b,
3811                r = j.call(b, "namespace") ? b.namespace.split(".") : [];
3812            if (g = h = d = d || l, 3 !== d.nodeType && 8 !== d.nodeType && !X.test(q + n.event.triggered) && (q.indexOf(".") >= 0 && (r = q.split("."), q = r.shift(), r.sort()), k = q.indexOf(":") < 0 && "on" + q, b = b[n.expando] ? b : new n.Event(q, "object" == typeof b && b), b.isTrigger = e ? 2 : 3, b.namespace = r.join("."), b.namespace_re = b.namespace ? new RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = d), c = null == c ? [b] : n.makeArray(c, [b]), o = n.event.special[q] || {}, e || !o.trigger || o.trigger.apply(d, c) !== !1)) {
3813                if (!e && !o.noBubble && !n.isWindow(d)) {
3814                    for (i = o.delegateType || q, X.test(i + q) || (g = g.parentNode); g; g = g.parentNode) p.push(g), h = g;
3815                    h === (d.ownerDocument || l) && p.push(h.defaultView || h.parentWindow || a)
3816                }
3817                for (f = 0; (g = p[f++]) && !b.isPropagationStopped();) b.type = f > 1 ? i : o.bindType || q, m = (L.get(g, "events") || {})[b.type] && L.get(g, "handle"), m && m.apply(g, c), m = k && g[k], m && m.apply && n.acceptData(g) && (b.result = m.apply(g, c), b.result === !1 && b.preventDefault());
3818                return b.type = q, e || b.isDefaultPrevented() || o._default && o._default.apply(p.pop(), c) !== !1 || !n.acceptData(d) || k && n.isFunction(d[q]) && !n.isWindow(d) && (h = d[k], h && (d[k] = null), n.event.triggered = q, d[q](), n.event.triggered = void 0, h && (d[k] = h)), b.result
3819            }
3820        },
3821        dispatch: function (a) {
3822            a = n.event.fix(a);
3823            var b, c, e, f, g, h = [], i = d.call(arguments), j = (L.get(this, "events") || {})[a.type] || [],
3824                k = n.event.special[a.type] || {};
3825            if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) {
3826                for (h = n.event.handlers.call(this, a, j), b = 0; (f = h[b++]) && !a.isPropagationStopped();) for (a.currentTarget = f.elem, c = 0; (g = f.handlers[c++]) && !a.isImmediatePropagationStopped();) (!a.namespace_re || a.namespace_re.test(g.namespace)) && (a.handleObj = g, a.data = g.data, e = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== e && (a.result = e) === !1 && (a.preventDefault(), a.stopPropagation()));
3827                return k.postDispatch && k.postDispatch.call(this, a), a.result
3828            }
3829        },
3830        handlers: function (a, b) {
3831            var c, d, e, f, g = [], h = b.delegateCount, i = a.target;
3832            if (h && i.nodeType && (!a.button || "click" !== a.type)) for (; i !== this; i = i.parentNode || this) if (i.disabled !== !0 || "click" !== a.type) {
3833                for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? n(e, this).index(i) >= 0 : n.find(e, this, null, [i]).length), d[e] && d.push(f);
3834                d.length && g.push({elem: i, handlers: d})
3835            }
3836            return h < b.length && g.push({elem: this, handlers: b.slice(h)}), g
3837        },
3838        props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
3839        fixHooks: {},
3840        keyHooks: {
vendor: 12,274 bytes, lines 3841-4052
3841            props: "char charCode key keyCode".split(" "), filter: function (a, b) {
3842                return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a
3843            }
3844        },
3845        mouseHooks: {
3846            props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
3847            filter: function (a, b) {
3848                var c, d, e, f = b.button;
3849                return null == a.pageX && null != b.clientX && (c = a.target.ownerDocument || l, d = c.documentElement, e = c.body, a.pageX = b.clientX + (d && d.scrollLeft || e && e.scrollLeft || 0) - (d && d.clientLeft || e && e.clientLeft || 0), a.pageY = b.clientY + (d && d.scrollTop || e && e.scrollTop || 0) - (d && d.clientTop || e && e.clientTop || 0)), a.which || void 0 === f || (a.which = 1 & f ? 1 : 2 & f ? 3 : 4 & f ? 2 : 0), a
3850            }
3851        },
3852        fix: function (a) {
3853            if (a[n.expando]) return a;
3854            var b, c, d, e = a.type, f = a, g = this.fixHooks[e];
3855            for (g || (this.fixHooks[e] = g = W.test(e) ? this.mouseHooks : V.test(e) ? this.keyHooks : {}), d = g.props ? this.props.concat(g.props) : this.props, a = new n.Event(f), b = d.length; b--;) c = d[b], a[c] = f[c];
3856            return a.target || (a.target = l), 3 === a.target.nodeType && (a.target = a.target.parentNode), g.filter ? g.filter(a, f) : a
3857        },
3858        special: {
3859            load: {noBubble: !0}, focus: {
3860                trigger: function () {
3861                    return this !== _() && this.focus ? (this.focus(), !1) : void 0
3862                }, delegateType: "focusin"
3863            }, blur: {
3864                trigger: function () {
3865                    return this === _() && this.blur ? (this.blur(), !1) : void 0
3866                }, delegateType: "focusout"
3867            }, click: {
3868                trigger: function () {
3869                    return "checkbox" === this.type && this.click && n.nodeName(this, "input") ? (this.click(), !1) : void 0
3870                }, _default: function (a) {
3871                    return n.nodeName(a.target, "a")
3872                }
3873            }, beforeunload: {
3874                postDispatch: function (a) {
3875                    void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result)
3876                }
3877            }
3878        },
3879        simulate: function (a, b, c, d) {
3880            var e = n.extend(new n.Event, c, {type: a, isSimulated: !0, originalEvent: {}});
3881            d ? n.event.trigger(e, null, b) : n.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault()
3882        }
3883    }, n.removeEvent = function (a, b, c) {
3884        a.removeEventListener && a.removeEventListener(b, c, !1)
3885    }, n.Event = function (a, b) {
3886        return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? Z : $) : this.type = a, b && n.extend(this, b), this.timeStamp = a && a.timeStamp || n.now(), void (this[n.expando] = !0)) : new n.Event(a, b)
3887    }, n.Event.prototype = {
3888        isDefaultPrevented: $,
3889        isPropagationStopped: $,
3890        isImmediatePropagationStopped: $,
3891        preventDefault: function () {
3892            var a = this.originalEvent;
3893            this.isDefaultPrevented = Z, a && a.preventDefault && a.preventDefault()
3894        },
3895        stopPropagation: function () {
3896            var a = this.originalEvent;
3897            this.isPropagationStopped = Z, a && a.stopPropagation && a.stopPropagation()
3898        },
3899        stopImmediatePropagation: function () {
3900            var a = this.originalEvent;
3901            this.isImmediatePropagationStopped = Z, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation()
3902        }
3903    }, n.each({
3904        mouseenter: "mouseover",
3905        mouseleave: "mouseout",
3906        pointerenter: "pointerover",
3907        pointerleave: "pointerout"
3908    }, function (a, b) {
3909        n.event.special[a] = {
3910            delegateType: b, bindType: b, handle: function (a) {
3911                var c, d = this, e = a.relatedTarget, f = a.handleObj;
3912                return (!e || e !== d && !n.contains(d, e)) && (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c
3913            }
3914        }
3915    }), k.focusinBubbles || n.each({focus: "focusin", blur: "focusout"}, function (a, b) {
3916        var c = function (a) {
3917            n.event.simulate(b, a.target, n.event.fix(a), !0)
3918        };
3919        n.event.special[b] = {
3920            setup: function () {
3921                var d = this.ownerDocument || this, e = L.access(d, b);
3922                e || d.addEventListener(a, c, !0), L.access(d, b, (e || 0) + 1)
3923            }, teardown: function () {
3924                var d = this.ownerDocument || this, e = L.access(d, b) - 1;
3925                e ? L.access(d, b, e) : (d.removeEventListener(a, c, !0), L.remove(d, b))
3926            }
3927        }
3928    }), n.fn.extend({
3929        on: function (a, b, c, d, e) {
3930            var f, g;
3931            if ("object" == typeof a) {
3932                "string" != typeof b && (c = c || b, b = void 0);
3933                for (g in a) this.on(g, b, c, a[g], e);
3934                return this
3935            }
3936            if (null == c && null == d ? (d = b, c = b = void 0) : null == d && ("string" == typeof b ? (d = c, c = void 0) : (d = c, c = b, b = void 0)), d === !1) d = $; else if (!d) return this;
3937            return 1 === e && (f = d, d = function (a) {
3938                return n().off(a), f.apply(this, arguments)
3939            }, d.guid = f.guid || (f.guid = n.guid++)), this.each(function () {
3940                n.event.add(this, a, d, c, b)
3941            })
3942        }, one: function (a, b, c, d) {
3943            return this.on(a, b, c, d, 1)
3944        }, off: function (a, b, c) {
3945            var d, e;
3946            if (a && a.preventDefault && a.handleObj) return d = a.handleObj, n(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this;
3947            if ("object" == typeof a) {
3948                for (e in a) this.off(e, b, a[e]);
3949                return this
3950            }
3951            return (b === !1 || "function" == typeof b) && (c = b, b = void 0), c === !1 && (c = $), this.each(function () {
3952                n.event.remove(this, a, c, b)
3953            })
3954        }, trigger: function (a, b) {
3955            return this.each(function () {
3956                n.event.trigger(a, b, this)
3957            })
3958        }, triggerHandler: function (a, b) {
3959            var c = this[0];
3960            return c ? n.event.trigger(a, b, c, !0) : void 0
3961        }
3962    });
3963    var aa = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, ba = /<([\w:]+)/,
3964        ca = /<|&#?\w+;/, da = /<(?:script|style|link)/i, ea = /checked\s*(?:[^=]|=\s*.checked.)/i,
3965        fa = /^$|\/(?:java|ecma)script/i, ga = /^true\/(.*)/, ha = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, ia = {
3966            option: [1, "<select multiple='multiple'>", "</select>"],
3967            thead: [1, "<table>", "</table>"],
3968            col: [2, "<table><colgroup>", "</colgroup></table>"],
3969            tr: [2, "<table><tbody>", "</tbody></table>"],
3970            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
3971            _default: [0, "", ""]
3972        };
3973    ia.optgroup = ia.option, ia.tbody = ia.tfoot = ia.colgroup = ia.caption = ia.thead, ia.th = ia.td, n.extend({
3974        clone: function (a, b, c) {
3975            var d, e, f, g, h = a.cloneNode(!0), i = n.contains(a.ownerDocument, a);
3976            if (!(k.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || n.isXMLDoc(a))) for (g = oa(h), f = oa(a), d = 0, e = f.length; e > d; d++) pa(f[d], g[d]);
3977            if (b) if (c) for (f = f || oa(a), g = g || oa(h), d = 0, e = f.length; e > d; d++) na(f[d], g[d]); else na(a, h);
3978            return g = oa(h, "script"), g.length > 0 && ma(g, !i && oa(a, "script")), h
3979        }, buildFragment: function (a, b, c, d) {
3980            for (var e, f, g, h, i, j, k = b.createDocumentFragment(), l = [], m = 0, o = a.length; o > m; m++) if (e = a[m], e || 0 === e) if ("object" === n.type(e)) n.merge(l, e.nodeType ? [e] : e); else if (ca.test(e)) {
3981                for (f = f || k.appendChild(b.createElement("div")), g = (ba.exec(e) || ["", ""])[1].toLowerCase(), h = ia[g] || ia._default, f.innerHTML = h[1] + e.replace(aa, "<$1></$2>") + h[2], j = h[0]; j--;) f = f.lastChild;
3982                n.merge(l, f.childNodes), f = k.firstChild, f.textContent = ""
3983            } else l.push(b.createTextNode(e));
3984            for (k.textContent = "", m = 0; e = l[m++];) if ((!d || -1 === n.inArray(e, d)) && (i = n.contains(e.ownerDocument, e), f = oa(k.appendChild(e), "script"), i && ma(f), c)) for (j = 0; e = f[j++];) fa.test(e.type || "") && c.push(e);
3985            return k
3986        }, cleanData: function (a) {
3987            for (var b, c, d, e, f = n.event.special, g = 0; void 0 !== (c = a[g]); g++) {
3988                if (n.acceptData(c) && (e = c[L.expando], e && (b = L.cache[e]))) {
3989                    if (b.events) for (d in b.events) f[d] ? n.event.remove(c, d) : n.removeEvent(c, d, b.handle);
3990                    L.cache[e] && delete L.cache[e]
3991                }
3992                delete M.cache[c[M.expando]]
3993            }
3994        }
3995    }), n.fn.extend({
3996        text: function (a) {
3997            return J(this, function (a) {
3998                return void 0 === a ? n.text(this) : this.empty().each(function () {
3999                    (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = a)
4000                })
4001            }, null, a, arguments.length)
4002        }, append: function () {
4003            return this.domManip(arguments, function (a) {
4004                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
4005                    var b = ja(this, a);
4006                    b.appendChild(a)
4007                }
4008            })
4009        }, prepend: function () {
4010            return this.domManip(arguments, function (a) {
4011                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
4012                    var b = ja(this, a);
4013                    b.insertBefore(a, b.firstChild)
4014                }
4015            })
4016        }, before: function () {
4017            return this.domManip(arguments, function (a) {
4018                this.parentNode && this.parentNode.insertBefore(a, this)
4019            })
4020        }, after: function () {
4021            return this.domManip(arguments, function (a) {
4022                this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)
4023            })
4024        }, remove: function (a, b) {
4025            for (var c, d = a ? n.filter(a, this) : this, e = 0; null != (c = d[e]); e++) b || 1 !== c.nodeType || n.cleanData(oa(c)), c.parentNode && (b && n.contains(c.ownerDocument, c) && ma(oa(c, "script")), c.parentNode.removeChild(c));
4026            return this
4027        }, empty: function () {
4028            for (var a, b = 0; null != (a = this[b]); b++) 1 === a.nodeType && (n.cleanData(oa(a, !1)), a.textContent = "");
4029            return this
4030        }, clone: function (a, b) {
4031            return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function () {
4032                return n.clone(this, a, b)
4033            })
4034        }, html: function (a) {
4035            return J(this, function (a) {
4036                var b = this[0] || {}, c = 0, d = this.length;
4037                if (void 0 === a && 1 === b.nodeType) return b.innerHTML;
4038                if ("string" == typeof a && !da.test(a) && !ia[(ba.exec(a) || ["", ""])[1].toLowerCase()]) {
4039                    a = a.replace(aa, "<$1></$2>");
4040                    try {
4041                        for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (n.cleanData(oa(b, !1)), b.innerHTML = a);
4042                        b = 0
4043                    } catch (e) {
4044                    }
4045                }
4046                b && this.empty().append(a)
4047            }, null, a, arguments.length)
4048        }, replaceWith: function () {
4049            var a = arguments[0];
4050            return this.domManip(arguments, function (b) {
4051                a = this.parentNode, n.cleanData(oa(this)), a && a.replaceChild(b, this);
4052            }
vendor: 8,996 bytes, lines 4052-4206
4052), a && (a.length || a.nodeType) ? this : this.remove()
4053        }, detach: function (a) {
4054            return this.remove(a, !0)
4055        }, domManip: function (a, b) {
4056            a = e.apply([], a);
4057            var c, d, f, g, h, i, j = 0, l = this.length, m = this, o = l - 1, p = a[0], q = n.isFunction(p);
4058            if (q || l > 1 && "string" == typeof p && !k.checkClone && ea.test(p)) return this.each(function (c) {
4059                var d = m.eq(c);
4060                q && (a[0] = p.call(this, c, d.html())), d.domManip(a, b)
4061            });
4062            if (l && (c = n.buildFragment(a, this[0].ownerDocument, !1, this), d = c.firstChild, 1 === c.childNodes.length && (c = d), d)) {
4063                for (f = n.map(oa(c, "script"), ka), g = f.length; l > j; j++) h = c, j !== o && (h = n.clone(h, !0, !0), g && n.merge(f, oa(h, "script"))), b.call(this[j], h, j);
4064                if (g) for (i = f[f.length - 1].ownerDocument, n.map(f, la), j = 0; g > j; j++) h = f[j], fa.test(h.type || "") && !L.access(h, "globalEval") && n.contains(i, h) && (h.src ? n._evalUrl && n._evalUrl(h.src) : n.globalEval(h.textContent.replace(ha, "")))
4065            }
4066            return this
4067        }
4068    }), n.each({
4069        appendTo: "append",
4070        prependTo: "prepend",
4071        insertBefore: "before",
4072        insertAfter: "after",
4073        replaceAll: "replaceWith"
4074    }, function (a, b) {
4075        n.fn[a] = function (a) {
4076            for (var c, d = [], e = n(a), g = e.length - 1, h = 0; g >= h; h++) c = h === g ? this : this.clone(!0), n(e[h])[b](c), f.apply(d, c.get());
4077            return this.pushStack(d)
4078        }
4079    });
4080    var qa, ra = {}, ua = /^margin/, va = new RegExp("^(" + Q + ")(?!px)[a-z%]+$", "i"), wa = function (b) {
4081        return b.ownerDocument.defaultView.opener ? b.ownerDocument.defaultView.getComputedStyle(b, null) : a.getComputedStyle(b, null)
4082    };
4083    !function () {
4084        function g() {
4085            f.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", f.innerHTML = "", d.appendChild(e);
4086            var g = a.getComputedStyle(f, null);
4087            b = "1%" !== g.top, c = "4px" === g.width, d.removeChild(e)
4088        }
4089
4090        var b, c, d = l.documentElement, e = l.createElement("div"), f = l.createElement("div");
4091        f.style && (f.style.backgroundClip = "content-box", f.cloneNode(!0).style.backgroundClip = "", k.clearCloneStyle = "content-box" === f.style.backgroundClip, e.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", e.appendChild(f), a.getComputedStyle && n.extend(k, {
4092            pixelPosition: function () {
4093                return g(), b
4094            }, boxSizingReliable: function () {
4095                return null == c && g(), c
4096            }, reliableMarginRight: function () {
4097                var b, c = f.appendChild(l.createElement("div"));
4098                return c.style.cssText = f.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", c.style.marginRight = c.style.width = "0", f.style.width = "1px", d.appendChild(e), b = !parseFloat(a.getComputedStyle(c, null).marginRight), d.removeChild(e), f.removeChild(c), b
4099            }
4100        }))
4101    }(), n.swap = function (a, b, c, d) {
4102        var e, f, g = {};
4103        for (f in b) g[f] = a.style[f], a.style[f] = b[f];
4104        e = c.apply(a, d || []);
4105        for (f in b) a.style[f] = g[f];
4106        return e
4107    };
4108    var za = /^(none|table(?!-c[ea]).+)/, Aa = new RegExp("^(" + Q + ")(.*)$", "i"),
4109        Ba = new RegExp("^([+-])=(" + Q + ")", "i"),
4110        Ca = {position: "absolute", visibility: "hidden", display: "block"},
4111        Da = {letterSpacing: "0", fontWeight: "400"}, Ea = ["Webkit", "O", "Moz", "ms"];
4112    n.extend({
4113        cssHooks: {
4114            opacity: {
4115                get: function (a, b) {
4116                    if (b) {
4117                        var c = xa(a, "opacity");
4118                        return "" === c ? "1" : c
4119                    }
4120                }
4121            }
4122        },
4123        cssNumber: {
4124            columnCount: !0,
4125            fillOpacity: !0,
4126            flexGrow: !0,
4127            flexShrink: !0,
4128            fontWeight: !0,
4129            lineHeight: !0,
4130            opacity: !0,
4131            order: !0,
4132            orphans: !0,
4133            widows: !0,
4134            zIndex: !0,
4135            zoom: !0
4136        },
4137        cssProps: {"float": "cssFloat"},
4138        style: function (a, b, c, d) {
4139            if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) {
4140                var e, f, g, h = n.camelCase(b), i = a.style;
4141                return b = n.cssProps[h] || (n.cssProps[h] = Fa(i, h)), g = n.cssHooks[b] || n.cssHooks[h], void 0 === c ? g && "get" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b] : (f = typeof c, "string" === f && (e = Ba.exec(c)) && (c = (e[1] + 1) * e[2] + parseFloat(n.css(a, b)), f = "number"), void (null != c && c === c && ("number" !== f || n.cssNumber[h] || (c += "px"), k.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), g && "set" in g && void 0 === (c = g.set(a, c, d)) || (i[b] = c))))
4142            }
4143        },
4144        css: function (a, b, c, d) {
4145            var e, f, g, h = n.camelCase(b);
4146            return b = n.cssProps[h] || (n.cssProps[h] = Fa(a.style, h)), g = n.cssHooks[b] || n.cssHooks[h], g && "get" in g && (e = g.get(a, !0, c)), void 0 === e && (e = xa(a, b, d)), "normal" === e && b in Da && (e = Da[b]), "" === c || c ? (f = parseFloat(e), c === !0 || n.isNumeric(f) ? f || 0 : e) : e
4147        }
4148    }), n.each(["height", "width"], function (a, b) {
4149        n.cssHooks[b] = {
4150            get: function (a, c, d) {
4151                return c ? za.test(n.css(a, "display")) && 0 === a.offsetWidth ? n.swap(a, Ca, function () {
4152                    return Ia(a, b, d)
4153                }) : Ia(a, b, d) : void 0
4154            }, set: function (a, c, d) {
4155                var e = d && wa(a);
4156                return Ga(a, c, d ? Ha(a, b, d, "border-box" === n.css(a, "boxSizing", !1, e), e) : 0)
4157            }
4158        }
4159    }), n.cssHooks.marginRight = ya(k.reliableMarginRight, function (a, b) {
4160        return b ? n.swap(a, {display: "inline-block"}, xa, [a, "marginRight"]) : void 0
4161    }), n.each({margin: "", padding: "", border: "Width"}, function (a, b) {
4162        n.cssHooks[a + b] = {
4163            expand: function (c) {
4164                for (var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [c]; 4 > d; d++) e[a + R[d] + b] = f[d] || f[d - 2] || f[0];
4165                return e
4166            }
4167        }, ua.test(a) || (n.cssHooks[a + b].set = Ga)
4168    }), n.fn.extend({
4169        css: function (a, b) {
4170            return J(this, function (a, b, c) {
4171                var d, e, f = {}, g = 0;
4172                if (n.isArray(b)) {
4173                    for (d = wa(a), e = b.length; e > g; g++) f[b[g]] = n.css(a, b[g], !1, d);
4174                    return f
4175                }
4176                return void 0 !== c ? n.style(a, b, c) : n.css(a, b)
4177            }, a, b, arguments.length > 1)
4178        }, show: function () {
4179            return Ja(this, !0)
4180        }, hide: function () {
4181            return Ja(this)
4182        }, toggle: function (a) {
4183            return "boolean" == typeof a ? a ? this.show() : this.hide() : this.each(function () {
4184                S(this) ? n(this).show() : n(this).hide()
4185            })
4186        }
4187    }), n.Tween = Ka, Ka.prototype = {
4188        constructor: Ka, init: function (a, b, c, d, e, f) {
4189            this.elem = a, this.prop = c, this.easing = e || "swing", this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (n.cssNumber[c] ? "" : "px")
4190        }, cur: function () {
4191            var a = Ka.propHooks[this.prop];
4192            return a && a.get ? a.get(this) : Ka.propHooks._default.get(this)
4193        }, run: function (a) {
4194            var b, c = Ka.propHooks[this.prop];
4195            return this.options.duration ? this.pos = b = n.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : Ka.propHooks._default.set(this), this
4196        }
4197    }, Ka.prototype.init.prototype = Ka.prototype, Ka.propHooks = {
4198        _default: {
4199            get: function (a) {
4200                var b;
4201                return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (b = n.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0) : a.elem[a.prop]
4202            }, set: function (a) {
4203                n.fx.step[a.prop] ? n.fx.step[a.prop](a) : a.elem.style && (null != a.elem.style[n.cssProps[a.prop]] || n.cssHooks[a.prop]) ? n.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
4204            }
4205        }
4206    }
vendor: 5,082 bytes, lines 4206-4299
4206, Ka.propHooks.scrollTop = Ka.propHooks.scrollLeft = {
4207        set: function (a) {
4208            a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
4209        }
4210    }, n.easing = {
4211        linear: function (a) {
4212            return a
4213        }, swing: function (a) {
4214            return .5 - Math.cos(a * Math.PI) / 2
4215        }
4216    }, n.fx = Ka.prototype.init, n.fx.step = {};
4217    var La, Ma, Na = /^(?:toggle|show|hide)$/, Oa = new RegExp("^(?:([+-])=|)(" + Q + ")([a-z%]*)$", "i"),
4218        Pa = /queueHooks$/, Qa = [Va], Ra = {
4219            "*": [function (a, b) {
4220                var c = this.createTween(a, b), d = c.cur(), e = Oa.exec(b), f = e && e[3] || (n.cssNumber[a] ? "" : "px"),
4221                    g = (n.cssNumber[a] || "px" !== f && +d) && Oa.exec(n.css(c.elem, a)), h = 1, i = 20;
4222                if (g && g[3] !== f) {
4223                    f = f || g[3], e = e || [], g = +d || 1;
4224                    do h = h || ".5", g /= h, n.style(c.elem, a, g + f); while (h !== (h = c.cur() / d) && 1 !== h && --i)
4225                }
4226                return e && (g = c.start = +g || +d || 0, c.unit = f, c.end = e[1] ? g + (e[1] + 1) * e[2] : +e[2]), c
4227            }]
4228        };
4229    n.Animation = n.extend(Xa, {
4230        tweener: function (a, b) {
4231            n.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" ");
4232            for (var c, d = 0, e = a.length; e > d; d++) c = a[d], Ra[c] = Ra[c] || [], Ra[c].unshift(b)
4233        }, prefilter: function (a, b) {
4234            b ? Qa.unshift(a) : Qa.push(a)
4235        }
4236    }), n.speed = function (a, b, c) {
4237        var d = a && "object" == typeof a ? n.extend({}, a) : {
4238            complete: c || !c && b || n.isFunction(a) && a,
4239            duration: a,
4240            easing: c && b || b && !n.isFunction(b) && b
4241        };
4242        return d.duration = n.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in n.fx.speeds ? n.fx.speeds[d.duration] : n.fx.speeds._default, (null == d.queue || d.queue === !0) && (d.queue = "fx"), d.old = d.complete, d.complete = function () {
4243            n.isFunction(d.old) && d.old.call(this), d.queue && n.dequeue(this, d.queue)
4244        }, d
4245    }, n.fn.extend({
4246        fadeTo: function (a, b, c, d) {
4247            return this.filter(S).css("opacity", 0).show().end().animate({opacity: b}, a, c, d)
4248        }, animate: function (a, b, c, d) {
4249            var e = n.isEmptyObject(a), f = n.speed(b, c, d), g = function () {
4250                var b = Xa(this, n.extend({}, a), f);
4251                (e || L.get(this, "finish")) && b.stop(!0)
4252            };
4253            return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)
4254        }, stop: function (a, b, c) {
4255            var d = function (a) {
4256                var b = a.stop;
4257                delete a.stop, b(c)
4258            };
4259            return "string" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || "fx", []), this.each(function () {
4260                var b = !0, e = null != a && a + "queueHooks", f = n.timers, g = L.get(this);
4261                if (e) g[e] && g[e].stop && d(g[e]); else for (e in g) g[e] && g[e].stop && Pa.test(e) && d(g[e]);
4262                for (e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1));
4263                (b || !c) && n.dequeue(this, a)
4264            })
4265        }, finish: function (a) {
4266            return a !== !1 && (a = a || "fx"), this.each(function () {
4267                var b, c = L.get(this), d = c[a + "queue"], e = c[a + "queueHooks"], f = n.timers, g = d ? d.length : 0;
4268                for (c.finish = !0, n.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));
4269                for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this);
4270                delete c.finish
4271            })
4272        }
4273    }), n.each(["toggle", "show", "hide"], function (a, b) {
4274        var c = n.fn[b];
4275        n.fn[b] = function (a, d, e) {
4276            return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(Ta(b, !0), a, d, e)
4277        }
4278    }), n.each({
4279        slideDown: Ta("show"),
4280        slideUp: Ta("hide"),
4281        slideToggle: Ta("toggle"),
4282        fadeIn: {opacity: "show"},
4283        fadeOut: {opacity: "hide"},
4284        fadeToggle: {opacity: "toggle"}
4285    }, function (a, b) {
4286        n.fn[a] = function (a, c, d) {
4287            return this.animate(b, a, c, d)
4288        }
4289    }), n.timers = [], n.fx.tick = function () {
4290        var a, b = 0, c = n.timers;
4291        for (La = n.now(); b < c.length; b++) a = c[b], a() || c[b] !== a || c.splice(b--, 1);
4292        c.length || n.fx.stop(), La = void 0
4293    }, n.fx.timer = function (a) {
4294        n.timers.push(a), a() ? n.fx.start() : n.timers.pop()
4295    }, n.fx.interval = 13, n.fx.start = function () {
4296        Ma || (Ma = setInterval(n.fx.tick, n.fx.interval))
4297    }, n.fx.stop = function () {
4298        clearInterval(Ma), Ma = null
4299    }, n.fx.speeds = {slow: 600, fast: 200, _default: 400}
vendor: 25,537 bytes, lines 4299-4750
4299, n.fn.delay = function (a, b) {
4300        return a = n.fx ? n.fx.speeds[a] || a : a, b = b || "fx", this.queue(b, function (b, c) {
4301            var d = setTimeout(b, a);
4302            c.stop = function () {
4303                clearTimeout(d)
4304            }
4305        })
4306    }, function () {
4307        var a = l.createElement("input"), b = l.createElement("select"), c = b.appendChild(l.createElement("option"));
4308        a.type = "checkbox", k.checkOn = "" !== a.value, k.optSelected = c.selected, b.disabled = !0, k.optDisabled = !c.disabled, a = l.createElement("input"), a.value = "t", a.type = "radio", k.radioValue = "t" === a.value
4309    }();
4310    var Ya, Za, $a = n.expr.attrHandle;
4311    n.fn.extend({
4312        attr: function (a, b) {
4313            return J(this, n.attr, a, b, arguments.length > 1)
4314        }, removeAttr: function (a) {
4315            return this.each(function () {
4316                n.removeAttr(this, a)
4317            })
4318        }
4319    }), n.extend({
4320        attr: function (a, b, c) {
4321            var d, e, f = a.nodeType;
4322            return a && 3 !== f && 8 !== f && 2 !== f ? typeof a.getAttribute === U ? n.prop(a, b, c) : (1 === f && n.isXMLDoc(a) || (b = b.toLowerCase(), d = n.attrHooks[b] || (n.expr.match.bool.test(b) ? Za : Ya)), void 0 === c ? d && "get" in d && null !== (e = d.get(a, b)) ? e : (e = n.find.attr(a, b), null == e ? void 0 : e) : null !== c ? d && "set" in d && void 0 !== (e = d.set(a, c, b)) ? e : (a.setAttribute(b, c + ""), c) : void n.removeAttr(a, b)) : void 0
4323        }, removeAttr: function (a, b) {
4324            var c, d, e = 0, f = b && b.match(E);
4325            if (f && 1 === a.nodeType) for (; c = f[e++];) d = n.propFix[c] || c, n.expr.match.bool.test(c) && (a[d] = !1), a.removeAttribute(c)
4326        }, attrHooks: {
4327            type: {
4328                set: function (a, b) {
4329                    if (!k.radioValue && "radio" === b && n.nodeName(a, "input")) {
4330                        var c = a.value;
4331                        return a.setAttribute("type", b), c && (a.value = c), b
4332                    }
4333                }
4334            }
4335        }
4336    }), Za = {
4337        set: function (a, b, c) {
4338            return b === !1 ? n.removeAttr(a, c) : a.setAttribute(c, c), c
4339        }
4340    }, n.each(n.expr.match.bool.source.match(/\w+/g), function (a, b) {
4341        var c = $a[b] || n.find.attr;
4342        $a[b] = function (a, b, d) {
4343            var e, f;
4344            return d || (f = $a[b], $a[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, $a[b] = f), e
4345        }
4346    });
4347    var _a = /^(?:input|select|textarea|button)$/i;
4348    n.fn.extend({
4349        prop: function (a, b) {
4350            return J(this, n.prop, a, b, arguments.length > 1)
4351        }, removeProp: function (a) {
4352            return this.each(function () {
4353                delete this[n.propFix[a] || a]
4354            })
4355        }
4356    }), n.extend({
4357        propFix: {"for": "htmlFor", "class": "className"}, prop: function (a, b, c) {
4358            var d, e, f, g = a.nodeType;
4359            return a && 3 !== g && 8 !== g && 2 !== g ? (f = 1 !== g || !n.isXMLDoc(a), f && (b = n.propFix[b] || b, e = n.propHooks[b]), void 0 !== c ? e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && "get" in e && null !== (d = e.get(a, b)) ? d : a[b]) : void 0
4360        }, propHooks: {
4361            tabIndex: {
4362                get: function (a) {
4363                    return a.hasAttribute("tabindex") || _a.test(a.nodeName) || a.href ? a.tabIndex : -1
4364                }
4365            }
4366        }
4367    }), k.optSelected || (n.propHooks.selected = {
4368        get: function (a) {
4369            var b = a.parentNode;
4370            return b && b.parentNode && b.parentNode.selectedIndex, null
4371        }
4372    }), n.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
4373        n.propFix[this.toLowerCase()] = this
4374    });
4375    var ab = /[\t\r\n\f]/g;
4376    n.fn.extend({
4377        addClass: function (a) {
4378            var b, c, d, e, f, g, h = "string" == typeof a && a, i = 0, j = this.length;
4379            if (n.isFunction(a)) return this.each(function (b) {
4380                n(this).addClass(a.call(this, b, this.className))
4381            });
4382            if (h) for (b = (a || "").match(E) || []; j > i; i++) if (c = this[i], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(ab, " ") : " ")) {
4383                for (f = 0; e = b[f++];) d.indexOf(" " + e + " ") < 0 && (d += e + " ");
4384                g = n.trim(d), c.className !== g && (c.className = g)
4385            }
4386            return this
4387        }, removeClass: function (a) {
4388            var b, c, d, e, f, g, h = 0 === arguments.length || "string" == typeof a && a, i = 0, j = this.length;
4389            if (n.isFunction(a)) return this.each(function (b) {
4390                n(this).removeClass(a.call(this, b, this.className))
4391            });
4392            if (h) for (b = (a || "").match(E) || []; j > i; i++) if (c = this[i], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(ab, " ") : "")) {
4393                for (f = 0; e = b[f++];) for (; d.indexOf(" " + e + " ") >= 0;) d = d.replace(" " + e + " ", " ");
4394                g = a ? n.trim(d) : "", c.className !== g && (c.className = g)
4395            }
4396            return this
4397        }, toggleClass: function (a, b) {
4398            var c = typeof a;
4399            return "boolean" == typeof b && "string" === c ? b ? this.addClass(a) : this.removeClass(a) : this.each(n.isFunction(a) ? function (c) {
4400                n(this).toggleClass(a.call(this, c, this.className, b), b)
4401            } : function () {
4402                if ("string" === c) for (var b, d = 0, e = n(this), f = a.match(E) || []; b = f[d++];) e.hasClass(b) ? e.removeClass(b) : e.addClass(b); else (c === U || "boolean" === c) && (this.className && L.set(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : L.get(this, "__className__") || "")
4403            })
4404        }, hasClass: function (a) {
4405            for (var b = " " + a + " ", c = 0, d = this.length; d > c; c++) if (1 === this[c].nodeType && (" " + this[c].className + " ").replace(ab, " ").indexOf(b) >= 0) return !0;
4406            return !1
4407        }
4408    });
4409    var bb = /\r/g;
4410    n.fn.extend({
4411        val: function (a) {
4412            var b, c, d, e = this[0];
4413            return arguments.length ? (d = n.isFunction(a), this.each(function (c) {
4414                var e;
4415                1 === this.nodeType && (e = d ? a.call(this, c, n(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : n.isArray(e) && (e = n.map(e, function (a) {
4416                    return null == a ? "" : a + ""
4417                })), b = n.valHooks[this.type] || n.valHooks[this.nodeName.toLowerCase()], b && "set" in b && void 0 !== b.set(this, e, "value") || (this.value = e))
4418            })) : e ? (b = n.valHooks[e.type] || n.valHooks[e.nodeName.toLowerCase()], b && "get" in b && void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(bb, "") : null == c ? "" : c)) : void 0
4419        }
4420    }), n.extend({
4421        valHooks: {
4422            option: {
4423                get: function (a) {
4424                    var b = n.find.attr(a, "value");
4425                    return null != b ? b : n.trim(n.text(a))
4426                }
4427            }, select: {
4428                get: function (a) {
4429                    for (var b, c, d = a.options, e = a.selectedIndex, f = "select-one" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++) if (c = d[i], !(!c.selected && i !== e || (k.optDisabled ? c.disabled : null !== c.getAttribute("disabled")) || c.parentNode.disabled && n.nodeName(c.parentNode, "optgroup"))) {
4430                        if (b = n(c).val(), f) return b;
4431                        g.push(b)
4432                    }
4433                    return g
4434                }, set: function (a, b) {
4435                    for (var c, d, e = a.options, f = n.makeArray(b), g = e.length; g--;) d = e[g], (d.selected = n.inArray(d.value, f) >= 0) && (c = !0);
4436                    return c || (a.selectedIndex = -1), f
4437                }
4438            }
4439        }
4440    }), n.each(["radio", "checkbox"], function () {
4441        n.valHooks[this] = {
4442            set: function (a, b) {
4443                return n.isArray(b) ? a.checked = n.inArray(n(a).val(), b) >= 0 : void 0
4444            }
4445        }, k.checkOn || (n.valHooks[this].get = function (a) {
4446            return null === a.getAttribute("value") ? "on" : a.value
4447        })
4448    }), n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (a, b) {
4449        n.fn[b] = function (a, c) {
4450            return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)
4451        }
4452    }), n.fn.extend({
4453        hover: function (a, b) {
4454            return this.mouseenter(a).mouseleave(b || a)
4455        }, bind: function (a, b, c) {
4456            return this.on(a, null, b, c)
4457        }, unbind: function (a, b) {
4458            return this.off(a, null, b)
4459        }, delegate: function (a, b, c, d) {
4460            return this.on(b, a, c, d)
4461        }, undelegate: function (a, b, c) {
4462            return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c)
4463        }
4464    });
4465    var cb = n.now(), db = /\?/;
4466    n.parseJSON = function (a) {
4467        return JSON.parse(a + "")
4468    }, n.parseXML = function (a) {
4469        var b, c;
4470        if (!a || "string" != typeof a) return null;
4471        try {
4472            c = new DOMParser, b = c.parseFromString(a, "text/xml")
4473        } catch (d) {
4474            b = void 0
4475        }
4476        return (!b || b.getElementsByTagName("parsererror").length) && n.error("Invalid XML: " + a), b
4477    };
4478    var eb = /#.*$/, fb = /([?&])_=[^&]*/, gb = /^(.*?):[ \t]*([^\r\n]*)$/gm,
4479        hb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, ib = /^(?:GET|HEAD)$/, jb = /^\/\//,
4480        kb = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, lb = {}, mb = {}, nb = "*/".concat("*"),
4481        ob = a.location.href, pb = kb.exec(ob.toLowerCase()) || [];
4482    n.extend({
4483        active: 0,
4484        lastModified: {},
4485        etag: {},
4486        ajaxSettings: {
4487            url: ob,
4488            type: "GET",
4489            isLocal: hb.test(pb[1]),
4490            global: !0,
4491            processData: !0,
4492            async: !0,
4493            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
4494            accepts: {
4495                "*": nb,
4496                text: "text/plain",
4497                html: "text/html",
4498                xml: "application/xml, text/xml",
4499                json: "application/json, text/javascript"
4500            },
4501            contents: {xml: /xml/, html: /html/, json: /json/},
4502            responseFields: {xml: "responseXML", text: "responseText", json: "responseJSON"},
4503            converters: {"* text": String, "text html": !0, "text json": n.parseJSON, "text xml": n.parseXML},
4504            flatOptions: {url: !0, context: !0}
4505        },
4506        ajaxSetup: function (a, b) {
4507            return b ? sb(sb(a, n.ajaxSettings), b) : sb(n.ajaxSettings, a)
4508        },
4509        ajaxPrefilter: qb(lb),
4510        ajaxTransport: qb(mb),
4511        ajax: function (a, b) {
4512            function x(a, b, f, h) {
4513                var j, r, s, u, w, x = b;
4514                2 !== t && (t = 2, g && clearTimeout(g), c = void 0, e = h || "", v.readyState = a > 0 ? 4 : 0, j = a >= 200 && 300 > a || 304 === a, f && (u = tb(k, v, f)), u = ub(k, u, v, j), j ? (k.ifModified && (w = v.getResponseHeader("Last-Modified"), w && (n.lastModified[d] = w), w = v.getResponseHeader("etag"), w && (n.etag[d] = w)), 204 === a || "HEAD" === k.type ? x = "nocontent" : 304 === a ? x = "notmodified" : (x = u.state, r = u.data, s = u.error, j = !s)) : (s = x, (a || !x) && (x = "error", 0 > a && (a = 0))), v.status = a, v.statusText = (b || x) + "", j ? o.resolveWith(l, [r, x, v]) : o.rejectWith(l, [v, x, s]), v.statusCode(q), q = void 0, i && m.trigger(j ? "ajaxSuccess" : "ajaxError", [v, k, j ? r : s]), p.fireWith(l, [v, x]), i && (m.trigger("ajaxComplete", [v, k]), --n.active || n.event.trigger("ajaxStop")))
4515            }
4516
4517            "object" == typeof a && (b = a, a = void 0), b = b || {};
4518            var c, d, e, f, g, h, i, j, k = n.ajaxSetup({}, b), l = k.context || k,
4519                m = k.context && (l.nodeType || l.jquery) ? n(l) : n.event, o = n.Deferred(),
4520                p = n.Callbacks("once memory"), q = k.statusCode || {}, r = {}, s = {}, t = 0, u = "canceled", v = {
4521                    readyState: 0, getResponseHeader: function (a) {
4522                        var b;
4523                        if (2 === t) {
4524                            if (!f) for (f = {}; b = gb.exec(e);) f[b[1].toLowerCase()] = b[2];
4525                            b = f[a.toLowerCase()]
4526                        }
4527                        return null == b ? null : b
4528                    }, getAllResponseHeaders: function () {
4529                        return 2 === t ? e : null
4530                    }, setRequestHeader: function (a, b) {
4531                        var c = a.toLowerCase();
4532                        return t || (a = s[c] = s[c] || a, r[a] = b), this
4533                    }, overrideMimeType: function (a) {
4534                        return t || (k.mimeType = a), this
4535                    }, statusCode: function (a) {
4536                        var b;
4537                        if (a) if (2 > t) for (b in a) q[b] = [q[b], a[b]]; else v.always(a[v.status]);
4538                        return this
4539                    }, abort: function (a) {
4540                        var b = a || u;
4541                        return c && c.abort(b), x(0, b), this
4542                    }
4543                };
4544            if (o.promise(v).complete = p.add, v.success = v.done, v.error = v.fail, k.url = ((a || k.url || ob) + "").replace(eb, "").replace(jb, pb[1] + "//"), k.type = b.method || b.type || k.method || k.type, k.dataTypes = n.trim(k.dataType || "*").toLowerCase().match(E) || [""], null == k.crossDomain && (h = kb.exec(k.url.toLowerCase()), k.crossDomain = !(!h || h[1] === pb[1] && h[2] === pb[2] && (h[3] || ("http:" === h[1] ? "80" : "443")) === (pb[3] || ("http:" === pb[1] ? "80" : "443")))), k.data && k.processData && "string" != typeof k.data && (k.data = n.param(k.data, k.traditional)), rb(lb, k, b, v), 2 === t) return v;
4545            i = n.event && k.global, i && 0 === n.active++ && n.event.trigger("ajaxStart"), k.type = k.type.toUpperCase(), k.hasContent = !ib.test(k.type), d = k.url, k.hasContent || (k.data && (d = k.url += (db.test(d) ? "&" : "?") + k.data, delete k.data), k.cache === !1 && (k.url = fb.test(d) ? d.replace(fb, "$1_=" + cb++) : d + (db.test(d) ? "&" : "?") + "_=" + cb++)), k.ifModified && (n.lastModified[d] && v.setRequestHeader("If-Modified-Since", n.lastModified[d]), n.etag[d] && v.setRequestHeader("If-None-Match", n.etag[d])), (k.data && k.hasContent && k.contentType !== !1 || b.contentType) && v.setRequestHeader("Content-Type", k.contentType), v.setRequestHeader("Accept", k.dataTypes[0] && k.accepts[k.dataTypes[0]] ? k.accepts[k.dataTypes[0]] + ("*" !== k.dataTypes[0] ? ", " + nb + "; q=0.01" : "") : k.accepts["*"]);
4546            for (j in k.headers) v.setRequestHeader(j, k.headers[j]);
4547            if (k.beforeSend && (k.beforeSend.call(l, v, k) === !1 || 2 === t)) return v.abort();
4548            u = "abort";
4549            for (j in{success: 1, error: 1, complete: 1}) v[j](k[j]);
4550            if (c = rb(mb, k, b, v)) {
4551                v.readyState = 1, i && m.trigger("ajaxSend", [v, k]), k.async && k.timeout > 0 && (g = setTimeout(function () {
4552                    v.abort("timeout")
4553                }, k.timeout));
4554                try {
4555                    t = 1, c.send(r, x)
4556                } catch (w) {
4557                    if (!(2 > t)) throw w;
4558                    x(-1, w)
4559                }
4560            } else x(-1, "No Transport");
4561            return v
4562        },
4563        getJSON: function (a, b, c) {
4564            return n.get(a, b, c, "json")
4565        },
4566        getScript: function (a, b) {
4567            return n.get(a, void 0, b, "script")
4568        }
4569    }), n.each(["get", "post"], function (a, b) {
4570        n[b] = function (a, c, d, e) {
4571            return n.isFunction(c) && (e = e || d, d = c, c = void 0), n.ajax({
4572                url: a,
4573                type: b,
4574                dataType: e,
4575                data: c,
4576                success: d
4577            })
4578        }
4579    }), n._evalUrl = function (a) {
4580        return n.ajax({url: a, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0})
4581    }, n.fn.extend({
4582        wrapAll: function (a) {
4583            var b;
4584            return n.isFunction(a) ? this.each(function (b) {
4585                n(this).wrapAll(a.call(this, b))
4586            }) : (this[0] && (b = n(a, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && b.insertBefore(this[0]), b.map(function () {
4587                for (var a = this; a.firstElementChild;) a = a.firstElementChild;
4588                return a
4589            }).append(this)), this)
4590        }, wrapInner: function (a) {
4591            return this.each(n.isFunction(a) ? function (b) {
4592                n(this).wrapInner(a.call(this, b))
4593            } : function () {
4594                var b = n(this), c = b.contents();
4595                c.length ? c.wrapAll(a) : b.append(a)
4596            })
4597        }, wrap: function (a) {
4598            var b = n.isFunction(a);
4599            return this.each(function (c) {
4600                n(this).wrapAll(b ? a.call(this, c) : a)
4601            })
4602        }, unwrap: function () {
4603            return this.parent().each(function () {
4604                n.nodeName(this, "body") || n(this).replaceWith(this.childNodes)
4605            }).end()
4606        }
4607    }), n.expr.filters.hidden = function (a) {
4608        return a.offsetWidth <= 0 && a.offsetHeight <= 0
4609    }, n.expr.filters.visible = function (a) {
4610        return !n.expr.filters.hidden(a)
4611    };
4612    var vb = /%20/g, wb = /\[\]$/, xb = /\r?\n/g, yb = /^(?:submit|button|image|reset|file)$/i,
4613        zb = /^(?:input|select|textarea|keygen)/i;
4614    n.param = function (a, b) {
4615        var c, d = [], e = function (a, b) {
4616            b = n.isFunction(b) ? b() : null == b ? "" : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
4617        };
4618        if (void 0 === b && (b = n.ajaxSettings && n.ajaxSettings.traditional), n.isArray(a) || a.jquery && !n.isPlainObject(a)) n.each(a, function () {
4619            e(this.name, this.value)
4620        }); else for (c in a) Ab(c, a[c], b, e);
4621        return d.join("&").replace(vb, "+")
4622    }, n.fn.extend({
4623        serialize: function () {
4624            return n.param(this.serializeArray())
4625        }, serializeArray: function () {
4626            return this.map(function () {
4627                var a = n.prop(this, "elements");
4628                return a ? n.makeArray(a) : this
4629            }).filter(function () {
4630                var a = this.type;
4631                return this.name && !n(this).is(":disabled") && zb.test(this.nodeName) && !yb.test(a) && (this.checked || !T.test(a))
4632            }).map(function (a, b) {
4633                var c = n(this).val();
4634                return null == c ? null : n.isArray(c) ? n.map(c, function (a) {
4635                    return {name: b.name, value: a.replace(xb, "\r\n")}
4636                }) : {name: b.name, value: c.replace(xb, "\r\n")}
4637            }).get()
4638        }
4639    }), n.ajaxSettings.xhr = function () {
4640        try {
4641            return new XMLHttpRequest
4642        } catch (a) {
4643        }
4644    };
4645    var Bb = 0, Cb = {}, Db = {0: 200, 1223: 204}, Eb = n.ajaxSettings.xhr();
4646    a.attachEvent && a.attachEvent("onunload", function () {
4647        for (var a in Cb) Cb[a]()
4648    }), k.cors = !!Eb && "withCredentials" in Eb, k.ajax = Eb = !!Eb, n.ajaxTransport(function (a) {
4649        var b;
4650        return k.cors || Eb && !a.crossDomain ? {
4651            send: function (c, d) {
4652                var e, f = a.xhr(), g = ++Bb;
4653                if (f.open(a.type, a.url, a.async, a.username, a.password), a.xhrFields) for (e in a.xhrFields) f[e] = a.xhrFields[e];
4654                a.mimeType && f.overrideMimeType && f.overrideMimeType(a.mimeType), a.crossDomain || c["X-Requested-With"] || (c["X-Requested-With"] = "XMLHttpRequest");
4655                for (e in c) f.setRequestHeader(e, c[e]);
4656                b = function (a) {
4657                    return function () {
4658                        b && (delete Cb[g], b = f.onload = f.onerror = null, "abort" === a ? f.abort() : "error" === a ? d(f.status, f.statusText) : d(Db[f.status] || f.status, f.statusText, "string" == typeof f.responseText ? {text: f.responseText} : void 0, f.getAllResponseHeaders()))
4659                    }
4660                }, f.onload = b(), f.onerror = b("error"), b = Cb[g] = b("abort");
4661                try {
4662                    f.send(a.hasContent && a.data || null)
4663                } catch (h) {
4664                    if (b) throw h
4665                }
4666            }, abort: function () {
4667                b && b()
4668            }
4669        } : void 0
4670    }), n.ajaxSetup({
4671        accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},
4672        contents: {script: /(?:java|ecma)script/},
4673        converters: {
4674            "text script": function (a) {
4675                return n.globalEval(a), a
4676            }
4677        }
4678    }), n.ajaxPrefilter("script", function (a) {
4679        void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = "GET")
4680    }), n.ajaxTransport("script", function (a) {
4681        if (a.crossDomain) {
4682            var b, c;
4683            return {
4684                send: function (d, e) {
4685                    b = n("<script>").prop({
4686                        async: !0,
4687                        charset: a.scriptCharset,
4688                        src: a.url
4689                    }).on("load error", c = function (a) {
4690                        b.remove(), c = null, a && e("error" === a.type ? 404 : 200, a.type)
4691                    }), l.head.appendChild(b[0])
4692                }, abort: function () {
4693                    c && c()
4694                }
4695            }
4696        }
4697    });
4698    var Fb = [], Gb = /(=)\?(?=&|$)|\?\?/;
4699    n.ajaxSetup({
4700        jsonp: "callback", jsonpCallback: function () {
4701            var a = Fb.pop() || n.expando + "_" + cb++;
4702            return this[a] = !0, a
4703        }
4704    }), n.ajaxPrefilter("json jsonp", function (b, c, d) {
4705        var e, f, g,
4706            h = b.jsonp !== !1 && (Gb.test(b.url) ? "url" : "string" == typeof b.data && !(b.contentType || "").indexOf("application/x-www-form-urlencoded") && Gb.test(b.data) && "data");
4707        return h || "jsonp" === b.dataTypes[0] ? (e = b.jsonpCallback = n.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(Gb, "$1" + e) : b.jsonp !== !1 && (b.url += (db.test(b.url) ? "&" : "?") + b.jsonp + "=" + e), b.converters["script json"] = function () {
4708            return g || n.error(e + " was not called"), g[0]
4709        }, b.dataTypes[0] = "json", f = a[e], a[e] = function () {
4710            g = arguments
4711        }, d.always(function () {
4712            a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, Fb.push(e)), g && n.isFunction(f) && f(g[0]), g = f = void 0
4713        }), "script") : void 0
4714    }), n.parseHTML = function (a, b, c) {
4715        if (!a || "string" != typeof a) return null;
4716        "boolean" == typeof b && (c = b, b = !1), b = b || l;
4717        var d = v.exec(a), e = !c && [];
4718        return d ? [b.createElement(d[1])] : (d = n.buildFragment([a], b, e), e && e.length && n(e).remove(), n.merge([], d.childNodes))
4719    };
4720    var Hb = n.fn.load;
4721    n.fn.load = function (a, b, c) {
4722        if ("string" != typeof a && Hb) return Hb.apply(this, arguments);
4723        var d, e, f, g = this, h = a.indexOf(" ");
4724        return h >= 0 && (d = n.trim(a.slice(h)), a = a.slice(0, h)), n.isFunction(b) ? (c = b, b = void 0) : b && "object" == typeof b && (e = "POST"), g.length > 0 && n.ajax({
4725            url: a,
4726            type: e,
4727            dataType: "html",
4728            data: b
4729        }).done(function (a) {
4730            f = arguments, g.html(d ? n("<div>").append(n.parseHTML(a)).find(d) : a)
4731        }).complete(c && function (a, b) {
4732            g.each(c, f || [a.responseText, b, a])
4733        }), this
4734    }, n.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (a, b) {
4735        n.fn[b] = function (a) {
4736            return this.on(b, a)
4737        }
4738    }), n.expr.filters.animated = function (a) {
4739        return n.grep(n.timers, function (b) {
4740            return a === b.elem
4741        }).length
4742    };
4743    var Ib = a.document.documentElement;
4744    n.offset = {
4745        setOffset: function (a, b, c) {
4746            var d, e, f, g, h, i, j, k = n.css(a, "position"), l = n(a), m = {};
4747            "static" === k && (a.style.position = "relative"), h = l.offset(), f = n.css(a, "top"), i = n.css(a, "left"), j = ("absolute" === k || "fixed" === k) && (f + i).indexOf("auto") > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), n.isFunction(b) && (b = b.call(a, c, h)), null != b.top && (m.top = b.top - h.top + g), null != b.left && (m.left = b.left - h.left + e), "using" in b ? b.using.call(a, m) : l.css(m)
4748        }
4749    }, n.fn.extend({
4750        offset: function (a) {
4751            if (arguments.length) return void 0 === a ? this : this.each(function (b) {
4752                n.offset.setOffset(this, a, b)
4753            });
4754            var b, c, d = this[0], e = {top: 0, left: 0}, f = d && d.ownerDocument;
4755            return f ? (b = f.documentElement, n.contains(b, d) ? (typeof d.getBoundingClientRect !== U && (e = d.getBoundingClientRect()), c = Jb(f), {
4756                top: e.top + c.pageYOffset - b.clientTop,
4757                left: e.left + c.pageXOffset - b.clientLeft
4758            }) : e) : void 0
4759        }, position: function () {
4760            if (this[0]) {
4761                var a, b, c = this[0], d = {top: 0, left: 0};
4762                return "fixed" === n.css(c, "position") ? b = c.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), n.nodeName(a[0], "html") || (d = a.offset()), d.top += n.css(a[0], "borderTopWidth", !0), d.left += n.css(a[0], "borderLeftWidth", !0)), {
4763                    top: b.top - d.top - n.css(c, "marginTop", !0),
4764                    left: b.left - d.left - n.css(c, "marginLeft", !0)
4765                }
4766            }
4767        }, offsetParent: function () {
4768            return this.map(function () {
4769                for (var a = this.offsetParent || Ib; a && !n.nodeName(a, "html") && "static" === n.css(a, "position");) a = a.offsetParent;
4770                return a || Ib
4771            })
4772        }
4773    }), n.each({scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function (b, c) {
4774        var d = "pageYOffset" === c;
4775        n.fn[b] = function (e) {
4776            return J(this, function (b, e, f) {
4777                var g = Jb(b);
4778                return void 0 === f ? g ? g[c] : b[e] : void (g ? g.scrollTo(d ? a.pageXOffset : f, d ? f : a.pageYOffset) : b[e] = f)
4779            }, b, e, arguments.length, null)
4780        }
4781    }), n.each(["top", "left"], function (a, b) {
4782        n.cssHooks[b] = ya(k.pixelPosition, function (a, c) {
4783            return c ? (c = xa(a, b), va.test(c) ? n(a).position()[b] + "px" : c) : void 0
4784        })
4785    }), n.each({Height: "height", Width: "width"}, function (a, b) {
4786        n.each({padding: "inner" + a, content: b, "": "outer" + a}, function (c, d) {
4787            n.fn[d] = function (d, e) {
4788                var f = arguments.length && (c || "boolean" != typeof d),
4789                    g = c || (d === !0 || e === !0 ? "margin" : "border");
4790                return J(this, function (b, c, d) {
4791                    var e;
4792                    return n.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body["scroll" + a], e["scroll" + a], b.body["offset" + a], e["offset" + a], e["client" + a])) : void 0 === d ? n.css(b, c, g) : n.style(b, c, d, g)
4793                }, b, f ? d : void 0, f, null)
4794            }
4795        })
4796    }), n.fn.size = function () {
4797        return this.length
4798    }, n.fn.andSelf = n.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function () {
4799        return n
4800    });
4801    var Kb = a.jQuery, Lb = a.$;
4802    return n.noConflict = function (b) {
4803        return a.$ === n && (a.$ = Lb), b && a.jQuery === n && (a.jQuery = Kb), n
4804    }, typeof b === U && (a.jQuery = a.$ = n), n
4805}), function (e) {
4806    "function" == typeof define && define.amd ? define(["jquery"], e) : e(jQuery)
4807}(function (e) {
4808    function t(t, s) {
4809        var n, a, o, r = t.nodeName.toLowerCase();
4810        return "area" === r ? (n = t.parentNode, a = n.name, t.href && a && "map" === n.nodeName.toLowerCase() ? (o = e("img[usemap='#" + a + "']")[0], !!o && i(o)) : !1) : (/^(input|select|textarea|button|object)$/.test(r) ? !t.disabled : "a" === r ? t.href || s : s) && i(t)
4811    }
4812
4813    function i(t) {
4814        return e.expr.filters.visible(t) && !e(t).parents().addBack().filter(function () {
4815            return "hidden" === e.css(this, "visibility")
4816        }).length
4817    }
4818
4819    function s(e) {
4820        for (var t, i; e.length && e[0] !== document;) {
4821            if (t = e.css("position"), ("absolute" === t || "relative" === t || "fixed" === t) && (i = parseInt(e.css("zIndex"), 10), !isNaN(i) && 0 !== i)) return i;
4822            e = e.parent()
4823        }
4824        return 0
4825    }
4826
4827    function n() {
4828        this._curInst = null, this._keyEvent = !1, this._disabledInputs = [], this._datepickerShowing = !1, this._inDialog = !1, this._mainDivId = "ui-datepicker-div", this._inlineClass = "ui-datepicker-inline", this._appendClass = "ui-datepicker-append", this._triggerClass = "ui-datepicker-trigger", this._dialogClass = "ui-datepicker-dialog", this._disableClass = "ui-datepicker-disabled", this._unselectableClass = "ui-datepicker-unselectable", this._currentClass = "ui-datepicker-current-day", this._dayOverClass = "ui-datepicker-days-cell-over", this.regional = [], this.regional[""] = {
4829            closeText: "Done",
4830            prevText: "Prev",
4831            nextText: "Next",
4832            currentText: "Today",
4833            monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
vendor: 4,633 bytes, lines 4833-4946
4833November", "December"],
4834            monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
4835            dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
4836            dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
4837            dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
4838            weekHeader: "Wk",
4839            dateFormat: "mm/dd/yy",
4840            firstDay: 0,
4841            isRTL: !1,
4842            showMonthAfterYear: !1,
4843            yearSuffix: ""
4844        }, this._defaults = {
4845            showOn: "focus",
4846            showAnim: "fadeIn",
4847            showOptions: {},
4848            defaultDate: null,
4849            appendText: "",
4850            buttonText: "...",
4851            buttonImage: "",
4852            buttonImageOnly: !1,
4853            hideIfNoPrevNext: !1,
4854            navigationAsDateFormat: !1,
4855            gotoCurrent: !1,
4856            changeMonth: !1,
4857            changeYear: !1,
4858            yearRange: "c-10:c+10",
4859            showOtherMonths: !1,
4860            selectOtherMonths: !1,
4861            showWeek: !1,
4862            calculateWeek: this.iso8601Week,
4863            shortYearCutoff: "+10",
4864            minDate: null,
4865            maxDate: null,
4866            duration: "fast",
4867            beforeShowDay: null,
4868            beforeShow: null,
4869            onSelect: null,
4870            onChangeMonthYear: null,
4871            onClose: null,
4872            numberOfMonths: 1,
4873            showCurrentAtPos: 0,
4874            stepMonths: 1,
4875            stepBigMonths: 12,
4876            altField: "",
4877            altFormat: "",
4878            constrainInput: !0,
4879            showButtonPanel: !1,
4880            autoSize: !1,
4881            disabled: !1
4882        }, e.extend(this._defaults, this.regional[""]), this.regional.en = e.extend(!0, {}, this.regional[""]), this.regional["en-US"] = e.extend(!0, {}, this.regional.en), this.dpDiv = a(e("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))
4883    }
4884
4885    function a(t) {
4886        var i = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
4887        return t.delegate(i, "mouseout", function () {
4888            e(this).removeClass("ui-state-hover"), -1 !== this.className.indexOf("ui-datepicker-prev") && e(this).removeClass("ui-datepicker-prev-hover"), -1 !== this.className.indexOf("ui-datepicker-next") && e(this).removeClass("ui-datepicker-next-hover")
4889        }).delegate(i, "mouseover", o)
4890    }
4891
4892    function o() {
4893        e.datepicker._isDisabledDatepicker(v.inline ? v.dpDiv.parent()[0] : v.input[0]) || (e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),
4894            e(this).addClass("ui-state-hover"), -1 !== this.className.indexOf("ui-datepicker-prev") && e(this).addClass("ui-datepicker-prev-hover"), -1 !== this.className.indexOf("ui-datepicker-next") && e(this).addClass("ui-datepicker-next-hover"))
4895    }
4896
4897    function r(t, i) {
4898        e.extend(t, i);
4899        for (var s in i) null == i[s] && (t[s] = i[s]);
4900        return t
4901    }
4902
4903    function h(e) {
4904        return function () {
4905            var t = this.element.val();
4906            e.apply(this, arguments), this._refresh(), t !== this.element.val() && this._trigger("change")
4907        }
4908    }
4909
4910    e.ui = e.ui || {}, e.extend(e.ui, {
4911        version: "1.11.4",
4912        keyCode: {
4913            BACKSPACE: 8,
4914            COMMA: 188,
4915            DELETE: 46,
4916            DOWN: 40,
4917            END: 35,
4918            ENTER: 13,
4919            ESCAPE: 27,
4920            HOME: 36,
4921            LEFT: 37,
4922            PAGE_DOWN: 34,
4923            PAGE_UP: 33,
4924            PERIOD: 190,
4925            RIGHT: 39,
4926            SPACE: 32,
4927            TAB: 9,
4928            UP: 38
4929        }
4930    }), e.fn.extend({
4931        scrollParent: function (t) {
4932            var i = this.css("position"), s = "absolute" === i, n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
4933                a = this.parents().filter(function () {
4934                    var t = e(this);
4935                    return s && "static" === t.css("position") ? !1 : n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"))
4936                }).eq(0);
4937            return "fixed" !== i && a.length ? a : e(this[0].ownerDocument || document)
4938        }, uniqueId: function () {
4939            var e = 0;
4940            return function () {
4941                return this.each(function () {
4942                    this.id || (this.id = "ui-id-" + ++e)
4943                })
4944            }
4945        }(), removeUniqueId: function () {
4946            return this.each(function () {
vendor: 4,171 bytes, lines 4947-5037
4947                /^ui-id-\d+$/.test(this.id) && e(this).removeAttr("id")
4948            })
4949        }
4950    }), e.extend(e.expr[":"], {
4951        data: e.expr.createPseudo ? e.expr.createPseudo(function (t) {
4952            return function (i) {
4953                return !!e.data(i, t)
4954            }
4955        }) : function (t, i, s) {
4956            return !!e.data(t, s[3])
4957        }, focusable: function (i) {
4958            return t(i, !isNaN(e.attr(i, "tabindex")))
4959        }, tabbable: function (i) {
4960            var s = e.attr(i, "tabindex"), n = isNaN(s);
4961            return (n || s >= 0) && t(i, !n)
4962        }
4963    }), e("<a>").outerWidth(1).jquery || e.each(["Width", "Height"], function (t, i) {
4964        function s(t, i, s, a) {
4965            return e.each(n, function () {
4966                i -= parseFloat(e.css(t, "padding" + this)) || 0, s && (i -= parseFloat(e.css(t, "border" + this + "Width")) || 0), a && (i -= parseFloat(e.css(t, "margin" + this)) || 0)
4967            }), i
4968        }
4969
4970        var n = "Width" === i ? ["Left", "Right"] : ["Top", "Bottom"], a = i.toLowerCase(), o = {
4971            innerWidth: e.fn.innerWidth,
4972            innerHeight: e.fn.innerHeight,
4973            outerWidth: e.fn.outerWidth,
4974            outerHeight: e.fn.outerHeight
4975        };
4976        e.fn["inner" + i] = function (t) {
4977            return void 0 === t ? o["inner" + i].call(this) : this.each(function () {
4978                e(this).css(a, s(this, t) + "px")
4979            })
4980        }, e.fn["outer" + i] = function (t, n) {
4981            return "number" != typeof t ? o["outer" + i].call(this, t) : this.each(function () {
4982                e(this).css(a, s(this, t, !0, n) + "px")
4983            })
4984        }
4985    }), e.fn.addBack || (e.fn.addBack = function (e) {
4986        return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
4987    }), e("<a>").data("a-b", "a").removeData("a-b").data("a-b") && (e.fn.removeData = function (t) {
4988        return function (i) {
4989            return arguments.length ? t.call(this, e.camelCase(i)) : t.call(this)
4990        }
4991    }(e.fn.removeData)), e.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()), e.fn.extend({
4992        focus: function (t) {
4993            return function (i, s) {
4994                return "number" == typeof i ? this.each(function () {
4995                    var t = this;
4996                    setTimeout(function () {
4997                        e(t).focus(), s && s.call(t)
4998                    }, i)
4999                }) : t.apply(this, arguments)
5000            }
5001        }(e.fn.focus), disableSelection: function () {
5002            var e = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown";
5003            return function () {
5004                return this.bind(e + ".ui-disableSelection", function (e) {
5005                    e.preventDefault()
5006                })
5007            }
5008        }(), enableSelection: function () {
5009            return this.unbind(".ui-disableSelection")
5010        }, zIndex: function (t) {
5011            if (void 0 !== t) return this.css("zIndex", t);
5012            if (this.length) for (var i, s, n = e(this[0]); n.length && n[0] !== document;) {
5013                if (i = n.css("position"), ("absolute" === i || "relative" === i || "fixed" === i) && (s = parseInt(n.css("zIndex"), 10), !isNaN(s) && 0 !== s)) return s;
5014                n = n.parent()
5015            }
5016            return 0
5017        }
5018    }), e.ui.plugin = {
5019        add: function (t, i, s) {
5020            var n, a = e.ui[t].prototype;
5021            for (n in s) a.plugins[n] = a.plugins[n] || [], a.plugins[n].push([i, s[n]])
5022        }, call: function (e, t, i, s) {
5023            var n, a = e.plugins[t];
5024            if (a && (s || e.element[0].parentNode && 11 !== e.element[0].parentNode.nodeType)) for (n = 0; a.length > n; n++) e.options[a[n][0]] && a[n][1].apply(e.element, i)
5025        }
5026    };
5027    var l = 0, u = Array.prototype.slice;
5028    e.cleanData = function (t) {
5029        return function (i) {
5030            var s, n, a;
5031            for (a = 0; null != (n = i[a]); a++) try {
5032                s = e._data(n, "events"), s && s.remove && e(n).triggerHandler("remove")
5033            } catch (o) {
5034            }
5035            t(i)
5036        }
5037    }
vendor: 47,273 bytes, lines 5037-5771
5037(e.cleanData), e.widget = function (t, i, s) {
5038        var n, a, o, r, h = {}, l = t.split(".")[0];
5039        return t = t.split(".")[1], n = l + "-" + t, s || (s = i, i = e.Widget), e.expr[":"][n.toLowerCase()] = function (t) {
5040            return !!e.data(t, n)
5041        }, e[l] = e[l] || {}, a = e[l][t], o = e[l][t] = function (e, t) {
5042            return this._createWidget ? void (arguments.length && this._createWidget(e, t)) : new o(e, t)
5043        }, e.extend(o, a, {
5044            version: s.version,
5045            _proto: e.extend({}, s),
5046            _childConstructors: []
5047        }), r = new i, r.options = e.widget.extend({}, r.options), e.each(s, function (t, s) {
5048            return e.isFunction(s) ? void (h[t] = function () {
5049                var e = function () {
5050                    return i.prototype[t].apply(this, arguments)
5051                }, n = function (e) {
5052                    return i.prototype[t].apply(this, e)
5053                };
5054                return function () {
5055                    var t, i = this._super, a = this._superApply;
5056                    return this._super = e, this._superApply = n, t = s.apply(this, arguments), this._super = i, this._superApply = a, t
5057                }
5058            }()) : void (h[t] = s)
5059        }), o.prototype = e.widget.extend(r, {widgetEventPrefix: a ? r.widgetEventPrefix || t : t}, h, {
5060            constructor: o,
5061            namespace: l,
5062            widgetName: t,
5063            widgetFullName: n
5064        }), a ? (e.each(a._childConstructors, function (t, i) {
5065            var s = i.prototype;
5066            e.widget(s.namespace + "." + s.widgetName, o, i._proto)
5067        }), delete a._childConstructors) : i._childConstructors.push(o), e.widget.bridge(t, o), o
5068    }, e.widget.extend = function (t) {
5069        for (var i, s, n = u.call(arguments, 1), a = 0, o = n.length; o > a; a++) for (i in n[a]) s = n[a][i], n[a].hasOwnProperty(i) && void 0 !== s && (t[i] = e.isPlainObject(s) ? e.isPlainObject(t[i]) ? e.widget.extend({}, t[i], s) : e.widget.extend({}, s) : s);
5070        return t
5071    }, e.widget.bridge = function (t, i) {
5072        var s = i.prototype.widgetFullName || t;
5073        e.fn[t] = function (n) {
5074            var a = "string" == typeof n, o = u.call(arguments, 1), r = this;
5075            return a ? this.each(function () {
5076                var i, a = e.data(this, s);
5077                return "instance" === n ? (r = a, !1) : a ? e.isFunction(a[n]) && "_" !== n.charAt(0) ? (i = a[n].apply(a, o), i !== a && void 0 !== i ? (r = i && i.jquery ? r.pushStack(i.get()) : i, !1) : void 0) : e.error("no such method '" + n + "' for " + t + " widget instance") : e.error("cannot call methods on " + t + " prior to initialization; attempted to call method '" + n + "'")
5078            }) : (o.length && (n = e.widget.extend.apply(null, [n].concat(o))), this.each(function () {
5079                var t = e.data(this, s);
5080                t ? (t.option(n || {}), t._init && t._init()) : e.data(this, s, new i(n, this))
5081            })), r
5082        }
5083    }, e.Widget = function () {
5084    }, e.Widget._childConstructors = [], e.Widget.prototype = {
5085        widgetName: "widget",
5086        widgetEventPrefix: "",
5087        defaultElement: "<div>",
5088        options: {disabled: !1, create: null},
5089        _createWidget: function (t, i) {
5090            i = e(i || this.defaultElement || this)[0], this.element = e(i), this.uuid = l++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = e(), this.hoverable = e(), this.focusable = e(), i !== this && (e.data(i, this.widgetFullName, this), this._on(!0, this.element, {
5091                remove: function (e) {
5092                    e.target === i && this.destroy()
5093                }
5094            }), this.document = e(i.style ? i.ownerDocument : i.document || i), this.window = e(this.document[0].defaultView || this.document[0].parentWindow)), this.options = e.widget.extend({}, this.options, this._getCreateOptions(), t), this._create(), this._trigger("create", null, this._getCreateEventData()), this._init()
5095        },
5096        _getCreateOptions: e.noop,
5097        _getCreateEventData: e.noop,
5098        _create: e.noop,
5099        _init: e.noop,
5100        destroy: function () {
5101            this._destroy(), this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)), this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName + "-disabled ui-state-disabled"), this.bindings.unbind(this.eventNamespace), this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus")
5102        },
5103        _destroy: e.noop,
5104        widget: function () {
5105            return this.element
5106        },
5107        option: function (t, i) {
5108            var s, n, a, o = t;
5109            if (0 === arguments.length) return e.widget.extend({}, this.options);
5110            if ("string" == typeof t) if (o = {}, s = t.split("."), t = s.shift(), s.length) {
5111                for (n = o[t] = e.widget.extend({}, this.options[t]), a = 0; s.length - 1 > a; a++) n[s[a]] = n[s[a]] || {}, n = n[s[a]];
5112                if (t = s.pop(), 1 === arguments.length) return void 0 === n[t] ? null : n[t];
5113                n[t] = i
5114            } else {
5115                if (1 === arguments.length) return void 0 === this.options[t] ? null : this.options[t];
5116                o[t] = i
5117            }
5118            return this._setOptions(o), this
5119        },
5120        _setOptions: function (e) {
5121            var t;
5122            for (t in e) this._setOption(t, e[t]);
5123            return this
5124        },
5125        _setOption: function (e, t) {
5126            return this.options[e] = t, "disabled" === e && (this.widget().toggleClass(this.widgetFullName + "-disabled", !!t), t && (this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus"))), this
5127        },
5128        enable: function () {
5129            return this._setOptions({disabled: !1})
5130        },
5131        disable: function () {
5132            return this._setOptions({disabled: !0})
5133        },
5134        _on: function (t, i, s) {
5135            var n, a = this;
5136            "boolean" != typeof t && (s = i, i = t, t = !1), s ? (i = n = e(i), this.bindings = this.bindings.add(i)) : (s = i, i = this.element, n = this.widget()), e.each(s, function (s, o) {
5137                function r() {
5138                    return t || a.options.disabled !== !0 && !e(this).hasClass("ui-state-disabled") ? ("string" == typeof o ? a[o] : o).apply(a, arguments) : void 0
5139                }
5140
5141                "string" != typeof o && (r.guid = o.guid = o.guid || r.guid || e.guid++);
5142                var h = s.match(/^([\w:-]*)\s*(.*)$/), l = h[1] + a.eventNamespace, u = h[2];
5143                u ? n.delegate(u, l, r) : i.bind(l, r)
5144            })
5145        },
5146        _off: function (t, i) {
5147            i = (i || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, t.unbind(i).undelegate(i), this.bindings = e(this.bindings.not(t).get()), this.focusable = e(this.focusable.not(t).get()), this.hoverable = e(this.hoverable.not(t).get())
5148        },
5149        _delay: function (e, t) {
5150            function i() {
5151                return ("string" == typeof e ? s[e] : e).apply(s, arguments)
5152            }
5153
5154            var s = this;
5155            return setTimeout(i, t || 0)
5156        },
5157        _hoverable: function (t) {
5158            this.hoverable = this.hoverable.add(t), this._on(t, {
5159                mouseenter: function (t) {
5160                    e(t.currentTarget).addClass("ui-state-hover")
5161                }, mouseleave: function (t) {
5162                    e(t.currentTarget).removeClass("ui-state-hover")
5163                }
5164            })
5165        },
5166        _focusable: function (t) {
5167            this.focusable = this.focusable.add(t), this._on(t, {
5168                focusin: function (t) {
5169                    e(t.currentTarget).addClass("ui-state-focus")
5170                }, focusout: function (t) {
5171                    e(t.currentTarget).removeClass("ui-state-focus")
5172                }
5173            })
5174        },
5175        _trigger: function (t, i, s) {
5176            var n, a, o = this.options[t];
5177            if (s = s || {}, i = e.Event(i), i.type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase(), i.target = this.element[0], a = i.originalEvent) for (n in a) n in i || (i[n] = a[n]);
5178            return this.element.trigger(i, s), !(e.isFunction(o) && o.apply(this.element[0], [i].concat(s)) === !1 || i.isDefaultPrevented())
5179        }
5180    }, e.each({show: "fadeIn", hide: "fadeOut"}, function (t, i) {
5181        e.Widget.prototype["_" + t] = function (s, n, a) {
5182            "string" == typeof n && (n = {effect: n});
5183            var o, r = n ? n === !0 || "number" == typeof n ? i : n.effect || i : t;
5184            n = n || {}, "number" == typeof n && (n = {duration: n}), o = !e.isEmptyObject(n), n.complete = a, n.delay && s.delay(n.delay), o && e.effects && e.effects.effect[r] ? s[t](n) : r !== t && s[r] ? s[r](n.duration, n.easing, a) : s.queue(function (i) {
5185                e(this)[t](), a && a.call(s[0]), i()
5186            })
5187        }
5188    }), e.widget;
5189    var d = !1;
5190    e(document).mouseup(function () {
5191        d = !1
5192    }), e.widget("ui.mouse", {
5193        version: "1.11.4",
5194        options: {cancel: "input,textarea,button,select,option", distance: 1, delay: 0},
5195        _mouseInit: function () {
5196            var t = this;
5197            this.element.bind("mousedown." + this.widgetName, function (e) {
5198                return t._mouseDown(e)
5199            }).bind("click." + this.widgetName, function (i) {
5200                return !0 === e.data(i.target, t.widgetName + ".preventClickEvent") ? (e.removeData(i.target, t.widgetName + ".preventClickEvent"), i.stopImmediatePropagation(), !1) : void 0
5201            }), this.started = !1
5202        },
5203        _mouseDestroy: function () {
5204            this.element.unbind("." + this.widgetName), this._mouseMoveDelegate && this.document.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate)
5205        },
5206        _mouseDown: function (t) {
5207            if (!d) {
5208                this._mouseMoved = !1, this._mouseStarted && this._mouseUp(t), this._mouseDownEvent = t;
5209                var i = this, s = 1 === t.which,
5210                    n = "string" == typeof this.options.cancel && t.target.nodeName ? e(t.target).closest(this.options.cancel).length : !1;
5211                return s && !n && this._mouseCapture(t) ? (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function () {
5212                    i.mouseDelayMet = !0
5213                }, this.options.delay)), this._mouseDistanceMet(t) && this._mouseDelayMet(t) && (this._mouseStarted = this._mouseStart(t) !== !1, !this._mouseStarted) ? (t.preventDefault(), !0) : (!0 === e.data(t.target, this.widgetName + ".preventClickEvent") && e.removeData(t.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function (e) {
5214                    return i._mouseMove(e)
5215                }, this._mouseUpDelegate = function (e) {
5216                    return i._mouseUp(e)
5217                }, this.document.bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), t.preventDefault(), d = !0, !0)) : !0
5218            }
5219        },
5220        _mouseMove: function (t) {
5221            if (this._mouseMoved) {
5222                if (e.ui.ie && (!document.documentMode || 9 > document.documentMode) && !t.button) return this._mouseUp(t);
5223                if (!t.which) return this._mouseUp(t)
5224            }
5225            return (t.which || t.button) && (this._mouseMoved = !0), this._mouseStarted ? (this._mouseDrag(t), t.preventDefault()) : (this._mouseDistanceMet(t) && this._mouseDelayMet(t) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, t) !== !1, this._mouseStarted ? this._mouseDrag(t) : this._mouseUp(t)), !this._mouseStarted)
5226        },
5227        _mouseUp: function (t) {
5228            return this.document.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, t.target === this._mouseDownEvent.target && e.data(t.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(t)), d = !1, !1
5229        },
5230        _mouseDistanceMet: function (e) {
5231            return Math.max(Math.abs(this._mouseDownEvent.pageX - e.pageX), Math.abs(this._mouseDownEvent.pageY - e.pageY)) >= this.options.distance
5232        },
5233        _mouseDelayMet: function () {
5234            return this.mouseDelayMet
5235        },
5236        _mouseStart: function () {
5237        },
5238        _mouseDrag: function () {
5239        },
5240        _mouseStop: function () {
5241        },
5242        _mouseCapture: function () {
5243            return !0
5244        }
5245    }), function () {
5246        function t(e, t, i) {
5247            return [parseFloat(e[0]) * (p.test(e[0]) ? t / 100 : 1), parseFloat(e[1]) * (p.test(e[1]) ? i / 100 : 1)]
5248        }
5249
5250        function i(t, i) {
5251            return parseInt(e.css(t, i), 10) || 0
5252        }
5253
5254        function s(t) {
5255            var i = t[0];
5256            return 9 === i.nodeType ? {
5257                width: t.width(),
5258                height: t.height(),
5259                offset: {top: 0, left: 0}
5260            } : e.isWindow(i) ? {
5261                width: t.width(),
5262                height: t.height(),
5263                offset: {top: t.scrollTop(), left: t.scrollLeft()}
5264            } : i.preventDefault ? {
5265                width: 0,
5266                height: 0,
5267                offset: {top: i.pageY, left: i.pageX}
5268            } : {width: t.outerWidth(), height: t.outerHeight(), offset: t.offset()}
5269        }
5270
5271        e.ui = e.ui || {};
5272        var n, a, o = Math.max, r = Math.abs, h = Math.round, l = /left|center|right/, u = /top|center|bottom/,
5273            d = /[\+\-]\d+(\.[\d]+)?%?/, c = /^\w+/, p = /%$/, f = e.fn.position;
5274        e.position = {
5275            scrollbarWidth: function () {
5276                if (void 0 !== n) return n;
5277                var t, i,
5278                    s = e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),
5279                    a = s.children()[0];
5280                return e("body").append(s), t = a.offsetWidth, s.css("overflow", "scroll"), i = a.offsetWidth, t === i && (i = s[0].clientWidth), s.remove(), n = t - i
5281            }, getScrollInfo: function (t) {
5282                var i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x"),
5283                    s = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y"),
5284                    n = "scroll" === i || "auto" === i && t.width < t.element[0].scrollWidth,
5285                    a = "scroll" === s || "auto" === s && t.height < t.element[0].scrollHeight;
5286                return {width: a ? e.position.scrollbarWidth() : 0, height: n ? e.position.scrollbarWidth() : 0}
5287            }, getWithinInfo: function (t) {
5288                var i = e(t || window), s = e.isWindow(i[0]), n = !!i[0] && 9 === i[0].nodeType;
5289                return {
5290                    element: i,
5291                    isWindow: s,
5292                    isDocument: n,
5293                    offset: i.offset() || {left: 0, top: 0},
5294                    scrollLeft: i.scrollLeft(),
5295                    scrollTop: i.scrollTop(),
5296                    width: s || n ? i.width() : i.outerWidth(),
5297                    height: s || n ? i.height() : i.outerHeight()
5298                }
5299            }
5300        }, e.fn.position = function (n) {
5301            if (!n || !n.of) return f.apply(this, arguments);
5302            n = e.extend({}, n);
5303            var p, m, g, v, y, b, _ = e(n.of), x = e.position.getWithinInfo(n.within), w = e.position.getScrollInfo(x),
5304                k = (n.collision || "flip").split(" "), T = {};
5305            return b = s(_), _[0].preventDefault && (n.at = "left top"), m = b.width, g = b.height, v = b.offset, y = e.extend({}, v), e.each(["my", "at"], function () {
5306                var e, t, i = (n[this] || "").split(" ");
5307                1 === i.length && (i = l.test(i[0]) ? i.concat(["center"]) : u.test(i[0]) ? ["center"].concat(i) : ["center", "center"]), i[0] = l.test(i[0]) ? i[0] : "center", i[1] = u.test(i[1]) ? i[1] : "center", e = d.exec(i[0]), t = d.exec(i[1]), T[this] = [e ? e[0] : 0, t ? t[0] : 0], n[this] = [c.exec(i[0])[0], c.exec(i[1])[0]]
5308            }), 1 === k.length && (k[1] = k[0]), "right" === n.at[0] ? y.left += m : "center" === n.at[0] && (y.left += m / 2), "bottom" === n.at[1] ? y.top += g : "center" === n.at[1] && (y.top += g / 2), p = t(T.at, m, g), y.left += p[0], y.top += p[1], this.each(function () {
5309                var s, l, u = e(this), d = u.outerWidth(), c = u.outerHeight(), f = i(this, "marginLeft"),
5310                    b = i(this, "marginTop"), D = d + f + i(this, "marginRight") + w.width,
5311                    S = c + b + i(this, "marginBottom") + w.height, M = e.extend({}, y),
5312                    C = t(T.my, u.outerWidth(), u.outerHeight());
5313                "right" === n.my[0] ? M.left -= d : "center" === n.my[0] && (M.left -= d / 2), "bottom" === n.my[1] ? M.top -= c : "center" === n.my[1] && (M.top -= c / 2), M.left += C[0], M.top += C[1], a || (M.left = h(M.left), M.top = h(M.top)), s = {
5314                    marginLeft: f,
5315                    marginTop: b
5316                }, e.each(["left", "top"], function (t, i) {
5317                    e.ui.position[k[t]] && e.ui.position[k[t]][i](M, {
5318                        targetWidth: m,
5319                        targetHeight: g,
5320                        elemWidth: d,
5321                        elemHeight: c,
5322                        collisionPosition: s,
5323                        collisionWidth: D,
5324                        collisionHeight: S,
5325                        offset: [p[0] + C[0], p[1] + C[1]],
5326                        my: n.my,
5327                        at: n.at,
5328                        within: x,
5329                        elem: u
5330                    })
5331                }), n.using && (l = function (e) {
5332                    var t = v.left - M.left, i = t + m - d, s = v.top - M.top, a = s + g - c, h = {
5333                        target: {element: _, left: v.left, top: v.top, width: m, height: g},
5334                        element: {element: u, left: M.left, top: M.top, width: d, height: c},
5335                        horizontal: 0 > i ? "left" : t > 0 ? "right" : "center",
5336                        vertical: 0 > a ? "top" : s > 0 ? "bottom" : "middle"
5337                    };
5338                    d > m && m > r(t + i) && (h.horizontal = "center"), c > g && g > r(s + a) && (h.vertical = "middle"), h.important = o(r(t), r(i)) > o(r(s), r(a)) ? "horizontal" : "vertical", n.using.call(this, e, h)
5339                }), u.offset(e.extend(M, {using: l}))
5340            })
5341        }, e.ui.position = {
5342            fit: {
5343                left: function (e, t) {
5344                    var i, s = t.within, n = s.isWindow ? s.scrollLeft : s.offset.left, a = s.width,
5345                        r = e.left - t.collisionPosition.marginLeft, h = n - r, l = r + t.collisionWidth - a - n;
5346                    t.collisionWidth > a ? h > 0 && 0 >= l ? (i = e.left + h + t.collisionWidth - a - n, e.left += h - i) : e.left = l > 0 && 0 >= h ? n : h > l ? n + a - t.collisionWidth : n : h > 0 ? e.left += h : l > 0 ? e.left -= l : e.left = o(e.left - r, e.left)
5347                }, top: function (e, t) {
5348                    var i, s = t.within, n = s.isWindow ? s.scrollTop : s.offset.top, a = t.within.height,
5349                        r = e.top - t.collisionPosition.marginTop, h = n - r, l = r + t.collisionHeight - a - n;
5350                    t.collisionHeight > a ? h > 0 && 0 >= l ? (i = e.top + h + t.collisionHeight - a - n, e.top += h - i) : e.top = l > 0 && 0 >= h ? n : h > l ? n + a - t.collisionHeight : n : h > 0 ? e.top += h : l > 0 ? e.top -= l : e.top = o(e.top - r, e.top)
5351                }
5352            }, flip: {
5353                left: function (e, t) {
5354                    var i, s, n = t.within, a = n.offset.left + n.scrollLeft, o = n.width,
5355                        h = n.isWindow ? n.scrollLeft : n.offset.left, l = e.left - t.collisionPosition.marginLeft,
5356                        u = l - h, d = l + t.collisionWidth - o - h,
5357                        c = "left" === t.my[0] ? -t.elemWidth : "right" === t.my[0] ? t.elemWidth : 0,
5358                        p = "left" === t.at[0] ? t.targetWidth : "right" === t.at[0] ? -t.targetWidth : 0,
5359                        f = -2 * t.offset[0];
5360                    0 > u ? (i = e.left + c + p + f + t.collisionWidth - o - a, (0 > i || r(u) > i) && (e.left += c + p + f)) : d > 0 && (s = e.left - t.collisionPosition.marginLeft + c + p + f - h, (s > 0 || d > r(s)) && (e.left += c + p + f))
5361                }, top: function (e, t) {
5362                    var i, s, n = t.within, a = n.offset.top + n.scrollTop, o = n.height,
5363                        h = n.isWindow ? n.scrollTop : n.offset.top, l = e.top - t.collisionPosition.marginTop,
5364                        u = l - h, d = l + t.collisionHeight - o - h, c = "top" === t.my[1],
5365                        p = c ? -t.elemHeight : "bottom" === t.my[1] ? t.elemHeight : 0,
5366                        f = "top" === t.at[1] ? t.targetHeight : "bottom" === t.at[1] ? -t.targetHeight : 0,
5367                        m = -2 * t.offset[1];
5368                    0 > u ? (s = e.top + p + f + m + t.collisionHeight - o - a, (0 > s || r(u) > s) && (e.top += p + f + m)) : d > 0 && (i = e.top - t.collisionPosition.marginTop + p + f + m - h, (i > 0 || d > r(i)) && (e.top += p + f + m))
5369                }
5370            }, flipfit: {
5371                left: function () {
5372                    e.ui.position.flip.left.apply(this, arguments), e.ui.position.fit.left.apply(this, arguments)
5373                }, top: function () {
5374                    e.ui.position.flip.top.apply(this, arguments), e.ui.position.fit.top.apply(this, arguments)
5375                }
5376            }
5377        }, function () {
5378            var t, i, s, n, o, r = document.getElementsByTagName("body")[0], h = document.createElement("div");
5379            t = document.createElement(r ? "div" : "body"), s = {
5380                visibility: "hidden",
5381                width: 0,
5382                height: 0,
5383                border: 0,
5384                margin: 0,
5385                background: "none"
5386            }, r && e.extend(s, {position: "absolute", left: "-1000px", top: "-1000px"});
5387            for (o in s) t.style[o] = s[o];
5388            t.appendChild(h), i = r || document.documentElement, i.insertBefore(t, i.firstChild), h.style.cssText = "position: absolute; left: 10.7432222px;", n = e(h).offset().left, a = n > 10 && 11 > n, t.innerHTML = "", i.removeChild(t)
5389        }()
5390    }(), e.ui.position, e.widget("ui.accordion", {
5391        version: "1.11.4",
5392        options: {
5393            active: 0,
5394            animate: {},
5395            collapsible: !1,
5396            event: "click",
5397            header: "> li > :first-child,> :not(li):even",
5398            heightStyle: "auto",
5399            icons: {activeHeader: "ui-icon-triangle-1-s", header: "ui-icon-triangle-1-e"},
5400            activate: null,
5401            beforeActivate: null
5402        },
5403        hideProps: {
5404            borderTopWidth: "hide",
5405            borderBottomWidth: "hide",
5406            paddingTop: "hide",
5407            paddingBottom: "hide",
5408            height: "hide"
5409        },
5410        showProps: {
5411            borderTopWidth: "show",
5412            borderBottomWidth: "show",
5413            paddingTop: "show",
5414            paddingBottom: "show",
5415            height: "show"
5416        },
5417        _create: function () {
5418            var t = this.options;
5419            this.prevShow = this.prevHide = e(), this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role", "tablist"), t.collapsible || t.active !== !1 && null != t.active || (t.active = 0), this._processPanels(), 0 > t.active && (t.active += this.headers.length), this._refresh()
5420        },
5421        _getCreateEventData: function () {
5422            return {header: this.active, panel: this.active.length ? this.active.next() : e()}
5423        },
5424        _createIcons: function () {
5425            var t = this.options.icons;
5426            t && (e("<span>").addClass("ui-accordion-header-icon ui-icon " + t.header).prependTo(this.headers), this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader), this.headers.addClass("ui-accordion-icons"))
5427        },
5428        _destroyIcons: function () {
5429            this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()
5430        },
5431        _destroy: function () {
5432            var e;
5433            this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"), this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(), this._destroyIcons(), e = this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display", "").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(), "content" !== this.options.heightStyle && e.css("height", "")
5434        },
5435        _setOption: function (e, t) {
5436            return "active" === e ? void this._activate(t) : ("event" === e && (this.options.event && this._off(this.headers, this.options.event), this._setupEvents(t)), this._super(e, t), "collapsible" !== e || t || this.options.active !== !1 || this._activate(0), "icons" === e && (this._destroyIcons(), t && this._createIcons()), void ("disabled" === e && (this.element.toggleClass("ui-state-disabled", !!t).attr("aria-disabled", t), this.headers.add(this.headers.next()).toggleClass("ui-state-disabled", !!t))))
5437        },
5438        _keydown: function (t) {
5439            if (!t.altKey && !t.ctrlKey) {
5440                var i = e.ui.keyCode, s = this.headers.length, n = this.headers.index(t.target), a = !1;
5441                switch (t.keyCode) {
5442                    case i.RIGHT:
5443                    case i.DOWN:
5444                        a = this.headers[(n + 1) % s];
5445                        break;
5446                    case i.LEFT:
5447                    case i.UP:
5448                        a = this.headers[(n - 1 + s) % s];
5449                        break;
5450                    case i.SPACE:
5451                    case i.ENTER:
5452                        this._eventHandler(t);
5453                        break;
5454                    case i.HOME:
5455                        a = this.headers[0];
5456                        break;
5457                    case i.END:
5458                        a = this.headers[s - 1]
5459                }
5460                a && (e(t.target).attr("tabIndex", -1), e(a).attr("tabIndex", 0), a.focus(), t.preventDefault())
5461            }
5462        },
5463        _panelKeyDown: function (t) {
5464            t.keyCode === e.ui.keyCode.UP && t.ctrlKey && e(t.currentTarget).prev().focus()
5465        },
5466        refresh: function () {
5467            var t = this.options;
5468            this._processPanels(), t.active === !1 && t.collapsible === !0 || !this.headers.length ? (t.active = !1, this.active = e()) : t.active === !1 ? this._activate(0) : this.active.length && !e.contains(this.element[0], this.active[0]) ? this.headers.length === this.headers.find(".ui-state-disabled").length ? (t.active = !1, this.active = e()) : this._activate(Math.max(0, t.active - 1)) : t.active = this.headers.index(this.active), this._destroyIcons(), this._refresh()
5469        },
5470        _processPanels: function () {
5471            var e = this.headers, t = this.panels;
5472            this.headers = this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"), this.panels = this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(), t && (this._off(e.not(this.headers)), this._off(t.not(this.panels)))
5473        },
5474        _refresh: function () {
5475            var t, i = this.options, s = i.heightStyle, n = this.element.parent();
5476            this.active = this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"), this.active.next().addClass("ui-accordion-content-active").show(), this.headers.attr("role", "tab").each(function () {
5477                var t = e(this), i = t.uniqueId().attr("id"), s = t.next(), n = s.uniqueId().attr("id");
5478                t.attr("aria-controls", n), s.attr("aria-labelledby", i)
5479            }).next().attr("role", "tabpanel"), this.headers.not(this.active).attr({
5480                "aria-selected": "false",
5481                "aria-expanded": "false",
5482                tabIndex: -1
5483            }).next().attr({"aria-hidden": "true"}).hide(), this.active.length ? this.active.attr({
5484                "aria-selected": "true",
5485                "aria-expanded": "true",
5486                tabIndex: 0
5487            }).next().attr({"aria-hidden": "false"}) : this.headers.eq(0).attr("tabIndex", 0), this._createIcons(), this._setupEvents(i.event), "fill" === s ? (t = n.height(), this.element.siblings(":visible").each(function () {
5488                var i = e(this), s = i.css("position");
5489                "absolute" !== s && "fixed" !== s && (t -= i.outerHeight(!0))
5490            }), this.headers.each(function () {
5491                t -= e(this).outerHeight(!0)
5492            }), this.headers.next().each(function () {
5493                e(this).height(Math.max(0, t - e(this).innerHeight() + e(this).height()))
5494            }).css("overflow", "auto")) : "auto" === s && (t = 0, this.headers.next().each(function () {
5495                t = Math.max(t, e(this).css("height", "").height())
5496            }).height(t))
5497        },
5498        _activate: function (t) {
5499            var i = this._findActive(t)[0];
5500            i !== this.active[0] && (i = i || this.active[0], this._eventHandler({
5501                target: i,
5502                currentTarget: i,
5503                preventDefault: e.noop
5504            }))
5505        },
5506        _findActive: function (t) {
5507            return "number" == typeof t ? this.headers.eq(t) : e()
5508        },
5509        _setupEvents: function (t) {
5510            var i = {keydown: "_keydown"};
5511            t && e.each(t.split(" "), function (e, t) {
5512                i[t] = "_eventHandler"
5513            }), this._off(this.headers.add(this.headers.next())), this._on(this.headers, i), this._on(this.headers.next(), {keydown: "_panelKeyDown"}), this._hoverable(this.headers), this._focusable(this.headers)
5514        },
5515        _eventHandler: function (t) {
5516            var i = this.options, s = this.active, n = e(t.currentTarget), a = n[0] === s[0], o = a && i.collapsible,
5517                r = o ? e() : n.next(), h = s.next(),
5518                l = {oldHeader: s, oldPanel: h, newHeader: o ? e() : n, newPanel: r};
5519            t.preventDefault(), a && !i.collapsible || this._trigger("beforeActivate", t, l) === !1 || (i.active = o ? !1 : this.headers.index(n), this.active = a ? e() : n, this._toggle(l), s.removeClass("ui-accordion-header-active ui-state-active"), i.icons && s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header), a || (n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"), i.icons && n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader), n.next().addClass("ui-accordion-content-active")))
5520        },
5521        _toggle: function (t) {
5522            var i = t.newPanel, s = this.prevShow.length ? this.prevShow : t.oldPanel;
5523            this.prevShow.add(this.prevHide).stop(!0, !0), this.prevShow = i, this.prevHide = s, this.options.animate ? this._animate(i, s, t) : (s.hide(), i.show(), this._toggleComplete(t)), s.attr({"aria-hidden": "true"}), s.prev().attr({
5524                "aria-selected": "false",
5525                "aria-expanded": "false"
5526            }), i.length && s.length ? s.prev().attr({
5527                tabIndex: -1,
5528                "aria-expanded": "false"
5529            }) : i.length && this.headers.filter(function () {
5530                return 0 === parseInt(e(this).attr("tabIndex"), 10)
5531            }).attr("tabIndex", -1), i.attr("aria-hidden", "false").prev().attr({
5532                "aria-selected": "true",
5533                "aria-expanded": "true",
5534                tabIndex: 0
5535            })
5536        },
5537        _animate: function (e, t, i) {
5538            var s, n, a, o = this, r = 0, h = e.css("box-sizing"), l = e.length && (!t.length || e.index() < t.index()),
5539                u = this.options.animate || {}, d = l && u.down || u, c = function () {
5540                    o._toggleComplete(i)
5541                };
5542            return "number" == typeof d && (a = d), "string" == typeof d && (n = d), n = n || d.easing || u.easing, a = a || d.duration || u.duration, t.length ? e.length ? (s = e.show().outerHeight(), t.animate(this.hideProps, {
5543                duration: a,
5544                easing: n,
5545                step: function (e, t) {
5546                    t.now = Math.round(e)
5547                }
5548            }), void e.hide().animate(this.showProps, {
5549                duration: a, easing: n, complete: c, step: function (e, i) {
5550                    i.now = Math.round(e), "height" !== i.prop ? "content-box" === h && (r += i.now) : "content" !== o.options.heightStyle && (i.now = Math.round(s - t.outerHeight() - r), r = 0)
5551                }
5552            })) : t.animate(this.hideProps, a, n, c) : e.animate(this.showProps, a, n, c)
5553        },
5554        _toggleComplete: function (e) {
5555            var t = e.oldPanel;
5556            t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"), t.length && (t.parent()[0].className = t.parent()[0].className), this._trigger("activate", null, e)
5557        }
5558    }), e.widget("ui.menu", {
5559        version: "1.11.4",
5560        defaultElement: "<ul>",
5561        delay: 300,
5562        options: {
5563            icons: {submenu: "ui-icon-carat-1-e"},
5564            items: "> *",
5565            menus: "ul",
5566            position: {my: "left-1 top", at: "right top"},
5567            role: "menu",
5568            blur: null,
5569            focus: null,
5570            select: null
5571        },
5572        _create: function () {
5573            this.activeMenu = this.element, this.mouseHandled = !1, this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons", !!this.element.find(".ui-icon").length).attr({
5574                role: this.options.role,
5575                tabIndex: 0
5576            }), this.options.disabled && this.element.addClass("ui-state-disabled").attr("aria-disabled", "true"), this._on({
5577                "mousedown .ui-menu-item": function (e) {
5578                    e.preventDefault()
5579                }, "click .ui-menu-item": function (t) {
5580                    var i = e(t.target);
5581                    !this.mouseHandled && i.not(".ui-state-disabled").length && (this.select(t), t.isPropagationStopped() || (this.mouseHandled = !0), i.has(".ui-menu").length ? this.expand(t) : !this.element.is(":focus") && e(this.document[0].activeElement).closest(".ui-menu").length && (this.element.trigger("focus", [!0]), this.active && 1 === this.active.parents(".ui-menu").length && clearTimeout(this.timer)))
5582                }, "mouseenter .ui-menu-item": function (t) {
5583                    if (!this.previousFilter) {
5584                        var i = e(t.currentTarget);
5585                        i.siblings(".ui-state-active").removeClass("ui-state-active"), this.focus(t, i)
5586                    }
5587                }, mouseleave: "collapseAll", "mouseleave .ui-menu": "collapseAll", focus: function (e, t) {
5588                    var i = this.active || this.element.find(this.options.items).eq(0);
5589                    t || this.focus(e, i)
5590                }, blur: function (t) {
5591                    this._delay(function () {
5592                        e.contains(this.element[0], this.document[0].activeElement) || this.collapseAll(t)
5593                    })
5594                }, keydown: "_keydown"
5595            }), this.refresh(), this._on(this.document, {
5596                click: function (e) {
5597                    this._closeOnDocumentClick(e) && this.collapseAll(e), this.mouseHandled = !1
5598                }
5599            })
5600        },
5601        _destroy: function () {
5602            this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(), this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function () {
5603                var t = e(this);
5604                t.data("ui-menu-submenu-carat") && t.remove()
5605            }), this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")
5606        },
5607        _keydown: function (t) {
5608            var i, s, n, a, o = !0;
5609            switch (t.keyCode) {
5610                case e.ui.keyCode.PAGE_UP:
5611                    this.previousPage(t);
5612                    break;
5613                case e.ui.keyCode.PAGE_DOWN:
5614                    this.nextPage(t);
5615                    break;
5616                case e.ui.keyCode.HOME:
5617                    this._move("first", "first", t);
5618                    break;
5619                case e.ui.keyCode.END:
5620                    this._move("last", "last", t);
5621                    break;
5622                case e.ui.keyCode.UP:
5623                    this.previous(t);
5624                    break;
5625                case e.ui.keyCode.DOWN:
5626                    this.next(t);
5627                    break;
5628                case e.ui.keyCode.LEFT:
5629                    this.collapse(t);
5630                    break;
5631                case e.ui.keyCode.RIGHT:
5632                    this.active && !this.active.is(".ui-state-disabled") && this.expand(t);
5633                    break;
5634                case e.ui.keyCode.ENTER:
5635                case e.ui.keyCode.SPACE:
5636                    this._activate(t);
5637                    break;
5638                case e.ui.keyCode.ESCAPE:
5639                    this.collapse(t);
5640                    break;
5641                default:
5642                    o = !1, s = this.previousFilter || "", n = String.fromCharCode(t.keyCode), a = !1, clearTimeout(this.filterTimer), n === s ? a = !0 : n = s + n, i = this._filterMenuItems(n), i = a && -1 !== i.index(this.active.next()) ? this.active.nextAll(".ui-menu-item") : i, i.length || (n = String.fromCharCode(t.keyCode), i = this._filterMenuItems(n)), i.length ? (this.focus(t, i), this.previousFilter = n, this.filterTimer = this._delay(function () {
5643                        delete this.previousFilter
5644                    }, 1e3)) : delete this.previousFilter
5645            }
5646            o && t.preventDefault()
5647        },
5648        _activate: function (e) {
5649            this.active.is(".ui-state-disabled") || (this.active.is("[aria-haspopup='true']") ? this.expand(e) : this.select(e))
5650        },
5651        refresh: function () {
5652            var t, i, s = this, n = this.options.icons.submenu, a = this.element.find(this.options.menus);
5653            this.element.toggleClass("ui-menu-icons", !!this.element.find(".ui-icon").length), a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({
5654                role: this.options.role,
5655                "aria-hidden": "true",
5656                "aria-expanded": "false"
5657            }).each(function () {
5658                var t = e(this), i = t.parent(),
5659                    s = e("<span>").addClass("ui-menu-icon ui-icon " + n).data("ui-menu-submenu-carat", !0);
5660                i.attr("aria-haspopup", "true").prepend(s), t.attr("aria-labelledby", i.attr("id"))
5661            }), t = a.add(this.element), i = t.find(this.options.items), i.not(".ui-menu-item").each(function () {
5662                var t = e(this);
5663                s._isDivider(t) && t.addClass("ui-widget-content ui-menu-divider")
5664            }), i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({
5665                tabIndex: -1, role: this._itemRole()
5666            }), i.filter(".ui-state-disabled").attr("aria-disabled", "true"), this.active && !e.contains(this.element[0], this.active[0]) && this.blur()
5667        },
5668        _itemRole: function () {
5669            return {menu: "menuitem", listbox: "option"}[this.options.role]
5670        },
5671        _setOption: function (e, t) {
5672            "icons" === e && this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu), "disabled" === e && this.element.toggleClass("ui-state-disabled", !!t).attr("aria-disabled", t), this._super(e, t)
5673        },
5674        focus: function (e, t) {
5675            var i, s;
5676            this.blur(e, e && "focus" === e.type), this._scrollIntoView(t), this.active = t.first(), s = this.active.addClass("ui-state-focus").removeClass("ui-state-active"), this.options.role && this.element.attr("aria-activedescendant", s.attr("id")), this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"), e && "keydown" === e.type ? this._close() : this.timer = this._delay(function () {
5677                this._close()
5678            }, this.delay), i = t.children(".ui-menu"), i.length && e && /^mouse/.test(e.type) && this._startOpening(i), this.activeMenu = t.parent(), this._trigger("focus", e, {item: t})
5679        },
5680        _scrollIntoView: function (t) {
5681            var i, s, n, a, o, r;
5682            this._hasScroll() && (i = parseFloat(e.css(this.activeMenu[0], "borderTopWidth")) || 0, s = parseFloat(e.css(this.activeMenu[0], "paddingTop")) || 0, n = t.offset().top - this.activeMenu.offset().top - i - s, a = this.activeMenu.scrollTop(), o = this.activeMenu.height(), r = t.outerHeight(), 0 > n ? this.activeMenu.scrollTop(a + n) : n + r > o && this.activeMenu.scrollTop(a + n - o + r))
5683        },
5684        blur: function (e, t) {
5685            t || clearTimeout(this.timer), this.active && (this.active.removeClass("ui-state-focus"), this.active = null, this._trigger("blur", e, {item: this.active}))
5686        },
5687        _startOpening: function (e) {
5688            clearTimeout(this.timer), "true" === e.attr("aria-hidden") && (this.timer = this._delay(function () {
5689                this._close(), this._open(e)
5690            }, this.delay))
5691        },
5692        _open: function (t) {
5693            var i = e.extend({of: this.active}, this.options.position);
5694            clearTimeout(this.timer), this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden", "true"), t.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(i)
5695        },
5696        collapseAll: function (t, i) {
5697            clearTimeout(this.timer), this.timer = this._delay(function () {
5698                var s = i ? this.element : e(t && t.target).closest(this.element.find(".ui-menu"));
5699                s.length || (s = this.element), this._close(s), this.blur(t), this.activeMenu = s
5700            }, this.delay)
5701        },
5702        _close: function (e) {
5703            e || (e = this.active ? this.active.parent() : this.element), e.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")
5704        },
5705        _closeOnDocumentClick: function (t) {
5706            return !e(t.target).closest(".ui-menu").length
5707        },
5708        _isDivider: function (e) {
5709            return !/[^\-\u2014\u2013\s]/.test(e.text())
5710        },
5711        collapse: function (e) {
5712            var t = this.active && this.active.parent().closest(".ui-menu-item", this.element);
5713            t && t.length && (this._close(), this.focus(e, t))
5714        },
5715        expand: function (e) {
5716            var t = this.active && this.active.children(".ui-menu ").find(this.options.items).first();
5717            t && t.length && (this._open(t.parent()), this._delay(function () {
5718                this.focus(e, t)
5719            }))
5720        },
5721        next: function (e) {
5722            this._move("next", "first", e)
5723        },
5724        previous: function (e) {
5725            this._move("prev", "last", e)
5726        },
5727        isFirstItem: function () {
5728            return this.active && !this.active.prevAll(".ui-menu-item").length
5729        },
5730        isLastItem: function () {
5731            return this.active && !this.active.nextAll(".ui-menu-item").length
5732        },
5733        _move: function (e, t, i) {
5734            var s;
5735            this.active && (s = "first" === e || "last" === e ? this.active["first" === e ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1) : this.active[e + "All"](".ui-menu-item").eq(0)), s && s.length && this.active || (s = this.activeMenu.find(this.options.items)[t]()), this.focus(i, s)
5736        },
5737        nextPage: function (t) {
5738            var i, s, n;
5739            return this.active ? void (this.isLastItem() || (this._hasScroll() ? (s = this.active.offset().top, n = this.element.height(), this.active.nextAll(".ui-menu-item").each(function () {
5740                return i = e(this), 0 > i.offset().top - s - n
5741            }), this.focus(t, i)) : this.focus(t, this.activeMenu.find(this.options.items)[this.active ? "last" : "first"]()))) : void this.next(t)
5742        },
5743        previousPage: function (t) {
5744            var i, s, n;
5745            return this.active ? void (this.isFirstItem() || (this._hasScroll() ? (s = this.active.offset().top, n = this.element.height(), this.active.prevAll(".ui-menu-item").each(function () {
5746                return i = e(this), i.offset().top - s + n > 0
5747            }), this.focus(t, i)) : this.focus(t, this.activeMenu.find(this.options.items).first()))) : void this.next(t)
5748        },
5749        _hasScroll: function () {
5750            return this.element.outerHeight() < this.element.prop("scrollHeight")
5751        },
5752        select: function (t) {
5753            this.active = this.active || e(t.target).closest(".ui-menu-item");
5754            var i = {item: this.active};
5755            this.active.has(".ui-menu").length || this.collapseAll(t, !0), this._trigger("select", t, i)
5756        },
5757        _filterMenuItems: function (t) {
5758            var i = t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"), s = RegExp("^" + i, "i");
5759            return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function () {
5760                return s.test(e.trim(e(this).text()))
5761            })
5762        }
5763    }), e.widget("ui.autocomplete", {
5764        version: "1.11.4",
5765        defaultElement: "<input>",
5766        options: {
5767            appendTo: null,
5768            autoFocus: !1,
5769            delay: 300,
5770            minLength: 1,
5771            position: {my: "left top", at: "left bottom", collision: "none"},
5772            source: null,
5773            change: null,
5774            close: null,
5775            focus: null,
5776            open: null,
5777            response: null,
5778            search: null,
5779            select: null
5780        },
5781        requestIndex: 0,
5782        pending: 0,
5783        _create: function () {
5784            var t, i, s, n = this.element[0].nodeName.toLowerCase(), a = "textarea" === n, o = "input" === n;
5785            this.isMultiLine = a ? !0 : o ? !1 : this.element.prop("isContentEditable"), this.valueMethod = this.element[a || o ? "val" : "text"], this.isNewMenu = !0, this.element.addClass("ui-autocomplete-input").attr("autocomplete", "off"), this._on(this.element, {
5786                keydown: function (n) {
5787                    if (this.element.prop("readOnly")) return t = !0, s = !0, void (i = !0);
5788                    t = !1, s = !1, i = !1;
5789                    var a = e.ui.keyCode;
5790                    switch (n.keyCode) {
5791                        case a.PAGE_UP:
5792                            t = !0, this._move("previousPage", n);
5793                            break;
5794                        case a.PAGE_DOWN:
5795                            t = !0, this._move("nextPage", n);
5796                            break;
5797                        case a.UP:
5798                            t = !0, this._keyEvent("previous", n);
5799                            break;
5800                        case a.DOWN:
5801                            t = !0, this._keyEvent("next", n);
5802                            break;
5803                        case a.ENTER:
5804                            this.menu.active && (t = !0, n.preventDefault(), this.menu.select(n));
5805                            break;
5806                        case a.TAB:
5807                            this.menu.active && this.menu.select(n);
5808                            break;
5809                        case a.ESCAPE:
5810                            this.menu.element.is(":visible") && (this.isMultiLine || this._value(this.term), this.close(n), n.preventDefault());
5811                            break;
5812                        default:
5813                            i = !0, this._searchTimeout(n)
5814                    }
5815                }, keypress: function (s) {
5816                    if (t) return t = !1, void ((!this.isMultiLine || this.menu.element.is(":visible")) && s.preventDefault());
5817                    if (!i) {
5818                        var n = e.ui.keyCode;
5819                        switch (s.keyCode) {
5820                            case n.PAGE_UP:
5821                                this._move("previousPage", s);
5822                                break;
5823                            case n.PAGE_DOWN:
5824                                this._move("nextPage", s);
5825                                break;
5826                            case n.UP:
5827                                this._keyEvent("previous", s);
5828                                break;
5829                            case n.DOWN:
5830                                this._keyEvent("next", s)
5831                        }
5832                    }
5833                }, input: function (e) {
5834                    return s ? (s = !1, void e.preventDefault()) : void this._searchTimeout(e)
5835                }, focus: function () {
5836                    this.selectedItem = null, this.previous = this._value()
5837                }, blur: function (e) {
5838                    return this.cancelBlur ? void delete this.cancelBlur : (clearTimeout(this.searching), this.close(e), void this._change(e))
5839                }
5840            }), this._initSource(), this.menu = e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role: null}).hide().menu("instance"), this._on(this.menu.element, {
5841                mousedown: function (t) {
5842                    t.preventDefault(), this.cancelBlur = !0, this._delay(function () {
5843                        delete this.cancelBlur
5844                    });
5845                    var i = this.menu.element[0];
5846                    e(t.target).closest(".ui-menu-item").length || this._delay(function () {
5847                        var t = this;
5848                        this.document.one("mousedown", function (s) {
5849                            s.target === t.element[0] || s.target === i || e.contains(i, s.target) || t.close()
5850                        })
5851                    })
5852                }, menufocus: function (t, i) {
5853                    var s, n;
5854                    return this.isNewMenu && (this.isNewMenu = !1, t.originalEvent && /^mouse/.test(t.originalEvent.type)) ? (this.menu.blur(), void this.document.one("mousemove", function () {
5855                        e(t.target).trigger(t.originalEvent)
5856                    })) : (n = i.item.data("ui-autocomplete-item"), !1 !== this._trigger("focus", t, {item: n}) && t.originalEvent && /^key/.test(t.originalEvent.type) && this._value(n.value), s = i.item.attr("aria-label") || n.value, void (s && e.trim(s).length && (this.liveRegion.children().hide(), e("<div>").text(s).appendTo(this.liveRegion))))
5857                }, menuselect: function (e, t) {
5858                    var i = t.item.data("ui-autocomplete-item"), s = this.previous;
5859                    this.element[0] !== this.document[0].activeElement && (this.element.focus(), this.previous = s, this._delay(function () {
5860                        this.previous = s, this.selectedItem = i
5861                    })), !1 !== this._trigger("select", e, {item: i}
vendor: 270,946 bytes, lines 5861-9883
5861) && this._value(i.value), this.term = this._value(), this.close(e), this.selectedItem = i
5862                }
5863            }), this.liveRegion = e("<span>", {
5864                role: "status",
5865                "aria-live": "assertive",
5866                "aria-relevant": "additions"
5867            }).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body), this._on(this.window, {
5868                beforeunload: function () {
5869                    this.element.removeAttr("autocomplete")
5870                }
5871            })
5872        },
5873        _destroy: function () {
5874            clearTimeout(this.searching), this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"), this.menu.element.remove(), this.liveRegion.remove()
5875        },
5876        _setOption: function (e, t) {
5877            this._super(e, t), "source" === e && this._initSource(), "appendTo" === e && this.menu.element.appendTo(this._appendTo()), "disabled" === e && t && this.xhr && this.xhr.abort()
5878        },
5879        _appendTo: function () {
5880            var t = this.options.appendTo;
5881            return t && (t = t.jquery || t.nodeType ? e(t) : this.document.find(t).eq(0)), t && t[0] || (t = this.element.closest(".ui-front")), t.length || (t = this.document[0].body), t
5882        },
5883        _initSource: function () {
5884            var t, i, s = this;
5885            e.isArray(this.options.source) ? (t = this.options.source, this.source = function (i, s) {
5886                s(e.ui.autocomplete.filter(t, i.term))
5887            }) : "string" == typeof this.options.source ? (i = this.options.source, this.source = function (t, n) {
5888                s.xhr && s.xhr.abort(), s.xhr = e.ajax({
5889                    url: i, data: t, dataType: "json", success: function (e) {
5890                        n(e)
5891                    }, error: function () {
5892                        n([])
5893                    }
5894                })
5895            }) : this.source = this.options.source
5896        },
5897        _searchTimeout: function (e) {
5898            clearTimeout(this.searching), this.searching = this._delay(function () {
5899                var t = this.term === this._value(), i = this.menu.element.is(":visible"),
5900                    s = e.altKey || e.ctrlKey || e.metaKey || e.shiftKey;
5901                (!t || t && !i && !s) && (this.selectedItem = null, this.search(null, e))
5902            }, this.options.delay)
5903        },
5904        search: function (e, t) {
5905            return e = null != e ? e : this._value(), this.term = this._value(), e.length < this.options.minLength ? this.close(t) : this._trigger("search", t) !== !1 ? this._search(e) : void 0
5906        },
5907        _search: function (e) {
5908            this.pending++, this.element.addClass("ui-autocomplete-loading"), this.cancelSearch = !1, this.source({term: e}, this._response())
5909        },
5910        _response: function () {
5911            var t = ++this.requestIndex;
5912            return e.proxy(function (e) {
5913                t === this.requestIndex && this.__response(e), this.pending--, this.pending || this.element.removeClass("ui-autocomplete-loading")
5914            }, this)
5915        },
5916        __response: function (e) {
5917            e && (e = this._normalize(e)), this._trigger("response", null, {content: e}), !this.options.disabled && e && e.length && !this.cancelSearch ? (this._suggest(e), this._trigger("open")) : this._close()
5918        },
5919        close: function (e) {
5920            this.cancelSearch = !0, this._close(e)
5921        },
5922        _close: function (e) {
5923            this.menu.element.is(":visible") && (this.menu.element.hide(), this.menu.blur(), this.isNewMenu = !0, this._trigger("close", e))
5924        },
5925        _change: function (e) {
5926            this.previous !== this._value() && this._trigger("change", e, {item: this.selectedItem})
5927        },
5928        _normalize: function (t) {
5929            return t.length && t[0].label && t[0].value ? t : e.map(t, function (t) {
5930                return "string" == typeof t ? {label: t, value: t} : e.extend({}, t, {
5931                    label: t.label || t.value,
5932                    value: t.value || t.label
5933                })
5934            })
5935        },
5936        _suggest: function (t) {
5937            var i = this.menu.element.empty();
5938            this._renderMenu(i, t), this.isNewMenu = !0, this.menu.refresh(), i.show(), this._resizeMenu(), i.position(e.extend({of: this.element}, this.options.position)), this.options.autoFocus && this.menu.next()
5939        },
5940        _resizeMenu: function () {
5941            var e = this.menu.element;
5942            e.outerWidth(Math.max(e.width("").outerWidth() + 1, this.element.outerWidth()))
5943        },
5944        _renderMenu: function (t, i) {
5945            var s = this;
5946            e.each(i, function (e, i) {
5947                s._renderItemData(t, i)
5948            })
5949        },
5950        _renderItemData: function (e, t) {
5951            return this._renderItem(e, t).data("ui-autocomplete-item", t)
5952        },
5953        _renderItem: function (t, i) {
5954            return e("<li>").text(i.label).appendTo(t)
5955        },
5956        _move: function (e, t) {
5957            return this.menu.element.is(":visible") ? this.menu.isFirstItem() && /^previous/.test(e) || this.menu.isLastItem() && /^next/.test(e) ? (this.isMultiLine || this._value(this.term), void this.menu.blur()) : void this.menu[e](t) : void this.search(null, t)
5958        },
5959        widget: function () {
5960            return this.menu.element
5961        },
5962        _value: function () {
5963            return this.valueMethod.apply(this.element, arguments)
5964        },
5965        _keyEvent: function (e, t) {
5966            (!this.isMultiLine || this.menu.element.is(":visible")) && (this._move(e, t), t.preventDefault())
5967        }
5968    }), e.extend(e.ui.autocomplete, {
5969        escapeRegex: function (e) {
5970            return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
5971        }, filter: function (t, i) {
5972            var s = RegExp(e.ui.autocomplete.escapeRegex(i), "i");
5973            return e.grep(t, function (e) {
5974                return s.test(e.label || e.value || e)
5975            })
5976        }
5977    }), e.widget("ui.autocomplete", e.ui.autocomplete, {
5978        options: {
5979            messages: {
5980                noResults: "No search results.",
5981                results: function (e) {
5982                    return e + (e > 1 ? " results are" : " result is") + " available, use up and down arrow keys to navigate."
5983                }
5984            }
5985        }, __response: function (t) {
5986            var i;
5987            this._superApply(arguments), this.options.disabled || this.cancelSearch || (i = t && t.length ? this.options.messages.results(t.length) : this.options.messages.noResults, this.liveRegion.children().hide(), e("<div>").text(i).appendTo(this.liveRegion))
5988        }
5989    }), e.ui.autocomplete;
5990    var c, p = "ui-button ui-widget ui-state-default ui-corner-all",
5991        f = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
5992        m = function () {
5993            var t = e(this);
5994            setTimeout(function () {
5995                t.find(":ui-button").button("refresh")
5996            }, 1)
5997        }, g = function (t) {
5998            var i = t.name, s = t.form, n = e([]);
5999            return i && (i = i.replace(/'/g, "\\'"), n = s ? e(s).find("[name='" + i + "'][type=radio]") : e("[name='" + i + "'][type=radio]", t.ownerDocument).filter(function () {
6000                return !this.form
6001            })), n
6002        };
6003    e.widget("ui.button", {
6004        version: "1.11.4",
6005        defaultElement: "<button>",
6006        options: {disabled: null, text: !0, label: null, icons: {primary: null, secondary: null}},
6007        _create: function () {
6008            this.element.closest("form").unbind("reset" + this.eventNamespace).bind("reset" + this.eventNamespace, m), "boolean" != typeof this.options.disabled ? this.options.disabled = !!this.element.prop("disabled") : this.element.prop("disabled", this.options.disabled), this._determineButtonType(), this.hasTitle = !!this.buttonElement.attr("title");
6009            var t = this, i = this.options, s = "checkbox" === this.type || "radio" === this.type,
6010                n = s ? "" : "ui-state-active";
6011            null === i.label && (i.label = "input" === this.type ? this.buttonElement.val() : this.buttonElement.html()), this._hoverable(this.buttonElement), this.buttonElement.addClass(p).attr("role", "button").bind("mouseenter" + this.eventNamespace, function () {
6012                i.disabled || this === c && e(this).addClass("ui-state-active")
6013            }).bind("mouseleave" + this.eventNamespace, function () {
6014                i.disabled || e(this).removeClass(n)
6015            }).bind("click" + this.eventNamespace, function (e) {
6016                i.disabled && (e.preventDefault(), e.stopImmediatePropagation())
6017            }), this._on({
6018                focus: function () {
6019                    this.buttonElement.addClass("ui-state-focus")
6020                }, blur: function () {
6021                    this.buttonElement.removeClass("ui-state-focus")
6022                }
6023            }), s && this.element.bind("change" + this.eventNamespace, function () {
6024                t.refresh()
6025            }), "checkbox" === this.type ? this.buttonElement.bind("click" + this.eventNamespace, function () {
6026                return i.disabled ? !1 : void 0
6027            }) : "radio" === this.type ? this.buttonElement.bind("click" + this.eventNamespace, function () {
6028                if (i.disabled) return !1;
6029                e(this).addClass("ui-state-active"), t.buttonElement.attr("aria-pressed", "true");
6030                var s = t.element[0];
6031                g(s).not(s).map(function () {
6032                    return e(this).button("widget")[0]
6033                }).removeClass("ui-state-active").attr("aria-pressed", "false")
6034            }) : (this.buttonElement.bind("mousedown" + this.eventNamespace, function () {
6035                return i.disabled ? !1 : (e(this).addClass("ui-state-active"), c = this, void t.document.one("mouseup", function () {
6036                    c = null
6037                }))
6038            }).bind("mouseup" + this.eventNamespace, function () {
6039                return i.disabled ? !1 : void e(this).removeClass("ui-state-active")
6040            }).bind("keydown" + this.eventNamespace, function (t) {
6041                return i.disabled ? !1 : void ((t.keyCode === e.ui.keyCode.SPACE || t.keyCode === e.ui.keyCode.ENTER) && e(this).addClass("ui-state-active"))
6042            }).bind("keyup" + this.eventNamespace + " blur" + this.eventNamespace, function () {
6043                e(this).removeClass("ui-state-active")
6044            }), this.buttonElement.is("a") && this.buttonElement.keyup(function (t) {
6045                t.keyCode === e.ui.keyCode.SPACE && e(this).click()
6046            })), this._setOption("disabled", i.disabled), this._resetButton()
6047        },
6048        _determineButtonType: function () {
6049            var e, t, i;
6050            this.type = this.element.is("[type=checkbox]") ? "checkbox" : this.element.is("[type=radio]") ? "radio" : this.element.is("input") ? "input" : "button", "checkbox" === this.type || "radio" === this.type ? (e = this.element.parents().last(), t = "label[for='" + this.element.attr("id") + "']", this.buttonElement = e.find(t), this.buttonElement.length || (e = e.length ? e.siblings() : this.element.siblings(), this.buttonElement = e.filter(t), this.buttonElement.length || (this.buttonElement = e.find(t))), this.element.addClass("ui-helper-hidden-accessible"), i = this.element.is(":checked"), i && this.buttonElement.addClass("ui-state-active"), this.buttonElement.prop("aria-pressed", i)) : this.buttonElement = this.element
6051        },
6052        widget: function () {
6053            return this.buttonElement
6054        },
6055        _destroy: function () {
6056            this.element.removeClass("ui-helper-hidden-accessible"), this.buttonElement.removeClass(p + " ui-state-active " + f).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()), this.hasTitle || this.buttonElement.removeAttr("title")
6057        },
6058        _setOption: function (e, t) {
6059            return this._super(e, t), "disabled" === e ? (this.widget().toggleClass("ui-state-disabled", !!t), this.element.prop("disabled", !!t), void (t && ("checkbox" === this.type || "radio" === this.type ? this.buttonElement.removeClass("ui-state-focus") : this.buttonElement.removeClass("ui-state-focus ui-state-active")))) : void this._resetButton()
6060        },
6061        refresh: function () {
6062            var t = this.element.is("input, button") ? this.element.is(":disabled") : this.element.hasClass("ui-button-disabled");
6063            t !== this.options.disabled && this._setOption("disabled", t), "radio" === this.type ? g(this.element[0]).each(function () {
6064                e(this).is(":checked") ? e(this).button("widget").addClass("ui-state-active").attr("aria-pressed", "true") : e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed", "false")
6065            }) : "checkbox" === this.type && (this.element.is(":checked") ? this.buttonElement.addClass("ui-state-active").attr("aria-pressed", "true") : this.buttonElement.removeClass("ui-state-active").attr("aria-pressed", "false"))
6066        },
6067        _resetButton: function () {
6068            if ("input" === this.type) return void (this.options.label && this.element.val(this.options.label));
6069            var t = this.buttonElement.removeClass(f),
6070                i = e("<span></span>", this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),
6071                s = this.options.icons, n = s.primary && s.secondary, a = [];
6072            s.primary || s.secondary ? (this.options.text && a.push("ui-button-text-icon" + (n ? "s" : s.primary ? "-primary" : "-secondary")), s.primary && t.prepend("<span class='ui-button-icon-primary ui-icon " + s.primary + "'></span>"), s.secondary && t.append("<span class='ui-button-icon-secondary ui-icon " + s.secondary + "'></span>"), this.options.text || (a.push(n ? "ui-button-icons-only" : "ui-button-icon-only"), this.hasTitle || t.attr("title", e.trim(i)))) : a.push("ui-button-text-only"), t.addClass(a.join(" "))
6073        }
6074    }), e.widget("ui.buttonset", {
6075        version: "1.11.4",
6076        options: {items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},
6077        _create: function () {
6078            this.element.addClass("ui-buttonset")
6079        },
6080        _init: function () {
6081            this.refresh()
6082        },
6083        _setOption: function (e, t) {
6084            "disabled" === e && this.buttons.button("option", e, t), this._super(e, t)
6085        },
6086        refresh: function () {
6087            var t = "rtl" === this.element.css("direction"), i = this.element.find(this.options.items),
6088                s = i.filter(":ui-button");
6089            i.not(":ui-button").button(), s.button("refresh"), this.buttons = i.map(function () {
6090                return e(this).button("widget")[0]
6091            }).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t ? "ui-corner-right" : "ui-corner-left").end().filter(":last").addClass(t ? "ui-corner-left" : "ui-corner-right").end().end()
6092        },
6093        _destroy: function () {
6094            this.element.removeClass("ui-buttonset"), this.buttons.map(function () {
6095                return e(this).button("widget")[0]
6096            }).removeClass("ui-corner-left ui-corner-right").end().button("destroy")
6097        }
6098    }), e.ui.button, e.extend(e.ui, {datepicker: {version: "1.11.4"}});
6099    var v;
6100    e.extend(n.prototype, {
6101        markerClassName: "hasDatepicker",
6102        maxRows: 4,
6103        _widgetDatepicker: function () {
6104            return this.dpDiv
6105        },
6106        setDefaults: function (e) {
6107            return r(this._defaults, e || {}), this
6108        },
6109        _attachDatepicker: function (t, i) {
6110            var s, n, a;
6111            s = t.nodeName.toLowerCase(), n = "div" === s || "span" === s, t.id || (this.uuid += 1, t.id = "dp" + this.uuid), a = this._newInst(e(t), n), a.settings = e.extend({}, i || {}), "input" === s ? this._connectDatepicker(t, a) : n && this._inlineDatepicker(t, a)
6112        },
6113        _newInst: function (t, i) {
6114            var s = t[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1");
6115            return {
6116                id: s,
6117                input: t,
6118                selectedDay: 0,
6119                selectedMonth: 0,
6120                selectedYear: 0,
6121                drawMonth: 0,
6122                drawYear: 0,
6123                inline: i,
6124                dpDiv: i ? a(e("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")) : this.dpDiv
6125            }
6126        },
6127        _connectDatepicker: function (t, i) {
6128            var s = e(t);
6129            i.append = e([]), i.trigger = e([]), s.hasClass(this.markerClassName) || (this._attachments(s, i), s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp), this._autoSize(i), e.data(t, "datepicker", i), i.settings.disabled && this._disableDatepicker(t))
6130        },
6131        _attachments: function (t, i) {
6132            var s, n, a, o = this._get(i, "appendText"), r = this._get(i, "isRTL");
6133            i.append && i.append.remove(), o && (i.append = e("<span class='" + this._appendClass + "'>" + o + "</span>"), t[r ? "before" : "after"](i.append)), t.unbind("focus", this._showDatepicker), i.trigger && i.trigger.remove(), s = this._get(i, "showOn"), ("focus" === s || "both" === s) && t.focus(this._showDatepicker), ("button" === s || "both" === s) && (n = this._get(i, "buttonText"), a = this._get(i, "buttonImage"), i.trigger = e(this._get(i, "buttonImageOnly") ? e("<img/>").addClass(this._triggerClass).attr({
6134                src: a,
6135                alt: n,
6136                title: n
6137            }) : e("<button type='button'></button>").addClass(this._triggerClass).html(a ? e("<img/>").attr({
6138                src: a,
6139                alt: n,
6140                title: n
6141            }) : n)), t[r ? "before" : "after"](i.trigger), i.trigger.click(function () {
6142                return e.datepicker._datepickerShowing && e.datepicker._lastInput === t[0] ? e.datepicker._hideDatepicker() : e.datepicker._datepickerShowing && e.datepicker._lastInput !== t[0] ? (e.datepicker._hideDatepicker(), e.datepicker._showDatepicker(t[0])) : e.datepicker._showDatepicker(t[0]), !1
6143            }))
6144        },
6145        _autoSize: function (e) {
6146            if (this._get(e, "autoSize") && !e.inline) {
6147                var t, i, s, n, a = new Date(2009, 11, 20), o = this._get(e, "dateFormat");
6148                o.match(/[DM]/) && (t = function (e) {
6149                    for (i = 0, s = 0, n = 0; e.length > n; n++) e[n].length > i && (i = e[n].length, s = n);
6150                    return s
6151                }, a.setMonth(t(this._get(e, o.match(/MM/) ? "monthNames" : "monthNamesShort"))), a.setDate(t(this._get(e, o.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - a.getDay())), e.input.attr("size", this._formatDate(e, a).length)
6152            }
6153        },
6154        _inlineDatepicker: function (t, i) {
6155            var s = e(t);
6156            s.hasClass(this.markerClassName) || (s.addClass(this.markerClassName).append(i.dpDiv), e.data(t, "datepicker", i), this._setDate(i, this._getDefaultDate(i), !0), this._updateDatepicker(i), this._updateAlternate(i), i.settings.disabled && this._disableDatepicker(t), i.dpDiv.css("display", "block"))
6157        },
6158        _dialogDatepicker: function (t, i, s, n, a) {
6159            var o, h, l, u, d, c = this._dialogInst;
6160            return c || (this.uuid += 1, o = "dp" + this.uuid, this._dialogInput = e("<input type='text' id='" + o + "' style='position: absolute; top: -100px; width: 0px;'/>"), this._dialogInput.keydown(this._doKeyDown), e("body").append(this._dialogInput), c = this._dialogInst = this._newInst(this._dialogInput, !1), c.settings = {}, e.data(this._dialogInput[0], "datepicker", c)), r(c.settings, n || {}), i = i && i.constructor === Date ? this._formatDate(c, i) : i, this._dialogInput.val(i), this._pos = a ? a.length ? a : [a.pageX, a.pageY] : null, this._pos || (h = document.documentElement.clientWidth, l = document.documentElement.clientHeight, u = document.documentElement.scrollLeft || document.body.scrollLeft, d = document.documentElement.scrollTop || document.body.scrollTop, this._pos = [h / 2 - 100 + u, l / 2 - 150 + d]), this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"), c.settings.onSelect = s, this._inDialog = !0, this.dpDiv.addClass(this._dialogClass), this._showDatepicker(this._dialogInput[0]), e.blockUI && e.blockUI(this.dpDiv), e.data(this._dialogInput[0], "datepicker", c), this
6161        },
6162        _destroyDatepicker: function (t) {
6163            var i, s = e(t), n = e.data(t, "datepicker");
6164            s.hasClass(this.markerClassName) && (i = t.nodeName.toLowerCase(), e.removeData(t, "datepicker"), "input" === i ? (n.append.remove(), n.trigger.remove(), s.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)) : ("div" === i || "span" === i) && s.removeClass(this.markerClassName).empty(), v === n && (v = null))
6165        },
6166        _enableDatepicker: function (t) {
6167            var i, s, n = e(t), a = e.data(t, "datepicker");
6168            n.hasClass(this.markerClassName) && (i = t.nodeName.toLowerCase(), "input" === i ? (t.disabled = !1, a.trigger.filter("button").each(function () {
6169                this.disabled = !1
6170            }).end().filter("img").css({
6171                opacity: "1.0",
6172                cursor: ""
6173            })) : ("div" === i || "span" === i) && (s = n.children("." + this._inlineClass), s.children().removeClass("ui-state-disabled"), s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !1)), this._disabledInputs = e.map(this._disabledInputs, function (e) {
6174                return e === t ? null : e
6175            }))
6176        },
6177        _disableDatepicker: function (t) {
6178            var i, s, n = e(t), a = e.data(t, "datepicker");
6179            n.hasClass(this.markerClassName) && (i = t.nodeName.toLowerCase(), "input" === i ? (t.disabled = !0, a.trigger.filter("button").each(function () {
6180                this.disabled = !0
6181            }).end().filter("img").css({
6182                opacity: "0.5",
6183                cursor: "default"
6184            })) : ("div" === i || "span" === i) && (s = n.children("." + this._inlineClass), s.children().addClass("ui-state-disabled"), s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !0)), this._disabledInputs = e.map(this._disabledInputs, function (e) {
6185                return e === t ? null : e
6186            }), this._disabledInputs[this._disabledInputs.length] = t)
6187        },
6188        _isDisabledDatepicker: function (e) {
6189            if (!e) return !1;
6190            for (var t = 0; this._disabledInputs.length > t; t++) if (this._disabledInputs[t] === e) return !0;
6191            return !1
6192        },
6193        _getInst: function (t) {
6194            try {
6195                return e.data(t, "datepicker")
6196            } catch (i) {
6197                throw"Missing instance data for this datepicker"
6198            }
6199        },
6200        _optionDatepicker: function (t, i, s) {
6201            var n, a, o, h, l = this._getInst(t);
6202            return 2 === arguments.length && "string" == typeof i ? "defaults" === i ? e.extend({}, e.datepicker._defaults) : l ? "all" === i ? e.extend({}, l.settings) : this._get(l, i) : null : (n = i || {}, "string" == typeof i && (n = {}, n[i] = s), void (l && (this._curInst === l && this._hideDatepicker(), a = this._getDateDatepicker(t, !0), o = this._getMinMaxDate(l, "min"), h = this._getMinMaxDate(l, "max"), r(l.settings, n), null !== o && void 0 !== n.dateFormat && void 0 === n.minDate && (l.settings.minDate = this._formatDate(l, o)), null !== h && void 0 !== n.dateFormat && void 0 === n.maxDate && (l.settings.maxDate = this._formatDate(l, h)), "disabled" in n && (n.disabled ? this._disableDatepicker(t) : this._enableDatepicker(t)), this._attachments(e(t), l), this._autoSize(l), this._setDate(l, a), this._updateAlternate(l), this._updateDatepicker(l))))
6203        },
6204        _changeDatepicker: function (e, t, i) {
6205            this._optionDatepicker(e, t, i)
6206        },
6207        _refreshDatepicker: function (e) {
6208            var t = this._getInst(e);
6209            t && this._updateDatepicker(t)
6210        },
6211        _setDateDatepicker: function (e, t) {
6212            var i = this._getInst(e);
6213            i && (this._setDate(i, t), this._updateDatepicker(i), this._updateAlternate(i))
6214        },
6215        _getDateDatepicker: function (e, t) {
6216            var i = this._getInst(e);
6217            return i && !i.inline && this._setDateFromField(i, t), i ? this._getDate(i) : null
6218        },
6219        _doKeyDown: function (t) {
6220            var i, s, n, a = e.datepicker._getInst(t.target), o = !0, r = a.dpDiv.is(".ui-datepicker-rtl");
6221            if (a._keyEvent = !0, e.datepicker._datepickerShowing) switch (t.keyCode) {
6222                case 9:
6223                    e.datepicker._hideDatepicker(), o = !1;
6224                    break;
6225                case 13:
6226                    return n = e("td." + e.datepicker._dayOverClass + ":not(." + e.datepicker._currentClass + ")", a.dpDiv), n[0] && e.datepicker._selectDay(t.target, a.selectedMonth, a.selectedYear, n[0]), i = e.datepicker._get(a, "onSelect"), i ? (s = e.datepicker._formatDate(a), i.apply(a.input ? a.input[0] : null, [s, a])) : e.datepicker._hideDatepicker(), !1;
6227                case 27:
6228                    e.datepicker._hideDatepicker();
6229                    break;
6230                case 33:
6231                    e.datepicker._adjustDate(t.target, t.ctrlKey ? -e.datepicker._get(a, "stepBigMonths") : -e.datepicker._get(a, "stepMonths"), "M");
6232                    break;
6233                case 34:
6234                    e.datepicker._adjustDate(t.target, t.ctrlKey ? +e.datepicker._get(a, "stepBigMonths") : +e.datepicker._get(a, "stepMonths"), "M");
6235                    break;
6236                case 35:
6237                    (t.ctrlKey || t.metaKey) && e.datepicker._clearDate(t.target), o = t.ctrlKey || t.metaKey;
6238                    break;
6239                case 36:
6240                    (t.ctrlKey || t.metaKey) && e.datepicker._gotoToday(t.target), o = t.ctrlKey || t.metaKey;
6241                    break;
6242                case 37:
6243                    (t.ctrlKey || t.metaKey) && e.datepicker._adjustDate(t.target, r ? 1 : -1, "D"), o = t.ctrlKey || t.metaKey, t.originalEvent.altKey && e.datepicker._adjustDate(t.target, t.ctrlKey ? -e.datepicker._get(a, "stepBigMonths") : -e.datepicker._get(a, "stepMonths"), "M");
6244                    break;
6245                case 38:
6246                    (t.ctrlKey || t.metaKey) && e.datepicker._adjustDate(t.target, -7, "D"), o = t.ctrlKey || t.metaKey;
6247                    break;
6248                case 39:
6249                    (t.ctrlKey || t.metaKey) && e.datepicker._adjustDate(t.target, r ? -1 : 1, "D"), o = t.ctrlKey || t.metaKey, t.originalEvent.altKey && e.datepicker._adjustDate(t.target, t.ctrlKey ? +e.datepicker._get(a, "stepBigMonths") : +e.datepicker._get(a, "stepMonths"), "M");
6250                    break;
6251                case 40:
6252                    (t.ctrlKey || t.metaKey) && e.datepicker._adjustDate(t.target, 7, "D"), o = t.ctrlKey || t.metaKey;
6253                    break;
6254                default:
6255                    o = !1
6256            } else 36 === t.keyCode && t.ctrlKey ? e.datepicker._showDatepicker(this) : o = !1;
6257            o && (t.preventDefault(), t.stopPropagation())
6258        },
6259        _doKeyPress: function (t) {
6260            var i, s, n = e.datepicker._getInst(t.target);
6261            return e.datepicker._get(n, "constrainInput") ? (i = e.datepicker._possibleChars(e.datepicker._get(n, "dateFormat")), s = String.fromCharCode(null == t.charCode ? t.keyCode : t.charCode), t.ctrlKey || t.metaKey || " " > s || !i || i.indexOf(s) > -1) : void 0
6262        },
6263        _doKeyUp: function (t) {
6264            var i, s = e.datepicker._getInst(t.target);
6265            if (s.input.val() !== s.lastVal) try {
6266                i = e.datepicker.parseDate(e.datepicker._get(s, "dateFormat"), s.input ? s.input.val() : null, e.datepicker._getFormatConfig(s)), i && (e.datepicker._setDateFromField(s), e.datepicker._updateAlternate(s), e.datepicker._updateDatepicker(s))
6267            } catch (n) {
6268            }
6269            return !0
6270        },
6271        _showDatepicker: function (t) {
6272            if (t = t.target || t, "input" !== t.nodeName.toLowerCase() && (t = e("input", t.parentNode)[0]), !e.datepicker._isDisabledDatepicker(t) && e.datepicker._lastInput !== t) {
6273                var i, n, a, o, h, l, u;
6274                i = e.datepicker._getInst(t), e.datepicker._curInst && e.datepicker._curInst !== i && (e.datepicker._curInst.dpDiv.stop(!0, !0), i && e.datepicker._datepickerShowing && e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])), n = e.datepicker._get(i, "beforeShow"), a = n ? n.apply(t, [t, i]) : {}, a !== !1 && (r(i.settings, a), i.lastVal = null, e.datepicker._lastInput = t, e.datepicker._setDateFromField(i), e.datepicker._inDialog && (t.value = ""), e.datepicker._pos || (e.datepicker._pos = e.datepicker._findPos(t), e.datepicker._pos[1] += t.offsetHeight), o = !1, e(t).parents().each(function () {
6275                    return o |= "fixed" === e(this).css("position"), !o
6276                }), h = {
6277                    left: e.datepicker._pos[0],
6278                    top: e.datepicker._pos[1]
6279                }, e.datepicker._pos = null, i.dpDiv.empty(), i.dpDiv.css({
6280                    position: "absolute",
6281                    display: "block",
6282                    top: "-1000px"
6283                }), e.datepicker._updateDatepicker(i), h = e.datepicker._checkOffset(i, h, o), i.dpDiv.css({
6284                    position: e.datepicker._inDialog && e.blockUI ? "static" : o ? "fixed" : "absolute",
6285                    display: "none",
6286                    left: h.left + "px",
6287                    top: h.top + "px"
6288                }), i.inline || (l = e.datepicker._get(i, "showAnim"), u = e.datepicker._get(i, "duration"), i.dpDiv.css("z-index", s(e(t)) + 1), e.datepicker._datepickerShowing = !0, e.effects && e.effects.effect[l] ? i.dpDiv.show(l, e.datepicker._get(i, "showOptions"), u) : i.dpDiv[l || "show"](l ? u : null), e.datepicker._shouldFocusInput(i) && i.input.focus(), e.datepicker._curInst = i))
6289            }
6290        },
6291        _updateDatepicker: function (t) {
6292            this.maxRows = 4, v = t, t.dpDiv.empty().append(this._generateHTML(t)), this._attachHandlers(t);
6293            var i, s = this._getNumberOfMonths(t), n = s[1], a = 17, r = t.dpDiv.find("." + this._dayOverClass + " a");
6294            r.length > 0 && o.apply(r.get(0)), t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""), n > 1 && t.dpDiv.addClass("ui-datepicker-multi-" + n).css("width", a * n + "em"), t.dpDiv[(1 !== s[0] || 1 !== s[1] ? "add" : "remove") + "Class"]("ui-datepicker-multi"), t.dpDiv[(this._get(t, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"), t === e.datepicker._curInst && e.datepicker._datepickerShowing && e.datepicker._shouldFocusInput(t) && t.input.focus(), t.yearshtml && (i = t.yearshtml, setTimeout(function () {
6295                i === t.yearshtml && t.yearshtml && t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml), i = t.yearshtml = null
6296            }, 0))
6297        },
6298        _shouldFocusInput: function (e) {
6299            return e.input && e.input.is(":visible") && !e.input.is(":disabled") && !e.input.is(":focus")
6300        },
6301        _checkOffset: function (t, i, s) {
6302            var n = t.dpDiv.outerWidth(), a = t.dpDiv.outerHeight(), o = t.input ? t.input.outerWidth() : 0,
6303                r = t.input ? t.input.outerHeight() : 0,
6304                h = document.documentElement.clientWidth + (s ? 0 : e(document).scrollLeft()),
6305                l = document.documentElement.clientHeight + (s ? 0 : e(document).scrollTop());
6306            return i.left -= this._get(t, "isRTL") ? n - o : 0, i.left -= s && i.left === t.input.offset().left ? e(document).scrollLeft() : 0,
6307                i.top -= s && i.top === t.input.offset().top + r ? e(document).scrollTop() : 0, i.left -= Math.min(i.left, i.left + n > h && h > n ? Math.abs(i.left + n - h) : 0), i.top -= Math.min(i.top, i.top + a > l && l > a ? Math.abs(a + r) : 0), i
6308        },
6309        _findPos: function (t) {
6310            for (var i, s = this._getInst(t), n = this._get(s, "isRTL"); t && ("hidden" === t.type || 1 !== t.nodeType || e.expr.filters.hidden(t));) t = t[n ? "previousSibling" : "nextSibling"];
6311            return i = e(t).offset(), [i.left, i.top]
6312        },
6313        _hideDatepicker: function (t) {
6314            var i, s, n, a, o = this._curInst;
6315            !o || t && o !== e.data(t, "datepicker") || this._datepickerShowing && (i = this._get(o, "showAnim"), s = this._get(o, "duration"), n = function () {
6316                e.datepicker._tidyDialog(o)
6317            }, e.effects && (e.effects.effect[i] || e.effects[i]) ? o.dpDiv.hide(i, e.datepicker._get(o, "showOptions"), s, n) : o.dpDiv["slideDown" === i ? "slideUp" : "fadeIn" === i ? "fadeOut" : "hide"](i ? s : null, n), i || n(), this._datepickerShowing = !1, a = this._get(o, "onClose"), a && a.apply(o.input ? o.input[0] : null, [o.input ? o.input.val() : "", o]), this._lastInput = null, this._inDialog && (this._dialogInput.css({
6318                position: "absolute",
6319                left: "0",
6320                top: "-100px"
6321            }), e.blockUI && (e.unblockUI(), e("body").append(this.dpDiv))), this._inDialog = !1)
6322        },
6323        _tidyDialog: function (e) {
6324            e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
6325        },
6326        _checkExternalClick: function (t) {
6327            if (e.datepicker._curInst) {
6328                var i = e(t.target), s = e.datepicker._getInst(i[0]);
6329                (i[0].id !== e.datepicker._mainDivId && 0 === i.parents("#" + e.datepicker._mainDivId).length && !i.hasClass(e.datepicker.markerClassName) && !i.closest("." + e.datepicker._triggerClass).length && e.datepicker._datepickerShowing && (!e.datepicker._inDialog || !e.blockUI) || i.hasClass(e.datepicker.markerClassName) && e.datepicker._curInst !== s) && e.datepicker._hideDatepicker()
6330            }
6331        },
6332        _adjustDate: function (t, i, s) {
6333            var n = e(t), a = this._getInst(n[0]);
6334            this._isDisabledDatepicker(n[0]) || (this._adjustInstDate(a, i + ("M" === s ? this._get(a, "showCurrentAtPos") : 0), s), this._updateDatepicker(a))
6335        },
6336        _gotoToday: function (t) {
6337            var i, s = e(t), n = this._getInst(s[0]);
6338            this._get(n, "gotoCurrent") && n.currentDay ? (n.selectedDay = n.currentDay, n.drawMonth = n.selectedMonth = n.currentMonth, n.drawYear = n.selectedYear = n.currentYear) : (i = new Date, n.selectedDay = i.getDate(), n.drawMonth = n.selectedMonth = i.getMonth(), n.drawYear = n.selectedYear = i.getFullYear()), this._notifyChange(n), this._adjustDate(s)
6339        },
6340        _selectMonthYear: function (t, i, s) {
6341            var n = e(t), a = this._getInst(n[0]);
6342            a["selected" + ("M" === s ? "Month" : "Year")] = a["draw" + ("M" === s ? "Month" : "Year")] = parseInt(i.options[i.selectedIndex].value, 10), this._notifyChange(a), this._adjustDate(n)
6343        },
6344        _selectDay: function (t, i, s, n) {
6345            var a, o = e(t);
6346            e(n).hasClass(this._unselectableClass) || this._isDisabledDatepicker(o[0]) || (a = this._getInst(o[0]), a.selectedDay = a.currentDay = e("a", n).html(), a.selectedMonth = a.currentMonth = i, a.selectedYear = a.currentYear = s, this._selectDate(t, this._formatDate(a, a.currentDay, a.currentMonth, a.currentYear)))
6347        },
6348        _clearDate: function (t) {
6349            var i = e(t);
6350            this._selectDate(i, "")
6351        },
6352        _selectDate: function (t, i) {
6353            var s, n = e(t), a = this._getInst(n[0]);
6354            i = null != i ? i : this._formatDate(a), a.input && a.input.val(i), this._updateAlternate(a), s = this._get(a, "onSelect"), s ? s.apply(a.input ? a.input[0] : null, [i, a]) : a.input && a.input.trigger("change"), a.inline ? this._updateDatepicker(a) : (this._hideDatepicker(), this._lastInput = a.input[0], "object" != typeof a.input[0] && a.input.focus(), this._lastInput = null)
6355        },
6356        _updateAlternate: function (t) {
6357            var i, s, n, a = this._get(t, "altField");
6358            a && (i = this._get(t, "altFormat") || this._get(t, "dateFormat"), s = this._getDate(t), n = this.formatDate(i, s, this._getFormatConfig(t)), e(a).each(function () {
6359                e(this).val(n)
6360            }))
6361        },
6362        noWeekends: function (e) {
6363            var t = e.getDay();
6364            return [t > 0 && 6 > t, ""]
6365        },
6366        iso8601Week: function (e) {
6367            var t, i = new Date(e.getTime());
6368            return i.setDate(i.getDate() + 4 - (i.getDay() || 7)), t = i.getTime(), i.setMonth(0), i.setDate(1), Math.floor(Math.round((t - i) / 864e5) / 7) + 1
6369        },
6370        parseDate: function (t, i, s) {
6371            if (null == t || null == i) throw"Invalid arguments";
6372            if (i = "object" == typeof i ? "" + i : i + "", "" === i) return null;
6373            var n, a, o, r, h = 0, l = (s ? s.shortYearCutoff : null) || this._defaults.shortYearCutoff,
6374                u = "string" != typeof l ? l : (new Date).getFullYear() % 100 + parseInt(l, 10),
6375                d = (s ? s.dayNamesShort : null) || this._defaults.dayNamesShort,
6376                c = (s ? s.dayNames : null) || this._defaults.dayNames,
6377                p = (s ? s.monthNamesShort : null) || this._defaults.monthNamesShort,
6378                f = (s ? s.monthNames : null) || this._defaults.monthNames, m = -1, g = -1, v = -1, y = -1, b = !1,
6379                _ = function (e) {
6380                    var i = t.length > n + 1 && t.charAt(n + 1) === e;
6381                    return i && n++, i
6382                }, x = function (e) {
6383                    var t = _(e), s = "@" === e ? 14 : "!" === e ? 20 : "y" === e && t ? 4 : "o" === e ? 3 : 2,
6384                        n = "y" === e ? s : 1, a = RegExp("^\\d{" + n + "," + s + "}"), o = i.substring(h).match(a);
6385                    if (!o) throw"Missing number at position " + h;
6386                    return h += o[0].length, parseInt(o[0], 10)
6387                }, w = function (t, s, n) {
6388                    var a = -1, o = e.map(_(t) ? n : s, function (e, t) {
6389                        return [[t, e]]
6390                    }).sort(function (e, t) {
6391                        return -(e[1].length - t[1].length)
6392                    });
6393                    if (e.each(o, function (e, t) {
6394                        var s = t[1];
6395                        return i.substr(h, s.length).toLowerCase() === s.toLowerCase() ? (a = t[0], h += s.length, !1) : void 0
6396                    }), -1 !== a) return a + 1;
6397                    throw"Unknown name at position " + h
6398                }, k = function () {
6399                    if (i.charAt(h) !== t.charAt(n)) throw"Unexpected literal at position " + h;
6400                    h++
6401                };
6402            for (n = 0; t.length > n; n++) if (b) "'" !== t.charAt(n) || _("'") ? k() : b = !1; else switch (t.charAt(n)) {
6403                case"d":
6404                    v = x("d");
6405                    break;
6406                case"D":
6407                    w("D", d, c);
6408                    break;
6409                case"o":
6410                    y = x("o");
6411                    break;
6412                case"m":
6413                    g = x("m");
6414                    break;
6415                case"M":
6416                    g = w("M", p, f);
6417                    break;
6418                case"y":
6419                    m = x("y");
6420                    break;
6421                case"@":
6422                    r = new Date(x("@")), m = r.getFullYear(), g = r.getMonth() + 1, v = r.getDate();
6423                    break;
6424                case"!":
6425                    r = new Date((x("!") - this._ticksTo1970) / 1e4), m = r.getFullYear(), g = r.getMonth() + 1, v = r.getDate();
6426                    break;
6427                case"'":
6428                    _("'") ? k() : b = !0;
6429                    break;
6430                default:
6431                    k()
6432            }
6433            if (i.length > h && (o = i.substr(h), !/^\s+/.test(o))) throw"Extra/unparsed characters found in date: " + o;
6434            if (-1 === m ? m = (new Date).getFullYear() : 100 > m && (m += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (u >= m ? 0 : -100)), y > -1) for (g = 1, v = y; a = this._getDaysInMonth(m, g - 1), !(a >= v);) g++, v -= a;
6435            if (r = this._daylightSavingAdjust(new Date(m, g - 1, v)), r.getFullYear() !== m || r.getMonth() + 1 !== g || r.getDate() !== v) throw"Invalid date";
6436            return r
6437        },
6438        ATOM: "yy-mm-dd",
6439        COOKIE: "D, dd M yy",
6440        ISO_8601: "yy-mm-dd",
6441        RFC_822: "D, d M y",
6442        RFC_850: "DD, dd-M-y",
6443        RFC_1036: "D, d M y",
6444        RFC_1123: "D, d M yy",
6445        RFC_2822: "D, d M yy",
6446        RSS: "D, d M y",
6447        TICKS: "!",
6448        TIMESTAMP: "@",
6449        W3C: "yy-mm-dd",
6450        _ticksTo1970: 864e9 * (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)),
6451        formatDate: function (e, t, i) {
6452            if (!t) return "";
6453            var s, n = (i ? i.dayNamesShort : null) || this._defaults.dayNamesShort,
6454                a = (i ? i.dayNames : null) || this._defaults.dayNames,
6455                o = (i ? i.monthNamesShort : null) || this._defaults.monthNamesShort,
6456                r = (i ? i.monthNames : null) || this._defaults.monthNames, h = function (t) {
6457                    var i = e.length > s + 1 && e.charAt(s + 1) === t;
6458                    return i && s++, i
6459                }, l = function (e, t, i) {
6460                    var s = "" + t;
6461                    if (h(e)) for (; i > s.length;) s = "0" + s;
6462                    return s
6463                }, u = function (e, t, i, s) {
6464                    return h(e) ? s[t] : i[t]
6465                }, d = "", c = !1;
6466            if (t) for (s = 0; e.length > s; s++) if (c) "'" !== e.charAt(s) || h("'") ? d += e.charAt(s) : c = !1; else switch (e.charAt(s)) {
6467                case"d":
6468                    d += l("d", t.getDate(), 2);
6469                    break;
6470                case"D":
6471                    d += u("D", t.getDay(), n, a);
6472                    break;
6473                case"o":
6474                    d += l("o", Math.round((new Date(t.getFullYear(), t.getMonth(), t.getDate()).getTime() - new Date(t.getFullYear(), 0, 0).getTime()) / 864e5), 3);
6475                    break;
6476                case"m":
6477                    d += l("m", t.getMonth() + 1, 2);
6478                    break;
6479                case"M":
6480                    d += u("M", t.getMonth(), o, r);
6481                    break;
6482                case"y":
6483                    d += h("y") ? t.getFullYear() : (10 > t.getYear() % 100 ? "0" : "") + t.getYear() % 100;
6484                    break;
6485                case"@":
6486                    d += t.getTime();
6487                    break;
6488                case"!":
6489                    d += 1e4 * t.getTime() + this._ticksTo1970;
6490                    break;
6491                case"'":
6492                    h("'") ? d += "'" : c = !0;
6493                    break;
6494                default:
6495                    d += e.charAt(s)
6496            }
6497            return d
6498        },
6499        _possibleChars: function (e) {
6500            var t, i = "", s = !1, n = function (i) {
6501                var s = e.length > t + 1 && e.charAt(t + 1) === i;
6502                return s && t++, s
6503            };
6504            for (t = 0; e.length > t; t++) if (s) "'" !== e.charAt(t) || n("'") ? i += e.charAt(t) : s = !1; else switch (e.charAt(t)) {
6505                case"d":
6506                case"m":
6507                case"y":
6508                case"@":
6509                    i += "0123456789";
6510                    break;
6511                case"D":
6512                case"M":
6513                    return null;
6514                case"'":
6515                    n("'") ? i += "'" : s = !0;
6516                    break;
6517                default:
6518                    i += e.charAt(t)
6519            }
6520            return i
6521        },
6522        _get: function (e, t) {
6523            return void 0 !== e.settings[t] ? e.settings[t] : this._defaults[t]
6524        },
6525        _setDateFromField: function (e, t) {
6526            if (e.input.val() !== e.lastVal) {
6527                var i = this._get(e, "dateFormat"), s = e.lastVal = e.input ? e.input.val() : null,
6528                    n = this._getDefaultDate(e), a = n, o = this._getFormatConfig(e);
6529                try {
6530                    a = this.parseDate(i, s, o) || n
6531                } catch (r) {
6532                    s = t ? "" : s
6533                }
6534                e.selectedDay = a.getDate(), e.drawMonth = e.selectedMonth = a.getMonth(), e.drawYear = e.selectedYear = a.getFullYear(), e.currentDay = s ? a.getDate() : 0, e.currentMonth = s ? a.getMonth() : 0, e.currentYear = s ? a.getFullYear() : 0, this._adjustInstDate(e)
6535            }
6536        },
6537        _getDefaultDate: function (e) {
6538            return this._restrictMinMax(e, this._determineDate(e, this._get(e, "defaultDate"), new Date))
6539        },
6540        _determineDate: function (t, i, s) {
6541            var n = function (e) {
6542                    var t = new Date;
6543                    return t.setDate(t.getDate() + e), t
6544                }, a = function (i) {
6545                    try {
6546                        return e.datepicker.parseDate(e.datepicker._get(t, "dateFormat"), i, e.datepicker._getFormatConfig(t))
6547                    } catch (s) {
6548                    }
6549                    for (var n = (i.toLowerCase().match(/^c/) ? e.datepicker._getDate(t) : null) || new Date, a = n.getFullYear(), o = n.getMonth(), r = n.getDate(), h = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, l = h.exec(i); l;) {
6550                        switch (l[2] || "d") {
6551                            case"d":
6552                            case"D":
6553                                r += parseInt(l[1], 10);
6554                                break;
6555                            case"w":
6556                            case"W":
6557                                r += 7 * parseInt(l[1], 10);
6558                                break;
6559                            case"m":
6560                            case"M":
6561                                o += parseInt(l[1], 10), r = Math.min(r, e.datepicker._getDaysInMonth(a, o));
6562                                break;
6563                            case"y":
6564                            case"Y":
6565                                a += parseInt(l[1], 10), r = Math.min(r, e.datepicker._getDaysInMonth(a, o))
6566                        }
6567                        l = h.exec(i)
6568                    }
6569                    return new Date(a, o, r)
6570                },
6571                o = null == i || "" === i ? s : "string" == typeof i ? a(i) : "number" == typeof i ? isNaN(i) ? s : n(i) : new Date(i.getTime());
6572            return o = o && "Invalid Date" == "" + o ? s : o, o && (o.setHours(0), o.setMinutes(0), o.setSeconds(0), o.setMilliseconds(0)), this._daylightSavingAdjust(o)
6573        },
6574        _daylightSavingAdjust: function (e) {
6575            return e ? (e.setHours(e.getHours() > 12 ? e.getHours() + 2 : 0), e) : null
6576        },
6577        _setDate: function (e, t, i) {
6578            var s = !t, n = e.selectedMonth, a = e.selectedYear,
6579                o = this._restrictMinMax(e, this._determineDate(e, t, new Date));
6580            e.selectedDay = e.currentDay = o.getDate(), e.drawMonth = e.selectedMonth = e.currentMonth = o.getMonth(), e.drawYear = e.selectedYear = e.currentYear = o.getFullYear(), n === e.selectedMonth && a === e.selectedYear || i || this._notifyChange(e), this._adjustInstDate(e), e.input && e.input.val(s ? "" : this._formatDate(e))
6581        },
6582        _getDate: function (e) {
6583            var t = !e.currentYear || e.input && "" === e.input.val() ? null : this._daylightSavingAdjust(new Date(e.currentYear, e.currentMonth, e.currentDay));
6584            return t
6585        },
6586        _attachHandlers: function (t) {
6587            var i = this._get(t, "stepMonths"), s = "#" + t.id.replace(/\\\\/g, "\\");
6588            t.dpDiv.find("[data-handler]").map(function () {
6589                var t = {
6590                    prev: function () {
6591                        e.datepicker._adjustDate(s, -i, "M")
6592                    }, next: function () {
6593                        e.datepicker._adjustDate(s, +i, "M")
6594                    }, hide: function () {
6595                        e.datepicker._hideDatepicker()
6596                    }, today: function () {
6597                        e.datepicker._gotoToday(s)
6598                    }, selectDay: function () {
6599                        return e.datepicker._selectDay(s, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this), !1
6600                    }, selectMonth: function () {
6601                        return e.datepicker._selectMonthYear(s, this, "M"), !1
6602                    }, selectYear: function () {
6603                        return e.datepicker._selectMonthYear(s, this, "Y"), !1
6604                    }
6605                };
6606                e(this).bind(this.getAttribute("data-event"), t[this.getAttribute("data-handler")])
6607            })
6608        },
6609        _generateHTML: function (e) {
6610            var t, i, s, n, a, o, r, h, l, u, d, c, p, f, m, g, v, y, b, _, x, w, k, T, D, S, M, C, N, A, P, I, H, z, F,
6611                E, O, j, W, L = new Date,
6612                R = this._daylightSavingAdjust(new Date(L.getFullYear(), L.getMonth(), L.getDate())),
6613                Y = this._get(e, "isRTL"), B = this._get(e, "showButtonPanel"), J = this._get(e, "hideIfNoPrevNext"),
6614                q = this._get(e, "navigationAsDateFormat"), K = this._getNumberOfMonths(e),
6615                V = this._get(e, "showCurrentAtPos"), U = this._get(e, "stepMonths"), Q = 1 !== K[0] || 1 !== K[1],
6616                G = this._daylightSavingAdjust(e.currentDay ? new Date(e.currentYear, e.currentMonth, e.currentDay) : new Date(9999, 9, 9)),
6617                X = this._getMinMaxDate(e, "min"), $ = this._getMinMaxDate(e, "max"), Z = e.drawMonth - V,
6618                et = e.drawYear;
6619            if (0 > Z && (Z += 12, et--), $) for (t = this._daylightSavingAdjust(new Date($.getFullYear(), $.getMonth() - K[0] * K[1] + 1, $.getDate())), t = X && X > t ? X : t; this._daylightSavingAdjust(new Date(et, Z, 1)) > t;) Z--, 0 > Z && (Z = 11, et--);
6620            for (e.drawMonth = Z, e.drawYear = et, i = this._get(e, "prevText"), i = q ? this.formatDate(i, this._daylightSavingAdjust(new Date(et, Z - U, 1)), this._getFormatConfig(e)) : i, s = this._canAdjustMonth(e, -1, et, Z) ? "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='" + i + "'><span class='ui-icon ui-icon-circle-triangle-" + (Y ? "e" : "w") + "'>" + i + "</span></a>" : J ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='" + i + "'><span class='ui-icon ui-icon-circle-triangle-" + (Y ? "e" : "w") + "'>" + i + "</span></a>", n = this._get(e, "nextText"), n = q ? this.formatDate(n, this._daylightSavingAdjust(new Date(et, Z + U, 1)), this._getFormatConfig(e)) : n, a = this._canAdjustMonth(e, 1, et, Z) ? "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='" + n + "'><span class='ui-icon ui-icon-circle-triangle-" + (Y ? "w" : "e") + "'>" + n + "</span></a>" : J ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='" + n + "'><span class='ui-icon ui-icon-circle-triangle-" + (Y ? "w" : "e") + "'>" + n + "</span></a>", o = this._get(e, "currentText"), r = this._get(e, "gotoCurrent") && e.currentDay ? G : R, o = q ? this.formatDate(o, r, this._getFormatConfig(e)) : o, h = e.inline ? "" : "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + this._get(e, "closeText") + "</button>", l = B ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (Y ? h : "") + (this._isInRange(e, r) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>" + o + "</button>" : "") + (Y ? "" : h) + "</div>" : "", u = parseInt(this._get(e, "firstDay"), 10), u = isNaN(u) ? 0 : u, d = this._get(e, "showWeek"), c = this._get(e, "dayNames"), p = this._get(e, "dayNamesMin"), f = this._get(e, "monthNames"), m = this._get(e, "monthNamesShort"), g = this._get(e, "beforeShowDay"), v = this._get(e, "showOtherMonths"), y = this._get(e, "selectOtherMonths"), b = this._getDefaultDate(e), _ = "", w = 0; K[0] > w; w++) {
6621                for (k = "", this.maxRows = 4, T = 0; K[1] > T; T++) {
6622                    if (D = this._daylightSavingAdjust(new Date(et, Z, e.selectedDay)), S = " ui-corner-all", M = "", Q) {
6623                        if (M += "<div class='ui-datepicker-group", K[1] > 1) switch (T) {
6624                            case 0:
6625                                M += " ui-datepicker-group-first", S = " ui-corner-" + (Y ? "right" : "left");
6626                                break;
6627                            case K[1] - 1:
6628                                M += " ui-datepicker-group-last", S = " ui-corner-" + (Y ? "left" : "right");
6629                                break;
6630                            default:
6631                                M += " ui-datepicker-group-middle", S = ""
6632                        }
6633                        M += "'>"
6634                    }
6635                    for (M += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + S + "'>" + (/all|left/.test(S) && 0 === w ? Y ? a : s : "") + (/all|right/.test(S) && 0 === w ? Y ? s : a : "") + this._generateMonthYearHeader(e, Z, et, X, $, w > 0 || T > 0, f, m) + "</div><table class='ui-datepicker-calendar'><thead><tr>", C = d ? "<th class='ui-datepicker-week-col'>" + this._get(e, "weekHeader") + "</th>" : "", x = 0; 7 > x; x++) N = (x + u) % 7, C += "<th scope='col'" + ((x + u + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + "><span title='" + c[N] + "'>" + p[N] + "</span></th>";
6636                    for (M += C + "</tr></thead><tbody>", A = this._getDaysInMonth(et, Z), et === e.selectedYear && Z === e.selectedMonth && (e.selectedDay = Math.min(e.selectedDay, A)), P = (this._getFirstDayOfMonth(et, Z) - u + 7) % 7, I = Math.ceil((P + A) / 7), H = Q && this.maxRows > I ? this.maxRows : I, this.maxRows = H, z = this._daylightSavingAdjust(new Date(et, Z, 1 - P)), F = 0; H > F; F++) {
6637                        for (M += "<tr>", E = d ? "<td class='ui-datepicker-week-col'>" + this._get(e, "calculateWeek")(z) + "</td>" : "", x = 0; 7 > x; x++) O = g ? g.apply(e.input ? e.input[0] : null, [z]) : [!0, ""], j = z.getMonth() !== Z, W = j && !y || !O[0] || X && X > z || $ && z > $, E += "<td class='" + ((x + u + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (j ? " ui-datepicker-other-month" : "") + (z.getTime() === D.getTime() && Z === e.selectedMonth && e._keyEvent || b.getTime() === z.getTime() && b.getTime() === D.getTime() ? " " + this._dayOverClass : "") + (W ? " " + this._unselectableClass + " ui-state-disabled" : "") + (j && !v ? "" : " " + O[1] + (z.getTime() === G.getTime() ? " " + this._currentClass : "") + (z.getTime() === R.getTime() ? " ui-datepicker-today" : "")) + "'" + (j && !v || !O[2] ? "" : " title='" + O[2].replace(/'/g, "&#39;") + "'") + (W ? "" : " data-handler='selectDay' data-event='click' data-month='" + z.getMonth() + "' data-year='" + z.getFullYear() + "'") + ">" + (j && !v ? "&#xa0;" : W ? "<span class='ui-state-default'>" + z.getDate() + "</span>" : "<a class='ui-state-default" + (z.getTime() === R.getTime() ? " ui-state-highlight" : "") + (z.getTime() === G.getTime() ? " ui-state-active" : "") + (j ? " ui-priority-secondary" : "") + "' href='#'>" + z.getDate() + "</a>") + "</td>", z.setDate(z.getDate() + 1), z = this._daylightSavingAdjust(z);
6638                        M += E + "</tr>"
6639                    }
6640                    Z++, Z > 11 && (Z = 0, et++), M += "</tbody></table>" + (Q ? "</div>" + (K[0] > 0 && T === K[1] - 1 ? "<div class='ui-datepicker-row-break'></div>" : "") : ""), k += M
6641                }
6642                _ += k
6643            }
6644            return _ += l, e._keyEvent = !1, _
6645        },
6646        _generateMonthYearHeader: function (e, t, i, s, n, a, o, r) {
6647            var h, l, u, d, c, p, f, m, g = this._get(e, "changeMonth"), v = this._get(e, "changeYear"),
6648                y = this._get(e, "showMonthAfterYear"), b = "<div class='ui-datepicker-title'>", _ = "";
6649            if (a || !g) _ += "<span class='ui-datepicker-month'>" + o[t] + "</span>"; else {
6650                for (h = s && s.getFullYear() === i, l = n && n.getFullYear() === i, _ += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>", u = 0; 12 > u; u++) (!h || u >= s.getMonth()) && (!l || n.getMonth() >= u) && (_ += "<option value='" + u + "'" + (u === t ? " selected='selected'" : "") + ">" + r[u] + "</option>");
6651                _ += "</select>"
6652            }
6653            if (y || (b += _ + (!a && g && v ? "" : "&#xa0;")), !e.yearshtml) if (e.yearshtml = "", a || !v) b += "<span class='ui-datepicker-year'>" + i + "</span>"; else {
6654                for (d = this._get(e, "yearRange").split(":"), c = (new Date).getFullYear(), p = function (e) {
6655                    var t = e.match(/c[+\-].*/) ? i + parseInt(e.substring(1), 10) : e.match(/[+\-].*/) ? c + parseInt(e, 10) : parseInt(e, 10);
6656                    return isNaN(t) ? c : t
6657                }, f = p(d[0]), m = Math.max(f, p(d[1] || "")), f = s ? Math.max(f, s.getFullYear()) : f, m = n ? Math.min(m, n.getFullYear()) : m, e.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; m >= f; f++) e.yearshtml += "<option value='" + f + "'" + (f === i ? " selected='selected'" : "") + ">" + f + "</option>";
6658                e.yearshtml += "</select>", b += e.yearshtml, e.yearshtml = null
6659            }
6660            return b += this._get(e, "yearSuffix"), y && (b += (!a && g && v ? "" : "&#xa0;") + _), b += "</div>"
6661        },
6662        _adjustInstDate: function (e, t, i) {
6663            var s = e.drawYear + ("Y" === i ? t : 0), n = e.drawMonth + ("M" === i ? t : 0),
6664                a = Math.min(e.selectedDay, this._getDaysInMonth(s, n)) + ("D" === i ? t : 0),
6665                o = this._restrictMinMax(e, this._daylightSavingAdjust(new Date(s, n, a)));
6666            e.selectedDay = o.getDate(), e.drawMonth = e.selectedMonth = o.getMonth(), e.drawYear = e.selectedYear = o.getFullYear(), ("M" === i || "Y" === i) && this._notifyChange(e)
6667        },
6668        _restrictMinMax: function (e, t) {
6669            var i = this._getMinMaxDate(e, "min"), s = this._getMinMaxDate(e, "max"), n = i && i > t ? i : t;
6670            return s && n > s ? s : n
6671        },
6672        _notifyChange: function (e) {
6673            var t = this._get(e, "onChangeMonthYear");
6674            t && t.apply(e.input ? e.input[0] : null, [e.selectedYear, e.selectedMonth + 1, e])
6675        },
6676        _getNumberOfMonths: function (e) {
6677            var t = this._get(e, "numberOfMonths");
6678            return null == t ? [1, 1] : "number" == typeof t ? [1, t] : t
6679        },
6680        _getMinMaxDate: function (e, t) {
6681            return this._determineDate(e, this._get(e, t + "Date"), null)
6682        },
6683        _getDaysInMonth: function (e, t) {
6684            return 32 - this._daylightSavingAdjust(new Date(e, t, 32)).getDate()
6685        },
6686        _getFirstDayOfMonth: function (e, t) {
6687            return new Date(e, t, 1).getDay()
6688        },
6689        _canAdjustMonth: function (e, t, i, s) {
6690            var n = this._getNumberOfMonths(e),
6691                a = this._daylightSavingAdjust(new Date(i, s + (0 > t ? t : n[0] * n[1]), 1));
6692            return 0 > t && a.setDate(this._getDaysInMonth(a.getFullYear(), a.getMonth())), this._isInRange(e, a)
6693        },
6694        _isInRange: function (e, t) {
6695            var i, s, n = this._getMinMaxDate(e, "min"), a = this._getMinMaxDate(e, "max"), o = null, r = null,
6696                h = this._get(e, "yearRange");
6697            return h && (i = h.split(":"), s = (new Date).getFullYear(), o = parseInt(i[0], 10), r = parseInt(i[1], 10), i[0].match(/[+\-].*/) && (o += s), i[1].match(/[+\-].*/) && (r += s)), (!n || t.getTime() >= n.getTime()) && (!a || t.getTime() <= a.getTime()) && (!o || t.getFullYear() >= o) && (!r || r >= t.getFullYear())
6698        },
6699        _getFormatConfig: function (e) {
6700            var t = this._get(e, "shortYearCutoff");
6701            return t = "string" != typeof t ? t : (new Date).getFullYear() % 100 + parseInt(t, 10), {
6702                shortYearCutoff: t,
6703                dayNamesShort: this._get(e, "dayNamesShort"),
6704                dayNames: this._get(e, "dayNames"),
6705                monthNamesShort: this._get(e, "monthNamesShort"),
6706                monthNames: this._get(e, "monthNames")
6707            }
6708        },
6709        _formatDate: function (e, t, i, s) {
6710            t || (e.currentDay = e.selectedDay, e.currentMonth = e.selectedMonth, e.currentYear = e.selectedYear);
6711            var n = t ? "object" == typeof t ? t : this._daylightSavingAdjust(new Date(s, i, t)) : this._daylightSavingAdjust(new Date(e.currentYear, e.currentMonth, e.currentDay));
6712            return this.formatDate(this._get(e, "dateFormat"), n, this._getFormatConfig(e))
6713        }
6714    }), e.fn.datepicker = function (t) {
6715        if (!this.length) return this;
6716        e.datepicker.initialized || (e(document).mousedown(e.datepicker._checkExternalClick), e.datepicker.initialized = !0), 0 === e("#" + e.datepicker._mainDivId).length && e("body").append(e.datepicker.dpDiv);
6717        var i = Array.prototype.slice.call(arguments, 1);
6718        return "string" != typeof t || "isDisabled" !== t && "getDate" !== t && "widget" !== t ? "option" === t && 2 === arguments.length && "string" == typeof arguments[1] ? e.datepicker["_" + t + "Datepicker"].apply(e.datepicker, [this[0]].concat(i)) : this.each(function () {
6719            "string" == typeof t ? e.datepicker["_" + t + "Datepicker"].apply(e.datepicker, [this].concat(i)) : e.datepicker._attachDatepicker(this, t)
6720        }) : e.datepicker["_" + t + "Datepicker"].apply(e.datepicker, [this[0]].concat(i))
6721    }, e.datepicker = new n, e.datepicker.initialized = !1, e.datepicker.uuid = (new Date).getTime(), e.datepicker.version = "1.11.4", e.datepicker, e.widget("ui.draggable", e.ui.mouse, {
6722        version: "1.11.4",
6723        widgetEventPrefix: "drag",
6724        options: {
6725            addClasses: !0,
6726            appendTo: "parent",
6727            axis: !1,
6728            connectToSortable: !1,
6729            containment: !1,
6730            cursor: "auto",
6731            cursorAt: !1,
6732            grid: !1,
6733            handle: !1,
6734            helper: "original",
6735            iframeFix: !1,
6736            opacity: !1,
6737            refreshPositions: !1,
6738            revert: !1,
6739            revertDuration: 500,
6740            scope: "default",
6741            scroll: !0,
6742            scrollSensitivity: 20,
6743            scrollSpeed: 20,
6744            snap: !1,
6745            snapMode: "both",
6746            snapTolerance: 20,
6747            stack: !1,
6748            zIndex: !1,
6749            drag: null,
6750            start: null,
6751            stop: null
6752        },
6753        _create: function () {
6754            "original" === this.options.helper && this._setPositionRelative(), this.options.addClasses && this.element.addClass("ui-draggable"), this.options.disabled && this.element.addClass("ui-draggable-disabled"), this._setHandleClassName(), this._mouseInit()
6755        },
6756        _setOption: function (e, t) {
6757            this._super(e, t), "handle" === e && (this._removeHandleClassName(), this._setHandleClassName())
6758        },
6759        _destroy: function () {
6760            return (this.helper || this.element).is(".ui-draggable-dragging") ? void (this.destroyOnClear = !0) : (this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"), this._removeHandleClassName(), void this._mouseDestroy())
6761        },
6762        _mouseCapture: function (t) {
6763            var i = this.options;
6764            return this._blurActiveElement(t), this.helper || i.disabled || e(t.target).closest(".ui-resizable-handle").length > 0 ? !1 : (this.handle = this._getHandle(t), this.handle ? (this._blockFrames(i.iframeFix === !0 ? "iframe" : i.iframeFix), !0) : !1)
6765        },
6766        _blockFrames: function (t) {
6767            this.iframeBlocks = this.document.find(t).map(function () {
6768                var t = e(this);
6769                return e("<div>").css("position", "absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]
6770            })
6771        },
6772        _unblockFrames: function () {
6773            this.iframeBlocks && (this.iframeBlocks.remove(), delete this.iframeBlocks)
6774        },
6775        _blurActiveElement: function (t) {
6776            var i = this.document[0];
6777            if (this.handleElement.is(t.target)) try {
6778                i.activeElement && "body" !== i.activeElement.nodeName.toLowerCase() && e(i.activeElement).blur()
6779            } catch (s) {
6780            }
6781        },
6782        _mouseStart: function (t) {
6783            var i = this.options;
6784            return this.helper = this._createHelper(t), this.helper.addClass("ui-draggable-dragging"), this._cacheHelperProportions(), e.ui.ddmanager && (e.ui.ddmanager.current = this), this._cacheMargins(), this.cssPosition = this.helper.css("position"), this.scrollParent = this.helper.scrollParent(!0), this.offsetParent = this.helper.offsetParent(), this.hasFixedAncestor = this.helper.parents().filter(function () {
6785                return "fixed" === e(this).css("position")
6786            }).length > 0, this.positionAbs = this.element.offset(), this._refreshOffsets(t), this.originalPosition = this.position = this._generatePosition(t, !1), this.originalPageX = t.pageX, this.originalPageY = t.pageY, i.cursorAt && this._adjustOffsetFromHelper(i.cursorAt), this._setContainment(), this._trigger("start", t) === !1 ? (this._clear(), !1) : (this._cacheHelperProportions(), e.ui.ddmanager && !i.dropBehaviour && e.ui.ddmanager.prepareOffsets(this, t), this._normalizeRightBottom(), this._mouseDrag(t, !0), e.ui.ddmanager && e.ui.ddmanager.dragStart(this, t), !0)
6787        },
6788        _refreshOffsets: function (e) {
6789            this.offset = {
6790                top: this.positionAbs.top - this.margins.top,
6791                left: this.positionAbs.left - this.margins.left,
6792                scroll: !1,
6793                parent: this._getParentOffset(),
6794                relative: this._getRelativeOffset()
6795            }, this.offset.click = {left: e.pageX - this.offset.left, top: e.pageY - this.offset.top}
6796        },
6797        _mouseDrag: function (t, i) {
6798            if (this.hasFixedAncestor && (this.offset.parent = this._getParentOffset()), this.position = this._generatePosition(t, !0), this.positionAbs = this._convertPositionTo("absolute"), !i) {
6799                var s = this._uiHash();
6800                if (this._trigger("drag", t, s) === !1) return this._mouseUp({}), !1;
6801                this.position = s.position
6802            }
6803            return this.helper[0].style.left = this.position.left + "px", this.helper[0].style.top = this.position.top + "px", e.ui.ddmanager && e.ui.ddmanager.drag(this, t), !1
6804        },
6805        _mouseStop: function (t) {
6806            var i = this, s = !1;
6807            return e.ui.ddmanager && !this.options.dropBehaviour && (s = e.ui.ddmanager.drop(this, t)), this.dropped && (s = this.dropped, this.dropped = !1), "invalid" === this.options.revert && !s || "valid" === this.options.revert && s || this.options.revert === !0 || e.isFunction(this.options.revert) && this.options.revert.call(this.element, s) ? e(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function () {
6808                i._trigger("stop", t) !== !1 && i._clear()
6809            }) : this._trigger("stop", t) !== !1 && this._clear(), !1
6810        },
6811        _mouseUp: function (t) {
6812            return this._unblockFrames(), e.ui.ddmanager && e.ui.ddmanager.dragStop(this, t), this.handleElement.is(t.target) && this.element.focus(), e.ui.mouse.prototype._mouseUp.call(this, t)
6813        },
6814        cancel: function () {
6815            return this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(), this
6816        },
6817        _getHandle: function (t) {
6818            return this.options.handle ? !!e(t.target).closest(this.element.find(this.options.handle)).length : !0
6819        },
6820        _setHandleClassName: function () {
6821            this.handleElement = this.options.handle ? this.element.find(this.options.handle) : this.element, this.handleElement.addClass("ui-draggable-handle")
6822        },
6823        _removeHandleClassName: function () {
6824            this.handleElement.removeClass("ui-draggable-handle")
6825        },
6826        _createHelper: function (t) {
6827            var i = this.options, s = e.isFunction(i.helper),
6828                n = s ? e(i.helper.apply(this.element[0], [t])) : "clone" === i.helper ? this.element.clone().removeAttr("id") : this.element;
6829            return n.parents("body").length || n.appendTo("parent" === i.appendTo ? this.element[0].parentNode : i.appendTo), s && n[0] === this.element[0] && this._setPositionRelative(), n[0] === this.element[0] || /(fixed|absolute)/.test(n.css("position")) || n.css("position", "absolute"), n
6830        },
6831        _setPositionRelative: function () {
6832            /^(?:r|a|f)/.test(this.element.css("position")) || (this.element[0].style.position = "relative")
6833        },
6834        _adjustOffsetFromHelper: function (t) {
6835            "string" == typeof t && (t = t.split(" ")), e.isArray(t) && (t = {
6836                left: +t[0],
6837                top: +t[1] || 0
6838            }), "left" in t && (this.offset.click.left = t.left + this.margins.left), "right" in t && (this.offset.click.left = this.helperProportions.width - t.right + this.margins.left), "top" in t && (this.offset.click.top = t.top + this.margins.top), "bottom" in t && (this.offset.click.top = this.helperProportions.height - t.bottom + this.margins.top)
6839        },
6840        _isRootNode: function (e) {
6841            return /(html|body)/i.test(e.tagName) || e === this.document[0]
6842        },
6843        _getParentOffset: function () {
6844            var t = this.offsetParent.offset(), i = this.document[0];
6845            return "absolute" === this.cssPosition && this.scrollParent[0] !== i && e.contains(this.scrollParent[0], this.offsetParent[0]) && (t.left += this.scrollParent.scrollLeft(), t.top += this.scrollParent.scrollTop()), this._isRootNode(this.offsetParent[0]) && (t = {
6846                top: 0,
6847                left: 0
6848            }), {
6849                top: t.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
6850                left: t.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
6851            }
6852        },
6853        _getRelativeOffset: function () {
6854            if ("relative" !== this.cssPosition) return {top: 0, left: 0};
6855            var e = this.element.position(), t = this._isRootNode(this.scrollParent[0]);
6856            return {
6857                top: e.top - (parseInt(this.helper.css("top"), 10) || 0) + (t ? 0 : this.scrollParent.scrollTop()),
6858                left: e.left - (parseInt(this.helper.css("left"), 10) || 0) + (t ? 0 : this.scrollParent.scrollLeft())
6859            }
6860        },
6861        _cacheMargins: function () {
6862            this.margins = {
6863                left: parseInt(this.element.css("marginLeft"), 10) || 0,
6864                top: parseInt(this.element.css("marginTop"), 10) || 0,
6865                right: parseInt(this.element.css("marginRight"), 10) || 0,
6866                bottom: parseInt(this.element.css("marginBottom"), 10) || 0
6867            }
6868        },
6869        _cacheHelperProportions: function () {
6870            this.helperProportions = {width: this.helper.outerWidth(), height: this.helper.outerHeight()}
6871        },
6872        _setContainment: function () {
6873            var t, i, s, n = this.options, a = this.document[0];
6874            return this.relativeContainer = null, n.containment ? "window" === n.containment ? void (this.containment = [e(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, e(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, e(window).scrollLeft() + e(window).width() - this.helperProportions.width - this.margins.left, e(window).scrollTop() + (e(window).height() || a.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]) : "document" === n.containment ? void (this.containment = [0, 0, e(a).width() - this.helperProportions.width - this.margins.left, (e(a).height() || a.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]) : n.containment.constructor === Array ? void (this.containment = n.containment) : ("parent" === n.containment && (n.containment = this.helper[0].parentNode), i = e(n.containment), s = i[0], void (s && (t = /(scroll|auto)/.test(i.css("overflow")), this.containment = [(parseInt(i.css("borderLeftWidth"), 10) || 0) + (parseInt(i.css("paddingLeft"), 10) || 0), (parseInt(i.css("borderTopWidth"), 10) || 0) + (parseInt(i.css("paddingTop"), 10) || 0), (t ? Math.max(s.scrollWidth, s.offsetWidth) : s.offsetWidth) - (parseInt(i.css("borderRightWidth"), 10) || 0) - (parseInt(i.css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (t ? Math.max(s.scrollHeight, s.offsetHeight) : s.offsetHeight) - (parseInt(i.css("borderBottomWidth"), 10) || 0) - (parseInt(i.css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], this.relativeContainer = i))) : void (this.containment = null)
6875        },
6876        _convertPositionTo: function (e, t) {
6877            t || (t = this.position);
6878            var i = "absolute" === e ? 1 : -1, s = this._isRootNode(this.scrollParent[0]);
6879            return {
6880                top: t.top + this.offset.relative.top * i + this.offset.parent.top * i - ("fixed" === this.cssPosition ? -this.offset.scroll.top : s ? 0 : this.offset.scroll.top) * i,
6881                left: t.left + this.offset.relative.left * i + this.offset.parent.left * i - ("fixed" === this.cssPosition ? -this.offset.scroll.left : s ? 0 : this.offset.scroll.left) * i
6882            }
6883        },
6884        _generatePosition: function (e, t) {
6885            var i, s, n, a, o = this.options, r = this._isRootNode(this.scrollParent[0]), h = e.pageX, l = e.pageY;
6886            return r && this.offset.scroll || (this.offset.scroll = {
6887                top: this.scrollParent.scrollTop(),
6888                left: this.scrollParent.scrollLeft()
6889            }), t && (this.containment && (this.relativeContainer ? (s = this.relativeContainer.offset(), i = [this.containment[0] + s.left, this.containment[1] + s.top, this.containment[2] + s.left, this.containment[3] + s.top]) : i = this.containment, e.pageX - this.offset.click.left < i[0] && (h = i[0] + this.offset.click.left), e.pageY - this.offset.click.top < i[1] && (l = i[1] + this.offset.click.top), e.pageX - this.offset.click.left > i[2] && (h = i[2] + this.offset.click.left), e.pageY - this.offset.click.top > i[3] && (l = i[3] + this.offset.click.top)), o.grid && (n = o.grid[1] ? this.originalPageY + Math.round((l - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY, l = i ? n - this.offset.click.top >= i[1] || n - this.offset.click.top > i[3] ? n : n - this.offset.click.top >= i[1] ? n - o.grid[1] : n + o.grid[1] : n, a = o.grid[0] ? this.originalPageX + Math.round((h - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX, h = i ? a - this.offset.click.left >= i[0] || a - this.offset.click.left > i[2] ? a : a - this.offset.click.left >= i[0] ? a - o.grid[0] : a + o.grid[0] : a), "y" === o.axis && (h = this.originalPageX), "x" === o.axis && (l = this.originalPageY)), {
6890                top: l - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.offset.scroll.top : r ? 0 : this.offset.scroll.top),
6891                left: h - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.offset.scroll.left : r ? 0 : this.offset.scroll.left)
6892            }
6893        },
6894        _clear: function () {
6895            this.helper.removeClass("ui-draggable-dragging"), this.helper[0] === this.element[0] || this.cancelHelperRemoval || this.helper.remove(), this.helper = null, this.cancelHelperRemoval = !1, this.destroyOnClear && this.destroy()
6896        },
6897        _normalizeRightBottom: function () {
6898            "y" !== this.options.axis && "auto" !== this.helper.css("right") && (this.helper.width(this.helper.width()), this.helper.css("right", "auto")), "x" !== this.options.axis && "auto" !== this.helper.css("bottom") && (this.helper.height(this.helper.height()), this.helper.css("bottom", "auto"))
6899        },
6900        _trigger: function (t, i, s) {
6901            return s = s || this._uiHash(), e.ui.plugin.call(this, t, [i, s, this], !0), /^(drag|start|stop)/.test(t) && (this.positionAbs = this._convertPositionTo("absolute"), s.offset = this.positionAbs), e.Widget.prototype._trigger.call(this, t, i, s);
6902        },
6903        plugins: {},
6904        _uiHash: function () {
6905            return {
6906                helper: this.helper,
6907                position: this.position,
6908                originalPosition: this.originalPosition,
6909                offset: this.positionAbs
6910            }
6911        }
6912    }), e.ui.plugin.add("draggable", "connectToSortable", {
6913        start: function (t, i, s) {
6914            var n = e.extend({}, i, {item: s.element});
6915            s.sortables = [], e(s.options.connectToSortable).each(function () {
6916                var i = e(this).sortable("instance");
6917                i && !i.options.disabled && (s.sortables.push(i), i.refreshPositions(), i._trigger("activate", t, n))
6918            })
6919        }, stop: function (t, i, s) {
6920            var n = e.extend({}, i, {item: s.element});
6921            s.cancelHelperRemoval = !1, e.each(s.sortables, function () {
6922                var e = this;
6923                e.isOver ? (e.isOver = 0, s.cancelHelperRemoval = !0, e.cancelHelperRemoval = !1, e._storedCSS = {
6924                    position: e.placeholder.css("position"),
6925                    top: e.placeholder.css("top"),
6926                    left: e.placeholder.css("left")
6927                }, e._mouseStop(t), e.options.helper = e.options._helper) : (e.cancelHelperRemoval = !0, e._trigger("deactivate", t, n))
6928            })
6929        }, drag: function (t, i, s) {
6930            e.each(s.sortables, function () {
6931                var n = !1, a = this;
6932                a.positionAbs = s.positionAbs, a.helperProportions = s.helperProportions, a.offset.click = s.offset.click, a._intersectsWith(a.containerCache) && (n = !0, e.each(s.sortables, function () {
6933                    return this.positionAbs = s.positionAbs, this.helperProportions = s.helperProportions, this.offset.click = s.offset.click, this !== a && this._intersectsWith(this.containerCache) && e.contains(a.element[0], this.element[0]) && (n = !1), n
6934                })), n ? (a.isOver || (a.isOver = 1, s._parent = i.helper.parent(), a.currentItem = i.helper.appendTo(a.element).data("ui-sortable-item", !0), a.options._helper = a.options.helper, a.options.helper = function () {
6935                    return i.helper[0]
6936                }, t.target = a.currentItem[0], a._mouseCapture(t, !0), a._mouseStart(t, !0, !0), a.offset.click.top = s.offset.click.top, a.offset.click.left = s.offset.click.left, a.offset.parent.left -= s.offset.parent.left - a.offset.parent.left, a.offset.parent.top -= s.offset.parent.top - a.offset.parent.top, s._trigger("toSortable", t), s.dropped = a.element, e.each(s.sortables, function () {
6937                    this.refreshPositions()
6938                }), s.currentItem = s.element, a.fromOutside = s), a.currentItem && (a._mouseDrag(t), i.position = a.position)) : a.isOver && (a.isOver = 0, a.cancelHelperRemoval = !0, a.options._revert = a.options.revert, a.options.revert = !1, a._trigger("out", t, a._uiHash(a)), a._mouseStop(t, !0), a.options.revert = a.options._revert, a.options.helper = a.options._helper, a.placeholder && a.placeholder.remove(), i.helper.appendTo(s._parent), s._refreshOffsets(t), i.position = s._generatePosition(t, !0), s._trigger("fromSortable", t), s.dropped = !1, e.each(s.sortables, function () {
6939                    this.refreshPositions()
6940                }))
6941            })
6942        }
6943    }), e.ui.plugin.add("draggable", "cursor", {
6944        start: function (t, i, s) {
6945            var n = e("body"), a = s.options;
6946            n.css("cursor") && (a._cursor = n.css("cursor")), n.css("cursor", a.cursor)
6947        }, stop: function (t, i, s) {
6948            var n = s.options;
6949            n._cursor && e("body").css("cursor", n._cursor)
6950        }
6951    }), e.ui.plugin.add("draggable", "opacity", {
6952        start: function (t, i, s) {
6953            var n = e(i.helper), a = s.options;
6954            n.css("opacity") && (a._opacity = n.css("opacity")), n.css("opacity", a.opacity)
6955        }, stop: function (t, i, s) {
6956            var n = s.options;
6957            n._opacity && e(i.helper).css("opacity", n._opacity)
6958        }
6959    }), e.ui.plugin.add("draggable", "scroll", {
6960        start: function (e, t, i) {
6961            i.scrollParentNotHidden || (i.scrollParentNotHidden = i.helper.scrollParent(!1)), i.scrollParentNotHidden[0] !== i.document[0] && "HTML" !== i.scrollParentNotHidden[0].tagName && (i.overflowOffset = i.scrollParentNotHidden.offset())
6962        }, drag: function (t, i, s) {
6963            var n = s.options, a = !1, o = s.scrollParentNotHidden[0], r = s.document[0];
6964            o !== r && "HTML" !== o.tagName ? (n.axis && "x" === n.axis || (s.overflowOffset.top + o.offsetHeight - t.pageY < n.scrollSensitivity ? o.scrollTop = a = o.scrollTop + n.scrollSpeed : t.pageY - s.overflowOffset.top < n.scrollSensitivity && (o.scrollTop = a = o.scrollTop - n.scrollSpeed)), n.axis && "y" === n.axis || (s.overflowOffset.left + o.offsetWidth - t.pageX < n.scrollSensitivity ? o.scrollLeft = a = o.scrollLeft + n.scrollSpeed : t.pageX - s.overflowOffset.left < n.scrollSensitivity && (o.scrollLeft = a = o.scrollLeft - n.scrollSpeed))) : (n.axis && "x" === n.axis || (t.pageY - e(r).scrollTop() < n.scrollSensitivity ? a = e(r).scrollTop(e(r).scrollTop() - n.scrollSpeed) : e(window).height() - (t.pageY - e(r).scrollTop()) < n.scrollSensitivity && (a = e(r).scrollTop(e(r).scrollTop() + n.scrollSpeed))), n.axis && "y" === n.axis || (t.pageX - e(r).scrollLeft() < n.scrollSensitivity ? a = e(r).scrollLeft(e(r).scrollLeft() - n.scrollSpeed) : e(window).width() - (t.pageX - e(r).scrollLeft()) < n.scrollSensitivity && (a = e(r).scrollLeft(e(r).scrollLeft() + n.scrollSpeed)))), a !== !1 && e.ui.ddmanager && !n.dropBehaviour && e.ui.ddmanager.prepareOffsets(s, t)
6965        }
6966    }), e.ui.plugin.add("draggable", "snap", {
6967        start: function (t, i, s) {
6968            var n = s.options;
6969            s.snapElements = [], e(n.snap.constructor !== String ? n.snap.items || ":data(ui-draggable)" : n.snap).each(function () {
6970                var t = e(this), i = t.offset();
6971                this !== s.element[0] && s.snapElements.push({
6972                    item: this,
6973                    width: t.outerWidth(),
6974                    height: t.outerHeight(),
6975                    top: i.top,
6976                    left: i.left
6977                })
6978            })
6979        }, drag: function (t, i, s) {
6980            var n, a, o, r, h, l, u, d, c, p, f = s.options, m = f.snapTolerance, g = i.offset.left,
6981                v = g + s.helperProportions.width, y = i.offset.top, b = y + s.helperProportions.height;
6982            for (c = s.snapElements.length - 1; c >= 0; c--) h = s.snapElements[c].left - s.margins.left, l = h + s.snapElements[c].width, u = s.snapElements[c].top - s.margins.top, d = u + s.snapElements[c].height, h - m > v || g > l + m || u - m > b || y > d + m || !e.contains(s.snapElements[c].item.ownerDocument, s.snapElements[c].item) ? (s.snapElements[c].snapping && s.options.snap.release && s.options.snap.release.call(s.element, t, e.extend(s._uiHash(), {snapItem: s.snapElements[c].item})), s.snapElements[c].snapping = !1) : ("inner" !== f.snapMode && (n = m >= Math.abs(u - b), a = m >= Math.abs(d - y), o = m >= Math.abs(h - v), r = m >= Math.abs(l - g), n && (i.position.top = s._convertPositionTo("relative", {
6983                top: u - s.helperProportions.height,
6984                left: 0
6985            }).top), a && (i.position.top = s._convertPositionTo("relative", {
6986                top: d,
6987                left: 0
6988            }).top), o && (i.position.left = s._convertPositionTo("relative", {
6989                top: 0,
6990                left: h - s.helperProportions.width
6991            }).left), r && (i.position.left = s._convertPositionTo("relative", {
6992                top: 0,
6993                left: l
6994            }).left)), p = n || a || o || r, "outer" !== f.snapMode && (n = m >= Math.abs(u - y), a = m >= Math.abs(d - b), o = m >= Math.abs(h - g), r = m >= Math.abs(l - v), n && (i.position.top = s._convertPositionTo("relative", {
6995                top: u,
6996                left: 0
6997            }).top), a && (i.position.top = s._convertPositionTo("relative", {
6998                top: d - s.helperProportions.height,
6999                left: 0
7000            }).top), o && (i.position.left = s._convertPositionTo("relative", {
7001                top: 0,
7002                left: h
7003            }).left), r && (i.position.left = s._convertPositionTo("relative", {
7004                top: 0,
7005                left: l - s.helperProportions.width
7006            }).left)), !s.snapElements[c].snapping && (n || a || o || r || p) && s.options.snap.snap && s.options.snap.snap.call(s.element, t, e.extend(s._uiHash(), {snapItem: s.snapElements[c].item})), s.snapElements[c].snapping = n || a || o || r || p)
7007        }
7008    }), e.ui.plugin.add("draggable", "stack", {
7009        start: function (t, i, s) {
7010            var n, a = s.options, o = e.makeArray(e(a.stack)).sort(function (t, i) {
7011                return (parseInt(e(t).css("zIndex"), 10) || 0) - (parseInt(e(i).css("zIndex"), 10) || 0)
7012            });
7013            o.length && (n = parseInt(e(o[0]).css("zIndex"), 10) || 0, e(o).each(function (t) {
7014                e(this).css("zIndex", n + t)
7015            }), this.css("zIndex", n + o.length))
7016        }
7017    }), e.ui.plugin.add("draggable", "zIndex", {
7018        start: function (t, i, s) {
7019            var n = e(i.helper), a = s.options;
7020            n.css("zIndex") && (a._zIndex = n.css("zIndex")), n.css("zIndex", a.zIndex)
7021        }, stop: function (t, i, s) {
7022            var n = s.options;
7023            n._zIndex && e(i.helper).css("zIndex", n._zIndex)
7024        }
7025    }), e.ui.draggable, e.widget("ui.resizable", e.ui.mouse, {
7026        version: "1.11.4",
7027        widgetEventPrefix: "resize",
7028        options: {
7029            alsoResize: !1,
7030            animate: !1,
7031            animateDuration: "slow",
7032            animateEasing: "swing",
7033            aspectRatio: !1,
7034            autoHide: !1,
7035            containment: !1,
7036            ghost: !1,
7037            grid: !1,
7038            handles: "e,s,se",
7039            helper: !1,
7040            maxHeight: null,
7041            maxWidth: null,
7042            minHeight: 10,
7043            minWidth: 10,
7044            zIndex: 90,
7045            resize: null,
7046            start: null,
7047            stop: null
7048        },
7049        _num: function (e) {
7050            return parseInt(e, 10) || 0
7051        },
7052        _isNumber: function (e) {
7053            return !isNaN(parseInt(e, 10))
7054        },
7055        _hasScroll: function (t, i) {
7056            if ("hidden" === e(t).css("overflow")) return !1;
7057            var s = i && "left" === i ? "scrollLeft" : "scrollTop", n = !1;
7058            return t[s] > 0 ? !0 : (t[s] = 1, n = t[s] > 0, t[s] = 0, n)
7059        },
7060        _create: function () {
7061            var t, i, s, n, a, o = this, r = this.options;
7062            if (this.element.addClass("ui-resizable"), e.extend(this, {
7063                _aspectRatio: !!r.aspectRatio,
7064                aspectRatio: r.aspectRatio,
7065                originalElement: this.element,
7066                _proportionallyResizeElements: [],
7067                _helper: r.helper || r.ghost || r.animate ? r.helper || "ui-resizable-helper" : null
7068            }), this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i) && (this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
7069                position: this.element.css("position"),
7070                width: this.element.outerWidth(),
7071                height: this.element.outerHeight(),
7072                top: this.element.css("top"),
7073                left: this.element.css("left")
7074            })), this.element = this.element.parent().data("ui-resizable", this.element.resizable("instance")), this.elementIsWrapper = !0, this.element.css({
7075                marginLeft: this.originalElement.css("marginLeft"),
7076                marginTop: this.originalElement.css("marginTop"),
7077                marginRight: this.originalElement.css("marginRight"),
7078                marginBottom: this.originalElement.css("marginBottom")
7079            }), this.originalElement.css({
7080                marginLeft: 0,
7081                marginTop: 0,
7082                marginRight: 0,
7083                marginBottom: 0
7084            }), this.originalResizeStyle = this.originalElement.css("resize"), this.originalElement.css("resize", "none"), this._proportionallyResizeElements.push(this.originalElement.css({
7085                position: "static",
7086                zoom: 1,
7087                display: "block"
7088            })), this.originalElement.css({margin: this.originalElement.css("margin")}), this._proportionallyResize()), this.handles = r.handles || (e(".ui-resizable-handle", this.element).length ? {
7089                n: ".ui-resizable-n",
7090                e: ".ui-resizable-e",
7091                s: ".ui-resizable-s",
7092                w: ".ui-resizable-w",
7093                se: ".ui-resizable-se",
7094                sw: ".ui-resizable-sw",
7095                ne: ".ui-resizable-ne",
7096                nw: ".ui-resizable-nw"
7097            } : "e,s,se"), this._handles = e(), this.handles.constructor === String) for ("all" === this.handles && (this.handles = "n,e,s,w,se,sw,ne,nw"), t = this.handles.split(","), this.handles = {}, i = 0; t.length > i; i++) s = e.trim(t[i]), a = "ui-resizable-" + s, n = e("<div class='ui-resizable-handle " + a + "'></div>"), n.css({zIndex: r.zIndex}), "se" === s && n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"), this.handles[s] = ".ui-resizable-" + s, this.element.append(n);
7098            this._renderAxis = function (t) {
7099                var i, s, n, a;
7100                t = t || this.element;
7101                for (i in this.handles) this.handles[i].constructor === String ? this.handles[i] = this.element.children(this.handles[i]).first().show() : (this.handles[i].jquery || this.handles[i].nodeType) && (this.handles[i] = e(this.handles[i]), this._on(this.handles[i], {mousedown: o._mouseDown})), this.elementIsWrapper && this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i) && (s = e(this.handles[i], this.element), a = /sw|ne|nw|se|n|s/.test(i) ? s.outerHeight() : s.outerWidth(), n = ["padding", /ne|nw|n/.test(i) ? "Top" : /se|sw|s/.test(i) ? "Bottom" : /^e$/.test(i) ? "Right" : "Left"].join(""), t.css(n, a), this._proportionallyResize()), this._handles = this._handles.add(this.handles[i])
7102            }, this._renderAxis(this.element), this._handles = this._handles.add(this.element.find(".ui-resizable-handle")), this._handles.disableSelection(), this._handles.mouseover(function () {
7103                o.resizing || (this.className && (n = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)), o.axis = n && n[1] ? n[1] : "se")
7104            }), r.autoHide && (this._handles.hide(), e(this.element).addClass("ui-resizable-autohide").mouseenter(function () {
7105                r.disabled || (e(this).removeClass("ui-resizable-autohide"), o._handles.show())
7106            }).mouseleave(function () {
7107                r.disabled || o.resizing || (e(this).addClass("ui-resizable-autohide"), o._handles.hide())
7108            })), this._mouseInit()
7109        },
7110        _destroy: function () {
7111            this._mouseDestroy();
7112            var t, i = function (t) {
7113                e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()
7114            };
7115            return this.elementIsWrapper && (i(this.element), t = this.element, this.originalElement.css({
7116                position: t.css("position"),
7117                width: t.outerWidth(),
7118                height: t.outerHeight(),
7119                top: t.css("top"),
7120                left: t.css("left")
7121            }).insertAfter(t), t.remove()), this.originalElement.css("resize", this.originalResizeStyle), i(this.originalElement), this
7122        },
7123        _mouseCapture: function (t) {
7124            var i, s, n = !1;
7125            for (i in this.handles) s = e(this.handles[i])[0], (s === t.target || e.contains(s, t.target)) && (n = !0);
7126            return !this.options.disabled && n
7127        },
7128        _mouseStart: function (t) {
7129            var i, s, n, a = this.options, o = this.element;
7130            return this.resizing = !0, this._renderProxy(), i = this._num(this.helper.css("left")), s = this._num(this.helper.css("top")), a.containment && (i += e(a.containment).scrollLeft() || 0, s += e(a.containment).scrollTop() || 0), this.offset = this.helper.offset(), this.position = {
7131                left: i,
7132                top: s
7133            }, this.size = this._helper ? {
7134                width: this.helper.width(),
7135                height: this.helper.height()
7136            } : {width: o.width(), height: o.height()}, this.originalSize = this._helper ? {
7137                width: o.outerWidth(),
7138                height: o.outerHeight()
7139            } : {width: o.width(), height: o.height()}, this.sizeDiff = {
7140                width: o.outerWidth() - o.width(),
7141                height: o.outerHeight() - o.height()
7142            }, this.originalPosition = {left: i, top: s}, this.originalMousePosition = {
7143                left: t.pageX,
7144                top: t.pageY
7145            }, this.aspectRatio = "number" == typeof a.aspectRatio ? a.aspectRatio : this.originalSize.width / this.originalSize.height || 1, n = e(".ui-resizable-" + this.axis).css("cursor"), e("body").css("cursor", "auto" === n ? this.axis + "-resize" : n), o.addClass("ui-resizable-resizing"), this._propagate("start", t), !0
7146        },
7147        _mouseDrag: function (t) {
7148            var i, s, n = this.originalMousePosition, a = this.axis, o = t.pageX - n.left || 0,
7149                r = t.pageY - n.top || 0, h = this._change[a];
7150            return this._updatePrevProperties(), h ? (i = h.apply(this, [t, o, r]), this._updateVirtualBoundaries(t.shiftKey), (this._aspectRatio || t.shiftKey) && (i = this._updateRatio(i, t)), i = this._respectSize(i, t), this._updateCache(i), this._propagate("resize", t), s = this._applyChanges(), !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(), e.isEmptyObject(s) || (this._updatePrevProperties(), this._trigger("resize", t, this.ui()), this._applyChanges()), !1) : !1
7151        },
7152        _mouseStop: function (t) {
7153            this.resizing = !1;
7154            var i, s, n, a, o, r, h, l = this.options, u = this;
7155            return this._helper && (i = this._proportionallyResizeElements, s = i.length && /textarea/i.test(i[0].nodeName), n = s && this._hasScroll(i[0], "left") ? 0 : u.sizeDiff.height, a = s ? 0 : u.sizeDiff.width, o = {
7156                width: u.helper.width() - a,
7157                height: u.helper.height() - n
7158            }, r = parseInt(u.element.css("left"), 10) + (u.position.left - u.originalPosition.left) || null, h = parseInt(u.element.css("top"), 10) + (u.position.top - u.originalPosition.top) || null, l.animate || this.element.css(e.extend(o, {
7159                top: h,
7160                left: r
7161            })), u.helper.height(u.size.height), u.helper.width(u.size.width), this._helper && !l.animate && this._proportionallyResize()), e("body").css("cursor", "auto"), this.element.removeClass("ui-resizable-resizing"), this._propagate("stop", t), this._helper && this.helper.remove(), !1
7162        },
7163        _updatePrevProperties: function () {
7164            this.prevPosition = {
7165                top: this.position.top,
7166                left: this.position.left
7167            }, this.prevSize = {width: this.size.width, height: this.size.height}
7168        },
7169        _applyChanges: function () {
7170            var e = {};
7171            return this.position.top !== this.prevPosition.top && (e.top = this.position.top + "px"), this.position.left !== this.prevPosition.left && (e.left = this.position.left + "px"), this.size.width !== this.prevSize.width && (e.width = this.size.width + "px"), this.size.height !== this.prevSize.height && (e.height = this.size.height + "px"), this.helper.css(e), e
7172        },
7173        _updateVirtualBoundaries: function (e) {
7174            var t, i, s, n, a, o = this.options;
7175            a = {
7176                minWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,
7177                maxWidth: this._isNumber(o.maxWidth) ? o.maxWidth : 1 / 0,
7178                minHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,
7179                maxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : 1 / 0
7180            }, (this._aspectRatio || e) && (t = a.minHeight * this.aspectRatio, s = a.minWidth / this.aspectRatio, i = a.maxHeight * this.aspectRatio, n = a.maxWidth / this.aspectRatio, t > a.minWidth && (a.minWidth = t), s > a.minHeight && (a.minHeight = s), a.maxWidth > i && (a.maxWidth = i), a.maxHeight > n && (a.maxHeight = n)), this._vBoundaries = a
7181        },
7182        _updateCache: function (e) {
7183            this.offset = this.helper.offset(), this._isNumber(e.left) && (this.position.left = e.left), this._isNumber(e.top) && (this.position.top = e.top), this._isNumber(e.height) && (this.size.height = e.height), this._isNumber(e.width) && (this.size.width = e.width)
7184        },
7185        _updateRatio: function (e) {
7186            var t = this.position, i = this.size, s = this.axis;
7187            return this._isNumber(e.height) ? e.width = e.height * this.aspectRatio : this._isNumber(e.width) && (e.height = e.width / this.aspectRatio), "sw" === s && (e.left = t.left + (i.width - e.width), e.top = null), "nw" === s && (e.top = t.top + (i.height - e.height), e.left = t.left + (i.width - e.width)), e
7188        },
7189        _respectSize: function (e) {
7190            var t = this._vBoundaries, i = this.axis, s = this._isNumber(e.width) && t.maxWidth && t.maxWidth < e.width,
7191                n = this._isNumber(e.height) && t.maxHeight && t.maxHeight < e.height,
7192                a = this._isNumber(e.width) && t.minWidth && t.minWidth > e.width,
7193                o = this._isNumber(e.height) && t.minHeight && t.minHeight > e.height,
7194                r = this.originalPosition.left + this.originalSize.width, h = this.position.top + this.size.height,
7195                l = /sw|nw|w/.test(i), u = /nw|ne|n/.test(i);
7196            return a && (e.width = t.minWidth), o && (e.height = t.minHeight), s && (e.width = t.maxWidth), n && (e.height = t.maxHeight), a && l && (e.left = r - t.minWidth), s && l && (e.left = r - t.maxWidth), o && u && (e.top = h - t.minHeight), n && u && (e.top = h - t.maxHeight), e.width || e.height || e.left || !e.top ? e.width || e.height || e.top || !e.left || (e.left = null) : e.top = null, e
7197        },
7198        _getPaddingPlusBorderDimensions: function (e) {
7199            for (var t = 0, i = [], s = [e.css("borderTopWidth"), e.css("borderRightWidth"), e.css("borderBottomWidth"), e.css("borderLeftWidth")], n = [e.css("paddingTop"), e.css("paddingRight"), e.css("paddingBottom"), e.css("paddingLeft")]; 4 > t; t++) i[t] = parseInt(s[t], 10) || 0, i[t] += parseInt(n[t], 10) || 0;
7200            return {height: i[0] + i[2], width: i[1] + i[3]}
7201        },
7202        _proportionallyResize: function () {
7203            if (this._proportionallyResizeElements.length) for (var e, t = 0, i = this.helper || this.element; this._proportionallyResizeElements.length > t; t++) e = this._proportionallyResizeElements[t], this.outerDimensions || (this.outerDimensions = this._getPaddingPlusBorderDimensions(e)), e.css({
7204                height: i.height() - this.outerDimensions.height || 0,
7205                width: i.width() - this.outerDimensions.width || 0
7206            })
7207        },
7208        _renderProxy: function () {
7209            var t = this.element, i = this.options;
7210            this.elementOffset = t.offset(), this._helper ? (this.helper = this.helper || e("<div style='overflow:hidden;'></div>"), this.helper.addClass(this._helper).css({
7211                width: this.element.outerWidth() - 1,
7212                height: this.element.outerHeight() - 1,
7213                position: "absolute",
7214                left: this.elementOffset.left + "px",
7215                top: this.elementOffset.top + "px",
7216                zIndex: ++i.zIndex
7217            }), this.helper.appendTo("body").disableSelection()) : this.helper = this.element
7218        },
7219        _change: {
7220            e: function (e, t) {
7221                return {width: this.originalSize.width + t}
7222            }, w: function (e, t) {
7223                var i = this.originalSize, s = this.originalPosition;
7224                return {left: s.left + t, width: i.width - t}
7225            }, n: function (e, t, i) {
7226                var s = this.originalSize, n = this.originalPosition;
7227                return {top: n.top + i, height: s.height - i}
7228            }, s: function (e, t, i) {
7229                return {height: this.originalSize.height + i}
7230            }, se: function (t, i, s) {
7231                return e.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [t, i, s]))
7232            }, sw: function (t, i, s) {
7233                return e.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [t, i, s]))
7234            }, ne: function (t, i, s) {
7235                return e.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [t, i, s]))
7236            }, nw: function (t, i, s) {
7237                return e.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [t, i, s]))
7238            }
7239        },
7240        _propagate: function (t, i) {
7241            e.ui.plugin.call(this, t, [i, this.ui()]), "resize" !== t && this._trigger(t, i, this.ui())
7242        },
7243        plugins: {},
7244        ui: function () {
7245            return {
7246                originalElement: this.originalElement,
7247                element: this.element,
7248                helper: this.helper,
7249                position: this.position,
7250                size: this.size,
7251                originalSize: this.originalSize,
7252                originalPosition: this.originalPosition
7253            }
7254        }
7255    }), e.ui.plugin.add("resizable", "animate", {
7256        stop: function (t) {
7257            var i = e(this).resizable("instance"), s = i.options, n = i._proportionallyResizeElements,
7258                a = n.length && /textarea/i.test(n[0].nodeName),
7259                o = a && i._hasScroll(n[0], "left") ? 0 : i.sizeDiff.height, r = a ? 0 : i.sizeDiff.width,
7260                h = {width: i.size.width - r, height: i.size.height - o},
7261                l = parseInt(i.element.css("left"), 10) + (i.position.left - i.originalPosition.left) || null,
7262                u = parseInt(i.element.css("top"), 10) + (i.position.top - i.originalPosition.top) || null;
7263            i.element.animate(e.extend(h, u && l ? {top: u, left: l} : {}), {
7264                duration: s.animateDuration,
7265                easing: s.animateEasing,
7266                step: function () {
7267                    var s = {
7268                        width: parseInt(i.element.css("width"), 10),
7269                        height: parseInt(i.element.css("height"), 10),
7270                        top: parseInt(i.element.css("top"), 10),
7271                        left: parseInt(i.element.css("left"), 10)
7272                    };
7273                    n && n.length && e(n[0]).css({
7274                        width: s.width,
7275                        height: s.height
7276                    }), i._updateCache(s), i._propagate("resize", t)
7277                }
7278            })
7279        }
7280    }), e.ui.plugin.add("resizable", "containment", {
7281        start: function () {
7282            var t, i, s, n, a, o, r, h = e(this).resizable("instance"), l = h.options, u = h.element, d = l.containment,
7283                c = d instanceof e ? d.get(0) : /parent/.test(d) ? u.parent().get(0) : d;
7284            c && (h.containerElement = e(c), /document/.test(d) || d === document ? (h.containerOffset = {
7285                left: 0,
7286                top: 0
7287            }, h.containerPosition = {left: 0, top: 0}, h.parentData = {
7288                element: e(document),
7289                left: 0,
7290                top: 0,
7291                width: e(document).width(),
7292                height: e(document).height() || document.body.parentNode.scrollHeight
7293            }) : (t = e(c), i = [], e(["Top", "Right", "Left", "Bottom"]).each(function (e, s) {
7294                i[e] = h._num(t.css("padding" + s))
7295            }), h.containerOffset = t.offset(), h.containerPosition = t.position(), h.containerSize = {
7296                height: t.innerHeight() - i[3],
7297                width: t.innerWidth() - i[1]
7298            }, s = h.containerOffset, n = h.containerSize.height, a = h.containerSize.width, o = h._hasScroll(c, "left") ? c.scrollWidth : a, r = h._hasScroll(c) ? c.scrollHeight : n, h.parentData = {
7299                element: c,
7300                left: s.left,
7301                top: s.top,
7302                width: o,
7303                height: r
7304            }))
7305        }, resize: function (t) {
7306            var i, s, n, a, o = e(this).resizable("instance"), r = o.options, h = o.containerOffset, l = o.position,
7307                u = o._aspectRatio || t.shiftKey, d = {top: 0, left: 0}, c = o.containerElement, p = !0;
7308            c[0] !== document && /static/.test(c.css("position")) && (d = h), l.left < (o._helper ? h.left : 0) && (o.size.width = o.size.width + (o._helper ? o.position.left - h.left : o.position.left - d.left), u && (o.size.height = o.size.width / o.aspectRatio, p = !1), o.position.left = r.helper ? h.left : 0), l.top < (o._helper ? h.top : 0) && (o.size.height = o.size.height + (o._helper ? o.position.top - h.top : o.position.top), u && (o.size.width = o.size.height * o.aspectRatio, p = !1), o.position.top = o._helper ? h.top : 0), n = o.containerElement.get(0) === o.element.parent().get(0), a = /relative|absolute/.test(o.containerElement.css("position")), n && a ? (o.offset.left = o.parentData.left + o.position.left, o.offset.top = o.parentData.top + o.position.top) : (o.offset.left = o.element.offset().left, o.offset.top = o.element.offset().top), i = Math.abs(o.sizeDiff.width + (o._helper ? o.offset.left - d.left : o.offset.left - h.left)), s = Math.abs(o.sizeDiff.height + (o._helper ? o.offset.top - d.top : o.offset.top - h.top)), i + o.size.width >= o.parentData.width && (o.size.width = o.parentData.width - i, u && (o.size.height = o.size.width / o.aspectRatio, p = !1)), s + o.size.height >= o.parentData.height && (o.size.height = o.parentData.height - s, u && (o.size.width = o.size.height * o.aspectRatio, p = !1)), p || (o.position.left = o.prevPosition.left, o.position.top = o.prevPosition.top, o.size.width = o.prevSize.width, o.size.height = o.prevSize.height)
7309        }, stop: function () {
7310            var t = e(this).resizable("instance"), i = t.options, s = t.containerOffset, n = t.containerPosition,
7311                a = t.containerElement, o = e(t.helper), r = o.offset(), h = o.outerWidth() - t.sizeDiff.width,
7312                l = o.outerHeight() - t.sizeDiff.height;
7313            t._helper && !i.animate && /relative/.test(a.css("position")) && e(this).css({
7314                left: r.left - n.left - s.left,
7315                width: h,
7316                height: l
7317            }), t._helper && !i.animate && /static/.test(a.css("position")) && e(this).css({
7318                left: r.left - n.left - s.left,
7319                width: h,
7320                height: l
7321            })
7322        }
7323    }), e.ui.plugin.add("resizable", "alsoResize", {
7324        start: function () {
7325            var t = e(this).resizable("instance"), i = t.options;
7326            e(i.alsoResize).each(function () {
7327                var t = e(this);
7328                t.data("ui-resizable-alsoresize", {
7329                    width: parseInt(t.width(), 10),
7330                    height: parseInt(t.height(), 10),
7331                    left: parseInt(t.css("left"), 10),
7332                    top: parseInt(t.css("top"), 10)
7333                })
7334            })
7335        }, resize: function (t, i) {
7336            var s = e(this).resizable("instance"), n = s.options, a = s.originalSize, o = s.originalPosition, r = {
7337                height: s.size.height - a.height || 0,
7338                width: s.size.width - a.width || 0,
7339                top: s.position.top - o.top || 0,
7340                left: s.position.left - o.left || 0
7341            };
7342            e(n.alsoResize).each(function () {
7343                var t = e(this), s = e(this).data("ui-resizable-alsoresize"), n = {},
7344                    a = t.parents(i.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
7345                e.each(a, function (e, t) {
7346                    var i = (s[t] || 0) + (r[t] || 0);
7347                    i && i >= 0 && (n[t] = i || null)
7348                }), t.css(n)
7349            })
7350        }, stop: function () {
7351            e(this).removeData("resizable-alsoresize")
7352        }
7353    }), e.ui.plugin.add("resizable", "ghost", {
7354        start: function () {
7355            var t = e(this).resizable("instance"), i = t.options, s = t.size;
7356            t.ghost = t.originalElement.clone(), t.ghost.css({
7357                opacity: .25,
7358                display: "block",
7359                position: "relative",
7360                height: s.height,
7361                width: s.width,
7362                margin: 0,
7363                left: 0,
7364                top: 0
7365            }).addClass("ui-resizable-ghost").addClass("string" == typeof i.ghost ? i.ghost : ""), t.ghost.appendTo(t.helper)
7366        }, resize: function () {
7367            var t = e(this).resizable("instance");
7368            t.ghost && t.ghost.css({position: "relative", height: t.size.height, width: t.size.width})
7369        }, stop: function () {
7370            var t = e(this).resizable("instance");
7371            t.ghost && t.helper && t.helper.get(0).removeChild(t.ghost.get(0))
7372        }
7373    }), e.ui.plugin.add("resizable", "grid", {
7374        resize: function () {
7375            var t, i = e(this).resizable("instance"), s = i.options, n = i.size, a = i.originalSize,
7376                o = i.originalPosition, r = i.axis, h = "number" == typeof s.grid ? [s.grid, s.grid] : s.grid,
7377                l = h[0] || 1, u = h[1] || 1, d = Math.round((n.width - a.width) / l) * l,
7378                c = Math.round((n.height - a.height) / u) * u, p = a.width + d, f = a.height + c,
7379                m = s.maxWidth && p > s.maxWidth, g = s.maxHeight && f > s.maxHeight, v = s.minWidth && s.minWidth > p,
7380                y = s.minHeight && s.minHeight > f;
7381            s.grid = h, v && (p += l), y && (f += u), m && (p -= l), g && (f -= u), /^(se|s|e)$/.test(r) ? (i.size.width = p, i.size.height = f) : /^(ne)$/.test(r) ? (i.size.width = p, i.size.height = f, i.position.top = o.top - c) : /^(sw)$/.test(r) ? (i.size.width = p, i.size.height = f, i.position.left = o.left - d) : ((0 >= f - u || 0 >= p - l) && (t = i._getPaddingPlusBorderDimensions(this)), f - u > 0 ? (i.size.height = f, i.position.top = o.top - c) : (f = u - t.height, i.size.height = f, i.position.top = o.top + a.height - f), p - l > 0 ? (i.size.width = p, i.position.left = o.left - d) : (p = l - t.width, i.size.width = p, i.position.left = o.left + a.width - p))
7382        }
7383    }), e.ui.resizable, e.widget("ui.dialog", {
7384        version: "1.11.4",
7385        options: {
7386            appendTo: "body",
7387            autoOpen: !0,
7388            buttons: [],
7389            closeOnEscape: !0,
7390            closeText: "Close",
7391            dialogClass: "",
7392            draggable: !0,
7393            hide: null,
7394            height: "auto",
7395            maxHeight: null,
7396            maxWidth: null,
7397            minHeight: 150,
7398            minWidth: 150,
7399            modal: !1,
7400            position: {
7401                my: "center", at: "center", of: window, collision: "fit", using: function (t) {
7402                    var i = e(this).css(t).offset().top;
7403                    0 > i && e(this).css("top", t.top - i)
7404                }
7405            },
7406            resizable: !0,
7407            show: null,
7408            title: null,
7409            width: 300,
7410            beforeClose: null,
7411            close: null,
7412            drag: null,
7413            dragStart: null,
7414            dragStop: null,
7415            focus: null,
7416            open: null,
7417            resize: null,
7418            resizeStart: null,
7419            resizeStop: null
7420        },
7421        sizeRelatedOptions: {
7422            buttons: !0,
7423            height: !0,
7424            maxHeight: !0,
7425            maxWidth: !0,
7426            minHeight: !0,
7427            minWidth: !0,
7428            width: !0
7429        },
7430        resizableRelatedOptions: {maxHeight: !0, maxWidth: !0, minHeight: !0, minWidth: !0},
7431        _create: function () {
7432            this.originalCss = {
7433                display: this.element[0].style.display,
7434                width: this.element[0].style.width,
7435                minHeight: this.element[0].style.minHeight,
7436                maxHeight: this.element[0].style.maxHeight,
7437                height: this.element[0].style.height
7438            }, this.originalPosition = {
7439                parent: this.element.parent(),
7440                index: this.element.parent().children().index(this.element)
7441            }, this.originalTitle = this.element.attr("title"), this.options.title = this.options.title || this.originalTitle, this._createWrapper(), this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog), this._createTitlebar(), this._createButtonPane(), this.options.draggable && e.fn.draggable && this._makeDraggable(), this.options.resizable && e.fn.resizable && this._makeResizable(), this._isOpen = !1, this._trackFocus()
7442        },
7443        _init: function () {
7444            this.options.autoOpen && this.open()
7445        },
7446        _appendTo: function () {
7447            var t = this.options.appendTo;
7448            return t && (t.jquery || t.nodeType) ? e(t) : this.document.find(t || "body").eq(0)
7449        },
7450        _destroy: function () {
7451            var e, t = this.originalPosition;
7452            this._untrackInstance(), this._destroyOverlay(), this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(), this.uiDialog.stop(!0, !0).remove(), this.originalTitle && this.element.attr("title", this.originalTitle), e = t.parent.children().eq(t.index), e.length && e[0] !== this.element[0] ? e.before(this.element) : t.parent.append(this.element)
7453        },
7454        widget: function () {
7455            return this.uiDialog
7456        },
7457        disable: e.noop,
7458        enable: e.noop,
7459        close: function (t) {
7460            var i, s = this;
7461            if (this._isOpen && this._trigger("beforeClose", t) !== !1) {
7462                if (this._isOpen = !1, this._focusedElement = null, this._destroyOverlay(), this._untrackInstance(), !this.opener.filter(":focusable").focus().length) try {
7463                    i = this.document[0].activeElement, i && "body" !== i.nodeName.toLowerCase() && e(i).blur()
7464                } catch (n) {
7465                }
7466                this._hide(this.uiDialog, this.options.hide, function () {
7467                    s._trigger("close", t)
7468                })
7469            }
7470        },
7471        isOpen: function () {
7472            return this._isOpen
7473        },
7474        moveToTop: function () {
7475            this._moveToTop()
7476        },
7477        _moveToTop: function (t, i) {
7478            var s = !1, n = this.uiDialog.siblings(".ui-front:visible").map(function () {
7479                return +e(this).css("z-index")
7480            }).get(), a = Math.max.apply(null, n);
7481            return a >= +this.uiDialog.css("z-index") && (this.uiDialog.css("z-index", a + 1), s = !0), s && !i && this._trigger("focus", t), s
7482        },
7483        open: function () {
7484            var t = this;
7485            return this._isOpen ? void (this._moveToTop() && this._focusTabbable()) : (this._isOpen = !0, this.opener = e(this.document[0].activeElement), this._size(), this._position(), this._createOverlay(), this._moveToTop(null, !0), this.overlay && this.overlay.css("z-index", this.uiDialog.css("z-index") - 1), this._show(this.uiDialog, this.options.show, function () {
7486                t._focusTabbable(), t._trigger("focus")
7487            }), this._makeFocusTarget(), void this._trigger("open"))
7488        },
7489        _focusTabbable: function () {
7490            var e = this._focusedElement;
7491            e || (e = this.element.find("[autofocus]")), e.length || (e = this.element.find(":tabbable")), e.length || (e = this.uiDialogButtonPane.find(":tabbable")), e.length || (e = this.uiDialogTitlebarClose.filter(":tabbable")), e.length || (e = this.uiDialog), e.eq(0).focus()
7492        },
7493        _keepFocus: function (t) {
7494            function i() {
7495                var t = this.document[0].activeElement, i = this.uiDialog[0] === t || e.contains(this.uiDialog[0], t);
7496                i || this._focusTabbable()
7497            }
7498
7499            t.preventDefault(), i.call(this), this._delay(i)
7500        },
7501        _createWrapper: function () {
7502            this.uiDialog = e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " + this.options.dialogClass).hide().attr({
7503                tabIndex: -1,
7504                role: "dialog"
7505            }).appendTo(this._appendTo()), this._on(this.uiDialog, {
7506                keydown: function (t) {
7507                    if (this.options.closeOnEscape && !t.isDefaultPrevented() && t.keyCode && t.keyCode === e.ui.keyCode.ESCAPE) return t.preventDefault(), void this.close(t);
7508                    if (t.keyCode === e.ui.keyCode.TAB && !t.isDefaultPrevented()) {
7509                        var i = this.uiDialog.find(":tabbable"), s = i.filter(":first"), n = i.filter(":last");
7510                        t.target !== n[0] && t.target !== this.uiDialog[0] || t.shiftKey ? t.target !== s[0] && t.target !== this.uiDialog[0] || !t.shiftKey || (this._delay(function () {
7511                            n.focus()
7512                        }), t.preventDefault()) : (this._delay(function () {
7513                            s.focus()
7514                        }), t.preventDefault())
7515                    }
7516                }, mousedown: function (e) {
7517                    this._moveToTop(e) && this._focusTabbable()
7518                }
7519            }), this.element.find("[aria-describedby]").length || this.uiDialog.attr({"aria-describedby": this.element.uniqueId().attr("id")})
7520        },
7521        _createTitlebar: function () {
7522            var t;
7523            this.uiDialogTitlebar = e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog), this._on(this.uiDialogTitlebar, {
7524                mousedown: function (t) {
7525                    e(t.target).closest(".ui-dialog-titlebar-close") || this.uiDialog.focus()
7526                }
7527            }), this.uiDialogTitlebarClose = e("<button type='button'></button>").button({
7528                label: this.options.closeText,
7529                icons: {primary: "ui-icon-closethick"},
7530                text: !1
7531            }).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar), this._on(this.uiDialogTitlebarClose, {
7532                click: function (e) {
7533                    e.preventDefault(), this.close(e)
7534                }
7535            }), t = e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar), this._title(t), this.uiDialog.attr({"aria-labelledby": t.attr("id")})
7536        },
7537        _title: function (e) {
7538            this.options.title || e.html("&#160;"), e.text(this.options.title)
7539        },
7540        _createButtonPane: function () {
7541            this.uiDialogButtonPane = e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"), this.uiButtonSet = e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane), this._createButtons()
7542        },
7543        _createButtons: function () {
7544            var t = this, i = this.options.buttons;
7545            return this.uiDialogButtonPane.remove(), this.uiButtonSet.empty(), e.isEmptyObject(i) || e.isArray(i) && !i.length ? void this.uiDialog.removeClass("ui-dialog-buttons") : (e.each(i, function (i, s) {
7546                var n, a;
7547                s = e.isFunction(s) ? {
7548                    click: s,
7549                    text: i
7550                } : s, s = e.extend({type: "button"}, s), n = s.click, s.click = function () {
7551                    n.apply(t.element[0], arguments)
7552                }, a = {
7553                    icons: s.icons,
7554                    text: s.showText
7555                }, delete s.icons, delete s.showText, e("<button></button>", s).button(a).appendTo(t.uiButtonSet)
7556            }), this.uiDialog.addClass("ui-dialog-buttons"), void this.uiDialogButtonPane.appendTo(this.uiDialog))
7557        },
7558        _makeDraggable: function () {
7559            function t(e) {
7560                return {position: e.position, offset: e.offset}
7561            }
7562
7563            var i = this, s = this.options;
7564            this.uiDialog.draggable({
7565                cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
7566                handle: ".ui-dialog-titlebar",
7567                containment: "document",
7568                start: function (s, n) {
7569                    e(this).addClass("ui-dialog-dragging"), i._blockFrames(),
7570                        i._trigger("dragStart", s, t(n))
7571                },
7572                drag: function (e, s) {
7573                    i._trigger("drag", e, t(s))
7574                },
7575                stop: function (n, a) {
7576                    var o = a.offset.left - i.document.scrollLeft(), r = a.offset.top - i.document.scrollTop();
7577                    s.position = {
7578                        my: "left top",
7579                        at: "left" + (o >= 0 ? "+" : "") + o + " top" + (r >= 0 ? "+" : "") + r,
7580                        of: i.window
7581                    }, e(this).removeClass("ui-dialog-dragging"), i._unblockFrames(), i._trigger("dragStop", n, t(a))
7582                }
7583            })
7584        },
7585        _makeResizable: function () {
7586            function t(e) {
7587                return {
7588                    originalPosition: e.originalPosition,
7589                    originalSize: e.originalSize,
7590                    position: e.position,
7591                    size: e.size
7592                }
7593            }
7594
7595            var i = this, s = this.options, n = s.resizable, a = this.uiDialog.css("position"),
7596                o = "string" == typeof n ? n : "n,e,s,w,se,sw,ne,nw";
7597            this.uiDialog.resizable({
7598                cancel: ".ui-dialog-content",
7599                containment: "document",
7600                alsoResize: this.element,
7601                maxWidth: s.maxWidth,
7602                maxHeight: s.maxHeight,
7603                minWidth: s.minWidth,
7604                minHeight: this._minHeight(),
7605                handles: o,
7606                start: function (s, n) {
7607                    e(this).addClass("ui-dialog-resizing"), i._blockFrames(), i._trigger("resizeStart", s, t(n))
7608                },
7609                resize: function (e, s) {
7610                    i._trigger("resize", e, t(s))
7611                },
7612                stop: function (n, a) {
7613                    var o = i.uiDialog.offset(), r = o.left - i.document.scrollLeft(),
7614                        h = o.top - i.document.scrollTop();
7615                    s.height = i.uiDialog.height(), s.width = i.uiDialog.width(), s.position = {
7616                        my: "left top",
7617                        at: "left" + (r >= 0 ? "+" : "") + r + " top" + (h >= 0 ? "+" : "") + h,
7618                        of: i.window
7619                    }, e(this).removeClass("ui-dialog-resizing"), i._unblockFrames(), i._trigger("resizeStop", n, t(a))
7620                }
7621            }).css("position", a)
7622        },
7623        _trackFocus: function () {
7624            this._on(this.widget(), {
7625                focusin: function (t) {
7626                    this._makeFocusTarget(), this._focusedElement = e(t.target)
7627                }
7628            })
7629        },
7630        _makeFocusTarget: function () {
7631            this._untrackInstance(), this._trackingInstances().unshift(this)
7632        },
7633        _untrackInstance: function () {
7634            var t = this._trackingInstances(), i = e.inArray(this, t);
7635            -1 !== i && t.splice(i, 1)
7636        },
7637        _trackingInstances: function () {
7638            var e = this.document.data("ui-dialog-instances");
7639            return e || (e = [], this.document.data("ui-dialog-instances", e)), e
7640        },
7641        _minHeight: function () {
7642            var e = this.options;
7643            return "auto" === e.height ? e.minHeight : Math.min(e.minHeight, e.height)
7644        },
7645        _position: function () {
7646            var e = this.uiDialog.is(":visible");
7647            e || this.uiDialog.show(), this.uiDialog.position(this.options.position), e || this.uiDialog.hide()
7648        },
7649        _setOptions: function (t) {
7650            var i = this, s = !1, n = {};
7651            e.each(t, function (e, t) {
7652                i._setOption(e, t), e in i.sizeRelatedOptions && (s = !0), e in i.resizableRelatedOptions && (n[e] = t)
7653            }), s && (this._size(), this._position()), this.uiDialog.is(":data(ui-resizable)") && this.uiDialog.resizable("option", n)
7654        },
7655        _setOption: function (e, t) {
7656            var i, s, n = this.uiDialog;
7657            "dialogClass" === e && n.removeClass(this.options.dialogClass).addClass(t), "disabled" !== e && (this._super(e, t), "appendTo" === e && this.uiDialog.appendTo(this._appendTo()), "buttons" === e && this._createButtons(), "closeText" === e && this.uiDialogTitlebarClose.button({label: "" + t}), "draggable" === e && (i = n.is(":data(ui-draggable)"), i && !t && n.draggable("destroy"), !i && t && this._makeDraggable()), "position" === e && this._position(), "resizable" === e && (s = n.is(":data(ui-resizable)"), s && !t && n.resizable("destroy"), s && "string" == typeof t && n.resizable("option", "handles", t), s || t === !1 || this._makeResizable()), "title" === e && this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))
7658        },
7659        _size: function () {
7660            var e, t, i, s = this.options;
7661            this.element.show().css({
7662                width: "auto",
7663                minHeight: 0,
7664                maxHeight: "none",
7665                height: 0
7666            }), s.minWidth > s.width && (s.width = s.minWidth), e = this.uiDialog.css({
7667                height: "auto",
7668                width: s.width
7669            }).outerHeight(), t = Math.max(0, s.minHeight - e), i = "number" == typeof s.maxHeight ? Math.max(0, s.maxHeight - e) : "none", "auto" === s.height ? this.element.css({
7670                minHeight: t,
7671                maxHeight: i,
7672                height: "auto"
7673            }) : this.element.height(Math.max(0, s.height - e)), this.uiDialog.is(":data(ui-resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight())
7674        },
7675        _blockFrames: function () {
7676            this.iframeBlocks = this.document.find("iframe").map(function () {
7677                var t = e(this);
7678                return e("<div>").css({
7679                    position: "absolute",
7680                    width: t.outerWidth(),
7681                    height: t.outerHeight()
7682                }).appendTo(t.parent()).offset(t.offset())[0]
7683            })
7684        },
7685        _unblockFrames: function () {
7686            this.iframeBlocks && (this.iframeBlocks.remove(), delete this.iframeBlocks)
7687        },
7688        _allowInteraction: function (t) {
7689            return e(t.target).closest(".ui-dialog").length ? !0 : !!e(t.target).closest(".ui-datepicker").length
7690        },
7691        _createOverlay: function () {
7692            if (this.options.modal) {
7693                var t = !0;
7694                this._delay(function () {
7695                    t = !1
7696                }), this.document.data("ui-dialog-overlays") || this._on(this.document, {
7697                    focusin: function (e) {
7698                        t || this._allowInteraction(e) || (e.preventDefault(), this._trackingInstances()[0]._focusTabbable())
7699                    }
7700                }), this.overlay = e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()), this._on(this.overlay, {mousedown: "_keepFocus"}), this.document.data("ui-dialog-overlays", (this.document.data("ui-dialog-overlays") || 0) + 1)
7701            }
7702        },
7703        _destroyOverlay: function () {
7704            if (this.options.modal && this.overlay) {
7705                var e = this.document.data("ui-dialog-overlays") - 1;
7706                e ? this.document.data("ui-dialog-overlays", e) : this.document.unbind("focusin").removeData("ui-dialog-overlays"), this.overlay.remove(), this.overlay = null
7707            }
7708        }
7709    }), e.widget("ui.droppable", {
7710        version: "1.11.4",
7711        widgetEventPrefix: "drop",
7712        options: {
7713            accept: "*",
7714            activeClass: !1,
7715            addClasses: !0,
7716            greedy: !1,
7717            hoverClass: !1,
7718            scope: "default",
7719            tolerance: "intersect",
7720            activate: null,
7721            deactivate: null,
7722            drop: null,
7723            out: null,
7724            over: null
7725        },
7726        _create: function () {
7727            var t, i = this.options, s = i.accept;
7728            this.isover = !1, this.isout = !0, this.accept = e.isFunction(s) ? s : function (e) {
7729                return e.is(s)
7730            }, this.proportions = function () {
7731                return arguments.length ? void (t = arguments[0]) : t ? t : t = {
7732                    width: this.element[0].offsetWidth,
7733                    height: this.element[0].offsetHeight
7734                }
7735            }, this._addToManager(i.scope), i.addClasses && this.element.addClass("ui-droppable")
7736        },
7737        _addToManager: function (t) {
7738            e.ui.ddmanager.droppables[t] = e.ui.ddmanager.droppables[t] || [], e.ui.ddmanager.droppables[t].push(this)
7739        },
7740        _splice: function (e) {
7741            for (var t = 0; e.length > t; t++) e[t] === this && e.splice(t, 1)
7742        },
7743        _destroy: function () {
7744            var t = e.ui.ddmanager.droppables[this.options.scope];
7745            this._splice(t), this.element.removeClass("ui-droppable ui-droppable-disabled")
7746        },
7747        _setOption: function (t, i) {
7748            if ("accept" === t) this.accept = e.isFunction(i) ? i : function (e) {
7749                return e.is(i)
7750            }; else if ("scope" === t) {
7751                var s = e.ui.ddmanager.droppables[this.options.scope];
7752                this._splice(s), this._addToManager(i)
7753            }
7754            this._super(t, i)
7755        },
7756        _activate: function (t) {
7757            var i = e.ui.ddmanager.current;
7758            this.options.activeClass && this.element.addClass(this.options.activeClass), i && this._trigger("activate", t, this.ui(i))
7759        },
7760        _deactivate: function (t) {
7761            var i = e.ui.ddmanager.current;
7762            this.options.activeClass && this.element.removeClass(this.options.activeClass), i && this._trigger("deactivate", t, this.ui(i))
7763        },
7764        _over: function (t) {
7765            var i = e.ui.ddmanager.current;
7766            i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i.currentItem || i.element) && (this.options.hoverClass && this.element.addClass(this.options.hoverClass), this._trigger("over", t, this.ui(i)))
7767        },
7768        _out: function (t) {
7769            var i = e.ui.ddmanager.current;
7770            i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i.currentItem || i.element) && (this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("out", t, this.ui(i)))
7771        },
7772        _drop: function (t, i) {
7773            var s = i || e.ui.ddmanager.current, n = !1;
7774            return s && (s.currentItem || s.element)[0] !== this.element[0] ? (this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function () {
7775                var i = e(this).droppable("instance");
7776                return i.options.greedy && !i.options.disabled && i.options.scope === s.options.scope && i.accept.call(i.element[0], s.currentItem || s.element) && e.ui.intersect(s, e.extend(i, {offset: i.element.offset()}), i.options.tolerance, t) ? (n = !0, !1) : void 0
7777            }), n ? !1 : this.accept.call(this.element[0], s.currentItem || s.element) ? (this.options.activeClass && this.element.removeClass(this.options.activeClass), this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("drop", t, this.ui(s)), this.element) : !1) : !1
7778        },
7779        ui: function (e) {
7780            return {
7781                draggable: e.currentItem || e.element,
7782                helper: e.helper,
7783                position: e.position,
7784                offset: e.positionAbs
7785            }
7786        }
7787    }), e.ui.intersect = function () {
7788        function e(e, t, i) {
7789            return e >= t && t + i > e
7790        }
7791
7792        return function (t, i, s, n) {
7793            if (!i.offset) return !1;
7794            var a = (t.positionAbs || t.position.absolute).left + t.margins.left,
7795                o = (t.positionAbs || t.position.absolute).top + t.margins.top, r = a + t.helperProportions.width,
7796                h = o + t.helperProportions.height, l = i.offset.left, u = i.offset.top, d = l + i.proportions().width,
7797                c = u + i.proportions().height;
7798            switch (s) {
7799                case"fit":
7800                    return a >= l && d >= r && o >= u && c >= h;
7801                case"intersect":
7802                    return a + t.helperProportions.width / 2 > l && d > r - t.helperProportions.width / 2 && o + t.helperProportions.height / 2 > u && c > h - t.helperProportions.height / 2;
7803                case"pointer":
7804                    return e(n.pageY, u, i.proportions().height) && e(n.pageX, l, i.proportions().width);
7805                case"touch":
7806                    return (o >= u && c >= o || h >= u && c >= h || u > o && h > c) && (a >= l && d >= a || r >= l && d >= r || l > a && r > d);
7807                default:
7808                    return !1
7809            }
7810        }
7811    }(), e.ui.ddmanager = {
7812        current: null, droppables: {"default": []}, prepareOffsets: function (t, i) {
7813            var s, n, a = e.ui.ddmanager.droppables[t.options.scope] || [], o = i ? i.type : null,
7814                r = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
7815            e:for (s = 0; a.length > s; s++) if (!(a[s].options.disabled || t && !a[s].accept.call(a[s].element[0], t.currentItem || t.element))) {
7816                for (n = 0; r.length > n; n++) if (r[n] === a[s].element[0]) {
7817                    a[s].proportions().height = 0;
7818                    continue e
7819                }
7820                a[s].visible = "none" !== a[s].element.css("display"), a[s].visible && ("mousedown" === o && a[s]._activate.call(a[s], i), a[s].offset = a[s].element.offset(), a[s].proportions({
7821                    width: a[s].element[0].offsetWidth,
7822                    height: a[s].element[0].offsetHeight
7823                }))
7824            }
7825        }, drop: function (t, i) {
7826            var s = !1;
7827            return e.each((e.ui.ddmanager.droppables[t.options.scope] || []).slice(), function () {
7828                this.options && (!this.options.disabled && this.visible && e.ui.intersect(t, this, this.options.tolerance, i) && (s = this._drop.call(this, i) || s), !this.options.disabled && this.visible && this.accept.call(this.element[0], t.currentItem || t.element) && (this.isout = !0, this.isover = !1, this._deactivate.call(this, i)))
7829            }), s
7830        }, dragStart: function (t, i) {
7831            t.element.parentsUntil("body").bind("scroll.droppable", function () {
7832                t.options.refreshPositions || e.ui.ddmanager.prepareOffsets(t, i)
7833            })
7834        }, drag: function (t, i) {
7835            t.options.refreshPositions && e.ui.ddmanager.prepareOffsets(t, i), e.each(e.ui.ddmanager.droppables[t.options.scope] || [], function () {
7836                if (!this.options.disabled && !this.greedyChild && this.visible) {
7837                    var s, n, a, o = e.ui.intersect(t, this, this.options.tolerance, i),
7838                        r = !o && this.isover ? "isout" : o && !this.isover ? "isover" : null;
7839                    r && (this.options.greedy && (n = this.options.scope, a = this.element.parents(":data(ui-droppable)").filter(function () {
7840                        return e(this).droppable("instance").options.scope === n
7841                    }), a.length && (s = e(a[0]).droppable("instance"), s.greedyChild = "isover" === r)), s && "isover" === r && (s.isover = !1, s.isout = !0, s._out.call(s, i)), this[r] = !0, this["isout" === r ? "isover" : "isout"] = !1, this["isover" === r ? "_over" : "_out"].call(this, i), s && "isout" === r && (s.isout = !1, s.isover = !0, s._over.call(s, i)))
7842                }
7843            })
7844        }, dragStop: function (t, i) {
7845            t.element.parentsUntil("body").unbind("scroll.droppable"), t.options.refreshPositions || e.ui.ddmanager.prepareOffsets(t, i)
7846        }
7847    }, e.ui.droppable;
7848    var y = "ui-effects-", b = e;
7849    e.effects = {effect: {}}, function (e, t) {
7850        function i(e, t, i) {
7851            var s = d[t.type] || {};
7852            return null == e ? i || !t.def ? null : t.def : (e = s.floor ? ~~e : parseFloat(e), isNaN(e) ? t.def : s.mod ? (e + s.mod) % s.mod : 0 > e ? 0 : e > s.max ? s.max : e)
7853        }
7854
7855        function s(i) {
7856            var s = l(), n = s._rgba = [];
7857            return i = i.toLowerCase(), f(h, function (e, a) {
7858                var o, r = a.re.exec(i), h = r && a.parse(r), l = a.space || "rgba";
7859                return h ? (o = s[l](h), s[u[l].cache] = o[u[l].cache], n = s._rgba = o._rgba, !1) : t
7860            }), n.length ? ("0,0,0,0" === n.join() && e.extend(n, a.transparent), s) : a[i]
7861        }
7862
7863        function n(e, t, i) {
7864            return i = (i + 1) % 1, 1 > 6 * i ? e + 6 * (t - e) * i : 1 > 2 * i ? t : 2 > 3 * i ? e + 6 * (t - e) * (2 / 3 - i) : e
7865        }
7866
7867        var a,
7868            o = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
7869            r = /^([\-+])=\s*(\d+\.?\d*)/, h = [{
7870                re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
7871                parse: function (e) {
7872                    return [e[1], e[2], e[3], e[4]]
7873                }
7874            }, {
7875                re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
7876                parse: function (e) {
7877                    return [2.55 * e[1], 2.55 * e[2], 2.55 * e[3], e[4]]
7878                }
7879            }, {
7880                re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, parse: function (e) {
7881                    return [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)]
7882                }
7883            }, {
7884                re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, parse: function (e) {
7885                    return [parseInt(e[1] + e[1], 16), parseInt(e[2] + e[2], 16), parseInt(e[3] + e[3], 16)]
7886                }
7887            }, {
7888                re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
7889                space: "hsla",
7890                parse: function (e) {
7891                    return [e[1], e[2] / 100, e[3] / 100, e[4]]
7892                }
7893            }], l = e.Color = function (t, i, s, n) {
7894                return new e.Color.fn.parse(t, i, s, n)
7895            }, u = {
7896                rgba: {
7897                    props: {
7898                        red: {idx: 0, type: "byte"},
7899                        green: {idx: 1, type: "byte"},
7900                        blue: {idx: 2, type: "byte"}
7901                    }
7902                },
7903                hsla: {
7904                    props: {
7905                        hue: {idx: 0, type: "degrees"},
7906                        saturation: {idx: 1, type: "percent"},
7907                        lightness: {idx: 2, type: "percent"}
7908                    }
7909                }
7910            }, d = {"byte": {floor: !0, max: 255}, percent: {max: 1}, degrees: {mod: 360, floor: !0}}, c = l.support = {},
7911            p = e("<p>")[0], f = e.each;
7912        p.style.cssText = "background-color:rgba(1,1,1,.5)", c.rgba = p.style.backgroundColor.indexOf("rgba") > -1, f(u, function (e, t) {
7913            t.cache = "_" + e, t.props.alpha = {idx: 3, type: "percent", def: 1}
7914        }), l.fn = e.extend(l.prototype, {
7915            parse: function (n, o, r, h) {
7916                if (n === t) return this._rgba = [null, null, null, null], this;
7917                (n.jquery || n.nodeType) && (n = e(n).css(o), o = t);
7918                var d = this, c = e.type(n), p = this._rgba = [];
7919                return o !== t && (n = [n, o, r, h], c = "array"), "string" === c ? this.parse(s(n) || a._default) : "array" === c ? (f(u.rgba.props, function (e, t) {
7920                    p[t.idx] = i(n[t.idx], t)
7921                }), this) : "object" === c ? (n instanceof l ? f(u, function (e, t) {
7922                    n[t.cache] && (d[t.cache] = n[t.cache].slice())
7923                }) : f(u, function (t, s) {
7924                    var a = s.cache;
7925                    f(s.props, function (e, t) {
7926                        if (!d[a] && s.to) {
7927                            if ("alpha" === e || null == n[e]) return;
7928                            d[a] = s.to(d._rgba)
7929                        }
7930                        d[a][t.idx] = i(n[e], t, !0)
7931                    }), d[a] && 0 > e.inArray(null, d[a].slice(0, 3)) && (d[a][3] = 1, s.from && (d._rgba = s.from(d[a])))
7932                }), this) : t
7933            }, is: function (e) {
7934                var i = l(e), s = !0, n = this;
7935                return f(u, function (e, a) {
7936                    var o, r = i[a.cache];
7937                    return r && (o = n[a.cache] || a.to && a.to(n._rgba) || [], f(a.props, function (e, i) {
7938                        return null != r[i.idx] ? s = r[i.idx] === o[i.idx] : t
7939                    })), s
7940                }), s
7941            }, _space: function () {
7942                var e = [], t = this;
7943                return f(u, function (i, s) {
7944                    t[s.cache] && e.push(i)
7945                }), e.pop()
7946            }, transition: function (e, t) {
7947                var s = l(e), n = s._space(), a = u[n], o = 0 === this.alpha() ? l("transparent") : this,
7948                    r = o[a.cache] || a.to(o._rgba), h = r.slice();
7949                return s = s[a.cache], f(a.props, function (e, n) {
7950                    var a = n.idx, o = r[a], l = s[a], u = d[n.type] || {};
7951                    null !== l && (null === o ? h[a] = l : (u.mod && (l - o > u.mod / 2 ? o += u.mod : o - l > u.mod / 2 && (o -= u.mod)), h[a] = i((l - o) * t + o, n)))
7952                }), this[n](h)
7953            }, blend: function (t) {
7954                if (1 === this._rgba[3]) return this;
7955                var i = this._rgba.slice(), s = i.pop(), n = l(t)._rgba;
7956                return l(e.map(i, function (e, t) {
7957                    return (1 - s) * n[t] + s * e
7958                }))
7959            }, toRgbaString: function () {
7960                var t = "rgba(", i = e.map(this._rgba, function (e, t) {
7961                    return null == e ? t > 2 ? 1 : 0 : e
7962                });
7963                return 1 === i[3] && (i.pop(), t = "rgb("), t + i.join() + ")"
7964            }, toHslaString: function () {
7965                var t = "hsla(", i = e.map(this.hsla(), function (e, t) {
7966                    return null == e && (e = t > 2 ? 1 : 0), t && 3 > t && (e = Math.round(100 * e) + "%"), e
7967                });
7968                return 1 === i[3] && (i.pop(), t = "hsl("), t + i.join() + ")"
7969            }, toHexString: function (t) {
7970                var i = this._rgba.slice(), s = i.pop();
7971                return t && i.push(~~(255 * s)), "#" + e.map(i, function (e) {
7972                    return e = (e || 0).toString(16), 1 === e.length ? "0" + e : e
7973                }).join("")
7974            }, toString: function () {
7975                return 0 === this._rgba[3] ? "transparent" : this.toRgbaString()
7976            }
7977        }), l.fn.parse.prototype = l.fn, u.hsla.to = function (e) {
7978            if (null == e[0] || null == e[1] || null == e[2]) return [null, null, null, e[3]];
7979            var t, i, s = e[0] / 255, n = e[1] / 255, a = e[2] / 255, o = e[3], r = Math.max(s, n, a),
7980                h = Math.min(s, n, a), l = r - h, u = r + h, d = .5 * u;
7981            return t = h === r ? 0 : s === r ? 60 * (n - a) / l + 360 : n === r ? 60 * (a - s) / l + 120 : 60 * (s - n) / l + 240, i = 0 === l ? 0 : .5 >= d ? l / u : l / (2 - u), [Math.round(t) % 360, i, d, null == o ? 1 : o]
7982        }, u.hsla.from = function (e) {
7983            if (null == e[0] || null == e[1] || null == e[2]) return [null, null, null, e[3]];
7984            var t = e[0] / 360, i = e[1], s = e[2], a = e[3], o = .5 >= s ? s * (1 + i) : s + i - s * i, r = 2 * s - o;
7985            return [Math.round(255 * n(r, o, t + 1 / 3)), Math.round(255 * n(r, o, t)), Math.round(255 * n(r, o, t - 1 / 3)), a]
7986        }, f(u, function (s, n) {
7987            var a = n.props, o = n.cache, h = n.to, u = n.from;
7988            l.fn[s] = function (s) {
7989                if (h && !this[o] && (this[o] = h(this._rgba)), s === t) return this[o].slice();
7990                var n, r = e.type(s), d = "array" === r || "object" === r ? s : arguments, c = this[o].slice();
7991                return f(a, function (e, t) {
7992                    var s = d["object" === r ? e : t.idx];
7993                    null == s && (s = c[t.idx]), c[t.idx] = i(s, t)
7994                }), u ? (n = l(u(c)), n[o] = c, n) : l(c)
7995            }, f(a, function (t, i) {
7996                l.fn[t] || (l.fn[t] = function (n) {
7997                    var a, o = e.type(n), h = "alpha" === t ? this._hsla ? "hsla" : "rgba" : s, l = this[h](),
7998                        u = l[i.idx];
7999                    return "undefined" === o ? u : ("function" === o && (n = n.call(this, u), o = e.type(n)), null == n && i.empty ? this : ("string" === o && (a = r.exec(n), a && (n = u + parseFloat(a[2]) * ("+" === a[1] ? 1 : -1))), l[i.idx] = n, this[h](l)))
8000                })
8001            })
8002        }), l.hook = function (t) {
8003            var i = t.split(" ");
8004            f(i, function (t, i) {
8005                e.cssHooks[i] = {
8006                    set: function (t, n) {
8007                        var a, o, r = "";
8008                        if ("transparent" !== n && ("string" !== e.type(n) || (a = s(n)))) {
8009                            if (n = l(a || n), !c.rgba && 1 !== n._rgba[3]) {
8010                                for (o = "backgroundColor" === i ? t.parentNode : t; ("" === r || "transparent" === r) && o && o.style;) try {
8011                                    r = e.css(o, "backgroundColor"), o = o.parentNode
8012                                } catch (h) {
8013                                }
8014                                n = n.blend(r && "transparent" !== r ? r : "_default")
8015                            }
8016                            n = n.toRgbaString()
8017                        }
8018                        try {
8019                            t.style[i] = n
8020                        } catch (h) {
8021                        }
8022                    }
8023                }, e.fx.step[i] = function (t) {
8024                    t.colorInit || (t.start = l(t.elem, i), t.end = l(t.end), t.colorInit = !0), e.cssHooks[i].set(t.elem, t.start.transition(t.end, t.pos))
8025                }
8026            })
8027        }, l.hook(o), e.cssHooks.borderColor = {
8028            expand: function (e) {
8029                var t = {};
8030                return f(["Top", "Right", "Bottom", "Left"], function (i, s) {
8031                    t["border" + s + "Color"] = e
8032                }), t
8033            }
8034        }, a = e.Color.names = {
8035            aqua: "#00ffff",
8036            black: "#000000",
8037            blue: "#0000ff",
8038            fuchsia: "#ff00ff",
8039            gray: "#808080",
8040            green: "#008000",
8041            lime: "#00ff00",
8042            maroon: "#800000",
8043            navy: "#000080",
8044            olive: "#808000",
8045            purple: "#800080",
8046            red: "#ff0000",
8047            silver: "#c0c0c0",
8048            teal: "#008080",
8049            white: "#ffffff",
8050            yellow: "#ffff00",
8051            transparent: [null, null, null, 0],
8052            _default: "#ffffff"
8053        }
8054    }(b), function () {
8055        function t(t) {
8056            var i, s,
8057                n = t.ownerDocument.defaultView ? t.ownerDocument.defaultView.getComputedStyle(t, null) : t.currentStyle,
8058                a = {};
8059            if (n && n.length && n[0] && n[n[0]]) for (s = n.length; s--;) i = n[s], "string" == typeof n[i] && (a[e.camelCase(i)] = n[i]); else for (i in n) "string" == typeof n[i] && (a[i] = n[i]);
8060            return a
8061        }
8062
8063        function i(t, i) {
8064            var s, a, o = {};
8065            for (s in i) a = i[s], t[s] !== a && (n[s] || (e.fx.step[s] || !isNaN(parseFloat(a))) && (o[s] = a));
8066            return o
8067        }
8068
8069        var s = ["add", "remove", "toggle"], n = {
8070            border: 1,
8071            borderBottom: 1,
8072            borderColor: 1,
8073            borderLeft: 1,
8074            borderRight: 1,
8075            borderTop: 1,
8076            borderWidth: 1,
8077            margin: 1,
8078            padding: 1
8079        };
8080        e.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], function (t, i) {
8081            e.fx.step[i] = function (e) {
8082                ("none" !== e.end && !e.setAttr || 1 === e.pos && !e.setAttr) && (b.style(e.elem, i, e.end), e.setAttr = !0)
8083            }
8084        }), e.fn.addBack || (e.fn.addBack = function (e) {
8085            return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
8086        }), e.effects.animateClass = function (n, a, o, r) {
8087            var h = e.speed(a, o, r);
8088            return this.queue(function () {
8089                var a, o = e(this), r = o.attr("class") || "", l = h.children ? o.find("*").addBack() : o;
8090                l = l.map(function () {
8091                    var i = e(this);
8092                    return {el: i, start: t(this)}
8093                }), a = function () {
8094                    e.each(s, function (e, t) {
8095                        n[t] && o[t + "Class"](n[t])
8096                    })
8097                }, a(), l = l.map(function () {
8098                    return this.end = t(this.el[0]), this.diff = i(this.start, this.end), this
8099                }), o.attr("class", r), l = l.map(function () {
8100                    var t = this, i = e.Deferred(), s = e.extend({}, h, {
8101                        queue: !1, complete: function () {
8102                            i.resolve(t)
8103                        }
8104                    });
8105                    return this.el.animate(this.diff, s), i.promise()
8106                }), e.when.apply(e, l.get()).done(function () {
8107                    a(), e.each(arguments, function () {
8108                        var t = this.el;
8109                        e.each(this.diff, function (e) {
8110                            t.css(e, "")
8111                        })
8112                    }), h.complete.call(o[0])
8113                })
8114            })
8115        }, e.fn.extend({
8116            addClass: function (t) {
8117                return function (i, s, n, a) {
8118                    return s ? e.effects.animateClass.call(this, {add: i}, s, n, a) : t.apply(this, arguments)
8119                }
8120            }(e.fn.addClass), removeClass: function (t) {
8121                return function (i, s, n, a) {
8122                    return arguments.length > 1 ? e.effects.animateClass.call(this, {remove: i}, s, n, a) : t.apply(this, arguments)
8123                }
8124            }(e.fn.removeClass), toggleClass: function (t) {
8125                return function (i, s, n, a, o) {
8126                    return "boolean" == typeof s || void 0 === s ? n ? e.effects.animateClass.call(this, s ? {add: i} : {remove: i}, n, a, o) : t.apply(this, arguments) : e.effects.animateClass.call(this, {toggle: i}, s, n, a)
8127                }
8128            }(e.fn.toggleClass), switchClass: function (t, i, s, n, a) {
8129                return e.effects.animateClass.call(this, {add: i, remove: t}, s, n, a)
8130            }
8131        })
8132    }(), function () {
8133        function t(t, i, s, n) {
8134            return e.isPlainObject(t) && (i = t, t = t.effect), t = {effect: t}, null == i && (i = {}), e.isFunction(i) && (n = i, s = null, i = {}), ("number" == typeof i || e.fx.speeds[i]) && (n = s, s = i, i = {}), e.isFunction(s) && (n = s, s = null), i && e.extend(t, i), s = s || i.duration, t.duration = e.fx.off ? 0 : "number" == typeof s ? s : s in e.fx.speeds ? e.fx.speeds[s] : e.fx.speeds._default, t.complete = n || i.complete, t
8135        }
8136
8137        function i(t) {
8138            return !t || "number" == typeof t || e.fx.speeds[t] ? !0 : "string" != typeof t || e.effects.effect[t] ? e.isFunction(t) ? !0 : "object" != typeof t || t.effect ? !1 : !0 : !0
8139        }
8140
8141        e.extend(e.effects, {
8142            version: "1.11.4", save: function (e, t) {
8143                for (var i = 0; t.length > i; i++) null !== t[i] && e.data(y + t[i], e[0].style[t[i]])
8144            }, restore: function (e, t) {
8145                var i, s;
8146                for (s = 0; t.length > s; s++) null !== t[s] && (i = e.data(y + t[s]), void 0 === i && (i = ""), e.css(t[s], i))
8147            }, setMode: function (e, t) {
8148                return "toggle" === t && (t = e.is(":hidden") ? "show" : "hide"), t
8149            }, getBaseline: function (e, t) {
8150                var i, s;
8151                switch (e[0]) {
8152                    case"top":
8153                        i = 0;
8154                        break;
8155                    case"middle":
8156                        i = .5;
8157                        break;
8158                    case"bottom":
8159                        i = 1;
8160                        break;
8161                    default:
8162                        i = e[0] / t.height
8163                }
8164                switch (e[1]) {
8165                    case"left":
8166                        s = 0;
8167                        break;
8168                    case"center":
8169                        s = .5;
8170                        break;
8171                    case"right":
8172                        s = 1;
8173                        break;
8174                    default:
8175                        s = e[1] / t.width
8176                }
8177                return {x: s, y: i}
8178            }, createWrapper: function (t) {
8179                if (t.parent().is(".ui-effects-wrapper")) return t.parent();
8180                var i = {width: t.outerWidth(!0), height: t.outerHeight(!0), "float": t.css("float")},
8181                    s = e("<div></div>").addClass("ui-effects-wrapper").css({
8182                        fontSize: "100%",
8183                        background: "transparent",
8184                        border: "none",
8185                        margin: 0,
8186                        padding: 0
8187                    }), n = {width: t.width(), height: t.height()}, a = document.activeElement;
8188                try {
8189                    a.id
8190                } catch (o) {
8191                    a = document.body
8192                }
8193                return t.wrap(s), (t[0] === a || e.contains(t[0], a)) && e(a).focus(), s = t.parent(), "static" === t.css("position") ? (s.css({position: "relative"}), t.css({position: "relative"})) : (e.extend(i, {
8194                    position: t.css("position"),
8195                    zIndex: t.css("z-index")
8196                }), e.each(["top", "left", "bottom", "right"], function (e, s) {
8197                    i[s] = t.css(s), isNaN(parseInt(i[s], 10)) && (i[s] = "auto")
8198                }), t.css({
8199                    position: "relative",
8200                    top: 0,
8201                    left: 0,
8202                    right: "auto",
8203                    bottom: "auto"
8204                })), t.css(n), s.css(i).show()
8205            }, removeWrapper: function (t) {
8206                var i = document.activeElement;
8207                return t.parent().is(".ui-effects-wrapper") && (t.parent().replaceWith(t), (t[0] === i || e.contains(t[0], i)) && e(i).focus()), t
8208            }, setTransition: function (t, i, s, n) {
8209                return n = n || {}, e.each(i, function (e, i) {
8210                    var a = t.cssUnit(i);
8211                    a[0] > 0 && (n[i] = a[0] * s + a[1])
8212                }), n
8213            }
8214        }), e.fn.extend({
8215            effect: function () {
8216                function i(t) {
8217                    function i() {
8218                        e.isFunction(a) && a.call(n[0]), e.isFunction(t) && t()
8219                    }
8220
8221                    var n = e(this), a = s.complete, r = s.mode;
8222                    (n.is(":hidden") ? "hide" === r : "show" === r) ? (n[r](), i()) : o.call(n[0], s, i)
8223                }
8224
8225                var s = t.apply(this, arguments), n = s.mode, a = s.queue, o = e.effects.effect[s.effect];
8226                return e.fx.off || !o ? n ? this[n](s.duration, s.complete) : this.each(function () {
8227                    s.complete && s.complete.call(this)
8228                }) : a === !1 ? this.each(i) : this.queue(a || "fx", i)
8229            }, show: function (e) {
8230                return function (s) {
8231                    if (i(s)) return e.apply(this, arguments);
8232                    var n = t.apply(this, arguments);
8233                    return n.mode = "show", this.effect.call(this, n)
8234                }
8235            }(e.fn.show), hide: function (e) {
8236                return function (s) {
8237                    if (i(s)) return e.apply(this, arguments);
8238                    var n = t.apply(this, arguments);
8239                    return n.mode = "hide", this.effect.call(this, n)
8240                }
8241            }(e.fn.hide), toggle: function (e) {
8242                return function (s) {
8243                    if (i(s) || "boolean" == typeof s) return e.apply(this, arguments);
8244                    var n = t.apply(this, arguments);
8245                    return n.mode = "toggle", this.effect.call(this, n)
8246                }
8247            }(e.fn.toggle), cssUnit: function (t) {
8248                var i = this.css(t), s = [];
8249                return e.each(["em", "px", "%", "pt"], function (e, t) {
8250                    i.indexOf(t) > 0 && (s = [parseFloat(i), t])
8251                }), s
8252            }
8253        })
8254    }(), function () {
8255        var t = {};
8256        e.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function (e, i) {
8257            t[i] = function (t) {
8258                return Math.pow(t, e + 2)
8259            }
8260        }), e.extend(t, {
8261            Sine: function (e) {
8262                return 1 - Math.cos(e * Math.PI / 2)
8263            }, Circ: function (e) {
8264                return 1 - Math.sqrt(1 - e * e)
8265            }, Elastic: function (e) {
8266                return 0 === e || 1 === e ? e : -Math.pow(2, 8 * (e - 1)) * Math.sin((80 * (e - 1) - 7.5) * Math.PI / 15)
8267            }, Back: function (e) {
8268                return e * e * (3 * e - 2)
8269            }, Bounce: function (e) {
8270                for (var t, i = 4; ((t = Math.pow(2, --i)) - 1) / 11 > e;) ;
8271                return 1 / Math.pow(4, 3 - i) - 7.5625 * Math.pow((3 * t - 2) / 22 - e, 2)
8272            }
8273        }), e.each(t, function (t, i) {
8274            e.easing["easeIn" + t] = i, e.easing["easeOut" + t] = function (e) {
8275                return 1 - i(1 - e)
8276            }, e.easing["easeInOut" + t] = function (e) {
8277                return .5 > e ? i(2 * e) / 2 : 1 - i(-2 * e + 2) / 2
8278            }
8279        })
8280    }(), e.effects, e.effects.effect.blind = function (t, i) {
8281        var s, n, a, o = e(this), r = /up|down|vertical/, h = /up|left|vertical|horizontal/,
8282            l = ["position", "top", "bottom", "left", "right", "height", "width"],
8283            u = e.effects.setMode(o, t.mode || "hide"), d = t.direction || "up", c = r.test(d),
8284            p = c ? "height" : "width", f = c ? "top" : "left", m = h.test(d), g = {}, v = "show" === u;
8285        o.parent().is(".ui-effects-wrapper") ? e.effects.save(o.parent(), l) : e.effects.save(o, l), o.show(), s = e.effects.createWrapper(o).css({overflow: "hidden"}), n = s[p](), a = parseFloat(s.css(f)) || 0, g[p] = v ? n : 0, m || (o.css(c ? "bottom" : "right", 0).css(c ? "top" : "left", "auto").css({position: "absolute"}), g[f] = v ? a : n + a), v && (s.css(p, 0), m || s.css(f, a + n)), s.animate(g, {
8286            duration: t.duration,
8287            easing: t.easing,
8288            queue: !1,
8289            complete: function () {
8290                "hide" === u && o.hide(), e.effects.restore(o, l), e.effects.removeWrapper(o), i()
8291            }
8292        })
8293    }, e.effects.effect.bounce = function (t, i) {
8294        var s, n, a, o = e(this), r = ["position", "top", "bottom", "left", "right", "height", "width"],
8295            h = e.effects.setMode(o, t.mode || "effect"), l = "hide" === h, u = "show" === h, d = t.direction || "up",
8296            c = t.distance, p = t.times || 5, f = 2 * p + (u || l ? 1 : 0), m = t.duration / f, g = t.easing,
8297            v = "up" === d || "down" === d ? "top" : "left", y = "up" === d || "left" === d, b = o.queue(),
8298            _ = b.length;
8299        for ((u || l) && r.push("opacity"), e.effects.save(o, r), o.show(), e.effects.createWrapper(o), c || (c = o["top" === v ? "outerHeight" : "outerWidth"]() / 3), u && (a = {opacity: 1}, a[v] = 0, o.css("opacity", 0).css(v, y ? 2 * -c : 2 * c).animate(a, m, g)), l && (c /= Math.pow(2, p - 1)), a = {}, a[v] = 0, s = 0; p > s; s++) n = {}, n[v] = (y ? "-=" : "+=") + c, o.animate(n, m, g).animate(a, m, g), c = l ? 2 * c : c / 2;
8300        l && (n = {opacity: 0}, n[v] = (y ? "-=" : "+=") + c, o.animate(n, m, g)), o.queue(function () {
8301            l && o.hide(), e.effects.restore(o, r), e.effects.removeWrapper(o), i()
8302        }), _ > 1 && b.splice.apply(b, [1, 0].concat(b.splice(_, f + 1))), o.dequeue()
8303    }, e.effects.effect.clip = function (t, i) {
8304        var s, n, a, o = e(this), r = ["position", "top", "bottom", "left", "right", "height", "width"],
8305            h = e.effects.setMode(o, t.mode || "hide"), l = "show" === h, u = t.direction || "vertical",
8306            d = "vertical" === u, c = d ? "height" : "width", p = d ? "top" : "left", f = {};
8307        e.effects.save(o, r), o.show(), s = e.effects.createWrapper(o).css({overflow: "hidden"}), n = "IMG" === o[0].tagName ? s : o, a = n[c](), l && (n.css(c, 0), n.css(p, a / 2)), f[c] = l ? a : 0, f[p] = l ? 0 : a / 2, n.animate(f, {
8308            queue: !1,
8309            duration: t.duration,
8310            easing: t.easing,
8311            complete: function () {
8312                l || o.hide(), e.effects.restore(o, r), e.effects.removeWrapper(o), i()
8313            }
8314        })
8315    }, e.effects.effect.drop = function (t, i) {
8316        var s, n = e(this), a = ["position", "top", "bottom", "left", "right", "opacity", "height", "width"],
8317            o = e.effects.setMode(n, t.mode || "hide"), r = "show" === o, h = t.direction || "left",
8318            l = "up" === h || "down" === h ? "top" : "left", u = "up" === h || "left" === h ? "pos" : "neg",
8319            d = {opacity: r ? 1 : 0};
8320        e.effects.save(n, a), n.show(), e.effects.createWrapper(n), s = t.distance || n["top" === l ? "outerHeight" : "outerWidth"](!0) / 2, r && n.css("opacity", 0).css(l, "pos" === u ? -s : s), d[l] = (r ? "pos" === u ? "+=" : "-=" : "pos" === u ? "-=" : "+=") + s, n.animate(d, {
8321            queue: !1,
8322            duration: t.duration,
8323            easing: t.easing,
8324            complete: function () {
8325                "hide" === o && n.hide(), e.effects.restore(n, a), e.effects.removeWrapper(n), i()
8326            }
8327        })
8328    }, e.effects.effect.explode = function (t, i) {
8329        function s() {
8330            b.push(this), b.length === d * c && n()
8331        }
8332
8333        function n() {
8334            p.css({visibility: "visible"}), e(b).remove(), m || p.hide(), i()
8335        }
8336
8337        var a, o, r, h, l, u, d = t.pieces ? Math.round(Math.sqrt(t.pieces)) : 3, c = d, p = e(this),
8338            f = e.effects.setMode(p, t.mode || "hide"), m = "show" === f,
8339            g = p.show().css("visibility", "hidden").offset(), v = Math.ceil(p.outerWidth() / c),
8340            y = Math.ceil(p.outerHeight() / d), b = [];
8341        for (a = 0; d > a; a++) for (h = g.top + a * y, u = a - (d - 1) / 2, o = 0; c > o; o++) r = g.left + o * v, l = o - (c - 1) / 2, p.clone().appendTo("body").wrap("<div></div>").css({
8342            position: "absolute",
8343            visibility: "visible",
8344            left: -o * v,
8345            top: -a * y
8346        }).parent().addClass("ui-effects-explode").css({
8347            position: "absolute",
8348            overflow: "hidden",
8349            width: v,
8350            height: y,
8351            left: r + (m ? l * v : 0),
8352            top: h + (m ? u * y : 0),
8353            opacity: m ? 0 : 1
8354        }).animate({
8355            left: r + (m ? 0 : l * v),
8356            top: h + (m ? 0 : u * y),
8357            opacity: m ? 1 : 0
8358        }, t.duration || 500, t.easing, s)
8359    }, e.effects.effect.fade = function (t, i) {
8360        var s = e(this), n = e.effects.setMode(s, t.mode || "toggle");
8361        s.animate({opacity: n}, {queue: !1, duration: t.duration, easing: t.easing, complete: i})
8362    }, e.effects.effect.fold = function (t, i) {
8363        var s, n, a = e(this), o = ["position", "top", "bottom", "left", "right", "height", "width"],
8364            r = e.effects.setMode(a, t.mode || "hide"), h = "show" === r, l = "hide" === r, u = t.size || 15,
8365            d = /([0-9]+)%/.exec(u), c = !!t.horizFirst, p = h !== c, f = p ? ["width", "height"] : ["height", "width"],
8366            m = t.duration / 2, g = {}, v = {};
8367        e.effects.save(a, o), a.show(), s = e.effects.createWrapper(a).css({overflow: "hidden"}), n = p ? [s.width(), s.height()] : [s.height(), s.width()], d && (u = parseInt(d[1], 10) / 100 * n[l ? 0 : 1]), h && s.css(c ? {
8368            height: 0,
8369            width: u
8370        } : {
8371            height: u,
8372            width: 0
8373        }), g[f[0]] = h ? n[0] : u, v[f[1]] = h ? n[1] : 0, s.animate(g, m, t.easing).animate(v, m, t.easing, function () {
8374            l && a.hide(), e.effects.restore(a, o), e.effects.removeWrapper(a), i()
8375        })
8376    }, e.effects.effect.highlight = function (t, i) {
8377        var s = e(this), n = ["backgroundImage", "backgroundColor", "opacity"],
8378            a = e.effects.setMode(s, t.mode || "show"), o = {backgroundColor: s.css("backgroundColor")};
8379        "hide" === a && (o.opacity = 0), e.effects.save(s, n), s.show().css({
8380            backgroundImage: "none",
8381            backgroundColor: t.color || "#ffff99"
8382        }).animate(o, {
8383            queue: !1, duration: t.duration, easing: t.easing, complete: function () {
8384                "hide" === a && s.hide(), e.effects.restore(s, n), i()
8385            }
8386        })
8387    }, e.effects.effect.size = function (t, i) {
8388        var s, n, a, o = e(this),
8389            r = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"],
8390            h = ["position", "top", "bottom", "left", "right", "overflow", "opacity"],
8391            l = ["width", "height", "overflow"], u = ["fontSize"],
8392            d = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"],
8393            c = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"],
8394            p = e.effects.setMode(o, t.mode || "effect"), f = t.restore || "effect" !== p, m = t.scale || "both",
8395            g = t.origin || ["middle", "center"], v = o.css("position"), y = f ? r : h,
8396            b = {height: 0, width: 0, outerHeight: 0, outerWidth: 0};
8397        "show" === p && o.show(), s = {
8398            height: o.height(),
8399            width: o.width(),
8400            outerHeight: o.outerHeight(),
8401            outerWidth: o.outerWidth()
8402        }, "toggle" === t.mode && "show" === p ? (o.from = t.to || b, o.to = t.from || s) : (o.from = t.from || ("show" === p ? b : s), o.to = t.to || ("hide" === p ? b : s)), a = {
8403            from: {
8404                y: o.from.height / s.height,
8405                x: o.from.width / s.width
8406            }, to: {y: o.to.height / s.height, x: o.to.width / s.width}
8407        }, ("box" === m || "both" === m) && (a.from.y !== a.to.y && (y = y.concat(d), o.from = e.effects.setTransition(o, d, a.from.y, o.from), o.to = e.effects.setTransition(o, d, a.to.y, o.to)), a.from.x !== a.to.x && (y = y.concat(c), o.from = e.effects.setTransition(o, c, a.from.x, o.from), o.to = e.effects.setTransition(o, c, a.to.x, o.to))), ("content" === m || "both" === m) && a.from.y !== a.to.y && (y = y.concat(u).concat(l), o.from = e.effects.setTransition(o, u, a.from.y, o.from), o.to = e.effects.setTransition(o, u, a.to.y, o.to)), e.effects.save(o, y), o.show(), e.effects.createWrapper(o), o.css("overflow", "hidden").css(o.from), g && (n = e.effects.getBaseline(g, s), o.from.top = (s.outerHeight - o.outerHeight()) * n.y, o.from.left = (s.outerWidth - o.outerWidth()) * n.x, o.to.top = (s.outerHeight - o.to.outerHeight) * n.y, o.to.left = (s.outerWidth - o.to.outerWidth) * n.x), o.css(o.from), ("content" === m || "both" === m) && (d = d.concat(["marginTop", "marginBottom"]).concat(u), c = c.concat(["marginLeft", "marginRight"]), l = r.concat(d).concat(c), o.find("*[width]").each(function () {
8408            var i = e(this),
8409                s = {height: i.height(), width: i.width(), outerHeight: i.outerHeight(), outerWidth: i.outerWidth()};
8410            f && e.effects.save(i, l), i.from = {
8411                height: s.height * a.from.y,
8412                width: s.width * a.from.x,
8413                outerHeight: s.outerHeight * a.from.y,
8414                outerWidth: s.outerWidth * a.from.x
8415            }, i.to = {
8416                height: s.height * a.to.y,
8417                width: s.width * a.to.x,
8418                outerHeight: s.height * a.to.y,
8419                outerWidth: s.width * a.to.x
8420            }, a.from.y !== a.to.y && (i.from = e.effects.setTransition(i, d, a.from.y, i.from), i.to = e.effects.setTransition(i, d, a.to.y, i.to)), a.from.x !== a.to.x && (i.from = e.effects.setTransition(i, c, a.from.x, i.from), i.to = e.effects.setTransition(i, c, a.to.x, i.to)), i.css(i.from), i.animate(i.to, t.duration, t.easing, function () {
8421                f && e.effects.restore(i, l)
8422            })
8423        })), o.animate(o.to, {
8424            queue: !1, duration: t.duration, easing: t.easing, complete: function () {
8425                0 === o.to.opacity && o.css("opacity", o.from.opacity), "hide" === p && o.hide(), e.effects.restore(o, y), f || ("static" === v ? o.css({
8426                    position: "relative",
8427                    top: o.to.top,
8428                    left: o.to.left
8429                }) : e.each(["top", "left"], function (e, t) {
8430                    o.css(t, function (t, i) {
8431                        var s = parseInt(i, 10), n = e ? o.to.left : o.to.top;
8432                        return "auto" === i ? n + "px" : s + n + "px"
8433                    })
8434                })), e.effects.removeWrapper(o), i()
8435            }
8436        })
8437    }, e.effects.effect.scale = function (t, i) {
8438        var s = e(this), n = e.extend(!0, {}, t), a = e.effects.setMode(s, t.mode || "effect"),
8439            o = parseInt(t.percent, 10) || (0 === parseInt(t.percent, 10) ? 0 : "hide" === a ? 0 : 100),
8440            r = t.direction || "both", h = t.origin,
8441            l = {height: s.height(), width: s.width(), outerHeight: s.outerHeight(), outerWidth: s.outerWidth()},
8442            u = {y: "horizontal" !== r ? o / 100 : 1, x: "vertical" !== r ? o / 100 : 1};
8443        n.effect = "size", n.queue = !1,
8444            n.complete = i, "effect" !== a && (n.origin = h || ["middle", "center"], n.restore = !0), n.from = t.from || ("show" === a ? {
8445            height: 0,
8446            width: 0,
8447            outerHeight: 0,
8448            outerWidth: 0
8449        } : l), n.to = {
8450            height: l.height * u.y,
8451            width: l.width * u.x,
8452            outerHeight: l.outerHeight * u.y,
8453            outerWidth: l.outerWidth * u.x
8454        }, n.fade && ("show" === a && (n.from.opacity = 0, n.to.opacity = 1), "hide" === a && (n.from.opacity = 1, n.to.opacity = 0)), s.effect(n)
8455    }, e.effects.effect.puff = function (t, i) {
8456        var s = e(this), n = e.effects.setMode(s, t.mode || "hide"), a = "hide" === n,
8457            o = parseInt(t.percent, 10) || 150, r = o / 100,
8458            h = {height: s.height(), width: s.width(), outerHeight: s.outerHeight(), outerWidth: s.outerWidth()};
8459        e.extend(t, {
8460            effect: "scale",
8461            queue: !1,
8462            fade: !0,
8463            mode: n,
8464            complete: i,
8465            percent: a ? o : 100,
8466            from: a ? h : {
8467                height: h.height * r,
8468                width: h.width * r,
8469                outerHeight: h.outerHeight * r,
8470                outerWidth: h.outerWidth * r
8471            }
8472        }), s.effect(t)
8473    }, e.effects.effect.pulsate = function (t, i) {
8474        var s, n = e(this), a = e.effects.setMode(n, t.mode || "show"), o = "show" === a, r = "hide" === a,
8475            h = o || "hide" === a, l = 2 * (t.times || 5) + (h ? 1 : 0), u = t.duration / l, d = 0, c = n.queue(),
8476            p = c.length;
8477        for ((o || !n.is(":visible")) && (n.css("opacity", 0).show(), d = 1), s = 1; l > s; s++) n.animate({opacity: d}, u, t.easing), d = 1 - d;
8478        n.animate({opacity: d}, u, t.easing), n.queue(function () {
8479            r && n.hide(), i()
8480        }), p > 1 && c.splice.apply(c, [1, 0].concat(c.splice(p, l + 1))), n.dequeue()
8481    }, e.effects.effect.shake = function (t, i) {
8482        var s, n = e(this), a = ["position", "top", "bottom", "left", "right", "height", "width"],
8483            o = e.effects.setMode(n, t.mode || "effect"), r = t.direction || "left", h = t.distance || 20,
8484            l = t.times || 3, u = 2 * l + 1, d = Math.round(t.duration / u),
8485            c = "up" === r || "down" === r ? "top" : "left", p = "up" === r || "left" === r, f = {}, m = {}, g = {},
8486            v = n.queue(), y = v.length;
8487        for (e.effects.save(n, a), n.show(), e.effects.createWrapper(n), f[c] = (p ? "-=" : "+=") + h, m[c] = (p ? "+=" : "-=") + 2 * h, g[c] = (p ? "-=" : "+=") + 2 * h, n.animate(f, d, t.easing), s = 1; l > s; s++) n.animate(m, d, t.easing).animate(g, d, t.easing);
8488        n.animate(m, d, t.easing).animate(f, d / 2, t.easing).queue(function () {
8489            "hide" === o && n.hide(), e.effects.restore(n, a), e.effects.removeWrapper(n), i()
8490        }), y > 1 && v.splice.apply(v, [1, 0].concat(v.splice(y, u + 1))), n.dequeue()
8491    }, e.effects.effect.slide = function (t, i) {
8492        var s, n = e(this), a = ["position", "top", "bottom", "left", "right", "width", "height"],
8493            o = e.effects.setMode(n, t.mode || "show"), r = "show" === o, h = t.direction || "left",
8494            l = "up" === h || "down" === h ? "top" : "left", u = "up" === h || "left" === h, d = {};
8495        e.effects.save(n, a), n.show(), s = t.distance || n["top" === l ? "outerHeight" : "outerWidth"](!0), e.effects.createWrapper(n).css({overflow: "hidden"}), r && n.css(l, u ? isNaN(s) ? "-" + s : -s : s), d[l] = (r ? u ? "+=" : "-=" : u ? "-=" : "+=") + s, n.animate(d, {
8496            queue: !1,
8497            duration: t.duration,
8498            easing: t.easing,
8499            complete: function () {
8500                "hide" === o && n.hide(), e.effects.restore(n, a), e.effects.removeWrapper(n), i()
8501            }
8502        })
8503    }, e.effects.effect.transfer = function (t, i) {
8504        var s = e(this), n = e(t.to), a = "fixed" === n.css("position"), o = e("body"), r = a ? o.scrollTop() : 0,
8505            h = a ? o.scrollLeft() : 0, l = n.offset(),
8506            u = {top: l.top - r, left: l.left - h, height: n.innerHeight(), width: n.innerWidth()}, d = s.offset(),
8507            c = e("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(t.className).css({
8508                top: d.top - r,
8509                left: d.left - h,
8510                height: s.innerHeight(),
8511                width: s.innerWidth(),
8512                position: a ? "fixed" : "absolute"
8513            }).animate(u, t.duration, t.easing, function () {
8514                c.remove(), i()
8515            })
8516    }, e.widget("ui.progressbar", {
8517        version: "1.11.4", options: {max: 100, value: 0, change: null, complete: null}, min: 0, _create: function () {
8518            this.oldValue = this.options.value = this._constrainedValue(), this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({
8519                role: "progressbar",
8520                "aria-valuemin": this.min
8521            }), this.valueDiv = e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element), this._refreshValue()
8522        }, _destroy: function () {
8523            this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"), this.valueDiv.remove()
8524        }, value: function (e) {
8525            return void 0 === e ? this.options.value : (this.options.value = this._constrainedValue(e), void this._refreshValue())
8526        }, _constrainedValue: function (e) {
8527            return void 0 === e && (e = this.options.value), this.indeterminate = e === !1, "number" != typeof e && (e = 0), this.indeterminate ? !1 : Math.min(this.options.max, Math.max(this.min, e))
8528        }, _setOptions: function (e) {
8529            var t = e.value;
8530            delete e.value, this._super(e), this.options.value = this._constrainedValue(t), this._refreshValue()
8531        }, _setOption: function (e, t) {
8532            "max" === e && (t = Math.max(this.min, t)), "disabled" === e && this.element.toggleClass("ui-state-disabled", !!t).attr("aria-disabled", t), this._super(e, t)
8533        }, _percentage: function () {
8534            return this.indeterminate ? 100 : 100 * (this.options.value - this.min) / (this.options.max - this.min)
8535        }, _refreshValue: function () {
8536            var t = this.options.value, i = this._percentage();
8537            this.valueDiv.toggle(this.indeterminate || t > this.min).toggleClass("ui-corner-right", t === this.options.max).width(i.toFixed(0) + "%"), this.element.toggleClass("ui-progressbar-indeterminate", this.indeterminate), this.indeterminate ? (this.element.removeAttr("aria-valuenow"), this.overlayDiv || (this.overlayDiv = e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))) : (this.element.attr({
8538                "aria-valuemax": this.options.max,
8539                "aria-valuenow": t
8540            }), this.overlayDiv && (this.overlayDiv.remove(), this.overlayDiv = null)), this.oldValue !== t && (this.oldValue = t, this._trigger("change")), t === this.options.max && this._trigger("complete")
8541        }
8542    }), e.widget("ui.selectable", e.ui.mouse, {
8543        version: "1.11.4",
8544        options: {
8545            appendTo: "body",
8546            autoRefresh: !0,
8547            distance: 0,
8548            filter: "*",
8549            tolerance: "touch",
8550            selected: null,
8551            selecting: null,
8552            start: null,
8553            stop: null,
8554            unselected: null,
8555            unselecting: null
8556        },
8557        _create: function () {
8558            var t, i = this;
8559            this.element.addClass("ui-selectable"), this.dragged = !1, this.refresh = function () {
8560                t = e(i.options.filter, i.element[0]), t.addClass("ui-selectee"), t.each(function () {
8561                    var t = e(this), i = t.offset();
8562                    e.data(this, "selectable-item", {
8563                        element: this,
8564                        $element: t,
8565                        left: i.left,
8566                        top: i.top,
8567                        right: i.left + t.outerWidth(),
8568                        bottom: i.top + t.outerHeight(),
8569                        startselected: !1,
8570                        selected: t.hasClass("ui-selected"),
8571                        selecting: t.hasClass("ui-selecting"),
8572                        unselecting: t.hasClass("ui-unselecting")
8573                    })
8574                })
8575            }, this.refresh(), this.selectees = t.addClass("ui-selectee"), this._mouseInit(), this.helper = e("<div class='ui-selectable-helper'></div>")
8576        },
8577        _destroy: function () {
8578            this.selectees.removeClass("ui-selectee").removeData("selectable-item"), this.element.removeClass("ui-selectable ui-selectable-disabled"), this._mouseDestroy()
8579        },
8580        _mouseStart: function (t) {
8581            var i = this, s = this.options;
8582            this.opos = [t.pageX, t.pageY], this.options.disabled || (this.selectees = e(s.filter, this.element[0]), this._trigger("start", t), e(s.appendTo).append(this.helper), this.helper.css({
8583                left: t.pageX,
8584                top: t.pageY,
8585                width: 0,
8586                height: 0
8587            }), s.autoRefresh && this.refresh(), this.selectees.filter(".ui-selected").each(function () {
8588                var s = e.data(this, "selectable-item");
8589                s.startselected = !0, t.metaKey || t.ctrlKey || (s.$element.removeClass("ui-selected"), s.selected = !1, s.$element.addClass("ui-unselecting"), s.unselecting = !0, i._trigger("unselecting", t, {unselecting: s.element}))
8590            }), e(t.target).parents().addBack().each(function () {
8591                var s, n = e.data(this, "selectable-item");
8592                return n ? (s = !t.metaKey && !t.ctrlKey || !n.$element.hasClass("ui-selected"), n.$element.removeClass(s ? "ui-unselecting" : "ui-selected").addClass(s ? "ui-selecting" : "ui-unselecting"), n.unselecting = !s, n.selecting = s, n.selected = s, s ? i._trigger("selecting", t, {selecting: n.element}) : i._trigger("unselecting", t, {unselecting: n.element}), !1) : void 0
8593            }))
8594        },
8595        _mouseDrag: function (t) {
8596            if (this.dragged = !0, !this.options.disabled) {
8597                var i, s = this, n = this.options, a = this.opos[0], o = this.opos[1], r = t.pageX, h = t.pageY;
8598                return a > r && (i = r, r = a, a = i), o > h && (i = h, h = o, o = i), this.helper.css({
8599                    left: a,
8600                    top: o,
8601                    width: r - a,
8602                    height: h - o
8603                }), this.selectees.each(function () {
8604                    var i = e.data(this, "selectable-item"), l = !1;
8605                    i && i.element !== s.element[0] && ("touch" === n.tolerance ? l = !(i.left > r || a > i.right || i.top > h || o > i.bottom) : "fit" === n.tolerance && (l = i.left > a && r > i.right && i.top > o && h > i.bottom), l ? (i.selected && (i.$element.removeClass("ui-selected"), i.selected = !1), i.unselecting && (i.$element.removeClass("ui-unselecting"), i.unselecting = !1), i.selecting || (i.$element.addClass("ui-selecting"), i.selecting = !0, s._trigger("selecting", t, {selecting: i.element}))) : (i.selecting && ((t.metaKey || t.ctrlKey) && i.startselected ? (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.$element.addClass("ui-selected"), i.selected = !0) : (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.startselected && (i.$element.addClass("ui-unselecting"), i.unselecting = !0), s._trigger("unselecting", t, {unselecting: i.element}))), i.selected && (t.metaKey || t.ctrlKey || i.startselected || (i.$element.removeClass("ui-selected"), i.selected = !1, i.$element.addClass("ui-unselecting"), i.unselecting = !0, s._trigger("unselecting", t, {unselecting: i.element})))))
8606                }), !1
8607            }
8608        },
8609        _mouseStop: function (t) {
8610            var i = this;
8611            return this.dragged = !1, e(".ui-unselecting", this.element[0]).each(function () {
8612                var s = e.data(this, "selectable-item");
8613                s.$element.removeClass("ui-unselecting"), s.unselecting = !1, s.startselected = !1, i._trigger("unselected", t, {unselected: s.element})
8614            }), e(".ui-selecting", this.element[0]).each(function () {
8615                var s = e.data(this, "selectable-item");
8616                s.$element.removeClass("ui-selecting").addClass("ui-selected"), s.selecting = !1, s.selected = !0, s.startselected = !0, i._trigger("selected", t, {selected: s.element})
8617            }), this._trigger("stop", t), this.helper.remove(), !1
8618        }
8619    }), e.widget("ui.selectmenu", {
8620        version: "1.11.4",
8621        defaultElement: "<select>",
8622        options: {
8623            appendTo: null,
8624            disabled: null,
8625            icons: {button: "ui-icon-triangle-1-s"},
8626            position: {my: "left top", at: "left bottom", collision: "none"},
8627            width: null,
8628            change: null,
8629            close: null,
8630            focus: null,
8631            open: null,
8632            select: null
8633        },
8634        _create: function () {
8635            var e = this.element.uniqueId().attr("id");
8636            this.ids = {
8637                element: e,
8638                button: e + "-button",
8639                menu: e + "-menu"
8640            }, this._drawButton(), this._drawMenu(), this.options.disabled && this.disable()
8641        },
8642        _drawButton: function () {
8643            var t = this;
8644            this.label = e("label[for='" + this.ids.element + "']").attr("for", this.ids.button), this._on(this.label, {
8645                click: function (e) {
8646                    this.button.focus(), e.preventDefault()
8647                }
8648            }), this.element.hide(), this.button = e("<span>", {
8649                "class": "ui-selectmenu-button ui-widget ui-state-default ui-corner-all",
8650                tabindex: this.options.disabled ? -1 : 0,
8651                id: this.ids.button,
8652                role: "combobox",
8653                "aria-expanded": "false",
8654                "aria-autocomplete": "list",
8655                "aria-owns": this.ids.menu,
8656                "aria-haspopup": "true"
8657            }).insertAfter(this.element), e("<span>", {"class": "ui-icon " + this.options.icons.button}).prependTo(this.button), this.buttonText = e("<span>", {"class": "ui-selectmenu-text"}).appendTo(this.button), this._setText(this.buttonText, this.element.find("option:selected").text()), this._resizeButton(), this._on(this.button, this._buttonEvents), this.button.one("focusin", function () {
8658                t.menuItems || t._refreshMenu()
8659            }), this._hoverable(this.button), this._focusable(this.button)
8660        },
8661        _drawMenu: function () {
8662            var t = this;
8663            this.menu = e("<ul>", {
8664                "aria-hidden": "true",
8665                "aria-labelledby": this.ids.button,
8666                id: this.ids.menu
8667            }), this.menuWrap = e("<div>", {"class": "ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()), this.menuInstance = this.menu.menu({
8668                role: "listbox",
8669                select: function (e, i) {
8670                    e.preventDefault(), t._setSelection(), t._select(i.item.data("ui-selectmenu-item"), e)
8671                },
8672                focus: function (e, i) {
8673                    var s = i.item.data("ui-selectmenu-item");
8674                    null != t.focusIndex && s.index !== t.focusIndex && (t._trigger("focus", e, {item: s}), t.isOpen || t._select(s, e)), t.focusIndex = s.index, t.button.attr("aria-activedescendant", t.menuItems.eq(s.index).attr("id"))
8675                }
8676            }).menu("instance"), this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"), this.menuInstance._off(this.menu, "mouseleave"), this.menuInstance._closeOnDocumentClick = function () {
8677                return !1
8678            }, this.menuInstance._isDivider = function () {
8679                return !1
8680            }
8681        },
8682        refresh: function () {
8683            this._refreshMenu(), this._setText(this.buttonText, this._getSelectedItem().text()), this.options.width || this._resizeButton()
8684        },
8685        _refreshMenu: function () {
8686            this.menu.empty();
8687            var e, t = this.element.find("option");
8688            t.length && (this._parseOptions(t), this._renderMenu(this.menu, this.items), this.menuInstance.refresh(), this.menuItems = this.menu.find("li").not(".ui-selectmenu-optgroup"), e = this._getSelectedItem(), this.menuInstance.focus(null, e), this._setAria(e.data("ui-selectmenu-item")), this._setOption("disabled", this.element.prop("disabled")))
8689        },
8690        open: function (e) {
8691            this.options.disabled || (this.menuItems ? (this.menu.find(".ui-state-focus").removeClass("ui-state-focus"), this.menuInstance.focus(null, this._getSelectedItem())) : this._refreshMenu(), this.isOpen = !0, this._toggleAttr(), this._resizeMenu(), this._position(), this._on(this.document, this._documentClick), this._trigger("open", e))
8692        },
8693        _position: function () {
8694            this.menuWrap.position(e.extend({of: this.button}, this.options.position))
8695        },
8696        close: function (e) {
8697            this.isOpen && (this.isOpen = !1, this._toggleAttr(), this.range = null, this._off(this.document), this._trigger("close", e))
8698        },
8699        widget: function () {
8700            return this.button
8701        },
8702        menuWidget: function () {
8703            return this.menu
8704        },
8705        _renderMenu: function (t, i) {
8706            var s = this, n = "";
8707            e.each(i, function (i, a) {
8708                a.optgroup !== n && (e("<li>", {
8709                    "class": "ui-selectmenu-optgroup ui-menu-divider" + (a.element.parent("optgroup").prop("disabled") ? " ui-state-disabled" : ""),
8710                    text: a.optgroup
8711                }).appendTo(t), n = a.optgroup), s._renderItemData(t, a)
8712            })
8713        },
8714        _renderItemData: function (e, t) {
8715            return this._renderItem(e, t).data("ui-selectmenu-item", t)
8716        },
8717        _renderItem: function (t, i) {
8718            var s = e("<li>");
8719            return i.disabled && s.addClass("ui-state-disabled"), this._setText(s, i.label), s.appendTo(t)
8720        },
8721        _setText: function (e, t) {
8722            t ? e.text(t) : e.html("&#160;")
8723        },
8724        _move: function (e, t) {
8725            var i, s, n = ".ui-menu-item";
8726            this.isOpen ? i = this.menuItems.eq(this.focusIndex) : (i = this.menuItems.eq(this.element[0].selectedIndex), n += ":not(.ui-state-disabled)"), s = "first" === e || "last" === e ? i["first" === e ? "prevAll" : "nextAll"](n).eq(-1) : i[e + "All"](n).eq(0), s.length && this.menuInstance.focus(t, s)
8727        },
8728        _getSelectedItem: function () {
8729            return this.menuItems.eq(this.element[0].selectedIndex)
8730        },
8731        _toggle: function (e) {
8732            this[this.isOpen ? "close" : "open"](e)
8733        },
8734        _setSelection: function () {
8735            var e;
8736            this.range && (window.getSelection ? (e = window.getSelection(), e.removeAllRanges(), e.addRange(this.range)) : this.range.select(), this.button.focus())
8737        },
8738        _documentClick: {
8739            mousedown: function (t) {
8740                this.isOpen && (e(t.target).closest(".ui-selectmenu-menu, #" + this.ids.button).length || this.close(t))
8741            }
8742        },
8743        _buttonEvents: {
8744            mousedown: function () {
8745                var e;
8746                window.getSelection ? (e = window.getSelection(), e.rangeCount && (this.range = e.getRangeAt(0))) : this.range = document.selection.createRange()
8747            }, click: function (e) {
8748                this._setSelection(), this._toggle(e)
8749            }, keydown: function (t) {
8750                var i = !0;
8751                switch (t.keyCode) {
8752                    case e.ui.keyCode.TAB:
8753                    case e.ui.keyCode.ESCAPE:
8754                        this.close(t), i = !1;
8755                        break;
8756                    case e.ui.keyCode.ENTER:
8757                        this.isOpen && this._selectFocusedItem(t);
8758                        break;
8759                    case e.ui.keyCode.UP:
8760                        t.altKey ? this._toggle(t) : this._move("prev", t);
8761                        break;
8762                    case e.ui.keyCode.DOWN:
8763                        t.altKey ? this._toggle(t) : this._move("next", t);
8764                        break;
8765                    case e.ui.keyCode.SPACE:
8766                        this.isOpen ? this._selectFocusedItem(t) : this._toggle(t);
8767                        break;
8768                    case e.ui.keyCode.LEFT:
8769                        this._move("prev", t);
8770                        break;
8771                    case e.ui.keyCode.RIGHT:
8772                        this._move("next", t);
8773                        break;
8774                    case e.ui.keyCode.HOME:
8775                    case e.ui.keyCode.PAGE_UP:
8776                        this._move("first", t);
8777                        break;
8778                    case e.ui.keyCode.END:
8779                    case e.ui.keyCode.PAGE_DOWN:
8780                        this._move("last", t);
8781                        break;
8782                    default:
8783                        this.menu.trigger(t), i = !1
8784                }
8785                i && t.preventDefault()
8786            }
8787        },
8788        _selectFocusedItem: function (e) {
8789            var t = this.menuItems.eq(this.focusIndex);
8790            t.hasClass("ui-state-disabled") || this._select(t.data("ui-selectmenu-item"), e)
8791        },
8792        _select: function (e, t) {
8793            var i = this.element[0].selectedIndex;
8794            this.element[0].selectedIndex = e.index, this._setText(this.buttonText, e.label), this._setAria(e), this._trigger("select", t, {item: e}), e.index !== i && this._trigger("change", t, {item: e}), this.close(t)
8795        },
8796        _setAria: function (e) {
8797            var t = this.menuItems.eq(e.index).attr("id");
8798            this.button.attr({
8799                "aria-labelledby": t,
8800                "aria-activedescendant": t
8801            }), this.menu.attr("aria-activedescendant", t)
8802        },
8803        _setOption: function (e, t) {
8804            "icons" === e && this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button), this._super(e, t), "appendTo" === e && this.menuWrap.appendTo(this._appendTo()), "disabled" === e && (this.menuInstance.option("disabled", t), this.button.toggleClass("ui-state-disabled", t).attr("aria-disabled", t), this.element.prop("disabled", t), t ? (this.button.attr("tabindex", -1), this.close()) : this.button.attr("tabindex", 0)), "width" === e && this._resizeButton()
8805        },
8806        _appendTo: function () {
8807            var t = this.options.appendTo;
8808            return t && (t = t.jquery || t.nodeType ? e(t) : this.document.find(t).eq(0)), t && t[0] || (t = this.element.closest(".ui-front")), t.length || (t = this.document[0].body), t
8809        },
8810        _toggleAttr: function () {
8811            this.button.toggleClass("ui-corner-top", this.isOpen).toggleClass("ui-corner-all", !this.isOpen).attr("aria-expanded", this.isOpen), this.menuWrap.toggleClass("ui-selectmenu-open", this.isOpen), this.menu.attr("aria-hidden", !this.isOpen)
8812        },
8813        _resizeButton: function () {
8814            var e = this.options.width;
8815            e || (e = this.element.show().outerWidth(), this.element.hide()), this.button.outerWidth(e)
8816        },
8817        _resizeMenu: function () {
8818            this.menu.outerWidth(Math.max(this.button.outerWidth(), this.menu.width("").outerWidth() + 1))
8819        },
8820        _getCreateOptions: function () {
8821            return {disabled: this.element.prop("disabled")}
8822        },
8823        _parseOptions: function (t) {
8824            var i = [];
8825            t.each(function (t, s) {
8826                var n = e(s), a = n.parent("optgroup");
8827                i.push({
8828                    element: n,
8829                    index: t,
8830                    value: n.val(),
8831                    label: n.text(),
8832                    optgroup: a.attr("label") || "",
8833                    disabled: a.prop("disabled") || n.prop("disabled")
8834                })
8835            }), this.items = i
8836        },
8837        _destroy: function () {
8838            this.menuWrap.remove(), this.button.remove(), this.element.show(), this.element.removeUniqueId(), this.label.attr("for", this.ids.element)
8839        }
8840    }), e.widget("ui.slider", e.ui.mouse, {
8841        version: "1.11.4",
8842        widgetEventPrefix: "slide",
8843        options: {
8844            animate: !1,
8845            distance: 0,
8846            max: 100,
8847            min: 0,
8848            orientation: "horizontal",
8849            range: !1,
8850            step: 1,
8851            value: 0,
8852            values: null,
8853            change: null,
8854            slide: null,
8855            start: null,
8856            stop: null
8857        },
8858        numPages: 5,
8859        _create: function () {
8860            this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this._calculateNewMax(), this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all"), this._refresh(), this._setOption("disabled", this.options.disabled), this._animateOff = !1
8861        },
8862        _refresh: function () {
8863            this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue()
8864        },
8865        _createHandles: function () {
8866            var t, i, s = this.options,
8867                n = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),
8868                a = "<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>", o = [];
8869            for (i = s.values && s.values.length || 1, n.length > i && (n.slice(i).remove(), n = n.slice(0, i)), t = n.length; i > t; t++) o.push(a);
8870            this.handles = n.add(e(o.join("")).appendTo(this.element)), this.handle = this.handles.eq(0), this.handles.each(function (t) {
8871                e(this).data("ui-slider-handle-index", t)
8872            })
8873        },
8874        _createRange: function () {
8875            var t = this.options, i = "";
8876            t.range ? (t.range === !0 && (t.values ? t.values.length && 2 !== t.values.length ? t.values = [t.values[0], t.values[0]] : e.isArray(t.values) && (t.values = t.values.slice(0)) : t.values = [this._valueMin(), this._valueMin()]), this.range && this.range.length ? this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({
8877                left: "",
8878                bottom: ""
8879            }) : (this.range = e("<div></div>").appendTo(this.element), i = "ui-slider-range ui-widget-header ui-corner-all"), this.range.addClass(i + ("min" === t.range || "max" === t.range ? " ui-slider-range-" + t.range : ""))) : (this.range && this.range.remove(), this.range = null)
8880        },
8881        _setupEvents: function () {
8882            this._off(this.handles), this._on(this.handles, this._handleEvents), this._hoverable(this.handles), this._focusable(this.handles)
8883        },
8884        _destroy: function () {
8885            this.handles.remove(), this.range && this.range.remove(), this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"), this._mouseDestroy()
8886        },
8887        _mouseCapture: function (t) {
8888            var i, s, n, a, o, r, h, l, u = this, d = this.options;
8889            return d.disabled ? !1 : (this.elementSize = {
8890                width: this.element.outerWidth(),
8891                height: this.element.outerHeight()
8892            }, this.elementOffset = this.element.offset(), i = {
8893                x: t.pageX,
8894                y: t.pageY
8895            }, s = this._normValueFromMouse(i), n = this._valueMax() - this._valueMin() + 1, this.handles.each(function (t) {
8896                var i = Math.abs(s - u.values(t));
8897                (n > i || n === i && (t === u._lastChangedValue || u.values(t) === d.min)) && (n = i, a = e(this), o = t)
8898            }), r = this._start(t, o), r === !1 ? !1 : (this._mouseSliding = !0, this._handleIndex = o, a.addClass("ui-state-active").focus(), h = a.offset(), l = !e(t.target).parents().addBack().is(".ui-slider-handle"), this._clickOffset = l ? {
8899                left: 0,
8900                top: 0
8901            } : {
8902                left: t.pageX - h.left - a.width() / 2,
8903                top: t.pageY - h.top - a.height() / 2 - (parseInt(a.css("borderTopWidth"), 10) || 0) - (parseInt(a.css("borderBottomWidth"), 10) || 0) + (parseInt(a.css("marginTop"), 10) || 0)
8904            }, this.handles.hasClass("ui-state-hover") || this._slide(t, o, s), this._animateOff = !0, !0))
8905        },
8906        _mouseStart: function () {
8907            return !0
8908        },
8909        _mouseDrag: function (e) {
8910            var t = {x: e.pageX, y: e.pageY}, i = this._normValueFromMouse(t);
8911            return this._slide(e, this._handleIndex, i), !1
8912        },
8913        _mouseStop: function (e) {
8914            return this.handles.removeClass("ui-state-active"), this._mouseSliding = !1, this._stop(e, this._handleIndex), this._change(e, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1
8915        },
8916        _detectOrientation: function () {
8917            this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal"
8918        },
8919        _normValueFromMouse: function (e) {
8920            var t, i, s, n, a;
8921            return "horizontal" === this.orientation ? (t = this.elementSize.width, i = e.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (t = this.elementSize.height, i = e.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), s = i / t, s > 1 && (s = 1), 0 > s && (s = 0), "vertical" === this.orientation && (s = 1 - s), n = this._valueMax() - this._valueMin(), a = this._valueMin() + s * n, this._trimAlignValue(a)
8922        },
8923        _start: function (e, t) {
8924            var i = {handle: this.handles[t], value: this.value()};
8925            return this.options.values && this.options.values.length && (i.value = this.values(t), i.values = this.values()), this._trigger("start", e, i)
8926        },
8927        _slide: function (e, t, i) {
8928            var s, n, a;
8929            this.options.values && this.options.values.length ? (s = this.values(t ? 0 : 1), 2 === this.options.values.length && this.options.range === !0 && (0 === t && i > s || 1 === t && s > i) && (i = s), i !== this.values(t) && (n = this.values(), n[t] = i, a = this._trigger("slide", e, {
8930                handle: this.handles[t],
8931                value: i,
8932                values: n
8933            }), s = this.values(t ? 0 : 1), a !== !1 && this.values(t, i))) : i !== this.value() && (a = this._trigger("slide", e, {
8934                handle: this.handles[t],
8935                value: i
8936            }), a !== !1 && this.value(i))
8937        },
8938        _stop: function (e, t) {
8939            var i = {handle: this.handles[t], value: this.value()};
8940            this.options.values && this.options.values.length && (i.value = this.values(t), i.values = this.values()), this._trigger("stop", e, i)
8941        },
8942        _change: function (e, t) {
8943            if (!this._keySliding && !this._mouseSliding) {
8944                var i = {handle: this.handles[t], value: this.value()};
8945                this.options.values && this.options.values.length && (i.value = this.values(t), i.values = this.values()), this._lastChangedValue = t, this._trigger("change", e, i)
8946            }
8947        },
8948        value: function (e) {
8949            return arguments.length ? (this.options.value = this._trimAlignValue(e), this._refreshValue(), void this._change(null, 0)) : this._value()
8950        },
8951        values: function (t, i) {
8952            var s, n, a;
8953            if (arguments.length > 1) return this.options.values[t] = this._trimAlignValue(i), this._refreshValue(), void this._change(null, t);
8954            if (!arguments.length) return this._values();
8955            if (!e.isArray(arguments[0])) return this.options.values && this.options.values.length ? this._values(t) : this.value();
8956            for (s = this.options.values, n = arguments[0], a = 0; s.length > a; a += 1) s[a] = this._trimAlignValue(n[a]), this._change(null, a);
8957            this._refreshValue()
8958        },
8959        _setOption: function (t, i) {
8960            var s, n = 0;
8961            switch ("range" === t && this.options.range === !0 && ("min" === i ? (this.options.value = this._values(0), this.options.values = null) : "max" === i && (this.options.value = this._values(this.options.values.length - 1), this.options.values = null)), e.isArray(this.options.values) && (n = this.options.values.length), "disabled" === t && this.element.toggleClass("ui-state-disabled", !!i), this._super(t, i), t) {
8962                case"orientation":
8963                    this._detectOrientation(), this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation), this._refreshValue(), this.handles.css("horizontal" === i ? "bottom" : "left", "");
8964                    break;
8965                case"value":
8966                    this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;
8967                    break;
8968                case"values":
8969                    for (this._animateOff = !0, this._refreshValue(), s = 0; n > s; s += 1) this._change(null, s);
8970                    this._animateOff = !1;
8971                    break;
8972                case"step":
8973                case"min":
8974                case"max":
8975                    this._animateOff = !0, this._calculateNewMax(), this._refreshValue(), this._animateOff = !1;
8976                    break;
8977                case"range":
8978                    this._animateOff = !0, this._refresh(), this._animateOff = !1
8979            }
8980        },
8981        _value: function () {
8982            var e = this.options.value;
8983            return e = this._trimAlignValue(e)
8984        },
8985        _values: function (e) {
8986            var t, i, s;
8987            if (arguments.length) return t = this.options.values[e], t = this._trimAlignValue(t);
8988            if (this.options.values && this.options.values.length) {
8989                for (i = this.options.values.slice(), s = 0; i.length > s; s += 1) i[s] = this._trimAlignValue(i[s]);
8990                return i
8991            }
8992            return []
8993        },
8994        _trimAlignValue: function (e) {
8995            if (this._valueMin() >= e) return this._valueMin();
8996            if (e >= this._valueMax()) return this._valueMax();
8997            var t = this.options.step > 0 ? this.options.step : 1, i = (e - this._valueMin()) % t, s = e - i;
8998            return 2 * Math.abs(i) >= t && (s += i > 0 ? t : -t), parseFloat(s.toFixed(5))
8999        },
9000        _calculateNewMax: function () {
9001            var e = this.options.max, t = this._valueMin(), i = this.options.step,
9002                s = Math.floor(+(e - t).toFixed(this._precision()) / i) * i;
9003            e = s + t, this.max = parseFloat(e.toFixed(this._precision()))
9004        },
9005        _precision: function () {
9006            var e = this._precisionOf(this.options.step);
9007            return null !== this.options.min && (e = Math.max(e, this._precisionOf(this.options.min))), e
9008        },
9009        _precisionOf: function (e) {
9010            var t = "" + e, i = t.indexOf(".");
9011            return -1 === i ? 0 : t.length - i - 1
9012        },
9013        _valueMin: function () {
9014            return this.options.min
9015        },
9016        _valueMax: function () {
9017            return this.max
9018        },
9019        _refreshValue: function () {
9020            var t, i, s, n, a, o = this.options.range, r = this.options, h = this,
9021                l = this._animateOff ? !1 : r.animate, u = {};
9022            this.options.values && this.options.values.length ? this.handles.each(function (s) {
9023                i = 100 * ((h.values(s) - h._valueMin()) / (h._valueMax() - h._valueMin())), u["horizontal" === h.orientation ? "left" : "bottom"] = i + "%", e(this).stop(1, 1)[l ? "animate" : "css"](u, r.animate), h.options.range === !0 && ("horizontal" === h.orientation ? (0 === s && h.range.stop(1, 1)[l ? "animate" : "css"]({left: i + "%"}, r.animate), 1 === s && h.range[l ? "animate" : "css"]({width: i - t + "%"}, {
9024                    queue: !1,
9025                    duration: r.animate
9026                })) : (0 === s && h.range.stop(1, 1)[l ? "animate" : "css"]({bottom: i + "%"}, r.animate), 1 === s && h.range[l ? "animate" : "css"]({height: i - t + "%"}, {
9027                    queue: !1,
9028                    duration: r.animate
9029                }))), t = i
9030            }) : (s = this.value(), n = this._valueMin(), a = this._valueMax(), i = a !== n ? 100 * ((s - n) / (a - n)) : 0, u["horizontal" === this.orientation ? "left" : "bottom"] = i + "%", this.handle.stop(1, 1)[l ? "animate" : "css"](u, r.animate), "min" === o && "horizontal" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({width: i + "%"}, r.animate), "max" === o && "horizontal" === this.orientation && this.range[l ? "animate" : "css"]({width: 100 - i + "%"}, {
9031                queue: !1,
9032                duration: r.animate
9033            }), "min" === o && "vertical" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({height: i + "%"}, r.animate), "max" === o && "vertical" === this.orientation && this.range[l ? "animate" : "css"]({height: 100 - i + "%"}, {
9034                queue: !1,
9035                duration: r.animate
9036            }))
9037        },
9038        _handleEvents: {
9039            keydown: function (t) {
9040                var i, s, n, a, o = e(t.target).data("ui-slider-handle-index");
9041                switch (t.keyCode) {
9042                    case e.ui.keyCode.HOME:
9043                    case e.ui.keyCode.END:
9044                    case e.ui.keyCode.PAGE_UP:
9045                    case e.ui.keyCode.PAGE_DOWN:
9046                    case e.ui.keyCode.UP:
9047                    case e.ui.keyCode.RIGHT:
9048                    case e.ui.keyCode.DOWN:
9049                    case e.ui.keyCode.LEFT:
9050                        if (t.preventDefault(), !this._keySliding && (this._keySliding = !0, e(t.target).addClass("ui-state-active"), i = this._start(t, o), i === !1)) return
9051                }
9052                switch (a = this.options.step, s = n = this.options.values && this.options.values.length ? this.values(o) : this.value(), t.keyCode) {
9053                    case e.ui.keyCode.HOME:
9054                        n = this._valueMin();
9055                        break;
9056                    case e.ui.keyCode.END:
9057                        n = this._valueMax();
9058                        break;
9059                    case e.ui.keyCode.PAGE_UP:
9060                        n = this._trimAlignValue(s + (this._valueMax() - this._valueMin()) / this.numPages);
9061                        break;
9062                    case e.ui.keyCode.PAGE_DOWN:
9063                        n = this._trimAlignValue(s - (this._valueMax() - this._valueMin()) / this.numPages);
9064                        break;
9065                    case e.ui.keyCode.UP:
9066                    case e.ui.keyCode.RIGHT:
9067                        if (s === this._valueMax()) return;
9068                        n = this._trimAlignValue(s + a);
9069                        break;
9070                    case e.ui.keyCode.DOWN:
9071                    case e.ui.keyCode.LEFT:
9072                        if (s === this._valueMin()) return;
9073                        n = this._trimAlignValue(s - a)
9074                }
9075                this._slide(t, o, n)
9076            }, keyup: function (t) {
9077                var i = e(t.target).data("ui-slider-handle-index");
9078                this._keySliding && (this._keySliding = !1, this._stop(t, i), this._change(t, i), e(t.target).removeClass("ui-state-active"))
9079            }
9080        }
9081    }), e.widget("ui.sortable", e.ui.mouse, {
9082        version: "1.11.4",
9083        widgetEventPrefix: "sort",
9084        ready: !1,
9085        options: {
9086            appendTo: "parent",
9087            axis: !1,
9088            connectWith: !1,
9089            containment: !1,
9090            cursor: "auto",
9091            cursorAt: !1,
9092            dropOnEmpty: !0,
9093            forcePlaceholderSize: !1,
9094            forceHelperSize: !1,
9095            grid: !1,
9096            handle: !1,
9097            helper: "original",
9098            items: "> *",
9099            opacity: !1,
9100            placeholder: !1,
9101            revert: !1,
9102            scroll: !0,
9103            scrollSensitivity: 20,
9104            scrollSpeed: 20,
9105            scope: "default",
9106            tolerance: "intersect",
9107            zIndex: 1e3,
9108            activate: null,
9109            beforeStop: null,
9110            change: null,
9111            deactivate: null,
9112            out: null,
9113            over: null,
9114            receive: null,
9115            remove: null,
9116            sort: null,
9117            start: null,
9118            stop: null,
9119            update: null
9120        },
9121        _isOverAxis: function (e, t, i) {
9122            return e >= t && t + i > e
9123        },
9124        _isFloating: function (e) {
9125            return /left|right/.test(e.css("float")) || /inline|table-cell/.test(e.css("display"))
9126        },
9127        _create: function () {
9128            this.containerCache = {}, this.element.addClass("ui-sortable"), this.refresh(), this.offset = this.element.offset(), this._mouseInit(), this._setHandleClassName(), this.ready = !0
9129        },
9130        _setOption: function (e, t) {
9131            this._super(e, t), "handle" === e && this._setHandleClassName()
9132        },
9133        _setHandleClassName: function () {
9134            this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"), e.each(this.items, function () {
9135                (this.instance.options.handle ? this.item.find(this.instance.options.handle) : this.item).addClass("ui-sortable-handle")
9136            })
9137        },
9138        _destroy: function () {
9139            this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"), this._mouseDestroy();
9140            for (var e = this.items.length - 1; e >= 0; e--) this.items[e].item.removeData(this.widgetName + "-item");
9141            return this
9142        },
9143        _mouseCapture: function (t, i) {
9144            var s = null, n = !1, a = this;
9145            return this.reverting ? !1 : this.options.disabled || "static" === this.options.type ? !1 : (this._refreshItems(t), e(t.target).parents().each(function () {
9146                return e.data(this, a.widgetName + "-item") === a ? (s = e(this), !1) : void 0
9147            }), e.data(t.target, a.widgetName + "-item") === a && (s = e(t.target)), s && (!this.options.handle || i || (e(this.options.handle, s).find("*").addBack().each(function () {
9148                this === t.target && (n = !0)
9149            }), n)) ? (this.currentItem = s, this._removeCurrentsFromItems(), !0) : !1)
9150        },
9151        _mouseStart: function (t, i, s) {
9152            var n, a, o = this.options;
9153            if (this.currentContainer = this, this.refreshPositions(), this.helper = this._createHelper(t), this._cacheHelperProportions(), this._cacheMargins(), this.scrollParent = this.helper.scrollParent(), this.offset = this.currentItem.offset(), this.offset = {
9154                top: this.offset.top - this.margins.top,
9155                left: this.offset.left - this.margins.left
9156            }, e.extend(this.offset, {
9157                click: {left: t.pageX - this.offset.left, top: t.pageY - this.offset.top},
9158                parent: this._getParentOffset(),
9159                relative: this._getRelativeOffset()
9160            }), this.helper.css("position", "absolute"), this.cssPosition = this.helper.css("position"), this.originalPosition = this._generatePosition(t), this.originalPageX = t.pageX, this.originalPageY = t.pageY, o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt), this.domPosition = {
9161                prev: this.currentItem.prev()[0],
9162                parent: this.currentItem.parent()[0]
9163            }, this.helper[0] !== this.currentItem[0] && this.currentItem.hide(), this._createPlaceholder(), o.containment && this._setContainment(), o.cursor && "auto" !== o.cursor && (a = this.document.find("body"), this.storedCursor = a.css("cursor"), a.css("cursor", o.cursor), this.storedStylesheet = e("<style>*{ cursor: " + o.cursor + " !important; }</style>").appendTo(a)), o.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), this.helper.css("opacity", o.opacity)), o.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")), this.helper.css("zIndex", o.zIndex)), this.scrollParent[0] !== this.document[0] && "HTML" !== this.scrollParent[0].tagName && (this.overflowOffset = this.scrollParent.offset()), this._trigger("start", t, this._uiHash()), this._preserveHelperProportions || this._cacheHelperProportions(), !s) for (n = this.containers.length - 1; n >= 0; n--) this.containers[n]._trigger("activate", t, this._uiHash(this));
9164            return e.ui.ddmanager && (e.ui.ddmanager.current = this), e.ui.ddmanager && !o.dropBehaviour && e.ui.ddmanager.prepareOffsets(this, t), this.dragging = !0, this.helper.addClass("ui-sortable-helper"), this._mouseDrag(t), !0
9165        },
9166        _mouseDrag: function (t) {
9167            var i, s, n, a, o = this.options, r = !1;
9168            for (this.position = this._generatePosition(t), this.positionAbs = this._convertPositionTo("absolute"), this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs),
9169                 this.options.scroll && (this.scrollParent[0] !== this.document[0] && "HTML" !== this.scrollParent[0].tagName ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - t.pageY < o.scrollSensitivity ? this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop + o.scrollSpeed : t.pageY - this.overflowOffset.top < o.scrollSensitivity && (this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop - o.scrollSpeed), this.overflowOffset.left + this.scrollParent[0].offsetWidth - t.pageX < o.scrollSensitivity ? this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft + o.scrollSpeed : t.pageX - this.overflowOffset.left < o.scrollSensitivity && (this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft - o.scrollSpeed)) : (t.pageY - this.document.scrollTop() < o.scrollSensitivity ? r = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed) : this.window.height() - (t.pageY - this.document.scrollTop()) < o.scrollSensitivity && (r = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed)), t.pageX - this.document.scrollLeft() < o.scrollSensitivity ? r = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed) : this.window.width() - (t.pageX - this.document.scrollLeft()) < o.scrollSensitivity && (r = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed))), r !== !1 && e.ui.ddmanager && !o.dropBehaviour && e.ui.ddmanager.prepareOffsets(this, t)), this.positionAbs = this._convertPositionTo("absolute"), this.options.axis && "y" === this.options.axis || (this.helper[0].style.left = this.position.left + "px"), this.options.axis && "x" === this.options.axis || (this.helper[0].style.top = this.position.top + "px"), i = this.items.length - 1; i >= 0; i--) if (s = this.items[i], n = s.item[0], a = this._intersectsWithPointer(s), a && s.instance === this.currentContainer && n !== this.currentItem[0] && this.placeholder[1 === a ? "next" : "prev"]()[0] !== n && !e.contains(this.placeholder[0], n) && ("semi-dynamic" === this.options.type ? !e.contains(this.element[0], n) : !0)) {
9170                if (this.direction = 1 === a ? "down" : "up", "pointer" !== this.options.tolerance && !this._intersectsWithSides(s)) break;
9171                this._rearrange(t, s), this._trigger("change", t, this._uiHash());
9172                break
9173            }
9174            return this._contactContainers(t), e.ui.ddmanager && e.ui.ddmanager.drag(this, t), this._trigger("sort", t, this._uiHash()), this.lastPositionAbs = this.positionAbs, !1
9175        },
9176        _mouseStop: function (t, i) {
9177            if (t) {
9178                if (e.ui.ddmanager && !this.options.dropBehaviour && e.ui.ddmanager.drop(this, t), this.options.revert) {
9179                    var s = this, n = this.placeholder.offset(), a = this.options.axis, o = {};
9180                    a && "x" !== a || (o.left = n.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft)), a && "y" !== a || (o.top = n.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop)), this.reverting = !0, e(this.helper).animate(o, parseInt(this.options.revert, 10) || 500, function () {
9181                        s._clear(t)
9182                    })
9183                } else this._clear(t, i);
9184                return !1
9185            }
9186        },
9187        cancel: function () {
9188            if (this.dragging) {
9189                this._mouseUp({target: null}), "original" === this.options.helper ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") : this.currentItem.show();
9190                for (var t = this.containers.length - 1; t >= 0; t--) this.containers[t]._trigger("deactivate", null, this._uiHash(this)), this.containers[t].containerCache.over && (this.containers[t]._trigger("out", null, this._uiHash(this)), this.containers[t].containerCache.over = 0)
9191            }
9192            return this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]), "original" !== this.options.helper && this.helper && this.helper[0].parentNode && this.helper.remove(), e.extend(this, {
9193                helper: null,
9194                dragging: !1,
9195                reverting: !1,
9196                _noFinalSort: null
9197            }), this.domPosition.prev ? e(this.domPosition.prev).after(this.currentItem) : e(this.domPosition.parent).prepend(this.currentItem)), this
9198        },
9199        serialize: function (t) {
9200            var i = this._getItemsAsjQuery(t && t.connected), s = [];
9201            return t = t || {}, e(i).each(function () {
9202                var i = (e(t.item || this).attr(t.attribute || "id") || "").match(t.expression || /(.+)[\-=_](.+)/);
9203                i && s.push((t.key || i[1] + "[]") + "=" + (t.key && t.expression ? i[1] : i[2]))
9204            }), !s.length && t.key && s.push(t.key + "="), s.join("&")
9205        },
9206        toArray: function (t) {
9207            var i = this._getItemsAsjQuery(t && t.connected), s = [];
9208            return t = t || {}, i.each(function () {
9209                s.push(e(t.item || this).attr(t.attribute || "id") || "")
9210            }), s
9211        },
9212        _intersectsWith: function (e) {
9213            var t = this.positionAbs.left, i = t + this.helperProportions.width, s = this.positionAbs.top,
9214                n = s + this.helperProportions.height, a = e.left, o = a + e.width, r = e.top, h = r + e.height,
9215                l = this.offset.click.top, u = this.offset.click.left,
9216                d = "x" === this.options.axis || s + l > r && h > s + l,
9217                c = "y" === this.options.axis || t + u > a && o > t + u, p = d && c;
9218            return "pointer" === this.options.tolerance || this.options.forcePointerForContainers || "pointer" !== this.options.tolerance && this.helperProportions[this.floating ? "width" : "height"] > e[this.floating ? "width" : "height"] ? p : t + this.helperProportions.width / 2 > a && o > i - this.helperProportions.width / 2 && s + this.helperProportions.height / 2 > r && h > n - this.helperProportions.height / 2
9219        },
9220        _intersectsWithPointer: function (e) {
9221            var t = "x" === this.options.axis || this._isOverAxis(this.positionAbs.top + this.offset.click.top, e.top, e.height),
9222                i = "y" === this.options.axis || this._isOverAxis(this.positionAbs.left + this.offset.click.left, e.left, e.width),
9223                s = t && i, n = this._getDragVerticalDirection(), a = this._getDragHorizontalDirection();
9224            return s ? this.floating ? a && "right" === a || "down" === n ? 2 : 1 : n && ("down" === n ? 2 : 1) : !1
9225        },
9226        _intersectsWithSides: function (e) {
9227            var t = this._isOverAxis(this.positionAbs.top + this.offset.click.top, e.top + e.height / 2, e.height),
9228                i = this._isOverAxis(this.positionAbs.left + this.offset.click.left, e.left + e.width / 2, e.width),
9229                s = this._getDragVerticalDirection(), n = this._getDragHorizontalDirection();
9230            return this.floating && n ? "right" === n && i || "left" === n && !i : s && ("down" === s && t || "up" === s && !t)
9231        },
9232        _getDragVerticalDirection: function () {
9233            var e = this.positionAbs.top - this.lastPositionAbs.top;
9234            return 0 !== e && (e > 0 ? "down" : "up")
9235        },
9236        _getDragHorizontalDirection: function () {
9237            var e = this.positionAbs.left - this.lastPositionAbs.left;
9238            return 0 !== e && (e > 0 ? "right" : "left")
9239        },
9240        refresh: function (e) {
9241            return this._refreshItems(e), this._setHandleClassName(), this.refreshPositions(), this
9242        },
9243        _connectWith: function () {
9244            var e = this.options;
9245            return e.connectWith.constructor === String ? [e.connectWith] : e.connectWith
9246        },
9247        _getItemsAsjQuery: function (t) {
9248            function i() {
9249                r.push(this)
9250            }
9251
9252            var s, n, a, o, r = [], h = [], l = this._connectWith();
9253            if (l && t) for (s = l.length - 1; s >= 0; s--) for (a = e(l[s], this.document[0]), n = a.length - 1; n >= 0; n--) o = e.data(a[n], this.widgetFullName), o && o !== this && !o.options.disabled && h.push([e.isFunction(o.options.items) ? o.options.items.call(o.element) : e(o.options.items, o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), o]);
9254            for (h.push([e.isFunction(this.options.items) ? this.options.items.call(this.element, null, {
9255                options: this.options,
9256                item: this.currentItem
9257            }) : e(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]), s = h.length - 1; s >= 0; s--) h[s][0].each(i);
9258            return e(r)
9259        },
9260        _removeCurrentsFromItems: function () {
9261            var t = this.currentItem.find(":data(" + this.widgetName + "-item)");
9262            this.items = e.grep(this.items, function (e) {
9263                for (var i = 0; t.length > i; i++) if (t[i] === e.item[0]) return !1;
9264                return !0
9265            })
9266        },
9267        _refreshItems: function (t) {
9268            this.items = [], this.containers = [this];
9269            var i, s, n, a, o, r, h, l, u = this.items,
9270                d = [[e.isFunction(this.options.items) ? this.options.items.call(this.element[0], t, {item: this.currentItem}) : e(this.options.items, this.element), this]],
9271                c = this._connectWith();
9272            if (c && this.ready) for (i = c.length - 1; i >= 0; i--) for (n = e(c[i], this.document[0]), s = n.length - 1; s >= 0; s--) a = e.data(n[s], this.widgetFullName), a && a !== this && !a.options.disabled && (d.push([e.isFunction(a.options.items) ? a.options.items.call(a.element[0], t, {item: this.currentItem}) : e(a.options.items, a.element), a]), this.containers.push(a));
9273            for (i = d.length - 1; i >= 0; i--) for (o = d[i][1], r = d[i][0], s = 0, l = r.length; l > s; s++) h = e(r[s]), h.data(this.widgetName + "-item", o), u.push({
9274                item: h,
9275                instance: o,
9276                width: 0,
9277                height: 0,
9278                left: 0,
9279                top: 0
9280            })
9281        },
9282        refreshPositions: function (t) {
9283            this.floating = this.items.length ? "x" === this.options.axis || this._isFloating(this.items[0].item) : !1, this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset());
9284            var i, s, n, a;
9285            for (i = this.items.length - 1; i >= 0; i--) s = this.items[i], s.instance !== this.currentContainer && this.currentContainer && s.item[0] !== this.currentItem[0] || (n = this.options.toleranceElement ? e(this.options.toleranceElement, s.item) : s.item, t || (s.width = n.outerWidth(), s.height = n.outerHeight()), a = n.offset(), s.left = a.left, s.top = a.top);
9286            if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this); else for (i = this.containers.length - 1; i >= 0; i--) a = this.containers[i].element.offset(), this.containers[i].containerCache.left = a.left, this.containers[i].containerCache.top = a.top, this.containers[i].containerCache.width = this.containers[i].element.outerWidth(), this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
9287            return this
9288        },
9289        _createPlaceholder: function (t) {
9290            t = t || this;
9291            var i, s = t.options;
9292            s.placeholder && s.placeholder.constructor !== String || (i = s.placeholder, s.placeholder = {
9293                element: function () {
9294                    var s = t.currentItem[0].nodeName.toLowerCase(),
9295                        n = e("<" + s + ">", t.document[0]).addClass(i || t.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper");
9296                    return "tbody" === s ? t._createTrPlaceholder(t.currentItem.find("tr").eq(0), e("<tr>", t.document[0]).appendTo(n)) : "tr" === s ? t._createTrPlaceholder(t.currentItem, n) : "img" === s && n.attr("src", t.currentItem.attr("src")), i || n.css("visibility", "hidden"), n
9297                }, update: function (e, n) {
9298                    (!i || s.forcePlaceholderSize) && (n.height() || n.height(t.currentItem.innerHeight() - parseInt(t.currentItem.css("paddingTop") || 0, 10) - parseInt(t.currentItem.css("paddingBottom") || 0, 10)), n.width() || n.width(t.currentItem.innerWidth() - parseInt(t.currentItem.css("paddingLeft") || 0, 10) - parseInt(t.currentItem.css("paddingRight") || 0, 10)))
9299                }
9300            }), t.placeholder = e(s.placeholder.element.call(t.element, t.currentItem)), t.currentItem.after(t.placeholder), s.placeholder.update(t, t.placeholder)
9301        },
9302        _createTrPlaceholder: function (t, i) {
9303            var s = this;
9304            t.children().each(function () {
9305                e("<td>&#160;</td>", s.document[0]).attr("colspan", e(this).attr("colspan") || 1).appendTo(i)
9306            })
9307        },
9308        _contactContainers: function (t) {
9309            var i, s, n, a, o, r, h, l, u, d, c = null, p = null;
9310            for (i = this.containers.length - 1; i >= 0; i--) if (!e.contains(this.currentItem[0], this.containers[i].element[0])) if (this._intersectsWith(this.containers[i].containerCache)) {
9311                if (c && e.contains(this.containers[i].element[0], c.element[0])) continue;
9312                c = this.containers[i], p = i
9313            } else this.containers[i].containerCache.over && (this.containers[i]._trigger("out", t, this._uiHash(this)), this.containers[i].containerCache.over = 0);
9314            if (c) if (1 === this.containers.length) this.containers[p].containerCache.over || (this.containers[p]._trigger("over", t, this._uiHash(this)), this.containers[p].containerCache.over = 1); else {
9315                for (n = 1e4, a = null, u = c.floating || this._isFloating(this.currentItem), o = u ? "left" : "top", r = u ? "width" : "height", d = u ? "clientX" : "clientY", s = this.items.length - 1; s >= 0; s--) e.contains(this.containers[p].element[0], this.items[s].item[0]) && this.items[s].item[0] !== this.currentItem[0] && (h = this.items[s].item.offset()[o], l = !1, t[d] - h > this.items[s][r] / 2 && (l = !0), n > Math.abs(t[d] - h) && (n = Math.abs(t[d] - h), a = this.items[s], this.direction = l ? "up" : "down"));
9316                if (!a && !this.options.dropOnEmpty) return;
9317                if (this.currentContainer === this.containers[p]) return void (this.currentContainer.containerCache.over || (this.containers[p]._trigger("over", t, this._uiHash()), this.currentContainer.containerCache.over = 1));
9318                a ? this._rearrange(t, a, null, !0) : this._rearrange(t, null, this.containers[p].element, !0), this._trigger("change", t, this._uiHash()), this.containers[p]._trigger("change", t, this._uiHash(this)), this.currentContainer = this.containers[p], this.options.placeholder.update(this.currentContainer, this.placeholder), this.containers[p]._trigger("over", t, this._uiHash(this)), this.containers[p].containerCache.over = 1
9319            }
9320        },
9321        _createHelper: function (t) {
9322            var i = this.options,
9323                s = e.isFunction(i.helper) ? e(i.helper.apply(this.element[0], [t, this.currentItem])) : "clone" === i.helper ? this.currentItem.clone() : this.currentItem;
9324            return s.parents("body").length || e("parent" !== i.appendTo ? i.appendTo : this.currentItem[0].parentNode)[0].appendChild(s[0]), s[0] === this.currentItem[0] && (this._storedCSS = {
9325                width: this.currentItem[0].style.width,
9326                height: this.currentItem[0].style.height,
9327                position: this.currentItem.css("position"),
9328                top: this.currentItem.css("top"),
9329                left: this.currentItem.css("left")
9330            }), (!s[0].style.width || i.forceHelperSize) && s.width(this.currentItem.width()), (!s[0].style.height || i.forceHelperSize) && s.height(this.currentItem.height()), s
9331        },
9332        _adjustOffsetFromHelper: function (t) {
9333            "string" == typeof t && (t = t.split(" ")), e.isArray(t) && (t = {
9334                left: +t[0],
9335                top: +t[1] || 0
9336            }), "left" in t && (this.offset.click.left = t.left + this.margins.left), "right" in t && (this.offset.click.left = this.helperProportions.width - t.right + this.margins.left), "top" in t && (this.offset.click.top = t.top + this.margins.top), "bottom" in t && (this.offset.click.top = this.helperProportions.height - t.bottom + this.margins.top)
9337        },
9338        _getParentOffset: function () {
9339            this.offsetParent = this.helper.offsetParent();
9340            var t = this.offsetParent.offset();
9341            return "absolute" === this.cssPosition && this.scrollParent[0] !== this.document[0] && e.contains(this.scrollParent[0], this.offsetParent[0]) && (t.left += this.scrollParent.scrollLeft(), t.top += this.scrollParent.scrollTop()), (this.offsetParent[0] === this.document[0].body || this.offsetParent[0].tagName && "html" === this.offsetParent[0].tagName.toLowerCase() && e.ui.ie) && (t = {
9342                top: 0,
9343                left: 0
9344            }), {
9345                top: t.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
9346                left: t.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
9347            }
9348        },
9349        _getRelativeOffset: function () {
9350            if ("relative" === this.cssPosition) {
9351                var e = this.currentItem.position();
9352                return {
9353                    top: e.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
9354                    left: e.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
9355                }
9356            }
9357            return {top: 0, left: 0}
9358        },
9359        _cacheMargins: function () {
9360            this.margins = {
9361                left: parseInt(this.currentItem.css("marginLeft"), 10) || 0,
9362                top: parseInt(this.currentItem.css("marginTop"), 10) || 0
9363            }
9364        },
9365        _cacheHelperProportions: function () {
9366            this.helperProportions = {width: this.helper.outerWidth(), height: this.helper.outerHeight()}
9367        },
9368        _setContainment: function () {
9369            var t, i, s, n = this.options;
9370            "parent" === n.containment && (n.containment = this.helper[0].parentNode), ("document" === n.containment || "window" === n.containment) && (this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, "document" === n.containment ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left, ("document" === n.containment ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]), /^(document|window|parent)$/.test(n.containment) || (t = e(n.containment)[0], i = e(n.containment).offset(), s = "hidden" !== e(t).css("overflow"), this.containment = [i.left + (parseInt(e(t).css("borderLeftWidth"), 10) || 0) + (parseInt(e(t).css("paddingLeft"), 10) || 0) - this.margins.left, i.top + (parseInt(e(t).css("borderTopWidth"), 10) || 0) + (parseInt(e(t).css("paddingTop"), 10) || 0) - this.margins.top, i.left + (s ? Math.max(t.scrollWidth, t.offsetWidth) : t.offsetWidth) - (parseInt(e(t).css("borderLeftWidth"), 10) || 0) - (parseInt(e(t).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, i.top + (s ? Math.max(t.scrollHeight, t.offsetHeight) : t.offsetHeight) - (parseInt(e(t).css("borderTopWidth"), 10) || 0) - (parseInt(e(t).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top])
9371        },
9372        _convertPositionTo: function (t, i) {
9373            i || (i = this.position);
9374            var s = "absolute" === t ? 1 : -1,
9375                n = "absolute" !== this.cssPosition || this.scrollParent[0] !== this.document[0] && e.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent,
9376                a = /(html|body)/i.test(n[0].tagName);
9377            return {
9378                top: i.top + this.offset.relative.top * s + this.offset.parent.top * s - ("fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : a ? 0 : n.scrollTop()) * s,
9379                left: i.left + this.offset.relative.left * s + this.offset.parent.left * s - ("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : a ? 0 : n.scrollLeft()) * s
9380            }
9381        },
9382        _generatePosition: function (t) {
9383            var i, s, n = this.options, a = t.pageX, o = t.pageY,
9384                r = "absolute" !== this.cssPosition || this.scrollParent[0] !== this.document[0] && e.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent,
9385                h = /(html|body)/i.test(r[0].tagName);
9386            return "relative" !== this.cssPosition || this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0] || (this.offset.relative = this._getRelativeOffset()), this.originalPosition && (this.containment && (t.pageX - this.offset.click.left < this.containment[0] && (a = this.containment[0] + this.offset.click.left), t.pageY - this.offset.click.top < this.containment[1] && (o = this.containment[1] + this.offset.click.top), t.pageX - this.offset.click.left > this.containment[2] && (a = this.containment[2] + this.offset.click.left), t.pageY - this.offset.click.top > this.containment[3] && (o = this.containment[3] + this.offset.click.top)), n.grid && (i = this.originalPageY + Math.round((o - this.originalPageY) / n.grid[1]) * n.grid[1], o = this.containment ? i - this.offset.click.top >= this.containment[1] && i - this.offset.click.top <= this.containment[3] ? i : i - this.offset.click.top >= this.containment[1] ? i - n.grid[1] : i + n.grid[1] : i, s = this.originalPageX + Math.round((a - this.originalPageX) / n.grid[0]) * n.grid[0], a = this.containment ? s - this.offset.click.left >= this.containment[0] && s - this.offset.click.left <= this.containment[2] ? s : s - this.offset.click.left >= this.containment[0] ? s - n.grid[0] : s + n.grid[0] : s)), {
9387                top: o - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : h ? 0 : r.scrollTop()),
9388                left: a - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : h ? 0 : r.scrollLeft())
9389            }
9390        },
9391        _rearrange: function (e, t, i, s) {
9392            i ? i[0].appendChild(this.placeholder[0]) : t.item[0].parentNode.insertBefore(this.placeholder[0], "down" === this.direction ? t.item[0] : t.item[0].nextSibling), this.counter = this.counter ? ++this.counter : 1;
9393            var n = this.counter;
9394            this._delay(function () {
9395                n === this.counter && this.refreshPositions(!s)
9396            })
9397        },
9398        _clear: function (e, t) {
9399            function i(e, t, i) {
9400                return function (s) {
9401                    i._trigger(e, s, t._uiHash(t))
9402                }
9403            }
9404
9405            this.reverting = !1;
9406            var s, n = [];
9407            if (!this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem), this._noFinalSort = null, this.helper[0] === this.currentItem[0]) {
9408                for (s in this._storedCSS) ("auto" === this._storedCSS[s] || "static" === this._storedCSS[s]) && (this._storedCSS[s] = "");
9409                this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
9410            } else this.currentItem.show();
9411            for (this.fromOutside && !t && n.push(function (e) {
9412                this._trigger("receive", e, this._uiHash(this.fromOutside))
9413            }), !this.fromOutside && this.domPosition.prev === this.currentItem.prev().not(".ui-sortable-helper")[0] && this.domPosition.parent === this.currentItem.parent()[0] || t || n.push(function (e) {
9414                this._trigger("update", e, this._uiHash())
9415            }), this !== this.currentContainer && (t || (n.push(function (e) {
9416                this._trigger("remove", e, this._uiHash())
9417            }), n.push(function (e) {
9418                return function (t) {
9419                    e._trigger("receive", t, this._uiHash(this))
9420                }
9421            }.call(this, this.currentContainer)), n.push(function (e) {
9422                return function (t) {
9423                    e._trigger("update", t, this._uiHash(this))
9424                }
9425            }.call(this, this.currentContainer)))), s = this.containers.length - 1; s >= 0; s--) t || n.push(i("deactivate", this, this.containers[s])), this.containers[s].containerCache.over && (n.push(i("out", this, this.containers[s])), this.containers[s].containerCache.over = 0);
9426            if (this.storedCursor && (this.document.find("body").css("cursor", this.storedCursor), this.storedStylesheet.remove()), this._storedOpacity && this.helper.css("opacity", this._storedOpacity), this._storedZIndex && this.helper.css("zIndex", "auto" === this._storedZIndex ? "" : this._storedZIndex), this.dragging = !1, t || this._trigger("beforeStop", e, this._uiHash()), this.placeholder[0].parentNode.removeChild(this.placeholder[0]), this.cancelHelperRemoval || (this.helper[0] !== this.currentItem[0] && this.helper.remove(), this.helper = null), !t) {
9427                for (s = 0; n.length > s; s++) n[s].call(this, e);
9428                this._trigger("stop", e, this._uiHash())
9429            }
9430            return this.fromOutside = !1, !this.cancelHelperRemoval
9431        },
9432        _trigger: function () {
9433            e.Widget.prototype._trigger.apply(this, arguments) === !1 && this.cancel()
9434        },
9435        _uiHash: function (t) {
9436            var i = t || this;
9437            return {
9438                helper: i.helper,
9439                placeholder: i.placeholder || e([]),
9440                position: i.position,
9441                originalPosition: i.originalPosition,
9442                offset: i.positionAbs,
9443                item: i.currentItem,
9444                sender: t ? t.element : null
9445            }
9446        }
9447    }), e.widget("ui.spinner", {
9448        version: "1.11.4",
9449        defaultElement: "<input>",
9450        widgetEventPrefix: "spin",
9451        options: {
9452            culture: null,
9453            icons: {down: "ui-icon-triangle-1-s", up: "ui-icon-triangle-1-n"},
9454            incremental: !0,
9455            max: null,
9456            min: null,
9457            numberFormat: null,
9458            page: 10,
9459            step: 1,
9460            change: null,
9461            spin: null,
9462            start: null,
9463            stop: null
9464        },
9465        _create: function () {
9466            this._setOption("max", this.options.max), this._setOption("min", this.options.min), this._setOption("step", this.options.step), "" !== this.value() && this._value(this.element.val(), !0), this._draw(), this._on(this._events), this._refresh(), this._on(this.window, {
9467                beforeunload: function () {
9468                    this.element.removeAttr("autocomplete")
9469                }
9470            })
9471        },
9472        _getCreateOptions: function () {
9473            var t = {}, i = this.element;
9474            return e.each(["min", "max", "step"], function (e, s) {
9475                var n = i.attr(s);
9476                void 0 !== n && n.length && (t[s] = n)
9477            }), t
9478        },
9479        _events: {
9480            keydown: function (e) {
9481                this._start(e) && this._keydown(e) && e.preventDefault()
9482            }, keyup: "_stop", focus: function () {
9483                this.previous = this.element.val()
9484            }, blur: function (e) {
9485                return this.cancelBlur ? void delete this.cancelBlur : (this._stop(), this._refresh(), void (this.previous !== this.element.val() && this._trigger("change", e)))
9486            }, mousewheel: function (e, t) {
9487                if (t) {
9488                    if (!this.spinning && !this._start(e)) return !1;
9489                    this._spin((t > 0 ? 1 : -1) * this.options.step, e), clearTimeout(this.mousewheelTimer), this.mousewheelTimer = this._delay(function () {
9490                        this.spinning && this._stop(e)
9491                    }, 100), e.preventDefault()
9492                }
9493            }, "mousedown .ui-spinner-button": function (t) {
9494                function i() {
9495                    var e = this.element[0] === this.document[0].activeElement;
9496                    e || (this.element.focus(), this.previous = s, this._delay(function () {
9497                        this.previous = s
9498                    }))
9499                }
9500
9501                var s;
9502                s = this.element[0] === this.document[0].activeElement ? this.previous : this.element.val(), t.preventDefault(), i.call(this), this.cancelBlur = !0, this._delay(function () {
9503                    delete this.cancelBlur, i.call(this)
9504                }), this._start(t) !== !1 && this._repeat(null, e(t.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, t)
9505            }, "mouseup .ui-spinner-button": "_stop", "mouseenter .ui-spinner-button": function (t) {
9506                return e(t.currentTarget).hasClass("ui-state-active") ? this._start(t) === !1 ? !1 : void this._repeat(null, e(t.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, t) : void 0
9507            }, "mouseleave .ui-spinner-button": "_stop"
9508        },
9509        _draw: function () {
9510            var e = this.uiSpinner = this.element.addClass("ui-spinner-input").attr("autocomplete", "off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());
9511            this.element.attr("role", "spinbutton"), this.buttons = e.find(".ui-spinner-button").attr("tabIndex", -1).button().removeClass("ui-corner-all"), this.buttons.height() > Math.ceil(.5 * e.height()) && e.height() > 0 && e.height(e.height()), this.options.disabled && this.disable()
9512        },
9513        _keydown: function (t) {
9514            var i = this.options, s = e.ui.keyCode;
9515            switch (t.keyCode) {
9516                case s.UP:
9517                    return this._repeat(null, 1, t), !0;
9518                case s.DOWN:
9519                    return this._repeat(null, -1, t), !0;
9520                case s.PAGE_UP:
9521                    return this._repeat(null, i.page, t), !0;
9522                case s.PAGE_DOWN:
9523                    return this._repeat(null, -i.page, t), !0
9524            }
9525            return !1
9526        },
9527        _uiSpinnerHtml: function () {
9528            return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"
9529        },
9530        _buttonHtml: function () {
9531            return "<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon " + this.options.icons.up + "'>&#9650;</span></a><a class='ui-spinner-button ui-spinner-down ui-corner-br'><span class='ui-icon " + this.options.icons.down + "'>&#9660;</span></a>"
9532        },
9533        _start: function (e) {
9534            return this.spinning || this._trigger("start", e) !== !1 ? (this.counter || (this.counter = 1), this.spinning = !0, !0) : !1
9535        },
9536        _repeat: function (e, t, i) {
9537            e = e || 500, clearTimeout(this.timer), this.timer = this._delay(function () {
9538                this._repeat(40, t, i)
9539            }, e), this._spin(t * this.options.step, i)
9540        },
9541        _spin: function (e, t) {
9542            var i = this.value() || 0;
9543            this.counter || (this.counter = 1), i = this._adjustValue(i + e * this._increment(this.counter)), this.spinning && this._trigger("spin", t, {value: i}) === !1 || (this._value(i), this.counter++)
9544        },
9545        _increment: function (t) {
9546            var i = this.options.incremental;
9547            return i ? e.isFunction(i) ? i(t) : Math.floor(t * t * t / 5e4 - t * t / 500 + 17 * t / 200 + 1) : 1
9548        },
9549        _precision: function () {
9550            var e = this._precisionOf(this.options.step);
9551            return null !== this.options.min && (e = Math.max(e, this._precisionOf(this.options.min))), e
9552        },
9553        _precisionOf: function (e) {
9554            var t = "" + e, i = t.indexOf(".");
9555            return -1 === i ? 0 : t.length - i - 1
9556        },
9557        _adjustValue: function (e) {
9558            var t, i, s = this.options;
9559            return t = null !== s.min ? s.min : 0, i = e - t, i = Math.round(i / s.step) * s.step, e = t + i, e = parseFloat(e.toFixed(this._precision())), null !== s.max && e > s.max ? s.max : null !== s.min && s.min > e ? s.min : e
9560        },
9561        _stop: function (e) {
9562            this.spinning && (clearTimeout(this.timer), clearTimeout(this.mousewheelTimer), this.counter = 0, this.spinning = !1, this._trigger("stop", e))
9563        },
9564        _setOption: function (e, t) {
9565            if ("culture" === e || "numberFormat" === e) {
9566                var i = this._parse(this.element.val());
9567                return this.options[e] = t, void this.element.val(this._format(i))
9568            }
9569            ("max" === e || "min" === e || "step" === e) && "string" == typeof t && (t = this._parse(t)), "icons" === e && (this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up), this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)), this._super(e, t), "disabled" === e && (this.widget().toggleClass("ui-state-disabled", !!t), this.element.prop("disabled", !!t), this.buttons.button(t ? "disable" : "enable"))
9570        },
9571        _setOptions: h(function (e) {
9572            this._super(e)
9573        }),
9574        _parse: function (e) {
9575            return "string" == typeof e && "" !== e && (e = window.Globalize && this.options.numberFormat ? Globalize.parseFloat(e, 10, this.options.culture) : +e), "" === e || isNaN(e) ? null : e
9576        },
9577        _format: function (e) {
9578            return "" === e ? "" : window.Globalize && this.options.numberFormat ? Globalize.format(e, this.options.numberFormat, this.options.culture) : e
9579        },
9580        _refresh: function () {
9581            this.element.attr({
9582                "aria-valuemin": this.options.min,
9583                "aria-valuemax": this.options.max,
9584                "aria-valuenow": this._parse(this.element.val())
9585            })
9586        },
9587        isValid: function () {
9588            var e = this.value();
9589            return null === e ? !1 : e === this._adjustValue(e)
9590        },
9591        _value: function (e, t) {
9592            var i;
9593            "" !== e && (i = this._parse(e), null !== i && (t || (i = this._adjustValue(i)), e = this._format(i))), this.element.val(e), this._refresh()
9594        },
9595        _destroy: function () {
9596            this.element.removeClass("ui-spinner-input").prop("disabled", !1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"), this.uiSpinner.replaceWith(this.element)
9597        },
9598        stepUp: h(function (e) {
9599            this._stepUp(e)
9600        }),
9601        _stepUp: function (e) {
9602            this._start() && (this._spin((e || 1) * this.options.step), this._stop())
9603        },
9604        stepDown: h(function (e) {
9605            this._stepDown(e)
9606        }),
9607        _stepDown: function (e) {
9608            this._start() && (this._spin((e || 1) * -this.options.step), this._stop())
9609        },
9610        pageUp: h(function (e) {
9611            this._stepUp((e || 1) * this.options.page)
9612        }),
9613        pageDown: h(function (e) {
9614            this._stepDown((e || 1) * this.options.page)
9615        }),
9616        value: function (e) {
9617            return arguments.length ? void h(this._value).call(this, e) : this._parse(this.element.val())
9618        },
9619        widget: function () {
9620            return this.uiSpinner
9621        }
9622    }), e.widget("ui.tabs", {
9623        version: "1.11.4",
9624        delay: 300,
9625        options: {
9626            active: null,
9627            collapsible: !1,
9628            event: "click",
9629            heightStyle: "content",
9630            hide: null,
9631            show: null,
9632            activate: null,
9633            beforeActivate: null,
9634            beforeLoad: null,
9635            load: null
9636        },
9637        _isLocal: function () {
9638            var e = /#.*$/;
9639            return function (t) {
9640                var i, s;
9641                t = t.cloneNode(!1), i = t.href.replace(e, ""), s = location.href.replace(e, "");
9642                try {
9643                    i = decodeURIComponent(i)
9644                } catch (n) {
9645                }
9646                try {
9647                    s = decodeURIComponent(s)
9648                } catch (n) {
9649                }
9650                return t.hash.length > 1 && i === s
9651            }
9652        }(),
9653        _create: function () {
9654            var t = this, i = this.options;
9655            this.running = !1, this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible", i.collapsible), this._processTabs(), i.active = this._initialActive(), e.isArray(i.disabled) && (i.disabled = e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"), function (e) {
9656                return t.tabs.index(e)
9657            }))).sort()), this.active = this.options.active !== !1 && this.anchors.length ? this._findActive(i.active) : e(), this._refresh(), this.active.length && this.load(i.active)
9658        },
9659        _initialActive: function () {
9660            var t = this.options.active, i = this.options.collapsible, s = location.hash.substring(1);
9661            return null === t && (s && this.tabs.each(function (i, n) {
9662                return e(n).attr("aria-controls") === s ? (t = i, !1) : void 0
9663            }), null === t && (t = this.tabs.index(this.tabs.filter(".ui-tabs-active"))), (null === t || -1 === t) && (t = this.tabs.length ? 0 : !1)), t !== !1 && (t = this.tabs.index(this.tabs.eq(t)), -1 === t && (t = i ? !1 : 0)), !i && t === !1 && this.anchors.length && (t = 0), t
9664        },
9665        _getCreateEventData: function () {
9666            return {tab: this.active, panel: this.active.length ? this._getPanelForTab(this.active) : e()}
9667        },
9668        _tabKeydown: function (t) {
9669            var i = e(this.document[0].activeElement).closest("li"), s = this.tabs.index(i), n = !0;
9670            if (!this._handlePageNav(t)) {
9671                switch (t.keyCode) {
9672                    case e.ui.keyCode.RIGHT:
9673                    case e.ui.keyCode.DOWN:
9674                        s++;
9675                        break;
9676                    case e.ui.keyCode.UP:
9677                    case e.ui.keyCode.LEFT:
9678                        n = !1, s--;
9679                        break;
9680                    case e.ui.keyCode.END:
9681                        s = this.anchors.length - 1;
9682                        break;
9683                    case e.ui.keyCode.HOME:
9684                        s = 0;
9685                        break;
9686                    case e.ui.keyCode.SPACE:
9687                        return t.preventDefault(), clearTimeout(this.activating), void this._activate(s);
9688                    case e.ui.keyCode.ENTER:
9689                        return t.preventDefault(), clearTimeout(this.activating), void this._activate(s === this.options.active ? !1 : s);
9690                    default:
9691                        return
9692                }
9693                t.preventDefault(), clearTimeout(this.activating), s = this._focusNextTab(s, n), t.ctrlKey || t.metaKey || (i.attr("aria-selected", "false"), this.tabs.eq(s).attr("aria-selected", "true"), this.activating = this._delay(function () {
9694                    this.option("active", s)
9695                }, this.delay))
9696            }
9697        },
9698        _panelKeydown: function (t) {
9699            this._handlePageNav(t) || t.ctrlKey && t.keyCode === e.ui.keyCode.UP && (t.preventDefault(), this.active.focus())
9700        },
9701        _handlePageNav: function (t) {
9702            return t.altKey && t.keyCode === e.ui.keyCode.PAGE_UP ? (this._activate(this._focusNextTab(this.options.active - 1, !1)), !0) : t.altKey && t.keyCode === e.ui.keyCode.PAGE_DOWN ? (this._activate(this._focusNextTab(this.options.active + 1, !0)), !0) : void 0
9703        },
9704        _findNextTab: function (t, i) {
9705            function s() {
9706                return t > n && (t = 0), 0 > t && (t = n), t
9707            }
9708
9709            for (var n = this.tabs.length - 1; -1 !== e.inArray(s(), this.options.disabled);) t = i ? t + 1 : t - 1;
9710            return t
9711        },
9712        _focusNextTab: function (e, t) {
9713            return e = this._findNextTab(e, t), this.tabs.eq(e).focus(), e
9714        },
9715        _setOption: function (e, t) {
9716            return "active" === e ? void this._activate(t) : "disabled" === e ? void this._setupDisabled(t) : (this._super(e, t), "collapsible" === e && (this.element.toggleClass("ui-tabs-collapsible", t), t || this.options.active !== !1 || this._activate(0)), "event" === e && this._setupEvents(t), void ("heightStyle" === e && this._setupHeightStyle(t)))
9717        },
9718        _sanitizeSelector: function (e) {
9719            return e ? e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : ""
9720        },
9721        refresh: function () {
9722            var t = this.options, i = this.tablist.children(":has(a[href])");
9723            t.disabled = e.map(i.filter(".ui-state-disabled"), function (e) {
9724                return i.index(e)
9725            }), this._processTabs(), t.active !== !1 && this.anchors.length ? this.active.length && !e.contains(this.tablist[0], this.active[0]) ? this.tabs.length === t.disabled.length ? (t.active = !1, this.active = e()) : this._activate(this._findNextTab(Math.max(0, t.active - 1), !1)) : t.active = this.tabs.index(this.active) : (t.active = !1, this.active = e()), this._refresh()
9726        },
9727        _refresh: function () {
9728            this._setupDisabled(this.options.disabled), this._setupEvents(this.options.event), this._setupHeightStyle(this.options.heightStyle), this.tabs.not(this.active).attr({
9729                "aria-selected": "false",
9730                "aria-expanded": "false",
9731                tabIndex: -1
9732            }), this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden": "true"}), this.active.length ? (this.active.addClass("ui-tabs-active ui-state-active").attr({
9733                "aria-selected": "true",
9734                "aria-expanded": "true",
9735                tabIndex: 0
9736            }), this._getPanelForTab(this.active).show().attr({"aria-hidden": "false"})) : this.tabs.eq(0).attr("tabIndex", 0)
9737        },
9738        _processTabs: function () {
9739            var t = this, i = this.tabs, s = this.anchors, n = this.panels;
9740            this.tablist = this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role", "tablist").delegate("> li", "mousedown" + this.eventNamespace, function (t) {
9741                e(this).is(".ui-state-disabled") && t.preventDefault()
9742            }).delegate(".ui-tabs-anchor", "focus" + this.eventNamespace, function () {
9743                e(this).closest("li").is(".ui-state-disabled") && this.blur()
9744            }), this.tabs = this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({
9745                role: "tab", tabIndex: -1
9746            }), this.anchors = this.tabs.map(function () {
9747                return e("a", this)[0]
9748            }).addClass("ui-tabs-anchor").attr({
9749                role: "presentation",
9750                tabIndex: -1
9751            }), this.panels = e(), this.anchors.each(function (i, s) {
9752                var n, a, o, r = e(s).uniqueId().attr("id"), h = e(s).closest("li"), l = h.attr("aria-controls");
9753                t._isLocal(s) ? (n = s.hash, o = n.substring(1), a = t.element.find(t._sanitizeSelector(n))) : (o = h.attr("aria-controls") || e({}).uniqueId()[0].id, n = "#" + o, a = t.element.find(n), a.length || (a = t._createPanel(o), a.insertAfter(t.panels[i - 1] || t.tablist)), a.attr("aria-live", "polite")), a.length && (t.panels = t.panels.add(a)), l && h.data("ui-tabs-aria-controls", l), h.attr({
9754                    "aria-controls": o,
9755                    "aria-labelledby": r
9756                }), a.attr("aria-labelledby", r)
9757            }), this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role", "tabpanel"), i && (this._off(i.not(this.tabs)), this._off(s.not(this.anchors)), this._off(n.not(this.panels)))
9758        },
9759        _getList: function () {
9760            return this.tablist || this.element.find("ol,ul").eq(0)
9761        },
9762        _createPanel: function (t) {
9763            return e("<div>").attr("id", t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy", !0)
9764        },
9765        _setupDisabled: function (t) {
9766            e.isArray(t) && (t.length ? t.length === this.anchors.length && (t = !0) : t = !1);
9767            for (var i, s = 0; i = this.tabs[s]; s++) t === !0 || -1 !== e.inArray(s, t) ? e(i).addClass("ui-state-disabled").attr("aria-disabled", "true") : e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");
9768            this.options.disabled = t
9769        },
9770        _setupEvents: function (t) {
9771            var i = {};
9772            t && e.each(t.split(" "), function (e, t) {
9773                i[t] = "_eventHandler"
9774            }), this._off(this.anchors.add(this.tabs).add(this.panels)), this._on(!0, this.anchors, {
9775                click: function (e) {
9776                    e.preventDefault()
9777                }
9778            }), this._on(this.anchors, i), this._on(this.tabs, {keydown: "_tabKeydown"}), this._on(this.panels, {keydown: "_panelKeydown"}), this._focusable(this.tabs), this._hoverable(this.tabs)
9779        },
9780        _setupHeightStyle: function (t) {
9781            var i, s = this.element.parent();
9782            "fill" === t ? (i = s.height(), i -= this.element.outerHeight() - this.element.height(), this.element.siblings(":visible").each(function () {
9783                var t = e(this), s = t.css("position");
9784                "absolute" !== s && "fixed" !== s && (i -= t.outerHeight(!0))
9785            }), this.element.children().not(this.panels).each(function () {
9786                i -= e(this).outerHeight(!0)
9787            }), this.panels.each(function () {
9788                e(this).height(Math.max(0, i - e(this).innerHeight() + e(this).height()))
9789            }).css("overflow", "auto")) : "auto" === t && (i = 0, this.panels.each(function () {
9790                i = Math.max(i, e(this).height("").height())
9791            }).height(i))
9792        },
9793        _eventHandler: function (t) {
9794            var i = this.options, s = this.active, n = e(t.currentTarget), a = n.closest("li"), o = a[0] === s[0],
9795                r = o && i.collapsible, h = r ? e() : this._getPanelForTab(a),
9796                l = s.length ? this._getPanelForTab(s) : e(),
9797                u = {oldTab: s, oldPanel: l, newTab: r ? e() : a, newPanel: h};
9798            t.preventDefault(), a.hasClass("ui-state-disabled") || a.hasClass("ui-tabs-loading") || this.running || o && !i.collapsible || this._trigger("beforeActivate", t, u) === !1 || (i.active = r ? !1 : this.tabs.index(a), this.active = o ? e() : a, this.xhr && this.xhr.abort(), l.length || h.length || e.error("jQuery UI Tabs: Mismatching fragment identifier."), h.length && this.load(this.tabs.index(a), t), this._toggle(t, u))
9799        },
9800        _toggle: function (t, i) {
9801            function s() {
9802                a.running = !1, a._trigger("activate", t, i)
9803            }
9804
9805            function n() {
9806                i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"), o.length && a.options.show ? a._show(o, a.options.show, s) : (o.show(), s())
9807            }
9808
9809            var a = this, o = i.newPanel, r = i.oldPanel;
9810            this.running = !0, r.length && this.options.hide ? this._hide(r, this.options.hide, function () {
9811                i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), n()
9812            }) : (i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), r.hide(), n()), r.attr("aria-hidden", "true"), i.oldTab.attr({
9813                "aria-selected": "false",
9814                "aria-expanded": "false"
9815            }), o.length && r.length ? i.oldTab.attr("tabIndex", -1) : o.length && this.tabs.filter(function () {
9816                return 0 === e(this).attr("tabIndex")
9817            }).attr("tabIndex", -1), o.attr("aria-hidden", "false"), i.newTab.attr({
9818                "aria-selected": "true",
9819                "aria-expanded": "true",
9820                tabIndex: 0
9821            })
9822        },
9823        _activate: function (t) {
9824            var i, s = this._findActive(t);
9825            s[0] !== this.active[0] && (s.length || (s = this.active), i = s.find(".ui-tabs-anchor")[0], this._eventHandler({
9826                target: i,
9827                currentTarget: i,
9828                preventDefault: e.noop
9829            }))
9830        },
9831        _findActive: function (t) {
9832            return t === !1 ? e() : this.tabs.eq(t)
9833        },
9834        _getIndex: function (e) {
9835            return "string" == typeof e && (e = this.anchors.index(this.anchors.filter("[href$='" + e + "']"))), e
9836        },
9837        _destroy: function () {
9838            this.xhr && this.xhr.abort(), this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"), this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"), this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(), this.tablist.unbind(this.eventNamespace), this.tabs.add(this.panels).each(function () {
9839                e.data(this, "ui-tabs-destroy") ? e(this).remove() : e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")
9840            }), this.tabs.each(function () {
9841                var t = e(this), i = t.data("ui-tabs-aria-controls");
9842                i ? t.attr("aria-controls", i).removeData("ui-tabs-aria-controls") : t.removeAttr("aria-controls")
9843            }), this.panels.show(), "content" !== this.options.heightStyle && this.panels.css("height", "")
9844        },
9845        enable: function (t) {
9846            var i = this.options.disabled;
9847            i !== !1 && (void 0 === t ? i = !1 : (t = this._getIndex(t), i = e.isArray(i) ? e.map(i, function (e) {
9848                return e !== t ? e : null
9849            }) : e.map(this.tabs, function (e, i) {
9850                return i !== t ? i : null
9851            })), this._setupDisabled(i))
9852        },
9853        disable: function (t) {
9854            var i = this.options.disabled;
9855            if (i !== !0) {
9856                if (void 0 === t) i = !0; else {
9857                    if (t = this._getIndex(t), -1 !== e.inArray(t, i)) return;
9858                    i = e.isArray(i) ? e.merge([t], i).sort() : [t]
9859                }
9860                this._setupDisabled(i)
9861            }
9862        },
9863        load: function (t, i) {
9864            t = this._getIndex(t);
9865            var s = this, n = this.tabs.eq(t), a = n.find(".ui-tabs-anchor"), o = this._getPanelForTab(n),
9866                r = {tab: n, panel: o}, h = function (e, t) {
9867                    "abort" === t && s.panels.stop(!1, !0), n.removeClass("ui-tabs-loading"), o.removeAttr("aria-busy"), e === s.xhr && delete s.xhr
9868                };
9869            this._isLocal(a[0]) || (this.xhr = e.ajax(this._ajaxSettings(a, i, r)), this.xhr && "canceled" !== this.xhr.statusText && (n.addClass("ui-tabs-loading"), o.attr("aria-busy", "true"), this.xhr.done(function (e, t, n) {
9870                setTimeout(function () {
9871                    o.html(e), s._trigger("load", i, r), h(n, t)
9872                }, 1)
9873            }).fail(function (e, t) {
9874                setTimeout(function () {
9875                    h(e, t)
9876                }, 1)
9877            })))
9878        },
9879        _ajaxSettings: function (t, i, s) {
9880            var n = this;
9881            return {
9882                url: t.attr("href"), beforeSend: function (t, a) {
9883                    return n._trigger("beforeLoad", i, e.extend({jqXHR: t, ajaxSettings: a}
9883, s))
9884                }
9885            }
9886        },
9887        _getPanelForTab: function (t) {
9888            var i = e(t).attr("aria-controls");
9889            return this.element.find(this._sanitizeSelector("#" + i))
9890        }
9891    }), e.widget("ui.tooltip", {
9892        version: "1.11.4", options: {
9893            content: function () {
9894                var t = e(this).attr("title") || "";
9895                return e("<a>").text(t).html()
9896            },
9897            hide: !0,
9898            items: "[title]:not([disabled])",
9899            position: {my: "left top+15", at: "left bottom", collision: "flipfit flip"},
9900            show: !0,
9901            tooltipClass: null,
9902            track: !1,
9903            close: null,
9904            open: null
9905        }, _addDescribedBy: function (t, i) {
9906            var s = (t.attr("aria-describedby") || "").split(/\s+/);
9907            s.push(i), t.data("ui-tooltip-id", i).attr("aria-describedby", e.trim(s.join(" ")))
9908        }, _removeDescribedBy: function (t) {
9909            var i = t.data("ui-tooltip-id"), s = (t.attr("aria-describedby") || "").split(/\s+/), n = e.inArray(i, s);
9910            -1 !== n && s.splice(n, 1), t.removeData("ui-tooltip-id"), s = e.trim(s.join(" ")), s ? t.attr("aria-describedby", s) : t.removeAttr("aria-describedby")
9911        }, _create: function () {
9912            this._on({
9913                mouseover: "open",
9914                focusin: "open"
9915            }), this.tooltips = {}, this.parents = {}, this.options.disabled && this._disable(), this.liveRegion = e("<div>").attr({
9916                role: "log",
9917                "aria-live": "assertive",
9918                "aria-relevant": "additions"
9919            }).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)
9920        }, _setOption: function (t, i) {
9921            var s = this;
9922            return "disabled" === t ? (this[i ? "_disable" : "_enable"](), void (this.options[t] = i)) : (this._super(t, i), void ("content" === t && e.each(this.tooltips, function (e, t) {
9923                s._updateContent(t.element)
9924            })))
9925        }, _disable: function () {
9926            var t = this;
9927            e.each(this.tooltips, function (i, s) {
9928                var n = e.Event("blur");
9929                n.target = n.currentTarget = s.element[0], t.close(n, !0)
9930            }), this.element.find(this.options.items).addBack().each(function () {
9931                var t = e(this);
9932                t.is("[title]") && t.data("ui-tooltip-title", t.attr("title")).removeAttr("title")
9933            })
9934        }, _enable: function () {
9935            this.element.find(this.options.items).addBack().each(function () {
9936                var t = e(this);
9937                t.data("ui-tooltip-title") && t.attr("title", t.data("ui-tooltip-title"))
9938            })
9939        }, open: function (t) {
9940            var i = this, s = e(t ? t.target : this.element).closest(this.options.items);
9941            s.length && !s.data("ui-tooltip-id") && (s.attr("title") && s.data("ui-tooltip-title", s.attr("title")), s.data("ui-tooltip-open", !0), t && "mouseover" === t.type && s.parents().each(function () {
9942                var t, s = e(this);
9943                s.data("ui-tooltip-open") && (t = e.Event("blur"), t.target = t.currentTarget = this, i.close(t, !0)), s.attr("title") && (s.uniqueId(), i.parents[this.id] = {
9944                    element: this,
9945                    title: s.attr("title")
9946                }, s.attr("title", ""))
9947            }), this._registerCloseHandlers(t, s), this._updateContent(s, t))
9948        }, _updateContent: function (e, t) {
9949            var i, s = this.options.content, n = this, a = t ? t.type : null;
9950            return "string" == typeof s ? this._open(t, e, s) : (i = s.call(e[0], function (i) {
9951                n._delay(function () {
9952                    e.data("ui-tooltip-open") && (t && (t.type = a), this._open(t, e, i))
9953                })
9954            }), void (i && this._open(t, e, i)))
9955        }, _open: function (t, i, s) {
9956            function n(e) {
9957                l.of = e, o.is(":hidden") || o.position(l)
9958            }
9959
9960            var a, o, r, h, l = e.extend({}, this.options.position);
9961            if (s) {
9962                if (a = this._find(i)) return void a.tooltip.find(".ui-tooltip-content").html(s);
9963                i.is("[title]") && (t && "mouseover" === t.type ? i.attr("title", "") : i.removeAttr("title")), a = this._tooltip(i), o = a.tooltip, this._addDescribedBy(i, o.attr("id")), o.find(".ui-tooltip-content").html(s), this.liveRegion.children().hide(), s.clone ? (h = s.clone(), h.removeAttr("id").find("[id]").removeAttr("id")) : h = s, e("<div>").html(h).appendTo(this.liveRegion), this.options.track && t && /^mouse/.test(t.type) ? (this._on(this.document, {mousemove: n}), n(t)) : o.position(e.extend({of: i}, this.options.position)), o.hide(), this._show(o, this.options.show), this.options.show && this.options.show.delay && (r = this.delayedShow = setInterval(function () {
9964                    o.is(":visible") && (n(l.of), clearInterval(r))
9965                }, e.fx.interval)), this._trigger("open", t, {tooltip: o})
9966            }
9967        }, _registerCloseHandlers: function (t, i) {
9968            var s = {
9969                keyup: function (t) {
9970                    if (t.keyCode === e.ui.keyCode.ESCAPE) {
9971                        var s = e.Event(t);
9972                        s.currentTarget = i[0], this.close(s, !0)
9973                    }
9974                }
9975            };
9976            i[0] !== this.element[0] && (s.remove = function () {
9977                this._removeTooltip(this._find(i).tooltip)
9978            }), t && "mouseover" !== t.type || (s.mouseleave = "close"), t && "focusin" !== t.type || (s.focusout = "close"), this._on(!0, i, s)
9979        }, close: function (t) {
9980            var i, s = this, n = e(t ? t.currentTarget : this.element), a = this._find(n);
9981            return a ? (i = a.tooltip, void (a.closing || (clearInterval(this.delayedShow), n.data("ui-tooltip-title") && !n.attr("title") && n.attr("title", n.data("ui-tooltip-title")), this._removeDescribedBy(n), a.hiding = !0, i.stop(!0), this._hide(i, this.options.hide, function () {
9982                s._removeTooltip(e(this))
9983            }), n.removeData("ui-tooltip-open"), this._off(n, "mouseleave focusout keyup"), n[0] !== this.element[0] && this._off(n, "remove"), this._off(this.document, "mousemove"), t && "mouseleave" === t.type && e.each(this.parents, function (t, i) {
9984                e(i.element).attr("title", i.title), delete s.parents[t]
9985            }), a.closing = !0, this._trigger("close", t, {tooltip: i}), a.hiding || (a.closing = !1)))) : void n.removeData("ui-tooltip-open")
9986        }, _tooltip: function (t) {
9987            var i = e("<div>").attr("role", "tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content " + (this.options.tooltipClass || "")),
9988                s = i.uniqueId().attr("id");
9989            return e("<div>").addClass("ui-tooltip-content").appendTo(i), i.appendTo(this.document[0].body), this.tooltips[s] = {
9990                element: t,
9991                tooltip: i
9992            }
9993        }, _find: function (e) {
9994            var t = e.data("ui-tooltip-id");
9995            return t ? this.tooltips[t] : null
9996        }, _removeTooltip: function (e) {
9997            e.remove(), delete this.tooltips[e.attr("id")]
9998        }, _destroy: function () {
9999            var t = this;
10000            e.each(this.tooltips, function (i, s) {
10001                var n = e.Event("blur"), a = s.element;
10002                n.target = n.currentTarget = a[0], t.close(n, !0), e("#" + i).remove(), a.data("ui-tooltip-title") && (a.attr("title") || a.attr("title", a.data("ui-tooltip-title")), a.removeData("ui-tooltip-title"))
10003            }), this.liveRegion.remove()
10004        }
10005    })
10006});
10007var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
10008(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () {
10009    "use strict";
10010    _gsScope._gsDefine("TweenMax", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function (a, b, c) {
10011        var d = function (a) {
10012            var b, c = [], d = a.length;
10013            for (b = 0; b !== d; c.push(a[b++])) ;
10014            return c
10015        }, e = function (a, b, c) {
10016            var d, e, f = a.cycle;
10017            for (d in f) e = f[d], a[d] = "function" == typeof e ? e.call(b[c], c) : e[c % e.length];
10018            delete a.cycle
10019        }, f = function (a, b, d) {
10020            c.call(this, a, b, d), this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._dirty = !0, this.render = f.prototype.render
10021        }, g = 1e-10, h = c._internals, i = h.isSelector, j = h.isArray, k = f.prototype = c.to({}, .1, {}), l = [];
10022        f.version = "1.18.2", k.constructor = f, k.kill()._gc = !1, f.killTweensOf = f.killDelayedCallsTo = c.killTweensOf, f.getTweensOf = c.getTweensOf, f.lagSmoothing = c.lagSmoothing, f.ticker = c.ticker, f.render = c.render, k.invalidate = function () {
10023            return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), c.prototype.invalidate.call(this)
10024        }, k.updateTo = function (a, b) {
10025            var d, e = this.ratio, f = this.vars.immediateRender || a.immediateRender;
10026            b && this._startTime < this._timeline._time && (this._startTime = this._timeline._time, this._uncache(!1), this._gc ? this._enabled(!0, !1) : this._timeline.insert(this, this._startTime - this._delay));
10027            for (d in a) this.vars[d] = a[d];
10028            if (this._initted || f) if (b) this._initted = !1, f && this.render(0, !0, !0); else if (this._gc && this._enabled(!0, !1), this._notifyPluginsOfEnabled && this._firstPT && c._onPluginEvent("_onDisable", this), this._time / this._duration > .998) {
10029                var g = this._totalTime;
10030                this.render(0, !0, !1), this._initted = !1, this.render(g, !0, !1)
10031            } else if (this._initted = !1, this._init(), this._time > 0 || f) for (var h, i = 1 / (1 - e), j = this._firstPT; j;) h = j.s + j.c, j.c *= i, j.s = h - j.c, j = j._next;
10032            return this
10033        }, k.render = function (a, b, c) {
10034            this._initted || 0 === this._duration && this.vars.repeat && this.invalidate();
10035            var d, e, f, i, j, k, l, m, n = this._dirty ? this.totalDuration() : this._totalDuration, o = this._time,
10036                p = this._totalTime, q = this._cycle, r = this._duration, s = this._rawPrevTime;
10037            if (a >= n - 1e-7 ? (this._totalTime = n, this._cycle = this._repeat, this._yoyo && 0 !== (1 & this._cycle) ? (this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0) : (this._time = r, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1), this._reversed || (d = !0, e = "onComplete", c = c || this._timeline.autoRemoveChildren), 0 === r && (this._initted || !this.vars.lazy || c) && (this._startTime === this._timeline._duration && (a = 0), (0 > s || 0 >= a && a >= -1e-7 || s === g && "isPause" !== this.data) && s !== a && (c = !0, s > g && (e = "onReverseComplete")), this._rawPrevTime = m = !b || a || s === a ? a : g)) : 1e-7 > a ? (this._totalTime = this._time = this._cycle = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== p || 0 === r && s > 0) && (e = "onReverseComplete", d = this._reversed), 0 > a && (this._active = !1, 0 === r && (this._initted || !this.vars.lazy || c) && (s >= 0 && (c = !0), this._rawPrevTime = m = !b || a || s === a ? a : g)), this._initted || (c = !0)) : (this._totalTime = this._time = a, 0 !== this._repeat && (i = r + this._repeatDelay, this._cycle = this._totalTime / i >> 0, 0 !== this._cycle && this._cycle === this._totalTime / i && this._cycle--, this._time = this._totalTime - this._cycle * i, this._yoyo && 0 !== (1 & this._cycle) && (this._time = r - this._time), this._time > r ? this._time = r : this._time < 0 && (this._time = 0)), this._easeType ? (j = this._time / r, k = this._easeType, l = this._easePower, (1 === k || 3 === k && j >= .5) && (j = 1 - j), 3 === k && (j *= 2), 1 === l ? j *= j : 2 === l ? j *= j * j : 3 === l ? j *= j * j * j : 4 === l && (j *= j * j * j * j), 1 === k ? this.ratio = 1 - j : 2 === k ? this.ratio = j : this._time / r < .5 ? this.ratio = j / 2 : this.ratio = 1 - j / 2) : this.ratio = this._ease.getRatio(this._time / r)), o === this._time && !c && q === this._cycle) return void (p !== this._totalTime && this._onUpdate && (b || this._callback("onUp
vendor: 8,215 bytes, lines 10037-10138
10037date")));
10038            if (!this._initted) {
10039                if (this._init(), !this._initted || this._gc) return;
10040                if (!c && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = o, this._totalTime = p, this._rawPrevTime = s, this._cycle = q, h.lazyTweens.push(this), void (this._lazy = [a, b]);
10041                this._time && !d ? this.ratio = this._ease.getRatio(this._time / r) : d && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
10042            }
10043            for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== o && a >= 0 && (this._active = !0), 0 === p && (2 === this._initted && a > 0 && this._init(), this._startAt && (a >= 0 ? this._startAt.render(a, b, c) : e || (e = "_dummyGS")), this.vars.onStart && (0 !== this._totalTime || 0 === r) && (b || this._callback("onStart"))), f = this._firstPT; f;) f.f ? f.t[f.p](f.c * this.ratio + f.s) : f.t[f.p] = f.c * this.ratio + f.s, f = f._next;
10044            this._onUpdate && (0 > a && this._startAt && this._startTime && this._startAt.render(a, b, c), b || (this._totalTime !== p || d) && this._callback("onUpdate")), this._cycle !== q && (b || this._gc || this.vars.onRepeat && this._callback("onRepeat")), e && (!this._gc || c) && (0 > a && this._startAt && !this._onUpdate && this._startTime && this._startAt.render(a, b, c), d && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !b && this.vars[e] && this._callback(e), 0 === r && this._rawPrevTime === g && m !== g && (this._rawPrevTime = 0))
10045        }, f.to = function (a, b, c) {
10046            return new f(a, b, c)
10047        }, f.from = function (a, b, c) {
10048            return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, new f(a, b, c)
10049        }, f.fromTo = function (a, b, c, d) {
10050            return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, new f(a, b, d)
10051        }, f.staggerTo = f.allTo = function (a, b, g, h, k, m, n) {
10052            h = h || 0;
10053            var o, p, q, r, s = 0, t = [], u = function () {
10054                g.onComplete && g.onComplete.apply(g.onCompleteScope || this, arguments), k.apply(n || g.callbackScope || this, m || l)
10055            }, v = g.cycle, w = g.startAt && g.startAt.cycle;
10056            for (j(a) || ("string" == typeof a && (a = c.selector(a) || a), i(a) && (a = d(a))), a = a || [], 0 > h && (a = d(a), a.reverse(), h *= -1), o = a.length - 1, q = 0; o >= q; q++) {
10057                p = {};
10058                for (r in g) p[r] = g[r];
10059                if (v && e(p, a, q), w) {
10060                    w = p.startAt = {};
10061                    for (r in g.startAt) w[r] = g.startAt[r];
10062                    e(p.startAt, a, q)
10063                }
10064                p.delay = s + (p.delay || 0), q === o && k && (p.onComplete = u), t[q] = new f(a[q], b, p), s += h
10065            }
10066            return t
10067        }, f.staggerFrom = f.allFrom = function (a, b, c, d, e, g, h) {
10068            return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, f.staggerTo(a, b, c, d, e, g, h)
10069        }, f.staggerFromTo = f.allFromTo = function (a, b, c, d, e, g, h, i) {
10070            return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, f.staggerTo(a, b, d, e, g, h, i)
10071        }, f.delayedCall = function (a, b, c, d, e) {
10072            return new f(b, 0, {
10073                delay: a,
10074                onComplete: b,
10075                onCompleteParams: c,
10076                callbackScope: d,
10077                onReverseComplete: b,
10078                onReverseCompleteParams: c,
10079                immediateRender: !1,
10080                useFrames: e,
10081                overwrite: 0
10082            })
10083        }, f.set = function (a, b) {
10084            return new f(a, 0, b)
10085        }, f.isTweening = function (a) {
10086            return c.getTweensOf(a, !0).length > 0
10087        };
10088        var m = function (a, b) {
10089            for (var d = [], e = 0, f = a._first; f;) f instanceof c ? d[e++] = f : (b && (d[e++] = f), d = d.concat(m(f, b)), e = d.length), f = f._next;
10090            return d
10091        }, n = f.getAllTweens = function (b) {
10092            return m(a._rootTimeline, b).concat(m(a._rootFramesTimeline, b))
10093        };
10094        f.killAll = function (a, c, d, e) {
10095            null == c && (c = !0), null == d && (d = !0);
10096            var f, g, h, i = n(0 != e), j = i.length, k = c && d && e;
10097            for (h = 0; j > h; h++) g = i[h], (k || g instanceof b || (f = g.target === g.vars.onComplete) && d || c && !f) && (a ? g.totalTime(g._reversed ? 0 : g.totalDuration()) : g._enabled(!1, !1))
10098        }, f.killChildTweensOf = function (a, b) {
10099            if (null != a) {
10100                var e, g, k, l, m, n = h.tweenLookup;
10101                if ("string" == typeof a && (a = c.selector(a) || a), i(a) && (a = d(a)), j(a)) for (l = a.length; --l > -1;) f.killChildTweensOf(a[l], b); else {
10102                    e = [];
10103                    for (k in n) for (g = n[k].target.parentNode; g;) g === a && (e = e.concat(n[k].tweens)), g = g.parentNode;
10104                    for (m = e.length, l = 0; m > l; l++) b && e[l].totalTime(e[l].totalDuration()), e[l]._enabled(!1, !1)
10105                }
10106            }
10107        };
10108        var o = function (a, c, d, e) {
10109            c = c !== !1, d = d !== !1, e = e !== !1;
10110            for (var f, g, h = n(e), i = c && d && e, j = h.length; --j > -1;) g = h[j], (i || g instanceof b || (f = g.target === g.vars.onComplete) && d || c && !f) && g.paused(a)
10111        };
10112        return f.pauseAll = function (a, b, c) {
10113            o(!0, a, b, c)
10114        }, f.resumeAll = function (a, b, c) {
10115            o(!1, a, b, c)
10116        }, f.globalTimeScale = function (b) {
10117            var d = a._rootTimeline, e = c.ticker.time;
10118            return arguments.length ? (b = b || g, d._startTime = e - (e - d._startTime) * d._timeScale / b, d = a._rootFramesTimeline, e = c.ticker.frame, d._startTime = e - (e - d._startTime) * d._timeScale / b, d._timeScale = a._rootTimeline._timeScale = b, b) : d._timeScale
10119        }, k.progress = function (a) {
10120            return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - a : a) + this._cycle * (this._duration + this._repeatDelay), !1) : this._time / this.duration()
10121        }, k.totalProgress = function (a) {
10122            return arguments.length ? this.totalTime(this.totalDuration() * a, !1) : this._totalTime / this.totalDuration()
10123        }, k.time = function (a, b) {
10124            return arguments.length ? (this._dirty && this.totalDuration(), a > this._duration && (a = this._duration), this._yoyo && 0 !== (1 & this._cycle) ? a = this._duration - a + this._cycle * (this._duration + this._repeatDelay) : 0 !== this._repeat && (a += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(a, b)) : this._time
10125        }, k.duration = function (b) {
10126            return arguments.length ? a.prototype.duration.call(this, b) : this._duration
10127        }, k.totalDuration = function (a) {
10128            return arguments.length ? -1 === this._repeat ? this : this.duration((a - this._repeat * this._repeatDelay) / (this._repeat + 1)) : (this._dirty && (this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat, this._dirty = !1), this._totalDuration)
10129        }, k.repeat = function (a) {
10130            return arguments.length ? (this._repeat = a, this._uncache(!0)) : this._repeat
10131        }, k.repeatDelay = function (a) {
10132            return arguments.length ? (this._repeatDelay = a, this._uncache(!0)) : this._repeatDelay
10133        }, k.yoyo = function (a) {
10134            return arguments.length ? (this._yoyo = a, this) : this._yoyo
10135        }, f
10136    }, !0), _gsScope._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function (a, b, c) {
10137        var d = function (a) {
10138                b.call(this, a), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUp
vendor: 6,275 bytes, lines 10138-10225
10138date;
10139                var c, d, e = this.vars;
10140                for (d in e) c = e[d], i(c) && -1 !== c.join("").indexOf("{self}") && (e[d] = this._swapSelfInParams(c));
10141                i(e.tweens) && this.add(e.tweens, 0, e.align, e.stagger)
10142            }, e = 1e-10, f = c._internals, g = d._internals = {}, h = f.isSelector, i = f.isArray, j = f.lazyTweens,
10143            k = f.lazyRender, l = _gsScope._gsDefine.globals, m = function (a) {
10144                var b, c = {};
10145                for (b in a) c[b] = a[b];
10146                return c
10147            }, n = function (a, b, c) {
10148                var d, e, f = a.cycle;
10149                for (d in f) e = f[d], a[d] = "function" == typeof e ? e.call(b[c], c) : e[c % e.length];
10150                delete a.cycle
10151            }, o = g.pauseCallback = function () {
10152            }, p = function (a) {
10153                var b, c = [], d = a.length;
10154                for (b = 0; b !== d; c.push(a[b++])) ;
10155                return c
10156            }, q = d.prototype = new b;
10157        return d.version = "1.18.2", q.constructor = d, q.kill()._gc = q._forcingPlayhead = q._hasPause = !1, q.to = function (a, b, d, e) {
10158            var f = d.repeat && l.TweenMax || c;
10159            return b ? this.add(new f(a, b, d), e) : this.set(a, d, e)
10160        }, q.from = function (a, b, d, e) {
10161            return this.add((d.repeat && l.TweenMax || c).from(a, b, d), e)
10162        }, q.fromTo = function (a, b, d, e, f) {
10163            var g = e.repeat && l.TweenMax || c;
10164            return b ? this.add(g.fromTo(a, b, d, e), f) : this.set(a, e, f)
10165        }, q.staggerTo = function (a, b, e, f, g, i, j, k) {
10166            var l, o, q = new d({
10167                onComplete: i,
10168                onCompleteParams: j,
10169                callbackScope: k,
10170                smoothChildTiming: this.smoothChildTiming
10171            }), r = e.cycle;
10172            for ("string" == typeof a && (a = c.selector(a) || a), a = a || [], h(a) && (a = p(a)), f = f || 0, 0 > f && (a = p(a), a.reverse(), f *= -1), o = 0; o < a.length; o++) l = m(e), l.startAt && (l.startAt = m(l.startAt), l.startAt.cycle && n(l.startAt, a, o)), r && n(l, a, o), q.to(a[o], b, l, o * f);
10173            return this.add(q, g)
10174        }, q.staggerFrom = function (a, b, c, d, e, f, g, h) {
10175            return c.immediateRender = 0 != c.immediateRender, c.runBackwards = !0, this.staggerTo(a, b, c, d, e, f, g, h)
10176        }, q.staggerFromTo = function (a, b, c, d, e, f, g, h, i) {
10177            return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, this.staggerTo(a, b, d, e, f, g, h, i)
10178        }, q.call = function (a, b, d, e) {
10179            return this.add(c.delayedCall(0, a, b, d), e)
10180        }, q.set = function (a, b, d) {
10181            return d = this._parseTimeOrLabel(d, 0, !0), null == b.immediateRender && (b.immediateRender = d === this._time && !this._paused), this.add(new c(a, 0, b), d)
10182        }, d.exportRoot = function (a, b) {
10183            a = a || {}, null == a.smoothChildTiming && (a.smoothChildTiming = !0);
10184            var e, f, g = new d(a), h = g._timeline;
10185            for (null == b && (b = !0), h._remove(g, !0), g._startTime = 0, g._rawPrevTime = g._time = g._totalTime = h._time, e = h._first; e;) f = e._next, b && e instanceof c && e.target === e.vars.onComplete || g.add(e, e._startTime - e._delay), e = f;
10186            return h.add(g, 0), g
10187        }, q.add = function (e, f, g, h) {
10188            var j, k, l, m, n, o;
10189            if ("number" != typeof f && (f = this._parseTimeOrLabel(f, 0, !0, e)), !(e instanceof a)) {
10190                if (e instanceof Array || e && e.push && i(e)) {
10191                    for (g = g || "normal", h = h || 0, j = f, k = e.length, l = 0; k > l; l++) i(m = e[l]) && (m = new d({tweens: m})), this.add(m, j), "string" != typeof m && "function" != typeof m && ("sequence" === g ? j = m._startTime + m.totalDuration() / m._timeScale : "start" === g && (m._startTime -= m.delay())), j += h;
10192                    return this._uncache(!0)
10193                }
10194                if ("string" == typeof e) return this.addLabel(e, f);
10195                if ("function" != typeof e) throw"Cannot add " + e + " into the timeline; it is not a tween, timeline, function, or string.";
10196                e = c.delayedCall(0, e)
10197            }
10198            if (b.prototype.add.call(this, e, f), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration()) for (n = this, o = n.rawTime() > e._startTime; n._timeline;) o && n._timeline.smoothChildTiming ? n.totalTime(n._totalTime, !0) : n._gc && n._enabled(!0, !1), n = n._timeline;
10199            return this
10200        }, q.remove = function (b) {
10201            if (b instanceof a) {
10202                this._remove(b, !1);
10203                var c = b._timeline = b.vars.useFrames ? a._rootFramesTimeline : a._rootTimeline;
10204                return b._startTime = (b._paused ? b._pauseTime : c._time) - (b._reversed ? b.totalDuration() - b._totalTime : b._totalTime) / b._timeScale, this
10205            }
10206            if (b instanceof Array || b && b.push && i(b)) {
10207                for (var d = b.length; --d > -1;) this.remove(b[d]);
10208                return this
10209            }
10210            return "string" == typeof b ? this.removeLabel(b) : this.kill(null, b)
10211        }, q._remove = function (a, c) {
10212            b.prototype._remove.call(this, a, c);
10213            var d = this._last;
10214            return d ? this._time > d._startTime + d._totalDuration / d._timeScale && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this
10215        }, q.append = function (a, b) {
10216            return this.add(a, this._parseTimeOrLabel(null, b, !0, a))
10217        }, q.insert = q.insertMultiple = function (a, b, c, d) {
10218            return this.add(a, b || 0, c, d)
10219        }, q.appendMultiple = function (a, b, c, d) {
10220            return this.add(a, this._parseTimeOrLabel(null, b, !0, a), c, d)
10221        }, q.addLabel = function (a, b) {
10222            return this._labels[a] = this._parseTimeOrLabel(b), this
10223        }, q.addPause = function (a, b, d, e) {
10224            var f = c.delayedCall(0, o, d, e || this);
10225            return f.vars.onComplete = f.vars.onReverseComplete = b, f.data = "isPau
vendor: 94,905 bytes, lines 10225-11170
10225se", this._hasPause = !0, this.add(f, a)
10226        }, q.removeLabel = function (a) {
10227            return delete this._labels[a], this
10228        }, q.getLabelTime = function (a) {
10229            return null != this._labels[a] ? this._labels[a] : -1
10230        }, q._parseTimeOrLabel = function (b, c, d, e) {
10231            var f;
10232            if (e instanceof a && e.timeline === this) this.remove(e); else if (e && (e instanceof Array || e.push && i(e))) for (f = e.length; --f > -1;) e[f] instanceof a && e[f].timeline === this && this.remove(e[f]);
10233            if ("string" == typeof c) return this._parseTimeOrLabel(c, d && "number" == typeof b && null == this._labels[c] ? b - this.duration() : 0, d);
10234            if (c = c || 0, "string" != typeof b || !isNaN(b) && null == this._labels[b]) null == b && (b = this.duration()); else {
10235                if (f = b.indexOf("="), -1 === f) return null == this._labels[b] ? d ? this._labels[b] = this.duration() + c : c : this._labels[b] + c;
10236                c = parseInt(b.charAt(f - 1) + "1", 10) * Number(b.substr(f + 1)), b = f > 1 ? this._parseTimeOrLabel(b.substr(0, f - 1), 0, d) : this.duration()
10237            }
10238            return Number(b) + c
10239        }, q.seek = function (a, b) {
10240            return this.totalTime("number" == typeof a ? a : this._parseTimeOrLabel(a), b !== !1)
10241        }, q.stop = function () {
10242            return this.paused(!0)
10243        }, q.gotoAndPlay = function (a, b) {
10244            return this.play(a, b)
10245        }, q.gotoAndStop = function (a, b) {
10246            return this.pause(a, b)
10247        }, q.render = function (a, b, c) {
10248            this._gc && this._enabled(!0, !1);
10249            var d, f, g, h, i, l, m, n = this._dirty ? this.totalDuration() : this._totalDuration, o = this._time,
10250                p = this._startTime, q = this._timeScale, r = this._paused;
10251            if (a >= n - 1e-7) this._totalTime = this._time = n, this._reversed || this._hasPausedChild() || (f = !0, h = "onComplete", i = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 >= a && a >= -1e-7 || this._rawPrevTime < 0 || this._rawPrevTime === e) && this._rawPrevTime !== a && this._first && (i = !0, this._rawPrevTime > e && (h = "onReverseComplete"))), this._rawPrevTime = this._duration || !b || a || this._rawPrevTime === a ? a : e, a = n + 1e-4; else if (1e-7 > a) if (this._totalTime = this._time = 0, (0 !== o || 0 === this._duration && this._rawPrevTime !== e && (this._rawPrevTime > 0 || 0 > a && this._rawPrevTime >= 0)) && (h = "onReverseComplete", f = this._reversed), 0 > a) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (i = f = !0, h = "onReverseComplete") : this._rawPrevTime >= 0 && this._first && (i = !0), this._rawPrevTime = a; else {
10252                if (this._rawPrevTime = this._duration || !b || a || this._rawPrevTime === a ? a : e, 0 === a && f) for (d = this._first; d && 0 === d._startTime;) d._duration || (f = !1), d = d._next;
10253                a = 0, this._initted || (i = !0)
10254            } else {
10255                if (this._hasPause && !this._forcingPlayhead && !b) {
10256                    if (a >= o) for (d = this._first; d && d._startTime <= a && !l;) d._duration || "isPause" !== d.data || d.ratio || 0 === d._startTime && 0 === this._rawPrevTime || (l = d), d = d._next; else for (d = this._last; d && d._startTime >= a && !l;) d._duration || "isPause" === d.data && d._rawPrevTime > 0 && (l = d), d = d._prev;
10257                    l && (this._time = a = l._startTime, this._totalTime = a + this._cycle * (this._totalDuration + this._repeatDelay))
10258                }
10259                this._totalTime = this._time = this._rawPrevTime = a
10260            }
10261            if (this._time !== o && this._first || c || i || l) {
10262                if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== o && a > 0 && (this._active = !0), 0 === o && this.vars.onStart && 0 !== this._time && (b || this._callback("onStart")), m = this._time, m >= o) for (d = this._first; d && (g = d._next, m === this._time && (!this._paused || r));) (d._active || d._startTime <= m && !d._paused && !d._gc) && (l === d && this.pause(), d._reversed ? d.render((d._dirty ? d.totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)), d = g; else for (d = this._last; d && (g = d._prev, m === this._time && (!this._paused || r));) {
10263                    if (d._active || d._startTime <= o && !d._paused && !d._gc) {
10264                        if (l === d) {
10265                            for (l = d._prev; l && l.endTime() > this._time;) l.render(l._reversed ? l.totalDuration() - (a - l._startTime) * l._timeScale : (a - l._startTime) * l._timeScale, b, c), l = l._prev;
10266                            l = null, this.pause()
10267                        }
10268                        d._reversed ? d.render((d._dirty ? d.totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)
10269                    }
10270                    d = g
10271                }
10272                this._onUpdate && (b || (j.length && k(), this._callback("onUpdate"))), h && (this._gc || (p === this._startTime || q !== this._timeScale) && (0 === this._time || n >= this.totalDuration()) && (f && (j.length && k(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !b && this.vars[h] && this._callback(h)))
10273            }
10274        }, q._hasPausedChild = function () {
10275            for (var a = this._first; a;) {
10276                if (a._paused || a instanceof d && a._hasPausedChild()) return !0;
10277                a = a._next
10278            }
10279            return !1
10280        }, q.getChildren = function (a, b, d, e) {
10281            e = e || -9999999999;
10282            for (var f = [], g = this._first, h = 0; g;) g._startTime < e || (g instanceof c ? b !== !1 && (f[h++] = g) : (d !== !1 && (f[h++] = g), a !== !1 && (f = f.concat(g.getChildren(!0, b, d)), h = f.length))), g = g._next;
10283            return f
10284        }, q.getTweensOf = function (a, b) {
10285            var d, e, f = this._gc, g = [], h = 0;
10286            for (f && this._enabled(!0, !0), d = c.getTweensOf(a), e = d.length; --e > -1;) (d[e].timeline === this || b && this._contains(d[e])) && (g[h++] = d[e]);
10287            return f && this._enabled(!1, !0), g
10288        }, q.recent = function () {
10289            return this._recent
10290        }, q._contains = function (a) {
10291            for (var b = a.timeline; b;) {
10292                if (b === this) return !0;
10293                b = b.timeline
10294            }
10295            return !1
10296        }, q.shiftChildren = function (a, b, c) {
10297            c = c || 0;
10298            for (var d, e = this._first, f = this._labels; e;) e._startTime >= c && (e._startTime += a), e = e._next;
10299            if (b) for (d in f) f[d] >= c && (f[d] += a);
10300            return this._uncache(!0)
10301        }, q._kill = function (a, b) {
10302            if (!a && !b) return this._enabled(!1, !1);
10303            for (var c = b ? this.getTweensOf(b) : this.getChildren(!0, !0, !1), d = c.length, e = !1; --d > -1;) c[d]._kill(a, b) && (e = !0);
10304            return e
10305        }, q.clear = function (a) {
10306            var b = this.getChildren(!1, !0, !0), c = b.length;
10307            for (this._time = this._totalTime = 0; --c > -1;) b[c]._enabled(!1, !1);
10308            return a !== !1 && (this._labels = {}), this._uncache(!0)
10309        }, q.invalidate = function () {
10310            for (var b = this._first; b;) b.invalidate(), b = b._next;
10311            return a.prototype.invalidate.call(this)
10312        }, q._enabled = function (a, c) {
10313            if (a === this._gc) for (var d = this._first; d;) d._enabled(a, !0), d = d._next;
10314            return b.prototype._enabled.call(this, a, c)
10315        }, q.totalTime = function (b, c, d) {
10316            this._forcingPlayhead = !0;
10317            var e = a.prototype.totalTime.apply(this, arguments);
10318            return this._forcingPlayhead = !1, e
10319        }, q.duration = function (a) {
10320            return arguments.length ? (0 !== this.duration() && 0 !== a && this.timeScale(this._duration / a), this) : (this._dirty && this.totalDuration(), this._duration)
10321        }, q.totalDuration = function (a) {
10322            if (!arguments.length) {
10323                if (this._dirty) {
10324                    for (var b, c, d = 0, e = this._last, f = 999999999999; e;) b = e._prev, e._dirty && e.totalDuration(), e._startTime > f && this._sortChildren && !e._paused ? this.add(e, e._startTime - e._delay) : f = e._startTime, e._startTime < 0 && !e._paused && (d -= e._startTime,
10325                    this._timeline.smoothChildTiming && (this._startTime += e._startTime / this._timeScale), this.shiftChildren(-e._startTime, !1, -9999999999), f = 0), c = e._startTime + e._totalDuration / e._timeScale, c > d && (d = c), e = b;
10326                    this._duration = this._totalDuration = d, this._dirty = !1
10327                }
10328                return this._totalDuration
10329            }
10330            return a && this.totalDuration() ? this.timeScale(this._totalDuration / a) : this
10331        }, q.paused = function (b) {
10332            if (!b) for (var c = this._first, d = this._time; c;) c._startTime === d && "isPause" === c.data && (c._rawPrevTime = 0), c = c._next;
10333            return a.prototype.paused.apply(this, arguments)
10334        }, q.usesFrames = function () {
10335            for (var b = this._timeline; b._timeline;) b = b._timeline;
10336            return b === a._rootFramesTimeline
10337        }, q.rawTime = function () {
10338            return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale
10339        }, d
10340    }, !0), _gsScope._gsDefine("TimelineMax", ["TimelineLite", "TweenLite", "easing.Ease"], function (a, b, c) {
10341        var d = function (b) {
10342                a.call(this, b), this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._dirty = !0
10343            }, e = 1e-10, f = b._internals, g = f.lazyTweens, h = f.lazyRender, i = new c(null, null, 1, 0),
10344            j = d.prototype = new a;
10345        return j.constructor = d, j.kill()._gc = !1, d.version = "1.18.2", j.invalidate = function () {
10346            return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), a.prototype.invalidate.call(this)
10347        }, j.addCallback = function (a, c, d, e) {
10348            return this.add(b.delayedCall(0, a, d, e), c)
10349        }, j.removeCallback = function (a, b) {
10350            if (a) if (null == b) this._kill(null, a); else for (var c = this.getTweensOf(a, !1), d = c.length, e = this._parseTimeOrLabel(b); --d > -1;) c[d]._startTime === e && c[d]._enabled(!1, !1);
10351            return this
10352        }, j.removePause = function (b) {
10353            return this.removeCallback(a._internals.pauseCallback, b)
10354        }, j.tweenTo = function (a, c) {
10355            c = c || {};
10356            var d, e, f, g = {ease: i, useFrames: this.usesFrames(), immediateRender: !1};
10357            for (e in c) g[e] = c[e];
10358            return g.time = this._parseTimeOrLabel(a), d = Math.abs(Number(g.time) - this._time) / this._timeScale || .001, f = new b(this, d, g), g.onStart = function () {
10359                f.target.paused(!0), f.vars.time !== f.target.time() && d === f.duration() && f.duration(Math.abs(f.vars.time - f.target.time()) / f.target._timeScale), c.onStart && f._callback("onStart")
10360            }, f
10361        }, j.tweenFromTo = function (a, b, c) {
10362            c = c || {}, a = this._parseTimeOrLabel(a), c.startAt = {
10363                onComplete: this.seek,
10364                onCompleteParams: [a],
10365                callbackScope: this
10366            }, c.immediateRender = c.immediateRender !== !1;
10367            var d = this.tweenTo(b, c);
10368            return d.duration(Math.abs(d.vars.time - a) / this._timeScale || .001)
10369        }, j.render = function (a, b, c) {
10370            this._gc && this._enabled(!0, !1);
10371            var d, f, i, j, k, l, m, n, o = this._dirty ? this.totalDuration() : this._totalDuration,
10372                p = this._duration, q = this._time, r = this._totalTime, s = this._startTime, t = this._timeScale,
10373                u = this._rawPrevTime, v = this._paused, w = this._cycle;
10374            if (a >= o - 1e-7) this._locked || (this._totalTime = o, this._cycle = this._repeat), this._reversed || this._hasPausedChild() || (f = !0, j = "onComplete", k = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 >= a && a >= -1e-7 || 0 > u || u === e) && u !== a && this._first && (k = !0, u > e && (j = "onReverseComplete"))), this._rawPrevTime = this._duration || !b || a || this._rawPrevTime === a ? a : e, this._yoyo && 0 !== (1 & this._cycle) ? this._time = a = 0 : (this._time = p, a = p + 1e-4); else if (1e-7 > a) if (this._locked || (this._totalTime = this._cycle = 0), this._time = 0, (0 !== q || 0 === p && u !== e && (u > 0 || 0 > a && u >= 0) && !this._locked) && (j = "onReverseComplete", f = this._reversed), 0 > a) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (k = f = !0, j = "onReverseComplete") : u >= 0 && this._first && (k = !0), this._rawPrevTime = a; else {
10375                if (this._rawPrevTime = p || !b || a || this._rawPrevTime === a ? a : e, 0 === a && f) for (d = this._first; d && 0 === d._startTime;) d._duration || (f = !1), d = d._next;
10376                a = 0, this._initted || (k = !0)
10377            } else if (0 === p && 0 > u && (k = !0), this._time = this._rawPrevTime = a, this._locked || (this._totalTime = a, 0 !== this._repeat && (l = p + this._repeatDelay, this._cycle = this._totalTime / l >> 0, 0 !== this._cycle && this._cycle === this._totalTime / l && this._cycle--, this._time = this._totalTime - this._cycle * l, this._yoyo && 0 !== (1 & this._cycle) && (this._time = p - this._time), this._time > p ? (this._time = p, a = p + 1e-4) : this._time < 0 ? this._time = a = 0 : a = this._time)), this._hasPause && !this._forcingPlayhead && !b) {
10378                if (a = this._time, a >= q) for (d = this._first; d && d._startTime <= a && !m;) d._duration || "isPause" !== d.data || d.ratio || 0 === d._startTime && 0 === this._rawPrevTime || (m = d), d = d._next; else for (d = this._last; d && d._startTime >= a && !m;) d._duration || "isPause" === d.data && d._rawPrevTime > 0 && (m = d), d = d._prev;
10379                m && (this._time = a = m._startTime, this._totalTime = a + this._cycle * (this._totalDuration + this._repeatDelay))
10380            }
10381            if (this._cycle !== w && !this._locked) {
10382                var x = this._yoyo && 0 !== (1 & w), y = x === (this._yoyo && 0 !== (1 & this._cycle)),
10383                    z = this._totalTime, A = this._cycle, B = this._rawPrevTime, C = this._time;
10384                if (this._totalTime = w * p, this._cycle < w ? x = !x : this._totalTime += p, this._time = q, this._rawPrevTime = 0 === p ? u - 1e-4 : u, this._cycle = w, this._locked = !0, q = x ? 0 : p, this.render(q, b, 0 === p), b || this._gc || this.vars.onRepeat && this._callback("onRepeat"), q !== this._time) return;
10385                if (y && (q = x ? p + 1e-4 : -1e-4, this.render(q, !0, !1)), this._locked = !1, this._paused && !v) return;
10386                this._time = C, this._totalTime = z, this._cycle = A, this._rawPrevTime = B
10387            }
10388            if (!(this._time !== q && this._first || c || k || m)) return void (r !== this._totalTime && this._onUpdate && (b || this._callback("onUpdate")));
10389            if (this._initted || (this._initted = !0), this._active || !this._paused && this._totalTime !== r && a > 0 && (this._active = !0), 0 === r && this.vars.onStart && 0 !== this._totalTime && (b || this._callback("onStart")), n = this._time, n >= q) for (d = this._first; d && (i = d._next, n === this._time && (!this._paused || v));) (d._active || d._startTime <= this._time && !d._paused && !d._gc) && (m === d && this.pause(), d._reversed ? d.render((d._dirty ? d.totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)), d = i; else for (d = this._last; d && (i = d._prev, n === this._time && (!this._paused || v));) {
10390                if (d._active || d._startTime <= q && !d._paused && !d._gc) {
10391                    if (m === d) {
10392                        for (m = d._prev; m && m.endTime() > this._time;) m.render(m._reversed ? m.totalDuration() - (a - m._startTime) * m._timeScale : (a - m._startTime) * m._timeScale, b, c), m = m._prev;
10393                        m = null, this.pause()
10394                    }
10395                    d._reversed ? d.render((d._dirty ? d.totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)
10396                }
10397                d = i
10398            }
10399            this._onUpdate && (b || (g.length && h(), this._callback("onUpdate"))), j && (this._locked || this._gc || (s === this._startTime || t !== this._timeScale) && (0 === this._time || o >= this.totalDuration()) && (f && (g.length && h(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !b && this.vars[j] && this._callback(j)))
10400        }, j.getActive = function (a, b, c) {
10401            null == a && (a = !0), null == b && (b = !0), null == c && (c = !1);
10402            var d, e, f = [], g = this.getChildren(a, b, c), h = 0, i = g.length;
10403            for (d = 0; i > d; d++) e = g[d], e.isActive() && (f[h++] = e);
10404            return f
10405        }, j.getLabelAfter = function (a) {
10406            a || 0 !== a && (a = this._time);
10407            var b, c = this.getLabelsArray(), d = c.length;
10408            for (b = 0; d > b; b++) if (c[b].time > a) return c[b].name;
10409            return null
10410        }, j.getLabelBefore = function (a) {
10411            null == a && (a = this._time);
10412            for (var b = this.getLabelsArray(), c = b.length; --c > -1;) if (b[c].time < a) return b[c].name;
10413            return null
10414        }, j.getLabelsArray = function () {
10415            var a, b = [], c = 0;
10416            for (a in this._labels) b[c++] = {time: this._labels[a], name: a};
10417            return b.sort(function (a, b) {
10418                return a.time - b.time
10419            }), b
10420        }, j.progress = function (a, b) {
10421            return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - a : a) + this._cycle * (this._duration + this._repeatDelay), b) : this._time / this.duration()
10422        }, j.totalProgress = function (a, b) {
10423            return arguments.length ? this.totalTime(this.totalDuration() * a, b) : this._totalTime / this.totalDuration()
10424        }, j.totalDuration = function (b) {
10425            return arguments.length ? -1 !== this._repeat && b ? this.timeScale(this.totalDuration() / b) : this : (this._dirty && (a.prototype.totalDuration.call(this), this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat), this._totalDuration)
10426        }, j.time = function (a, b) {
10427            return arguments.length ? (this._dirty && this.totalDuration(), a > this._duration && (a = this._duration), this._yoyo && 0 !== (1 & this._cycle) ? a = this._duration - a + this._cycle * (this._duration + this._repeatDelay) : 0 !== this._repeat && (a += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(a, b)) : this._time
10428        }, j.repeat = function (a) {
10429            return arguments.length ? (this._repeat = a, this._uncache(!0)) : this._repeat
10430        }, j.repeatDelay = function (a) {
10431            return arguments.length ? (this._repeatDelay = a, this._uncache(!0)) : this._repeatDelay
10432        }, j.yoyo = function (a) {
10433            return arguments.length ? (this._yoyo = a, this) : this._yoyo
10434        }, j.currentLabel = function (a) {
10435            return arguments.length ? this.seek(a, !0) : this.getLabelBefore(this._time + 1e-8)
10436        }, d
10437    }, !0), function () {
10438        var a = 180 / Math.PI, b = [], c = [], d = [], e = {}, f = _gsScope._gsDefine.globals,
10439            g = function (a, b, c, d) {
10440                this.a = a, this.b = b, this.c = c, this.d = d, this.da = d - a, this.ca = c - a, this.ba = b - a
10441            },
10442            h = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",
10443            i = function (a, b, c, d) {
10444                var e = {a: a}, f = {}, g = {}, h = {c: d}, i = (a + b) / 2, j = (b + c) / 2, k = (c + d) / 2,
10445                    l = (i + j) / 2, m = (j + k) / 2, n = (m - l) / 8;
10446                return e.b = i + (a - i) / 4, f.b = l + n, e.c = f.a = (e.b + f.b) / 2, f.c = g.a = (l + m) / 2, g.b = m - n, h.b = k + (d - k) / 4, g.c = h.a = (g.b + h.b) / 2, [e, f, g, h]
10447            }, j = function (a, e, f, g, h) {
10448                var j, k, l, m, n, o, p, q, r, s, t, u, v, w = a.length - 1, x = 0, y = a[0].a;
10449                for (j = 0; w > j; j++) n = a[x], k = n.a, l = n.d, m = a[x + 1].d, h ? (t = b[j], u = c[j], v = (u + t) * e * .25 / (g ? .5 : d[j] || .5), o = l - (l - k) * (g ? .5 * e : 0 !== t ? v / t : 0), p = l + (m - l) * (g ? .5 * e : 0 !== u ? v / u : 0), q = l - (o + ((p - o) * (3 * t / (t + u) + .5) / 4 || 0))) : (o = l - (l - k) * e * .5, p = l + (m - l) * e * .5, q = l - (o + p) / 2), o += q, p += q, n.c = r = o, 0 !== j ? n.b = y : n.b = y = n.a + .6 * (n.c - n.a), n.da = l - k, n.ca = r - k, n.ba = y - k, f ? (s = i(k, y, r, l), a.splice(x, 1, s[0], s[1], s[2], s[3]), x += 4) : x++, y = p;
10450                n = a[x], n.b = y, n.c = y + .4 * (n.d - y), n.da = n.d - n.a, n.ca = n.c - n.a, n.ba = y - n.a, f && (s = i(n.a, y, n.c, n.d), a.splice(x, 1, s[0], s[1], s[2], s[3]))
10451            }, k = function (a, d, e, f) {
10452                var h, i, j, k, l, m, n = [];
10453                if (f) for (a = [f].concat(a), i = a.length; --i > -1;) "string" == typeof (m = a[i][d]) && "=" === m.charAt(1) && (a[i][d] = f[d] + Number(m.charAt(0) + m.substr(2)));
10454                if (h = a.length - 2, 0 > h) return n[0] = new g(a[0][d], 0, 0, a[-1 > h ? 0 : 1][d]), n;
10455                for (i = 0; h > i; i++) j = a[i][d], k = a[i + 1][d], n[i] = new g(j, 0, 0, k), e && (l = a[i + 2][d], b[i] = (b[i] || 0) + (k - j) * (k - j), c[i] = (c[i] || 0) + (l - k) * (l - k));
10456                return n[i] = new g(a[i][d], 0, 0, a[i + 1][d]), n
10457            }, l = function (a, f, g, i, l, m) {
10458                var n, o, p, q, r, s, t, u, v = {}, w = [], x = m || a[0];
10459                l = "string" == typeof l ? "," + l + "," : h, null == f && (f = 1);
10460                for (o in a[0]) w.push(o);
10461                if (a.length > 1) {
10462                    for (u = a[a.length - 1], t = !0, n = w.length; --n > -1;) if (o = w[n], Math.abs(x[o] - u[o]) > .05) {
10463                        t = !1;
10464                        break
10465                    }
10466                    t && (a = a.concat(), m && a.unshift(m), a.push(a[1]), m = a[a.length - 3])
10467                }
10468                for (b.length = c.length = d.length = 0, n = w.length; --n > -1;) o = w[n], e[o] = -1 !== l.indexOf("," + o + ","), v[o] = k(a, o, e[o], m);
10469                for (n = b.length; --n > -1;) b[n] = Math.sqrt(b[n]), c[n] = Math.sqrt(c[n]);
10470                if (!i) {
10471                    for (n = w.length; --n > -1;) if (e[o]) for (p = v[w[n]], s = p.length - 1, q = 0; s > q; q++) r = p[q + 1].da / c[q] + p[q].da / b[q], d[q] = (d[q] || 0) + r * r;
10472                    for (n = d.length; --n > -1;) d[n] = Math.sqrt(d[n])
10473                }
10474                for (n = w.length, q = g ? 4 : 1; --n > -1;) o = w[n], p = v[o], j(p, f, g, i, e[o]), t && (p.splice(0, q), p.splice(p.length - q, q));
10475                return v
10476            }, m = function (a, b, c) {
10477                b = b || "soft";
10478                var d, e, f, h, i, j, k, l, m, n, o, p = {}, q = "cubic" === b ? 3 : 2, r = "soft" === b, s = [];
10479                if (r && c && (a = [c].concat(a)), null == a || a.length < q + 1) throw"invalid Bezier data";
10480                for (m in a[0]) s.push(m);
10481                for (j = s.length; --j > -1;) {
10482                    for (m = s[j], p[m] = i = [], n = 0, l = a.length, k = 0; l > k; k++) d = null == c ? a[k][m] : "string" == typeof (o = a[k][m]) && "=" === o.charAt(1) ? c[m] + Number(o.charAt(0) + o.substr(2)) : Number(o), r && k > 1 && l - 1 > k && (i[n++] = (d + i[n - 2]) / 2), i[n++] = d;
10483                    for (l = n - q + 1, n = 0, k = 0; l > k; k += q) d = i[k], e = i[k + 1], f = i[k + 2], h = 2 === q ? 0 : i[k + 3], i[n++] = o = 3 === q ? new g(d, e, f, h) : new g(d, (2 * e + d) / 3, (2 * e + f) / 3, f);
10484                    i.length = n
10485                }
10486                return p
10487            }, n = function (a, b, c) {
10488                for (var d, e, f, g, h, i, j, k, l, m, n, o = 1 / c, p = a.length; --p > -1;) for (m = a[p], f = m.a, g = m.d - f, h = m.c - f, i = m.b - f, d = e = 0, k = 1; c >= k; k++) j = o * k, l = 1 - j, d = e - (e = (j * j * g + 3 * l * (j * h + l * i)) * j), n = p * c + k - 1, b[n] = (b[n] || 0) + d * d
10489            }, o = function (a, b) {
10490                b = b >> 0 || 6;
10491                var c, d, e, f, g = [], h = [], i = 0, j = 0, k = b - 1, l = [], m = [];
10492                for (c in a) n(a[c], g, b);
10493                for (e = g.length, d = 0; e > d; d++) i += Math.sqrt(g[d]), f = d % b, m[f] = i, f === k && (j += i, f = d / b >> 0, l[f] = m, h[f] = j, i = 0, m = []);
10494                return {length: j, lengths: h, segments: l}
10495            }, p = _gsScope._gsDefine.plugin({
10496                propName: "bezier", priority: -1, version: "1.3.4", API: 2, global: !0, init: function (a, b, c) {
10497                    this._target = a, b instanceof Array && (b = {values: b}), this._func = {}, this._round = {}, this._props = [], this._timeRes = null == b.timeResolution ? 6 : parseInt(b.timeResolution, 10);
10498                    var d, e, f, g, h, i = b.values || [], j = {}, k = i[0], n = b.autoRotate || c.vars.orientToBezier;
10499                    this._autoRotate = n ? n instanceof Array ? n : [["x", "y", "rotation", n === !0 ? 0 : Number(n) || 0]] : null;
10500                    for (d in k) this._props.push(d);
10501                    for (f = this._props.length; --f > -1;) d = this._props[f], this._overwriteProps.push(d), e = this._func[d] = "function" == typeof a[d], j[d] = e ? a[d.indexOf("set") || "function" != typeof a["get" + d.substr(3)] ? d : "get" + d.substr(3)]() : parseFloat(a[d]), h || j[d] !== i[0][d] && (h = j);
10502                    if (this._beziers = "cubic" !== b.type && "quadratic" !== b.type && "soft" !== b.type ? l(i, isNaN(b.curviness) ? 1 : b.curviness, !1, "thruBasic" === b.type, b.correlate, h) : m(i, b.type, j), this._segCount = this._beziers[d].length, this._timeRes) {
10503                        var p = o(this._beziers, this._timeRes);
10504                        this._length = p.length, this._lengths = p.lengths, this._segments = p.segments, this._l1 = this._li = this._s1 = this._si = 0, this._l2 = this._lengths[0], this._curSeg = this._segments[0], this._s2 = this._curSeg[0], this._prec = 1 / this._curSeg.length
10505                    }
10506                    if (n = this._autoRotate) for (this._initialRotations = [], n[0] instanceof Array || (this._autoRotate = n = [n]), f = n.length; --f > -1;) {
10507                        for (g = 0; 3 > g; g++) d = n[f][g], this._func[d] = "function" == typeof a[d] ? a[d.indexOf("set") || "function" != typeof a["get" + d.substr(3)] ? d : "get" + d.substr(3)] : !1;
10508                        d = n[f][2], this._initialRotations[f] = this._func[d] ? this._func[d].call(this._target) : this._target[d]
10509                    }
10510                    return this._startRatio = c.vars.runBackwards ? 1 : 0, !0
10511                }, set: function (b) {
10512                    var c, d, e, f, g, h, i, j, k, l, m = this._segCount, n = this._func, o = this._target,
10513                        p = b !== this._startRatio;
10514                    if (this._timeRes) {
10515                        if (k = this._lengths, l = this._curSeg, b *= this._length, e = this._li, b > this._l2 && m - 1 > e) {
10516                            for (j = m - 1; j > e && (this._l2 = k[++e]) <= b;) ;
10517                            this._l1 = k[e - 1], this._li = e, this._curSeg = l = this._segments[e], this._s2 = l[this._s1 = this._si = 0]
10518                        } else if (b < this._l1 && e > 0) {
10519                            for (; e > 0 && (this._l1 = k[--e]) >= b;) ;
10520                            0 === e && b < this._l1 ? this._l1 = 0 : e++, this._l2 = k[e], this._li = e, this._curSeg = l = this._segments[e], this._s1 = l[(this._si = l.length - 1) - 1] || 0, this._s2 = l[this._si]
10521                        }
10522                        if (c = e, b -= this._l1, e = this._si, b > this._s2 && e < l.length - 1) {
10523                            for (j = l.length - 1; j > e && (this._s2 = l[++e]) <= b;) ;
10524                            this._s1 = l[e - 1], this._si = e
10525                        } else if (b < this._s1 && e > 0) {
10526                            for (; e > 0 && (this._s1 = l[--e]) >= b;) ;
10527                            0 === e && b < this._s1 ? this._s1 = 0 : e++, this._s2 = l[e], this._si = e
10528                        }
10529                        h = (e + (b - this._s1) / (this._s2 - this._s1)) * this._prec
10530                    } else c = 0 > b ? 0 : b >= 1 ? m - 1 : m * b >> 0, h = (b - c * (1 / m)) * m;
10531                    for (d = 1 - h, e = this._props.length; --e > -1;) f = this._props[e], g = this._beziers[f][c], i = (h * h * g.da + 3 * d * (h * g.ca + d * g.ba)) * h + g.a, this._round[f] && (i = Math.round(i)), n[f] ? o[f](i) : o[f] = i;
10532                    if (this._autoRotate) {
10533                        var q, r, s, t, u, v, w, x = this._autoRotate;
10534                        for (e = x.length; --e > -1;) f = x[e][2], v = x[e][3] || 0, w = x[e][4] === !0 ? 1 : a, g = this._beziers[x[e][0]], q = this._beziers[x[e][1]], g && q && (g = g[c], q = q[c], r = g.a + (g.b - g.a) * h, t = g.b + (g.c - g.b) * h, r += (t - r) * h, t += (g.c + (g.d - g.c) * h - t) * h, s = q.a + (q.b - q.a) * h, u = q.b + (q.c - q.b) * h, s += (u - s) * h, u += (q.c + (q.d - q.c) * h - u) * h, i = p ? Math.atan2(u - s, t - r) * w + v : this._initialRotations[e], n[f] ? o[f](i) : o[f] = i)
10535                    }
10536                }
10537            }), q = p.prototype;
10538        p.bezierThrough = l, p.cubicToQuadratic = i, p._autoCSS = !0, p.quadraticToCubic = function (a, b, c) {
10539            return new g(a, (2 * b + a) / 3, (2 * b + c) / 3, c)
10540        }, p._cssRegister = function () {
10541            var a = f.CSSPlugin;
10542            if (a) {
10543                var b = a._internals, c = b._parseToProxy, d = b._setPluginRatio, e = b.CSSPropTween;
10544                b._registerComplexSpecialProp("bezier", {
10545                    parser: function (a, b, f, g, h, i) {
10546                        b instanceof Array && (b = {values: b}), i = new p;
10547                        var j, k, l, m = b.values, n = m.length - 1, o = [], q = {};
10548                        if (0 > n) return h;
10549                        for (j = 0; n >= j; j++) l = c(a, m[j], g, h, i, n !== j), o[j] = l.end;
10550                        for (k in b) q[k] = b[k];
10551                        return q.values = o, h = new e(a, "bezier", 0, 0, l.pt, 2), h.data = l, h.plugin = i, h.setRatio = d, 0 === q.autoRotate && (q.autoRotate = !0), !q.autoRotate || q.autoRotate instanceof Array || (j = q.autoRotate === !0 ? 0 : Number(q.autoRotate), q.autoRotate = null != l.end.left ? [["left", "top", "rotation", j, !1]] : null != l.end.x ? [["x", "y", "rotation", j, !1]] : !1), q.autoRotate && (g._transform || g._enableTransforms(!1), l.autoRotate = g._target._gsTransform), i._onInitTween(l.proxy, q, g._tween), h
10552                    }
10553                })
10554            }
10555        }, q._roundProps = function (a, b) {
10556            for (var c = this._overwriteProps, d = c.length; --d > -1;) (a[c[d]] || a.bezier || a.bezierThrough) && (this._round[c[d]] = b)
10557        }, q._kill = function (a) {
10558            var b, c, d = this._props;
10559            for (b in this._beziers) if (b in a) for (delete this._beziers[b], delete this._func[b], c = d.length; --c > -1;) d[c] === b && d.splice(c, 1);
10560            return this._super._kill.call(this, a)
10561        }
10562    }(), _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function (a, b) {
10563        var c, d, e, f, g = function () {
10564            a.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = g.prototype.setRatio
10565        }, h = _gsScope._gsDefine.globals, i = {}, j = g.prototype = new a("css");
10566        j.constructor = g, g.version = "1.18.2", g.API = 2, g.defaultTransformPerspective = 0, g.defaultSkewType = "compensated", g.defaultSmoothOrigin = !0, j = "px", g.suffixMap = {
10567            top: j,
10568            right: j,
10569            bottom: j,
10570            left: j,
10571            width: j,
10572            height: j,
10573            fontSize: j,
10574            padding: j,
10575            margin: j,
10576            perspective: j,
10577            lineHeight: ""
10578        };
10579        var k, l, m, n, o, p, q = /(?:\d|\-\d|\.\d|\-\.\d)+/g,
10580            r = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,
10581            s = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, t = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,
10582            u = /(?:\d|\-|\+|=|#|\.)*/g, v = /opacity *= *([^)]*)/i, w = /opacity:([^;]*)/i,
10583            x = /alpha\(opacity *=.+?\)/i, y = /^(rgb|hsl)/, z = /([A-Z])/g, A = /-([a-z])/gi,
10584            B = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, C = function (a, b) {
10585                return b.toUpperCase()
10586            }, D = /(?:Left|Right|Width)/i, E = /(M11|M12|M21|M22)=[\d\-\.e]+/gi,
10587            F = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, G = /,(?=[^\)]*(?:\(|$))/gi, H = Math.PI / 180,
10588            I = 180 / Math.PI, J = {}, K = document, L = function (a) {
10589                return K.createElementNS ? K.createElementNS("http://www.w3.org/1999/xhtml", a) : K.createElement(a)
10590            }, M = L("div"), N = L("img"), O = g._internals = {_specialProps: i}, P = navigator.userAgent, Q = function () {
10591                var a = P.indexOf("Android"), b = L("a");
10592                return m = -1 !== P.indexOf("Safari") && -1 === P.indexOf("Chrome") && (-1 === a || Number(P.substr(a + 8, 1)) > 3), o = m && Number(P.substr(P.indexOf("Version/") + 8, 1)) < 6, n = -1 !== P.indexOf("Firefox"), (/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(P) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(P)) && (p = parseFloat(RegExp.$1)), b ? (b.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(b.style.opacity)) : !1
10593            }(), R = function (a) {
10594                return v.test("string" == typeof a ? a : (a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1
10595            }, S = function (a) {
10596                window.console && console.log(a)
10597            }, T = "", U = "", V = function (a, b) {
10598                b = b || M;
10599                var c, d, e = b.style;
10600                if (void 0 !== e[a]) return a;
10601                for (a = a.charAt(0).toUpperCase() + a.substr(1), c = ["O", "Moz", "ms", "Ms", "Webkit"], d = 5; --d > -1 && void 0 === e[c[d] + a];) ;
10602                return d >= 0 ? (U = 3 === d ? "ms" : c[d], T = "-" + U.toLowerCase() + "-", U + a) : null
10603            }, W = K.defaultView ? K.defaultView.getComputedStyle : function () {
10604            }, X = g.getStyle = function (a, b, c, d, e) {
10605                var f;
10606                return Q || "opacity" !== b ? (!d && a.style[b] ? f = a.style[b] : (c = c || W(a)) ? f = c[b] || c.getPropertyValue(b) || c.getPropertyValue(b.replace(z, "-$1").toLowerCase()) : a.currentStyle && (f = a.currentStyle[b]), null == e || f && "none" !== f && "auto" !== f && "auto auto" !== f ? f : e) : R(a)
10607            }, Y = O.convertToPixels = function (a, c, d, e, f) {
10608                if ("px" === e || !e) return d;
10609                if ("auto" === e || !d) return 0;
10610                var h, i, j, k = D.test(c), l = a, m = M.style, n = 0 > d;
10611                if (n && (d = -d), "%" === e && -1 !== c.indexOf("border")) h = d / 100 * (k ? a.clientWidth : a.clientHeight); else {
10612                    if (m.cssText = "border:0 solid red;position:" + X(a, "position") + ";line-height:0;", "%" !== e && l.appendChild && "v" !== e.charAt(0) && "rem" !== e) m[k ? "borderLeftWidth" : "borderTopWidth"] = d + e; else {
10613                        if (l = a.parentNode || K.body, i = l._gsCache, j = b.ticker.frame, i && k && i.time === j) return i.width * d / 100;
10614                        m[k ? "width" : "height"] = d + e
10615                    }
10616                    l.appendChild(M), h = parseFloat(M[k ? "offsetWidth" : "offsetHeight"]), l.removeChild(M), k && "%" === e && g.cacheWidths !== !1 && (i = l._gsCache = l._gsCache || {}, i.time = j, i.width = h / d * 100), 0 !== h || f || (h = Y(a, c, d, e, !0))
10617                }
10618                return n ? -h : h
10619            }, Z = O.calculateOffset = function (a, b, c) {
10620                if ("absolute" !== X(a, "position", c)) return 0;
10621                var d = "left" === b ? "Left" : "Top", e = X(a, "margin" + d, c);
10622                return a["offset" + d] - (Y(a, b, parseFloat(e), e.replace(u, "")) || 0)
10623            }, $ = function (a, b) {
10624                var c, d, e, f = {};
10625                if (b = b || W(a, null)) if (c = b.length) for (; --c > -1;) e = b[c], (-1 === e.indexOf("-transform") || za === e) && (f[e.replace(A, C)] = b.getPropertyValue(e)); else for (c in b) (-1 === c.indexOf("Transform") || ya === c) && (f[c] = b[c]); else if (b = a.currentStyle || a.style) for (c in b) "string" == typeof c && void 0 === f[c] && (f[c.replace(A, C)] = b[c]);
10626                return Q || (f.opacity = R(a)), d = La(a, b, !1), f.rotation = d.rotation, f.skewX = d.skewX, f.scaleX = d.scaleX, f.scaleY = d.scaleY, f.x = d.x, f.y = d.y, Ba && (f.z = d.z, f.rotationX = d.rotationX, f.rotationY = d.rotationY, f.scaleZ = d.scaleZ), f.filters && delete f.filters, f
10627            }, _ = function (a, b, c, d, e) {
10628                var f, g, h, i = {}, j = a.style;
10629                for (g in c) "cssText" !== g && "length" !== g && isNaN(g) && (b[g] !== (f = c[g]) || e && e[g]) && -1 === g.indexOf("Origin") && ("number" == typeof f || "string" == typeof f) && (i[g] = "auto" !== f || "left" !== g && "top" !== g ? "" !== f && "auto" !== f && "none" !== f || "string" != typeof b[g] || "" === b[g].replace(t, "") ? f : 0 : Z(a, g), void 0 !== j[g] && (h = new oa(j, g, j[g], h)));
10630                if (d) for (g in d) "className" !== g && (i[g] = d[g]);
10631                return {difs: i, firstMPT: h}
10632            }, aa = {width: ["Left", "Right"], height: ["Top", "Bottom"]},
10633            ba = ["marginLeft", "marginRight", "marginTop", "marginBottom"], ca = function (a, b, c) {
10634                var d = parseFloat("width" === b ? a.offsetWidth : a.offsetHeight), e = aa[b], f = e.length;
10635                for (c = c || W(a, null); --f > -1;) d -= parseFloat(X(a, "padding" + e[f], c, !0)) || 0, d -= parseFloat(X(a, "border" + e[f] + "Width", c, !0)) || 0;
10636                return d
10637            }, da = function (a, b) {
10638                if ("contain" === a || "auto" === a || "auto auto" === a) return a + " ";
10639                (null == a || "" === a) && (a = "0 0");
10640                var c = a.split(" "), d = -1 !== a.indexOf("left") ? "0%" : -1 !== a.indexOf("right") ? "100%" : c[0],
10641                    e = -1 !== a.indexOf("top") ? "0%" : -1 !== a.indexOf("bottom") ? "100%" : c[1];
10642                return null == e ? e = "center" === d ? "50%" : "0" : "center" === e && (e = "50%"), ("center" === d || isNaN(parseFloat(d)) && -1 === (d + "").indexOf("=")) && (d = "50%"), a = d + " " + e + (c.length > 2 ? " " + c[2] : ""), b && (b.oxp = -1 !== d.indexOf("%"), b.oyp = -1 !== e.indexOf("%"), b.oxr = "=" === d.charAt(1), b.oyr = "=" === e.charAt(1), b.ox = parseFloat(d.replace(t, "")), b.oy = parseFloat(e.replace(t, "")), b.v = a), b || a
10643            }, ea = function (a, b) {
10644                return "string" == typeof a && "=" === a.charAt(1) ? parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) : parseFloat(a) - parseFloat(b)
10645            }, fa = function (a, b) {
10646                return null == a ? b : "string" == typeof a && "=" === a.charAt(1) ? parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) + b : parseFloat(a)
10647            }, ga = function (a, b, c, d) {
10648                var e, f, g, h, i, j = 1e-6;
10649                return null == a ? h = b : "number" == typeof a ? h = a : (e = 360, f = a.split("_"), i = "=" === a.charAt(1), g = (i ? parseInt(a.charAt(0) + "1", 10) * parseFloat(f[0].substr(2)) : parseFloat(f[0])) * (-1 === a.indexOf("rad") ? 1 : I) - (i ? 0 : b), f.length && (d && (d[c] = b + g), -1 !== a.indexOf("short") && (g %= e, g !== g % (e / 2) && (g = 0 > g ? g + e : g - e)), -1 !== a.indexOf("_cw") && 0 > g ? g = (g + 9999999999 * e) % e - (g / e | 0) * e : -1 !== a.indexOf("ccw") && g > 0 && (g = (g - 9999999999 * e) % e - (g / e | 0) * e)), h = b + g), j > h && h > -j && (h = 0), h
10650            }, ha = {
10651                aqua: [0, 255, 255],
10652                lime: [0, 255, 0],
10653                silver: [192, 192, 192],
10654                black: [0, 0, 0],
10655                maroon: [128, 0, 0],
10656                teal: [0, 128, 128],
10657                blue: [0, 0, 255],
10658                navy: [0, 0, 128],
10659                white: [255, 255, 255],
10660                fuchsia: [255, 0, 255],
10661                olive: [128, 128, 0],
10662                yellow: [255, 255, 0],
10663                orange: [255, 165, 0],
10664                gray: [128, 128, 128],
10665                purple: [128, 0, 128],
10666                green: [0, 128, 0],
10667                red: [255, 0, 0],
10668                pink: [255, 192, 203],
10669                cyan: [0, 255, 255],
10670                transparent: [255, 255, 255, 0]
10671            }, ia = function (a, b, c) {
10672                return a = 0 > a ? a + 1 : a > 1 ? a - 1 : a, 255 * (1 > 6 * a ? b + (c - b) * a * 6 : .5 > a ? c : 2 > 3 * a ? b + (c - b) * (2 / 3 - a) * 6 : b) + .5 | 0
10673            }, ja = g.parseColor = function (a, b) {
10674                var c, d, e, f, g, h, i, j, k, l, m;
10675                if (a) if ("number" == typeof a) c = [a >> 16, a >> 8 & 255, 255 & a]; else {
10676                    if ("," === a.charAt(a.length - 1) && (a = a.substr(0, a.length - 1)), ha[a]) c = ha[a]; else if ("#" === a.charAt(0)) 4 === a.length && (d = a.charAt(1), e = a.charAt(2), f = a.charAt(3), a = "#" + d + d + e + e + f + f), a = parseInt(a.substr(1), 16), c = [a >> 16, a >> 8 & 255, 255 & a]; else if ("hsl" === a.substr(0, 3)) if (c = m = a.match(q), b) {
10677                        if (-1 !== a.indexOf("=")) return a.match(r)
10678                    } else g = Number(c[0]) % 360 / 360, h = Number(c[1]) / 100, i = Number(c[2]) / 100, e = .5 >= i ? i * (h + 1) : i + h - i * h, d = 2 * i - e, c.length > 3 && (c[3] = Number(a[3])), c[0] = ia(g + 1 / 3, d, e), c[1] = ia(g, d, e), c[2] = ia(g - 1 / 3, d, e); else c = a.match(q) || ha.transparent;
10679                    c[0] = Number(c[0]), c[1] = Number(c[1]), c[2] = Number(c[2]), c.length > 3 && (c[3] = Number(c[3]))
10680                } else c = ha.black;
10681                return b && !m && (d = c[0] / 255, e = c[1] / 255, f = c[2] / 255, j = Math.max(d, e, f), k = Math.min(d, e, f), i = (j + k) / 2, j === k ? g = h = 0 : (l = j - k, h = i > .5 ? l / (2 - j - k) : l / (j + k), g = j === d ? (e - f) / l + (f > e ? 6 : 0) : j === e ? (f - d) / l + 2 : (d - e) / l + 4, g *= 60), c[0] = g + .5 | 0, c[1] = 100 * h + .5 | 0, c[2] = 100 * i + .5 | 0), c
10682            }, ka = function (a, b) {
10683                var c, d, e, f = a.match(la) || [], g = 0, h = f.length ? "" : a;
10684                for (c = 0; c < f.length; c++) d = f[c], e = a.substr(g, a.indexOf(d, g) - g), g += e.length + d.length, d = ja(d, b), 3 === d.length && d.push(1), h += e + (b ? "hsla(" + d[0] + "," + d[1] + "%," + d[2] + "%," + d[3] : "rgba(" + d.join(",")) + ")";
10685                return h
10686            }, la = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";
10687        for (j in ha) la += "|" + j + "\\b";
10688        la = new RegExp(la + ")", "gi"), g.colorStringFilter = function (a) {
10689            var b, c = a[0] + a[1];
10690            la.lastIndex = 0, la.test(c) && (b = -1 !== c.indexOf("hsl(") || -1 !== c.indexOf("hsla("), a[0] = ka(a[0], b), a[1] = ka(a[1], b))
10691        }, b.defaultStringFilter || (b.defaultStringFilter = g.colorStringFilter);
10692        var ma = function (a, b, c, d) {
10693            if (null == a) return function (a) {
10694                return a
10695            };
10696            var e, f = b ? (a.match(la) || [""])[0] : "", g = a.split(f).join("").match(s) || [],
10697                h = a.substr(0, a.indexOf(g[0])), i = ")" === a.charAt(a.length - 1) ? ")" : "",
10698                j = -1 !== a.indexOf(" ") ? " " : ",", k = g.length, l = k > 0 ? g[0].replace(q, "") : "";
10699            return k ? e = b ? function (a) {
10700                var b, m, n, o;
10701                if ("number" == typeof a) a += l; else if (d && G.test(a)) {
10702                    for (o = a.replace(G, "|").split("|"), n = 0; n < o.length; n++) o[n] = e(o[n]);
10703                    return o.join(",")
10704                }
10705                if (b = (a.match(la) || [f])[0], m = a.split(b).join("").match(s) || [], n = m.length, k > n--) for (; ++n < k;) m[n] = c ? m[(n - 1) / 2 | 0] : g[n];
10706                return h + m.join(j) + j + b + i + (-1 !== a.indexOf("inset") ? " inset" : "")
10707            } : function (a) {
10708                var b, f, m;
10709                if ("number" == typeof a) a += l; else if (d && G.test(a)) {
10710                    for (f = a.replace(G, "|").split("|"), m = 0; m < f.length; m++) f[m] = e(f[m]);
10711                    return f.join(",")
10712                }
10713                if (b = a.match(s) || [], m = b.length, k > m--) for (; ++m < k;) b[m] = c ? b[(m - 1) / 2 | 0] : g[m];
10714                return h + b.join(j) + i
10715            } : function (a) {
10716                return a
10717            }
10718        }, na = function (a) {
10719            return a = a.split(","), function (b, c, d, e, f, g, h) {
10720                var i, j = (c + "").split(" ");
10721                for (h = {}, i = 0; 4 > i; i++) h[a[i]] = j[i] = j[i] || j[(i - 1) / 2 >> 0];
10722                return e.parse(b, h, f, g)
10723            }
10724        }, oa = (O._setPluginRatio = function (a) {
10725            this.plugin.setRatio(a);
10726            for (var b, c, d, e, f, g = this.data, h = g.proxy, i = g.firstMPT, j = 1e-6; i;) b = h[i.v], i.r ? b = Math.round(b) : j > b && b > -j && (b = 0), i.t[i.p] = b, i = i._next;
10727            if (g.autoRotate && (g.autoRotate.rotation = h.rotation), 1 === a || 0 === a) for (i = g.firstMPT, f = 1 === a ? "e" : "b"; i;) {
10728                if (c = i.t, c.type) {
10729                    if (1 === c.type) {
10730                        for (e = c.xs0 + c.s + c.xs1, d = 1; d < c.l; d++) e += c["xn" + d] + c["xs" + (d + 1)];
10731                        c[f] = e
10732                    }
10733                } else c[f] = c.s + c.xs0;
10734                i = i._next
10735            }
10736        }, function (a, b, c, d, e) {
10737            this.t = a, this.p = b, this.v = c, this.r = e, d && (d._prev = this, this._next = d)
10738        }), pa = (O._parseToProxy = function (a, b, c, d, e, f) {
10739            var g, h, i, j, k, l = d, m = {}, n = {}, o = c._transform, p = J;
10740            for (c._transform = null, J = b, d = k = c.parse(a, b, d, e), J = p, f && (c._transform = o, l && (l._prev = null, l._prev && (l._prev._next = null))); d && d !== l;) {
10741                if (d.type <= 1 && (h = d.p, n[h] = d.s + d.c, m[h] = d.s, f || (j = new oa(d, "s", h, j, d.r), d.c = 0), 1 === d.type)) for (g = d.l; --g > 0;) i = "xn" + g, h = d.p + "_" + i, n[h] = d.data[i], m[h] = d[i], f || (j = new oa(d, i, h, j, d.rxp[i]));
10742                d = d._next
10743            }
10744            return {proxy: m, end: n, firstMPT: j, pt: k}
10745        }, O.CSSPropTween = function (a, b, d, e, g, h, i, j, k, l, m) {
10746            this.t = a, this.p = b, this.s = d, this.c = e, this.n = i || b, a instanceof pa || f.push(this.n), this.r = j, this.type = h || 0, k && (this.pr = k, c = !0), this.b = void 0 === l ? d : l, this.e = void 0 === m ? d + e : m, g && (this._next = g, g._prev = this)
10747        }), qa = function (a, b, c, d, e, f) {
10748            var g = new pa(a, b, c, d - c, e, -1, f);
10749            return g.b = c, g.e = g.xs0 = d, g
10750        }, ra = g.parseComplex = function (a, b, c, d, e, f, g, h, i, j) {
10751            c = c || f || "", g = new pa(a, b, 0, 0, g, j ? 2 : 1, null, !1, h, c, d), d += "";
10752            var l, m, n, o, p, s, t, u, v, w, x, y, z, A = c.split(", ").join(",").split(" "),
10753                B = d.split(", ").join(",").split(" "), C = A.length, D = k !== !1;
10754            for ((-1 !== d.indexOf(",") || -1 !== c.indexOf(",")) && (A = A.join(" ").replace(G, ", ").split(" "), B = B.join(" ").replace(G, ", ").split(" "), C = A.length), C !== B.length && (A = (f || "").split(" "), C = A.length), g.plugin = i, g.setRatio = j, la.lastIndex = 0, l = 0; C > l; l++) if (o = A[l], p = B[l], u = parseFloat(o), u || 0 === u) g.appendXtra("", u, ea(p, u), p.replace(r, ""), D && -1 !== p.indexOf("px"), !0); else if (e && la.test(o)) y = "," === p.charAt(p.length - 1) ? ")," : ")", z = -1 !== p.indexOf("hsl") && Q, o = ja(o, z), p = ja(p, z), v = o.length + p.length > 6, v && !Q && 0 === p[3] ? (g["xs" + g.l] += g.l ? " transparent" : "transparent", g.e = g.e.split(B[l]).join("transparent")) : (Q || (v = !1), z ? g.appendXtra(v ? "hsla(" : "hsl(", o[0], ea(p[0], o[0]), ",", !1, !0).appendXtra("", o[1], ea(p[1], o[1]), "%,", !1).appendXtra("", o[2], ea(p[2], o[2]), v ? "%," : "%" + y, !1) : g.appendXtra(v ? "rgba(" : "rgb(", o[0], p[0] - o[0], ",", !0, !0).appendXtra("", o[1], p[1] - o[1], ",", !0).appendXtra("", o[2], p[2] - o[2], v ? "," : y, !0), v && (o = o.length < 4 ? 1 : o[3], g.appendXtra("", o, (p.length < 4 ? 1 : p[3]) - o, y, !1))), la.lastIndex = 0; else if (s = o.match(q)) {
10755                if (t = p.match(r), !t || t.length !== s.length) return g;
10756                for (n = 0, m = 0; m < s.length; m++) x = s[m], w = o.indexOf(x, n), g.appendXtra(o.substr(n, w - n), Number(x), ea(t[m], x), "", D && "px" === o.substr(w + x.length, 2), 0 === m), n = w + x.length;
10757                g["xs" + g.l] += o.substr(n)
10758            } else g["xs" + g.l] += g.l ? " " + p : p;
10759            if (-1 !== d.indexOf("=") && g.data) {
10760                for (y = g.xs0 + g.data.s, l = 1; l < g.l; l++) y += g["xs" + l] + g.data["xn" + l];
10761                g.e = y + g["xs" + l]
10762            }
10763            return g.l || (g.type = -1, g.xs0 = g.e), g.xfirst || g
10764        }, sa = 9;
10765        for (j = pa.prototype, j.l = j.pr = 0; --sa > 0;) j["xn" + sa] = 0, j["xs" + sa] = "";
10766        j.xs0 = "", j._next = j._prev = j.xfirst = j.data = j.plugin = j.setRatio = j.rxp = null, j.appendXtra = function (a, b, c, d, e, f) {
10767            var g = this, h = g.l;
10768            return g["xs" + h] += f && h ? " " + a : a || "", c || 0 === h || g.plugin ? (g.l++, g.type = g.setRatio ? 2 : 1, g["xs" + g.l] = d || "", h > 0 ? (g.data["xn" + h] = b + c, g.rxp["xn" + h] = e, g["xn" + h] = b, g.plugin || (g.xfirst = new pa(g, "xn" + h, b, c, g.xfirst || g, 0, g.n, e, g.pr), g.xfirst.xs0 = 0), g) : (g.data = {s: b + c}, g.rxp = {}, g.s = b, g.c = c, g.r = e, g)) : (g["xs" + h] += b + (d || ""), g)
10769        };
10770        var ta = function (a, b) {
10771            b = b || {}, this.p = b.prefix ? V(a) || a : a, i[a] = i[this.p] = this, this.format = b.formatter || ma(b.defaultValue, b.color, b.collapsible, b.multi), b.parser && (this.parse = b.parser), this.clrs = b.color, this.multi = b.multi, this.keyword = b.keyword, this.dflt = b.defaultValue, this.pr = b.priority || 0
10772        }, ua = O._registerComplexSpecialProp = function (a, b, c) {
10773            "object" != typeof b && (b = {parser: c});
10774            var d, e, f = a.split(","), g = b.defaultValue;
10775            for (c = c || [g], d = 0; d < f.length; d++) b.prefix = 0 === d && b.prefix, b.defaultValue = c[d] || g, e = new ta(f[d], b)
10776        }, va = function (a) {
10777            if (!i[a]) {
10778                var b = a.charAt(0).toUpperCase() + a.substr(1) + "Plugin";
10779                ua(a, {
10780                    parser: function (a, c, d, e, f, g, j) {
10781                        var k = h.com.greensock.plugins[b];
10782                        return k ? (k._cssRegister(), i[d].parse(a, c, d, e, f, g, j)) : (S("Error: " + b + " js file not loaded."), f)
10783                    }
10784                })
10785            }
10786        };
10787        j = ta.prototype, j.parseComplex = function (a, b, c, d, e, f) {
10788            var g, h, i, j, k, l, m = this.keyword;
10789            if (this.multi && (G.test(c) || G.test(b) ? (h = b.replace(G, "|").split("|"), i = c.replace(G, "|").split("|")) : m && (h = [b], i = [c])), i) {
10790                for (j = i.length > h.length ? i.length : h.length, g = 0; j > g; g++) b = h[g] = h[g] || this.dflt, c = i[g] = i[g] || this.dflt, m && (k = b.indexOf(m), l = c.indexOf(m), k !== l && (-1 === l ? h[g] = h[g].split(m).join("") : -1 === k && (h[g] += " " + m)));
10791                b = h.join(", "), c = i.join(", ")
10792            }
10793            return ra(a, this.p, b, c, this.clrs, this.dflt, d, this.pr, e, f)
10794        }, j.parse = function (a, b, c, d, f, g, h) {
10795            return this.parseComplex(a.style, this.format(X(a, this.p, e, !1, this.dflt)), this.format(b), f, g)
10796        }, g.registerSpecialProp = function (a, b, c) {
10797            ua(a, {
10798                parser: function (a, d, e, f, g, h, i) {
10799                    var j = new pa(a, e, 0, 0, g, 2, e, !1, c);
10800                    return j.plugin = h, j.setRatio = b(a, d, f._tween, e), j
10801                }, priority: c
10802            })
10803        }, g.useSVGTransformAttr = m || n;
10804        var wa,
10805            xa = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),
10806            ya = V("transform"), za = T + "transform", Aa = V("transformOrigin"), Ba = null !== V("perspective"),
10807            Ca = O.Transform = function () {
10808                this.perspective = parseFloat(g.defaultTransformPerspective) || 0, this.force3D = g.defaultForce3D !== !1 && Ba ? g.defaultForce3D || "auto" : !1
10809            }, Da = window.SVGElement, Ea = function (a, b, c) {
10810                var d, e = K.createElementNS("http://www.w3.org/2000/svg", a), f = /([a-z])([A-Z])/g;
10811                for (d in c) e.setAttributeNS(null, d.replace(f, "$1-$2").toLowerCase(), c[d]);
10812                return b.appendChild(e), e
10813            }, Fa = K.documentElement, Ga = function () {
10814                var a, b, c, d = p || /Android/i.test(P) && !window.chrome;
10815                return K.createElementNS && !d && (a = Ea("svg", Fa), b = Ea("rect", a, {
10816                    width: 100,
10817                    height: 50,
10818                    x: 100
10819                }), c = b.getBoundingClientRect().width, b.style[Aa] = "50% 50%", b.style[ya] = "scaleX(0.5)", d = c === b.getBoundingClientRect().width && !(n && Ba), Fa.removeChild(a)), d
10820            }(), Ha = function (a, b, c, d, e) {
10821                var f, h, i, j, k, l, m, n, o, p, q, r, s, t, u = a._gsTransform, v = Ka(a, !0);
10822                u && (s = u.xOrigin, t = u.yOrigin), (!d || (f = d.split(" ")).length < 2) && (m = a.getBBox(), b = da(b).split(" "), f = [(-1 !== b[0].indexOf("%") ? parseFloat(b[0]) / 100 * m.width : parseFloat(b[0])) + m.x, (-1 !== b[1].indexOf("%") ? parseFloat(b[1]) / 100 * m.height : parseFloat(b[1])) + m.y]), c.xOrigin = j = parseFloat(f[0]), c.yOrigin = k = parseFloat(f[1]), d && v !== Ja && (l = v[0], m = v[1], n = v[2], o = v[3], p = v[4], q = v[5], r = l * o - m * n, h = j * (o / r) + k * (-n / r) + (n * q - o * p) / r, i = j * (-m / r) + k * (l / r) - (l * q - m * p) / r, j = c.xOrigin = f[0] = h, k = c.yOrigin = f[1] = i), u && (e || e !== !1 && g.defaultSmoothOrigin !== !1 ? (h = j - s,
10823                    i = k - t, u.xOffset += h * v[0] + i * v[2] - h, u.yOffset += h * v[1] + i * v[3] - i) : u.xOffset = u.yOffset = 0), a.setAttribute("data-svg-origin", f.join(" "))
10824            }, Ia = function (a) {
10825                return !!(Da && "function" == typeof a.getBBox && a.getCTM && (!a.parentNode || a.parentNode.getBBox && a.parentNode.getCTM))
10826            }, Ja = [1, 0, 0, 1, 0, 0], Ka = function (a, b) {
10827                var c, d, e, f, g, h = a._gsTransform || new Ca, i = 1e5;
10828                if (ya ? d = X(a, za, null, !0) : a.currentStyle && (d = a.currentStyle.filter.match(E), d = d && 4 === d.length ? [d[0].substr(4), Number(d[2].substr(4)), Number(d[1].substr(4)), d[3].substr(4), h.x || 0, h.y || 0].join(",") : ""), c = !d || "none" === d || "matrix(1, 0, 0, 1, 0, 0)" === d, (h.svg || a.getBBox && Ia(a)) && (c && -1 !== (a.style[ya] + "").indexOf("matrix") && (d = a.style[ya], c = 0), e = a.getAttribute("transform"), c && e && (-1 !== e.indexOf("matrix") ? (d = e, c = 0) : -1 !== e.indexOf("translate") && (d = "matrix(1,0,0,1," + e.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",") + ")", c = 0))), c) return Ja;
10829                for (e = (d || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [], sa = e.length; --sa > -1;) f = Number(e[sa]), e[sa] = (g = f - (f |= 0)) ? (g * i + (0 > g ? -.5 : .5) | 0) / i + f : f;
10830                return b && e.length > 6 ? [e[0], e[1], e[4], e[5], e[12], e[13]] : e
10831            }, La = O.getTransform = function (a, c, d, f) {
10832                if (a._gsTransform && d && !f) return a._gsTransform;
10833                var h, i, j, k, l, m, n = d ? a._gsTransform || new Ca : new Ca, o = n.scaleX < 0, p = 2e-5, q = 1e5,
10834                    r = Ba ? parseFloat(X(a, Aa, c, !1, "0 0 0").split(" ")[2]) || n.zOrigin || 0 : 0,
10835                    s = parseFloat(g.defaultTransformPerspective) || 0;
10836                if (n.svg = !(!a.getBBox || !Ia(a)), n.svg && (Ha(a, X(a, Aa, e, !1, "50% 50%") + "", n, a.getAttribute("data-svg-origin")), wa = g.useSVGTransformAttr || Ga), h = Ka(a), h !== Ja) {
10837                    if (16 === h.length) {
10838                        var t, u, v, w, x, y = h[0], z = h[1], A = h[2], B = h[3], C = h[4], D = h[5], E = h[6], F = h[7],
10839                            G = h[8], H = h[9], J = h[10], K = h[12], L = h[13], M = h[14], N = h[11], O = Math.atan2(E, J);
10840                        n.zOrigin && (M = -n.zOrigin, K = G * M - h[12], L = H * M - h[13], M = J * M + n.zOrigin - h[14]), n.rotationX = O * I, O && (w = Math.cos(-O), x = Math.sin(-O), t = C * w + G * x, u = D * w + H * x, v = E * w + J * x, G = C * -x + G * w, H = D * -x + H * w, J = E * -x + J * w, N = F * -x + N * w, C = t, D = u, E = v), O = Math.atan2(-A, J), n.rotationY = O * I, O && (w = Math.cos(-O), x = Math.sin(-O), t = y * w - G * x, u = z * w - H * x, v = A * w - J * x, H = z * x + H * w, J = A * x + J * w, N = B * x + N * w, y = t, z = u, A = v), O = Math.atan2(z, y), n.rotation = O * I, O && (w = Math.cos(-O), x = Math.sin(-O), y = y * w + C * x, u = z * w + D * x, D = z * -x + D * w, E = A * -x + E * w, z = u), n.rotationX && Math.abs(n.rotationX) + Math.abs(n.rotation) > 359.9 && (n.rotationX = n.rotation = 0, n.rotationY = 180 - n.rotationY), n.scaleX = (Math.sqrt(y * y + z * z) * q + .5 | 0) / q, n.scaleY = (Math.sqrt(D * D + H * H) * q + .5 | 0) / q, n.scaleZ = (Math.sqrt(E * E + J * J) * q + .5 | 0) / q, n.skewX = 0, n.perspective = N ? 1 / (0 > N ? -N : N) : 0, n.x = K, n.y = L, n.z = M, n.svg && (n.x -= n.xOrigin - (n.xOrigin * y - n.yOrigin * C), n.y -= n.yOrigin - (n.yOrigin * z - n.xOrigin * D))
10841                    } else if ((!Ba || f || !h.length || n.x !== h[4] || n.y !== h[5] || !n.rotationX && !n.rotationY) && (void 0 === n.x || "none" !== X(a, "display", c))) {
10842                        var P = h.length >= 6, Q = P ? h[0] : 1, R = h[1] || 0, S = h[2] || 0, T = P ? h[3] : 1;
10843                        n.x = h[4] || 0, n.y = h[5] || 0, j = Math.sqrt(Q * Q + R * R), k = Math.sqrt(T * T + S * S), l = Q || R ? Math.atan2(R, Q) * I : n.rotation || 0, m = S || T ? Math.atan2(S, T) * I + l : n.skewX || 0, Math.abs(m) > 90 && Math.abs(m) < 270 && (o ? (j *= -1, m += 0 >= l ? 180 : -180, l += 0 >= l ? 180 : -180) : (k *= -1, m += 0 >= m ? 180 : -180)), n.scaleX = j, n.scaleY = k, n.rotation = l, n.skewX = m, Ba && (n.rotationX = n.rotationY = n.z = 0, n.perspective = s, n.scaleZ = 1), n.svg && (n.x -= n.xOrigin - (n.xOrigin * Q + n.yOrigin * S), n.y -= n.yOrigin - (n.xOrigin * R + n.yOrigin * T))
10844                    }
10845                    n.zOrigin = r;
10846                    for (i in n) n[i] < p && n[i] > -p && (n[i] = 0)
10847                }
10848                return d && (a._gsTransform = n, n.svg && (wa && a.style[ya] ? b.delayedCall(.001, function () {
10849                    Pa(a.style, ya)
10850                }) : !wa && a.getAttribute("transform") && b.delayedCall(.001, function () {
10851                    a.removeAttribute("transform")
10852                }))), n
10853            }, Ma = function (a) {
10854                var b, c, d = this.data, e = -d.rotation * H, f = e + d.skewX * H, g = 1e5,
10855                    h = (Math.cos(e) * d.scaleX * g | 0) / g, i = (Math.sin(e) * d.scaleX * g | 0) / g,
10856                    j = (Math.sin(f) * -d.scaleY * g | 0) / g, k = (Math.cos(f) * d.scaleY * g | 0) / g, l = this.t.style,
10857                    m = this.t.currentStyle;
10858                if (m) {
10859                    c = i, i = -j, j = -c, b = m.filter, l.filter = "";
10860                    var n, o, q = this.t.offsetWidth, r = this.t.offsetHeight, s = "absolute" !== m.position,
10861                        t = "progid:DXImageTransform.Microsoft.Matrix(M11=" + h + ", M12=" + i + ", M21=" + j + ", M22=" + k,
10862                        w = d.x + q * d.xPercent / 100, x = d.y + r * d.yPercent / 100;
10863                    if (null != d.ox && (n = (d.oxp ? q * d.ox * .01 : d.ox) - q / 2, o = (d.oyp ? r * d.oy * .01 : d.oy) - r / 2, w += n - (n * h + o * i), x += o - (n * j + o * k)), s ? (n = q / 2, o = r / 2, t += ", Dx=" + (n - (n * h + o * i) + w) + ", Dy=" + (o - (n * j + o * k) + x) + ")") : t += ", sizingMethod='auto expand')", -1 !== b.indexOf("DXImageTransform.Microsoft.Matrix(") ? l.filter = b.replace(F, t) : l.filter = t + " " + b, (0 === a || 1 === a) && 1 === h && 0 === i && 0 === j && 1 === k && (s && -1 === t.indexOf("Dx=0, Dy=0") || v.test(b) && 100 !== parseFloat(RegExp.$1) || -1 === b.indexOf(b.indexOf("Alpha")) && l.removeAttribute("filter")), !s) {
10864                        var y, z, A, B = 8 > p ? 1 : -1;
10865                        for (n = d.ieOffsetX || 0, o = d.ieOffsetY || 0, d.ieOffsetX = Math.round((q - ((0 > h ? -h : h) * q + (0 > i ? -i : i) * r)) / 2 + w), d.ieOffsetY = Math.round((r - ((0 > k ? -k : k) * r + (0 > j ? -j : j) * q)) / 2 + x), sa = 0; 4 > sa; sa++) z = ba[sa], y = m[z], c = -1 !== y.indexOf("px") ? parseFloat(y) : Y(this.t, z, parseFloat(y), y.replace(u, "")) || 0, A = c !== d[z] ? 2 > sa ? -d.ieOffsetX : -d.ieOffsetY : 2 > sa ? n - d.ieOffsetX : o - d.ieOffsetY, l[z] = (d[z] = Math.round(c - A * (0 === sa || 2 === sa ? 1 : B))) + "px"
10866                    }
10867                }
10868            }, Na = O.set3DTransformRatio = O.setTransformRatio = function (a) {
10869                var b, c, d, e, f, g, h, i, j, k, l, m, o, p, q, r, s, t, u, v, w, x, y, z = this.data, A = this.t.style,
10870                    B = z.rotation, C = z.rotationX, D = z.rotationY, E = z.scaleX, F = z.scaleY, G = z.scaleZ, I = z.x,
10871                    J = z.y, K = z.z, L = z.svg, M = z.perspective, N = z.force3D;
10872                if (((1 === a || 0 === a) && "auto" === N && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime) || !N) && !K && !M && !D && !C && 1 === G || wa && L || !Ba) return void (B || z.skewX || L ? (B *= H, x = z.skewX * H, y = 1e5, b = Math.cos(B) * E, e = Math.sin(B) * E, c = Math.sin(B - x) * -F, f = Math.cos(B - x) * F, x && "simple" === z.skewType && (s = Math.tan(x), s = Math.sqrt(1 + s * s), c *= s, f *= s, z.skewY && (b *= s, e *= s)), L && (I += z.xOrigin - (z.xOrigin * b + z.yOrigin * c) + z.xOffset, J += z.yOrigin - (z.xOrigin * e + z.yOrigin * f) + z.yOffset, wa && (z.xPercent || z.yPercent) && (p = this.t.getBBox(), I += .01 * z.xPercent * p.width, J += .01 * z.yPercent * p.height), p = 1e-6, p > I && I > -p && (I = 0), p > J && J > -p && (J = 0)), u = (b * y | 0) / y + "," + (e * y | 0) / y + "," + (c * y | 0) / y + "," + (f * y | 0) / y + "," + I + "," + J + ")", L && wa ? this.t.setAttribute("transform", "matrix(" + u) : A[ya] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + u) : A[ya] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + E + ",0,0," + F + "," + I + "," + J + ")");
10873                if (n && (p = 1e-4, p > E && E > -p && (E = G = 2e-5), p > F && F > -p && (F = G = 2e-5), !M || z.z || z.rotationX || z.rotationY || (M = 0)), B || z.skewX) B *= H, q = b = Math.cos(B), r = e = Math.sin(B), z.skewX && (B -= z.skewX * H, q = Math.cos(B), r = Math.sin(B), "simple" === z.skewType && (s = Math.tan(z.skewX * H), s = Math.sqrt(1 + s * s), q *= s, r *= s, z.skewY && (b *= s, e *= s))), c = -r, f = q; else {
10874                    if (!(D || C || 1 !== G || M || L)) return void (A[ya] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) translate3d(" : "translate3d(") + I + "px," + J + "px," + K + "px)" + (1 !== E || 1 !== F ? " scale(" + E + "," + F + ")" : ""));
10875                    b = f = 1, c = e = 0
10876                }
10877                j = 1, d = g = h = i = k = l = 0, m = M ? -1 / M : 0, o = z.zOrigin, p = 1e-6, v = ",", w = "0", B = D * H, B && (q = Math.cos(B), r = Math.sin(B), h = -r, k = m * -r, d = b * r, g = e * r, j = q, m *= q, b *= q, e *= q), B = C * H, B && (q = Math.cos(B), r = Math.sin(B), s = c * q + d * r, t = f * q + g * r, i = j * r, l = m * r, d = c * -r + d * q, g = f * -r + g * q, j *= q, m *= q, c = s, f = t), 1 !== G && (d *= G, g *= G, j *= G, m *= G), 1 !== F && (c *= F, f *= F, i *= F, l *= F), 1 !== E && (b *= E, e *= E, h *= E, k *= E), (o || L) && (o && (I += d * -o, J += g * -o, K += j * -o + o), L && (I += z.xOrigin - (z.xOrigin * b + z.yOrigin * c) + z.xOffset, J += z.yOrigin - (z.xOrigin * e + z.yOrigin * f) + z.yOffset), p > I && I > -p && (I = w), p > J && J > -p && (J = w), p > K && K > -p && (K = 0)), u = z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix3d(" : "matrix3d(", u += (p > b && b > -p ? w : b) + v + (p > e && e > -p ? w : e) + v + (p > h && h > -p ? w : h), u += v + (p > k && k > -p ? w : k) + v + (p > c && c > -p ? w : c) + v + (p > f && f > -p ? w : f), C || D || 1 !== G ? (u += v + (p > i && i > -p ? w : i) + v + (p > l && l > -p ? w : l) + v + (p > d && d > -p ? w : d), u += v + (p > g && g > -p ? w : g) + v + (p > j && j > -p ? w : j) + v + (p > m && m > -p ? w : m) + v) : u += ",0,0,0,0,1,0,", u += I + v + J + v + K + v + (M ? 1 + -K / M : 1) + ")", A[ya] = u
10878            };
10879        j = Ca.prototype, j.x = j.y = j.z = j.skewX = j.skewY = j.rotation = j.rotationX = j.rotationY = j.zOrigin = j.xPercent = j.yPercent = j.xOffset = j.yOffset = 0, j.scaleX = j.scaleY = j.scaleZ = 1, ua("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {
10880            parser: function (a, b, c, d, f, h, i) {
10881                if (d._lastParsedTransform === i) return f;
10882                d._lastParsedTransform = i;
10883                var j, k, l, m, n, o, p, q, r, s, t = a._gsTransform, u = a.style, v = 1e-6, w = xa.length, x = i,
10884                    y = {}, z = "transformOrigin";
10885                if (i.display ? (m = X(a, "display"), u.display = "block", j = La(a, e, !0, i.parseTransform), u.display = m) : j = La(a, e, !0, i.parseTransform), d._transform = j, "string" == typeof x.transform && ya) m = M.style, m[ya] = x.transform, m.display = "block", m.position = "absolute", K.body.appendChild(M), k = La(M, null, !1), K.body.removeChild(M), k.perspective || (k.perspective = j.perspective), null != x.xPercent && (k.xPercent = fa(x.xPercent, j.xPercent)), null != x.yPercent && (k.yPercent = fa(x.yPercent, j.yPercent)); else if ("object" == typeof x) {
10886                    if (k = {
10887                        scaleX: fa(null != x.scaleX ? x.scaleX : x.scale, j.scaleX),
10888                        scaleY: fa(null != x.scaleY ? x.scaleY : x.scale, j.scaleY),
10889                        scaleZ: fa(x.scaleZ, j.scaleZ),
10890                        x: fa(x.x, j.x),
10891                        y: fa(x.y, j.y),
10892                        z: fa(x.z, j.z),
10893                        xPercent: fa(x.xPercent, j.xPercent),
10894                        yPercent: fa(x.yPercent, j.yPercent),
10895                        perspective: fa(x.transformPerspective, j.perspective)
10896                    }, q = x.directionalRotation, null != q) if ("object" == typeof q) for (m in q) x[m] = q[m]; else x.rotation = q;
10897                    "string" == typeof x.x && -1 !== x.x.indexOf("%") && (k.x = 0, k.xPercent = fa(x.x, j.xPercent)), "string" == typeof x.y && -1 !== x.y.indexOf("%") && (k.y = 0, k.yPercent = fa(x.y, j.yPercent)), k.rotation = ga("rotation" in x ? x.rotation : "shortRotation" in x ? x.shortRotation + "_short" : "rotationZ" in x ? x.rotationZ : j.rotation, j.rotation, "rotation", y), Ba && (k.rotationX = ga("rotationX" in x ? x.rotationX : "shortRotationX" in x ? x.shortRotationX + "_short" : j.rotationX || 0, j.rotationX, "rotationX", y), k.rotationY = ga("rotationY" in x ? x.rotationY : "shortRotationY" in x ? x.shortRotationY + "_short" : j.rotationY || 0, j.rotationY, "rotationY", y)), k.skewX = null == x.skewX ? j.skewX : ga(x.skewX, j.skewX), k.skewY = null == x.skewY ? j.skewY : ga(x.skewY, j.skewY), (l = k.skewY - j.skewY) && (k.skewX += l, k.rotation += l)
10898                }
10899                for (Ba && null != x.force3D && (j.force3D = x.force3D, p = !0), j.skewType = x.skewType || j.skewType || g.defaultSkewType, o = j.force3D || j.z || j.rotationX || j.rotationY || k.z || k.rotationX || k.rotationY || k.perspective, o || null == x.scale || (k.scaleZ = 1); --w > -1;) c = xa[w], n = k[c] - j[c], (n > v || -v > n || null != x[c] || null != J[c]) && (p = !0, f = new pa(j, c, j[c], n, f), c in y && (f.e = y[c]), f.xs0 = 0, f.plugin = h, d._overwriteProps.push(f.n));
10900                return n = x.transformOrigin, j.svg && (n || x.svgOrigin) && (r = j.xOffset, s = j.yOffset, Ha(a, da(n), k, x.svgOrigin, x.smoothOrigin), f = qa(j, "xOrigin", (t ? j : k).xOrigin, k.xOrigin, f, z), f = qa(j, "yOrigin", (t ? j : k).yOrigin, k.yOrigin, f, z), (r !== j.xOffset || s !== j.yOffset) && (f = qa(j, "xOffset", t ? r : j.xOffset, j.xOffset, f, z), f = qa(j, "yOffset", t ? s : j.yOffset, j.yOffset, f, z)), n = wa ? null : "0px 0px"), (n || Ba && o && j.zOrigin) && (ya ? (p = !0, c = Aa, n = (n || X(a, c, e, !1, "50% 50%")) + "", f = new pa(u, c, 0, 0, f, -1, z), f.b = u[c], f.plugin = h, Ba ? (m = j.zOrigin, n = n.split(" "), j.zOrigin = (n.length > 2 && (0 === m || "0px" !== n[2]) ? parseFloat(n[2]) : m) || 0, f.xs0 = f.e = n[0] + " " + (n[1] || "50%") + " 0px", f = new pa(j, "zOrigin", 0, 0, f, -1, f.n), f.b = m, f.xs0 = f.e = j.zOrigin) : f.xs0 = f.e = n) : da(n + "", j)), p && (d._transformType = j.svg && wa || !o && 3 !== this._transformType ? 2 : 3), f
10901            }, prefix: !0
10902        }), ua("boxShadow", {
10903            defaultValue: "0px 0px 0px 0px #999",
10904            prefix: !0,
10905            color: !0,
10906            multi: !0,
10907            keyword: "inset"
10908        }), ua("borderRadius", {
10909            defaultValue: "0px", parser: function (a, b, c, f, g, h) {
10910                b = this.format(b);
10911                var i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x,
10912                    y = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"],
10913                    z = a.style;
10914                for (q = parseFloat(a.offsetWidth), r = parseFloat(a.offsetHeight), i = b.split(" "), j = 0; j < y.length; j++) this.p.indexOf("border") && (y[j] = V(y[j])), m = l = X(a, y[j], e, !1, "0px"), -1 !== m.indexOf(" ") && (l = m.split(" "), m = l[0], l = l[1]), n = k = i[j], o = parseFloat(m), t = m.substr((o + "").length), u = "=" === n.charAt(1), u ? (p = parseInt(n.charAt(0) + "1", 10), n = n.substr(2), p *= parseFloat(n), s = n.substr((p + "").length - (0 > p ? 1 : 0)) || "") : (p = parseFloat(n), s = n.substr((p + "").length)), "" === s && (s = d[c] || t), s !== t && (v = Y(a, "borderLeft", o, t), w = Y(a, "borderTop", o, t), "%" === s ? (m = v / q * 100 + "%", l = w / r * 100 + "%") : "em" === s ? (x = Y(a, "borderLeft", 1, "em"), m = v / x + "em", l = w / x + "em") : (m = v + "px", l = w + "px"), u && (n = parseFloat(m) + p + s, k = parseFloat(l) + p + s)), g = ra(z, y[j], m + " " + l, n + " " + k, !1, "0px", g);
10915                return g
10916            }, prefix: !0, formatter: ma("0px 0px 0px 0px", !1, !0)
10917        }), ua("backgroundPosition", {
10918            defaultValue: "0 0", parser: function (a, b, c, d, f, g) {
10919                var h, i, j, k, l, m, n = "background-position", o = e || W(a, null),
10920                    q = this.format((o ? p ? o.getPropertyValue(n + "-x") + " " + o.getPropertyValue(n + "-y") : o.getPropertyValue(n) : a.currentStyle.backgroundPositionX + " " + a.currentStyle.backgroundPositionY) || "0 0"),
10921                    r = this.format(b);
10922                if (-1 !== q.indexOf("%") != (-1 !== r.indexOf("%")) && (m = X(a, "backgroundImage").replace(B, ""), m && "none" !== m)) {
10923                    for (h = q.split(" "), i = r.split(" "), N.setAttribute("src", m), j = 2; --j > -1;) q = h[j], k = -1 !== q.indexOf("%"), k !== (-1 !== i[j].indexOf("%")) && (l = 0 === j ? a.offsetWidth - N.width : a.offsetHeight - N.height, h[j] = k ? parseFloat(q) / 100 * l + "px" : parseFloat(q) / l * 100 + "%");
10924                    q = h.join(" ")
10925                }
10926                return this.parseComplex(a.style, q, r, f, g)
10927            }, formatter: da
10928        }), ua("backgroundSize", {defaultValue: "0 0", formatter: da}), ua("perspective", {
10929            defaultValue: "0px",
10930            prefix: !0
10931        }), ua("perspectiveOrigin", {
10932            defaultValue: "50% 50%",
10933            prefix: !0
10934        }), ua("transformStyle", {prefix: !0}), ua("backfaceVisibility", {prefix: !0}), ua("userSelect", {prefix: !0}), ua("margin", {parser: na("marginTop,marginRight,marginBottom,marginLeft")}), ua("padding", {parser: na("paddingTop,paddingRight,paddingBottom,paddingLeft")}), ua("clip", {
10935            defaultValue: "rect(0px,0px,0px,0px)",
10936            parser: function (a, b, c, d, f, g) {
10937                var h, i, j;
10938                return 9 > p ? (i = a.currentStyle, j = 8 > p ? " " : ",", h = "rect(" + i.clipTop + j + i.clipRight + j + i.clipBottom + j + i.clipLeft + ")", b = this.format(b).split(",").join(j)) : (h = this.format(X(a, this.p, e, !1, this.dflt)), b = this.format(b)), this.parseComplex(a.style, h, b, f, g)
10939            }
10940        }), ua("textShadow", {
10941            defaultValue: "0px 0px 0px #999",
10942            color: !0,
10943            multi: !0
10944        }), ua("autoRound,strictUnits", {
10945            parser: function (a, b, c, d, e) {
10946                return e
10947            }
10948        }), ua("border", {
10949            defaultValue: "0px solid #000", parser: function (a, b, c, d, f, g) {
10950                return this.parseComplex(a.style, this.format(X(a, "borderTopWidth", e, !1, "0px") + " " + X(a, "borderTopStyle", e, !1, "solid") + " " + X(a, "borderTopColor", e, !1, "#000")), this.format(b), f, g)
10951            }, color: !0, formatter: function (a) {
10952                var b = a.split(" ");
10953                return b[0] + " " + (b[1] || "solid") + " " + (a.match(la) || ["#000"])[0]
10954            }
10955        }), ua("borderWidth", {parser: na("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}), ua("float,cssFloat,styleFloat", {
10956            parser: function (a, b, c, d, e, f) {
10957                var g = a.style, h = "cssFloat" in g ? "cssFloat" : "styleFloat";
10958                return new pa(g, h, 0, 0, e, -1, c, !1, 0, g[h], b)
10959            }
10960        });
10961        var Oa = function (a) {
10962            var b, c = this.t, d = c.filter || X(this.data, "filter") || "", e = this.s + this.c * a | 0;
10963            100 === e && (-1 === d.indexOf("atrix(") && -1 === d.indexOf("radient(") && -1 === d.indexOf("oader(") ? (c.removeAttribute("filter"), b = !X(this.data, "filter")) : (c.filter = d.replace(x, ""), b = !0)), b || (this.xn1 && (c.filter = d = d || "alpha(opacity=" + e + ")"), -1 === d.indexOf("pacity") ? 0 === e && this.xn1 || (c.filter = d + " alpha(opacity=" + e + ")") : c.filter = d.replace(v, "opacity=" + e))
10964        };
10965        ua("opacity,alpha,autoAlpha", {
10966            defaultValue: "1", parser: function (a, b, c, d, f, g) {
10967                var h = parseFloat(X(a, "opacity", e, !1, "1")), i = a.style, j = "autoAlpha" === c;
10968                return "string" == typeof b && "=" === b.charAt(1) && (b = ("-" === b.charAt(0) ? -1 : 1) * parseFloat(b.substr(2)) + h), j && 1 === h && "hidden" === X(a, "visibility", e) && 0 !== b && (h = 0), Q ? f = new pa(i, "opacity", h, b - h, f) : (f = new pa(i, "opacity", 100 * h, 100 * (b - h), f), f.xn1 = j ? 1 : 0, i.zoom = 1, f.type = 2, f.b = "alpha(opacity=" + f.s + ")", f.e = "alpha(opacity=" + (f.s + f.c) + ")", f.data = a, f.plugin = g, f.setRatio = Oa), j && (f = new pa(i, "visibility", 0, 0, f, -1, null, !1, 0, 0 !== h ? "inherit" : "hidden", 0 === b ? "hidden" : "inherit"), f.xs0 = "inherit", d._overwriteProps.push(f.n), d._overwriteProps.push(c)), f
10969            }
10970        });
10971        var Pa = function (a, b) {
10972            b && (a.removeProperty ? (("ms" === b.substr(0, 2) || "webkit" === b.substr(0, 6)) && (b = "-" + b), a.removeProperty(b.replace(z, "-$1").toLowerCase())) : a.removeAttribute(b))
10973        }, Qa = function (a) {
10974            if (this.t._gsClassPT = this, 1 === a || 0 === a) {
10975                this.t.setAttribute("class", 0 === a ? this.b : this.e);
10976                for (var b = this.data, c = this.t.style; b;) b.v ? c[b.p] = b.v : Pa(c, b.p), b = b._next;
10977                1 === a && this.t._gsClassPT === this && (this.t._gsClassPT = null)
10978            } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e)
10979        };
10980        ua("className", {
10981            parser: function (a, b, d, f, g, h, i) {
10982                var j, k, l, m, n, o = a.getAttribute("class") || "", p = a.style.cssText;
10983                if (g = f._classNamePT = new pa(a, d, 0, 0, g, 2), g.setRatio = Qa, g.pr = -11, c = !0, g.b = o, k = $(a, e), l = a._gsClassPT) {
10984                    for (m = {}, n = l.data; n;) m[n.p] = 1, n = n._next;
10985                    l.setRatio(1)
10986                }
10987                return a._gsClassPT = g, g.e = "=" !== b.charAt(1) ? b : o.replace(new RegExp("\\s*\\b" + b.substr(2) + "\\b"), "") + ("+" === b.charAt(0) ? " " + b.substr(2) : ""), a.setAttribute("class", g.e), j = _(a, k, $(a), i, m), a.setAttribute("class", o), g.data = j.firstMPT, a.style.cssText = p, g = g.xfirst = f.parse(a, j.difs, g, h)
10988            }
10989        });
10990        var Ra = function (a) {
10991            if ((1 === a || 0 === a) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) {
10992                var b, c, d, e, f, g = this.t.style, h = i.transform.parse;
10993                if ("all" === this.e) g.cssText = "", e = !0; else for (b = this.e.split(" ").join("").split(","), d = b.length; --d > -1;) c = b[d], i[c] && (i[c].parse === h ? e = !0 : c = "transformOrigin" === c ? Aa : i[c].p), Pa(g, c);
10994                e && (Pa(g, ya), f = this.t._gsTransform, f && (f.svg && (this.t.removeAttribute("data-svg-origin"), this.t.removeAttribute("transform")), delete this.t._gsTransform))
10995            }
10996        };
10997        for (ua("clearProps", {
10998            parser: function (a, b, d, e, f) {
10999                return f = new pa(a, d, 0, 0, f, 2), f.setRatio = Ra, f.e = b, f.pr = -10, f.data = e._tween, c = !0, f
11000            }
11001        }), j = "bezier,throwProps,physicsProps,physics2D".split(","), sa = j.length; sa--;) va(j[sa]);
11002        j = g.prototype, j._firstPT = j._lastParsedTransform = j._transform = null, j._onInitTween = function (a, b, h) {
11003            if (!a.nodeType) return !1;
11004            this._target = a, this._tween = h, this._vars = b, k = b.autoRound, c = !1, d = b.suffixMap || g.suffixMap, e = W(a, ""), f = this._overwriteProps;
11005            var j, n, p, q, r, s, t, u, v, x = a.style;
11006            if (l && "" === x.zIndex && (j = X(a, "zIndex", e), ("auto" === j || "" === j) && this._addLazySet(x, "zIndex", 0)), "string" == typeof b && (q = x.cssText, j = $(a, e), x.cssText = q + ";" + b, j = _(a, j, $(a)).difs, !Q && w.test(b) && (j.opacity = parseFloat(RegExp.$1)), b = j, x.cssText = q), b.className ? this._firstPT = n = i.className.parse(a, b.className, "className", this, null, null, b) : this._firstPT = n = this.parse(a, b, null), this._transformType) {
11007                for (v = 3 === this._transformType, ya ? m && (l = !0, "" === x.zIndex && (t = X(a, "zIndex", e), ("auto" === t || "" === t) && this._addLazySet(x, "zIndex", 0)), o && this._addLazySet(x, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (v ? "visible" : "hidden"))) : x.zoom = 1, p = n; p && p._next;) p = p._next;
11008                u = new pa(a, "transform", 0, 0, null, 2), this._linkCSSP(u, null, p), u.setRatio = ya ? Na : Ma, u.data = this._transform || La(a, e, !0), u.tween = h, u.pr = -1, f.pop()
11009            }
11010            if (c) {
11011                for (; n;) {
11012                    for (s = n._next, p = q; p && p.pr > n.pr;) p = p._next;
11013                    (n._prev = p ? p._prev : r) ? n._prev._next = n : q = n, (n._next = p) ? p._prev = n : r = n, n = s
11014                }
11015                this._firstPT = q
11016            }
11017            return !0
11018        }, j.parse = function (a, b, c, f) {
11019            var g, h, j, l, m, n, o, p, q, r, s = a.style;
11020            for (g in b) n = b[g], h = i[g], h ? c = h.parse(a, n, g, this, c, f, b) : (m = X(a, g, e) + "", q = "string" == typeof n, "color" === g || "fill" === g || "stroke" === g || -1 !== g.indexOf("Color") || q && y.test(n) ? (q || (n = ja(n), n = (n.length > 3 ? "rgba(" : "rgb(") + n.join(",") + ")"), c = ra(s, g, m, n, !0, "transparent", c, 0, f)) : !q || -1 === n.indexOf(" ") && -1 === n.indexOf(",") ? (j = parseFloat(m), o = j || 0 === j ? m.substr((j + "").length) : "", ("" === m || "auto" === m) && ("width" === g || "height" === g ? (j = ca(a, g, e), o = "px") : "left" === g || "top" === g ? (j = Z(a, g, e), o = "px") : (j = "opacity" !== g ? 0 : 1, o = "")), r = q && "=" === n.charAt(1), r ? (l = parseInt(n.charAt(0) + "1", 10), n = n.substr(2), l *= parseFloat(n), p = n.replace(u, "")) : (l = parseFloat(n), p = q ? n.replace(u, "") : ""), "" === p && (p = g in d ? d[g] : o), n = l || 0 === l ? (r ? l + j : l) + p : b[g], o !== p && "" !== p && (l || 0 === l) && j && (j = Y(a, g, j, o), "%" === p ? (j /= Y(a, g, 100, "%") / 100, b.strictUnits !== !0 && (m = j + "%")) : "em" === p || "rem" === p || "vw" === p || "vh" === p ? j /= Y(a, g, 1, p) : "px" !== p && (l = Y(a, g, l, p), p = "px"), r && (l || 0 === l) && (n = l + j + p)), r && (l += j), !j && 0 !== j || !l && 0 !== l ? void 0 !== s[g] && (n || n + "" != "NaN" && null != n) ? (c = new pa(s, g, l || j || 0, 0, c, -1, g, !1, 0, m, n), c.xs0 = "none" !== n || "display" !== g && -1 === g.indexOf("Style") ? n : m) : S("invalid " + g + " tween value: " + b[g]) : (c = new pa(s, g, j, l - j, c, 0, g, k !== !1 && ("px" === p || "zIndex" === g), 0, m, n), c.xs0 = p)) : c = ra(s, g, m, n, !0, null, c, 0, f)), f && c && !c.plugin && (c.plugin = f);
11021            return c
11022        }, j.setRatio = function (a) {
11023            var b, c, d, e = this._firstPT, f = 1e-6;
11024            if (1 !== a || this._tween._time !== this._tween._duration && 0 !== this._tween._time) if (a || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6) for (; e;) {
11025                if (b = e.c * a + e.s, e.r ? b = Math.round(b) : f > b && b > -f && (b = 0), e.type) if (1 === e.type) if (d = e.l, 2 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2; else if (3 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3; else if (4 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4; else if (5 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4 + e.xn4 + e.xs5; else {
11026                    for (c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) c += e["xn" + d] + e["xs" + (d + 1)];
11027                    e.t[e.p] = c
11028                } else -1 === e.type ? e.t[e.p] = e.xs0 : e.setRatio && e.setRatio(a); else e.t[e.p] = b + e.xs0;
11029                e = e._next
11030            } else for (; e;) 2 !== e.type ? e.t[e.p] = e.b : e.setRatio(a), e = e._next; else for (; e;) {
11031                if (2 !== e.type) if (e.r && -1 !== e.type) if (b = Math.round(e.s + e.c), e.type) {
11032                    if (1 === e.type) {
11033                        for (d = e.l, c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) c += e["xn" + d] + e["xs" + (d + 1)];
11034                        e.t[e.p] = c
11035                    }
11036                } else e.t[e.p] = b + e.xs0; else e.t[e.p] = e.e; else e.setRatio(a);
11037                e = e._next
11038            }
11039        }, j._enableTransforms = function (a) {
11040            this._transform = this._transform || La(this._target, e, !0), this._transformType = this._transform.svg && wa || !a && 3 !== this._transformType ? 2 : 3
11041        };
11042        var Sa = function (a) {
11043            this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0)
11044        };
11045        j._addLazySet = function (a, b, c) {
11046            var d = this._firstPT = new pa(a, b, 0, 0, this._firstPT, 2);
11047            d.e = c, d.setRatio = Sa, d.data = this
11048        }, j._linkCSSP = function (a, b, c, d) {
11049            return a && (b && (b._prev = a), a._next && (a._next._prev = a._prev), a._prev ? a._prev._next = a._next : this._firstPT === a && (this._firstPT = a._next, d = !0), c ? c._next = a : d || null !== this._firstPT || (this._firstPT = a), a._next = b, a._prev = c), a
11050        }, j._kill = function (b) {
11051            var c, d, e, f = b;
11052            if (b.autoAlpha || b.alpha) {
11053                f = {};
11054                for (d in b) f[d] = b[d];
11055                f.opacity = 1, f.autoAlpha && (f.visibility = 1)
11056            }
11057            return b.className && (c = this._classNamePT) && (e = c.xfirst, e && e._prev ? this._linkCSSP(e._prev, c._next, e._prev._prev) : e === this._firstPT && (this._firstPT = c._next), c._next && this._linkCSSP(c._next, c._next._next, e._prev), this._classNamePT = null), a.prototype._kill.call(this, f)
11058        };
11059        var Ta = function (a, b, c) {
11060            var d, e, f, g;
11061            if (a.slice) for (e = a.length; --e > -1;) Ta(a[e], b, c); else for (d = a.childNodes, e = d.length; --e > -1;) f = d[e], g = f.type, f.style && (b.push($(f)), c && c.push(f)), 1 !== g && 9 !== g && 11 !== g || !f.childNodes.length || Ta(f, b, c)
11062        };
11063        return g.cascadeTo = function (a, c, d) {
11064            var e, f, g, h, i = b.to(a, c, d), j = [i], k = [], l = [], m = [], n = b._internals.reservedProps;
11065            for (a = i._targets || i.target, Ta(a, k, m), i.render(c, !0, !0), Ta(a, l), i.render(0, !0, !0), i._enabled(!0), e = m.length; --e > -1;) if (f = _(m[e], k[e], l[e]), f.firstMPT) {
11066                f = f.difs;
11067                for (g in d) n[g] && (f[g] = d[g]);
11068                h = {};
11069                for (g in f) h[g] = k[e][g];
11070                j.push(b.fromTo(m[e], c, h, f))
11071            }
11072            return j
11073        }, a.activate([g]), g
11074    }, !0), function () {
11075        var a = _gsScope._gsDefine.plugin({
11076            propName: "roundProps",
11077            version: "1.5",
11078            priority: -1,
11079            API: 2,
11080            init: function (a, b, c) {
11081                return this._tween = c, !0
11082            }
11083        }), b = function (a) {
11084            for (; a;) a.f || a.blob || (a.r = 1), a = a._next
11085        }, c = a.prototype;
11086        c._onInitAllProps = function () {
11087            for (var a, c, d, e = this._tween, f = e.vars.roundProps.join ? e.vars.roundProps : e.vars.roundProps.split(","), g = f.length, h = {}, i = e._propLookup.roundProps; --g > -1;) h[f[g]] = 1;
11088            for (g = f.length; --g > -1;) for (a = f[g], c = e._firstPT; c;) d = c._next, c.pg ? c.t._roundProps(h, !0) : c.n === a && (2 === c.f && c.t ? b(c.t._firstPT) : (this._add(c.t, a, c.s, c.c), d && (d._prev = c._prev), c._prev ? c._prev._next = d : e._firstPT === c && (e._firstPT = d), c._next = c._prev = null, e._propLookup[a] = i)), c = d;
11089            return !1
11090        }, c._add = function (a, b, c, d) {
11091            this._addTween(a, b, c, c + d, b, !0), this._overwriteProps.push(b)
11092        }
11093    }(), function () {
11094        _gsScope._gsDefine.plugin({
11095            propName: "attr", API: 2, version: "0.5.0", init: function (a, b, c) {
11096                var d;
11097                if ("function" != typeof a.setAttribute) return !1;
11098                for (d in b) this._addTween(a, "setAttribute", a.getAttribute(d) + "", b[d] + "", d, !1, d), this._overwriteProps.push(d);
11099                return !0
11100            }
11101        })
11102    }(), _gsScope._gsDefine.plugin({
11103        propName: "directionalRotation",
11104        version: "0.2.1",
11105        API: 2,
11106        init: function (a, b, c) {
11107            "object" != typeof b && (b = {rotation: b}), this.finals = {};
11108            var d, e, f, g, h, i, j = b.useRadians === !0 ? 2 * Math.PI : 360, k = 1e-6;
11109            for (d in b) "useRadians" !== d && (i = (b[d] + "").split("_"), e = i[0], f = parseFloat("function" != typeof a[d] ? a[d] : a[d.indexOf("set") || "function" != typeof a["get" + d.substr(3)] ? d : "get" + d.substr(3)]()), g = this.finals[d] = "string" == typeof e && "=" === e.charAt(1) ? f + parseInt(e.charAt(0) + "1", 10) * Number(e.substr(2)) : Number(e) || 0, h = g - f, i.length && (e = i.join("_"), -1 !== e.indexOf("short") && (h %= j, h !== h % (j / 2) && (h = 0 > h ? h + j : h - j)), -1 !== e.indexOf("_cw") && 0 > h ? h = (h + 9999999999 * j) % j - (h / j | 0) * j : -1 !== e.indexOf("ccw") && h > 0 && (h = (h - 9999999999 * j) % j - (h / j | 0) * j)), (h > k || -k > h) && (this._addTween(a, d, f, f + h, d), this._overwriteProps.push(d)));
11110            return !0
11111        },
11112        set: function (a) {
11113            var b;
11114            if (1 !== a) this._super.setRatio.call(this, a); else for (b = this._firstPT; b;) b.f ? b.t[b.p](this.finals[b.p]) : b.t[b.p] = this.finals[b.p], b = b._next
11115        }
11116    })._autoCSS = !0, _gsScope._gsDefine("easing.Back", ["easing.Ease"], function (a) {
11117        var b, c, d, e = _gsScope.GreenSockGlobals || _gsScope, f = e.com.greensock, g = 2 * Math.PI, h = Math.PI / 2,
11118            i = f._class, j = function (b, c) {
11119                var d = i("easing." + b, function () {
11120                }, !0), e = d.prototype = new a;
11121                return e.constructor = d, e.getRatio = c, d
11122            }, k = a.register || function () {
11123            }, l = function (a, b, c, d, e) {
11124                var f = i("easing." + a, {easeOut: new b, easeIn: new c, easeInOut: new d}, !0);
11125                return k(f, a), f
11126            }, m = function (a, b, c) {
11127                this.t = a, this.v = b, c && (this.next = c, c.prev = this, this.c = c.v - b, this.gap = c.t - a)
11128            }, n = function (b, c) {
11129                var d = i("easing." + b, function (a) {
11130                    this._p1 = a || 0 === a ? a : 1.70158, this._p2 = 1.525 * this._p1
11131                }, !0), e = d.prototype = new a;
11132                return e.constructor = d, e.getRatio = c, e.config = function (a) {
11133                    return new d(a)
11134                }, d
11135            }, o = l("Back", n("BackOut", function (a) {
11136                return (a -= 1) * a * ((this._p1 + 1) * a + this._p1) + 1
11137            }), n("BackIn", function (a) {
11138                return a * a * ((this._p1 + 1) * a - this._p1)
11139            }), n("BackInOut", function (a) {
11140                return (a *= 2) < 1 ? .5 * a * a * ((this._p2 + 1) * a - this._p2) : .5 * ((a -= 2) * a * ((this._p2 + 1) * a + this._p2) + 2)
11141            })), p = i("easing.SlowMo", function (a, b, c) {
11142                b = b || 0 === b ? b : .7, null == a ? a = .7 : a > 1 && (a = 1), this._p = 1 !== a ? b : 0, this._p1 = (1 - a) / 2, this._p2 = a, this._p3 = this._p1 + this._p2, this._calcEnd = c === !0
11143            }, !0), q = p.prototype = new a;
11144        return q.constructor = p, q.getRatio = function (a) {
11145            var b = a + (.5 - a) * this._p;
11146            return a < this._p1 ? this._calcEnd ? 1 - (a = 1 - a / this._p1) * a : b - (a = 1 - a / this._p1) * a * a * a * b : a > this._p3 ? this._calcEnd ? 1 - (a = (a - this._p3) / this._p1) * a : b + (a - b) * (a = (a - this._p3) / this._p1) * a * a * a : this._calcEnd ? 1 : b
11147        }, p.ease = new p(.7, .7), q.config = p.config = function (a, b, c) {
11148            return new p(a, b, c)
11149        }, b = i("easing.SteppedEase", function (a) {
11150            a = a || 1, this._p1 = 1 / a, this._p2 = a + 1
11151        }, !0), q = b.prototype = new a, q.constructor = b, q.getRatio = function (a) {
11152            return 0 > a ? a = 0 : a >= 1 && (a = .999999999), (this._p2 * a >> 0) * this._p1
11153        }, q.config = b.config = function (a) {
11154            return new b(a)
11155        }, c = i("easing.RoughEase", function (b) {
11156            b = b || {};
11157            for (var c, d, e, f, g, h, i = b.taper || "none", j = [], k = 0, l = 0 | (b.points || 20), n = l, o = b.randomize !== !1, p = b.clamp === !0, q = b.template instanceof a ? b.template : null, r = "number" == typeof b.strength ? .4 * b.strength : .4; --n > -1;) c = o ? Math.random() : 1 / l * n, d = q ? q.getRatio(c) : c, "none" === i ? e = r : "out" === i ? (f = 1 - c, e = f * f * r) : "in" === i ? e = c * c * r : .5 > c ? (f = 2 * c, e = f * f * .5 * r) : (f = 2 * (1 - c), e = f * f * .5 * r), o ? d += Math.random() * e - .5 * e : n % 2 ? d += .5 * e : d -= .5 * e, p && (d > 1 ? d = 1 : 0 > d && (d = 0)), j[k++] = {
11158                x: c,
11159                y: d
11160            };
11161            for (j.sort(function (a, b) {
11162                return a.x - b.x
11163            }), h = new m(1, 1, null), n = l; --n > -1;) g = j[n], h = new m(g.x, g.y, h);
11164            this._prev = new m(0, 0, 0 !== h.t ? h : h.next)
11165        }, !0), q = c.prototype = new a, q.constructor = c, q.getRatio = function (a) {
11166            var b = this._prev;
11167            if (a > b.t) {
11168                for (; b.next && a >= b.t;) b = b.next;
11169                b = b.prev
11170            } else for (; b.prev && a <= b.t;) b = b.prev;
vendor: 12,109 bytes, lines 11171-11346
11171            return this._prev = b, b.v + (a - b.t) / b.gap * b.c
11172        }, q.config = function (a) {
11173            return new c(a)
11174        }, c.ease = new c, l("Bounce", j("BounceOut", function (a) {
11175            return 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375
11176        }), j("BounceIn", function (a) {
11177            return (a = 1 - a) < 1 / 2.75 ? 1 - 7.5625 * a * a : 2 / 2.75 > a ? 1 - (7.5625 * (a -= 1.5 / 2.75) * a + .75) : 2.5 / 2.75 > a ? 1 - (7.5625 * (a -= 2.25 / 2.75) * a + .9375) : 1 - (7.5625 * (a -= 2.625 / 2.75) * a + .984375)
11178        }), j("BounceInOut", function (a) {
11179            var b = .5 > a;
11180            return a = b ? 1 - 2 * a : 2 * a - 1, a = 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375, b ? .5 * (1 - a) : .5 * a + .5
11181        })), l("Circ", j("CircOut", function (a) {
11182            return Math.sqrt(1 - (a -= 1) * a)
11183        }), j("CircIn", function (a) {
11184            return -(Math.sqrt(1 - a * a) - 1)
11185        }), j("CircInOut", function (a) {
11186            return (a *= 2) < 1 ? -.5 * (Math.sqrt(1 - a * a) - 1) : .5 * (Math.sqrt(1 - (a -= 2) * a) + 1)
11187        })), d = function (b, c, d) {
11188            var e = i("easing." + b, function (a, b) {
11189                this._p1 = a >= 1 ? a : 1, this._p2 = (b || d) / (1 > a ? a : 1), this._p3 = this._p2 / g * (Math.asin(1 / this._p1) || 0), this._p2 = g / this._p2
11190            }, !0), f = e.prototype = new a;
11191            return f.constructor = e, f.getRatio = c, f.config = function (a, b) {
11192                return new e(a, b)
11193            }, e
11194        }, l("Elastic", d("ElasticOut", function (a) {
11195            return this._p1 * Math.pow(2, -10 * a) * Math.sin((a - this._p3) * this._p2) + 1
11196        }, .3), d("ElasticIn", function (a) {
11197            return -(this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2))
11198        }, .3), d("ElasticInOut", function (a) {
11199            return (a *= 2) < 1 ? -.5 * (this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2) * .5 + 1
11200        }, .45)), l("Expo", j("ExpoOut", function (a) {
11201            return 1 - Math.pow(2, -10 * a)
11202        }), j("ExpoIn", function (a) {
11203            return Math.pow(2, 10 * (a - 1)) - .001
11204        }), j("ExpoInOut", function (a) {
11205            return (a *= 2) < 1 ? .5 * Math.pow(2, 10 * (a - 1)) : .5 * (2 - Math.pow(2, -10 * (a - 1)))
11206        })), l("Sine", j("SineOut", function (a) {
11207            return Math.sin(a * h)
11208        }), j("SineIn", function (a) {
11209            return -Math.cos(a * h) + 1
11210        }), j("SineInOut", function (a) {
11211            return -.5 * (Math.cos(Math.PI * a) - 1)
11212        })), i("easing.EaseLookup", {
11213            find: function (b) {
11214                return a.map[b]
11215            }
11216        }, !0), k(e.SlowMo, "SlowMo", "ease,"), k(c, "RoughEase", "ease,"), k(b, "SteppedEase", "ease,"), o
11217    }, !0)
11218}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function (a, b) {
11219    "use strict";
11220    var c = a.GreenSockGlobals = a.GreenSockGlobals || a;
11221    if (!c.TweenLite) {
11222        var d, e, f, g, h, i = function (a) {
11223            var b, d = a.split("."), e = c;
11224            for (b = 0; b < d.length; b++) e[d[b]] = e = e[d[b]] || {};
11225            return e
11226        }, j = i("com.greensock"), k = 1e-10, l = function (a) {
11227            var b, c = [], d = a.length;
11228            for (b = 0; b !== d; c.push(a[b++])) ;
11229            return c
11230        }, m = function () {
11231        }, n = function () {
11232            var a = Object.prototype.toString, b = a.call([]);
11233            return function (c) {
11234                return null != c && (c instanceof Array || "object" == typeof c && !!c.push && a.call(c) === b)
11235            }
11236        }(), o = {}, p = function (d, e, f, g) {
11237            this.sc = o[d] ? o[d].sc : [], o[d] = this, this.gsClass = null, this.func = f;
11238            var h = [];
11239            this.check = function (j) {
11240                for (var k, l, m, n, q, r = e.length, s = r; --r > -1;) (k = o[e[r]] || new p(e[r], [])).gsClass ? (h[r] = k.gsClass, s--) : j && k.sc.push(this);
11241                if (0 === s && f) for (l = ("com.greensock." + d).split("."), m = l.pop(), n = i(l.join("."))[m] = this.gsClass = f.apply(f, h), g && (c[m] = n, q = "undefined" != typeof module && module.exports, !q && "function" == typeof define && define.amd ? define((a.GreenSockAMDPath ? a.GreenSockAMDPath + "/" : "") + d.split(".").pop(), [], function () {
11242                    return n
11243                }) : d === b && q && (module.exports = n)), r = 0; r < this.sc.length; r++) this.sc[r].check()
11244            }, this.check(!0)
11245        }, q = a._gsDefine = function (a, b, c, d) {
11246            return new p(a, b, c, d)
11247        }, r = j._class = function (a, b, c) {
11248            return b = b || function () {
11249            }, q(a, [], function () {
11250                return b
11251            }, c), b
11252        };
11253        q.globals = c;
11254        var s = [0, 0, 1, 1], t = [], u = r("easing.Ease", function (a, b, c, d) {
11255            this._func = a, this._type = c || 0, this._power = d || 0, this._params = b ? s.concat(b) : s
11256        }, !0), v = u.map = {}, w = u.register = function (a, b, c, d) {
11257            for (var e, f, g, h, i = b.split(","), k = i.length, l = (c || "easeIn,easeOut,easeInOut").split(","); --k > -1;) for (f = i[k], e = d ? r("easing." + f, null, !0) : j.easing[f] || {}, g = l.length; --g > -1;) h = l[g], v[f + "." + h] = v[h + f] = e[h] = a.getRatio ? a : a[h] || new a
11258        };
11259        for (f = u.prototype, f._calcEnd = !1, f.getRatio = function (a) {
11260            if (this._func) return this._params[0] = a, this._func.apply(null, this._params);
11261            var b = this._type, c = this._power, d = 1 === b ? 1 - a : 2 === b ? a : .5 > a ? 2 * a : 2 * (1 - a);
11262            return 1 === c ? d *= d : 2 === c ? d *= d * d : 3 === c ? d *= d * d * d : 4 === c && (d *= d * d * d * d), 1 === b ? 1 - d : 2 === b ? d : .5 > a ? d / 2 : 1 - d / 2
11263        }, d = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], e = d.length; --e > -1;) f = d[e] + ",Power" + e, w(new u(null, null, 1, e), f, "easeOut", !0), w(new u(null, null, 2, e), f, "easeIn" + (0 === e ? ",easeNone" : "")), w(new u(null, null, 3, e), f, "easeInOut");
11264        v.linear = j.easing.Linear.easeIn, v.swing = j.easing.Quad.easeInOut;
11265        var x = r("events.EventDispatcher", function (a) {
11266            this._listeners = {}, this._eventTarget = a || this
11267        });
11268        f = x.prototype, f.addEventListener = function (a, b, c, d, e) {
11269            e = e || 0;
11270            var f, i, j = this._listeners[a], k = 0;
11271            for (null == j && (this._listeners[a] = j = []), i = j.length; --i > -1;) f = j[i], f.c === b && f.s === c ? j.splice(i, 1) : 0 === k && f.pr < e && (k = i + 1);
11272            j.splice(k, 0, {c: b, s: c, up: d, pr: e}), this !== g || h || g.wake()
11273        }, f.removeEventListener = function (a, b) {
11274            var c, d = this._listeners[a];
11275            if (d) for (c = d.length; --c > -1;) if (d[c].c === b) return void d.splice(c, 1)
11276        }, f.dispatchEvent = function (a) {
11277            var b, c, d, e = this._listeners[a];
11278            if (e) for (b = e.length, c = this._eventTarget; --b > -1;) d = e[b], d && (d.up ? d.c.call(d.s || c, {
11279                type: a,
11280                target: c
11281            }) : d.c.call(d.s || c))
11282        };
11283        var y = a.requestAnimationFrame, z = a.cancelAnimationFrame, A = Date.now || function () {
11284            return (new Date).getTime()
11285        }, B = A();
11286        for (d = ["ms", "moz", "webkit", "o"], e = d.length; --e > -1 && !y;) y = a[d[e] + "RequestAnimationFrame"], z = a[d[e] + "CancelAnimationFrame"] || a[d[e] + "CancelRequestAnimationFrame"];
11287        r("Ticker", function (a, b) {
11288            var c, d, e, f, i, j = this, l = A(), n = b !== !1 && y ? "auto" : !1, o = 500, p = 33, q = "tick",
11289                r = function (a) {
11290                    var b, g, h = A() - B;
11291                    h > o && (l += h - p), B += h, j.time = (B - l) / 1e3, b = j.time - i, (!c || b > 0 || a === !0) && (j.frame++, i += b + (b >= f ? .004 : f - b), g = !0), a !== !0 && (e = d(r)), g && j.dispatchEvent(q)
11292                };
11293            x.call(j), j.time = j.frame = 0, j.tick = function () {
11294                r(!0)
11295            }, j.lagSmoothing = function (a, b) {
11296                o = a || 1 / k, p = Math.min(b, o, 0)
11297            }, j.sleep = function () {
11298                null != e && (n && z ? z(e) : clearTimeout(e), d = m, e = null, j === g && (h = !1))
11299            }, j.wake = function (a) {
11300                null !== e ? j.sleep() : a ? l += -B + (B = A()) : j.frame > 10 && (B = A() - o + 5), d = 0 === c ? m : n && y ? y : function (a) {
11301                    return setTimeout(a, 1e3 * (i - j.time) + 1 | 0)
11302                }, j === g && (h = !0), r(2)
11303            }, j.fps = function (a) {
11304                return arguments.length ? (c = a, f = 1 / (c || 60), i = this.time + f, void j.wake()) : c
11305            }, j.useRAF = function (a) {
11306                return arguments.length ? (j.sleep(), n = a, void j.fps(c)) : n
11307            }, j.fps(a), setTimeout(function () {
11308                "auto" === n && j.frame < 5 && "hidden" !== document.visibilityState && j.useRAF(!1)
11309            }, 1500)
11310        }), f = j.Ticker.prototype = new j.events.EventDispatcher, f.constructor = j.Ticker;
11311        var C = r("core.Animation", function (a, b) {
11312            if (this.vars = b = b || {}, this._duration = this._totalDuration = a || 0, this._delay = Number(b.delay) || 0, this._timeScale = 1, this._active = b.immediateRender === !0, this.data = b.data, this._reversed = b.reversed === !0, V) {
11313                h || g.wake();
11314                var c = this.vars.useFrames ? U : V;
11315                c.add(this, c._time), this.vars.paused && this.paused(!0)
11316            }
11317        });
11318        g = C.ticker = new j.Ticker, f = C.prototype, f._dirty = f._gc = f._initted = f._paused = !1, f._totalTime = f._time = 0, f._rawPrevTime = -1, f._next = f._last = f._onUpdate = f._timeline = f.timeline = null, f._paused = !1;
11319        var D = function () {
11320            h && A() - B > 2e3 && g.wake(), setTimeout(D, 2e3)
11321        };
11322        D(), f.play = function (a, b) {
11323            return null != a && this.seek(a, b), this.reversed(!1).paused(!1)
11324        }, f.pause = function (a, b) {
11325            return null != a && this.seek(a, b), this.paused(!0)
11326        }, f.resume = function (a, b) {
11327            return null != a && this.seek(a, b), this.paused(!1)
11328        }, f.seek = function (a, b) {
11329            return this.totalTime(Number(a), b !== !1)
11330        }, f.restart = function (a, b) {
11331            return this.reversed(!1).paused(!1).totalTime(a ? -this._delay : 0, b !== !1, !0)
11332        }, f.reverse = function (a, b) {
11333            return null != a && this.seek(a || this.totalDuration(), b), this.reversed(!0).paused(!1)
11334        }, f.render = function (a, b, c) {
11335        }, f.invalidate = function () {
11336            return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this
11337        }, f.isActive = function () {
11338            var a, b = this._timeline, c = this._startTime;
11339            return !b || !this._gc && !this._paused && b.isActive() && (a = b.rawTime()) >= c && a < c + this.totalDuration() / this._timeScale
11340        }, f._enabled = function (a, b) {
11341            return h || g.wake(), this._gc = !a, this._active = this.isActive(), b !== !0 && (a && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !a && this.timeline && this._timeline._remove(this, !0)), !1
11342        }, f._kill = function (a, b) {
11343            return this._enabled(!1, !1)
11344        }, f.kill = function (a, b) {
11345            return this._kill(a, b), this
11346        }, f._uncache = function (a) {
vendor: 4,657 bytes, lines 11347-11402
11347            for (var b = a ? this : this.timeline; b;) b._dirty = !0, b = b.timeline;
11348            return this
11349        }, f._swapSelfInParams = function (a) {
11350            for (var b = a.length, c = a.concat(); --b > -1;) "{self}" === a[b] && (c[b] = this);
11351            return c
11352        }, f._callback = function (a) {
11353            var b = this.vars;
11354            b[a].apply(b[a + "Scope"] || b.callbackScope || this, b[a + "Params"] || t)
11355        }, f.eventCallback = function (a, b, c, d) {
11356            if ("on" === (a || "").substr(0, 2)) {
11357                var e = this.vars;
11358                if (1 === arguments.length) return e[a];
11359                null == b ? delete e[a] : (e[a] = b, e[a + "Params"] = n(c) && -1 !== c.join("").indexOf("{self}") ? this._swapSelfInParams(c) : c, e[a + "Scope"] = d), "onUpdate" === a && (this._onUpdate = b)
11360            }
11361            return this
11362        }, f.delay = function (a) {
11363            return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + a - this._delay), this._delay = a, this) : this._delay
11364        }, f.duration = function (a) {
11365            return arguments.length ? (this._duration = this._totalDuration = a, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== a && this.totalTime(this._totalTime * (a / this._duration), !0), this) : (this._dirty = !1, this._duration)
11366        }, f.totalDuration = function (a) {
11367            return this._dirty = !1, arguments.length ? this.duration(a) : this._totalDuration
11368        }, f.time = function (a, b) {
11369            return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(a > this._duration ? this._duration : a, b)) : this._time
11370        }, f.totalTime = function (a, b, c) {
11371            if (h || g.wake(), !arguments.length) return this._totalTime;
11372            if (this._timeline) {
11373                if (0 > a && !c && (a += this.totalDuration()), this._timeline.smoothChildTiming) {
11374                    this._dirty && this.totalDuration();
11375                    var d = this._totalDuration, e = this._timeline;
11376                    if (a > d && !c && (a = d), this._startTime = (this._paused ? this._pauseTime : e._time) - (this._reversed ? d - a : a) / this._timeScale, e._dirty || this._uncache(!1), e._timeline) for (; e._timeline;) e._timeline._time !== (e._startTime + e._totalTime) / e._timeScale && e.totalTime(e._totalTime, !0), e = e._timeline
11377                }
11378                this._gc && this._enabled(!0, !1), (this._totalTime !== a || 0 === this._duration) && (I.length && X(), this.render(a, b, !1), I.length && X())
11379            }
11380            return this
11381        }, f.progress = f.totalProgress = function (a, b) {
11382            var c = this.duration();
11383            return arguments.length ? this.totalTime(c * a, b) : c ? this._time / c : this.ratio
11384        }, f.startTime = function (a) {
11385            return arguments.length ? (a !== this._startTime && (this._startTime = a, this.timeline && this.timeline._sortChildren && this.timeline.add(this, a - this._delay)), this) : this._startTime
11386        }, f.endTime = function (a) {
11387            return this._startTime + (0 != a ? this.totalDuration() : this.duration()) / this._timeScale
11388        }, f.timeScale = function (a) {
11389            if (!arguments.length) return this._timeScale;
11390            if (a = a || k, this._timeline && this._timeline.smoothChildTiming) {
11391                var b = this._pauseTime, c = b || 0 === b ? b : this._timeline.totalTime();
11392                this._startTime = c - (c - this._startTime) * this._timeScale / a
11393            }
11394            return this._timeScale = a, this._uncache(!1)
11395        }, f.reversed = function (a) {
11396            return arguments.length ? (a != this._reversed && (this._reversed = a, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed
11397        }, f.paused = function (a) {
11398            if (!arguments.length) return this._paused;
11399            var b, c, d = this._timeline;
11400            return a != this._paused && d && (h || a || g.wake(), b = d.rawTime(), c = b - this._pauseTime, !a && d.smoothChildTiming && (this._startTime += c, this._uncache(!1)), this._pauseTime = a ? b : null, this._paused = a, this._active = this.isActive(), !a && 0 !== c && this._initted && this.duration() && (b = d.smoothChildTiming ? this._totalTime : (b - this._startTime) / this._timeScale, this.render(b, b === this._totalTime, !0))), this._gc && !a && this._enabled(!0, !1), this
11401        };
11402        var E = r("core.SimpleTimeline", function (a) {
vendor: 23,046 bytes, lines 11403-11681
11403            C.call(this, 0, a), this.autoRemoveChildren = this.smoothChildTiming = !0
11404        });
11405        f = E.prototype = new C, f.constructor = E, f.kill()._gc = !1, f._first = f._last = f._recent = null, f._sortChildren = !1, f.add = f.insert = function (a, b, c, d) {
11406            var e, f;
11407            if (a._startTime = Number(b || 0) + a._delay, a._paused && this !== a._timeline && (a._pauseTime = a._startTime + (this.rawTime() - a._startTime) / a._timeScale), a.timeline && a.timeline._remove(a, !0), a.timeline = a._timeline = this, a._gc && a._enabled(!0, !0), e = this._last, this._sortChildren) for (f = a._startTime; e && e._startTime > f;) e = e._prev;
11408            return e ? (a._next = e._next, e._next = a) : (a._next = this._first, this._first = a), a._next ? a._next._prev = a : this._last = a, a._prev = e, this._recent = a, this._timeline && this._uncache(!0), this
11409        }, f._remove = function (a, b) {
11410            return a.timeline === this && (b || a._enabled(!1, !0), a._prev ? a._prev._next = a._next : this._first === a && (this._first = a._next), a._next ? a._next._prev = a._prev : this._last === a && (this._last = a._prev), a._next = a._prev = a.timeline = null, a === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this
11411        }, f.render = function (a, b, c) {
11412            var d, e = this._first;
11413            for (this._totalTime = this._time = this._rawPrevTime = a; e;) d = e._next, (e._active || a >= e._startTime && !e._paused) && (e._reversed ? e.render((e._dirty ? e.totalDuration() : e._totalDuration) - (a - e._startTime) * e._timeScale, b, c) : e.render((a - e._startTime) * e._timeScale, b, c)), e = d
11414        }, f.rawTime = function () {
11415            return h || g.wake(), this._totalTime
11416        };
11417        var F = r("TweenLite", function (b, c, d) {
11418            if (C.call(this, c, d), this.render = F.prototype.render, null == b) throw"Cannot tween a null target.";
11419            this.target = b = "string" != typeof b ? b : F.selector(b) || b;
11420            var e, f, g,
11421                h = b.jquery || b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType),
11422                i = this.vars.overwrite;
11423            if (this._overwrite = i = null == i ? T[F.defaultOverwrite] : "number" == typeof i ? i >> 0 : T[i], (h || b instanceof Array || b.push && n(b)) && "number" != typeof b[0]) for (this._targets = g = l(b), this._propLookup = [], this._siblings = [], e = 0; e < g.length; e++) f = g[e], f ? "string" != typeof f ? f.length && f !== a && f[0] && (f[0] === a || f[0].nodeType && f[0].style && !f.nodeType) ? (g.splice(e--, 1), this._targets = g = g.concat(l(f))) : (this._siblings[e] = Y(f, this, !1), 1 === i && this._siblings[e].length > 1 && $(f, this, null, 1, this._siblings[e])) : (f = g[e--] = F.selector(f), "string" == typeof f && g.splice(e + 1, 1)) : g.splice(e--, 1); else this._propLookup = {}, this._siblings = Y(b, this, !1), 1 === i && this._siblings.length > 1 && $(b, this, null, 1, this._siblings);
11424            (this.vars.immediateRender || 0 === c && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -k, this.render(-this._delay))
11425        }, !0), G = function (b) {
11426            return b && b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType)
11427        }, H = function (a, b) {
11428            var c, d = {};
11429            for (c in a) S[c] || c in b && "transform" !== c && "x" !== c && "y" !== c && "width" !== c && "height" !== c && "className" !== c && "border" !== c || !(!P[c] || P[c] && P[c]._autoCSS) || (d[c] = a[c], delete a[c]);
11430            a.css = d
11431        };
11432        f = F.prototype = new C, f.constructor = F, f.kill()._gc = !1, f.ratio = 0, f._firstPT = f._targets = f._overwrittenProps = f._startAt = null, f._notifyPluginsOfEnabled = f._lazy = !1, F.version = "1.18.2", F.defaultEase = f._ease = new u(null, null, 1, 1), F.defaultOverwrite = "auto", F.ticker = g, F.autoSleep = 120, F.lagSmoothing = function (a, b) {
11433            g.lagSmoothing(a, b)
11434        }, F.selector = a.$ || a.jQuery || function (b) {
11435            var c = a.$ || a.jQuery;
11436            return c ? (F.selector = c, c(b)) : "undefined" == typeof document ? b : document.querySelectorAll ? document.querySelectorAll(b) : document.getElementById("#" === b.charAt(0) ? b.substr(1) : b)
11437        };
11438        var I = [], J = {}, K = /(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, L = function (a) {
11439                for (var b, c = this._firstPT, d = 1e-6; c;) b = c.blob ? a ? this.join("") : this.start : c.c * a + c.s, c.r ? b = Math.round(b) : d > b && b > -d && (b = 0), c.f ? c.fp ? c.t[c.p](c.fp, b) : c.t[c.p](b) : c.t[c.p] = b, c = c._next
11440            }, M = function (a, b, c, d) {
11441                var e, f, g, h, i, j, k, l = [a, b], m = 0, n = "", o = 0;
11442                for (l.start = a, c && (c(l), a = l[0], b = l[1]), l.length = 0, e = a.match(K) || [], f = b.match(K) || [], d && (d._next = null, d.blob = 1, l._firstPT = d), i = f.length, h = 0; i > h; h++) k = f[h], j = b.substr(m, b.indexOf(k, m) - m), n += j || !h ? j : ",", m += j.length, o ? o = (o + 1) % 5 : "rgba(" === j.substr(-5) && (o = 1), k === e[h] || e.length <= h ? n += k : (n && (l.push(n), n = ""), g = parseFloat(e[h]), l.push(g), l._firstPT = {
11443                    _next: l._firstPT,
11444                    t: l,
11445                    p: l.length - 1,
11446                    s: g,
11447                    c: ("=" === k.charAt(1) ? parseInt(k.charAt(0) + "1", 10) * parseFloat(k.substr(2)) : parseFloat(k) - g) || 0,
11448                    f: 0,
11449                    r: o && 4 > o
11450                }), m += k.length;
11451                return n += b.substr(m), n && l.push(n), l.setRatio = L, l
11452            }, N = function (a, b, c, d, e, f, g, h) {
11453                var i, j, k = "get" === c ? a[b] : c, l = typeof a[b], m = "string" == typeof d && "=" === d.charAt(1),
11454                    n = {
11455                        t: a,
11456                        p: b,
11457                        s: k,
11458                        f: "function" === l,
11459                        pg: 0,
11460                        n: e || b,
11461                        r: f,
11462                        pr: 0,
11463                        c: m ? parseInt(d.charAt(0) + "1", 10) * parseFloat(d.substr(2)) : parseFloat(d) - k || 0
11464                    };
11465                return "number" !== l && ("function" === l && "get" === c && (j = b.indexOf("set") || "function" != typeof a["get" + b.substr(3)] ? b : "get" + b.substr(3), n.s = k = g ? a[j](g) : a[j]()), "string" == typeof k && (g || isNaN(k)) ? (n.fp = g, i = M(k, d, h || F.defaultStringFilter, n), n = {
11466                    t: i,
11467                    p: "setRatio",
11468                    s: 0,
11469                    c: 1,
11470                    f: 2,
11471                    pg: 0,
11472                    n: e || b,
11473                    pr: 0
11474                }) : m || (n.s = parseFloat(k), n.c = parseFloat(d) - n.s || 0)), n.c ? ((n._next = this._firstPT) && (n._next._prev = n), this._firstPT = n, n) : void 0
11475            }, O = F._internals = {isArray: n, isSelector: G, lazyTweens: I, blobDif: M}, P = F._plugins = {},
11476            Q = O.tweenLookup = {}, R = 0, S = O.reservedProps = {
11477                ease: 1,
11478                delay: 1,
11479                overwrite: 1,
11480                onComplete: 1,
11481                onCompleteParams: 1,
11482                onCompleteScope: 1,
11483                useFrames: 1,
11484                runBackwards: 1,
11485                startAt: 1,
11486                onUpdate: 1,
11487                onUpdateParams: 1,
11488                onUpdateScope: 1,
11489                onStart: 1,
11490                onStartParams: 1,
11491                onStartScope: 1,
11492                onReverseComplete: 1,
11493                onReverseCompleteParams: 1,
11494                onReverseCompleteScope: 1,
11495                onRepeat: 1,
11496                onRepeatParams: 1,
11497                onRepeatScope: 1,
11498                easeParams: 1,
11499                yoyo: 1,
11500                immediateRender: 1,
11501                repeat: 1,
11502                repeatDelay: 1,
11503                data: 1,
11504                paused: 1,
11505                reversed: 1,
11506                autoCSS: 1,
11507                lazy: 1,
11508                onOverwrite: 1,
11509                callbackScope: 1,
11510                stringFilter: 1
11511            }, T = {none: 0, all: 1, auto: 2, concurrent: 3, allOnStart: 4, preexisting: 5, "true": 1, "false": 0},
11512            U = C._rootFramesTimeline = new E, V = C._rootTimeline = new E, W = 30, X = O.lazyRender = function () {
11513                var a, b = I.length;
11514                for (J = {}; --b > -1;) a = I[b], a && a._lazy !== !1 && (a.render(a._lazy[0], a._lazy[1], !0), a._lazy = !1);
11515                I.length = 0
11516            };
11517        V._startTime = g.time, U._startTime = g.frame, V._active = U._active = !0, setTimeout(X, 1), C._updateRoot = F.render = function () {
11518            var a, b, c;
11519            if (I.length && X(), V.render((g.time - V._startTime) * V._timeScale, !1, !1), U.render((g.frame - U._startTime) * U._timeScale, !1, !1), I.length && X(), g.frame >= W) {
11520                W = g.frame + (parseInt(F.autoSleep, 10) || 120);
11521                for (c in Q) {
11522                    for (b = Q[c].tweens, a = b.length; --a > -1;) b[a]._gc && b.splice(a, 1);
11523                    0 === b.length && delete Q[c]
11524                }
11525                if (c = V._first, (!c || c._paused) && F.autoSleep && !U._first && 1 === g._listeners.tick.length) {
11526                    for (; c && c._paused;) c = c._next;
11527                    c || g.sleep()
11528                }
11529            }
11530        }, g.addEventListener("tick", C._updateRoot);
11531        var Y = function (a, b, c) {
11532            var d, e, f = a._gsTweenID;
11533            if (Q[f || (a._gsTweenID = f = "t" + R++)] || (Q[f] = {
11534                target: a,
11535                tweens: []
11536            }), b && (d = Q[f].tweens, d[e = d.length] = b, c)) for (; --e > -1;) d[e] === b && d.splice(e, 1);
11537            return Q[f].tweens
11538        }, Z = function (a, b, c, d) {
11539            var e, f, g = a.vars.onOverwrite;
11540            return g && (e = g(a, b, c, d)), g = F.onOverwrite, g && (f = g(a, b, c, d)), e !== !1 && f !== !1
11541        }, $ = function (a, b, c, d, e) {
11542            var f, g, h, i;
11543            if (1 === d || d >= 4) {
11544                for (i = e.length, f = 0; i > f; f++) if ((h = e[f]) !== b) h._gc || h._kill(null, a, b) && (g = !0); else if (5 === d) break;
11545                return g
11546            }
11547            var j, l = b._startTime + k, m = [], n = 0, o = 0 === b._duration;
11548            for (f = e.length; --f > -1;) (h = e[f]) === b || h._gc || h._paused || (h._timeline !== b._timeline ? (j = j || _(b, 0, o), 0 === _(h, j, o) && (m[n++] = h)) : h._startTime <= l && h._startTime + h.totalDuration() / h._timeScale > l && ((o || !h._initted) && l - h._startTime <= 2e-10 || (m[n++] = h)));
11549            for (f = n; --f > -1;) if (h = m[f], 2 === d && h._kill(c, a, b) && (g = !0), 2 !== d || !h._firstPT && h._initted) {
11550                if (2 !== d && !Z(h, b)) continue;
11551                h._enabled(!1, !1) && (g = !0)
11552            }
11553            return g
11554        }, _ = function (a, b, c) {
11555            for (var d = a._timeline, e = d._timeScale, f = a._startTime; d._timeline;) {
11556                if (f += d._startTime, e *= d._timeScale, d._paused) return -100;
11557                d = d._timeline
11558            }
11559            return f /= e, f > b ? f - b : c && f === b || !a._initted && 2 * k > f - b ? k : (f += a.totalDuration() / a._timeScale / e) > b + k ? 0 : f - b - k
11560        };
11561        f._init = function () {
11562            var a, b, c, d, e, f = this.vars, g = this._overwrittenProps, h = this._duration, i = !!f.immediateRender,
11563                j = f.ease;
11564            if (f.startAt) {
11565                this._startAt && (this._startAt.render(-1, !0), this._startAt.kill()), e = {};
11566                for (d in f.startAt) e[d] = f.startAt[d];
11567                if (e.overwrite = !1, e.immediateRender = !0, e.lazy = i && f.lazy !== !1, e.startAt = e.delay = null, this._startAt = F.to(this.target, 0, e), i) if (this._time > 0) this._startAt = null; else if (0 !== h) return
11568            } else if (f.runBackwards && 0 !== h) if (this._startAt) this._startAt.render(-1, !0), this._startAt.kill(), this._startAt = null; else {
11569                0 !== this._time && (i = !1), c = {};
11570                for (d in f) S[d] && "autoCSS" !== d || (c[d] = f[d]);
11571                if (c.overwrite = 0, c.data = "isFromStart", c.lazy = i && f.lazy !== !1, c.immediateRender = i, this._startAt = F.to(this.target, 0, c), i) {
11572                    if (0 === this._time) return
11573                } else this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null)
11574            }
11575            if (this._ease = j = j ? j instanceof u ? j : "function" == typeof j ? new u(j, f.easeParams) : v[j] || F.defaultEase : F.defaultEase, f.easeParams instanceof Array && j.config && (this._ease = j.config.apply(j, f.easeParams)), this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets) for (a = this._targets.length; --a > -1;) this._initProps(this._targets[a], this._propLookup[a] = {}, this._siblings[a], g ? g[a] : null) && (b = !0); else b = this._initProps(this.target, this._propLookup, this._siblings, g);
11576            if (b && F._onPluginEvent("_onInitAllProps", this), g && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), f.runBackwards) for (c = this._firstPT; c;) c.s += c.c, c.c = -c.c, c = c._next;
11577            this._onUpdate = f.onUpdate, this._initted = !0
11578        }, f._initProps = function (b, c, d, e) {
11579            var f, g, h, i, j, k;
11580            if (null == b) return !1;
11581            J[b._gsTweenID] && X(), this.vars.css || b.style && b !== a && b.nodeType && P.css && this.vars.autoCSS !== !1 && H(this.vars, b);
11582            for (f in this.vars) if (k = this.vars[f], S[f]) k && (k instanceof Array || k.push && n(k)) && -1 !== k.join("").indexOf("{self}") && (this.vars[f] = k = this._swapSelfInParams(k, this)); else if (P[f] && (i = new P[f])._onInitTween(b, this.vars[f], this)) {
11583                for (this._firstPT = j = {
11584                    _next: this._firstPT,
11585                    t: i,
11586                    p: "setRatio",
11587                    s: 0,
11588                    c: 1,
11589                    f: 1,
11590                    n: f,
11591                    pg: 1,
11592                    pr: i._priority
11593                }, g = i._overwriteProps.length; --g > -1;) c[i._overwriteProps[g]] = this._firstPT;
11594                (i._priority || i._onInitAllProps) && (h = !0), (i._onDisable || i._onEnable) && (this._notifyPluginsOfEnabled = !0), j._next && (j._next._prev = j)
11595            } else c[f] = N.call(this, b, f, "get", k, f, 0, null, this.vars.stringFilter);
11596            return e && this._kill(e, b) ? this._initProps(b, c, d, e) : this._overwrite > 1 && this._firstPT && d.length > 1 && $(b, this, c, this._overwrite, d) ? (this._kill(c, b), this._initProps(b, c, d, e)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (J[b._gsTweenID] = !0), h)
11597        }, f.render = function (a, b, c) {
11598            var d, e, f, g, h = this._time, i = this._duration, j = this._rawPrevTime;
11599            if (a >= i - 1e-7) this._totalTime = this._time = i, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1, this._reversed || (d = !0, e = "onComplete", c = c || this._timeline.autoRemoveChildren), 0 === i && (this._initted || !this.vars.lazy || c) && (this._startTime === this._timeline._duration && (a = 0), (0 > j || 0 >= a && a >= -1e-7 || j === k && "isPause" !== this.data) && j !== a && (c = !0, j > k && (e = "onReverseComplete")), this._rawPrevTime = g = !b || a || j === a ? a : k); else if (1e-7 > a) this._totalTime = this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== h || 0 === i && j > 0) && (e = "onReverseComplete", d = this._reversed), 0 > a && (this._active = !1, 0 === i && (this._initted || !this.vars.lazy || c) && (j >= 0 && (j !== k || "isPause" !== this.data) && (c = !0), this._rawPrevTime = g = !b || a || j === a ? a : k)), this._initted || (c = !0); else if (this._totalTime = this._time = a, this._easeType) {
11600                var l = a / i, m = this._easeType, n = this._easePower;
11601                (1 === m || 3 === m && l >= .5) && (l = 1 - l), 3 === m && (l *= 2), 1 === n ? l *= l : 2 === n ? l *= l * l : 3 === n ? l *= l * l * l : 4 === n && (l *= l * l * l * l), 1 === m ? this.ratio = 1 - l : 2 === m ? this.ratio = l : .5 > a / i ? this.ratio = l / 2 : this.ratio = 1 - l / 2
11602            } else this.ratio = this._ease.getRatio(a / i);
11603            if (this._time !== h || c) {
11604                if (!this._initted) {
11605                    if (this._init(), !this._initted || this._gc) return;
11606                    if (!c && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = this._totalTime = h, this._rawPrevTime = j, I.push(this), void (this._lazy = [a, b]);
11607                    this._time && !d ? this.ratio = this._ease.getRatio(this._time / i) : d && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
11608                }
11609                for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== h && a >= 0 && (this._active = !0), 0 === h && (this._startAt && (a >= 0 ? this._startAt.render(a, b, c) : e || (e = "_dummyGS")), this.vars.onStart && (0 !== this._time || 0 === i) && (b || this._callback("onStart"))), f = this._firstPT; f;) f.f ? f.t[f.p](f.c * this.ratio + f.s) : f.t[f.p] = f.c * this.ratio + f.s, f = f._next;
11610                this._onUpdate && (0 > a && this._startAt && a !== -1e-4 && this._startAt.render(a, b, c), b || (this._time !== h || d) && this._callback("onUpdate")), e && (!this._gc || c) && (0 > a && this._startAt && !this._onUpdate && a !== -1e-4 && this._startAt.render(a, b, c), d && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !b && this.vars[e] && this._callback(e), 0 === i && this._rawPrevTime === k && g !== k && (this._rawPrevTime = 0))
11611            }
11612        }, f._kill = function (a, b, c) {
11613            if ("all" === a && (a = null), null == a && (null == b || b === this.target)) return this._lazy = !1, this._enabled(!1, !1);
11614            b = "string" != typeof b ? b || this._targets || this.target : F.selector(b) || b;
11615            var d, e, f, g, h, i, j, k, l,
11616                m = c && this._time && c._startTime === this._startTime && this._timeline === c._timeline;
11617            if ((n(b) || G(b)) && "number" != typeof b[0]) for (d = b.length; --d > -1;) this._kill(a, b[d], c) && (i = !0); else {
11618                if (this._targets) {
11619                    for (d = this._targets.length; --d > -1;) if (b === this._targets[d]) {
11620                        h = this._propLookup[d] || {}, this._overwrittenProps = this._overwrittenProps || [], e = this._overwrittenProps[d] = a ? this._overwrittenProps[d] || {} : "all";
11621                        break
11622                    }
11623                } else {
11624                    if (b !== this.target) return !1;
11625                    h = this._propLookup, e = this._overwrittenProps = a ? this._overwrittenProps || {} : "all"
11626                }
11627                if (h) {
11628                    if (j = a || h, k = a !== e && "all" !== e && a !== h && ("object" != typeof a || !a._tempKill), c && (F.onOverwrite || this.vars.onOverwrite)) {
11629                        for (f in j) h[f] && (l || (l = []), l.push(f));
11630                        if ((l || !a) && !Z(this, c, b, l)) return !1
11631                    }
11632                    for (f in j) (g = h[f]) && (m && (g.f ? g.t[g.p](g.s) : g.t[g.p] = g.s, i = !0), g.pg && g.t._kill(j) && (i = !0), g.pg && 0 !== g.t._overwriteProps.length || (g._prev ? g._prev._next = g._next : g === this._firstPT && (this._firstPT = g._next), g._next && (g._next._prev = g._prev), g._next = g._prev = null), delete h[f]), k && (e[f] = 1);
11633                    !this._firstPT && this._initted && this._enabled(!1, !1)
11634                }
11635            }
11636            return i
11637        }, f.invalidate = function () {
11638            return this._notifyPluginsOfEnabled && F._onPluginEvent("_onDisable", this), this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], C.prototype.invalidate.call(this), this.vars.immediateRender && (this._time = -k, this.render(-this._delay)), this
11639        }, f._enabled = function (a, b) {
11640            if (h || g.wake(), a && this._gc) {
11641                var c, d = this._targets;
11642                if (d) for (c = d.length; --c > -1;) this._siblings[c] = Y(d[c], this, !0); else this._siblings = Y(this.target, this, !0)
11643            }
11644            return C.prototype._enabled.call(this, a, b), this._notifyPluginsOfEnabled && this._firstPT ? F._onPluginEvent(a ? "_onEnable" : "_onDisable", this) : !1
11645        }, F.to = function (a, b, c) {
11646            return new F(a, b, c)
11647        }, F.from = function (a, b, c) {
11648            return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, new F(a, b, c)
11649        }, F.fromTo = function (a, b, c, d) {
11650            return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, new F(a, b, d)
11651        }, F.delayedCall = function (a, b, c, d, e) {
11652            return new F(b, 0, {
11653                delay: a,
11654                onComplete: b,
11655                onCompleteParams: c,
11656                callbackScope: d,
11657                onReverseComplete: b,
11658                onReverseCompleteParams: c,
11659                immediateRender: !1,
11660                lazy: !1,
11661                useFrames: e,
11662                overwrite: 0
11663            })
11664        }, F.set = function (a, b) {
11665            return new F(a, 0, b)
11666        }, F.getTweensOf = function (a, b) {
11667            if (null == a) return [];
11668            a = "string" != typeof a ? a : F.selector(a) || a;
11669            var c, d, e, f;
11670            if ((n(a) || G(a)) && "number" != typeof a[0]) {
11671                for (c = a.length, d = []; --c > -1;) d = d.concat(F.getTweensOf(a[c], b));
11672                for (c = d.length; --c > -1;) for (f = d[c], e = c; --e > -1;) f === d[e] && d.splice(c, 1)
11673            } else for (d = Y(a).concat(), c = d.length; --c > -1;) (d[c]._gc || b && !d[c].isActive()) && d.splice(c, 1);
11674            return d
11675        }, F.killTweensOf = F.killDelayedCallsTo = function (a, b, c) {
11676            "object" == typeof b && (c = b, b = !1);
11677            for (var d = F.getTweensOf(a, b), e = d.length; --e > -1;) d[e]._kill(c, a)
11678        };
11679        var aa = r("plugins.TweenPlugin", function (a, b) {
11680            this._overwriteProps = (a || "").split(","), this._propName = this._overwriteProps[0], this._priority = b || 0, this._super = aa.prototype
11681        }, !0);
11682        if (f = aa.prototype, aa.version = "1.18.0", aa.API = 2, f._firstPT = null, f._addTween = N, f.setRatio = L, f._kill = function (a) {
11683            var b, c = this._overwriteProps, d = this._firstPT;
11684            if (null != a[this._propName]) this._overwriteProps = []; else for (b = c.length; --b > -1;) null != a[c[b]] && c.splice(b, 1);
11685            for (; d;) null != a[d.n] && (d._next && (d._next._prev = d._prev), d._prev ? (d._prev._next = d._next, d._prev = null) : this._firstPT === d && (this._firstPT = d._next)), d = d._next;
11686            return !1
11687        }, f._roundProps = function (a, b) {
11688            for (var c = this._firstPT; c;) (a[this._propName] || null != c.n && a[c.n.split(this._propName + "_").join("")]) && (c.r = b), c = c._next
11689        }, F._onPluginEvent = function (a, b) {
11690            var c, d, e, f, g, h = b._firstPT;
11691            if ("_onInitAllProps" === a) {
11692                for (; h;) {
11693                    for (g = h._next, d = e; d && d.pr > h.pr;) d = d._next;
11694                    (h._prev = d ? d._prev : f) ? h._prev._next = h : e = h, (h._next = d) ? d._prev = h : f = h, h = g
11695                }
11696                h = b._firstPT = e
11697            }
11698            for (; h;) h.pg && "function" == typeof h.t[a] && h.t[a]() && (c = !0), h = h._next;
11699            return c
11700        }, aa.activate = function (a) {
11701            for (var b = a.length; --b > -1;) a[b].API === aa.API && (P[(new a[b])._propName] = a[b]);
11702            return !0
11703        }, q.plugin = function (a) {
11704            if (!(a && a.propName && a.init && a.API)) throw"illegal plugin definition.";
11705            var b, c = a.propName, d = a.priority || 0, e = a.overwriteProps, f = {
11706                init: "_onInitTween",
11707                set: "setRatio",
11708                kill: "_kill",
11709                round: "_roundProps",
11710                initAll: "_onInitAllProps"
11711            }, g = r("plugins." + c.charAt(0).toUpperCase() + c.substr(1) + "Plugin", function () {
11712                aa.call(this, c, d), this._overwriteProps = e || []
11713            }, a.global === !0), h = g.prototype = new aa(c);
11714            h.constructor = g, g.API = a.API;
11715            for (b in f) "function" == typeof a[b] && (h[f[b]] = a[b]);
11716            return g.version = a.version, aa.activate([g]), g
11717        }, d = a._gsQueue) {
11718            for (e = 0; e < d.length; e++) d[e]();
11719            for (f in o) o[f].func || a.console.log("GSAP encountered missing dependency: com.greensock." + f)
11720        }
11721        h = !1
11722    }
11723}("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window, "TweenMax");
11724var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
11725if ((_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () {
11726    "use strict";
11727    var a = document.documentElement, b = window, c = function (c, d) {
11728        var e = "x" === d ? "Width" : "Height", f = "scroll" + e, g = "client" + e, h = document.body;
11729        return c === b || c === a || c === h ? Math.max(a[f], h[f]) - (b["inner" + e] || a[g] || h[g]) : c[f] - c["offset" + e]
11730    }, d = _gsScope._gsDefine.plugin({
11731        propName: "scrollTo", API: 2, version: "1.7.6", init: function (a, d, e) {
11732            return this._wdw = a === b, this._target = a, this._tween = e, "object" != typeof d && (d = {y: d}), this.vars = d, this._autoKill = d.autoKill !== !1, this.x = this.xPrev = this.getX(), this.y = this.yPrev = this.getY(), null != d.x ? (this._addTween(this, "x", this.x, "max" === d.x ? c(a, "x") : d.x, "scrollTo_x", !0), this._overwriteProps.push("scrollTo_x")) : this.skipX = !0, null != d.y ? (this._addTween(this, "y", this.y, "max" === d.y ? c(a, "y") : d.y, "scrollTo_y", !0), this._overwriteProps.push("scrollTo_y")) : this.skipY = !0, !0
11733        }, set: function (a) {
11734            this._super.setRatio.call(this, a);
11735            var d = this._wdw || !this.skipX ? this.getX() : this.xPrev,
11736                e = this._wdw || !this.skipY ? this.getY() : this.yPrev, f = e - this.yPrev, g = d - this.xPrev;
11737            this.x < 0 && (this.x = 0), this.y < 0 && (this.y = 0), this._autoKill && (!this.skipX && (g > 7 || -7 > g) && d < c(this._target, "x") && (this.skipX = !0), !this.skipY && (f > 7 || -7 > f) && e < c(this._target, "y") && (this.skipY = !0), this.skipX && this.skipY && (this._tween.kill(), this.vars.onAutoKill && this.vars.onAutoKill.apply(this.vars.onAutoKillScope || this._tween, this.vars.onAutoKillParam
vendor: 35,951 bytes, lines 11737-12350
11737s || []))), this._wdw ? b.scrollTo(this.skipX ? d : this.x, this.skipY ? e : this.y) : (this.skipY || (this._target.scrollTop = this.y), this.skipX || (this._target.scrollLeft = this.x)), this.xPrev = this.x, this.yPrev = this.y
11738        }
11739    }), e = d.prototype;
11740    d.max = c, e.getX = function () {
11741        return this._wdw ? null != b.pageXOffset ? b.pageXOffset : null != a.scrollLeft ? a.scrollLeft : document.body.scrollLeft : this._target.scrollLeft
11742    }, e.getY = function () {
11743        return this._wdw ? null != b.pageYOffset ? b.pageYOffset : null != a.scrollTop ? a.scrollTop : document.body.scrollTop : this._target.scrollTop
11744    }, e._kill = function (a) {
11745        return a.scrollTo_x && (this.skipX = !0), a.scrollTo_y && (this.skipY = !0), this._super._kill.call(this, a)
11746    }
11747}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), !function (t, e) {
11748    "function" == typeof define && define.amd ? define(e) : "object" == typeof exports ? module.exports = e(require, exports, module) : t.Tether = e()
11749}(this, function (t, e, o) {
11750    "use strict";
11751
11752    function i(t, e) {
11753        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
11754    }
11755
11756    function n(t) {
11757        var e = getComputedStyle(t), o = e.position;
11758        if ("fixed" === o) return t;
11759        for (var i = t; i = i.parentNode;) {
11760            var n = void 0;
11761            try {
11762                n = getComputedStyle(i)
11763            } catch (r) {
11764            }
11765            if ("undefined" == typeof n || null === n) return i;
11766            var s = n, a = s.overflow, f = s.overflowX, h = s.overflowY;
11767            if (/(auto|scroll)/.test(a + h + f) && ("absolute" !== o || ["relative", "absolute", "fixed"].indexOf(n.position) >= 0)) return i
11768        }
11769        return document.body
11770    }
11771
11772    function r(t) {
11773        var e = void 0;
11774        t === document ? (e = document, t = document.documentElement) : e = t.ownerDocument;
11775        var o = e.documentElement, i = {}, n = t.getBoundingClientRect();
11776        for (var r in n) i[r] = n[r];
11777        var s = x(e);
11778        return i.top -= s.top, i.left -= s.left, "undefined" == typeof i.width && (i.width = document.body.scrollWidth - i.left - i.right), "undefined" == typeof i.height && (i.height = document.body.scrollHeight - i.top - i.bottom), i.top = i.top - o.clientTop, i.left = i.left - o.clientLeft, i.right = e.body.clientWidth - i.width - i.left, i.bottom = e.body.clientHeight - i.height - i.top, i
11779    }
11780
11781    function s(t) {
11782        return t.offsetParent || document.documentElement
11783    }
11784
11785    function a() {
11786        var t = document.createElement("div");
11787        t.style.width = "100%", t.style.height = "200px";
11788        var e = document.createElement("div");
11789        f(e.style, {
11790            position: "absolute",
11791            top: 0,
11792            left: 0,
11793            pointerEvents: "none",
11794            visibility: "hidden",
11795            width: "200px",
11796            height: "150px",
11797            overflow: "hidden"
11798        }), e.appendChild(t), document.body.appendChild(e);
11799        var o = t.offsetWidth;
11800        e.style.overflow = "scroll";
11801        var i = t.offsetWidth;
11802        o === i && (i = e.clientWidth), document.body.removeChild(e);
11803        var n = o - i;
11804        return {width: n, height: n}
11805    }
11806
11807    function f() {
11808        var t = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0], e = [];
11809        return Array.prototype.push.apply(e, arguments), e.slice(1).forEach(function (e) {
11810            if (e) for (var o in e) ({}).hasOwnProperty.call(e, o) && (t[o] = e[o])
11811        }), t
11812    }
11813
11814    function h(t, e) {
11815        if ("undefined" != typeof t.classList) e.split(" ").forEach(function (e) {
11816            e.trim() && t.classList.remove(e)
11817        }); else {
11818            var o = new RegExp("(^| )" + e.split(" ").join("|") + "( |$)", "gi"), i = u(t).replace(o, " ");
11819            p(t, i)
11820        }
11821    }
11822
11823    function l(t, e) {
11824        if ("undefined" != typeof t.classList) e.split(" ").forEach(function (e) {
11825            e.trim() && t.classList.add(e)
11826        }); else {
11827            h(t, e);
11828            var o = u(t) + (" " + e);
11829            p(t, o)
11830        }
11831    }
11832
11833    function d(t, e) {
11834        if ("undefined" != typeof t.classList) return t.classList.contains(e);
11835        var o = u(t);
11836        return new RegExp("(^| )" + e + "( |$)", "gi").test(o)
11837    }
11838
11839    function u(t) {
11840        return t.className instanceof SVGAnimatedString ? t.className.baseVal : t.className
11841    }
11842
11843    function p(t, e) {
11844        t.setAttribute("class", e)
11845    }
11846
11847    function c(t, e, o) {
11848        o.forEach(function (o) {
11849            -1 === e.indexOf(o) && d(t, o) && h(t, o)
11850        }), e.forEach(function (e) {
11851            d(t, e) || l(t, e)
11852        })
11853    }
11854
11855    function i(t, e) {
11856        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
11857    }
11858
11859    function g(t, e) {
11860        var o = arguments.length <= 2 || void 0 === arguments[2] ? 1 : arguments[2];
11861        return t + o >= e && e >= t - o
11862    }
11863
11864    function m() {
11865        return "undefined" != typeof performance && "undefined" != typeof performance.now ? performance.now() : +new Date
11866    }
11867
11868    function v() {
11869        for (var t = {top: 0, left: 0}, e = arguments.length, o = Array(e), i = 0; e > i; i++) o[i] = arguments[i];
11870        return o.forEach(function (e) {
11871            var o = e.top, i = e.left;
11872            "string" == typeof o && (o = parseFloat(o, 10)), "string" == typeof i && (i = parseFloat(i, 10)), t.top += o, t.left += i
11873        }), t
11874    }
11875
11876    function y(t, e) {
11877        return "string" == typeof t.left && -1 !== t.left.indexOf("%") && (t.left = parseFloat(t.left, 10) / 100 * e.width), "string" == typeof t.top && -1 !== t.top.indexOf("%") && (t.top = parseFloat(t.top, 10) / 100 * e.height), t
11878    }
11879
11880    function b(t, e) {
11881        return "scrollParent" === e ? e = t.scrollParent : "window" === e && (e = [pageXOffset, pageYOffset, innerWidth + pageXOffset, innerHeight + pageYOffset]), e === document && (e = e.documentElement), "undefined" != typeof e.nodeType && !function () {
11882            var t = r(e), o = t, i = getComputedStyle(e);
11883            e = [o.left, o.top, t.width + o.left, t.height + o.top], U.forEach(function (t, o) {
11884                t = t[0].toUpperCase() + t.substr(1), "Top" === t || "Left" === t ? e[o] += parseFloat(i["border" + t + "Width"]) : e[o] -= parseFloat(i["border" + t + "Width"])
11885            })
11886        }(), e
11887    }
11888
11889    var w = function () {
11890        function t(t, e) {
11891            for (var o = 0; o < e.length; o++) {
11892                var i = e[o];
11893                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
11894            }
11895        }
11896
11897        return function (e, o, i) {
11898            return o && t(e.prototype, o), i && t(e, i), e
11899        }
11900    }(), C = void 0;
11901    "undefined" == typeof C && (C = {modules: []});
11902    var O = function () {
11903        var t = 0;
11904        return function () {
11905            return ++t
11906        }
11907    }(), E = {}, x = function (t) {
11908        var e = t._tetherZeroElement;
11909        "undefined" == typeof e && (e = t.createElement("div"), e.setAttribute("data-tether-id", O()), f(e.style, {
11910            top: 0,
11911            left: 0,
11912            position: "absolute"
11913        }), t.body.appendChild(e), t._tetherZeroElement = e);
11914        var o = e.getAttribute("data-tether-id");
11915        if ("undefined" == typeof E[o]) {
11916            E[o] = {};
11917            var i = e.getBoundingClientRect();
11918            for (var n in i) E[o][n] = i[n];
11919            T(function () {
11920                delete E[o]
11921            })
11922        }
11923        return E[o]
11924    }, A = [], T = function (t) {
11925        A.push(t)
11926    }, S = function () {
11927        for (var t = void 0; t = A.pop();) t()
11928    }, W = function () {
11929        function t() {
11930            i(this, t)
11931        }
11932
11933        return w(t, [{
11934            key: "on", value: function (t, e, o) {
11935                var i = arguments.length <= 3 || void 0 === arguments[3] ? !1 : arguments[3];
11936                "undefined" == typeof this.bindings && (this.bindings = {}), "undefined" == typeof this.bindings[t] && (this.bindings[t] = []), this.bindings[t].push({
11937                    handler: e,
11938                    ctx: o,
11939                    once: i
11940                })
11941            }
11942        }, {
11943            key: "once", value: function (t, e, o) {
11944                this.on(t, e, o, !0)
11945            }
11946        }, {
11947            key: "off", value: function (t, e) {
11948                if ("undefined" == typeof this.bindings || "undefined" == typeof this.bindings[t]) if ("undefined" == typeof e) delete this.bindings[t]; else for (var o = 0; o < this.bindings[t].length;) this.bindings[t][o].handler === e ? this.bindings[t].splice(o, 1) : ++o
11949            }
11950        }, {
11951            key: "trigger", value: function (t) {
11952                if ("undefined" != typeof this.bindings && this.bindings[t]) {
11953                    for (var e = 0, o = arguments.length, i = Array(o > 1 ? o - 1 : 0), n = 1; o > n; n++) i[n - 1] = arguments[n];
11954                    for (; e < this.bindings[t].length;) {
11955                        var r = this.bindings[t][e], s = r.handler, a = r.ctx, f = r.once, h = a;
11956                        "undefined" == typeof h && (h = this), s.apply(h, i), f ? this.bindings[t].splice(e, 1) : ++e
11957                    }
11958                }
11959            }
11960        }]), t
11961    }();
11962    C.Utils = {
11963        getScrollParent: n,
11964        getBounds: r,
11965        getOffsetParent: s,
11966        extend: f,
11967        addClass: l,
11968        removeClass: h,
11969        hasClass: d,
11970        updateClasses: c,
11971        defer: T,
11972        flush: S,
11973        uniqueId: O,
11974        Evented: W,
11975        getScrollBarSize: a
11976    };
11977    var M = function () {
11978        function t(t, e) {
11979            var o = [], i = !0, n = !1, r = void 0;
11980            try {
11981                for (var s, a = t[Symbol.iterator](); !(i = (s = a.next()).done) && (o.push(s.value),
11982                !e || o.length !== e); i = !0) ;
11983            } catch (f) {
11984                n = !0, r = f
11985            } finally {
11986                try {
11987                    !i && a["return"] && a["return"]()
11988                } finally {
11989                    if (n) throw r
11990                }
11991            }
11992            return o
11993        }
11994
11995        return function (e, o) {
11996            if (Array.isArray(e)) return e;
11997            if (Symbol.iterator in Object(e)) return t(e, o);
11998            throw new TypeError("Invalid attempt to destructure non-iterable instance")
11999        }
12000    }(), w = function () {
12001        function t(t, e) {
12002            for (var o = 0; o < e.length; o++) {
12003                var i = e[o];
12004                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
12005            }
12006        }
12007
12008        return function (e, o, i) {
12009            return o && t(e.prototype, o), i && t(e, i), e
12010        }
12011    }();
12012    if ("undefined" == typeof C) throw new Error("You must include the utils.js file before tether.js");
12013    var P = C.Utils, n = P.getScrollParent, r = P.getBounds, s = P.getOffsetParent, f = P.extend, l = P.addClass,
12014        h = P.removeClass, c = P.updateClasses, T = P.defer, S = P.flush, a = P.getScrollBarSize, k = function () {
12015            if ("undefined" == typeof document) return "";
12016            for (var t = document.createElement("div"), e = ["transform", "webkitTransform", "OTransform", "MozTransform", "msTransform"], o = 0; o < e.length; ++o) {
12017                var i = e[o];
12018                if (void 0 !== t.style[i]) return i
12019            }
12020        }(), B = [], _ = function () {
12021            B.forEach(function (t) {
12022                t.position(!1)
12023            }), S()
12024        };
12025    !function () {
12026        var t = null, e = null, o = null, i = function n() {
12027            return "undefined" != typeof e && e > 16 ? (e = Math.min(e - 16, 250), void (o = setTimeout(n, 250))) : void ("undefined" != typeof t && m() - t < 10 || ("undefined" != typeof o && (clearTimeout(o), o = null), t = m(), _(), e = m() - t))
12028        };
12029        "undefined" != typeof window && ["resize", "scroll", "touchmove"].forEach(function (t) {
12030            window.addEventListener(t, i)
12031        })
12032    }();
12033    var z = {center: "center", left: "right", right: "left"}, F = {middle: "middle", top: "bottom", bottom: "top"},
12034        L = {top: 0, left: 0, middle: "50%", center: "50%", bottom: "100%", right: "100%"}, Y = function (t, e) {
12035            var o = t.left, i = t.top;
12036            return "auto" === o && (o = z[e.left]), "auto" === i && (i = F[e.top]), {left: o, top: i}
12037        }, H = function (t) {
12038            var e = t.left, o = t.top;
12039            return "undefined" != typeof L[t.left] && (e = L[t.left]), "undefined" != typeof L[t.top] && (o = L[t.top]), {
12040                left: e,
12041                top: o
12042            }
12043        }, X = function (t) {
12044            var e = t.split(" "), o = M(e, 2), i = o[0], n = o[1];
12045            return {top: i, left: n}
12046        }, j = X, N = function () {
12047            function t(e) {
12048                var o = this;
12049                i(this, t), this.position = this.position.bind(this), B.push(this), this.history = [], this.setOptions(e, !1), C.modules.forEach(function (t) {
12050                    "undefined" != typeof t.initialize && t.initialize.call(o)
12051                }), this.position()
12052            }
12053
12054            return w(t, [{
12055                key: "getClass", value: function () {
12056                    var t = arguments.length <= 0 || void 0 === arguments[0] ? "" : arguments[0], e = this.options.classes;
12057                    return "undefined" != typeof e && e[t] ? this.options.classes[t] : this.options.classPrefix ? this.options.classPrefix + "-" + t : t
12058                }
12059            }, {
12060                key: "setOptions", value: function (t) {
12061                    var e = this, o = arguments.length <= 1 || void 0 === arguments[1] ? !0 : arguments[1],
12062                        i = {offset: "0 0", targetOffset: "0 0", targetAttachment: "auto auto", classPrefix: "tether"};
12063                    this.options = f(i, t);
12064                    var r = this.options, s = r.element, a = r.target, h = r.targetModifier;
12065                    if (this.element = s, this.target = a, this.targetModifier = h, "viewport" === this.target ? (this.target = document.body, this.targetModifier = "visible") : "scroll-handle" === this.target && (this.target = document.body, this.targetModifier = "scroll-handle"), ["element", "target"].forEach(function (t) {
12066                        if ("undefined" == typeof e[t]) throw new Error("Tether Error: Both element and target must be defined");
12067                        "undefined" != typeof e[t].jquery ? e[t] = e[t][0] : "string" == typeof e[t] && (e[t] = document.querySelector(e[t]))
12068                    }), l(this.element, this.getClass("element")), this.options.addTargetClasses !== !1 && l(this.target, this.getClass("target")), !this.options.attachment) throw new Error("Tether Error: You must provide an attachment");
12069                    this.targetAttachment = j(this.options.targetAttachment), this.attachment = j(this.options.attachment), this.offset = X(this.options.offset), this.targetOffset = X(this.options.targetOffset), "undefined" != typeof this.scrollParent && this.disable(), "scroll-handle" === this.targetModifier ? this.scrollParent = this.target : this.scrollParent = n(this.target), this.options.enabled !== !1 && this.enable(o)
12070                }
12071            }, {
12072                key: "getTargetBounds", value: function () {
12073                    if ("undefined" == typeof this.targetModifier) return r(this.target);
12074                    if ("visible" === this.targetModifier) {
12075                        if (this.target === document.body) return {
12076                            top: pageYOffset,
12077                            left: pageXOffset,
12078                            height: innerHeight,
12079                            width: innerWidth
12080                        };
12081                        var t = r(this.target), e = {height: t.height, width: t.width, top: t.top, left: t.left};
12082                        return e.height = Math.min(e.height, t.height - (pageYOffset - t.top)), e.height = Math.min(e.height, t.height - (t.top + t.height - (pageYOffset + innerHeight))), e.height = Math.min(innerHeight, e.height), e.height -= 2, e.width = Math.min(e.width, t.width - (pageXOffset - t.left)), e.width = Math.min(e.width, t.width - (t.left + t.width - (pageXOffset + innerWidth))), e.width = Math.min(innerWidth, e.width), e.width -= 2, e.top < pageYOffset && (e.top = pageYOffset), e.left < pageXOffset && (e.left = pageXOffset), e
12083                    }
12084                    if ("scroll-handle" === this.targetModifier) {
12085                        var t = void 0, o = this.target;
12086                        o === document.body ? (o = document.documentElement, t = {
12087                            left: pageXOffset,
12088                            top: pageYOffset,
12089                            height: innerHeight,
12090                            width: innerWidth
12091                        }) : t = r(o);
12092                        var i = getComputedStyle(o),
12093                            n = o.scrollWidth > o.clientWidth || [i.overflow, i.overflowX].indexOf("scroll") >= 0 || this.target !== document.body,
12094                            s = 0;
12095                        n && (s = 15);
12096                        var a = t.height - parseFloat(i.borderTopWidth) - parseFloat(i.borderBottomWidth) - s, e = {
12097                            width: 15,
12098                            height: .975 * a * (a / o.scrollHeight),
12099                            left: t.left + t.width - parseFloat(i.borderLeftWidth) - 15
12100                        }, f = 0;
12101                        408 > a && this.target === document.body && (f = -11e-5 * Math.pow(a, 2) - .00727 * a + 22.58), this.target !== document.body && (e.height = Math.max(e.height, 24));
12102                        var h = this.target.scrollTop / (o.scrollHeight - a);
12103                        return e.top = h * (a - e.height - f) + t.top + parseFloat(i.borderTopWidth), this.target === document.body && (e.height = Math.max(e.height, 24)), e
12104                    }
12105                }
12106            }, {
12107                key: "clearCache", value: function () {
12108                    this._cache = {}
12109                }
12110            }, {
12111                key: "cache", value: function (t, e) {
12112                    return "undefined" == typeof this._cache && (this._cache = {}), "undefined" == typeof this._cache[t] && (this._cache[t] = e.call(this)), this._cache[t]
12113                }
12114            }, {
12115                key: "enable", value: function () {
12116                    var t = arguments.length <= 0 || void 0 === arguments[0] ? !0 : arguments[0];
12117                    this.options.addTargetClasses !== !1 && l(this.target, this.getClass("enabled")), l(this.element, this.getClass("enabled")), this.enabled = !0, this.scrollParent !== document && this.scrollParent.addEventListener("scroll", this.position), t && this.position()
12118                }
12119            }, {
12120                key: "disable", value: function () {
12121                    h(this.target, this.getClass("enabled")), h(this.element, this.getClass("enabled")), this.enabled = !1, "undefined" != typeof this.scrollParent && this.scrollParent.removeEventListener("scroll", this.position)
12122                }
12123            }, {
12124                key: "destroy", value: function () {
12125                    var t = this;
12126                    this.disable(), B.forEach(function (e, o) {
12127                        return e === t ? void B.splice(o, 1) : void 0
12128                    })
12129                }
12130            }, {
12131                key: "updateAttachClasses", value: function (t, e) {
12132                    var o = this;
12133                    t = t || this.attachment, e = e || this.targetAttachment;
12134                    var i = ["left", "top", "bottom", "right", "middle", "center"];
12135                    "undefined" != typeof this._addAttachClasses && this._addAttachClasses.length && this._addAttachClasses.splice(0, this._addAttachClasses.length), "undefined" == typeof this._addAttachClasses && (this._addAttachClasses = []);
12136                    var n = this._addAttachClasses;
12137                    t.top && n.push(this.getClass("element-attached") + "-" + t.top), t.left && n.push(this.getClass("element-attached") + "-" + t.left), e.top && n.push(this.getClass("target-attached") + "-" + e.top), e.left && n.push(this.getClass("target-attached") + "-" + e.left);
12138                    var r = [];
12139                    i.forEach(function (t) {
12140                        r.push(o.getClass("element-attached") + "-" + t), r.push(o.getClass("target-attached") + "-" + t)
12141                    }), T(function () {
12142                        "undefined" != typeof o._addAttachClasses && (c(o.element, o._addAttachClasses, r), o.options.addTargetClasses !== !1 && c(o.target, o._addAttachClasses, r), delete o._addAttachClasses)
12143                    })
12144                }
12145            }, {
12146                key: "position", value: function () {
12147                    var t = this, e = arguments.length <= 0 || void 0 === arguments[0] ? !0 : arguments[0];
12148                    if (this.enabled) {
12149                        this.clearCache();
12150                        var o = Y(this.targetAttachment, this.attachment);
12151                        this.updateAttachClasses(this.attachment, o);
12152                        var i = this.cache("element-bounds", function () {
12153                            return r(t.element)
12154                        }), n = i.width, f = i.height;
12155                        if (0 === n && 0 === f && "undefined" != typeof this.lastSize) {
12156                            var h = this.lastSize;
12157                            n = h.width, f = h.height
12158                        } else this.lastSize = {width: n, height: f};
12159                        var l = this.cache("target-bounds", function () {
12160                                return t.getTargetBounds()
12161                            }), d = l, u = y(H(this.attachment), {width: n, height: f}), p = y(H(o), d),
12162                            c = y(this.offset, {width: n, height: f}), g = y(this.targetOffset, d);
12163                        u = v(u, c), p = v(p, g);
12164                        for (var m = l.left + p.left - u.left, b = l.top + p.top - u.top, w = 0; w < C.modules.length; ++w) {
12165                            var O = C.modules[w], E = O.position.call(this, {
12166                                left: m,
12167                                top: b,
12168                                targetAttachment: o,
12169                                targetPos: l,
12170                                elementPos: i,
12171                                offset: u,
12172                                targetOffset: p,
12173                                manualOffset: c,
12174                                manualTargetOffset: g,
12175                                scrollbarSize: A,
12176                                attachment: this.attachment
12177                            });
12178                            if (E === !1) return !1;
12179                            "undefined" != typeof E && "object" == typeof E && (b = E.top, m = E.left)
12180                        }
12181                        var x = {
12182                            page: {top: b, left: m},
12183                            viewport: {
12184                                top: b - pageYOffset,
12185                                bottom: pageYOffset - b - f + innerHeight,
12186                                left: m - pageXOffset,
12187                                right: pageXOffset - m - n + innerWidth
12188                            }
12189                        }, A = void 0;
12190                        return document.body.scrollWidth > window.innerWidth && (A = this.cache("scrollbar-size", a), x.viewport.bottom -= A.height), document.body.scrollHeight > window.innerHeight && (A = this.cache("scrollbar-size", a), x.viewport.right -= A.width), (-1 === ["", "static"].indexOf(document.body.style.position) || -1 === ["", "static"].indexOf(document.body.parentElement.style.position)) && (x.page.bottom = document.body.scrollHeight - b - f, x.page.right = document.body.scrollWidth - m - n), "undefined" != typeof this.options.optimizations && this.options.optimizations.moveElement !== !1 && "undefined" == typeof this.targetModifier && !function () {
12191                            var e = t.cache("target-offsetparent", function () {
12192                                return s(t.target)
12193                            }), o = t.cache("target-offsetparent-bounds", function () {
12194                                return r(e)
12195                            }), i = getComputedStyle(e), n = o, a = {};
12196                            if (["Top", "Left", "Bottom", "Right"].forEach(function (t) {
12197                                a[t.toLowerCase()] = parseFloat(i["border" + t + "Width"])
12198                            }), o.right = document.body.scrollWidth - o.left - n.width + a.right, o.bottom = document.body.scrollHeight - o.top - n.height + a.bottom, x.page.top >= o.top + a.top && x.page.bottom >= o.bottom && x.page.left >= o.left + a.left && x.page.right >= o.right) {
12199                                var f = e.scrollTop, h = e.scrollLeft;
12200                                x.offset = {top: x.page.top - o.top + f - a.top, left: x.page.left - o.left + h - a.left}
12201                            }
12202                        }(), this.move(x), this.history.unshift(x), this.history.length > 3 && this.history.pop(), e && S(), !0
12203                    }
12204                }
12205            }, {
12206                key: "move", value: function (t) {
12207                    var e = this;
12208                    if ("undefined" != typeof this.element.parentNode) {
12209                        var o = {};
12210                        for (var i in t) {
12211                            o[i] = {};
12212                            for (var n in t[i]) {
12213                                for (var r = !1, a = 0; a < this.history.length; ++a) {
12214                                    var h = this.history[a];
12215                                    if ("undefined" != typeof h[i] && !g(h[i][n], t[i][n])) {
12216                                        r = !0;
12217                                        break
12218                                    }
12219                                }
12220                                r || (o[i][n] = !0)
12221                            }
12222                        }
12223                        var l = {top: "", left: "", right: "", bottom: ""}, d = function (t, o) {
12224                            var i = "undefined" != typeof e.options.optimizations,
12225                                n = i ? e.options.optimizations.gpu : null;
12226                            if (n !== !1) {
12227                                var r = void 0, s = void 0;
12228                                t.top ? (l.top = 0, r = o.top) : (l.bottom = 0, r = -o.bottom), t.left ? (l.left = 0, s = o.left) : (l.right = 0, s = -o.right), l[k] = "translateX(" + Math.round(s) + "px) translateY(" + Math.round(r) + "px)", "msTransform" !== k && (l[k] += " translateZ(0)")
12229                            } else t.top ? l.top = o.top + "px" : l.bottom = o.bottom + "px", t.left ? l.left = o.left + "px" : l.right = o.right + "px"
12230                        }, u = !1;
12231                        if ((o.page.top || o.page.bottom) && (o.page.left || o.page.right) ? (l.position = "absolute", d(o.page, t.page)) : (o.viewport.top || o.viewport.bottom) && (o.viewport.left || o.viewport.right) ? (l.position = "fixed", d(o.viewport, t.viewport)) : "undefined" != typeof o.offset && o.offset.top && o.offset.left ? !function () {
12232                            l.position = "absolute";
12233                            var i = e.cache("target-offsetparent", function () {
12234                                return s(e.target)
12235                            });
12236                            s(e.element) !== i && T(function () {
12237                                e.element.parentNode.removeChild(e.element), i.appendChild(e.element)
12238                            }), d(o.offset, t.offset), u = !0
12239                        }() : (l.position = "absolute", d({top: !0, left: !0}, t.page)), !u) {
12240                            for (var p = !0, c = this.element.parentNode; c && "BODY" !== c.tagName;) {
12241                                if ("static" !== getComputedStyle(c).position) {
12242                                    p = !1;
12243                                    break
12244                                }
12245                                c = c.parentNode
12246                            }
12247                            p || (this.element.parentNode.removeChild(this.element), document.body.appendChild(this.element))
12248                        }
12249                        var m = {}, v = !1;
12250                        for (var n in l) {
12251                            var y = l[n], b = this.element.style[n];
12252                            "" !== b && "" !== y && ["top", "left", "bottom", "right"].indexOf(n) >= 0 && (b = parseFloat(b), y = parseFloat(y)), b !== y && (v = !0, m[n] = y)
12253                        }
12254                        v && T(function () {
12255                            f(e.element.style, m)
12256                        })
12257                    }
12258                }
12259            }]), t
12260        }();
12261    N.modules = [], C.position = _;
12262    var R = f(N, C), M = function () {
12263            function t(t, e) {
12264                var o = [], i = !0, n = !1, r = void 0;
12265                try {
12266                    for (var s, a = t[Symbol.iterator](); !(i = (s = a.next()).done) && (o.push(s.value), !e || o.length !== e); i = !0) ;
12267                } catch (f) {
12268                    n = !0, r = f
12269                } finally {
12270                    try {
12271                        !i && a["return"] && a["return"]()
12272                    } finally {
12273                        if (n) throw r
12274                    }
12275                }
12276                return o
12277            }
12278
12279            return function (e, o) {
12280                if (Array.isArray(e)) return e;
12281                if (Symbol.iterator in Object(e)) return t(e, o);
12282                throw new TypeError("Invalid attempt to destructure non-iterable instance")
12283            }
12284        }(), P = C.Utils, r = P.getBounds, f = P.extend, c = P.updateClasses, T = P.defer,
12285        U = ["left", "top", "right", "bottom"];
12286    C.modules.push({
12287        position: function (t) {
12288            var e = this, o = t.top, i = t.left, n = t.targetAttachment;
12289            if (!this.options.constraints) return !0;
12290            var s = this.cache("element-bounds", function () {
12291                return r(e.element)
12292            }), a = s.height, h = s.width;
12293            if (0 === h && 0 === a && "undefined" != typeof this.lastSize) {
12294                var l = this.lastSize;
12295                h = l.width, a = l.height
12296            }
12297            var d = this.cache("target-bounds", function () {
12298                return e.getTargetBounds()
12299            }), u = d.height, p = d.width, g = [this.getClass("pinned"), this.getClass("out-of-bounds")];
12300            this.options.constraints.forEach(function (t) {
12301                var e = t.outOfBoundsClass, o = t.pinnedClass;
12302                e && g.push(e), o && g.push(o)
12303            }), g.forEach(function (t) {
12304                ["left", "top", "right", "bottom"].forEach(function (e) {
12305                    g.push(t + "-" + e)
12306                })
12307            });
12308            var m = [], v = f({}, n), y = f({}, this.attachment);
12309            return this.options.constraints.forEach(function (t) {
12310                var r = t.to, s = t.attachment, f = t.pin;
12311                "undefined" == typeof s && (s = "");
12312                var l = void 0, d = void 0;
12313                if (s.indexOf(" ") >= 0) {
12314                    var c = s.split(" "), g = M(c, 2);
12315                    d = g[0], l = g[1]
12316                } else l = d = s;
12317                var w = b(e, r);
12318                ("target" === d || "both" === d) && (o < w[1] && "top" === v.top && (o += u, v.top = "bottom"), o + a > w[3] && "bottom" === v.top && (o -= u, v.top = "top")), "together" === d && (o < w[1] && "top" === v.top && ("bottom" === y.top ? (o += u, v.top = "bottom", o += a, y.top = "top") : "top" === y.top && (o += u, v.top = "bottom", o -= a, y.top = "bottom")), o + a > w[3] && "bottom" === v.top && ("top" === y.top ? (o -= u, v.top = "top", o -= a, y.top = "bottom") : "bottom" === y.top && (o -= u, v.top = "top", o += a, y.top = "top")), "middle" === v.top && (o + a > w[3] && "top" === y.top ? (o -= a, y.top = "bottom") : o < w[1] && "bottom" === y.top && (o += a, y.top = "top"))), ("target" === l || "both" === l) && (i < w[0] && "left" === v.left && (i += p, v.left = "right"), i + h > w[2] && "right" === v.left && (i -= p, v.left = "left")), "together" === l && (i < w[0] && "left" === v.left ? "right" === y.left ? (i += p, v.left = "right", i += h, y.left = "left") : "left" === y.left && (i += p, v.left = "right", i -= h, y.left = "right") : i + h > w[2] && "right" === v.left ? "left" === y.left ? (i -= p, v.left = "left", i -= h, y.left = "right") : "right" === y.left && (i -= p, v.left = "left", i += h, y.left = "left") : "center" === v.left && (i + h > w[2] && "left" === y.left ? (i -= h, y.left = "right") : i < w[0] && "right" === y.left && (i += h, y.left = "left"))), ("element" === d || "both" === d) && (o < w[1] && "bottom" === y.top && (o += a, y.top = "top"), o + a > w[3] && "top" === y.top && (o -= a, y.top = "bottom")), ("element" === l || "both" === l) && (i < w[0] && "right" === y.left && (i += h, y.left = "left"), i + h > w[2] && "left" === y.left && (i -= h, y.left = "right")), "string" == typeof f ? f = f.split(",").map(function (t) {
12319                    return t.trim()
12320                }) : f === !0 && (f = ["top", "left", "right", "bottom"]), f = f || [];
12321                var C = [], O = [];
12322                o < w[1] && (f.indexOf("top") >= 0 ? (o = w[1], C.push("top")) : O.push("top")), o + a > w[3] && (f.indexOf("bottom") >= 0 ? (o = w[3] - a, C.push("bottom")) : O.push("bottom")), i < w[0] && (f.indexOf("left") >= 0 ? (i = w[0], C.push("left")) : O.push("left")), i + h > w[2] && (f.indexOf("right") >= 0 ? (i = w[2] - h, C.push("right")) : O.push("right")), C.length && !function () {
12323                    var t = void 0;
12324                    t = "undefined" != typeof e.options.pinnedClass ? e.options.pinnedClass : e.getClass("pinned"), m.push(t), C.forEach(function (e) {
12325                        m.push(t + "-" + e)
12326                    })
12327                }(), O.length && !function () {
12328                    var t = void 0;
12329                    t = "undefined" != typeof e.options.outOfBoundsClass ? e.options.outOfBoundsClass : e.getClass("out-of-bounds"), m.push(t), O.forEach(function (e) {
12330                        m.push(t + "-" + e)
12331                    })
12332                }(), (C.indexOf("left") >= 0 || C.indexOf("right") >= 0) && (y.left = v.left = !1), (C.indexOf("top") >= 0 || C.indexOf("bottom") >= 0) && (y.top = v.top = !1), (v.top !== n.top || v.left !== n.left || y.top !== e.attachment.top || y.left !== e.attachment.left) && e.updateAttachClasses(y, v)
12333            }), T(function () {
12334                e.options.addTargetClasses !== !1 && c(e.target, m, g), c(e.element, m, g)
12335            }), {top: o, left: i}
12336        }
12337    });
12338    var P = C.Utils, r = P.getBounds, c = P.updateClasses, T = P.defer;
12339    C.modules.push({
12340        position: function (t) {
12341            var e = this, o = t.top, i = t.left, n = this.cache("element-bounds", function () {
12342                return r(e.element)
12343            }), s = n.height, a = n.width, f = this.getTargetBounds(), h = o + s, l = i + a, d = [];
12344            o <= f.bottom && h >= f.top && ["left", "right"].forEach(function (t) {
12345                var e = f[t];
12346                (e === i || e === l) && d.push(t)
12347            }), i <= f.right && l >= f.left && ["top", "bottom"].forEach(function (t) {
12348                var e = f[t];
12349                (e === o || e === h) && d.push(t)
12350            });
12351            var u = [], p = [], g = ["left", "top", "right", "bottom"];
12352            return u.push(this.getClass("abutted")), g.forEach(function (t) {
12353                u.push(e.getClass("abutted") + "-" + t)
12354            }), d.length && p.push(this.getClass("abutted")), d.forEach(function (t) {
12355                p.push(e.getClass("abutted") + "-" + t)
12356            }), T(function () {
12357                e.options.addTargetClasses !== !1 && c(e.target, p, u), c(e.element, p, u)
12358            }), !0
12359        }
12360    });
12361    var M = function () {
12362        function t(t, e) {
12363            var o = [], i = !0, n = !1, r = void 0;
12364            try {
12365                for (var s, a = t[Symbol.iterator](); !(i = (s = a.next()).done) && (o.push(s.value), !e || o.length !== e); i = !0) ;
12366            } catch (f) {
12367                n = !0, r = f
12368            } finally {
12369                try {
12370                    !i && a["return"] && a["return"]()
12371                } finally {
12372                    if (n) throw r
12373                }
12374            }
12375            return o
12376        }
12377
12378        return function (e, o) {
12379            if (Array.isArray(e)) return e;
12380            if (Symbol.iterator in Object(e)) return t(e, o);
12381            throw new TypeError("Invalid attempt to destructure non-iterable instance")
12382        }
12383    }();
12384    return C.modules.push({
12385        position: function (t) {
12386            var e = t.top, o = t.left;
12387            if (this.options.shift) {
12388                var i = this.options.shift;
12389                "function" == typeof this.options.shift && (i = this.options.shift.call(this, {top: e, left: o}));
12390                var n = void 0, r = void 0;
12391                if ("string" == typeof i) {
12392                    i = i.split(" "), i[1] = i[1] || i[0];
12393                    var s = i, a = M(s, 2);
12394                    n = a[0], r = a[1], n = parseFloat(n, 10), r = parseFloat(r, 10)
12395                } else n = i.top, r = i.left;
12396                return e += n, o += r, {top: e, left: o}
12397            }
12398        }
12399    }), R
12400}), "undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery");
12401if (+function (a) {
12402    var b = a.fn.jquery.split(" ")[0].split(".");
12403    if (b[0] < 2 && b[1] < 9 || 1 == b[0] && 9 == b[1] && b[2] < 1 || b[0] >= 3) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v3.0.0")
12404}(jQuery), +function (a) {
12405    "use strict";
12406
12407    function b(a, b) {
12408        if ("function" != typeof b && null !== b) throw new TypeError("Super expression must either be null or a function, not " + typeof b);
12409        a.prototype = Object.create(b && b.prototype, {
12410            constructor: {
12411                value: a,
12412                enumerable: !1,
12413                writable: !0,
12414                configurable: !0
12415            }
12416        }), b && (Object.setPrototypeOf ? Object.setPrototypeOf(a, b) : a.__proto__ = b)
12417    }
12418
12419    function c(a, b) {
12420        if (!(a instanceof b)) throw new TypeError("Cannot call a class as a function")
12421    }
12422
12423    var d = function (a, b, c) {
12424        for (var d = !0; d;) {
12425            var e = a, f = b, g = c;
12426            d = !1, null === e && (e = Function.prototype);
12427            var h = Object.getOwnPropertyDescriptor(e, f);
12428            if (void 0 !== h) {
12429                if ("value" in h) return h.value;
12430                var i = h.get;
12431                if (void 0 === i) return;
12432                return i.call(g)
12433            }
12434            var j = Object.getPrototypeOf(e);
12435            if (null === j) return;
12436            a = j, b = f, c = g, d = !0, h = j = void 0
12437        }
12438    }, e = function () {
12439        function a(a, b) {
12440            for (var c = 0; c < b.length; c++) {
12441                var d = b[c];
12442                d.enumerable = d.enumerable || !1, d.configurable = !0, "value" in d && (d.writable = !0), Object.defineProperty(a, d.key, d)
12443            }
12444        }
12445
12446        return function (b, c, d) {
12447            return c && a(b.prototype, c), d && a(b, d), b
12448        }
12449    }(), f = function (a) {
12450        function b(a) {
12451            return {}.toString.call(a).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
12452        }
12453
12454        function c(a) {
12455            return (a[0] || a).nodeType
12456        }
12457
12458        function d() {
12459            return {
12460                bindType: h.end, delegateType: h.end, handle: function (b) {
12461                    return a(b.target).is(this) ? b.handleObj.handler.apply(this, arguments) : void 0
12462                }
12463            }
12464        }
12465
12466        function e() {
12467            if (window.QUnit) return !1;
12468            var a = document.createElement("bootstrap");
12469            for (var b in i) if (void 0 !== a.style[b]) return {end: i[b]};
12470            return !1
12471        }
12472
12473        function f(b) {
12474            var c = this, d = !1;
12475            return a(this).one(j.TRANSITION_END, function () {
12476                d = !0
12477            }), setTimeout(function () {
12478                d || j.triggerTransitionEnd(c)
12479            }, b), this
12480        }
12481
12482        function g() {
12483            h = e(), a.fn.emulateTransitionEnd = f, j.supportsTransitionEnd() && (a.event.special[j.TRANSITION_END] = d())
12484        }
12485
12486        var h = !1, i = {
12487            WebkitTransition: "webkitTransitionEnd",
12488            MozTransition: "transitionend",
12489            OTransition: "oTransitionEnd otransitionend",
12490            transition: "transitionend"
12491        }, j = {
12492            TRANSITION_END: "bsTransitionEnd", getUID: function (a) {
12493                do a += ~~(1e6 * Math.random()); while (document.getElementById(a));
12494                return a
12495            }, getSelectorFromElement: function (a) {
12496                var b = a.getAttribute("data-target");
12497                return b || (b = a.getAttribute("href") || "", b = /^#[a-z]/i.test(b) ? b : null), b
12498            }, reflow: function (a) {
12499                new Function("bs", "return bs")(a.offsetHeight)
12500            }, triggerTransitionEnd: function (b) {
12501                a(b).trigger(h.end)
12502            }, supportsTransitionEnd: function () {
12503                return Boolean(h)
12504            }, typeCheckConfig: function (a, d, e) {
12505                for (var f in e) if (e.hasOwnProperty(f)) {
12506                    var g = e[f], h = d[f], i = void 0;
12507                    if (i = h && c(h) ? "element" : b(h), !new RegExp(g).test(i)) throw new Error(a.toUpperCase() + ": " + ('Option "' + f + '" provided type "' + i + '" ') + ('but expected type "' + g + '".'))
12508                }
12509            }
12510        };
12511        return g(), j
12512    }(jQuery), g = (function (a) {
12513        var b = "alert", d = "4.0.0-alpha", g = "bs.alert", h = "." + g, i = ".data-api", j = a.fn[b], k = 150,
12514            l = {DISMISS: '[data-dismiss="alert"]'},
12515            m = {CLOSE: "close" + h, CLOSED: "closed" + h, CLICK_DATA_API: "click" + h + i},
12516            n = {ALERT: "alert", FADE: "fade", IN: "in"}, o = function () {
12517                function b(a) {
12518                    c(this, b), this._element = a
12519                }
12520
12521                return e(b, [{
12522                    key: "close", value: function (a) {
12523                        a = a || this._element;
12524                        var b = this._getRootElement(a), c = this._triggerCloseEvent(b);
12525                        c.isDefaultPrevented() || this._removeElement(b)
12526                    }
12527                }, {
12528                    key: "dispose", value: function () {
12529                        a.removeData(this._element, g), this._element = null
12530                    }
12531                }, {
12532                    key: "_getRootElement", value: function (b) {
12533                        var c = f.getSelectorFromElement(b), d = !1;
12534                        return c && (d = a(c)[0]), d || (d = a(b).closest("." + n.ALERT)[0]), d
12535                    }
12536                }, {
12537                    key: "_triggerCloseEvent", value: function (b) {
12538                        var c = a.Event(m.CLOSE);
12539                        return a(b).trigger(c), c
12540                    }
12541                }, {
12542                    key: "_removeElement", value: function (b) {
12543                        return a(b).removeClass(n.IN), f.supportsTransitionEnd() && a(b).hasClass(n.FADE) ? void a(b).one(f.TRANSITION_END, a.proxy(this._destroyElement, this, b)).emulateTransitionEnd(k) : void this._destroyElement(b)
12544                    }
12545                }, {
12546                    key: "_destroyElement", value: function (b) {
12547                        a(b).detach().trigger(m.CLOSED).remove()
12548                    }
12549                }], [{
12550                    key: "_jQueryInterface", value: function (c) {
12551                        return this.each(function () {
12552                            var d = a(this), e = d.data(g);
12553                            e || (e = new b(this), d.data(g, e)), "close" === c && e[c](this)
12554                        })
12555                    }
12556                }, {
12557                    key: "_handleDismiss", value: function (a) {
12558                        return function (b) {
12559                            b && b.preventDefault(), a.close(this)
12560                        }
12561                    }
12562                }, {
12563                    key: "VERSION", get: function () {
12564                        return d
12565                    }
12566                }]), b
12567            }();
12568        return a(document).on(m.CLICK_DATA_API, l.DISMISS, o._handleDismiss(new o)), a.fn[b] = o._jQueryInterface, a.fn[b].Constructor = o, a.fn[b].noConflict = function () {
12569            return a.fn[b] = j, o._jQueryInterface
12570        }, o
12571    }(jQuery), function (a) {
12572        var b = "button", d = "4.0.0-alpha", f = "bs.button", g = "." + f, h = ".data-api", i = a.fn[b],
12573            j = {ACTIVE: "active", BUTTON: "btn", FOCUS: "focus"}, k = {
12574                DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
12575                DATA_TOGGLE: '[data-toggle="buttons"]',
12576                INPUT: "input",
12577                ACTIVE: ".active",
12578                BUTTON: ".btn"
12579            }, l = {CLICK_DATA_API: "click" + g + h, FOCUS_BLUR_DATA_API: "focus" + g + h + " " + ("blur" + g + h)},
12580            m = function () {
12581                function b(a) {
12582                    c(this, b), this._element = a
12583                }
12584
12585                return e(b, [{
12586                    key: "toggle", value: function () {
12587                        var b = !0, c = a(this._element).closest(k.DATA_TOGGLE)[0];
12588                        if (c) {
12589                            var d = a(this._element).find(k.INPUT)[0];
12590                            if (d) {
12591                                if ("radio" === d.type) if (d.checked && a(this._element).hasClass(j.ACTIVE)) b = !1; else {
12592                                    var e = a(c).find(k.ACTIVE)[0];
12593                                    e && a(e).removeClass(j.ACTIVE)
12594                                }
12595                                b && (d.checked = !a(this._element).hasClass(j.ACTIVE), a(this._element).trigger("change"))
12596                            }
12597                        } else this._element.setAttribute("aria-pressed", !a(this._element).hasClass(j.ACTIVE));
12598                        b && a(this._element).toggleClass(j.ACTIVE)
12599                    }
12600                }, {
12601                    key: "dispose", value: function () {
12602                        a.removeData(this._element, f), this._element = null
12603                    }
12604                }], [{
12605                    key: "_jQueryInterface", value: function (c) {
12606                        return this.each(function () {
12607                            var d = a(this).data(f);
12608                            d || (d = new b(this), a(this).data(f, d)), "toggle" === c && d[c]()
12609                        })
12610                    }
12611                }, {
12612                    key: "VERSION", get: function () {
12613                        return d
12614                    }
12615                }]), b
12616            }();
12617        return a(document).on(l.CLICK_DATA_API, k.DATA_TOGGLE_CARROT, function (b) {
12618            b.preventDefault();
12619            var c = b.target;
12620            a(c).hasClass(j.BUTTON) || (c = a(c).closest(k.BUTTON)), m._jQueryInterface.call(a(c), "toggle")
12621        }).on(l.FOCUS_BLUR_DATA_API, k.DATA_TOGGLE_CARROT, function (b) {
12622            var c = a(b.target).closest(k.BUTTON)[0];
12623            a(c).toggleClass(j.FOCUS, /^focus(in)?$/.test(b.type))
12624        }), a.fn[b] = m._jQueryInterface, a.fn[b].Constructor = m, a.fn[b].noConflict = function () {
12625            return a.fn[b] = i, m._jQueryInterface
12626        }, m
12627    }(jQuery), function (a) {
12628        var b = "carousel", d = "4.0.0-alpha", g = "bs.carousel", h = "." + g, i = ".data-api", j = a.fn[b], k = 600,
12629            l = {interval: 5e3, keyboard: !0, slide: !1, pause: "hover", wrap: !0}, m = {
12630                interval: "(number|boolean)",
12631                keyboard: "boolean",
12632                slide: "(boolean|string)",
12633                pause: "(string|boolean)",
12634                wrap: "boolean"
12635            }, n = {NEXT: "next", PREVIOUS: "prev"}, o = {
12636                SLIDE: "slide" + h,
12637                SLID: "slid" + h,
12638                KEYDOWN: "keydown" + h,
12639                MOUSEENTER: "mouseenter" + h,
12640                MOUSELEAVE: "mouseleave" + h,
12641                LOAD_DATA_API: "load" + h + i,
12642                CLICK_DATA_API: "click" + h + i
12643            }, p = {
12644                CAROUSEL: "carousel",
12645                ACTIVE: "active",
12646                SLIDE: "slide",
12647                RIGHT: "right",
12648                LEFT: "left",
12649                ITEM: "carousel-item"
12650            }, q = {
12651                ACTIVE: ".active",
12652                ACTIVE_ITEM: ".active.carousel-item",
12653                ITEM: ".carousel-item",
12654                NEXT_PREV: ".next, .prev",
12655                INDICATORS: ".carousel-indicators",
12656                DATA_SLIDE: "[data-slide], [data-slide-to]",
12657                DATA_RIDE: '[data-ride="carousel"]'
12658            }, r = function () {
12659                function i(b, d) {
12660                    c(this, i), this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this._config = this._getConfig(d), this._element = a(b)[0], this._indicatorsElement = a(this._element).find(q.INDICATORS)[0], this._addEventListeners()
12661                }
12662
12663                return e(i, [{
12664                    key: "next", value: function () {
12665                        this._isSliding || this._slide(n.NEXT)
12666                    }
12667                }, {
12668                    key: "nextWhenVisible", value: function () {
12669                        document.hidden || this.next()
12670                    }
12671                }, {
12672                    key: "prev", value: function () {
12673                        this._isSliding || this._slide(n.PREVIOUS)
12674                    }
12675                }, {
12676                    key: "pause", value: function (b) {
12677                        b || (this._isPaused = !0), a(this._element).find(q.NEXT_PREV)[0] && f.supportsTransitionEnd() && (f.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
12678                    }
12679                }, {
12680                    key: "cycle", value: function (b) {
12681                        b || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval(a.proxy(document.visibilityState ? this.nextWhenVisible : this.next, this), this._config.interval))
12682                    }
12683                }, {
12684                    key: "to", value: function (b) {
12685                        var c = this;
12686                        this._activeElement = a(this._element).find(q.ACTIVE_ITEM)[0];
12687                        var d = this._getItemIndex(this._activeElement);
12688                        if (!(b > this._items.length - 1 || 0 > b)) {
12689                            if (this._isSliding) return void a(this._element).one(o.SLID, function () {
12690                                return c.to(b)
12691                            });
12692                            if (d === b) return this.pause(), void this.cycle();
12693                            var e = b > d ? n.NEXT : n.PREVIOUS;
12694                            this._slide(e, this._items[b])
12695                        }
12696                    }
12697                }, {
12698                    key: "dispose", value: function () {
12699                        a(this._element).off(h), a.removeData(this._element, g), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
12700                    }
12701                }, {
12702                    key: "_getConfig", value: function (c) {
12703                        return c = a.extend({}, l, c), f.typeCheckConfig(b, c, m), c
12704                    }
12705                }, {
12706                    key: "_addEventListeners", value: function () {
12707                        this._config.keyboard && a(this._element).on(o.KEYDOWN, a.proxy(this._key
12707down, this)), "hover" !== this._config.pause || "ontouchstart" in document.documentElement || a(this._element).on(o.MOUSEENTER, a.proxy(this.pause, this)).on(o.MOUSELEAVE, a.proxy(this.cycle, this))
12708                    }
12709                }, {
12710                    key: "_keydown", value: function (a) {
12711                        if (a.preventDefault(), !/input|textarea/i.test(a.target.tagName)) switch (a.which) {
12712                            case 37:
12713                                this.prev();
12714                                break;
12715                            case 39:
12716                                this.next();
12717                                break;
12718                            default:
12719                                return
12720                        }
12721                    }
12722                }, {
12723                    key: "_getItemIndex", value: function (b) {
12724                        return this._items = a.makeArray(a(b).parent().find(q.ITEM)), this._items.indexOf(b)
12725                    }
12726                }, {
12727                    key: "_getItemByDirection", value: function (a, b) {
12728                        var c = a === n.NEXT, d = a === n.PREVIOUS, e = this._getItemIndex(b), f = this._items.length - 1,
12729                            g = d && 0 === e || c && e === f;
12730                        if (g && !this._config.wrap) return b;
12731                        var h = a === n.PREVIOUS ? -1 : 1, i = (e + h) % this._items.length;
12732                        return -1 === i ? this._items[this._items.length - 1] : this._items[i]
12733                    }
12734                }, {
12735                    key: "_triggerSlideEvent", value: function (b, c) {
12736                        var d = a.Event(o.SLIDE, {relatedTarget: b, direction: c});
12737                        return a(this._element).trigger(d), d
12738                    }
12739                }, {
12740                    key: "_setActiveIndicatorElement", value: function (b) {
12741                        if (this._indicatorsElement) {
12742                            a(this._indicatorsElement).find(q.ACTIVE).removeClass(p.ACTIVE);
12743                            var c = this._indicatorsElement.children[this._getItemIndex(b)];
12744                            c && a(c).addClass(p.ACTIVE)
12745                        }
12746                    }
12747                }, {
12748                    key: "_slide", value: function (b, c) {
12749                        var d = this, e = a(this._element).find(q.ACTIVE_ITEM)[0],
12750                            g = c || e && this._getItemByDirection(b, e), h 
12750= Boolean(this._interval),
12751                            i = b === n.NEXT ? p.LEFT : p.RIGHT;
12752                        if (g && a(g).hasClass(p.ACTIVE)) return void (this._isSliding = !1);
12753                        var j = this._triggerSlideEvent(g, i);
12754                        if (!j.isDefaultPrevented() && e && g) {
12755                            this._isSliding = !0, h && this.pause(), this._setActiveIndicatorElement(g);
12756                            var l = a.Event(o.SLID, {relatedTarget: g, direction: i});
12757                            f.supportsTransitionEnd() && a(this._element).hasClass(p.SLIDE) ? (a(g).addClass(b), f.reflow(g), a(e).addClass(i), a(g).addClass(i), a(e).one(f.TRANSITION_END, function () {
12758                                a(g).removeClass(i).removeClass(b), a(g).addClass(p.ACTIVE), a(e).removeClass(p.ACTIVE).removeClass(b).removeClass(i), d._isSliding = !1, setTimeout(function () {
12759                                    return a(d._element).trigger(l)
12760                                }, 0)
12761                            }).emulateTransitionEnd(k)) : (a(e).removeClass(p.ACTIVE), a(g).addClass(p.ACTIVE), this._isSliding = !1, a(this._element).trigger(l)), h && this.cycle()
12762                        }
12763                    }
12764                }], [{
12765                    key: "_jQueryInterface", value: function (b) {
12766                        return this.each(function () {
12767                            var c = a(this).data(g), d = a.extend({}, l, a(this).data());
12768                            "object" == typeof b && a.extend(d, b);
12769                            var e = "string" == typeof b ? b : d.slide;
12770                            if (c || (c = new i(this, d), a(this).data(g, c)), "number" == typeof b) c.to(b); else if ("string" == typeof e) {
12771                                if (void 0 === c[e]) throw new Error('No method named "' + e + '"');
12772                                c[e]()
12773                            } else d.interval && (c.pause(), c.cycle())
12774                        })
12775                    }
12776                }, {
12777                    key: "_dataApiClickHandler", value: function (b) {
12778                        var c = f.getSelectorFromElement(this);
12779                        if (c) {
12780                            var d = a(c)[0];
12781                            if (d && a(d).hasClass(p.CAROUSEL)) {
12782                                var e = a.extend({}, a(d).data(), a(this).data()), h = this.getAttribute("data-slide-to");
12783                                h && (e.interval = !1), i._jQueryInterface.call(a(d), e), h && a(d).data(g).to(h), b.preventDefault()
12784                            }
12785                        }
12786                    }
12787                }, {
12788                    key: "VERSION", get: function () {
12789                        return d
12790                    }
12791                }, {
12792                    key: "Default", get: function () {
12793                        return l
12794                    }
12795                }]), i
12796            }();
12797        return a(document).on(o.CLICK_DATA_API, q.DATA_SLIDE, r._dataApiClickHandler), a(window).on(o.LOAD_DATA_API, function () {
12798            a(q.DATA_RIDE).each(function () {
12799                var b = a(this);
12800                r._jQueryInterface.call(b, b.data())
12801            })
12802        }), a.fn[b] = r._jQueryInterface, a.fn[b].Constructor = r, a.fn[b].noConflict = function () {
12803            return a.fn[b] = j, r._jQueryInterface
12804        }, r
12805    }(jQuery), function (a) {
12806        var b = "collapse", d = "4.0.0-alpha", g = "bs.collapse", h = "." + g, i = ".data-api", j = a.fn[b], k = 600,
12807            l = {toggle: !0, parent: ""}, m = {toggle: "boolean", parent: "string"}, n = {
12808                SHOW: "show" + h,
12809                SHOWN: "shown" + h,
12810                HIDE: "hide" + h,
12811                HIDDEN: "hidden" + h,
12812                CLICK_DATA_API: "click" + h + i
12813            }, o = {IN: "in", COLLAPSE: "collapse", COLLAPSING: "collapsing", COLLAPSED: "collapsed"},
12814            p = {WIDTH: "width", HEIGHT: "height"},
12815            q = {ACTIVES: ".panel > .in, .panel > .collapsing", DATA_TOGGLE: '[data-toggle="collapse"]'},
12816            r = function () {
12817                function h(b, d) {
12818                    c(this, h), this._isTransitioning = !1, this._element = b, this._config = this._getConfig(d), this._triggerArray = a.makeArray(a('[data-toggle="collapse"][href="#' + b.id + '"],' + ('[data-toggle="collapse"][data-target="#' + b.id + '"]'))), this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle()
12819                }
12820
12821                return e(h, [{
12822                    key: "toggle", value: function () {
12823                        a(this._element).hasClass(o.IN) ? this.hide() : this.show()
12824                    }
12825                }, {
12826                    key: "show", value: function () {
12827                        var b = this;
12828                        if (!this._isTransitioning && !a(this._element).hasClass(o.IN)) {
12829                            var c = void 0, d = void 0;
12830                            if (this._parent && (c = a.makeArray(a(q.ACTIVES)), c.length || (c = null)), !(c && (d = a(c).data(g), d && d._isTransitioning))) {
12831                                var e = a.Event(n.SHOW);
12832                                if (a(this._element).trigger(e), !e.isDefaultPrevented()) {
12833                                    c && (h._jQueryInterface.call(a(c), "hide"), d || a(c).data(g, null));
12834                                    var i = this._getDimension();
12835                                    a(this._element).removeClass(o.COLLAPSE).addClass(o.COLLAPSING), this._element.style[i] = 0, this._element.setAttribute("aria-expanded", !0), this._triggerArray.length && a(this._triggerArray).removeClass(o.COLLAPSED).attr("aria-expanded", !0), this.setTransitioning(!0);
12836                                    var j = function () {
12837                                        a(b._element).removeClass(o.COLLAPSING).addClass(o.COLLAPSE).addClass(o.IN), b._element.style[i] = "", b.setTransitioning(!1), a(b._element).trigger(n.SHOWN)
12838                                    };
12839                                    if (!f.supportsTransitionEnd()) return void j();
12840                                    var l = i[0].toUpperCase() + i.slice(1), m = "scroll" + l;
12841                                    a(this._element).one(f.TRANSITION_END, j).emulateTransitionEnd(k), this._element.style[i] = this._element[m] + "px"
12842                                }
12843                            }
12844                        }
12845                    }
12846                }, {
12847                    key: "hide", value: function () {
12848                        var b = this;
12849                        if (!this._isTransitioning && a(this._element).hasClass(o.IN)) {
12850                            var c = a.Event(n.HIDE);
12851                            if (a(this._element).trigger(c), !c.isDefaultPrevented()) {
12852                                var d = this._getDimension(), e = d === p.WIDTH ? "offsetWidth" : "offsetHeight";
12853                                this._element.style[d] = this._element[e] + "px", f.reflow(this._element), a(this._element).addClass(o.COLLAPSING).removeClass(o.COLLAPSE).removeClass(o.IN), this._element.setAttribute("aria-expanded", !1), this._triggerArray.length && a(this._triggerArray).addClass(o.COLLAPSED).attr("aria-expanded", !1), this.setTransitioning(!0);
12854                                var g = function () {
12855                                    b.setTransitioning(!1), a(b._element).removeClass(o.COLLAPSING).addClass(o.COLLAPSE).trigger(n.HI
12855DDEN)
12856                                };
12857                                return this._element.style[d] = 0, f.supportsTransitionEnd() ? void a(this._element).one(f.TRANSITION_END, g).emulateTransitionEnd(k) : void g()
12858                            }
12859                        }
12860                    }
12861                }, {
12862                    key: "setTransitioning",
12863                    value: function (a) {
12864                        this._isTransitioning = a
12865                    }
12866                }, {
12867                    key: "dispose", value: function () {
12868                        a.removeData(this._element, g), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
12869                    }
12870                }, {
12871                    key: "_getConfig", value: function (c) {
12872                        return c = a.extend({}, l, c), c.toggle = Boolean(c.toggle), f.typeCheckConfig(b, c, m), c
12873                    }
12874                }, {
12875                    key: "_getDimension", value: function () {
12876                        var b = a(this._element).hasClass(p.WIDTH);
12877                        return b ? p.WIDTH : p.HEIGHT
12878                    }
12879                }, {
12880                    key: "_getParent", value: function () {
12881                        var b = this, c = a(this._config.parent)[0],
12882                            d = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
12883                        return a(c).find(d).each(function (a, c) {
12884                            b._addAriaAndCollapsedClass(h._getTargetFromElement(c), [c])
12885                        }), c
12886                    }
12887                }, {
12888                    key: "_addAriaAndCollapsedClass", value: function (b, c) {
12889                        if (b) {
12890                            var d = a(b).hasClass(o.IN);
12891                            b.setAttribute("aria-expanded", d), c.length && a(c).toggleClass(o.COLLAPSED, !d).attr("aria-expanded", d)
12892                        }
12893                    }
12894                }], [{
12895                    key: "_getTargetFromElement", value: function (b) {
12896                        var c = f.getSelectorFromElement(b);
12897                        return c ? a(c)[0] : null
12898                    }
12899                }, {
12900                    key: "_jQueryInterface", value: function (b) {
12901                        return this.each(function () {
12902                            var c = a(this), d = c.data(g), e = a.extend({}, l, c.data(), "object" == typeof b && b);
12903                            if (!d && e.toggle && /show|hide/.test(b) && (e.toggle = !1), d || (d = new h(this, e), c.data(g, d)), "string" == typeof b) {
12904                                if (void 0 === d[b]) throw new Error('No method named "' + b + '"');
12905                                d[b]()
12906                            }
12907                        })
12908                    }
12909                }, {
12910                    key: "VERSION", get: function () {
12911                        return d
12912                    }
12913                }, {
12914                    key: "Default", get: function () {
12915                        return l
12916                    }
12917                }]), h
12918            }();
12919        return a(document).on(n.CLICK_DATA_API, q.DATA_TOGGLE, function (b) {
12920            b.preventDefault();
12921            var c = r._getTargetFromElement(this), d = a(c).data(g), e = d ? "toggle" : a(this).data();
12922            r._jQueryInterface.call(a(c), e)
12923        }), a.fn[b] = r._jQueryInterface, a.fn[b].Constructor = r, a.fn[b].noConflict = function () {
12924            return a.fn[b] = j, r._jQueryInterface
12925        }, r
12926    }(jQuery), function (a) {
12927        var b = "dropdown", d = "4.0.0-alpha", g = "bs.dropdown", h = "." + g, i = ".data-api", j = a.fn[b], k = {
12928            HIDE: "hide" + h,
12929            HIDDEN: "hidden" + h,
12930            SHOW: "show" + h,
12931            SHOWN: "shown" + h,
12932            CLICK: "click" + h,
12933            CLICK_DATA_API: "click" + h + i,
12934            KEYDOWN_DATA_API: "keydown" + h + i
12935        }, l = {BACKDROP: "dropdown-backdrop", DISABLED: "disabled", OPEN: "open"}, m = {
12936            BACKDROP: ".dropdown-backdrop",
12937            DATA_TOGGLE: '[data-toggle="dropdown"]',
12938            FORM_CHILD: ".dropdown form",
12939            ROLE_MENU: '[role="menu"]',
12940            ROLE_LISTBOX: '[role="listbox"]',
12941            NAVBAR_NAV: ".navbar-nav",
12942            VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'
12943        }, n = function () {
12944            function b(a) {
12945                c(this, b), this._element = a, this._addEventListeners()
12946            }
12947
12948            return e(b, [{
12949                key: "toggle", value: function () {
12950                    if (this.disabled || a(this).hasClass(l.DISABLED)) return !1;
12951                    var c = b._getParentFromElement(this), d = a(c).hasClass(l.OPEN);
12952                    if (b._clearMenus(), d) return !1;
12953                    if ("ontouchstart" in document.documentElement && !a(c).closest(m.
12953NAVBAR_NAV).length) {
12954                        var e = document.createElement("div");
12955                        e.className = l.BACKDROP, a(e).insertBefore(this), a(e).on("click", b._clearMenus)
12956                    }
12957                    var f = {relatedTarget: this}, g = a.Event(k.SHOW, f);
12958                    return a(c).trigger(g), g.isDefaultPrevented() ? !1 : (this.focus(), this.setAttribute("aria-expanded", "true"), a(c).toggleClass(l.OPEN), a(c).trigger(a.Event(k.SHOWN, f)), !1)
12959                }
12960            }, {
12961                key: "dispose", value: function () {
12962                    a.removeData(this._element, g), a(this._element).off(h), this._element = null
12963                }
12964            }, {
12965                key: "_addEventListeners", value: function () {
12966                    a(this._element).on(k.CLICK, this.toggle)
12967                }
12968            }], [{
12969                key: "_jQueryInterface", value: function (c) {
12970                    return this.each(function () {
12971                        var d = a(this).data(g);
12972                        if (d || a(this).data(g, d = new b(this)), "string" == typeof c) {
12973                            if (void 0 === d[c]) throw new Error('No method named "' + c + '"');
12974                            d[c].call(this)
12975                        }
12976                    })
12977                }
12978            }, {
12979                key: "_clearMenus", value: function (c) {
12980                    if (!c || 3 !== c.which) {
12981                        var d = a(m.BACKDROP)[0];
12982                        d && d.parentNode.removeChild(d);
12983                        for (var e = a.makeArray(a(m.DATA_TOGGLE)), f = 0; f < e.length; f++) {
12984                            var g = b._getParentFromElement(e[f]), h = {relatedTarget: e[f]};
12985                            if (a(g).hasClass(l.OPEN) && !(c && "click" === c.type && /input|textarea/i.test(c.target.tagName) && a.contains(g, c.target))) {
12986                                var i = a.Event(k.HIDE, h);
12987                                a(g).trigger(i), i.isDefaultPrevented() || (e[f].setAttribute("aria-expanded", "false"), a(g).removeClass(l.OPEN).trigger(a.Event(k.HIDDEN, h)))
12988                            }
12989                        }
12990                    }
12991                }
12992            }, {
12993                key: "_getParentFromElement", value: function (b) {
12994                    var c = void 0, d = f.getSelectorFromElement(b);
12995                    return d && (c = a(d)[0]), c || b.parentNode
12996                }
12997            }, {
12998                key: "_dataApiKeydownHandler", value: function (c) {
12999                    if (/(38|40|27|32)/.test(c.which) && !/input|textarea/i.test(c.target.tagName) && (c.preventDefault(), c.stopPropagation(), !this.disabled && !a(this).hasClass(l.DISABLED))) {
13000                        var d = b._getParentFromElement(this), e = a(d).hasClass(l.OPEN);
13001                        if (!e && 27 !== c.which || e && 27 === c.which) {
13002                            if (27 === c.which) {
13003                                var f = a(d).find(m.DATA_TOGGLE)[0];
13004                                a(f).trigger("focus")
13005                            }
13006                            return void a(this).trigger("click")
13007                        }
13008                        var g = a.makeArray(a(m.VISIBLE_ITEMS));
13009                        if (g = g.filter(function (a) {
13010                            return a.offsetWidth || a.offsetHeight
13011                        }), g.length) {
13012                            var h = g.indexOf(c.target);
13013                            38 === c.which && h > 0 && h--, 40 === c.which && h < g.length - 1 && h++, ~h || (h = 0), g[h].focus()
13014                        }
13015                    }
13016                }
13017            }, {
13018                key: "VERSION", get: function () {
13019                    return d
13020                }
13021            }]), b
13022        }();
13023        return a(document).on(k.KEYDOWN_DATA_API, m.DATA_TOGGLE, n._dataApiKeydownHandler).on(k.KEYDOWN_DATA_API, m.ROLE_MENU, n._dataApiKeydownHandler).on(k.KEYDOWN_DATA_API, m.ROLE_LISTBOX, n._dataApiKeydownHandler).on(k.CLICK_DATA_API, n._clearMenus).on(k.CLICK_DATA_API, m.DATA_TOGGLE, n.prototype.toggle).on(k.CLICK_DATA_API, m.FORM_CHILD, function (a) {
13024            a.stopPropagation()
13025        }), a.fn[b] = n._jQueryInterface, a.fn[b].Constructor = n, a.fn[b].noConflict = function () {
13026            return a.fn[b] = j, n._jQueryInterface
13027        }, n
13028    }(jQuery), function (a) {
13029        var b = "modal", d = "4.0.0-alpha", g = "bs.modal", h = "." + g, i = ".data-api", j = a.fn[b], k = 300, l = 150,
13030            m = {backdrop: !0, keyboard: !0, focus: !0, show: !0},
13031            n = {backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean", show: "boolean"}, o = {
13032                HIDE: "hide" + h,
13033                HIDDEN: "hidden" + h,
13034                SHOW: "show" + h,
13035                SHOWN: "shown" + h,
13036                FOCUSIN: "focusin" + h,
13037                RESIZE: "resize" + h,
13038                CLICK_DISMISS: "click.dismiss" + h,
13039                KEYDOWN_DISMISS: "keydown.dismiss" + h,
13040                MOUSEUP_DISMISS: "mouseup.dismiss" + h,
13041                MOUSEDOWN_DISMISS: "mousedown.dismiss" + h,
13042                CLICK_DATA_API: "click" + h + i
13043            }, p = {
13044                SCROLLBAR_MEASURER: "modal-scrollbar-measure",
13045                BACKDROP: "modal-backdrop",
13046                OPEN: "modal-open",
13047                FADE: "fade",
13048                IN: "in"
13049            }, q = {
13050                DIALOG: ".modal-dialog",
13051                DATA_TOGGLE: '[data-toggle="modal"]',
13052                DATA_DISMISS: '[data-dismiss="modal"]',
13053                FIXED_CONTENT: ".navbar-fixed-top, .navbar-fixed-bottom, .is-fixed"
13054            }, r = function () {
13055                function i(b, d) {
13056                    c(this, i), this._config = this._getConfig(d), this._element = b, this._dialog = a(b).find(q.DIALOG)[0], this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._originalBodyPadding = 0, this._scrollbarWidth = 0
13057                }
13058
13059                return e(i, [{
13060                    key: "toggle", value: function (a) {
13061                        return this._isShown ? this.hide() : this.show(a)
13062                    }
13063                }, {
13064                    key: "show", value: function (b) {
13065                        var c = this, d = a.Event(o.SHOW, {relatedTarget: b});
13066                        a(this._element).trigger(d), this._isShown || d.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), a(document.body).addClass(p.OPEN), this._setEscapeEvent(), this._setResizeEvent(), a(this._element).on(o.CLICK_DISMISS, q.DATA_DISMISS, a.proxy(this.hide, this)), a(this._dialog).on(o.MOUSEDOWN_DISMISS, function () {
13067                            a(c._element).one(o.MOUSEUP_DISMISS, function (b) {
13068                                a(b.target).is(c._element) && (c._ignoreBackdropClick = !0)
13069                            })
13070                        }), this._showBackdrop(a.proxy(this._showElement, this, b)))
13071                    }
13072                }, {
13073                    key: "hide", value: function (b) {
13074                        b && b.preventDefault();
13075                        var c = a.Event(o.HIDE);
13076                        a(this._element).trigger(c), this._isShown && !c.isDefaultPrevented() && (this._isShown = !1, this._setEscapeEvent(), this._setResizeEvent(), a(document).off(o.FOCUSIN), a(this._element).removeClass(p.IN), a(this._element).off(o.CLICK_DISMISS), a(this._dialog).off(o.MOUSEDOWN_DISMISS), f.supportsTransitionEnd() && a(this._element).hasClass(p.FADE) ? a(this._element).one(f.TRANSITION_END, a.proxy(this._hideModal, this)).emulateTransitionEnd(k) : this._hideModal())
13077                    }
13078                }, {
13079                    key: "dispose", value: function () {
13080                        a.removeData(this._element, g), a(window).off(h), a(document).off(h), a(this._element).off(h), a(this._backdrop).off(h), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._originalBodyPadding = null, this._scrollbarWidth = null
13081                    }
13082                }, {
13083                    key: "_getConfig", value: function (c) {
13084                        return c = a.extend({}, m, c), f.typeCheckConfig(b, c, n), c
13085                    }
13086                }, {
13087                    key: "_showElement", value: function (b) {
13088                        var c = this, d = f.supportsTransitionEnd() && a(this._element).hasClass(p.FADE);
13089                        this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.scrollTop = 0, d && f.reflow(this._element), a(this._element).addClass(p.IN), this._config.focus && this._enforceFocus();
13090                        var e = a.Event(o.SHOWN, {relatedTarget: b}), g = function () {
13091                            c._config.focus && c._element.focus(), a(c._element).trigger(e)
13092                        };
13093                        d ? a(this._dialog).one(f.TRANSITION_END, g).emulateTransitionEnd(k) : g()
13094                    }
13095                }, {
13096                    key: "_enforceFocus", value: function () {
13097                        var b = this;
13098                        a(document).off(o.FOCUSIN).on(o.FOCUSIN, function (c) {
13099                            b._element === c.target || a(b._element).has(c.target).length || b._element.focus()
13100                        })
13101                    }
13102                }, {
13103                    key: "_setEscapeEvent", value: function () {
13104                        var b = this;
13105                        this._isShown && this._config.keyboard ? a(this._element).on(o.KEYDOWN_DISMISS, function (a) {
13106                            27 === a.which && b.hide()
13107                        }) : this._isShown || a(this._element).off(o.KEYDOWN_DISMISS)
13108                    }
13109                }, {
13110                    key: "_setResizeEvent", value: function () {
13111                        this._isShown ? a(window).on(o.RESIZE, a.proxy(this._handleUpdate, this)) : a(window).off(o.RESIZE)
13112                    }
13113                }, {
13114                    key: "_hideModal", value: function () {
13115                        var b = this;
13116                        this._element.style.display = "none", this._showBackdrop(function () {
13117                            a(document.body).removeClass(p.OPEN), b._resetAdjustments(), b._resetScrollbar(), a(b._element).trigger(o.HIDDEN)
13118                        })
13119                    }
13120                }, {
13121                    key: "_removeBackdrop", value: function () {
13122                        this._backdrop && (a(this._backdrop).remove(), this._backdrop = null)
13123                    }
13124                }, {
13125                    key: "_showBackdrop", value: function (b) {
13126                        var c = this, d = a(this._element).hasClass(p.FADE) ? p.FADE : "";
13127                        if (this._isShown && this._config.backdrop) {
13128                            var e = f.supportsTransitionEnd() && d;
13129                            if (this._backdrop = document.createElement("div"), this._backdrop.className = p.BACKDROP, d && a(this._backdrop).addClass(d), a(this._backdrop).appendTo(document.body), a(this._element).on(o.CLICK_DISMISS, function (a) {
13130                                return c._ignoreBackdropClick ? void (c._ignoreBackdropClick = !1) : void (a.target === a.currentTarget && ("static" === c._config.backdrop ? c._element.focus() : c.hide()))
13131                            }), e && f.reflow(this._backdrop), a(this._backdrop).addClass(p.IN), !b) return;
13132                            if (!e) return void b();
13133                            a(this._backdrop).one(f.TRANSITION_END, b).emulateTransitionEnd(l)
13134                        } else if (!this._isShown && this._backdrop) {
13135                            a(this._backdrop).removeClass(p.IN);
13136                            var g = function () {
13137                                c._removeBackdrop(), b && b()
13138                            };
13139                            f.supportsTransitionEnd() && a(this._element).hasClass(p.FADE) ? a(this._backdrop).one(f.TRANSITION_END, g).emulateTransitionEnd(l) : g()
13140                        } else b && b()
13141                    }
13142                }, {
13143                    key: "_handleUpdate", value: function () {
13144                        this._adjustDialog()
13145                    }
13146                }, {
13147                    key: "_adjustDialog", value: function () {
13148                        var a = this._element.scrollHeight > document.documentElement.clientHeight;
13149                        !this._isBodyOverflowing && a && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !a && (this._element.style.paddingRight = this._scrollbarWidth + "px~")
13150                    }
13151                }, {
13152                    key: "_resetAdjustments", value: function () {
13153                        this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
13154                    }
13155                }, {
13156                    key: "_checkScrollbar", value: function () {
13157                        var a = window.innerWidth;
13158                        if (!a) {
13159                            var b = document.documentElement.getBoundingClientRect();
13160                            a = b.right - Math.abs(b.left)
13161                        }
13162                        this._isBodyOverflowing = document.body.clientWidth < a, this._scrollbarWidth = this._getScrollbarWidth()
13163                    }
13164                }, {
13165                    key: "_setScrollbar", value: function () {
13166                        var b = parseInt(a(q.FIXED_CONTENT).css("padding-right") || 0, 10);
13167                        this._originalBodyPadding = document.body.style.paddingRight || "", this._isBodyOverflowing && (document.body.style.paddingRight = b + this._scrollbarWidth + "px")
13168                    }
13169                }, {
13170                    key: "_resetScrollbar", value: function () {
13171                        document.body.style.paddingRight = this._originalBodyPadding
13172                    }
13173                }, {
13174                    key: "_getScrollbarWidth", value: function () {
13175                        var a = document.createElement("div");
13176                        a.className = p.SCROLLBAR_MEASURER, document.body.appendChild(a);
13177                        var b = a.offsetWidth - a.clientWidth;
13178                        return document.body.removeChild(a), b
13179                    }
13180                }], [{
13181                    key: "_jQueryInterface", value: function (b, c) {
13182                        return this.each(function () {
13183                            var d = a(this).data(g), e = a.extend({}, i.Default, a(this).data(), "object" == typeof b && b);
13184                            if (d || (d = new i(this, e), a(this).data(g, d)), "string" == typeof b) {
13185                                if (void 0 === d[b]) throw new Error('No method n
13185amed "' + b + '"');
13186                                d[b](c)
13187                            } else e.show && d.show(c)
13188                        })
13189                    }
13190                }, {
13191                    key: "VERSION", get: function () {
13192                        return d
13193                    }
13194                }, {
13195                    key: "Default", get: function () {
13196                        return m
13197                    }
13198                }]), i
13199            }();
13200        return a(document).on(o.CLICK_DATA_API, q.DATA_TOGGLE, function (b) {
13201            var c = this, d = void 0, e = f.getSelectorFromElement(this);
13202            e && (d = a(e)[0]);
13203            var h = a(d).data(g) ? "toggle" : a.extend({}, a(d).data(), a(this).data());
13204            "A" === this.tagName && b.preventDefault();
13205            var i = a(d).one(o.SHOW, function (b) {
13206                b.isDefaultPrevented() || i.one(o.HIDDEN, function () {
13207                    a(c).is(":visible") && c.focus()
13208                })
13209            });
13210            r._jQueryInterface.call(a(d), h, this)
13211        }), a.fn[b] = r._jQueryInterface, a.fn[b].Constructor = r, a.fn[b].noConflict = function () {
13212            return a.fn[b] = j, r._jQueryInterface
13213        }, r
13214    }(jQuery), function (a) {
13215        var b = "scrollspy", d = "4.0.0-alpha", g = "bs.scrollspy", h = "." + g, i = ".data-api", j = a.fn[b],
13216            k = {offset: 10, method: "auto", target: ""},
13217            l = {offset: "number", method: "string", target: "(string|element)"},
13218            m = {ACTIVATE: "activate" + h, SCROLL: "scroll" + h, LOAD_DATA_API: "load" + h + i}, n = {
13219                DROPDOWN_ITEM: "dropdown-item",
13220                DROPDOWN_MENU: "dropdown-menu",
13221                NAV_LINK: "nav-link",
13222                NAV: "nav",
13223                ACTIVE: "active"
13224            }, o = {
13225                DATA_SPY: '[data-spy="scroll"]',
13226                ACTIVE: ".active",
13227                LIST_ITEM: ".list-item",
13228                LI: "li",
13229                LI_DROPDOWN: "li.dropdown",
13230                NAV_LINKS: ".nav-link",
13231                DROPDOWN: ".dropdown",
13232                DROPDOWN_ITEMS: ".dropdown-item",
13233                DROPDOWN_TOGGLE: ".dropdown-toggle"
13234            }, p = {OFFSET: "offset", POSITION: "position"}, q = function () {
13235                function i(b, d) {
13236                    c(this, i), this._element = b, this._scrollElement = "BODY" === b.tagName ? window : b, this._config = this._getConfig(d), this._selector = this._config.target + " " + o.NAV_LINKS + "," + (this._config.target + " " + o.DROPDOWN_ITEMS), this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, a(this._scrollElement).on(m.SCROLL, a.proxy(this._process, this)), this.refresh(), this._process()
13237                }
13238
13239                return e(i, [{
13240                    key: "refresh", value: function () {
13241                        var b = this, c = this._scrollElement !== this._scrollElement.window ? p.POSITION : p.OFFSET,
13242                            d = "auto" === this._config.method ? c : this._config.method,
13243                            e = d === p.POSITION ? this._getScrollTop() : 0;
13244                        this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight();
13245                        var g = a.makeArray(a(this._selector));
13246                        g.map(function (b) {
13247                            var c = void 0, g = f.getSelectorFromElement(b);
13248                            return g && (c = a(g)[0]), c && (c.offsetWidth || c.offsetHeight) ? [a(c)[d]().top + e, g] : void 0
13249                        }).filter(function (a) {
13250                            return a
13251                        }).sort(function (a, b) {
13252                            return a[0] - b[0]
13253                        }
13253).forEach(function (a) {
13254                            b._offsets.push(a[0]), b._targets.push(a[1])
13255                        })
13256                    }
13257                }, {
13258                    key: "dispose", value: function () {
13259                        a.removeData(this._element, g), a(this._scrollElement).off(h), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
13260                    }
13261                }, {
13262                    key: "_getConfig", value: function (c) {
13263                        if (c = a.extend({}, k, c), "string" != typeof c.target) {
13264                            var d = a(c.target).attr("id");
13265                            d || (d = f.getUID(b), a(c.target).attr("id", d)), c.target = "#" + d
13266                        }
13267                        return f.typeCheckConfig(b, c, l), c
13268                    }
13269                }, {
13270                    key: "_getScrollTop", value: function () {
13271                        return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop
13272                    }
13273                }, {
13274                    key: "_getScrollHeight", value: function () {
13275                        return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
13276                    }
13277                }, {
13278                    key: "_process", value: function () {
13279                        var a = this._getScrollTop() + this._config.offset, b = this._getScrollHeight(),
13280                            c = this._config.offset + b - this._scrollElement.offsetHeight;
13281                        if (this._scrollHeight !== b && this.refresh(), a >= c) {
13282                            var d = this._targets[this._targets.length - 1];
13283                            this._activeTarget !== d && this._activate(d)
13284                        }
13285                        if (this._activeTarget && a < this._offsets[0]) return this._activeTarget = null, void this._clear();
13286                        for (var e = this._offsets.length; e--;) {
13287                            var f = this._activeTarget !== this._targets[e] && a >= this._offsets[e] && (void 0 === this._offsets[e + 1] || a < this._offsets[e + 1]);
13288                            f && this._activate(this._targets[e])
13289                        }
13290                    }
13291                }, {
13292                    key: "_activate", value: function (b) {
13293                        this._activeTarget = b, this._clear();
13294                        var c = this._selector.split(",");
13295                        c = c.map(function (a) {
13296                            return a + '[data-target="' + b + '"],' + (a + '[href="' + b + '"]')
13297                        });
13298                        var d = a(c.join(","));
13299                        d.hasClass(n.DROPDOWN_ITEM) ? (d.closest(o.DROPDOWN).find(o.DROPDOWN_TOGGLE).addClass(n.ACTIVE), d.addClass(n.ACTIVE)) : d.parents(o.LI).find(o.NAV_LINKS).addClass(n.ACTIVE), a(this._scrollElement).trigger(m.ACTIVATE, {relatedTarget: b})
13300                    }
13301                }, {
13302                    key: "_clear", value: function () {
13303                        a(this._selector).filter(o.ACTIVE).removeClass(n.ACTIVE)
13304                    }
13305                }], [{
13306                    key: "_jQueryInterface", value: function (b) {
13307                        return this.each(function () {
13308                            var c = a(this).data(g), d = "object" == typeof b && b || null;
13309                            if (c || (c = new i(this, d), a(this).data(g, c)), "string" == typeof b) {
13310                                if (void 0 === c[b]) throw new Error('No method named "' + b + '"');
13311                                c[b]()
13312                            }
13313                        })
13314                    }
13315                }, {
13316                    key: "VERSION", get: function () {
13317                        return d
13318                    }
13319                }, {
13320                    key: "Default", get: function () {
13321                        return k
13322                    }
13323                }]), i
13324            }();
13325        return a(window).on(m.LOAD_DATA_API, function () {
13326            for (var b = a.makeArray(a(o.DATA_SPY)), c = b.length; c--;) {
13327                var d = a(b[c]);
13328                q._jQueryInterface.call(d, d.data())
13329            }
13330        }), a.fn[b] = q._jQueryInterface, a.fn[b].Constructor = q, a.fn[b].noConflict = function () {
13331            return a.fn[b] = j, q._jQueryInterface
13332        }, q
13333    }(jQuery), function (a) {
13334        var b = "tab", d = "4.0.0-alpha", g = "bs.tab", h = "." + g, i = ".data-api", j = a.fn[b], k = 150, l = {
13335            HIDE: "hide" + h,
13336            HIDDEN: "hidden" + h,
13337            SHOW: "show" + h,
13338            SHOWN: "shown" + h,
13339            CLICK_DATA_API: "click" + h + i
13340        }, m = {DROPDOWN_MENU: "dropdown-menu", ACTIVE: "active", FADE: "fade", IN: "in"}, n = {
13341            A: "a",
13342            LI: "li",
13343            DROPDOWN: ".dropdown",
13344            UL: "ul:not(.dropdown-menu)",
13345            FADE_CHILD: "> .nav-item .fade, > .fade",
13346            ACTIVE: ".active",
13347            ACTIVE_CHILD: "> .nav-item > .active, > .active",
13348            DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
13349            DROPDOWN_TOGGLE: ".dropdown-toggle",
13350            DROPDOWN_ACTIVE_CHILD: "> .dropdown-menu .active"
13351        }, o = function () {
13352            function b(a) {
13353                c(this, b), this._element = a
13354            }
13355
13356            return e(b, [{
13357                key: "show", value: function () {
13358                    var b = this;
13359                    if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE || !a(this._element).hasClass(m.ACTIVE)) {
13360                        var c = void 0, d = void 0, e = a(this._element).closest(n.UL)[0],
13361                            g = f.getSelectorFromElement(this._element);
13362                        e && (d = a.makeArray(a(e).find(n.ACTIVE)), d = d[d.length - 1]);
13363                        var h = a.Event(l.HIDE, {relatedTarget: this._element}),
13364                            i = a.Event(l.SHOW, {relatedTarget: d});
13365                        if (d && a(d).trigger(h), a(this._element).trigger(i), !i.isDefaultPrevented() && !h.isDefaultPrevented()) {
13366                            g && (c = a(g)[0]), this._activate(this._element, e);
13367                            var j = function () {
13368                                var c = a.Event(l.HIDDEN, {relatedTarget: b._element}),
13369                                    e = a.Event(l.SHOWN, {relatedTarget: d});
13370                                a(d).trigger(c), a(b._element).trigger(e)
13371                            };
13372                            c ? this._activate(c, c.parentNode, j) : j()
13373                        }
13374                    }
13375                }
13376            }, {
13377                key: "dispose", value: function () {
13378                    a.removeClass(this._element, g), this._element = null
13379                }
13380            }, {
13381                key: "_activate", value: function (b, c, d) {
13382                    var e = a(c).find(n.ACTIVE_CHILD)[0],
13383                        g = d && f.supportsTransitionEnd() && (e && a(e).hasClass(m.FADE) || Boolean(a(c).find(n.FADE_CHILD)[0])),
13384                        h = a.proxy(this._transitionComplete, this, b, e, g, d);
13385                    e && g ? a(e).one(f.TRANSITION_END, h).emulateTransitionEnd(k) : h(), e && a(e).removeClass(m.IN)
13386                }
13387            }, {
13388                key: "_transitionComplete", value: function (b, c, d, e) {
13389                    if (c) {
13390                        a(c).removeClass(m.ACTIVE);
13391                        var g = a(c).find(n.DROPDOWN_ACTIVE_CHILD)[0];
13392                        g && a(g).removeClass(m.ACTIVE), c.setAttribute("aria-expanded", !1)
13393                    }
13394                    if (a(b).addClass(m.ACTIVE), b.setAttribute("aria-expanded", !0), d ? (f.reflow(b), a(b).addClass(m.IN)) : a(b).removeClass(m.FADE), b.parentNode && a(b.parentNode).hasClass(m.DROPDOWN_MENU)) {
13395                        var h = a(b).closest(n.DROPDOWN)[0];
13396                        h && a(h).find(n.DROPDOWN_TOGGLE).addClass(m.ACTIVE), b.setAttribute("aria-expanded", !0)
13397                    }
13398                    e && e()
13399                }
13400            }], [{
13401                key: "_jQueryInterface", value: function (c) {
13402                    return this.each(function () {
13403                        var d = a(this), e = d.data(g);
13404                        if (e || (e = e = new b(this), d.data(g, e)), "string" == typeof c) {
13405                            if (void 0 === e[c]) throw new Error('No method n
13405amed "' + c + '"');
13406                            e[c]()
13407                        }
13408                    })
13409                }
13410            }, {
13411                key: "VERSION", get: function () {
13412                    return d
13413                }
13414            }]), b
13415        }();
13416        return a(document).on(l.CLICK_DATA_API, n.DATA_TOGGLE, function (b) {
13417            b.preventDefault(), o._jQueryInterface.call(a(this), "show")
13418        }), a.fn[b] = o._jQueryInterface, a.fn[b].Constructor = o, a.fn[b].noConflict = function () {
13419            return a.fn[b] = j, o._jQueryInterface
13420        }, o
13421    }(jQuery), function (a) {
13422        if (void 0 === window.Tether) throw new Error("Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)");
13423        var b = "tooltip", d = "4.0.0-alpha", g = "bs.tooltip", h = "." + g, i = a.fn[b], j = 150, k = "bs-tether",
13424            l = {
13425                animation: !0,
13426                template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
13427                trigger: "hover focus",
13428                title: "",
13429                delay: 0,
13430                html: !1,
13431                selector: !1,
13432                placement: "top",
13433                offset: "0 0",
13434                constraints: []
13435            }, m = {
13436                animation: "boolean",
13437                template: "string",
13438                title: "(string|element|function)",
13439                trigger: "string",
13440                delay: "(number|object)",
13441                html: "boolean",
13442                selector: "(string|boolean)",
13443                placement: "(string|function)",
13444                offset: "string",
13445                constraints: "array"
13446            }, n = {TOP: "bottom center", RIGHT: "middle left", BOTTOM: "top center", LEFT: "middle right"},
13447            o = {IN: "in", OUT: "out"}, p = {
13448                HIDE: "hide" + h,
13449                HIDDEN: "hidden" + h,
13450                SHOW: "show" + h,
13451                SHOWN: "shown" + h,
13452                INSERTED: "inserted" + h,
13453                CLICK: "click" + h,
13454                FOCUSIN: "focusin" + h,
13455                FOCUSOUT: "focusout" + h,
13456                MOUSEENTER: "mouseenter" + h,
13457                MOUSELEAVE: "mouseleave" + h
13458            }, q = {FADE: "fade", IN: "in"}, r = {TOOLTIP: ".tooltip", TOOLTIP_INNER: ".tooltip-inner"},
13459            s = {element: !1, enabled: !1}, t = {HOVER: "hover", FOCUS: "focus", CLICK: "click", MANUAL: "manual"},
13460            u = function () {
13461                function i(a, b) {
13462                    c(this, i), this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._tether = null, this.element = a, this.config = this._getConfig(b), this.tip = null, this._setListeners()
13463                }
13464
13465                return e(i, [{
13466                    key: "enable", value: function () {
13467                        this._isEnabled = !0
13468                    }
13469                }, {
13470                    key: "disable", value: function () {
13471                        this._isEnabled = !1
13472                    }
13473                }, {
13474                    key: "toggleEnabled", value: function () {
13475                        this._isEnabled = !this._isEnabled
13476                    }
13477                }, {
13478                    key: "toggle", value: function (b) {
13479                        if (b) {
13480                            var c = this.constructor.DATA_KEY, d = a(b.currentTarget).data(c);
13481                            d || (d = new this.constructor(b.currentTarget, this._getDelegateConfig()), a(b.currentTarget).data(c, d)), d._activeTrigger.click = !d._activeTrigger.click, d._isWithActiveTrigger() ? d._enter(null, d) : d._leave(null, d)
13482                        } else {
13483                            if (a(this.getTipElement()).hasClass(q.IN)) return void this._leave(null, this);
13484                            this._enter(null, this)
13485                        }
13486                    }
13487                }, {
13488                    key: "dispose", value: function () {
13489                        clearTimeout(this._timeout), this.cleanupTether(), a.removeData(this.element, this.constructor.DATA_KEY), a(this.element).off(this.constructor.EVENT_KEY), this.tip && a(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, this._tether = null, this.element = null, this.config = null, this.tip = null
13490                    }
13491                }, {
13492                    key: "show", value: function () {
13493                        var b = this, c = a.Event(this.constructor.Event.SHOW);
13494                        if (this.isWithContent() && this._isEnabled) {
13495                            a(this.element).trigger(c);
13496                            var d = a.contains(this.element.ownerDocument.documentElement, this.element);
13497                            if (c.isDefaultPrevented() || !d) return;
13498                            var e = this.getTipElement(), g = f.getUID(this.constructor.NAME);
13499                            e.setAttribute("id", g), this.element.setAttribute("aria-describedby", g), this.setContent(), this.config.animation && a(e).addClass(q.FADE);
13500                            var h = "function" == typeof this.config.placement ? this.config.placement.call(this, e, this.element) : this.config.placement,
13501                                j = this._getAttachment(h);
13502                            a(e).data(this.constructor.DATA_KEY, this).appendTo(document.body), a(this.element).trigger(this.constructor.Event.INSERTED), this._tether = new Tether({
13503                                attachment: j,
13504                                element: e,
13505                                target: this.element,
13506                                classes: s,
13507                                classPrefix: k,
13508                                offset: this.config.offset,
13509                                constraints: this.config.constraints,
13510                                addTargetClasses: !1
13511                            }), f.reflow(e), this._tether.position(), a(e).addClass(q.IN);
13512                            var l = function () {
13513                                var c = b._hoverState;
13514                                b._hoverState = null, a(b.element).trigger(b.constructor.Event.SHOWN), c === o.OUT && b._leave(null, b)
13515                            };
13516                            if (f.supportsTransitionEnd() && a(this.tip).hasClass(q.FADE)) return void a(this.tip).one(f.TRANSITION_END, l).emulateTransitionEnd(i._TRANSITION_DURATION);
13517                            l()
13518                        }
13519                    }
13520                }, {
13521                    key: "hide", value: function (b) {
13522                        var c = this, d = this.getTipElement(), e = a.Event(this.constructor.Event.HIDE),
13523                            g = function () {
13524                                c._hoverState !== o.IN && d.parentNode && d.parentNode.removeChild(d), c.element.removeAttribute("aria-describedby"), a(c.element).trigger(c.constructor.Event.HIDDEN), c.cleanupTether(), b && b()
13525                            };
13526                        a(this.element).trigger(e), e.isDefaultPrevented() || (a(d).removeClass(q.IN), f.supportsTransitionEnd() && a(this.tip).hasClass(q.FADE) ? a(d).one(f.TRANSITION_END, g).emulateTransitionEnd(j) : g(), this._hoverState = "")
13527                    }
13528                }, {
13529                    key: "isWithContent", value: function () {
13530                        return Boolean(this.getTitle())
13531                    }
13532                }, {
13533                    key: "getTipElement", value: function () {
13534                        return this.tip = this.tip || a(this.config.template)[0]
13535                    }
13536                }, {
13537                    key: "setContent", value: function () {
13538                        var b = a(this.getTipElement());
13539                        this.setElementContent(b.find(r.TOOLTIP_INNER), this.getTitle()), b.removeClass(q.FADE).removeClass(q.IN), this.cleanupTether()
13540                    }
13541                }, {
13542                    key: "setElementContent", value: function (b, c) {
13543                        var d = this.config.html;
13544                        "object" == typeof c && (c.nodeType || c.jquery) ? d ? a(c).parent().is(b) || b.empty().append(c) : b.text(a(c).text()) : b[d ? "html" : "text"](c)
13545                    }
13546                }, {
13547                    key: "getTitle", value: function () {
13548                        var a = this.element.getAttribute("data-original-title");
13549                        return a || (a = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), a
13550                    }
13551                }, {
13552                    key: "cleanupTether", value: function () {
13553                        this._tether && this._tether.destroy()
13554                    }
13555                }, {
13556                    key: "_getAttachment", value: function (a) {
13557                        return n[a.toUpperCase()]
13558                    }
13559                }, {
13560                    key: "_setListeners", value: function () {
13561                        var b = this, c = this.config.trigger.split(" ");
13562                        c.forEach(function (c) {
13563                            if ("click" === c) a(b.element).on(b.constructor.Event.CLICK, b.config.selector, a.proxy(b.toggle, b)); else if (c !== t.MANUAL) {
13564                                var d = c === t.HOVER ? b.constructor.Event.MOUSEENTER : b.constructor.Event.FOCUSIN,
13565                                    e = c === t.HOVER ? b.constructor.Event.MOUSELEAVE : b.constructor.Event.FOCUSOUT;
13566                                a(b.element).on(d, b.config.selector, a.proxy(b._enter, b)).on(e, b.config.selector, a.proxy(b._leave, b))
13567                            }
13568                        }), this.config.selector ? this.config = a.extend({}, this.config, {
13569                            trigger: "manual",
13570                            selector: ""
13571                        }) : this._fixTitle()
13572                    }
13573                }, {
13574                    key: "_fixTitle", value: function () {
13575                        var a = typeof this.element.getAttribute("data-original-title");
13576                        (this.element.getAttribute("title") || "string" !== a) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
13577                    }
13578                }, {
13579                    key: "_enter", value: function (b, c) {
13580                        var d = this.constructor.DATA_KEY;
13581                        return c = c || a(b.currentTarget).data(d), c || (c = new this.constructor(b.currentTarget, this._getDelegateConfig()), a(b.currentTarget).data(d, c)), b && (c._activeTrigger["focusin" === b.type ? t.FOCUS : t.HOVER] = !0), a(c.getTipElement()).hasClass(q.IN) || c._hoverState === o.IN ? void (c._hoverState = o.IN) : (clearTimeout(c._timeout), c._hoverState = o.IN, c.config.delay && c.config.delay.show ? void (c._timeout = setTimeout(function () {
13582                            c._hoverState === o.IN && c.show()
13583                        }, c.config.delay.show)) : void c.show())
13584                    }
13585                }, {
13586                    key: "_leave", value: function (b, c) {
13587                        var d = this.constructor.DATA_KEY;
13588                        return c = c || a(b.currentTarget).data(d), c || (c = new this.constructor(b.currentTarget, this._getDelegateConfig()), a(b.currentTarget).data(d, c)), b && (c._activeTrigger["focusout" === b.type ? t.FOCUS : t.HOVER] = !1), c._isWithActiveTrigger() ? void 0 : (clearTimeout(c._timeout), c._hoverState = o.OUT, c.config.delay && c.config.delay.hide ? void (c._timeout = setTimeout(function () {
13589                            c._hoverState === o.OUT && c.hide()
13590                        }, c.config.delay.hide)) : void c.hide())
13591                    }
13592                }, {
13593                    key: "_isWithActiveTrigger", value: function () {
13594                        for (var a in this._activeTrigger) if (this._activeTrigger[a]) return !0;
13595                        return !1
13596                    }
13597                }, {
13598                    key: "_getConfig", value: function (c) {
13599                        return c = a.extend({}, this.constructor.Default, a(this.element).data(), c), c.delay && "number" == typeof c.delay && (c.delay = {
13600                            show: c.delay,
13601                            hide: c.delay
13602                        }), f.typeCheckConfig(b, c, this.constructor.DefaultType), c
13603                    }
13604                }, {
13605                    key: "_getDelegateConfig", value: function () {
13606                        var a = {};
13607                        if (this.config) for (var b in this.config) this.constructor.Default[b] !== this.config[b] && (a[b] = this.config[b]);
13608                        return a
13609                    }
13610                }], [{
13611                    key: "_jQueryInterface", value: function (b) {
13612                        return this.each(function () {
13613                            var c = a(this).data(g), d = "object" == typeof b ? b : null;
13614                            if ((c || !/destroy|hide/.test(b)) && (c || (c = new i(this, d), a(this).data(g, c)), "string" == typeof b)) {
13615                                if (void 0 === c[b]) throw new Error('No method n
13615amed "' + b + '"');
13616                                c[b]()
13617                            }
13618                        })
13619                    }
13620                }, {
13621                    key: "VERSION", get: function () {
13622                        return d
13623                    }
13624                }, {
13625                    key: "Default", get: function () {
13626                        return l
13627                    }
13628                }, {
13629                    key: "NAME", get: function () {
13630                        return b
13631                    }
13632                }, {
13633                    key: "DATA_KEY", get: function () {
13634                        return g
13635                    }
13636                }, {
13637                    key: "Event", get: function () {
13638                        return p
13639                    }
13640                }, {
13641                    key: "EVENT_KEY", get: function () {
13642                        return h
13643                    }
13644                }, {
13645                    key: "DefaultType", get: function () {
13646                        return m
13647                    }
13648                }]), i
13649            }();
13650        return a.fn[b] = u._jQueryInterface, a.fn[b].Constructor = u, a.fn[b].noConflict = function () {
13651            return a.fn[b] = i, u._jQueryInterface
13652        }, u
13653    }(jQuery));
13654    !function (a) {
13655        var f = "popover", h = "4.0.0-alpha", i = "bs.popover", j = "." + i, k = a.fn[f], l = a.extend({}, g.Default, {
13656                placement: "right",
13657                trigger: "click",
13658                content: "",
13659                template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
13660            }), m = a.extend({}, g.DefaultType, {content: "(string|element|function)"}), n = {FADE: "fade", IN: "in"},
13661            o = {TITLE: ".popover-title", CONTENT: ".popover-content", ARROW: ".popover-arrow"}, p = {
13662                HIDE: "hide" + j,
13663                HIDDEN: "hidden" + j,
13664                SHOW: "show" + j,
13665                SHOWN: "shown" + j,
13666                INSERTED: "inserted" + j,
13667                CLICK: "click" + j,
13668                FOCUSIN: "focusin" + j,
13669                FOCUSOUT: "focusout" + j,
13670                MOUSEENTER: "mouseenter" + j,
13671                MOUSELEAVE: "mouseleave" + j
13672            }, q = function (g) {
13673                function k() {
13674                    c(this, k), d(Object.getPrototypeOf(k.prototype), "constructor", this).apply(this, arguments)
13675                }
13676
13677                return b(k, g), e(k, [{
13678                    key: "isWithContent", value: function () {
13679                        return this.getTitle() || this._getContent()
13680                    }
13681                }, {
13682                    key: "getTipElement", value: function () {
13683                        return this.tip = this.tip || a(this.config.template)[0]
13684                    }
13685                }, {
13686                    key: "setContent", value: function () {
13687                        var b = a(this.getTipElement());
13688                        this.setElementContent(b.find(o.TITLE), this.getTitle()), this.setElementContent(b.find(o.CONTENT), this._getContent()), b.removeClass(n.FADE).removeClass(n.IN), this.cleanupTether()
13689                    }
13690                }, {
13691                    key: "_getContent", value: function () {
13692                        return this.element.getAttribute("data-content") || ("function" == typeof this.config.content ? this.config.content.call(this.element) : this.config.content)
13693                    }
13694                }], [{
13695                    key: "_jQueryInterface", value: function (b) {
13696                        return this.each(function () {
13697                            var c = a(this).data(i), d = "object" == typeof b ? b : null;
13698                            if ((c || !/destroy|hide/.test(b)) && (c || (c = new k(this, d), a(this).data(i, c)), "string" == typeof b)) {
13699                                if (void 0 === c[b]) throw new Error('No method named "' + b + '"');
13700                                c[b]()
13701                            }
13702                        })
13703                    }
13704                }, {
13705                    key: "VERSION", get: function () {
13706                        return h
13707                    }
13708                }, {
13709                    key: "Default", get: function () {
13710                        return l
13711                    }
13712                }, {
13713                    key: "NAME", get: function () {
13714                        return f
13715                    }
13716                }, {
13717                    key: "DATA_KEY", get: function () {
13718                        return i
13719                    }
13720                }, {
13721                    key: "Event", get: function () {
13722                        return p
13723                    }
13724                }, {
13725                    key: "EVENT_KEY", get: function () {
13726                        return j
13727                    }
13728                }, {
13729                    key: "DefaultType", get: function () {
13730                        return m
13731                    }
13732                }]), k
13733            }(g);
13734        return a.fn[f] = q._jQueryInterface, a.fn[f].Constructor = q, a.fn[f].noConflict = function () {
13735            return a.fn[f] = k, q._jQueryInterface
13736        }, q
13737    }(jQuery)
13738}(jQuery), function (e, s) {
13739    "use strict";
13740    var o = function () {
13741        var o = {
13742            bcClass: "sf-breadcrumb",
13743            menuClass: "sf-js-enabled",
13744            anchorClass: "sf-with-ul",
13745            menuArrowClass: "sf-arrows"
13746        }, n = function () {
13747            var s = /^(?![\w\W]*Windows Phone)[\w\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);
13748            return s && e("html").css("cursor", "pointer").on("click", e.noop), s
13749        }(), t = function () {
13750            var e = document.documentElement.style;
13751            return "behavior" in e && "fill" in e && /iemobile/i.test(navigator.userAgent)
13752        }(), i = function () {
13753            return !!s.PointerEvent
13754        }(), r = function (e, s) {
13755            var n = o.menuClass;
13756            s.cssArrows && (n += " " + o.menuArrowClass), e.toggleClass(n)
13757        }, a = function (s, n) {
13758            return s.find("li." + n.pathClass).slice(0, n.pathLevels).addClass(n.hoverClass + " " + o.bcClass).filter(function () {
13759                return e(this).children(n.popUpSelector).hide().show().length
13760            }).removeClass(n.pathClass)
13761        }, l = function (e) {
13762            e.children("a").toggleClass(o.anchorClass)
13763        }, h = function (e) {
13764            var s = e.css("ms-touch-action"), o = e.css("touch-action");
13765            o = o || s, o = "pan-y" === o ? "auto" : "pan-y", e.css({"ms-touch-action": o, "touch-action": o})
13766        }, u = function (s, o) {
13767            var r = "li:has(" + o.popUpSelector + ")";
13768            e.fn.hoverIntent && !o.disableHI ? s.hoverIntent(c, f, r) : s.on("mouseenter.superfish", r, c).on("mouseleave.
13768superfish", r, f);
13769            var a = "MSPointerDown.superfish";
13770            i && (a = "pointerdown.superfish"), n || (a += " touchend.superfish"), t && (a += " mousedown.superfish"), s.on("focusin.superfish", "li", c).on("focusout.superfish", "li", f).on(a, "a", o, p)
13771        }, p = function (s) {
13772            var o = e(this), n = m(o), t = o.siblings(s.data.popUpSelector);
13773            return n.onHandleTouch.call(t) === !1 ? this : void (t.length > 0 && t.is(":hidden") && (o.one("click.superfish", !1), "MSPointerDown" === s.type || "pointerdown" === s.type ? o.trigger("focus") : e.proxy(c, o.parent("li"))()))
13774        }, c = function () {
13775            var s = e(this), o = m(s);
13776            clearTimeout(o.sfTimer), s.siblings().superfish("hide").end().superfish("show")
13777        }, f = function () {
13778            var s = e(this), o = m(s);
13779            n ? e.proxy(d, s, o)() : (clearTimeout(o.sfTimer), o.sfTimer = setTimeout(e.proxy(d, s, o), o.delay))
13780        }, d = function (s) {
13781            s.retainPath = e.inArray(this[0], s.$path) > -1, this.superfish("hide"), this.parents("." + s.hoverClass).length || (s.onIdle.call(v(this)), s.$path.length && e.proxy(c, s.$path)())
13782        }, v = function (e) {
13783            return e.closest("." + o.menuClass)
13784        }, m = function (e) {
13785            return v(e).data("sf-options")
13786        };
13787        return {
13788            hide: function (s) {
13789                if (this.length) {
13790                    var o = this, n = m(o);
13791                    if (!n) return this;
13792                    var t = n.retainPath === !0 ? n.$path : "",
13793                        i = o.find("li." + n.hoverClass).add(this).not(t).removeClass(n.hoverClass).children(n.popUpSelector),
13794                        r = n.speedOut;
13795                    if (s && (i.show(), r = 0), n.retainPath = !1, n.onBeforeHide.call(i) === !1) return this;
13796                    i.stop(!0, !0).animate(n.animationOut, r, function () {
13797                        var s = e(this);
13798                        n.onHide.call(s)
13799                    })
13800                }
13801                return this
13802            }, show: function () {
13803                var e = m(this);
13804                if (!e) return this;
13805                var s = this.addClass(e.hoverClass), o = s.children(e.popUpSelector);
13806                return e.onBeforeShow.call(o) === !1 ? this : (o.stop(!0, !0).animate(e.animation, e.speed, function () {
13807                    e.onShow.call(o)
13808                }), this)
13809            }, destroy: function () {
13810                return this.each(function () {
13811                    var s, n = e(this), t = n.data("sf-options");
13812                    return t ? (s = n.find(t.popUpSelector).parent("li"), clearTimeout(t.sfTimer), r(n, t), l(s), h(n), n.off(".superfish").off(".hoverIntent"), s.children(t.popUpSelector).attr("style", function (e, s) {
13813                        return s.replace(/display[^;]+;?/g, "")
13814                    }), t.$path.removeClass(t.hoverClass + " " + o.bcClass).addClass(t.pathClass), n.find("." + t.hoverClass).removeClass(t.hoverClass), t.onDestroy.call(n), void n.removeData("sf-options")) : !1
13815                })
13816            }, init: function (s) {
13817                return this.each(function () {
13818                    var n = e(this);
13819                    if (n.data("sf-options")) return !1;
13820                    var t = e.extend({}, e.fn.superfish.defaults, s), i = n.find(t.popUpSelector).parent("li");
13821                    t.$path = a(n, t), n.data("sf-options", t), r(n, t), l(i), h(n), u(n, t), i.not("." + o.bcClass).superfish("hide", !0), t.onInit.call(this)
13822                })
13823            }
13824        }
13825    }();
13826    e.fn.superfish = function (s) {
13827        return o[s] ? o[s].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof s && s ? e.error("Method " + s + " does not exist on jQuery.fn.superfish") : o.init.apply(this, arguments)
13828    }, e.fn.superfish.defaults = {
13829        popUpSelector: "ul,.sf-mega",
13830        hoverClass: "sfHover",
13831        pathClass: "overrideThisToUse",
13832        pathLevels: 1,
13833        delay: 800,
13834        animation: {opacity: "show"},
13835        animationOut: {opacity: "hide"},
13836        speed: "normal",
13837        speedOut: "fast",
13838        cssArrows: !0,
13839        disableHI: !1,
13840        onInit: e.noop,
13841        onBeforeShow: e.noop,
13842        onShow: e.noop,
13843        onBeforeHide: e.noop,
13844        onHide: e.noop,
13845        onIdle: e.noop,
13846        onDestroy: e.noop,
13847        onHandleTouch: e.noop
13848    }
13849}(jQuery, window), function ($) {
13850    function process() {
13851        check_lock = !1;
13852        for (var index = 0, selectorsLength = selectors.length; selectorsLength > index; index++) {
13853            var $appeared = $(selectors[index]).filter(function () {
13854                return $(this).is(":appeared")
13855            });
13856            if ($appeared.trigger("appear", [$appeared]), $prior_appeared[index]) {
13857                var $disappeared = $prior_appeared[index].not($appeared);
13858                $disappeared.trigger("disappear", [$disappeared])
13859            }
13860            $prior_appeared[index] = $appeared
13861        }
13862    }
13863
13864    function add_selector(selector) {
13865        selectors.push(selector), $prior_appeared.push()
13866    }
13867
13868    var selectors = [], check_binded = !1, check_lock = !1, defaults = {interval: 250, force_process: !1},
13869        $window = $(window), $prior_appeared = [];
13870    $.expr[":"].appeared = function (element) {
13871        var $element = $(element);
13872        if (!$element.is(":visible")) return !1;
13873        var window_left = $window.scrollLeft(), window_top = $window.scrollTop(), offset = $element.offset(),
13874            left = offset.left, top = offset.top;
13875        return top + $element.height() >= window_top && top - ($element.data("appear-top-offset") || 0) <= window_top + $window.height() && left + $element.width() >
13875= window_left && left - ($element.data("appear-left-offset") || 0) <= window_left + $window.width() ? !0 : !1
13876    }, $.fn.extend({
13877        appear: function (options) {
13878            var opts = $.extend({}, defaults, options || {}), selector = this.selector || this;
13879            if (!check_binded) {
13880                var on_check = function () {
13881                    check_lock || (check_lock = !0, setTimeout(process, opts.interval))
13882                };
13883                $(window).scroll(on_check).resize(on_check), check_binded = !0
13884            }
13885            return opts.force_process && setTimeout(process, opts.interval), add_selector(selector), $(selector)
13886        }
13887    }), $.extend({
13888        force_appear: function () {
13889            return check_binded ? (process(), !0) : !1
13890        }
13891    })
13892}(function () {
13893    return "undefined" != typeof module ? require("jquery") : jQuery
13894}()), function ($) {
13895    jQuery.scrollSpeed = function (step, speed, easing) {
13896        var scrollY, scrollX, view, $document = $(document), $window = $(window), $body = $("html, body"),
13897            option = easing || "default", root = 0, scroll = !1;
13898        return window.navigator.msPointerEnabled ? !1 : void $window.on("mousewheel DOMMouseScroll", function (e) {
13899            var deltaY = e.originalEvent.wheelDeltaY, detail = e.originalEvent.detail;
13900            return scrollY = $document.height() > $window.height(), scrollX = $document.width() > $window.width(), scroll = !0, scrollY && (view = $window.height(), (0 > deltaY || detail > 0) && (root = root + view >= $document.height() ? root : root += step), (deltaY > 0 || 0 > detail) && (root = 0 >= root ? 0 : root -= step), $body.stop().animate({scrollTop: root}, speed, option, function () {
13901                scroll = !1
13902            })), scrollX && (view = $window.width(), (0 > deltaY || detail > 0) && (root = root + view >= $document.width() ? root : root += step), (deltaY > 0 || 0 > detail) && (root = 0 >= root ? 0 : root -= step), $body.stop().animate({scrollLeft: root}, speed, option, function () {
13903                scroll = !1
13904            })), !1
13905        }).on("scroll", function () {
13906            scrollY && !scroll && (root = $window.scrollTop()), scrollX && !scroll && (root = $window.scrollLeft())
13907        }).on("resize", function () {
13908            scrollY && !scroll && (view = $window.height()), scrollX && !scroll && (view = $window.width())
13909        })
13910    }, jQuery.easing["default"] = function (x, t, b, c, d) {
13911        return -c * ((t = t / d - 1) * t * t * t - 1) + b
13912    }
13913}(jQuery), function ($, window, undefined) {
13914    "use strict";
13915    $.fn.backstretch = function (images, options) {
13916        return (images === undefined || 0 === images.length) && $.error("No images were supplied for Backstretch"), 0 === $(window).scrollTop() && window.scrollTo(0, 0), this.each(function () {
13917            var $this = $(this), obj = $this.data("backstretch");
13918            if (obj) {
13919                if ("string" == typeof images && "function" == typeof obj[images]) return void obj[images](options);
13920                options = $.extend(obj.options, options), obj.destroy(!0)
13921            }
13922            obj = new Backstretch(this, images, options), $this.data("backstretch", obj)
13923        })
13924    }, $.backstretch = function (images, options) {
13925        return $("body").backstretch(images, options).data("backstretch")
13926    }, $.expr[":"].backstretch = function (elem) {
13927        return $(elem).data("backstretch") !== undefined
13928    }, $.fn.backstretch.defaults = {centeredX: !0, centeredY: !0, duration: 5e3, fade: 0};
13929    var styles = {
13930        wrap: {
13931            left: 0,
13932            top: 0,
13933            overflow: "hidden",
13934            margin: 0,
13935            padding: 0,
13936            height: "100%",
13937            width: "100%",
13938            zIndex: -999999
13939        },
13940        img: {
13941            position: "absolute",
13942            display: "none",
13943            margin: 0,
13944            padding: 0,
13945            border: "none",
13946            width: "auto",
13947            height: "auto",
13948            maxHeight: "none",
13949            maxWidth: "none",
13950            zIndex: -999999
13951        }
13952    }, Backstretch = function (container, images, options) {
13953        this.options = $.extend({}, $.fn.backstretch.defaults, options || {}), this.images = $.isArray(images) ? images : [images], $.each(this.images, function () {
13954            $("<img />")[0].src = this
13955        }), this.isBody = container === document.body, this.$container = $(container), this.$root = this.isBody ? $(supportsFixedPosition ? window : document) : this.$container;
13956        var $existing = this.$container.children(".backstretch").first();
13957        if (this.$wrap = $existing.length ? $existing : $('<div class="backstretch"></div>').css(styles.wrap).appendTo(this.$container), !this.isBody) {
13958            var position = this.$container.css("position"), zIndex = this.$container.css("zIndex");
13959            this.$container.css({
13960                position: "static" === position ? "relative" : position,
13961                zIndex: "auto" === zIndex ? 0 : zIndex,
13962                background: "none"
13963            }), this.$wrap.css({zIndex: -999998})
13964        }
13965        this.$wrap.css({position: this.isBody && supportsFixedPosition ? "fixed" : "absolute"}), this.index = 0, this.show(this.index), $(window).on("resize.backstretch", $.proxy(this.resize, this)).on("orientationchange.backstretch", $.proxy(function () {
13966            this.isBody && 0 === window.pageYOffset && (window.scrollTo(0, 1), this.resize())
13967        }, this))
13968    };
13969    Backstretch.prototype = {
13970        resize: function () {
13971            try {
13972                var bgOffset, bgCSS = {left: 0, top: 0},
13973                    rootWidth = this.isBody ? this.$root.width() : this.$root.innerWidth(), bgWidth = rootWidth,
13974                    rootHeight = this.isBody ? window.innerHeight ? window.innerHeight : this.$root.height() : this.$root.innerHe
13974ight(),
13975                    bgHeight = bgWidth / this.$img.data("ratio");
13976                bgHeight >= rootHeight ? (bgOffset = (bgHeight - rootHeight) / 2, this.options.centeredY && (bgCSS.top = "-" + bgOffset + "px")) : (bgHeight = rootHeight, bgWidth = bgHeight * this.$img.data("ratio"), bgOffset = (bgWidth - rootWidth) / 2, this.options.centeredX && (bgCSS.left = "-" + bgOffset + "px")), this.$wrap.css({
13977                    width: rootWidth,
13978                    height: rootHeight
13979                }).find("img:not(.deleteable)").css({width: bgWidth, height: bgHeight}).css(bgCSS)
13980            } catch (err) {
13981            }
13982            return this
13983        }, show: function (newIndex) {
13984            if (!(Math.abs(newIndex) > this.images.length - 1)) {
13985                var self = this, oldImage = self.$wrap.find("img").addClass("deleteable"),
13986                    evtOptions = {relatedTarget: self.$container[0]};
13987                return self.$container.trigger($.Event("backstretch.before", evtOptions), [self, newIndex]), this.index = newIndex, clearInterval(self.interval), self.$img = $("<img />").css(styles.img).bind("load", function (e) {
13988                    var imgWidth = this.width || $(e.target).width(), imgHeight = this.height || $(e.target).height();
13989                    $(this).data("ratio", imgWidth / imgHeight), $(this).fadeIn(self.options.speed || self.options.fade, function () {
13990                        oldImage.remove(), self.paused || self.cycle(), $(["after", "show"]).each(function () {
13991                            self.$container.trigger($.Event("backstretch." + this, evtOptions), [self, newIndex])
13992                        })
13993                    }), self.resize()
13994                }).appendTo(self.$wrap), self.$img.attr("src", self.images[newIndex]), self
13995            }
13996        }, next: function () {
13997            return this.show(this.index < this.images.length - 1 ? this.index + 1 : 0)
13998        }, prev: function () {
13999            return this.show(0 === this.index ? this.images.length - 1 : this.index - 1)
14000        }, pause: function () {
14001            return this.paused = !0, this
14002        }, resume: function () {
14003            return this.paused = !1, this.next(), this
14004        }, cycle: function () {
14005            return this.images.length > 1 && (clearInterval(this.interval), this.interval = setInterval($.proxy(function () {
14006                this.paused || this.next()
14007            }, this), this.options.duration)), this
14008        }
14008, destroy: function (preserveBackground) {
14009            $(window).off("resize.backstretch orientationchange.backstretch"), clearInterval(this.interval), preserveBackground || this.$wrap.remove(), this.$container.removeData("backstretch")
14010        }
14011    };
14012    var supportsFixedPosition = function () {
14013        var ua = navigator.userAgent, platform = navigator.platform, wkmatch = ua.match(/AppleWebKit\/([0-9]+)/),
14014            wkversion = !!wkmatch && wkmatch[1], ffmatch = ua.match(/Fennec\/([0-9]+)/),
14015            ffversion = !!ffmatch && ffmatch[1], operammobilematch = ua.match(/Opera Mobi\/([0-9]+)/),
14016            omversion = !!operammobilematch && operammobilematch[1], iematch = ua.match(/MSIE ([0-9]+)/),
14017            ieversion = !!iematch && iematch[1];
14018        return !((platform.indexOf("iPhone") > -1 || platform.indexOf("iPad") > -1 || platform.indexOf("iPod") > -1) && wkversion && 534 > wkversion || window.operamini && "[object OperaMini]" === {}.toString.call(window.operamini) || operammobilematch && 7458 > omversion || ua.indexOf("Android") > -1 && wkversion && 533 > wkversion || ffversion && 6 > ffversion || "palmGetResource" in window && wkversion && 534 > wkversion || ua.indexOf("MeeGo") > -1 && ua.indexOf("NokiaBrowser/8.5.0") > -1 || ieversion && 6 >= ieversion)
14019    }()
14020}(jQuery, window), !function (a, b, c) {
14021    "use strict";
14022
14023    function d(c) {
14024        if (e = b.documentElement, f = b.body, T(), ha = this, c = c || {}, ma = c.constants || {}, c.easing) for (var d in c.easing) W[d] = c.easing[d];
14025        ta = c.edgeStrategy || "set", ka = {
14026            beforerender: c.beforerender,
14027            render: c.render,
14028            keyframe: c.keyframe
14029        }, la = c.forceHeight !== !1, la && (Ka = c.scale || 1), na = c.mobileDeceleration || y, pa = c.smoothScrolling !== !1, qa = c.smoothScrollingDuration || A, ra = {targetTop: ha.getScrollTop()}, Sa = (c.mobileCheck || function () {
14030            return /Android|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent || navigator.vendor || a.opera)
14031        })(), Sa ? (ja = b.getElementById(c.skrollrBody || z), ja && ga(), X(), Ea(e, [s, v], [t])) : Ea(e, [s, u], [t]), ha.refresh(), wa(a, "resize orientationchange", function () {
14032            var a = e.clientWidth, b = e.clientHeight;
14033            (b !== Pa || a !== Oa) && (Pa = b, Oa = a, Qa = !0)
14034        });
14035        var g = U();
14036        return function h() {
14037            $(), va = g(h)
14038        }(), ha
14039    }
14040
14041    var e, f, g = {
14042            get: function () {
14043                return ha
14044            }, init: function (a) {
14045                return ha || new d(a)
14046            }, VERSION: "0.6.29"
14047        }, h = Object.prototype.hasOwnProperty, i = a.Math, j = a.getComputedStyle, k = "touchstart", l = "touchmove",
14048        m = "touchcancel", n = "touchend", o = "skrollable", p = o + "-before", q = o + "-between", r = o + "-after",
14049        s = "skrollr", t = "no-" + s, u = s + "-desktop", v = s + "-mobile", w = "linear", x = 1e3, y = .004,
14050        z = "skrollr-body", A = 200, B = "start", C = "end", D = "center", E = "bottom", F = "___skrollable_id",
14051        G = /^(?:input|textarea|button|select)$/i, H = /^\s+|\s+$/g,
14052        I = /^data(?:-(_\w+))?(?:-?(-?\d*\.?\d+p?))?(?:-?(start|end|top|center|bottom))?(?:-?(top|center|bottom))?$/,
14053        J = /\s*(@?[\w\-\[\]]+)\s*:\s*(.+?)\s*(?:;|$)/gi, K = /^(@?[a-z\-]+)\[(\w+)\]$/, L = /-([a-z0-9_])/g,
14054        M = function (a, b) {
14055            return b.toUpperCase()
14056        }
vendor: 17,392 bytes, lines 14056-14383
14056, N = /[\-+]?[\d]*\.?[\d]+/g, O = /\{\?\}/g, P = /rgba?\(\s*-?\d+\s*,\s*-?\d+\s*,\s*-?\d+/g,
14057        Q = /[a-z\-]+-gradient/g, R = "", S = "", T = function () {
14058            var a = /^(?:O|Moz|webkit|ms)|(?:-(?:o|moz|webkit|ms)-)/;
14059            if (j) {
14060                var b = j(f, null);
14061                for (var c in b) if (R = c.match(a) || +c == c && b[c].match(a)) break;
14062                if (!R) return void (R = S = "");
14063                R = R[0], "-" === R.slice(0, 1) ? (S = R, R = {
14064                    "-webkit-": "webkit",
14065                    "-moz-": "Moz",
14066                    "-ms-": "ms",
14067                    "-o-": "O"
14068                }[R]) : S = "-" + R.toLowerCase() + "-"
14069            }
14070        }, U = function () {
14071            var b = a.requestAnimationFrame || a[R.toLowerCase() + "RequestAnimationFrame"], c = Ha();
14072            return (Sa || !b) && (b = function (b) {
14073                var d = Ha() - c, e = i.max(0, 1e3 / 60 - d);
14074                return a.setTimeout(function () {
14075                    c = Ha(), b()
14076                }, e)
14077            }), b
14078        }, V = function () {
14079            var b = a.cancelAnimationFrame || a[R.toLowerCase() + "CancelAnimationFrame"];
14080            return (Sa || !b) && (b = function (b) {
14081                return a.clearTimeout(b)
14082            }), b
14083        }, W = {
14084            begin: function () {
14085                return 0
14086            }, end: function () {
14087                return 1
14088            }, linear: function (a) {
14089                return a
14090            }, quadratic: function (a) {
14091                return a * a
14092            }, cubic: function (a) {
14093                return a * a * a
14094            }, swing: function (a) {
14095                return -i.cos(a * i.PI) / 2 + .5
14096            }, sqrt: function (a) {
14097                return i.sqrt(a)
14098            }, outCubic: function (a) {
14099                return i.pow(a - 1, 3) + 1
14100            }, bounce: function (a) {
14101                var b;
14102                if (.5083 >= a) b = 3; else if (.8489 >= a) b = 9; else if (.96208 >= a) b = 27; else {
14103                    if (!(.99981 >= a)) return 1;
14104                    b = 91
14105                }
14106                return 1 - i.abs(3 * i.cos(a * b * 1.028) / b)
14107            }
14108        };
14109    d.prototype.refresh = function (a) {
14110        var d, e, f = !1;
14111        for (a === c ? (f = !0, ia = [], Ra = 0, a = b.getElementsByTagName("*")) : a.length === c && (a = [a]), d = 0, e = a.length; e > d; d++) {
14112            var g = a[d], h = g, i = [], j = pa, k = ta, l = !1;
14113            if (f && F in g && delete g[F], g.attributes) {
14114                for (var m = 0, n = g.attributes.length; n > m; m++) {
14115                    var p = g.attributes[m];
14116                    if ("data-anchor-target" !== p.name) if ("data-smooth-scrolling" !== p.name) if ("data-edge-strategy" !== p.name) if ("data-emit-events" !== p.name) {
14117                        var q = p.name.match(I);
14118                        if (null !== q) {
14119                            var r = {props: p.value, element: g, eventType: p.name.replace(L, M)};
14120                            i.push(r);
14121                            var s = q[1];
14122                            s && (r.constant = s.substr(1));
14123                            var t = q[2];
14124                            /p$/.test(t) ? (r.isPercentage = !0, r.offset = (0 | t.slice(0, -1)) / 100) : r.offset = 0 | t;
14125                            var u = q[3], v = q[4] || u;
14126                            u && u !== B && u !== C ? (r.mode = "relative", r.anchors = [u, v]) : (r.mode = "absolute", u === C ? r.isEnd = !0 : r.isPercentage || (r.offset = r.offset * Ka))
14127                        }
14128                    } else l = !0; else k = p.value; else j = "off" !== p.value; else if (h = b.querySelector(p.value), null === h) throw'Unable to find anchor target "' + p.value + '"'
14129                }
14130                if (i.length) {
14131                    var w, x, y;
14132                    !f && F in g ? (y = g[F], w = ia[y].styleAttr, x = ia[y].classAttr) : (y = g[F] = Ra++, w = g.style.cssText, x = Da(g)), ia[y] = {
14133                        element: g,
14134                        styleAttr: w,
14135                        classAttr: x,
14136                        anchorTarget: h,
14137                        keyFrames: i,
14138                        smoothScrolling: j,
14139                        edgeStrategy: k,
14140                        emitEvents: l,
14141                        lastFrameIndex: -1
14142                    }, Ea(g, [o], [])
14143                }
14144            }
14145        }
14146        for (Aa(), d = 0, e = a.length; e > d; d++) {
14147            var z = ia[a[d][F]];
14148            z !== c && (_(z), ba(z))
14149        }
14150        return ha
14151    }, d.prototype.relativeToAbsolute = function (a, b, c) {
14152        var d = e.clientHeight, f = a.getBoundingClientRect(), g = f.top, h = f.bottom - f.top;
14153        return b === E ? g -= d : b === D && (g -= d / 2), c === E ? g += h : c === D && (g += h / 2), g += ha.getScrollTop(), g + .5 | 0
14154    }, d.prototype.animateTo = function (a, b) {
14155        b = b || {};
14156        var d = Ha(), e = ha.getScrollTop(), f = b.duration === c ? x : b.duration;
14157        return oa = {
14158            startTop: e,
14159            topDiff: a - e,
14160            targetTop: a,
14161            duration: f,
14162            startTime: d,
14163            endTime: d + f,
14164            easing: W[b.easing || w],
14165            done: b.done
14166        }, oa.topDiff || (oa.done && oa.done.call(ha, !1), oa = c), ha
14167    }, d.prototype.stopAnimateTo = function () {
14168        oa && oa.done && oa.done.call(ha, !0), oa = c
14169    }, d.prototype.isAnimatingTo = function () {
14170        return !!oa
14171    }, d.prototype.isMobile = function () {
14172        return Sa
14173    }, d.prototype.setScrollTop = function (b, c) {
14174        return sa = c === !0, Sa ? Ta = i.min(i.max(b, 0), Ja) : a.scrollTo(0, b), ha
14175    }, d.prototype.getScrollTop = function () {
14176        return Sa ? Ta : a.pageYOffset || e.scrollTop || f.scrollTop || 0
14177    }, d.prototype.getMaxScrollTop = function () {
14178        return Ja
14179    }, d.prototype.on = function (a, b) {
14180        return ka[a] = b, ha
14181    }, d.prototype.off = function (a) {
14182        return delete ka[a], ha
14183    }, d.prototype.destroy = function () {
14184        var a = V();
14185        a(va), ya(), Ea(e, [t], [s, u, v]);
14186        for (var b = 0, d = ia.length; d > b; b++) fa(ia[b].element);
14187        e.style.overflow = f.style.overflow = "", e.style.height = f.style.height = "", ja && g.setStyle(ja, "transform", "none"), ha = c, ja = c, ka = c, la = c, Ja = 0, Ka = 1, ma = c, na = c, La = "down", Ma = -1, Oa = 0, Pa = 0, Qa = !1, oa = c, pa = c, qa = c, ra = c, sa = c, Ra = 0, ta = c, Sa = !1, Ta = 0, ua = c
14188    };
14189    var X = function () {
14190        var d, g, h, j, o, p, q, r, s, t, u, v;
14191        wa(e, [k, l, m, n].join(" "), function (a) {
14192            var e = a.changedTouches[0];
14193            for (j = a.target; 3 === j.nodeType;) j = j.parentNode;
14194            switch (o = e.clientY, p = e.clientX, t = a.timeStamp, G.test(j.tagName) || a.preventDefault(), a.type) {
14195                case k:
14196                    d && d.blur(), ha.stopAnimateTo(), d = j, g = q = o, h = p, s = t;
14197                    break;
14198                case l:
14199                    G.test(j.tagName) && b.activeElement !== j && a.preventDefault(), r = o - q, v = t - u, ha.setScrollTop(Ta - r, !0), q = o, u = t;
14200                    break;
14201                default:
14202                case m:
14203                case n:
14204                    var f = g - o, w = h - p, x = w * w + f * f;
14205                    if (49 > x) {
14206                        if (!G.test(d.tagName)) {
14207                            d.focus();
14208                            var y = b.createEvent("MouseEvents");
14209                            y.initMouseEvent("click", !0, !0, a.view, 1, e.screenX, e.screenY, e.clientX, e.clientY, a.ctrlKey, a.altKey, a.shiftKey, a.metaKey, 0, null), d.dispatchEvent(y)
14210                        }
14211                        return
14212                    }
14213                    d = c;
14214                    var z = r / v;
14215                    z = i.max(i.min(z, 3), -3);
14216                    var A = i.abs(z / na), B = z * A + .5 * na * A * A, C = ha.getScrollTop() - B, D = 0;
14217                    C > Ja ? (D = (Ja - C) / B, C = Ja) : 0 > C && (D = -C / B, C = 0), A *= 1 - D, ha.animateTo(C + .5 | 0, {
14218                        easing: "outCubic",
14219                        duration: A
14220                    })
14221            }
14222        }), a.scrollTo(0, 0), e.style.overflow = f.style.overflow = "hidden"
14223    }, Y = function () {
14224        var a, b, c, d, f, g, h, j, k, l, m, n = e.clientHeight, o = Ba();
14225        for (j = 0, k = ia.length; k > j; j++) for (a = ia[j], b = a.element, c = a.anchorTarget, d = a.keyFrames, f = 0, g = d.length; g > f; f++) h = d[f], l = h.offset, m = o[h.constant] || 0, h.frame = l, h.isPercentage && (l *= n, h.frame = l), "relative" === h.mode && (fa(b), h.frame = ha.relativeToAbsolute(c, h.anchors[0], h.anchors[1]) - l, fa(b, !0)), h.frame += m, la && !h.isEnd && h.frame > Ja && (Ja = h.frame);
14226        for (Ja = i.max(Ja, Ca()), j = 0, k = ia.length; k > j; j++) {
14227            for (a = ia[j], d = a.keyFrames, f = 0, g = d.length; g > f; f++) h = d[f], m = o[h.constant] || 0, h.isEnd && (h.frame = Ja - h.offset + m);
14228            a.keyFrames.sort(Ia)
14229        }
14230    }, Z = function (a, b) {
14231        for (var c = 0, d = ia.length; d > c; c++) {
14232            var e, f, i = ia[c], j = i.element, k = i.smoothScrolling ? a : b, l = i.keyFrames, m = l.length, n = l[0],
14233                s = l[l.length - 1], t = k < n.frame, u = k > s.frame, v = t ? n : s, w = i.emitEvents,
14234                x = i.lastFrameIndex;
14235            if (t || u) {
14236                if (t && -1 === i.edge || u && 1 === i.edge) continue;
14237                switch (t ? (Ea(j, [p], [r, q]), w && x > -1 && (za(j, n.eventType, La), i.lastFrameIndex = -1)) : (Ea(j, [r], [p, q]), w && m > x && (za(j, s.eventType, La), i.lastFrameIndex = m)), i.edge = t ? -1 : 1, i.edgeStrategy) {
14238                    case"reset":
14239                        fa(j);
14240                        continue;
14241                    case"ease":
14242                        k = v.frame;
14243                        break;
14244                    default:
14245                    case"set":
14246                        var y = v.props;
14247                        for (e in y) h.call(y, e) && (f = ea(y[e].value), 0 === e.indexOf("@") ? j.setAttribute(e.substr(1), f) : g.setStyle(j, e, f));
14248                        continue
14249                }
14250            } else 0 !== i.edge && (Ea(j, [o, q], [p, r]), i.edge = 0);
14251            for (var z = 0; m - 1 > z; z++) if (k >= l[z].frame && k <= l[z + 1].frame) {
14252                var A = l[z], B = l[z + 1];
14253                for (e in A.props) if (h.call(A.props, e)) {
14254                    var C = (k - A.frame) / (B.frame - A.frame);
14255                    C = A.props[e].easing(C), f = da(A.props[e].value, B.props[e].value, C), f = ea(f), 0 === e.indexOf("@") ? j.setAttribute(e.substr(1), f) : g.setStyle(j, e, f)
14256                }
14257                w && x !== z && ("down" === La ? za(j, A.eventType, La) : za(j, B.eventType, La), i.lastFrameIndex = z);
14258                break
14259            }
14260        }
14261    }, $ = function () {
14262        Qa && (Qa = !1, Aa());
14263        var a, b, d = ha.getScrollTop(), e = Ha();
14264        if (oa) e >= oa.endTime ? (d = oa.targetTop, a = oa.done, oa = c) : (b = oa.easing((e - oa.startTime) / oa.duration), d = oa.startTop + b * oa.topDiff | 0), ha.setScrollTop(d, !0); else if (!sa) {
14265            var f = ra.targetTop - d;
14266            f && (ra = {
14267                startTop: Ma,
14268                topDiff: d - Ma,
14269                targetTop: d,
14270                startTime: Na,
14271                endTime: Na + qa
14272            }), e <= ra.endTime && (b = W.sqrt((e - ra.startTime) / qa), d = ra.startTop + b * ra.topDiff | 0)
14273        }
14274        if (sa || Ma !== d) {
14275            La = d > Ma ? "down" : Ma > d ? "up" : La, sa = !1;
14276            var h = {curTop: d, lastTop: Ma, maxTop: Ja, direction: La},
14277                i = ka.beforerender && ka.beforerender.call(ha, h);
14278            i !== !1 && (Z(d, ha.getScrollTop()), Sa && ja && g.setStyle(ja, "transform", "translate(0, " + -Ta + "px) " + ua), Ma = d, ka.render && ka.render.call(ha, h)), a && a.call(ha, !1)
14279        }
14280        Na = e
14281    }, _ = function (a) {
14282        for (var b = 0, c = a.keyFrames.length; c > b; b++) {
14283            for (var d, e, f, g, h = a.keyFrames[b], i = {}; null !== (g = J.exec(h.props));) f = g[1], e = g[2], d = f.match(K), null !== d ? (f = d[1], d = d[2]) : d = w, e = e.indexOf("!") ? aa(e) : [e.slice(1)], i[f] = {
14284                value: e,
14285                easing: W[d]
14286            };
14287            h.props = i
14288        }
14289    }, aa = function (a) {
14290        var b = [];
14291        return P.lastIndex = 0, a = a.replace(P, function (a) {
14292            return a.replace(N, function (a) {
14293                return a / 255 * 100 + "%"
14294            })
14295        }), S && (Q.lastIndex = 0, a = a.replace(Q, function (a) {
14296            return S + a
14297        })), a = a.replace(N, function (a) {
14298            return b.push(+a), "{?}"
14299        }), b.unshift(a), b
14300    }, ba = function (a) {
14301        var b, c, d = {};
14302        for (b = 0, c = a.keyFrames.length; c > b; b++) ca(a.keyFrames[b], d);
14303        for (d = {}, b = a.keyFrames.length - 1; b >= 0; b--) ca(a.keyFrames[b], d)
14304    }, ca = function (a, b) {
14305        var c;
14306        for (c in b) h.call(a.props, c) || (a.props[c] = b[c]);
14307        for (c in a.props) b[c] = a.props[c]
14308    }, da = function (a, b, c) {
14309        var d, e = a.length;
14310        if (e !== b.length) throw"Can't interpolate between \"" + a[0] + '" and "' + b[0] + '"';
14311        var f = [a[0]];
14312        for (d = 1; e > d; d++) f[d] = a[d] + (b[d] - a[d]) * c;
14313        return f
14314    }, ea = function (a) {
14315        var b = 1;
14316        return O.lastIndex = 0, a[0].replace(O, function () {
14317            return a[b++]
14318        })
14319    }, fa = function (a, b) {
14320        a = [].concat(a);
14321        for (var c, d, e = 0, f = a.length; f > e; e++) d = a[e], c = ia[d[F]], c && (b ? (d.style.cssText = c.dirtyStyleAttr, Ea(d, c.dirtyClassAttr)) : (c.dirtyStyleAttr = d.style.cssText, c.dirtyClassAttr = Da(d), d.style.cssText = c.styleAttr, Ea(d, c.classAttr)))
14322    }, ga = function () {
14323        ua = "translateZ(0)", g.setStyle(ja, "transform", ua);
14324        var a = j(ja), b = a.getPropertyValue("transform"), c = a.getPropertyValue(S + "transform"),
14325            d = b && "none" !== b || c && "none" !== c;
14326        d || (ua = "")
14327    };
14328    g.setStyle = function (a, b, c) {
14329        var d = a.style;
14330        if (b = b.replace(L, M).replace("-", ""), "zIndex" === b) isNaN(c) ? d[b] = c : d[b] = "" + (0 | c); else if ("float" === b) d.styleFloat = d.cssFloat = c; else try {
14331            R && (d[R + b.slice(0, 1).toUpperCase() + b.slice(1)] = c), d[b] = c
14332        } catch (e) {
14333        }
14334    };
14335    var ha, ia, ja, ka, la, ma, na, oa, pa, qa, ra, sa, ta, ua, va, wa = g.addEvent = function (b, c, d) {
14336        var e = function (b) {
14337            return b = b || a.event, b.target || (b.target = b.srcElement), b.preventDefault || (b.preventDefault = function () {
14338                b.returnValue = !1, b.defaultPrevented = !0
14339            }), d.call(this, b)
14340        };
14341        c = c.split(" ");
14342        for (var f, g = 0, h = c.length; h > g; g++) f = c[g], b.addEventListener ? b.addEventListener(f, d, !1) : b.attachEvent("on" + f, e), Ua.push({
14343            element: b,
14344            name: f,
14345            listener: d
14346        })
14347    }, xa = g.removeEvent = function (a, b, c) {
14348        b = b.split(" ");
14349        for (var d = 0, e = b.length; e > d; d++) a.removeEventListener ? a.removeEventListener(b[d], c, !1) : a.detachEvent("on" + b[d], c)
14350    }, ya = function () {
14351        for (var a, b = 0, c = Ua.length; c > b; b++) a = Ua[b], xa(a.element, a.name, a.listener);
14352        Ua = []
14353    }, za = function (a, b, c) {
14354        ka.keyframe && ka.keyframe.call(ha, a, b, c)
14355    }, Aa = function () {
14356        var a = ha.getScrollTop();
14357        Ja = 0, la && !Sa && (f.style.height = ""), Y(), la && !Sa && (f.style.height = Ja + e.clientHeight + "px"), Sa ? ha.setScrollTop(i.min(ha.getScrollTop(), Ja)) : ha.setScrollTop(a, !0), sa = !0
14358    }, Ba = function () {
14359        var a, b, c = e.clientHeight, d = {};
14360        for (a in ma) b = ma[a], "function" == typeof b ? b = b.call(ha) : /p$/.test(b) && (b = b.slice(0, -1) / 100 * c), d[a] = b;
14361        return d
14362    }, Ca = function () {
14363        var a, b = 0;
14364        return ja && (b = i.max(ja.offsetHeight, ja.scrollHeight)), a = i.max(b, f.scrollHeight, f.offsetHeight, e.scrollHeight, e.offsetHeight, e.clientHeight), a - e.clientHeight
14365    }, Da = function (b) {
14366        var c = "className";
14367        return a.SVGElement && b instanceof a.SVGElement && (b = b[c], c = "baseVal"), b[c]
14368    }, Ea = function (b, d, e) {
14369        var f = "className";
14370        if (a.SVGElement && b instanceof a.SVGElement && (b = b[f], f = "baseVal"), e === c) return void (b[f] = d);
14371        for (var g = b[f], h = 0, i = e.length; i > h; h++) g = Ga(g).replace(Ga(e[h]), " ");
14372        g = Fa(g);
14373        for (var j = 0, k = d.length; k > j; j++) -1 === Ga(g).indexOf(Ga(d[j])) && (g += " " + d[j]);
14374        b[f] = Fa(g)
14375    }, Fa = function (a) {
14376        return a.replace(H, "")
14377    }, Ga = function (a) {
14378        return " " + a + " "
14379    }, Ha = Date.now || function () {
14380        return +new Date
14381    }, Ia = function (a, b) {
14382        return a.frame - b.frame
14383    }
14383, Ja = 0, Ka = 1, La = "down", Ma = -1, Na = Ha(), Oa = 0, Pa = 0, Qa = !1, Ra = 0, Sa = !1, Ta = 0, Ua = [];
14384    "function" == typeof define && define.amd ? define([], function () {
14385        return g
14386    }) : "undefined" != typeof module && module.exports ? module.exports = g : a.skrollr = g
14387}(window, document), +function (a) {
14388    "use strict";
14389
14390    function b(b) {
14391        return b.is('[type="checkbox"]') ? b.prop("checked") : b.is('[type="radio"]') ? !!a('[name="' + b.attr("name") + '"]:checked').length : a.trim(b.val())
14392    }
14393
14394    function c(b) {
14395        return this.each(function () {
14396            var c = a(this), e = a.extend({}, d.DEFAULTS, c.data(), "object" == typeof b && b),
14397                f = c.data("bs.validator");
14398            (f || "destroy" != b) && (f || c.data("bs.validator", f = new d(this, e)), "string" == typeof b && f[b]())
14399        })
14400    }
14401
14402    var d = function (c, e) {
14403        this.options = e, this.$element = a(c), this.$inputs = this.$element.find(d.INPUT_SELECTOR), this.$btn = a('button[type="submit"], input[type="submit"]').filter('[form="' + this.$element.attr("id") + '"]').add(this.$element.find('input[type="submit"], button[type="submit"]')), e.errors = a.extend({}, d.DEFAULTS.errors, e.errors);
14404        for (var f in e.custom) if (!e.errors[f]) throw new Error("Missing default error message for custom validator: " + f);
14405        a.extend(d.VALIDATORS, e.custom), this.$element.attr("novalidate", !0), this.toggleSubmit(), this.$element.on("input.bs.validator change.bs.validator focusout.bs.validator", d.INPUT_SELECTOR, a.proxy(this.onInput, this)), this.$element.on("submit.bs.validator", a.proxy(this.onSubmit, this)), this.$element.find("[data-match]").each(function () {
14406            var c = a(this), d = c.data("match");
14407            a(d).on("input.bs.validator", function () {
14408                b(c) && c.trigger("input.bs.validator")
14409            })
14410        })
14411    };
14412    d.INPUT_SELECTOR = ':input:not([type="submit"], button):enabled:visible', d.FOCUS_OFFSET = 20, d.DEFAULTS = {
14413        delay: 500,
14414        html: !1,
14415        disable: !0,
14416        focus: !0,
14417        custom: {},
14418        errors: {match: "Does not match", minlength: "Not long enough"},
14419        feedback: {success: "glyphicon-ok", error: "glyphicon-remove"}
14420    }, d.VALIDATORS = {
14421        "native": function (a) {
14422            var b = a[0];
14423            return b.checkValidity ? b.checkValidity() : !0
14424        }, match: function (b) {
14425            var c = b.data("match");
14426            return !b.val() || b.val() === a(c).val()
14427        }, minlength: function (a) {
14428            var b = a.data("minlength");
14429            return !a.val() || a.val().length >= b
14430        }
14431    }, d.prototype.onInput = function (b) {
14432        var c = this, d = a(b.target), e = "focusout" !== b.type;
14433        this.validateInput(d, e).done(function () {
14434            c.toggleSubmit()
14435        })
14436    }, d.prototype.validateInput = function (c, d) {
14437        var e = b(c), f = c.data("bs.validator.previous"), g = c.data("bs.validator.errors");
14438        if (f === e) return a.Deferred().resolve();
14439        c.data("bs.validator.previous", e), c.is('[type="radio"]') && (c = this.$element.find('input[name="' + c.attr("name") + '"]'));
14440        var h = a.Event("validate.bs.validator", {relatedTarget: c[0]});
14441        if (this.$element.trigger(h), !h.isDefaultPrevented()) {
14442            var i = this;
14443            return this.runValidators(c).done(function (b) {
14444                c.data("bs.validator.errors", b), b.length ? d ? i.defer(c, i.showErrors) : i.showErrors(c) : i.clearErrors(c), g && b.toString() === g.toString() || (h = b.length ? a.Event("invalid.bs.validator", {
14445                    relatedTarget: c[0],
14446                    detail: b
14447                }) : a.Event("valid.bs.validator", {
14448                    relatedTarget: c[0],
14449                    detail: g
14450                }), i.$element.trigger(h)), i.toggleSubmit(), i.$element.trigger(a.Event("validated.bs.validator", {relatedTarget: c[0]}))
14451            })
14452        }
14453    }, d.prototype.runValidators = function (c) {
14454        function e(a) {
14455            return c.data(a + "-error") || c.data("error") || "native" == a && c[0].validationMessage || h.errors[a]
14456        }
14457
14458        var f = [], g = a.Deferred(), h = this.options;
14459        return c.data("bs.validator.deferred") && c.data("bs.validator.deferred").reject(), c.data("bs.validator.deferred", g), a.each(d.VALIDATORS, a.proxy(function (a, d) {
14460            if ((b(c) || c.attr("required")) && (c.data(a) || "native" == a) && !d.c
14460all(this, c)) {
14461                var g = e(a);
14462                !~f.indexOf(g) && f.push(g)
14463            }
14464        }, this)), !f.length && b(c) && c.data("remote") ? this.defer(c, function () {
14465            var d = {};
14466            d[c.attr("name")] = b(c), a.get(c.data("remote"), d).fail(function (a, b, c) {
14467                f.push(e("remote") || c)
14468            }).always(function () {
14469                g.resolve(f)
14470            })
14471        }) : g.resolve(f), g.promise()
14472    }, d.prototype.validate = function () {
14473        var b = this;
14474        return a.when(this.$inputs.map(function () {
14475            return b.validateInput(a(this), !1)
14476        })).then(function () {
14477            b.toggleSubmit(), b.$btn.hasClass("disabled") && b.focusError()
14478        }), this
14479    }, d.prototype.focusError = function () {
14480        if (this.options.focus) {
14481            var b = a(".has-error:first :input");
14482            a(document.body).animate({scrollTop: b.offset().top - d.FOCUS_OFFSET}, 250), b.focus()
14483        }
14484    }, d.prototype.showErrors = function (b) {
14485        var c = this.options.html ? "html" : "text", d = b.data("bs.validator.errors"), e = b.closest(".form-group"),
14486            f = e.find(".help-block.with-errors"), g = e.find(".form-control-feedback");
14487        d.length && (d = a("<ul/>").addClass("list-unstyled").append(a.map(d, function (b) {
14488            return a("<li/>")[c](b)
14489        })), void 0 === f.data("bs.validator.originalContent") && f.data("bs.validator.originalContent", f.html()), f.empty().append(d), e.addClass("has-error has-danger"), e.hasClass("has-feedback") && g.removeClass(this.options.feedback.success) && g.addClass(this.options.feedback.error) && e.removeClass("has-success"))
14490    }, d.prototype.clearErrors = function (a) {
14491        var c = a.closest(".form-group"), d = c.find(".help-block.with-errors"), e = c.find(".form-control-feedback");
14492        d.html(d.data("bs.validator.originalContent")), c.removeClass("has-error has-danger"), c.hasClass("has-feedback") && e.removeClass(this.options.feedback.error) && b(a) && e.addClass(this.options.feedback.success) && c.addClass("has-success")
14493    }, d.prototype.hasErrors = function () {
14494        function b() {
14495            return !!(a(this).data("bs.validator.errors") || []).length
14496        }
14497
14498        return !!this.$inputs.filter(b).length
14499    }, d.prototype.isIncomplete = function () {
14500        function c() {
14501            return !b(a(this))
14502        }
14503
14504        return !!this.$inputs.filter("[required]").filter(c).length
14505    }, d.prototype.onSubmit = function (a) {
14506        this.validate(), this.$btn.hasClass("disabled") && a.preventDefault()
14507    }, d.prototype.toggleSubmit = function () {
14508        this.options.disable && this.$btn.toggleClass("disabled", this.isIncomplete() || this.hasErrors())
14509    }, d.prototype.defer = function (b, c) {
14510        return c = a.proxy(c, this, b), this.options.delay ? (window.clearTimeout(b.data("bs.validator.timeout")), void b.data("bs.validator.timeout", window.setTimeout(c, this.options.delay))) : c()
14511    }, d.prototype.destroy = function () {
14512        return this.$element.removeAttr("novalidate").removeData("bs.validator").off(".bs.validator").find(".form-control-feedback").removeClass([this.options.feedback.error, this.options.feedback.success].join(" ")), this.$inputs.off(".bs.validator").removeData(["bs.validator.errors", "bs.validator.deferred", "bs.validator.previous"]).each(function () {
14513            var b = a(this), c = b.data("bs.validator.timeout");
14514            window.clearTimeout(c) && b.removeData("bs.validator.timeout")
14515        }), this.$element.find(".help-block.with-errors").each(function () {
14516            var b = a(this), c = b.data("bs.validator.originalContent");
14517            b.removeData("bs.validator.originalContent").html(c)
14518        }), this.$element.find('input[type="submit"], button[type="submit"]').removeClass("disabled"), this.$element.find(".has-error, .has-danger").removeClass("has-error has-danger"), this
14519    };
14520    var e = a.fn.validator;
14521    a.fn.validator = c, a.fn.validator.Constructor = d, a.fn.validator.noConflict = function () {
14522        return a.fn.validator = e, this
14523    }, a(window).on("load", function () {
14524        a('form[data-toggle="validator"]').each(function () {
14525            var b = a(this);
14526            c.call(b, b.data())
14527        })
14528    })
14529}(jQuery), !function (a) {
14530    "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : jQuery)
14531}(function (a) {
14532    var b = function () {
14533        if (a && a.fn && a.fn.select2 && a.fn.select2.amd) var b = a.fn.select2.amd;
14534        var b;
14535        return function () {
14536            if (!b || !b.requirejs) {
14537                b ? c = b : b = {};
14538                var a, c, d;
14539                !function (b) {
14540                    function e(a, b) {
14541                        return u.call(a, b)
14542                    }
14543
14544                    function f(a, b) {
14545                        var c, d, e, f, g, h, i, j, k, l, m, n = b && b.split("/"), o = s.map, p = o && o["*"] || {};
14546                        if (a && "." === a.charAt(0)) if (b) {
14547                            for (a = a.split("/"), g = a.length - 1, s.nodeIdCompat && w.test(a[g]) && (a[g] = a[g].replace(w, "")), a = n.slice(0, n.length - 1).concat(a), k = 0; k < a.length; k += 1) if (m = a[k], "." === m) a.splice(k, 1), k -= 1; else if (".." === m) {
14548                                if (1 === k && (".." === a[2] || ".." === a[0])) break;
14549                                k > 0 && (a.splice(k - 1, 2), k -= 2)
14550                            }
14551                            a = a.join("/")
14552                        } else 0 === a.indexOf("./") && (a = a.substring(2));
14553                        if ((n || p) && o) {
14554                            for (c = a.split("/"), k = c.length; k > 0; k -= 1) {
14555                                if (d = c.slice(0, k).join("/"), n) for (l = n.length; l > 0; l -= 1) if (e = o[n.slice(0, l).join("/")], e && (e = e[d])) {
14556                                    f = e, h = k;
14557                                    break
14558                                }
14559                                if (f) break;
14560                                !i && p && p[d] && (i = p[d], j = k)
14561                            }
14562                            !f && i && (f = i, h = j), f && (c.splice(0, h, f), a = c.join("/"))
14563                        }
14564                        return a
14565                    }
14566
14567                    function g(a, c) {
14568                        return function () {
14569                            var d = v.call(arguments, 0);
14570                            return "string" != typeof d[0] && 1 === d.length && d.push(null), n.apply(b, d.concat([a, c]))
14571                        }
14572                    }
14573
14574                    function h(a) {
14575                        return function (b) {
14576                            return f(b, a)
14577                        }
14578                    }
14579
14580                    function i(a) {
14581                        return function (b) {
14582                            q[a] = b
14583                        }
14584                    }
14585
14586                    function j(a) {
14587                        if (e(r, a)) {
14588                            var c = r[a];
14589                            delete r[a], t[a] = !0, m.apply(b, c)
14590                        }
14591                        if (!e(q, a) && !e(t, a)) throw new Error("No " + a);
14592                        return q[a]
14593                    }
14594
14595                    function k(a) {
14596                        var b, c = a ? a.indexOf("!") : -1;
14597                        return c > -1 && (b = a.substring(0, c), a = a.substring(c + 1, a.length)), [b, a]
14598                    }
14599
14600                    function l(a) {
14601                        return function () {
14602                            return s && s.config && s.config[a] || {}
14603                        }
14604                    }
14605
14606                    var m, n, o, p, q = {}, r = {}, s = {}, t = {}, u = Object.prototype.hasOwnProperty, v = [].slice,
14607                        w = /\.js$/;
14608                    o = function (a, b) {
14609                        var c, d = k(a), e = d[0];
14610                        return a = d[1], e && (e = f(e, b), c = j(e)), e ? a = c && c.normalize ? c.normalize(a, h(b)) : f(a, b) : (a = f(a, b), d = k(a), e = d[0], a = d[1], e && (c = j(e))), {
14611                            f: e ? e + "!" + a : a,
14612                            n: a,
14613                            pr: e,
14614                            p: c
14615                        }
14616                    }, p = {
14617                        require: function (a) {
14618                            return g(a)
14619                        }, exports: function (a) {
14620                            var b = q[a];
14621                            return "undefined" != typeof b ? b : q[a] = {}
14622                        }, module: function (a) {
14623                            return {id: a, uri: "", exports: q[a], config: l(a)}
14624                        }
14625                    }, m = function (a, c, d, f) {
14626                        var h, k, l, m, n, s, u = [], v = typeof d;
14627                        if (f = f || a, "undefined" === v || "function" === v) {
14628                            for (c = !c.length && d.length ? ["require", "exports", "module"] : c, n = 0; n < c.length; n += 1) if (m = o(c[n], f), k = m.f, "require" === k) u[n] = p.require(a); else if ("exports" === k) u[n] = p.exports(a), s = !0; else if ("module" === k) h = u[n] = p.module(a); else if (e(q, k) || e(r, k) || e(t, k)) u[n] = j(k); else {
14629                                if (!m.p) throw new Error(a + " missing " + k);
14630                                m.p.load(m.n, g(f, !0), i(k), {}), u[n] = q[k]
14631                            }
14632                            l = d ? d.apply(q[a], u) : void 0, a && (h && h.exports !== b && h.exports !== q[a] ? q[a] = h.exports : l === b && s || (q[a] = l))
14633                        } else a && (q[a] = d)
14634                    }, a = c = n = function (a, c, d, e, f) {
14635                        if ("string" == typeof a) return p[a] ? p[a](c) : j(o(a, c).f);
14636                        if (!a.splice) {
14637                            if (s = a, s.deps && n(s.deps, s.callback), !c) return;
14638                            c.splice ? (a = c, c = d, d = null) : a = b
14639                        }
14640                        return c = c || function () {
14641                        }, "function" == typeof d && (d = e, e = f), e ? m(b, a, c, d) : setTimeout(function () {
14642                            m(b, a, c, d)
14643                        }, 4), n
14644                    }, n.config = function (a) {
14645                        return n(a)
14646                    }, a._defined = q, d = function (a, b, c) {
14647                        if ("string" != typeof a) throw new Error("See almond README: incorrect module build, no module name");
14648                        b.splice || (c = b, b = []), e(q, a) || e(r, a) || (r[a
vendor: 35,109 bytes, lines 14648-15300
14648] = [a, b, c])
14649                    }, d.amd = {jQuery: !0}
14650                }(), b.requirejs = a, b.require = c, b.define = d
14651            }
14652        }(), b.define("almond", function () {
14653        }), b.define("jquery", [], function () {
14654            var b = a || $;
14655            return null == b && console && console.error && console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."), b
14656        }), b.define("select2/utils", ["jquery"], function (a) {
14657            function b(a) {
14658                var b = a.prototype, c = [];
14659                for (var d in b) {
14660                    var e = b[d];
14661                    "function" == typeof e && "constructor" !== d && c.push(d)
14662                }
14663                return c
14664            }
14665
14666            var c = {};
14667            c.Extend = function (a, b) {
14668                function c() {
14669                    this.constructor = a
14670                }
14671
14672                var d = {}.hasOwnProperty;
14673                for (var e in b) d.call(b, e) && (a[e] = b[e]);
14674                return c.prototype = b.prototype, a.prototype = new c, a.__super__ = b.prototype, a
14675            }, c.Decorate = function (a, c) {
14676                function d() {
14677                    var b = Array.prototype.unshift, d = c.prototype.constructor.length, e = a.prototype.constructor;
14678                    d > 0 && (b.call(arguments, a.prototype.constructor), e = c.prototype.constructor), e.apply(this, arguments)
14679                }
14680
14681                function e() {
14682                    this.constructor = d
14683                }
14684
14685                var f = b(c), g = b(a);
14686                c.displayName = a.displayName, d.prototype = new e;
14687                for (var h = 0; h < g.length; h++) {
14688                    var i = g[h];
14689                    d.prototype[i] = a.prototype[i]
14690                }
14691                for (var j = (function (a) {
14692                    var b = function () {
14693                    };
14694                    a in d.prototype && (b = d.prototype[a]);
14695                    var e = c.prototype[a];
14696                    return function () {
14697                        var a = Array.prototype.unshift;
14698                        return a.call(arguments, b), e.apply(this, arguments)
14699                    }
14700                }), k = 0; k < f.length; k++) {
14701                    var l = f[k];
14702                    d.prototype[l] = j(l)
14703                }
14704                return d
14705            };
14706            var d = function () {
14707                this.listeners = {}
14708            };
14709            return d.prototype.on = function (a, b) {
14710                this.listeners = this.listeners || {}, a in this.listeners ? this.listeners[a].push(b) : this.listeners[a] = [b]
14711            }, d.prototype.trigger = function (a) {
14712                var b = Array.prototype.slice;
14713                this.listeners = this.listeners || {}, a in this.listeners && this.invoke(this.listeners[a], b.call(arguments, 1)), "*" in this.listeners && this.invoke(this.listeners["*"], arguments)
14714            }, d.prototype.invoke = function (a, b) {
14715                for (var c = 0, d = a.length; d > c; c++) a[c].apply(this, b)
14716            }, c.Observable = d, c.generateChars = function (a) {
14717                for (var b = "", c = 0; a > c; c++) {
14718                    var d = Math.floor(36 * Math.random());
14719                    b += d.toString(36)
14720                }
14721                return b
14722            }, c.bind = function (a, b) {
14723                return function () {
14724                    a.apply(b, arguments)
14725                }
14726            }, c._convertData = function (a) {
14727                for (var b in a) {
14728                    var c = b.split("-"), d = a;
14729                    if (1 !== c.length) {
14730                        for (var e = 0; e < c.length; e++) {
14731                            var f = c[e];
14732                            f = f.substring(0, 1).toLowerCase() + f.substring(1), f in d || (d[f] = {}), e == c.length - 1 && (d[f] = a[b]), d = d[f]
14733                        }
14734                        delete a[b]
14735                    }
14736                }
14737                return a
14738            }, c.hasScroll = function (b, c) {
14739                var d = a(c), e = c.style.overflowX, f = c.style.overflowY;
14740                return e !== f || "hidden" !== f && "visible" !== f ? "scroll" === e || "scroll" === f ? !0 : d.innerHeight() < c.scrollHeight || d.innerWidth() < c.scrollWidth : !1
14741            }, c.escapeMarkup = function (a) {
14742                var b = {
14743                    "\\": "&#92;",
14744                    "&": "&amp;",
14745                    "<": "&lt;",
14746                    ">": "&gt;",
14747                    '"': "&quot;",
14748                    "'": "&#39;",
14749                    "/": "&#47;"
14750                };
14751                return "string" != typeof a ? a : String(a).replace(/[&<>"'\/\\]/g, function (a) {
14752                    return b[a]
14753                })
14754            }, c.appendMany = function (b, c) {
14755                if ("1.7" === a.fn.jquery.substr(0, 3)) {
14756                    var d = a();
14757                    a.map(c, function (a) {
14758                        d = d.add(a)
14759                    }), c = d
14760                }
14761                b.append(c)
14762            }, c
14763        }), b.define("select2/results", ["jquery", "./utils"], function (a, b) {
14764            function c(a, b, d) {
14765                this.$element = a, this.data = d, this.options = b, c.__super__.constructor.call(this)
14766            }
14767
14768            return b.Extend(c, b.Observable), c.prototype.render = function () {
14769                var b = a('<ul class="select2-results__options" role="tree"></ul>');
14770                return this.options.get("multiple") && b.attr("aria-multiselectable", "true"), this.$results = b, b
14771            }, c.prototype.clear = function () {
14772                this.$results.empty()
14773            }, c.prototype.displayMessage = function (b) {
14774                var c = this.options.get("escapeMarkup");
14775                this.clear(), this.hideLoading();
14776                var d = a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),
14777                    e = this.options.get("translations").get(b.message);
14778                d.append(c(e(b.args))), d[0].className += " select2-results__message", this.$results.append(d)
14779            }, c.prototype.hideMessages = function () {
14780                this.$results.find(".select2-results__message").remove()
14781            }, c.prototype.append = function (a) {
14782                this.hideLoading();
14783                var b = [];
14784                if (null == a.results || 0 === a.results.length) return void (0 === this.$results.children().length && this.trigger("results:message", {message: "noResults"}));
14785                a.results = this.sort(a.results);
14786                for (var c = 0; c < a.results.length; c++) {
14787                    var d = a.results[c], e = this.option(d);
14788                    b.push(e)
14789                }
14790                this.$results.append(b)
14791            }, c.prototype.position = function (a, b) {
14792                var c = b.find(".select2-results");
14793                c.append(a)
14794            }, c.prototype.sort = function (a) {
14795                var b = this.options.get("sorter");
14796                return b(a)
14797            }, c.prototype.setClasses = function () {
14798                var b = this;
14799                this.data.current(function (c) {
14800                    var d = a.map(c, function (a) {
14801                        return a.id.toString()
14802                    }), e = b.$results.find(".select2-results__option[aria-selected]");
14803                    e.each(function () {
14804                        var b = a(this), c = a.data(this, "data"), e = "" + c.id;
14805                        null != c.element && c.element.selected || null == c.element && a.inArray(e, d) > -1 ? b.attr("aria-selected", "true") : b.attr("aria-selected", "false")
14806                    });
14807                    var f = e.filter("[aria-selected=true]");
14808                    f.length > 0 ? f.first().trigger("mouseenter") : e.first().trigger("mouseenter")
14809                })
14810            }, c.prototype.showLoading = function (a) {
14811                this.hideLoading();
14812                var b = this.options.get("translations").get("searching"), c = {disabled: !0, loading: !0, text: b(a)},
14813                    d = this.option(c);
14814                d.className += " loading-results", this.$results.prepend(d)
14815            }, c.prototype.hideLoading = function () {
14816                this.$results.find(".loading-results").remove()
14817            }, c.prototype.option = function (b) {
14818                var c = document.createElement("li");
14819                c.className = "select2-results__option";
14820                var d = {role: "treeitem", "aria-selected": "false"};
14821                b.disabled && (delete d["aria-selected"], d["aria-disabled"] = "true"), null == b.id && delete d["aria-selected"], null != b._resultId && (c.id = b._resultId), b.title && (c.title = b.title), b.children && (d.role = "group", d["aria-label"] = b.text, delete d["aria-selected"]);
14822                for (var e in d) {
14823                    var f = d[e];
14824                    c.setAttribute(e, f)
14825                }
14826                if (b.children) {
14827                    var g = a(c), h = document.createElement("strong");
14828                    h.className = "select2-results__group", a(h), this.template(b, h);
14829                    for (var i = [], j = 0; j < b.children.length; j++) {
14830                        var k = b.children[j], l = this.option(k);
14831                        i.push(l)
14832                    }
14833                    var m = a("<ul></ul>", {"class": "select2-results__options select2-results__options--nested"});
14834                    m.append(i), g.append(h), g.append(m)
14835                } else this.template(b, c);
14836                return a.data(c, "data", b), c
14837            }, c.prototype.bind = function (b, c) {
14838                var d = this, e = b.id + "-results";
14839                this.$results.attr("id", e), b.on("results:all", function (a) {
14840                    d.clear(), d.append(a.data), b.isOpen() && d.setClasses()
14841                }), b.on("results:append", function (a) {
14842                    d.append(a.data), b.isOpen() && d.setClasses()
14843                }), b.on("query", function (a) {
14844                    d.hideMessages(), d.showLoading(a)
14845                }), b.on("select", function () {
14846                    b.isOpen() && d.setClasses()
14847                }), b.on("unselect", function () {
14848                    b.isOpen() && d.setClasses()
14849                }), b.on("open", function () {
14850                    d.$results.attr("aria-expanded", "true"), d.$results.attr("aria-hidden", "false"), d.setClasses(), d.ensureHighlightVisible()
14851                }), b.on("close", function () {
14852                    d.$results.attr("aria-expanded", "false"), d.$results.attr("aria-hidden", "true"), d.$results.removeAttr("aria-activedescendant")
14853                }), b.on("results:toggle", function () {
14854                    var a = d.getHighlightedResults();
14855                    0 !== a.length && a.trigger("mouseup")
14856                }), b.on("results:select", function () {
14857                    var a = d.getHighlightedResults();
14858                    if (0 !== a.length) {
14859                        var b = a.data("data");
14860                        "true" == a.attr("aria-selected") ? d.trigger("close", {}) : d.trigger("select", {data: b})
14861                    }
14862                }), b.on("results:previous", function () {
14863                    var a = d.getHighlightedResults(), b = d.$results.find("[aria-selected]"), c = b.index(a);
14864                    if (0 !== c) {
14865                        var e = c - 1;
14866                        0 === a.length && (e = 0);
14867                        var f = b.eq(e);
14868                        f.trigger("mouseenter");
14869                        var g = d.$results.offset().top, h = f.offset().top, i = d.$results.scrollTop() + (h - g);
14870                        0 === e ? d.$results.scrollTop(0) : 0 > h - g && d.$results.scrollTop(i)
14871                    }
14872                }), b.on("results:next", function () {
14873                    var a = d.getHighlightedResults(), b = d.$results.find("[aria-selected]"), c = b.index(a),
14874                        e = c + 1;
14875                    if (!(e >= b.length)) {
14876                        var f = b.eq(e);
14877                        f.trigger("mouseenter");
14878                        var g = d.$results.offset().top + d.$results.outerHeight(!1),
14879                            h = f.offset().top + f.outerHeight(!1), i = d.$results.scrollTop() + h - g;
14880                        0 === e ? d.$results.scrollTop(0) : h > g && d.$results.scrollTop(i)
14881                    }
14882                }), b.on("results:focus", function (a) {
14883                    a.element.addClass("select2-results__option--highlighted")
14884                }), b.on("results:message", function (a) {
14885                    d.displayMessage(a)
14886                }), a.fn.mousewheel && this.$results.on("mousewheel", function (a) {
14887                    var b = d.$results.scrollTop(),
14888                        c = d.$results.get(0).scrollHeight - d.$results.scrollTop() + a.deltaY,
14889                        e = a.deltaY > 0 && b - a.deltaY <= 0, f = a.deltaY < 0 && c <= d.$results.height();
14890                    e ? (d.$results.scrollTop(0), a.preventDefault(), a.stopPropagation()) : f && (d.$results.scrollTop(d.$results.get(0).scrollHeight - d.$results.height()), a.preventDefault(), a.stopPropagation())
14891                }), this.$results.on("mouseup", ".select2-results__option[aria-selected]", function (b) {
14892                    var c = a(this), e = c.data("data");
14893                    return "true" === c.attr("aria-selected") ? void (d.options.get("multiple") ? d.trigger("unselect", {
14894                        originalEvent: b,
14895                        data: e
14896                    }) : d.trigger("close", {})) : void d.trigger("select", {originalEvent: b, data: e})
14897                }), this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function (b) {
14898                    var c = a(this).data("data");
14899                    d.getHighlightedResults().removeClass("select2-results__option--highlighted"), d.trigger("results:focus", {
14900                        data: c,
14901                        element: a(this)
14902                    })
14903                })
14904            }, c.prototype.getHighlightedResults = function () {
14905                var a = this.$results.find(".select2-results__option--highlighted");
14906                return a
14907            }, c.prototype.destroy = function () {
14908                this.$results.remove()
14909            }, c.prototype.ensureHighlightVisible = function () {
14910                var a = this.getHighlightedResults();
14911                if (0 !== a.length) {
14912                    var b = this.$results.find("[aria-selected]"), c = b.index(a), d = this.$results.offset().top,
14913                        e = a.offset().top, f = this.$results.scrollTop() + (e - d), g = e - d;
14914                    f -= 2 * a.outerHeight(!1), 2 >= c ? this.$results.scrollTop(0) : (g > this.$results.outerHeight() || 0 > g) && this.$results.scrollTop(f)
14915                }
14916            }, c.prototype.template = function (b, c) {
14917                var d = this.options.get("templateResult"), e = this.options.get("escapeMarkup"), f = d(b, c);
14918                null == f ? c.style.display = "none" : "string" == typeof f ? c.innerHTML = e(f) : a(c).append(f)
14919            }, c
14920        }), b.define("select2/keys", [], function () {
14921            var a = {
14922                BACKSPACE: 8,
14923                TAB: 9,
14924                ENTER: 13,
14925                SHIFT: 16,
14926                CTRL: 17,
14927                ALT: 18,
14928                ESC: 27,
14929                SPACE: 32,
14930                PAGE_UP: 33,
14931                PAGE_DOWN: 34,
14932                END: 35,
14933                HOME: 36,
14934                LEFT: 37,
14935                UP: 38,
14936                RIGHT: 39,
14937                DOWN: 40,
14938                DELETE: 46
14939            };
14940            return a
14941        }), b.define("select2/selection/base", ["jquery", "../utils", "../keys"], function (a, b, c) {
14942            function d(a, b) {
14943                this.$element = a, this.options = b, d.__super__.constructor.call(this)
14944            }
14945
14946            return b.Extend(d, b.Observable), d.prototype.render = function () {
14947                var b = a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');
14948                return this._tabindex = 0, null != this.$element.data("old-tabindex") ? this._tabindex = this.$element.data("old-tabindex") : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")), b.attr("title", this.$element.attr("title")), b.attr("tabindex", this._tabindex), this.$selection = b, b
14949            }, d.prototype.bind = function (a, b) {
14950                var d = this, e = (a.id + "-container", a.id + "-results");
14951                this.container = a, this.$selection.on("focus", function (a) {
14952                    d.trigger("focus", a)
14953                }), this.$selection.on("blur", function (a) {
14954                    d._handleBlur(a)
14955                }), this.$selection.on("keydown", function (a) {
14956                    d.trigger("keypress", a), a.which === c.SPACE && a.preventDefault()
14957                }), a.on("results:focus", function (a) {
14958                    d.$selection.attr("aria-activedescendant", a.data._resultId)
14959                }), a.on("selection:update", function (a) {
14960                    d.update(a.data)
14961                }), a.on("open", function () {
14962                    d.$selection.attr("aria-expanded", "true"), d.$selection.attr("aria-owns", e), d._attachCloseHandler(a)
14963                }), a.on("close", function () {
14964                    d.$selection.attr("aria-expanded", "false"), d.$selection.removeAttr("aria-activedescendant"), d.$selection.removeAttr("aria-owns"), d.$selection.focus(), d._detachCloseHandler(a)
14965                }), a.on("enable", function () {
14966                    d.$selection.attr("tabindex", d._tabindex)
14967                }), a.on("disable", function () {
14968                    d.$selection.attr("tabindex", "-1")
14969                })
14970            }, d.prototype._handleBlur = function (b) {
14971                var c = this;
14972                window.setTimeout(function () {
14973                    document.activeElement == c.$selection[0] || a.contains(c.$selection[0], document.activeElement) || c.trigger("blur", b)
14974                }, 1)
14975            }, d.prototype._attachCloseHandler = function (b) {
14976                a(document.body).on("mousedown.select2." + b.id, function (b) {
14977                    var c = a(b.target), d = c.closest(".select2"), e = a(".select2.select2-container--open");
14978                    e.each(function () {
14979                        var b = a(this);
14980                        if (this != d[0]) {
14981                            var c = b.data("element");
14982                            c.select2("close")
14983                        }
14984                    })
14985                })
14986            }, d.prototype._detachCloseHandler = function (b) {
14987                a(document.body).off("mousedown.select2." + b.id)
14988            }, d.prototype.position = function (a, b) {
14989                var c = b.find(".selection");
14990                c.append(a)
14991            }, d.prototype.destroy = function () {
14992                this._detachCloseHandler(this.container)
14993            }, d.prototype.update = function (a) {
14994                throw new Error("The `update` method must be defined in child classes.")
14995            }, d
14996        }), b.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function (a, b, c, d) {
14997            function e() {
14998                e.__super__.constructor.apply(this, arguments)
14999            }
15000
15001            return c.Extend(e, b), e.prototype.render = function () {
15002                var a = e.__super__.render.call(this);
15003                return a.addClass("select2-selection--single"), a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'), a
15004            }, e.prototype.bind = function (a, b) {
15005                var c = this;
15006                e.__super__.bind.apply(this, arguments);
15007                var d = a.id + "-container";
15008                this.$selection.find(".select2-selection__rendered").attr("id", d), this.$selection.attr("aria-labelledby", d), this.$selection.on("mousedown", function (a) {
15009                    1 === a.which && c.trigger("toggle", {originalEvent: a})
15010                }), this.$selection.on("focus", function (a) {
15011                }), this.$selection.on("blur", function (a) {
15012                }), a.on("selection:update", function (a) {
15013                    c.update(a.data)
15014                })
15015            }, e.prototype.clear = function () {
15016                this.$selection.find(".select2-selection__rendered").empty()
15017            }, e.prototype.display = function (a, b) {
15018                var c = this.options.get("templateSelection"), d = this.options.get("escapeMarkup");
15019                return d(c(a, b))
15020            }, e.prototype.selectionContainer = function () {
15021                return a("<span></span>")
15022            }, e.prototype.update = function (a) {
15023                if (0 === a.length) return void this.clear();
15024                var b = a[0], c = this.$selection.find(".select2-selection__rendered"), d = this.display(b, c);
15025                c.empty().append(d), c.prop("title", b.title || b.text)
15026            }, e
15027        }), b.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function (a, b, c) {
15028            function d(a, b) {
15029                d.__super__.constructor.apply(this, arguments)
15030            }
15031
15032            return c.Extend(d, b), d.prototype.render = function () {
15033                var a = d.__super__.render.call(this);
15034                return a.addClass("select2-selection--multiple"), a.html('<ul class="select2-selection__rendered"></ul>'), a
15035            }, d.prototype.bind = function (b, c) {
15036                var e = this;
15037                d.__super__.bind.apply(this, arguments), this.$selection.on("click", function (a) {
15038                    e.trigger("toggle", {originalEvent: a})
15039                }), this.$selection.on("click", ".select2-selection__choice__remove", function (b) {
15040                    if (!e.options.get("disabled")) {
15041                        var c = a(this), d = c.parent(), f = d.data("data");
15042                        e.trigger("unselect", {originalEvent: b, data: f})
15043                    }
15044                })
15045            }, d.prototype.clear = function () {
15046                this.$selection.find(".select2-selection__rendered").empty()
15047            }, d.prototype.display = function (a, b) {
15048                var c = this.options.get("templateSelection"), d = this.options.get("escapeMarkup");
15049                return d(c(a, b))
15050            }, d.prototype.selectionContainer = function () {
15051                var b = a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');
15052                return b
15053            }, d.prototype.update = function (a) {
15054                if (this.clear(), 0 !== a.length) {
15055                    for (var b = [], d = 0; d < a.length; d++) {
15056                        var e = a[d], f = this.selectionContainer(), g = this.display(e, f);
15057                        f.append(g), f.prop("title", e.title || e.text), f.data("data", e), b.push(f)
15058                    }
15059                    var h = this.$selection.find(".select2-selection__rendered");
15060                    c.appendMany(h, b)
15061                }
15062            }, d
15063        }), b.define("select2/selection/placeholder", ["../utils"], function (a) {
15064            function b(a, b, c) {
15065                this.placeholder = this.normalizePlaceholder(c.get("placeholder")), a.call(this, b, c)
15066            }
15067
15068            return b.prototype.normalizePlaceholder = function (a, b) {
15069                return "string" == typeof b && (b = {id: "", text: b}), b
15070            }, b.prototype.createPlaceholder = function (a, b) {
15071                var c = this.selectionContainer();
15072                return c.html(this.display(b)), c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"), c
15073            }, b.prototype.update = function (a, b) {
15074                var c = 1 == b.length && b[0].id != this.placeholder.id, d = b.length > 1;
15075                if (d || c) return a.call(this, b);
15076                this.clear();
15077                var e = this.createPlaceholder(this.placeholder);
15078                this.$selection.find(".select2-selection__rendered").append(e)
15079            }, b
15080        }), b.define("select2/selection/allowClear", ["jquery", "../keys"], function (a, b) {
15081            function c() {
15082            }
15083
15084            return c.prototype.bind = function (a, b, c) {
15085                var d = this;
15086                a.call(this, b, c), null == this.placeholder && this.options.get("debug") && window.console && console.error && console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."), this.$selection.on("mousedown", ".select2-selection__clear", function (a) {
15087                    d._handleClear(a)
15088                }), b.on("keypress", function (a) {
15089                    d._handleKeyboardClear(a, b)
15090                })
15091            }, c.prototype._handleClear = function (a, b) {
15092                if (!this.options.get("disabled")) {
15093                    var c = this.$selection.find(".select2-selection__clear");
15094                    if (0 !== c.length) {
15095                        b.stopPropagation();
15096                        for (var d = c.data("data"), e = 0; e < d.length; e++) {
15097                            var f = {data: d[e]};
15098                            if (this.trigger("unselect", f), f.prevented) return
15099                        }
15100                        this.$element.val(this.placeholder.id).trigger("change"), this.trigger("toggle", {})
15101                    }
15102                }
15103            }, c.prototype._handleKeyboardClear = function (a, c, d) {
15104                d.isOpen() || (c.which == b.DELETE || c.which == b.BACKSPACE) && this._handleClear(c)
15105            }, c.prototype.update = function (b, c) {
15106                if (b.call(this, c), !(this.$selection.find(".select2-selection__placeholder").length > 0 || 0 === c.length)) {
15107                    var d = a('<span class="select2-selection__clear">&times;</span>');
15108                    d.data("data", c), this.$selection.find(".select2-selection__rendered").prepend(d)
15109                }
15110            }, c
15111        }), b.define("select2/selection/search", ["jquery", "../utils", "../keys"], function (a, b, c) {
15112            function d(a, b, c) {
15113                a.call(this, b, c)
15114            }
15115
15116            return d.prototype.render = function (b) {
15117                var c = a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');
15118                this.$searchContainer = c, this.$search = c.find("input");
15119                var d = b.call(this);
15120                return this._transferTabIndex(), d
15121            }, d.prototype.bind = function (a, b, d) {
15122                var e = this;
15123                a.call(this, b, d), b.on("open", function () {
15124                    e.$search.trigger("focus")
15125                }), b.on("close", function () {
15126                    e.$search.val(""), e.$search.removeAttr("aria-activedescendant"), e.$search.trigger("focus")
15127                }), b.on("enable", function () {
15128                    e.$search.prop("disabled", !1), e._transferTabIndex()
15129                }), b.on("disable", function () {
15130                    e.$search.prop("disabled", !0)
15131                }), b.on("focus", function (a) {
15132                    e.$search.trigger("focus")
15133                }), b.on("results:focus", function (a) {
15134                    e.$search.attr("aria-activedescendant", a.id)
15135                }), this.$selection.on("focusin", ".select2-search--inline", function (a) {
15136                    e.trigger("focus", a)
15137                }), this.$selection.on("focusout", ".select2-search--inline", function (a) {
15138                    e._handleBlur(a)
15139                }), this.$selection.on("keydown", ".select2-search--inline", function (a) {
15140                    a.stopPropagation(), e.trigger("keypress", a), e._keyUpPrevented = a.isDefaultPrevented();
15141                    var b = a.which;
15142                    if (b === c.BACKSPACE && "" === e.$search.val()) {
15143                        var d = e.$searchContainer.prev(".select2-selection__choice");
15144                        if (d.length > 0) {
15145                            var f = d.data("data");
15146                            e.searchRemoveChoice(f), a.preventDefault()
15147                        }
15148                    }
15149                });
15150                var f = document.documentMode, g = f && 11 >= f;
15151                this.$selection.on("input.searchcheck", ".select2-search--inline", function (a) {
15152                    return g ? void e.$selection.off("input.search input.searchcheck") : void e.$selection.off("keyup.search")
15153                }), this.$selection.on("keyup.search input.search", ".select2-search--inline", function (a) {
15154                    if (g && "input" === a.type) return void e.$selection.off("input.search input.searchcheck");
15155                    var b = a.which;
15156                    b != c.SHIFT && b != c.CTRL && b != c.ALT && b != c.TAB && e.handleSearch(a)
15157                })
15158            }, d.prototype._transferTabIndex = function (a) {
15159                this.$search.attr("tabindex", this.$selection.attr("tabindex")), this.$selection.attr("tabindex", "-1")
15160            }, d.prototype.createPlaceholder = function (a, b) {
15161                this.$search.attr("placeholder", b.text)
15162            }, d.prototype.update = function (a, b) {
15163                var c = this.$search[0] == document.activeElement;
15164                this.$search.attr("placeholder", ""), a.call(this, b), this.$selection.find(".select2-selection__rendered").append(this.$searchContainer), this.resizeSearch(), c && this.$search.focus()
15165            }, d.prototype.handleSearch = function () {
15166                if (this.resizeSearch(), !this._keyUpPrevented) {
15167                    var a = this.$search.val();
15168                    this.trigger("query", {term: a})
15169                }
15170                this._keyUpPrevented = !1
15171            }, d.prototype.searchRemoveChoice = function (a, b) {
15172                this.trigger("unselect", {data: b}), this.$search.val(b.text), this.handleSearch()
15173            }, d.prototype.resizeSearch = function () {
15174                this.$search.css("width", "25px");
15175                var a = "";
15176                if ("" !== this.$search.attr("placeholder")) a = this.$selection.find(".select2-selection__rendered").innerWidth(); else {
15177                    var b = this.$search.val().length + 1;
15178                    a = .75 * b + "em"
15179                }
15180                this.$search.css("width", a)
15181            }, d
15182        }), b.define("select2/selection/eventRelay", ["jquery"], function (a) {
15183            function b() {
15184            }
15185
15186            return b.prototype.bind = function (b, c, d) {
15187                var e = this,
15188                    f = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting"],
15189                    g = ["opening", "closing", "selecting", "unselecting"];
15190                b.call(this, c, d), c.on("*", function (b, c) {
15191                    if (-1 !== a.inArray(b, f)) {
15192                        c = c || {};
15193                        var d = a.Event("select2:" + b, {params: c});
15194                        e.$element.trigger(d), -1 !== a.inArray(b, g) && (c.prevented = d.isDefaultPrevented())
15195                    }
15196                })
15197            }, b
15198        }), b.define("select2/translation", ["jquery", "require"], function (a, b) {
15199            function c(a) {
15200                this.dict = a || {}
15201            }
15202
15203            return c.prototype.all = function () {
15204                return this.dict
15205            }, c.prototype.get = function (a) {
15206                return this.dict[a]
15207            }, c.prototype.extend = function (b) {
15208                this.dict = a.extend({}, b.all(), this.dict)
15209            }, c._cache = {}, c.loadPath = function (a) {
15210                if (!(a in c._cache)) {
15211                    var d = b(a);
15212                    c._cache[a] = d
15213                }
15214                return new c(c._cache[a])
15215            }, c
15216        }), b.define("select2/diacritics", [], function () {
15217            var a = {
15218                "Ⓐ": "A",
15219                "A": "A",
15220                "À": "A",
15221                "Á": "A",
15222                "Â": "A",
15223                "Ầ": "A",
15224                "Ấ": "A",
15225                "Ẫ": "A",
15226                "Ẩ": "A",
15227                "Ã": "A",
15228                "Ā": "A",
15229                "Ă": "A",
15230                "Ằ": "A",
15231                "Ắ": "A",
15232                "Ẵ": "A",
15233                "Ẳ": "A",
15234                "Ȧ": "A",
15235                "Ç ": "A",
15236                "Ä": "A",
15237                "Ǟ": "A",
15238                "Ả": "A",
15239                "Å": "A",
15240                "Ǻ": "A",
15241                "Ǎ": "A",
15242                "Ȁ": "A",
15243                "Ȃ": "A",
15244                "Ạ": "A",
15245                "Ậ": "A",
15246                "Ặ": "A",
15247                "Ḁ": "A",
15248                "Ą": "A",
15249                "Ⱥ": "A",
15250                "Ɐ": "A",
15251                "Ꜳ": "AA",
15252                "Æ": "AE",
15253                "Ǽ": "AE",
15254                "Ç¢": "AE",
15255                "Ꜵ": "AO",
15256                "Ꜷ": "AU",
15257                "Ꜹ": "AV",
15258                "Ꜻ": "AV",
15259                "Ꜽ": "AY",
15260                "Ⓑ": "B",
15261                "ï¼¢": "B",
15262                "Ḃ": "B",
15263                "Ḅ": "B",
15264                "Ḇ": "B",
15265                "Ƀ": "B",
15266                "Ƃ": "B",
15267                "Ɓ": "B",
15268                "Ⓒ": "C",
15269                "ï¼£": "C",
15270                "Ć": "C",
15271                "Ĉ": "C",
15272                "Ċ": "C",
15273                "Č": "C",
15274                "Ç": "C",
15275                "Ḉ": "C",
15276                "Ƈ": "C",
15277                "È»": "C",
15278                "Ꜿ": "C",
15279                "Ⓓ": "D",
15280                "D": "D",
15281                "Ḋ": "D",
15282                "Ď": "D",
15283                "Ḍ": "D",
15284                "Ḑ": "D",
15285                "Ḓ": "D",
15286                "Ḏ": "D",
15287                "Đ": "D",
15288                "Ƌ": "D",
15289                "Ɗ": "D",
15290                "Ɖ": "D",
15291                "Ꝺ": "D",
15292                "DZ": "DZ",
15293                "DŽ": "DZ",
15294                "Dz": "Dz",
15295                "Dž": "Dz",
15296                "Ⓔ": "E",
15297                "ï¼¥": "E",
15298                "È": "E",
15299                "É": "E",
15300                "Ê": "E",
15301                "Ề": "E",
15302                "Ế": "E",
15303                "Ễ": "E",
15304                "Ể": "E",
15305                "Ẽ": "E",
15306                "Ē": "E",
15307                "Ḕ": "E",
15308                "Ḗ": "E",
15309                "Ĕ": "E",
15310                "Ė": "E",
15311                "Ë": "E",
15312                "Ẻ": "E",
15313                "Ě": "E",
15314                "Ȅ": "E",
15315                "Ȇ": "E",
15316                "Ẹ": "E",
15317                "Ệ": "E",
15318                "Ȩ": "E",
15319                "Ḝ": "E",
15320                "Ę": "E",
15321                "Ḙ": "E",
15322                "Ḛ": "E",
15323                "Ɛ": "E",
15324                "Ǝ": "E",
15325                "Ⓕ": "F",
15326                "F": "F",
15327                "Ḟ": "F",
15328                "Ƒ": "F",
15329                "Ꝼ": "F",
15330                "Ⓖ": "G",
15331                "ï¼§": "G",
15332                "Ç´": "G",
15333                "Ĝ": "G",
15334                "Ḡ": "G",
15335                "Ğ": "G",
15336                "Ä ": "G",
15337                "Ǧ": "G",
15338                "Ä¢": "G",
15339                "Ǥ": "G",
15340                "Ɠ": "G",
15341                "Ꞡ": "G",
15342                "Ᵹ": "G",
15343                "Ꝿ": "G",
15344                "Ⓗ": "H",
15345                "H": "H",
15346                "Ĥ": "H",
15347                "Ḣ": "H",
15348                "Ḧ": "H",
15349                "Ȟ": "H",
15350                "Ḥ": "H",
15351                "Ḩ": "H",
15352                "Ḫ": "H",
15353                "Ħ": "H",
15354                "â±§": "H",
15355                "â±µ": "H",
15356                "Ɥ": "H",
15357                "Ⓘ": "I",
15358                "I": "I",
15359                "Ì": "I",
15360                "Í": "I",
15361                "Î": "I",
15362                "Ĩ": "I",
15363                "Ī": "I",
15364                "Ĭ": "I",
15365                "İ": "I",
15366                "Ï": "I",
15367                "Ḯ": "I",
15368                "Ỉ": "I",
15369                "Ǐ": "I",
15370                "Ȉ": "I",
15371                "Ȋ": "I",
15372                "Ị": "I",
15373                "Ä®": "I",
15374                "Ḭ": "I",
15375                "Ɨ": "I",
15376                "Ⓙ": "J",
15377                "J": "J",
15378                "Ä´": "J",
15379                "Ɉ": "J",
15380                "Ⓚ": "K",
15381                "K": "K",
15382                "Ḱ": "K",
15383                "Ǩ": "K",
15384                "Ḳ": "K",
15385                "Ķ": "K",
15386                "Ḵ": "K",
15387                "Ƙ": "K",
15388                "Ⱪ": "K",
15389                "Ꝁ": "K",
15390                "Ꝃ": "K",
15391                "Ꝅ": "K",
15392                "Ꞣ": "K",
15393                "Ⓛ": "L",
15394                "L": "L",
15395                "Ä¿": "L",
15396                "Ĺ": "L",
15397                "Ľ": "L",
15398                "Ḷ": "L",
15399                "Ḹ": "L",
15400                "Ä»": "L",
15401                "Ḽ": "L",
15402                "Ḻ": "L",
15403                "Ł": "L",
15404                "Ƚ": "L",
15405                "â±¢": "L",
15406                "â± ": "L",
15407                "Ꝉ": "L",
15408                "Ꝇ": "L",
15409                "Ꞁ": "L",
15410                "LJ": "LJ",
15411                "Lj": "Lj",
15412                "Ⓜ": "M",
15413                "ï¼­": "M",
15414                "Ḿ": "M",
15415                "Ṁ": "M",
15416                "Ṃ": "M",
15417                "â±®": "M",
15418                "Ɯ": "M",
15419                "Ⓝ": "N",
15420                "ï¼®": "N",
15421                "Ǹ": "N",
15422                "Ń": "N",
15423                "Ñ": "N",
15424                "Ṅ": "N",
15425                "Ň": "N",
15426                "Ṇ": "N",
15427                "Ņ": "N",
15428                "Ṋ": "N",
15429                "Ṉ": "N",
15430                "È ": "N",
15431                "Ɲ": "N",
15432                "Ꞑ": "N",
15433                "Ꞥ": "N",
15434                "NJ": "NJ",
15435                "Nj": "Nj",
15436                "Ⓞ": "O",
15437                "O": "O",
15438                "Ò": "O",
15439                "Ó": "O",
15440                "Ô": "O",
15441                "Ồ": "O",
15442                "Ố": "O",
15443                "Ỗ": "O",
15444                "Ổ": "O",
15445                "Õ": "O",
15446                "Ṍ": "O",
15447                "Ȭ": "O",
15448                "Ṏ": "O",
15449                "Ō": "O",
15450                "Ṑ": "O",
15451                "Ṓ": "O",
15452                "Ŏ": "O",
15453                "È®": "O",
15454                "Ȱ": "O",
15455                "Ö": "O",
15456                "Ȫ": "O",
15457                "Ỏ": "O",
15458                "Ő": "O",
15459                "Ǒ": "O",
15460                "Ȍ": "O",
15461                "Ȏ": "O",
15462                "Æ ": "O",
15463                "Ờ": "O",
15464                "Ớ": "O",
15465                "á» ": "O",
15466                "Ở": "O",
15467                "Ợ": "O",
15468                "Ọ": "O",
15469                "Ộ": "O",
15470                "Ǫ": "O",
15471                "Ǭ": "O",
15472                "Ø": "O",
15473                "Ǿ": "O",
15474                "Ɔ": "O",
15475                "Ɵ": "O",
15476                "Ꝋ": "O",
15477                "Ꝍ": "O",
15478                "Æ¢": "OI",
15479                "Ꝏ": "OO",
15480                "È¢": "OU",
15481                "Ⓟ": "P",
15482                "ï¼°": "P",
15483                "Ṕ": "P",
15484                "Ṗ": "P",
15485                "Ƥ": "P",
15486                "â±£": "P",
15487                "Ꝑ": "P",
15488                "Ꝓ": "P",
15489                "Ꝕ": "P",
15490                "Ⓠ": "Q",
15491                "ï¼±": "Q",
15492                "Ꝗ": "Q",
15493                "Ꝙ": "Q",
15494                "Ɋ": "Q",
15495                "Ⓡ": "R",
15496                "ï¼²": "R",
15497                "Ŕ": "R",
15498                "Ṙ": "R",
15499                "Ř": "R",
15500                "Ȑ": "R",
15501                "Ȓ": "R",
15502                "Ṛ": "R",
15503                "Ṝ": "R",
15504                "Ŗ": "R",
15505                "Ṟ": "R",
15506                "Ɍ": "R",
15507                "Ɽ": "R",
15508                "Ꝛ": "R",
15509                "Ꞧ": "R",
15510                "Ꞃ": "R",
15511                "Ⓢ": "S",
15512                "ï¼³": "S",
15513                "ẞ": "S",
15514                "Ś": "S",
15515                "Ṥ": "S",
15516                "Ŝ": "S",
15517                "á¹ ": "S",
15518                "Å ": "S",
15519                "Ṧ": "S",
15520                "á¹¢": "S",
15521                "Ṩ": "S",
15522                "Ș": "S",
15523                "Ş": "S",
15524                "â±¾": "S",
15525                "Ꞩ": "S",
15526                "Ꞅ": "S",
15527                "Ⓣ": "T",
15528                "ï¼´": "T",
15529                "Ṫ": "T",
15530                "Ť": "T",
15531                "Ṭ": "T",
15532                "Ț": "T",
15533                "Å¢": "T",
15534                "á¹°": "T",
15535                "á¹®": "T",
15536                "Ŧ": "T",
15537                "Ƭ": "T",
15538                "Æ®": "T",
15539                "Ⱦ": "T",
15540                "Ꞇ": "T",
15541                "Ꜩ": "TZ",
15542                "Ⓤ": "U",
15543                "ï¼µ": "U",
15544                "Ù": "U",
15545                "Ú": "U",
15546                "Û": "U",
15547                "Ũ": "U",
15548                "Ṹ": "U",
15549                "Ū": "U",
15550                "Ṻ": "U",
15551                "Ŭ": "U",
15552                "Ü": "U",
15553                "Ǜ": "U",
15554                "Ǘ": "U",
15555                "Ǖ": "U",
15556                "Ǚ": "U",
15557                "Ủ": "U",
15558                "Å®": "U",
15559                "Ű": "U",
15560                "Ǔ": "U",
15561                "Ȕ": "U",
15562                "Ȗ": "U",
15563                "Ư": "U",
15564                "Ừ": "U",
15565                "Ứ": "U",
15566                "á»®": "U",
15567                "Ử": "U",
15568                "á»°": "U",
15569                "Ụ": "U",
15570                "á¹²": "U",
15571                "Ų": "U",
15572                "á¹¶": "U",
15573                "á¹´": "U",
15574                "Ʉ": "U",
15575                "Ⓥ": "V",
15576                "ï¼¶": "V",
15577                "á¹¼": "V",
15578                "á¹¾": "V",
15579                "Ʋ": "V",
15580                "Ꝟ": "V",
15581                "Ʌ": "V",
15582                "Ꝡ": "VY",
15583                "Ⓦ": "W",
15584                "ï¼·": "W",
15585                "Ẁ": "W",
15586                "Ẃ": "W",
15587                "Å´": "W",
15588                "Ẇ": "W",
15589                "Ẅ": "W",
15590                "Ẉ": "W",
15591                "â±²": "W",
15592                "Ⓧ": "X",
15593                "X": "X",
15594                "Ẋ": "X",
15595                "Ẍ": "X",
15596                "Ⓨ": "Y",
15597                "ï¼¹": "Y",
15598                "Ỳ": "Y",
15599                "Ý": "Y",
15600                "Ŷ": "Y",
15601                "Ỹ": "Y",
15602                "Ȳ": "Y",
15603                "Ẏ": "Y",
15604                "Ÿ": "Y",
15605                "á»¶": "Y",
15606                "á»´": "Y",
15607                "Ƴ": "Y",
15608                "Ɏ": "Y",
15609                "Ỿ": "Y",
15610                "Ⓩ": "Z",
15611                "Z": "Z",
15612                "Ź": "Z",
15613                "Ẑ": "Z",
15614                "Å»": "Z",
15615                "Ž": "Z",
15616                "Ẓ": "Z",
15617                "Ẕ": "Z",
15618                "Ƶ": "Z",
15619                "Ȥ": "Z",
15620                "Ɀ": "Z",
15621                "Ⱬ": "Z",
15622                "Ꝣ": "Z",
15623                "ⓐ": "a",
15624                "a": "a",
15625                "ẚ": "a",
15626                "à": "a",
15627                "á": "a",
15628                "â": "a",
15629                "ầ": "a",
15630                "ấ": "a",
15631                "ẫ": "a",
15632                "ẩ": "a",
15633                "ã": "a",
15634                "ā": "a",
15635                "ă": "a",
15636                "ằ": "a",
15637                "ắ": "a",
15638                "ẵ": "a",
15639                "ẳ": "a",
15640                "ȧ": "a",
15641                "Ç¡": "a",
15642                "ä": "a",
15643                "ǟ": "a",
15644                "ả": "a",
15645                "Ã¥": "a",
15646                "Ç»": "a",
15647                "ǎ": "a",
15648                "ȁ": "a",
15649                "ȃ": "a",
15650                "ạ": "a",
15651                "ậ": "a",
15652                "ặ": "a",
15653                "ḁ": "a",
15654                "ą": "a",
15655                "â±¥": "a",
15656                "ɐ": "a",
15657                "ꜳ": "aa",
15658                "æ": "ae",
15659                "ǽ": "ae",
15660                "Ç£": "ae",
15661                "ꜵ": "ao",
15662                "ꜷ": "au",
15663                "ꜹ": "av",
15664                "ꜻ": "av",
15665                "ꜽ": "ay",
15666                "ⓑ": "b",
15667                "b": "b",
15668                "ḃ": "b",
15669                "ḅ": "b",
15670                "ḇ": "b",
15671                "ƀ": "b",
15672                "ƃ": "b",
15673                "ɓ": "b",
15674                "ⓒ": "c",
15675                "c": "c",
15676                "ć": "c",
15677                "ĉ": "c",
15678                "ċ": "c",
15679                "č": "c",
15680                "ç": "c",
15681                "ḉ": "c",
15682                "ƈ": "c",
15683                "ȼ": "c",
15684                "ꜿ": "c",
15685                "ↄ": "c",
15686                "ⓓ": "d",
15687                "d": "d",
15688                "ḋ": "d",
15689                "ď": "d",
15690                "ḍ": "d",
15691                "ḑ": "d",
15692                "ḓ": "d",
15693                "ḏ": "d",
15694                "đ": "d",
15695                "ƌ": "d",
15696                "ɖ": "d",
15697                "ɗ": "d",
15698                "ꝺ": "d",
15699                "dz": "dz",
15700                "dž": "dz",
15701                "ⓔ": "e",
15702                "e": "e",
15703                "è": "e",
15704                "é": "e",
15705                "ê": "e",
15706                "ề": "e",
15707                "ế": "e",
15708                "ễ": "e",
15709                "ể": "e",
15710                "ẽ": "e",
15711                "ē": "e",
15712                "ḕ": "e",
15713                "ḗ": "e",
15714                "ĕ": "e",
15715                "ė": "e",
15716                "ë": "e",
15717                "ẻ": "e",
15718                "ě": "e",
15719                "ȅ": "e",
15720                "ȇ": "e",
15721                "ẹ": "e",
15722                "ệ": "e",
15723                "È©": "e",
15724                "ḝ": "e",
15725                "ę": "e",
15726                "ḙ": "e",
15727                "ḛ": "e",
15728                "ɇ": "e",
15729                "ɛ": "e",
15730                "ǝ": "e",
15731                "ⓕ": "f",
15732                "f": "f",
15733                "ḟ": "f",
15734                "ƒ": "f",
15735                "ꝼ": "f",
15736                "ⓖ": "g",
15737                "g": "g",
15738                "ǵ": "g",
15739                "ĝ": "g",
15740                "ḡ": "g",
15741                "ğ": "g",
15742                "Ä¡": "g",
15743                "ǧ": "g",
15744                "Ä£": "g",
15745                "Ç¥": "g",
15746                "É ": "g",
15747                "ꞡ": "g",
15748                "áµ¹": "g",
15749                "ꝿ": "g",
15750                "ⓗ": "h",
15751                "h": "h",
15752                "Ä¥": "h",
15753                "ḣ": "h",
15754                "ḧ": "h",
15755                "ȟ": "h",
15756                "ḥ": "h",
15757                "ḩ": "h",
15758                "ḫ": "h",
15759                "ẖ": "h",
15760                "ħ": "h",
15761                "ⱨ": "h",
15762                "â±¶": "h",
15763                "É¥": "h",
15764                "ƕ": "hv",
15765                "ⓘ": "i",
15766                "i": "i",
15767                "ì": "i",
15768                "í": "i",
15769                "î": "i",
15770                "Ä©": "i",
15771                "Ä«": "i",
15772                "Ä­": "i",
15773                "ï": "i",
15774                "ḯ": "i",
15775                "ỉ": "i",
15776                "ǐ": "i",
15777                "ȉ": "i",
15778                "ȋ": "i",
15779                "ị": "i",
15780                "į": "i",
15781                "ḭ": "i",
15782                "ɨ": "i",
15783                "ı": "i",
15784                "ⓙ": "j",
15785                "j": "j",
15786                "ĵ": "j",
15787                "ǰ": "j",
15788                "ɉ": "j",
15789                "ⓚ": "k",
15790                "k": "k",
15791                "ḱ": "k",
15792                "Ç©": "k",
15793                "ḳ": "k",
15794                "Ä·": "k",
15795                "ḵ": "k",
15796                "ƙ": "k",
15797                "ⱪ": "k",
15798                "ꝁ": "k",
15799                "ꝃ": "k",
15800                "ꝅ": "k",
15801                "ꞣ": "k",
15802                "ⓛ": "l",
15803                "l": "l",
15804                "ŀ": "l",
15805                "ĺ": "l",
15806                "ľ": "l",
15807                "ḷ": "l",
15808                "ḹ": "l",
15809                "ļ": "l",
15810                "ḽ": "l",
15811                "ḻ": "l",
15812                "Å¿": "l",
15813                "ł": "l",
15814                "ƚ": "l",
15815                "É«": "l",
15816                "ⱡ": "l",
15817                "ꝉ": "l",
15818                "ꞁ": "l",
15819                "ꝇ": "l",
15820                "lj": "lj",
15821                "ⓜ": "m",
15822                "m": "m",
15823                "ḿ": "m",
15824                "ṁ": "m",
15825                "ṃ": "m",
15826                "ɱ": "m",
15827                "ɯ": "m",
15828                "ⓝ": "n",
15829                "n": "n",
15830                "ǹ": "n",
15831                "ń": "n",
15832                "ñ": "n",
15833                "ṅ": "n",
15834                "ň": "n",
15835                "ṇ": "n",
15836                "ņ": "n",
15837                "ṋ": "n",
15838                "ṉ": "n",
15839                "ƞ": "n",
15840                "ɲ": "n",
15841                "ʼn": "n",
15842                "ꞑ": "n",
15843                "ꞥ": "n",
15844                "nj": "nj",
15845                "ⓞ": "o",
15846                "o": "o",
15847                "ò": "o",
15848                "ó": "o",
15849                "ô": "o",
15850                "ồ": "o",
15851                "ố": "o",
15852                "ỗ": "o",
15853                "ổ": "o",
15854                "õ": "o",
15855                "ṍ": "o",
15856                "È­": "o",
15857                "ṏ": "o",
15858                "ō": "o",
15859                "ṑ": "o",
15860                "ṓ": "o",
15861                "ŏ": "o",
15862                "ȯ": "o",
15863                "ȱ": "o",
15864                "ö": "o",
15865                "È«": "o",
15866                "ỏ": "o",
15867                "ő": "o",
15868                "ǒ": "o",
15869                "ȍ": "o",
15870                "ȏ": "o",
15871                "Æ¡": "o",
15872                "ờ": "o",
15873                "ớ": "o",
15874                "ỡ": "o",
15875                "ở": "o",
15876                "ợ": "o",
15877                "ọ": "o",
15878                "ộ": "o",
15879                "Ç«": "o",
15880                "Ç­": "o",
15881                "ø": "o",
15882                "Ç¿": "o",
15883                "ɔ": "o",
15884                "ꝋ": "o",
15885                "ꝍ": "o",
15886                "ɵ": "o",
15887                "Æ£": "oi",
15888                "È£": "ou",
15889                "ꝏ": "oo",
15890                "ⓟ": "p",
15891                "p": "p",
15892                "ṕ": "p",
15893                "ṗ": "p",
15894                "Æ¥": "p",
15895                "áµ½": "p",
15896                "ꝑ": "p",
15897                "ꝓ": "p",
15898                "ꝕ": "p",
15899                "ⓠ": "q",
15900                "q": "q",
15901                "ɋ": "q",
15902                "ꝗ": "q",
15903                "ꝙ": "q",
15904                "ⓡ": "r",
15905                "r": "r",
15906                "ŕ": "r",
15907                "ṙ": "r",
15908                "ř": "r",
15909                "ȑ": "r",
15910                "ȓ": "r",
15911                "ṛ": "r",
15912                "ṝ": "r",
15913                "ŗ": "r",
15914                "ṟ": "r",
15915                "ɍ": "r",
15916                "ɽ": "r",
15917                "ꝛ": "r",
15918                "ꞧ": "r",
15919                "ꞃ": "r",
vendor: 37,020 bytes, lines 15920-16631
15920                "ⓢ": "s",
15921                "s": "s",
15922                "ß": "s",
15923                "ś": "s",
15924                "á¹¥": "s",
15925                "ŝ": "s",
15926                "ṡ": "s",
15927                "Å¡": "s",
15928                "á¹§": "s",
15929                "á¹£": "s",
15930                "ṩ": "s",
15931                "ș": "s",
15932                "ş": "s",
15933                "È¿": "s",
15934                "ꞩ": "s",
15935                "ꞅ": "s",
15936                "ẛ": "s",
15937                "ⓣ": "t",
15938                "t": "t",
15939                "ṫ": "t",
15940                "ẗ": "t",
15941                "Å¥": "t",
15942                "á¹­": "t",
15943                "ț": "t",
15944                "Å£": "t",
15945                "á¹±": "t",
15946                "ṯ": "t",
15947                "ŧ": "t",
15948                "Æ­": "t",
15949                "ʈ": "t",
15950                "ⱦ": "t",
15951                "ꞇ": "t",
15952                "ꜩ": "tz",
15953                "ⓤ": "u",
15954                "u": "u",
15955                "ù": "u",
15956                "ú": "u",
15957                "û": "u",
15958                "Å©": "u",
15959                "á¹¹": "u",
15960                "Å«": "u",
15961                "á¹»": "u",
15962                "Å­": "u",
15963                "ü": "u",
15964                "ǜ": "u",
15965                "ǘ": "u",
15966                "ǖ": "u",
15967                "ǚ": "u",
15968                "á»§": "u",
15969                "ů": "u",
15970                "ű": "u",
15971                "ǔ": "u",
15972                "ȕ": "u",
15973                "ȗ": "u",
15974                "ư": "u",
15975                "ừ": "u",
15976                "ứ": "u",
15977                "ữ": "u",
15978                "á»­": "u",
15979                "á»±": "u",
15980                "ụ": "u",
15981                "á¹³": "u",
15982                "ų": "u",
15983                "á¹·": "u",
15984                "á¹µ": "u",
15985                "ʉ": "u",
15986                "ⓥ": "v",
15987                "v": "v",
15988                "á¹½": "v",
15989                "ṿ": "v",
15990                "ʋ": "v",
15991                "ꝟ": "v",
15992                "ʌ": "v",
15993                "ꝡ": "vy",
15994                "ⓦ": "w",
15995                "w": "w",
15996                "ẁ": "w",
15997                "ẃ": "w",
15998                "ŵ": "w",
15999                "ẇ": "w",
16000                "ẅ": "w",
16001                "ẘ": "w",
16002                "ẉ": "w",
16003                "â±³": "w",
16004                "ⓧ": "x",
16005                "x": "x",
16006                "ẋ": "x",
16007                "ẍ": "x",
16008                "ⓨ": "y",
16009                "y": "y",
16010                "ỳ": "y",
16011                "ý": "y",
16012                "Å·": "y",
16013                "ỹ": "y",
16014                "ȳ": "y",
16015                "ẏ": "y",
16016                "ÿ": "y",
16017                "á»·": "y",
16018                "ẙ": "y",
16019                "ỵ": "y",
16020                "Æ´": "y",
16021                "ɏ": "y",
16022                "ỿ": "y",
16023                "ⓩ": "z",
16024                "z": "z",
16025                "ź": "z",
16026                "ẑ": "z",
16027                "ż": "z",
16028                "ž": "z",
16029                "ẓ": "z",
16030                "ẕ": "z",
16031                "ƶ": "z",
16032                "È¥": "z",
16033                "ɀ": "z",
16034                "ⱬ": "z",
16035                "ꝣ": "z",
16036                "Ά": "Α",
16037                "Έ": "Ε",
16038                "Ή": "Η",
16039                "Ί": "Ι",
16040                "Ϊ": "Ι",
16041                "Ό": "Ο",
16042                "Ύ": "Υ",
16043                "Ϋ": "Υ",
16044                "Ώ": "Ω",
16045                "ά": "α",
16046                "έ": "ε",
16047                "ή": "η",
16048                "ί": "ι",
16049                "ϊ": "ι",
16050                "ΐ": "ι",
16051                "ό": "ο",
16052                "ύ": "υ",
16053                "ϋ": "υ",
16054                "ΰ": "υ",
16055                "ω": "ω",
16056                "ς": "σ"
16057            };
16058            return a
16059        }), b.define("select2/data/base", ["../utils"], function (a) {
16060            function b(a, c) {
16061                b.__super__.constructor.call(this)
16062            }
16063
16064            return a.Extend(b, a.Observable), b.prototype.current = function (a) {
16065                throw new Error("The `current` method must be defined in child classes.")
16066            }, b.prototype.query = function (a, b) {
16067                throw new Error("The `query` method must be defined in child classes.")
16068            }, b.prototype.bind = function (a, b) {
16069            }, b.prototype.destroy = function () {
16070            }, b.prototype.generateResultId = function (b, c) {
16071                var d = b.id + "-result-";
16072                return d += a.generateChars(4), d += null != c.id ? "-" + c.id.toString() : "-" + a.generateChars(4)
16073            }, b
16074        }), b.define("select2/data/select", ["./base", "../utils", "jquery"], function (a, b, c) {
16075            function d(a, b) {
16076                this.$element = a, this.options = b, d.__super__.constructor.call(this)
16077            }
16078
16079            return b.Extend(d, a), d.prototype.current = function (a) {
16080                var b = [], d = this;
16081                this.$element.find(":selected").each(function () {
16082                    var a = c(this), e = d.item(a);
16083                    b.push(e)
16084                }), a(b)
16085            }, d.prototype.select = function (a) {
16086                var b = this;
16087                if (a.selected = !0, c(a.element).is("option")) return a.element.selected = !0, void this.$element.trigger("change");
16088                if (this.$element.prop("multiple")) this.current(function (d) {
16089                    var e = [];
16090                    a = [a], a.push.apply(a, d);
16091                    for (var f = 0; f < a.length; f++) {
16092                        var g = a[f].id;
16093                        -1 === c.inArray(g, e) && e.push(g)
16094                    }
16095                    b.$element.val(e), b.$element.trigger("change")
16096                }); else {
16097                    var d = a.id;
16098                    this.$element.val(d), this.$element.trigger("change")
16099                }
16100            }, d.prototype.unselect = function (a) {
16101                var b = this;
16102                return this.$element.prop("multiple") ? (a.selected = !1, c(a.element).is("option") ? (a.element.selected = !1, void this.$element.trigger("change")) : void this.current(function (d) {
16103                    for (var e = [], f = 0; f < d.length; f++) {
16104                        var g = d[f].id;
16105                        g !== a.id && -1 === c.inArray(g, e) && e.push(g)
16106                    }
16107                    b.$element.val(e), b.$element.trigger("change")
16108                })) : void 0
16109            }, d.prototype.bind = function (a, b) {
16110                var c = this;
16111                this.container = a, a.on("select", function (a) {
16112                    c.select(a.data)
16113                }), a.on("unselect", function (a) {
16114                    c.unselect(a.data)
16115                })
16116            }, d.prototype.destroy = function () {
16117                this.$element.find("*").each(function () {
16118                    c.removeData(this, "data")
16119                })
16120            }, d.prototype.query = function (a, b) {
16121                var d = [], e = this, f = this.$element.children();
16122                f.each(function () {
16123                    var b = c(this);
16124                    if (b.is("option") || b.is("optgroup")) {
16125                        var f = e.item(b), g = e.matches(a, f);
16126                        null !== g && d.push(g)
16127                    }
16128                }), b({results: d})
16129            }, d.prototype.addOptions = function (a) {
16130                b.appendMany(this.$element, a)
16131            }, d.prototype.option = function (a) {
16132                var b;
16133                a.children ? (b = document.createElement("optgroup"), b.label = a.text) : (b = document.createElement("option"), void 0 !== b.textContent ? b.textContent = a.text : b.innerText = a.text), a.id && (b.value = a.id), a.disabled && (b.disabled = !0), a.selected && (b.selected = !0), a.title && (b.title = a.title);
16134                var d = c(b), e = this._normalizeItem(a);
16135                return e.element = b, c.data(b, "data", e), d
16136            }, d.prototype.item = function (a) {
16137                var b = {};
16138                if (b = c.data(a[0], "data"), null != b) return b;
16139                if (a.is("option")) b = {
16140                    id: a.val(),
16141                    text: a.text(),
16142                    disabled: a.prop("disabled"),
16143                    selected: a.prop("selected"),
16144                    title: a.prop("title")
16145                }; else if (a.is("optgroup")) {
16146                    b = {text: a.prop("label"), children: [], title: a.prop("title")};
16147                    for (var d = a.children("option"), e = [], f = 0; f < d.length; f++) {
16148                        var g = c(d[f]), h = this.item(g);
16149                        e.push(h)
16150                    }
16151                    b.children = e
16152                }
16153                return b = this._normalizeItem(b), b.element = a[0], c.data(a[0], "data", b), b
16154            }, d.prototype._normalizeItem = function (a) {
16155                c.isPlainObject(a) || (a = {id: a, text: a}), a = c.extend({}, {text: ""}, a);
16156                var b = {selected: !1, disabled: !1};
16157                return null != a.id && (a.id = a.id.toString()), null != a.text && (a.text = a.text.toString()), null == a._resultId && a.id && null != this.container && (a._resultId = this.generateResultId(this.container, a)), c.extend({}, b, a)
16158            }, d.prototype.matches = function (a, b) {
16159                var c = this.options.get("matcher");
16160                return c(a, b)
16161            }, d
16162        }), b.define("select2/data/array", ["./select", "../utils", "jquery"], function (a, b, c) {
16163            function d(a, b) {
16164                var c = b.get("data") || [];
16165                d.__super__.constructor.call(this, a, b), this.addOptions(this.convertToOptions(c))
16166            }
16167
16168            return b.Extend(d, a), d.prototype.select = function (a) {
16169                var b = this.$element.find("option").filter(function (b, c) {
16170                    return c.value == a.id.toString()
16171                });
16172                0 === b.length && (b = this.option(a), this.addOptions(b)), d.__super__.select.call(this, a)
16173            }, d.prototype.convertToOptions = function (a) {
16174                function d(a) {
16175                    return function () {
16176                        return c(this).val() == a.id
16177                    }
16178                }
16179
16180                for (var e = this, f = this.$element.find("option"), g = f.map(function () {
16181                    return e.item(c(this)).id
16182                }).get(), h = [], i = 0; i < a.length; i++) {
16183                    var j = this._normalizeItem(a[i]);
16184                    if (c.inArray(j.id, g) >= 0) {
16185                        var k = f.filter(d(j)), l = this.item(k), m = c.extend(!0, {}, l, j), n = this.option(m);
16186                        k.replaceWith(n)
16187                    } else {
16188                        var o = this.option(j);
16189                        if (j.children) {
16190                            var p = this.convertToOptions(j.children);
16191                            b.appendMany(o, p);
16192                        }
16193                        h.push(o)
16194                    }
16195                }
16196                return h
16197            }, d
16198        }), b.define("select2/data/ajax", ["./array", "../utils", "jquery"], function (a, b, c) {
16199            function d(a, b) {
16200                this.ajaxOptions = this._applyDefaults(b.get("ajax")), null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), d.__super__.constructor.call(this, a, b)
16201            }
16202
16203            return b.Extend(d, a), d.prototype._applyDefaults = function (a) {
16204                var b = {
16205                    data: function (a) {
16206                        return c.extend({}, a, {q: a.term})
16207                    }, transport: function (a, b, d) {
16208                        var e = c.ajax(a);
16209                        return e.then(b), e.fail(d), e
16210                    }
16211                };
16212                return c.extend({}, b, a, !0)
16213            }, d.prototype.processResults = function (a) {
16214                return a
16215            }, d.prototype.query = function (a, b) {
16216                function d() {
16217                    var d = f.transport(f, function (d) {
16218                        var f = e.processResults(d, a);
16219                        e.options.get("debug") && window.console && console.error && (f && f.results && c.isArray(f.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")), b(f)
16220                    }, function () {
16221                    });
16222                    e._request = d
16223                }
16224
16225                var e = this;
16226                null != this._request && (c.isFunction(this._request.abort) && this._request.abort(), this._request = null);
16227                var f = c.extend({type: "GET"}, this.ajaxOptions);
16228                "function" == typeof f.url && (f.url = f.url.call(this.$element, a)), "function" == typeof f.data && (f.data = f.data.call(this.$element, a)), this.ajaxOptions.delay && "" !== a.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), this._queryTimeout = window.setTimeout(d, this.ajaxOptions.delay)) : d()
16229            }, d
16230        }), b.define("select2/data/tags", ["jquery"], function (a) {
16231            function b(b, c, d) {
16232                var e = d.get("tags"), f = d.get("createTag");
16233                if (void 0 !== f && (this.createTag = f), b.call(this, c, d), a.isArray(e)) for (var g = 0; g < e.length; g++) {
16234                    var h = e[g], i = this._normalizeItem(h), j = this.option(i);
16235                    this.$element.append(j)
16236                }
16237            }
16238
16239            return b.prototype.query = function (a, b, c) {
16240                function d(a, f) {
16241                    for (var g = a.results, h = 0; h < g.length; h++) {
16242                        var i = g[h], j = null != i.children && !d({results: i.children}, !0), k = i.text === b.term;
16243                        if (k || j) return f ? !1 : (a.data = g, void c(a))
16244                    }
16245                    if (f) return !0;
16246                    var l = e.createTag(b);
16247                    if (null != l) {
16248                        var m = e.option(l);
16249                        m.attr("data-select2-tag", !0), e.addOptions([m]), e.insertTag(g, l)
16250                    }
16251                    a.results = g, c(a)
16252                }
16253
16254                var e = this;
16255                return this._removeOldTags(), null == b.term || null != b.page ? void a.call(this, b, c) : void a.call(this, b, d)
16256            }, b.prototype.createTag = function (b, c) {
16257                var d = a.trim(c.term);
16258                return "" === d ? null : {id: d, text: d}
16259            }, b.prototype.insertTag = function (a, b, c) {
16260                b.unshift(c)
16261            }, b.prototype._removeOldTags = function (b) {
16262                var c = (this._lastTag, this.$element.find("option[data-select2-tag]"));
16263                c.each(function () {
16264                    this.selected || a(this).remove()
16265                })
16266            }, b
16267        }), b.define("select2/data/tokenizer", ["jquery"], function (a) {
16268            function b(a, b, c) {
16269                var d = c.get("tokenizer");
16270                void 0 !== d && (this.tokenizer = d), a.call(this, b, c)
16271            }
16272
16273            return b.prototype.bind = function (a, b, c) {
16274                a.call(this, b, c), this.$search = b.dropdown.$search || b.selection.$search || c.find(".select2-search__field")
16275            }, b.prototype.query = function (a, b, c) {
16276                function d(a) {
16277                    e.trigger("select", {data: a})
16278                }
16279
16280                var e = this;
16281                b.term = b.term || "";
16282                var f = this.tokenizer(b, this.options, d);
16283                f.term !== b.term && (this.$search.length && (this.$search.val(f.term), this.$search.focus()), b.term = f.term), a.call(this, b, c)
16284            }, b.prototype.tokenizer = function (b, c, d, e) {
16285                for (var f = d.get("tokenSeparators") || [], g = c.term, h = 0, i = this.createTag || function (a) {
16286                    return {id: a.term, text: a.term}
16287                }; h < g.length;) {
16288                    var j = g[h];
16289                    if (-1 !== a.inArray(j, f)) {
16290                        var k = g.substr(0, h), l = a.extend({}, c, {term: k}), m = i(l);
16291                        null != m ? (e(m), g = g.substr(h + 1) || "", h = 0) : h++
16292                    } else h++
16293                }
16294                return {term: g}
16295            }, b
16296        }), b.define("select2/data/minimumInputLength", [], function () {
16297            function a(a, b, c) {
16298                this.minimumInputLength = c.get("minimumInputLength"), a.call(this, b, c)
16299            }
16300
16301            return a.prototype.query = function (a, b, c) {
16302                return b.term = b.term || "", b.term.length < this.minimumInputLength ? void this.trigger("results:message", {
16303                    message: "inputTooShort",
16304                    args: {minimum: this.minimumInputLength, input: b.term, params: b}
16305                }) : void a.call(this, b, c)
16306            }, a
16307        }), b.define("select2/data/maximumInputLength", [], function () {
16308            function a(a, b, c) {
16309                this.maximumInputLength = c.get("maximumInputLength"), a.call(this, b, c)
16310            }
16311
16312            return a.prototype.query = function (a, b, c) {
16313                return b.term = b.term || "", this.maximumInputLength > 0 && b.term.length > this.maximumInputLength ? void this.trigger("results:message", {
16314                    message: "inputTooLong",
16315                    args: {maximum: this.maximumInputLength, input: b.term, params: b}
16316                }) : void a.call(this, b, c)
16317            }, a
16318        }), b.define("select2/data/maximumSelectionLength", [], function () {
16319            function a(a, b, c) {
16320                this.maximumSelectionLength = c.get("maximumSelectionLength"), a.call(this, b, c)
16321            }
16322
16323            return a.prototype.query = function (a, b, c) {
16324                var d = this;
16325                this.current(function (e) {
16326                    var f = null != e ? e.length : 0;
16327                    return d.maximumSelectionLength > 0 && f >= d.maximumSelectionLength ? void d.trigger("results:message", {
16328                        message: "maximumSelected",
16329                        args: {maximum: d.maximumSelectionLength}
16330                    }) : void a.call(d, b, c)
16331                })
16332            }, a
16333        }), b.define("select2/dropdown", ["jquery", "./utils"], function (a, b) {
16334            function c(a, b) {
16335                this.$element = a, this.options = b, c.__super__.constructor.call(this)
16336            }
16337
16338            return b.Extend(c, b.Observable), c.prototype.render = function () {
16339                var b = a('<span class="select2-dropdown"><span class="select2-results"></span></span>');
16340                return b.attr("dir", this.options.get("dir")), this.$dropdown = b, b
16341            }, c.prototype.bind = function () {
16342            }, c.prototype.position = function (a, b) {
16343            }, c.prototype.destroy = function () {
16344                this.$dropdown.remove()
16345            }, c
16346        }), b.define("select2/dropdown/search", ["jquery", "../utils"], function (a, b) {
16347            function c() {
16348            }
16349
16350            return c.prototype.render = function (b) {
16351                var c = b.call(this),
16352                    d = a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');
16353                return this.$searchContainer = d, this.$search = d.find("input"), c.prepend(d), c
16354            }, c.prototype.bind = function (b, c, d) {
16355                var e = this;
16356                b.call(this, c, d), this.$search.on("keydown", function (a) {
16357                    e.trigger("keypress", a), e._keyUpPrevented = a.isDefaultPrevented()
16358                }), this.$search.on("input", function (b) {
16359                    a(this).off("keyup")
16360                }), this.$search.on("keyup input", function (a) {
16361                    e.handleSearch(a)
16362                }), c.on("open", function () {
16363                    e.$search.attr("tabindex", 0), e.$search.focus(), window.setTimeout(function () {
16364                        e.$search.focus()
16365                    }, 0)
16366                }), c.on("close", function () {
16367                    e.$search.attr("tabindex", -1), e.$search.val("")
16368                }), c.on("results:all", function (a) {
16369                    if (null == a.query.term || "" === a.query.term) {
16370                        var b = e.showSearch(a);
16371                        b ? e.$searchContainer.removeClass("select2-search--hide") : e.$searchContainer.addClass("select2-search--hide")
16372                    }
16373                })
16374            }, c.prototype.handleSearch = function (a) {
16375                if (!this._keyUpPrevented) {
16376                    var b = this.$search.val();
16377                    this.trigger("query", {term: b})
16378                }
16379                this._keyUpPrevented = !1
16380            }, c.prototype.showSearch = function (a, b) {
16381                return !0
16382            }, c
16383        }), b.define("select2/dropdown/hidePlaceholder", [], function () {
16384            function a(a, b, c, d) {
16385                this.placeholder = this.normalizePlaceholder(c.get("placeholder")), a.call(this, b, c, d)
16386            }
16387
16388            return a.prototype.append = function (a, b) {
16389                b.results = this.removePlaceholder(b.results), a.call(this, b)
16390            }, a.prototype.normalizePlaceholder = function (a, b) {
16391                return "string" == typeof b && (b = {id: "", text: b}), b
16392            }, a.prototype.removePlaceholder = function (a, b) {
16393                for (var c = b.slice(0), d = b.length - 1; d >= 0; d--) {
16394                    var e = b[d];
16395                    this.placeholder.id === e.id && c.splice(d, 1)
16396                }
16397                return c
16398            }, a
16399        }), b.define("select2/dropdown/infiniteScroll", ["jquery"], function (a) {
16400            function b(a, b, c, d) {
16401                this.lastParams = {}, a.call(this, b, c, d), this.$loadingMore = this.createLoadingMore(), this.loading = !1
16402            }
16403
16404            return b.prototype.append = function (a, b) {
16405                this.$loadingMore.remove(), this.loading = !1, a.call(this, b), this.showLoadingMore(b) && this.$results.append(this.$loadingMore)
16406            }, b.prototype.bind = function (b, c, d) {
16407                var e = this;
16408                b.call(this, c, d), c.on("query", function (a) {
16409                    e.lastParams = a, e.loading = !0
16410                }), c.on("query:append", function (a) {
16411                    e.lastParams = a, e.loading = !0
16412                }), this.$results.on("scroll", function () {
16413                    var b = a.contains(document.documentElement, e.$loadingMore[0]);
16414                    if (!e.loading && b) {
16415                        var c = e.$results.offset().top + e.$results.outerHeight(!1),
16416                            d = e.$loadingMore.offset().top + e.$loadingMore.outerHeight(!1);
16417                        c + 50 >= d && e.loadMore()
16418                    }
16419                })
16420            }, b.prototype.loadMore = function () {
16421                this.loading = !0;
16422                var b = a.extend({}, {page: 1}, this.lastParams);
16423                b.page++, this.trigger("query:append", b)
16424            }, b.prototype.showLoadingMore = function (a, b) {
16425                return b.pagination && b.pagination.more
16426            }, b.prototype.createLoadingMore = function () {
16427                var b = a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),
16428                    c = this.options.get("translations").get("loadingMore");
16429                return b.html(c(this.lastParams)), b
16430            }, b
16431        }), b.define("select2/dropdown/attachBody", ["jquery", "../utils"], function (a, b) {
16432            function c(b, c, d) {
16433                this.$dropdownParent = d.get("dropdownParent") || a(document.body), b.call(this, c, d)
16434            }
16435
16436            return c.prototype.bind = function (a, b, c) {
16437                var d = this, e = !1;
16438                a.call(this, b, c), b.on("open", function () {
16439                    d._showDropdown(), d._attachPositioningHandler(b), e || (e = !0, b.on("results:all", function () {
16440                        d._positionDropdown(), d._resizeDropdown()
16441                    }), b.on("results:append", function () {
16442                        d._positionDropdown(), d._resizeDropdown()
16443                    }))
16444                }), b.on("close", function () {
16445                    d._hideDropdown(), d._detachPositioningHandler(b)
16446                }), this.$dropdownContainer.on("mousedown", function (a) {
16447                    a.stopPropagation()
16448                })
16449            }, c.prototype.destroy = function (a) {
16450                a.call(this), this.$dropdownContainer.remove()
16451            }, c.prototype.position = function (a, b, c) {
16452                b.attr("class", c.attr("class")), b.removeClass("select2"), b.addClass("select2-container--open"), b.css({
16453                    position: "absolute",
16454                    top: -999999
16455                }), this.$container = c
16456            }, c.prototype.render = function (b) {
16457                var c = a("<span></span>"), d = b.call(this);
16458                return c.append(d), this.$dropdownContainer = c, c
16459            }, c.prototype._hideDropdown = function (a) {
16460                this.$dropdownContainer.detach()
16461            }, c.prototype._attachPositioningHandler = function (c, d) {
16462                var e = this, f = "scroll.select2." + d.id, g = "resize.select2." + d.id,
16463                    h = "orientationchange.select2." + d.id, i = this.$container.parents().filter(b.hasScroll);
16464                i.each(function () {
16465                    a(this).data("select2-scroll-position", {x: a(this).scrollLeft(), y: a(this).scrollTop()})
16466                }), i.on(f, function (b) {
16467                    var c = a(this).data("select2-scroll-position");
16468                    a(this).scrollTop(c.y)
16469                }), a(window).on(f + " " + g + " " + h, function (a) {
16470                    e._positionDropdown(), e._resizeDropdown()
16471                })
16472            }, c.prototype._detachPositioningHandler = function (c, d) {
16473                var e = "scroll.select2." + d.id, f = "resize.select2." + d.id, g = "orientationchange.select2." + d.id,
16474                    h = this.$container.parents().filter(b.hasScroll);
16475                h.off(e), a(window).off(e + " " + f + " " + g)
16476            }, c.prototype._positionDropdown = function () {
16477                var b = a(window), c = this.$dropdown.hasClass("select2-dropdown--above"),
16478                    d = this.$dropdown.hasClass("select2-dropdown--below"), e = null,
16479                    f = (this.$container.position(), this.$container.offset());
16480                f.bottom = f.top + this.$container.outerHeight(!1);
16481                var g = {height: this.$container.outerHeight(!1)};
16482                g.top = f.top, g.bottom = f.top + g.height;
16483                var h = {height: this.$dropdown.outerHeight(!1)},
16484                    i = {top: b.scrollTop(), bottom: b.scrollTop() + b.height()}, j = i.top < f.top - h.height,
16485                    k = i.bottom > f.bottom + h.height, l = {left: f.left, top: g.bottom};
16486                if ("static" !== this.$dropdownParent[0].style.position) {
16487                    var m = this.$dropdownParent.offset();
16488                    l.top -= m.top, l.left -= m.left
16489                }
16490                c || d || (e = "below"), k || !j || c ? !j && k && c && (e = "below") : e = "above", ("above" == e || c && "below" !== e) && (l.top = g.top - h.height), null != e && (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + e), this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + e)), this.$dropdownContainer.css(l)
16491            }, c.prototype._resizeDropdown = function () {
16492                var a = {width: this.$container.outerWidth(!1) + "px"};
16493                this.options.get("dropdownAutoWidth") && (a.minWidth = a.width, a.width = "auto"), this.$dropdown.css(a)
16494            }, c.prototype._showDropdown = function (a) {
16495                this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown()
16496            }, c
16497        }), b.define("select2/dropdown/minimumResultsForSearch", [], function () {
16498            function a(b) {
16499                for (var c = 0, d = 0; d < b.length; d++) {
16500                    var e = b[d];
16501                    e.children ? c += a(e.children) : c++
16502                }
16503                return c
16504            }
16505
16506            function b(a, b, c, d) {
16507                this.minimumResultsForSearch = c.get("minimumResultsForSearch"), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), a.call(this, b, c, d)
16508            }
16509
16510            return b.prototype.showSearch = function (b, c) {
16511                return a(c.data.results) < this.minimumResultsForSearch ? !1 : b.call(this, c)
16512            }, b
16513        }), b.define("select2/dropdown/selectOnClose", [], function () {
16514            function a() {
16515            }
16516
16517            return a.prototype.bind = function (a, b, c) {
16518                var d = this;
16519                a.call(this, b, c), b.on("close", function () {
16520                    d._handleSelectOnClose()
16521                })
16522            }, a.prototype._handleSelectOnClose = function () {
16523                var a = this.getHighlightedResults();
16524                if (!(a.length < 1)) {
16525                    var b = a.data("data");
16526                    null != b.element && b.element.selected || null == b.element && b.selected || this.trigger("select", {data: b})
16527                }
16528            }, a
16529        }), b.define("select2/dropdown/closeOnSelect", [], function () {
16530            function a() {
16531            }
16532
16533            return a.prototype.bind = function (a, b, c) {
16534                var d = this;
16535                a.call(this, b, c), b.on("select", function (a) {
16536                    d._selectTriggered(a)
16537                }), b.on("unselect", function (a) {
16538                    d._selectTriggered(a)
16539                })
16540            }, a.prototype._selectTriggered = function (a, b) {
16541                var c = b.originalEvent;
16542                c && c.ctrlKey || this.trigger("close", {})
16543            }, a
16544        }), b.define("select2/i18n/en", [], function () {
16545            return {
16546                errorLoading: function () {
16547                    return "The results could not be loaded."
16548                }, inputTooLong: function (a) {
16549                    var b = a.input.length - a.maximum, c = "Please delete " + b + " character";
16550                    return 1 != b && (c += "s"), c
16551                }, inputTooShort: function (a) {
16552                    var b = a.minimum - a.input.length, c = "Please enter " + b + " or more characters";
16553                    return c
16554                }, loadingMore: function () {
16555                    return "Loading more results…"
16556                }, maximumSelected: function (a) {
16557                    var b = "You can only select " + a.maximum + " item";
16558                    return 1 != a.maximum && (b += "s"), b
16559                }, noResults: function () {
16560                    return "No results found"
16561                }, searching: function () {
16562                    return "Searching…"
16563                }
16564            }
16565        }), b.define("select2/defaults", ["jquery", "require", "./results", "./selection/single", "./selection/multiple", "./selection/placeholder", "./selection/allowClear", "./selection/search", "./selection/eventRelay", "./utils", "./translation", "./diacritics", "./data/select", "./data/array", "./data/ajax", "./data/tags", "./data/tokenizer", "./data/minimumInputLength", "./data/maximumInputLength", "./data/maximumSelectionLength", "./dropdown", "./dropdown/search", "./dropdown/hidePlaceholder", "./dropdown/infiniteScroll", "./dropdown/attachBody", "./dropdown/minimumResultsForSearch", "./dropdown/selectOnClose", "./dropdown/closeOnSelect", "./i18n/en"], function (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C) {
16566            function D() {
16567                this.reset()
16568            }
16569
16570            D.prototype.apply = function (l) {
16571                if (l = a.extend({}, this.defaults, l), null == l.dataAdapter) {
16572                    if (null != l.ajax ? l.dataAdapter = o : null != l.data ? l.dataAdapter = n : l.dataAdapter = m, l.minimumInputLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, r)), l.maximumInputLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, s)), l.maximumSelectionLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, t)), l.tags && (l.dataAdapter = j.Decorate(l.dataAdapter, p)), (null != l.tokenSeparators || null != l.tokenizer) && (l.dataAdapter = j.Decorate(l.dataAdapter, q)), null != l.query) {
16573                        var C = b(l.amdBase + "compat/query");
16574                        l.dataAdapter = j.Decorate(l.dataAdapter, C)
16575                    }
16576                    if (null != l.initSelection) {
16577                        var D = b(l.amdBase + "compat/initSelection");
16578                        l.dataAdapter = j.Decorate(l.dataAdapter, D)
16579                    }
16580                }
16581                if (null == l.resultsAdapter && (l.resultsAdapter = c, null != l.ajax && (l.resultsAdapter = j.Decorate(l.resultsAdapter, x)), null != l.placeholder && (l.resultsAdapter = j.Decorate(l.resultsAdapter, w)), l.selectOnClose && (l.resultsAdapter = j.Decorate(l.resultsAdapter, A))), null == l.dropdownAdapter) {
16582                    if (l.multiple) l.dropdownAdapter = u; else {
16583                        var E = j.Decorate(u, v);
16584                        l.dropdownAdapter = E
16585                    }
16586                    if (0 !== l.minimumResultsForSearch && (l.dropdownAdapter = j.Decorate(l.dropdownAdapter, z)), l.closeOnSelect && (l.dropdownAdapter = j.Decorate(l.dropdownAdapter, B)), null != l.dropdownCssClass || null != l.dropdownCss || null != l.adaptDropdownCssClass) {
16587                        var F = b(l.amdBase + "compat/dropdownCss");
16588                        l.dropdownAdapter = j.Decorate(l.dropdownAdapter, F)
16589                    }
16590                    l.dropdownAdapter = j.Decorate(l.dropdownAdapter, y)
16591                }
16592                if (null == l.selectionAdapter) {
16593                    if (l.multiple ? l.selectionAdapter = e : l.selectionAdapter = d, null != l.placeholder && (l.selectionAdapter = j.Decorate(l.selectionAdapter, f)), l.allowClear && (l.selectionAdapter = j.Decorate(l.selectionAdapter, g)), l.multiple && (l.selectionAdapter = j.Decorate(l.selectionAdapter, h)), null != l.containerCssClass || null != l.containerCss || null != l.adaptContainerCssClass) {
16594                        var G = b(l.amdBase + "compat/containerCss");
16595                        l.selectionAdapter = j.Decorate(l.selectionAdapter, G)
16596                    }
16597                    l.selectionAdapter = j.Decorate(l.selectionAdapter, i)
16598                }
16599                if ("string" == typeof l.language) if (l.language.indexOf("-") > 0) {
16600                    var H = l.language.split("-"), I = H[0];
16601                    l.language = [l.language, I]
16602                } else l.language = [l.language];
16603                if (a.isArray(l.language)) {
16604                    var J = new k;
16605                    l.language.push("en");
16606                    for (var K = l.language, L = 0; L < K.length; L++) {
16607                        var M = K[L], N = {};
16608                        try {
16609                            N = k.loadPath(M)
16610                        } catch (O) {
16611                            try {
16612                                M = this.defaults.amdLanguageBase + M, N = k.loadPath(M)
16613                            } catch (P) {
16614                                l.debug && window.console && console.warn && console.warn('Select2: The language file for "' + M + '" could not be automatically loaded. A fallback will be used instead.');
16615                                continue
16616                            }
16617                        }
16618                        J.extend(N)
16619                    }
16620                    l.translations = J
16621                } else {
16622                    var Q = k.loadPath(this.defaults.amdLanguageBase + "en"), R = new k(l.language);
16623                    R.extend(Q), l.translations = R
16624                }
16625                return l
16626            }, D.prototype.reset = function () {
16627                function b(a) {
16628                    function b(a) {
16629                        return l[a] || a
16630                    }
16631
vendor: 9,239 bytes, lines 16632-16772
16632                    return a.replace(/[^\u0000-\u007E]/g, b)
16633                }
16634
16635                function c(d, e) {
16636                    if ("" === a.trim(d.term)) return e;
16637                    if (e.children && e.children.length > 0) {
16638                        for (var f = a.extend(!0, {}, e), g = e.children.length - 1; g >= 0; g--) {
16639                            var h = e.children[g], i = c(d, h);
16640                            null == i && f.children.splice(g, 1)
16641                        }
16642                        return f.children.length > 0 ? f : c(d, f)
16643                    }
16644                    var j = b(e.text).toUpperCase(), k = b(d.term).toUpperCase();
16645                    return j.indexOf(k) > -1 ? e : null
16646                }
16647
16648                this.defaults = {
16649                    amdBase: "./",
16650                    amdLanguageBase: "./i18n/",
16651                    closeOnSelect: !0,
16652                    debug: !1,
16653                    dropdownAutoWidth: !1,
16654                    escapeMarkup: j.escapeMarkup,
16655                    language: C,
16656                    matcher: c,
16657                    minimumInputLength: 0,
16658                    maximumInputLength: 0,
16659                    maximumSelectionLength: 0,
16660                    minimumResultsForSearch: 0,
16661                    selectOnClose: !1,
16662                    sorter: function (a) {
16663                        return a
16664                    },
16665                    templateResult: function (a) {
16666                        return a.text
16667                    },
16668                    templateSelection: function (a) {
16669                        return a.text
16670                    },
16671                    theme: "default",
16672                    width: "resolve"
16673                }
16674            }, D.prototype.set = function (b, c) {
16675                var d = a.camelCase(b), e = {};
16676                e[d] = c;
16677                var f = j._convertData(e);
16678                a.extend(this.defaults, f)
16679            };
16680            var E = new D;
16681            return E
16682        }), b.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function (a, b, c, d) {
16683            function e(b, e) {
16684                if (this.options = b, null != e && this.fromElement(e), this.options = c.apply(this.options), e && e.is("input")) {
16685                    var f = a(this.get("amdBase") + "compat/inputData");
16686                    this.options.dataAdapter = d.Decorate(this.options.dataAdapter, f)
16687                }
16688            }
16689
16690            return e.prototype.fromElement = function (a) {
16691                var c = ["select2"];
16692                null == this.options.multiple && (this.options.multiple = a.prop("multiple")), null == this.options.disabled && (this.options.disabled = a.prop("disabled")), null == this.options.language && (a.prop("lang") ? this.options.language = a.prop("lang").toLowerCase() : a.closest("[lang]").prop("lang") && (this.options.language = a.closest("[lang]").prop("lang"))), null == this.options.dir && (a.prop("dir") ? this.options.dir = a.prop("dir") : a.closest("[dir]").prop("dir") ? this.options.dir = a.closest("[dir]").prop("dir") : this.options.dir = "ltr"), a.prop("disabled", this.options.disabled), a.prop("multiple", this.options.multiple), a.data("select2Tags") && (this.options.debug && window.console && console.warn && console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'), a.data("data", a.data("select2Tags")), a.data("tags", !0)), a.data("ajaxUrl") && (this.options.debug && window.console && console.warn && console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."), a.attr("ajax--url", a.data("ajaxUrl")), a.data("ajax--url", a.data("ajaxUrl")));
16693                var e = {};
16694                e = b.fn.jquery && "1." == b.fn.jquery.substr(0, 2) && a[0].dataset ? b.extend(!0, {}, a[0].dataset, a.data()) : a.data();
16695                var f = b.extend(!0, {}, e);
16696                f = d._convertData(f);
16697                for (var g in f) b.inArray(g, c) > -1 || (b.isPlainObject(this.options[g]) ? b.extend(this.options[g], f[g]) : this.options[g] = f[g]);
16698                return this
16699            }, e.prototype.get = function (a) {
16700                return this.options[a]
16701            }, e.prototype.set = function (a, b) {
16702                this.options[a] = b
16703            }, e
16704        }), b.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function (a, b, c, d) {
16705            var e = function (a, c) {
16706                null != a.data("select2") && a.data("select2").destroy(), this.$element = a, this.id = this._generateId(a), c = c || {}, this.options = new b(c, a), e.__super__.constructor.call(this);
16707                var d = a.attr("tabindex") || 0;
16708                a.data("old-tabindex", d), a.attr("tabindex", "-1");
16709                var f = this.options.get("dataAdapter");
16710                this.dataAdapter = new f(a, this.options);
16711                var g = this.render();
16712                this._placeContainer(g);
16713                var h = this.options.get("selectionAdapter");
16714                this.selection = new h(a, this.options), this.$selection = this.selection.render(), this.selection.position(this.$selection, g);
16715                var i = this.options.get("dropdownAdapter");
16716                this.dropdown = new i(a, this.options), this.$dropdown = this.dropdown.render(), this.dropdown.position(this.$dropdown, g);
16717                var j = this.options.get("resultsAdapter");
16718                this.results = new j(a, this.options, this.dataAdapter), this.$results = this.results.render(), this.results.position(this.$results, this.$dropdown);
16719                var k = this;
16720                this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.current(function (a) {
16721                    k.trigger("selection:update", {data: a})
16722                }), a.addClass("select2-hidden-accessible"), a.attr("aria-hidden", "true"), this._syncAttributes(), a.data("select2", this)
16723            };
16724            return c.Extend(e, c.Observable), e.prototype._generateId = function (a) {
16725                var b = "";
16726                return b = null != a.attr("id") ? a.attr("id") : null != a.attr("name") ? a.attr("name") + "-" + c.generateChars(2) : c.generateChars(4), b = "select2-" + b
16727            }, e.prototype._placeContainer = function (a) {
16728                a.insertAfter(this.$element);
16729                var b = this._resolveWidth(this.$element, this.options.get("width"));
16730                null != b && a.css("width", b)
16731            }, e.prototype._resolveWidth = function (a, b) {
16732                var c = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
16733                if ("resolve" == b) {
16734                    var d = this._resolveWidth(a, "style");
16735                    return null != d ? d : this._resolveWidth(a, "element")
16736                }
16737                if ("element" == b) {
16738                    var e = a.outerWidth(!1);
16739                    return 0 >= e ? "auto" : e + "px"
16740                }
16741                if ("style" == b) {
16742                    var f = a.attr("style");
16743                    if ("string" != typeof f) return null;
16744                    for (var g = f.split(";"), h = 0, i = g.length; i > h; h += 1) {
16745                        var j = g[h].replace(/\s/g, ""), k = j.match(c);
16746                        if (null !== k && k.length >= 1) return k[1]
16747                    }
16748                    return null
16749                }
16750                return b
16751            }, e.prototype._bindAdapters = function () {
16752                this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container)
16753            }, e.prototype._registerDomEvents = function () {
16754                var b = this;
16755                this.$element.on("change.select2", function () {
16756                    b.dataAdapter.current(function (a) {
16757                        b.trigger("selection:update", {data: a})
16758                    })
16759                }), this._sync = c.bind(this._syncAttributes, this), this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._sync);
16760                var d = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
16761                null != d ? (this._observer = new d(function (c) {
16762                    a.each(c, b._sync)
16763                }), this._observer.observe(this.$element[0], {
16764                    attributes: !0,
16765                    subtree: !1
16766                })) : this.$element[0].addEventListener && this.$element[0].addEventListener("DOMAttrModified", b._sync, !1)
16767            }, e.prototype._registerDataEvents = function () {
16768                var a = this;
16769                this.dataAdapter.on("*", function (b, c) {
16770                    a.trigger(b, c)
16771                })
16772            }, e.prototype._registerSelectionEvents = function () {
vendor: 7,322 bytes, lines 16773-16868
16773                var b = this, c = ["toggle", "focus"];
16774                this.selection.on("toggle", function () {
16775                    b.toggleDropdown()
16776                }), this.selection.on("focus", function (a) {
16777                    b.focus(a)
16778                }), this.selection.on("*", function (d, e) {
16779                    -1 === a.inArray(d, c) && b.trigger(d, e)
16780                })
16781            }, e.prototype._registerDropdownEvents = function () {
16782                var a = this;
16783                this.dropdown.on("*", function (b, c) {
16784                    a.trigger(b, c)
16785                })
16786            }, e.prototype._registerResultsEvents = function () {
16787                var a = this;
16788                this.results.on("*", function (b, c) {
16789                    a.trigger(b, c)
16790                })
16791            }, e.prototype._registerEvents = function () {
16792                var a = this;
16793                this.on("open", function () {
16794                    a.$container.addClass("select2-container--open")
16795                }), this.on("close", function () {
16796                    a.$container.removeClass("select2-container--open")
16797                }), this.on("enable", function () {
16798                    a.$container.removeClass("select2-container--disabled")
16799                }), this.on("disable", function () {
16800                    a.$container.addClass("select2-container--disabled")
16801                }), this.on("blur", function () {
16802                    a.$container.removeClass("select2-container--focus")
16803                }), this.on("query", function (b) {
16804                    a.isOpen() || a.trigger("open", {}), this.dataAdapter.query(b, function (c) {
16805                        a.trigger("results:all", {data: c, query: b})
16806                    })
16807                }), this.on("query:append", function (b) {
16808                    this.dataAdapter.query(b, function (c) {
16809                        a.trigger("results:append", {data: c, query: b})
16810                    })
16811                }), this.on("keypress", function (b) {
16812                    var c = b.which;
16813                    a.isOpen() ? c === d.ESC || c === d.TAB || c === d.UP && b.altKey ? (a.close(), b.preventDefault()) : c === d.ENTER ? (a.trigger("results:select", {}), b.preventDefault()) : c === d.SPACE && b.ctrlKey ? (a.trigger("results:toggle", {}), b.preventDefault()) : c === d.UP ? (a.trigger("results:previous", {}), b.preventDefault()) : c === d.DOWN && (a.trigger("results:next", {}), b.preventDefault()) : (c === d.ENTER || c === d.SPACE || c === d.DOWN && b.altKey) && (a.open(), b.preventDefault())
16814                })
16815            }, e.prototype._syncAttributes = function () {
16816                this.options.set("disabled", this.$element.prop("disabled")), this.options.get("disabled") ? (this.isOpen() && this.close(), this.trigger("disable", {})) : this.trigger("enable", {})
16817            }, e.prototype.trigger = function (a, b) {
16818                var c = e.__super__.trigger,
16819                    d = {open: "opening", close: "closing", select: "selecting", unselect: "unselecting"};
16820                if (void 0 === b && (b = {}), a in d) {
16821                    var f = d[a], g = {prevented: !1, name: a, args: b};
16822                    if (c.call(this, f, g), g.prevented) return void (b.prevented = !0)
16823                }
16824                c.call(this, a, b)
16825            }, e.prototype.toggleDropdown = function () {
16826                this.options.get("disabled") || (this.isOpen() ? this.close() : this.open())
16827            }, e.prototype.open = function () {
16828                this.isOpen() || this.trigger("query", {})
16829            }, e.prototype.close = function () {
16830                this.isOpen() && this.trigger("close", {})
16831            }, e.prototype.isOpen = function () {
16832                return this.$container.hasClass("select2-container--open")
16833            }, e.prototype.hasFocus = function () {
16834                return this.$container.hasClass("select2-container--focus")
16835            }, e.prototype.focus = function (a) {
16836                this.hasFocus() || (this.$container.addClass("select2-container--focus"), this.trigger("focus", {}))
16837            }, e.prototype.enable = function (a) {
16838                this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'), (null == a || 0 === a.length) && (a = [!0]);
16839                var b = !a[0];
16840                this.$element.prop("disabled", b)
16841            }, e.prototype.data = function () {
16842                this.options.get("debug") && arguments.length > 0 && window.console && console.warn && console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');
16843                var a = [];
16844                return this.dataAdapter.current(function (b) {
16845                    a = b
16846                }), a
16847            }, e.prototype.val = function (b) {
16848                if (this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'), null == b || 0 === b.length) return this.$element.val();
16849                var c = b[0];
16850                a.isArray(c) && (c = a.map(c, function (a) {
16851                    return a.toString()
16852                })), this.$element.val(c).trigger("change")
16853            }, e.prototype.destroy = function () {
16854                this.$container.remove(), this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._sync), null != this._observer ? (this._observer.disconnect(), this._observer = null) : this.$element[0].removeEventListener && this.$element[0].removeEventListener("DOMAttrModified", this._sync, !1), this._sync = null, this.$element.off(".select2"), this.$element.attr("tabindex", this.$element.data("old-tabindex")), this.$element.removeClass("select2-hidden-accessible"), this.$element.attr("aria-hidden", "false"), this.$element.removeData("select2"), this.dataAdapter.destroy(), this.selection.destroy(), this.dropdown.destroy(), this.results.destroy(), this.dataAdapter = null, this.selection = null, this.dropdown = null, this.results = null
16855            }, e.prototype.render = function () {
16856                var b = a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
16857                return b.attr("dir", this.options.get("dir")), this.$container = b, this.$container.addClass("select2-container--" + this.options.get("theme")), b.data("element", this.$element), b
16858            }, e
16859        }), b.define("select2/compat/utils", ["jquery"], function (a) {
16860            function b(b, c, d) {
16861                var e, f, g = [];
16862                e = a.trim(b.attr("class")), e && (e = "" + e, a(e.split(/\s+/)).each(function () {
16863                    0 === this.indexOf("select2-") && g.push(this)
16864                })), e = a.trim(c.attr("class")), e && (e = "" + e, a(e.split(/\s+/)).each(function () {
16865                    0 !== this.indexOf("select2-") && (f = d(this), null != f && g.push(f))
16866                })), b.attr("class", g.join(" "))
16867            }
16868
vendor: 13,524 bytes, lines 16869-17103
16869            return {syncCssClasses: b}
16870        }), b.define("select2/compat/containerCss", ["jquery", "./utils"], function (a, b) {
16871            function c(a) {
16872                return null
16873            }
16874
16875            function d() {
16876            }
16877
16878            return d.prototype.render = function (d) {
16879                var e = d.call(this), f = this.options.get("containerCssClass") || "";
16880                a.isFunction(f) && (f = f(this.$element));
16881                var g = this.options.get("adaptContainerCssClass");
16882                if (g = g || c, -1 !== f.indexOf(":all:")) {
16883                    f = f.replace(":all:", "");
16884                    var h = g;
16885                    g = function (a) {
16886                        var b = h(a);
16887                        return null != b ? b + " " + a : a
16888                    }
16889                }
16890                var i = this.options.get("containerCss") || {};
16891                return a.isFunction(i) && (i = i(this.$element)), b.syncCssClasses(e, this.$element, g), e.css(i), e.addClass(f), e
16892            }, d
16893        }), b.define("select2/compat/dropdownCss", ["jquery", "./utils"], function (a, b) {
16894            function c(a) {
16895                return null
16896            }
16897
16898            function d() {
16899            }
16900
16901            return d.prototype.render = function (d) {
16902                var e = d.call(this), f = this.options.get("dropdownCssClass") || "";
16903                a.isFunction(f) && (f = f(this.$element));
16904                var g = this.options.get("adaptDropdownCssClass");
16905                if (g = g || c, -1 !== f.indexOf(":all:")) {
16906                    f = f.replace(":all:", "");
16907                    var h = g;
16908                    g = function (a) {
16909                        var b = h(a);
16910                        return null != b ? b + " " + a : a
16911                    }
16912                }
16913                var i = this.options.get("dropdownCss") || {};
16914                return a.isFunction(i) && (i = i(this.$element)), b.syncCssClasses(e, this.$element, g), e.css(i), e.addClass(f), e
16915            }, d
16916        }), b.define("select2/compat/initSelection", ["jquery"], function (a) {
16917            function b(a, b, c) {
16918                c.get("debug") && window.console && console.warn && console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"), this.initSelection = c.get("initSelection"), this._isInitialized = !1, a.call(this, b, c)
16919            }
16920
16921            return b.prototype.current = function (b, c) {
16922                var d = this;
16923                return this._isInitialized ? void b.call(this, c) : void this.initSelection.call(null, this.$element, function (b) {
16924                    d._isInitialized = !0, a.isArray(b) || (b = [b]), c(b)
16925                })
16926            }, b
16927        }), b.define("select2/compat/inputData", ["jquery"], function (a) {
16928            function b(a, b, c) {
16929                this._currentData = [], this._valueSeparator = c.get("valueSeparator") || ",", "hidden" === b.prop("type") && c.get("debug") && console && console.warn && console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."), a.call(this, b, c)
16930            }
16931
16932            return b.prototype.current = function (b, c) {
16933                function d(b, c) {
16934                    var e = [];
16935                    return b.selected || -1 !== a.inArray(b.id, c) ? (b.selected = !0, e.push(b)) : b.selected = !1, b.children && e.push.apply(e, d(b.children, c)), e
16936                }
16937
16938                for (var e = [], f = 0; f < this._currentData.length; f++) {
16939                    var g = this._currentData[f];
16940                    e.push.apply(e, d(g, this.$element.val().split(this._valueSeparator)))
16941                }
16942                c(e)
16943            }, b.prototype.select = function (b, c) {
16944                if (this.options.get("multiple")) {
16945                    var d = this.$element.val();
16946                    d += this._valueSeparator + c.id, this.$element.val(d), this.$element.trigger("change")
16947                } else this.current(function (b) {
16948                    a.map(b, function (a) {
16949                        a.selected = !1
16950                    })
16951                }), this.$element.val(c.id), this.$element.trigger("change")
16952            }, b.prototype.unselect = function (a, b) {
16953                var c = this;
16954                b.selected = !1, this.current(function (a) {
16955                    for (var d = [], e = 0; e < a.length; e++) {
16956                        var f = a[e];
16957                        b.id != f.id && d.push(f.id)
16958                    }
16959                    c.$element.val(d.join(c._valueSeparator)), c.$element.trigger("change")
16960                })
16961            }, b.prototype.query = function (a, b, c) {
16962                for (var d = [], e = 0; e < this._currentData.length; e++) {
16963                    var f = this._currentData[e], g = this.matches(b, f);
16964                    null !== g && d.push(g)
16965                }
16966                c({results: d})
16967            }, b.prototype.addOptions = function (b, c) {
16968                var d = a.map(c, function (b) {
16969                    return a.data(b[0], "data")
16970                });
16971                this._currentData.push.apply(this._currentData, d)
16972            }, b
16973        }), b.define("select2/compat/matcher", ["jquery"], function (a) {
16974            function b(b) {
16975                function c(c, d) {
16976                    var e = a.extend(!0, {}, d);
16977                    if (null == c.term || "" === a.trim(c.term)) return e;
16978                    if (d.children) {
16979                        for (var f = d.children.length - 1; f >= 0; f--) {
16980                            var g = d.children[f], h = b(c.term, g.text, g);
16981                            h || e.children.splice(f, 1)
16982                        }
16983                        if (e.children.length > 0) return e
16984                    }
16985                    return b(c.term, d.text, d) ? e : null
16986                }
16987
16988                return c
16989            }
16990
16991            return b
16992        }), b.define("select2/compat/query", [], function () {
16993            function a(a, b, c) {
16994                c.get("debug") && window.console && console.warn && console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),
16995                    a.call(this, b, c)
16996            }
16997
16998            return a.prototype.query = function (a, b, c) {
16999                b.callback = c;
17000                var d = this.options.get("query");
17001                d.call(null, b)
17002            }, a
17003        }), b.define("select2/dropdown/attachContainer", [], function () {
17004            function a(a, b, c) {
17005                a.call(this, b, c)
17006            }
17007
17008            return a.prototype.position = function (a, b, c) {
17009                var d = c.find(".dropdown-wrapper");
17010                d.append(b), b.addClass("select2-dropdown--below"), c.addClass("select2-container--below")
17011            }, a
17012        }), b.define("select2/dropdown/stopPropagation", [], function () {
17013            function a() {
17014            }
17015
17016            return a.prototype.bind = function (a, b, c) {
17017                a.call(this, b, c);
17018                var d = ["blur", "change", "click", "dblclick", "focus", "focusin", "focusout", "input", "keydown", "keyup", "keypress", "mousedown", "mouseenter", "mouseleave", "mousemove", "mouseover", "mouseup", "search", "touchend", "touchstart"];
17019                this.$dropdown.on(d.join(" "), function (a) {
17020                    a.stopPropagation()
17021                })
17022            }, a
17023        }), b.define("select2/selection/stopPropagation", [], function () {
17024            function a() {
17025            }
17026
17027            return a.prototype.bind = function (a, b, c) {
17028                a.call(this, b, c);
17029                var d = ["blur", "change", "click", "dblclick", "focus", "focusin", "focusout", "input", "keydown", "keyup", "keypress", "mousedown", "mouseenter", "mouseleave", "mousemove", "mouseover", "mouseup", "search", "touchend", "touchstart"];
17030                this.$selection.on(d.join(" "), function (a) {
17031                    a.stopPropagation()
17032                })
17033            }, a
17034        }), function (c) {
17035            "function" == typeof b.define && b.define.amd ? b.define("jquery-mousewheel", ["jquery"], c) : "object" == typeof exports ? module.exports = c : c(a)
17036        }(function (a) {
17037            function b(b) {
17038                var g = b || window.event, h = i.call(arguments, 1), j = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
17039                if (b = a.event.fix(g), b.type = "mousewheel", "detail" in g && (m = -1 * g.detail), "wheelDelta" in g && (m = g.wheelDelta), "wheelDeltaY" in g && (m = g.wheelDeltaY), "wheelDeltaX" in g && (l = -1 * g.wheelDeltaX), "axis" in g && g.axis === g.HORIZONTAL_AXIS && (l = -1 * m, m = 0), j = 0 === m ? l : m, "deltaY" in g && (m = -1 * g.deltaY, j = m), "deltaX" in g && (l = g.deltaX, 0 === m && (j = -1 * l)), 0 !== m || 0 !== l) {
17040                    if (1 === g.deltaMode) {
17041                        var q = a.data(this, "mousewheel-line-height");
17042                        j *= q, m *= q, l *= q
17043                    } else if (2 === g.deltaMode) {
17044                        var r = a.data(this, "mousewheel-page-height");
17045                        j *= r, m *= r, l *= r
17046                    }
17047                    if (n = Math.max(Math.abs(m), Math.abs(l)), (!f || f > n) && (f = n, d(g, n) && (f /= 40)), d(g, n) && (j /= 40, l /= 40, m /= 40), j = Math[j >= 1 ? "floor" : "ceil"](j / f), l = Math[l >= 1 ? "floor" : "ceil"](l / f), m = Math[m >= 1 ? "floor" : "ceil"](m / f), k.settings.normalizeOffset && this.getBoundingClientRect) {
17048                        var s = this.getBoundingClientRect();
17049                        o = b.clientX - s.left, p = b.clientY - s.top
17050                    }
17051                    return b.deltaX = l, b.deltaY = m, b.deltaFactor = f, b.offsetX = o, b.offsetY = p, b.deltaMode = 0, h.unshift(b, j, l, m), e && clearTimeout(e), e = setTimeout(c, 200), (a.event.dispatch || a.event.handle).apply(this, h)
17052                }
17053            }
17054
17055            function c() {
17056                f = null
17057            }
17058
17059            function d(a, b) {
17060                return k.settings.adjustOldDeltas && "mousewheel" === a.type && b % 120 === 0
17061            }
17062
17063            var e, f, g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"],
17064                h = "onwheel" in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"],
17065                i = Array.prototype.slice;
17066            if (a.event.fixHooks) for (var j = g.length; j;) a.event.fixHooks[g[--j]] = a.event.mouseHooks;
17067            var k = a.event.special.mousewheel = {
17068                version: "3.1.12", setup: function () {
17069                    if (this.addEventListener) for (var c = h.length; c;) this.addEventListener(h[--c], b, !1); else this.onmousewheel = b;
17070                    a.data(this, "mousewheel-line-height", k.getLineHeight(this)), a.data(this, "mousewheel-page-height", k.getPageHeight(this))
17071                }, teardown: function () {
17072                    if (this.removeEventListener) for (var c = h.length; c;) this.removeEventListener(h[--c], b, !1); else this.onmousewheel = null;
17073                    a.removeData(this, "mousewheel-line-height"), a.removeData(this, "mousewheel-page-height")
17074                }, getLineHeight: function (b) {
17075                    var c = a(b), d = c["offsetParent" in a.fn ? "offsetParent" : "parent"]();
17076                    return d.length || (d = a("body")), parseInt(d.css("fontSize"), 10) || parseInt(c.css("fontSize"), 10) || 16
17077                }, getPageHeight: function (b) {
17078                    return a(b).height()
17079                }, settings: {adjustOldDeltas: !0, normalizeOffset: !0}
17080            };
17081            a.fn.extend({
17082                mousewheel: function (a) {
17083                    return a ? this.bind("mousewheel", a) : this.trigger("mousewheel")
17084                }, unmousewheel: function (a) {
17085                    return this.unbind("mousewheel", a)
17086                }
17087            })
17088        }), b.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults"], function (a, b, c, d) {
17089            if (null == a.fn.select2) {
17090                var e = ["open", "close", "destroy"];
17091                a.fn.select2 = function (b) {
17092                    if (b = b || {}, "object" == typeof b) return this.each(function () {
17093                        var d = a.extend(!0, {}, b);
17094                        new c(a(this), d)
17095                    }), this;
17096                    if ("string" == typeof b) {
17097                        var d;
17098                        return this.each(function () {
17099                            var c = a(this).data("select2");
17100                            null == c && window.console && console.error && console.error("The select2('" + b + "') method was called on an element that is not using Select2.");
17101                            var e = Array.prototype.slice.call(arguments, 1);
17102                            d = c[b].apply(c, e)
17103                        }), a.inArray(b, e) >
vendor: 15,867 bytes, lines 17103-17363
17103 -1 ? this : d
17104                    }
17105                    throw new Error("Invalid arguments for Select2: " + b)
17106                }
17107            }
17108            return null == a.fn.select2.defaults && (a.fn.select2.defaults = d), c
17109        }), {define: b.define, require: b.require}
17110    }(), c = b.require("jquery.select2");
17111    return a.fn.select2.amd = b, c
17112}), function ($) {
17113    "use strict";
17114
17115    function TagsInput(element, options) {
17116        this.itemsArray = [], this.$element = $(element), this.$element.hide(), this.isSelect = "SELECT" === element.tagName, this.multiple = this.isSelect && element.hasAttribute("multiple"), this.objectItems = options && options.itemValue, this.placeholderText = element.hasAttribute("placeholder") ? this.$element.attr("placeholder") : "", this.inputSize = Math.max(1, this.placeholderText.length), this.$container = $('<div class="bootstrap-tagsinput"></div>'), this.$input = $('<input type="text" placeholder="' + this.placeholderText + '"/>').appendTo(this.$container), this.$element.before(this.$container), this.build(options)
17117    }
17118
17119    function makeOptionItemFunction(options, key) {
17120        if ("function" != typeof options[key]) {
17121            var propertyName = options[key];
17122            options[key] = function (item) {
17123                return item[propertyName]
17124            }
17125        }
17126    }
17127
17128    function makeOptionFunction(options, key) {
17129        if ("function" != typeof options[key]) {
17130            var value = options[key];
17131            options[key] = function () {
17132                return value
17133            }
17134        }
17135    }
17136
17137    function htmlEncode(value) {
17138        return value ? htmlEncodeContainer.text(value).html() : ""
17139    }
17140
17141    function doGetCaretPosition(oField) {
17142        var iCaretPos = 0;
17143        if (document.selection) {
17144            oField.focus();
17145            var oSel = document.selection.createRange();
17146            oSel.moveStart("character", -oField.value.length), iCaretPos = oSel.text.length
17147        } else (oField.selectionStart || "0" == oField.selectionStart) && (iCaretPos = oField.selectionStart);
17148        return iCaretPos
17149    }
17150
17151    function keyCombinationInList(keyPressEvent, lookupList) {
17152        var found = !1;
17153        return $.each(lookupList, function (index, keyCombination) {
17154            if ("number" == typeof keyCombination && keyPressEvent.which === keyCombination) return found = !0, !1;
17155            if (keyPressEvent.which === keyCombination.which) {
17156                var alt = !keyCombination.hasOwnProperty("altKey") || keyPressEvent.altKey === keyCombination.altKey,
17157                    shift = !keyCombination.hasOwnProperty("shiftKey") || keyPressEvent.shiftKey === keyCombination.shiftKey,
17158                    ctrl = !keyCombination.hasOwnProperty("ctrlKey") || keyPressEvent.ctrlKey === keyCombination.ctrlKey;
17159                if (alt && shift && ctrl) return found = !0, !1
17160            }
17161        }), found
17162    }
17163
17164    var defaultOptions = {
17165        tagClass: function (item) {
17166            return "label label-info"
17167        },
17168        itemValue: function (item) {
17169            return item ? item.toString() : item
17170        },
17171        itemText: function (item) {
17172            return this.itemValue(item)
17173        },
17174        itemTitle: function (item) {
17175            return null
17176        },
17177        freeInput: !0,
17178        addOnBlur: !0,
17179        maxTags: void 0,
17180        maxChars: void 0,
17181        confirmKeys: [13, 44],
17182        onTagExists: function (item, $tag) {
17183            $tag.hide().fadeIn()
17184        },
17185        trimValue: !1,
17186        allowDuplicates: !1
17187    };
17188    TagsInput.prototype = {
17189        constructor: TagsInput, add: function (item, dontPushVal, options) {
17190            var self = this;
17191            if (!(self.options.maxTags && self.itemsArray.length >= self.options.maxTags) && (item === !1 || item)) {
17192                if ("string" == typeof item && self.options.trimValue && (item = $.trim(item)), "object" == typeof item && !self.objectItems) throw"Can't add objects when itemValue option is not set";
17193                if (!item.toString().match(/^\s*$/)) {
17194                    if (self.isSelect && !self.multiple && self.itemsArray.length > 0 && self.remove(self.itemsArray[0]), "string" == typeof item && "INPUT" === this.$element[0].tagName) {
17195                        var items = item.split(",");
17196                        if (items.length > 1) {
17197                            for (var i = 0; i < items.length; i++) this.add(items[i], !0);
17198                            return void (dontPushVal || self.pushVal())
17199                        }
17200                    }
17201                    var itemValue = self.options.itemValue(item), itemText = self.options.itemText(item),
17202                        tagClass = self.options.tagClass(item), itemTitle = self.options.itemTitle(item),
17203                        existing = $.grep(self.itemsArray, function (item) {
17204                            return self.options.itemValue(item) === itemValue
17205                        })[0];
17206                    if (!existing || self.options.allowDuplicates) {
17207                        if (!(self.items().toString().length + item.length + 1 > self.options.maxInputLength)) {
17208                            var beforeItemAddEvent = $.Event("beforeItemAdd", {
17209                                item: item,
17210                                cancel: !1,
17211                                options: options
17212                            });
17213                            if (self.$element.trigger(beforeItemAddEvent), !beforeItemAddEvent.cancel) {
17214                                self.itemsArray.push(item);
17215                                var $tag = $('<span class="tag ' + htmlEncode(tagClass) + (null !== itemTitle ? '" title="' + itemTitle : "") + '">' + htmlEncode(itemText) + '<span data-role="remove"></span></span>');
17216                                if ($tag.data("item", item), self.findInputWrapper().before($tag), $tag.after(" "), self.isSelect && !$('option[value="' + encodeURIComponent(itemValue) + '"]', self.$element)[0]) {
17217                                    var $option = $("<option selected>" + htmlEncode(itemText) + "</option>");
17218                                    $option.data("item", item), $option.attr("value", itemValue), self.$element.append($option)
17219                                }
17220                                dontPushVal || self.pushVal(), (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength) && self.$container.addClass("bootstrap-tagsinput-max"), self.$element.trigger($.Event("itemAdded", {
17221                                    item: item,
17222                                    options: options
17223                                }))
17224                            }
17225                        }
17226                    } else if (self.options.onTagExists) {
17227                        var $existingTag = $(".tag", self.$container).filter(function () {
17228                            return $(this).data("item") === existing
17229                        });
17230                        self.options.onTagExists(item, $existingTag)
17231                    }
17232                }
17233            }
17234        }, remove: function (item, dontPushVal, options) {
17235            var self = this;
17236            if (self.objectItems && (item = "object" == typeof item ? $.grep(self.itemsArray, function (other) {
17237                return self.options.itemValue(other) == self.options.itemValue(item)
17238            }) : $.grep(self.itemsArray, function (other) {
17239                return self.options.itemValue(other) == item
17240            }), item = item[item.length - 1]), item) {
17241                var beforeItemRemoveEvent = $.Event("beforeItemRemove", {item: item, cancel: !1, options: options});
17242                if (self.$element.trigger(beforeItemRemoveEvent), beforeItemRemoveEvent.cancel) return;
17243                $(".tag", self.$container).filter(function () {
17244                    return $(this).data("item") === item
17245                }).remove(), $("option", self.$element).filter(function () {
17246                    return $(this).data("item") === item
17247                }).remove(), -1 !== $.inArray(item, self.itemsArray) && self.itemsArray.splice($.inArray(item, self.itemsArray), 1)
17248            }
17249            dontPushVal || self.pushVal(), self.options.maxTags > self.itemsArray.length && self.$container.removeClass("bootstrap-tagsinput-max"), self.$element.trigger($.Event("itemRemoved", {
17250                item: item,
17251                options: options
17252            }))
17253        }, removeAll: function () {
17254            var self = this;
17255            for ($(".tag", self.$container).remove(), $("option", self.$element).remove(); self.itemsArray.length > 0;) self.itemsArray.pop();
17256            self.pushVal()
17257        }, refresh: function () {
17258            var self = this;
17259            $(".tag", self.$container).each(function () {
17260                var $tag = $(this), item = $tag.data("item"), itemValue = self.options.itemValue(item),
17261                    itemText = self.options.itemText(item), tagClass = self.options.tagClass(item);
17262                if ($tag.attr("class", null), $tag.addClass("tag " + htmlEncode(tagClass)), $tag.contents().filter(function () {
17263                    return 3 == this.nodeType
17264                })[0].nodeValue = htmlEncode(itemText), self.isSelect) {
17265                    var option = $("option", self.$element).filter(function () {
17266                        return $(this).data("item") === item
17267                    });
17268                    option.attr("value", itemValue)
17269                }
17270            })
17271        }, items: function () {
17272            return this.itemsArray
17273        }, pushVal: function () {
17274            var self = this, val = $.map(self.items(), function (item) {
17275                return self.options.itemValue(item).toString()
17276            });
17277            self.$element.val(val, !0).trigger("change")
17278        }, build: function (options) {
17279            var self = this;
17280            if (self.options = $.extend({}, defaultOptions, options), self.objectItems && (self.options.freeInput = !1), makeOptionItemFunction(self.options, "itemValue"), makeOptionItemFunction(self.options, "itemText"), makeOptionFunction(self.options, "tagClass"), self.options.typeahead) {
17281                var typeahead = self.options.typeahead || {};
17282                makeOptionFunction(typeahead, "source"), self.$input.typeahead($.extend({}, typeahead, {
17283                    source: function (query, process) {
17284                        function processItems(items) {
17285                            for (var texts = [], i = 0; i < items.length; i++) {
17286                                var text = self.options.itemText(items[i]);
17287                                map[text] = items[i], texts.push(text)
17288                            }
17289                            process(texts)
17290                        }
17291
17292                        this.map = {};
17293                        var map = this.map, data = typeahead.source(query);
17294                        $.isFunction(data.success) ? data.success(processItems) : $.isFunction(data.then) ? data.then(processItems) : $.when(data).then(processItems)
17295                    }, updater: function (text) {
17296                        return self.add(this.map[text]), this.map[text]
17297                    }, matcher: function (text) {
17298                        return -1 !== text.toLowerCase().indexOf(this.query.trim().toLowerCase())
17299                    }, sorter: function (texts) {
17300                        return texts.sort()
17301                    }, highlighter: function (text) {
17302                        var regex = new RegExp("(" + this.query + ")", "gi");
17303                        return text.replace(regex, "<strong>$1</strong>")
17304                    }
17305                }))
17306            }
17307            if (self.options.typeaheadjs) {
17308                var typeaheadConfig = null, typeaheadDatasets = {}, typeaheadjs = self.options.typeaheadjs;
17309                $.isArray(typeaheadjs) ? (typeaheadConfig = typeaheadjs[0], typeaheadDatasets = typeaheadjs[1]) : typeaheadDatasets = typeaheadjs, self.$input.typeahead(typeaheadConfig, typeaheadDatasets).on("typeahead:selected", $.proxy(function (obj, datum) {
17310                    typeaheadDatasets.valueKey ? self.add(datum[typeaheadDatasets.valueKey]) : self.add(datum), self.$input.typeahead("val", "")
17311                }, self))
17312            }
17313            self.$container.on("click", $.proxy(function (event) {
17314                self.$element.attr("disabled") || self.$input.removeAttr("disabled"), self.$input.focus()
17315            }, self)), self.options.addOnBlur && self.options.freeInput && self.$input.on("focusout", $.proxy(function (event) {
17316                0 === $(".typeahead, .twitter-typeahead", self.$container).length && (self.add(self.$input.val()), self.$input.val(""))
17317            }, self)), self.$container.on("keydown", "input", $.proxy(function (event) {
17318                var $input = $(event.target), $inputWrapper = self.findInputWrapper();
17319                if (self.$element.attr("disabled")) return void self.$input.attr("disabled", "disabled");
17320                switch (event.which) {
17321                    case 8:
17322                        if (0 === doGetCaretPosition($input[0])) {
17323                            var prev = $inputWrapper.prev();
17324                            prev && self.remove(prev.data("item"))
17325                        }
17326                        break;
17327                    case 46:
17328                        if (0 === doGetCaretPosition($input[0])) {
17329                            var next = $inputWrapper.next();
17330                            next && self.remove(next.data("item"))
17331                        }
17332                        break;
17333                    case 37:
17334                        var $prevTag = $inputWrapper.prev();
17335                        0 === $input.val().length && $prevTag[0] && ($prevTag.before($inputWrapper), $input.focus());
17336                        break;
17337                    case 39:
17338                        var $nextTag = $inputWrapper.next();
17339                        0 === $input.val().length && $nextTag[0] && ($nextTag.after($inputWrapper), $input.focus())
17340                }
17341                var textLength = $input.val().length;
17342                Math.ceil(textLength / 5);
17343                $input.attr("size", Math.max(this.inputSize, $input.val().length))
17344            }, self)), self.$container.on("keypress", "input", $.proxy(function (event) {
17345                var $input = $(event.target);
17346                if (self.$element.attr("disabled")) return void self.$input.attr("disabled", "disabled");
17347                var text = $input.val(),
17348                    maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars;
17349                self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached) && (self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text), $input.val(""), event.preventDefault());
17350                var textLength = $input.val().length;
17351                Math.ceil(textLength / 5);
17352                $input.attr("size", Math.max(this.inputSize, $input.val().length))
17353            }, self)), self.$container.on("click", "[data-role=remove]", $.proxy(function (event) {
17354                self.$element.attr("disabled") || self.remove($(event.target).closest(".tag").data("item"))
17355            }, self)), self.options.itemValue === defaultOptions.itemValue && ("INPUT" === self.$element[0].tagName ? self.add(self.$element.val()) : $("option", self.$element).each(function () {
17356                self.add($(this).attr("value"), !0)
17357            }))
17358        }, destroy: function () {
17359            var self = this;
17360            self.$container.off("keypress", "input"), self.$container.off("click", "[role=remove]"), self.$container.remove(), self.$element.removeData("tagsinput"), self.$element.show()
17361        }, focus: function () {
17362            this.$input.focus()
17363        }
17363, input: function () {
17364            return this.$input
17365        }, findInputWrapper: function () {
17366            for (var elt = this.$input[0], container = this.$container[0]; elt && elt.parentNode !== container;) elt = elt.parentNode;
17367            return $(elt)
17368        }
17369    }, $.fn.tagsinput = function (arg1, arg2, arg3) {
17370        var results = [];
17371        return this.each(function () {
17372            var tagsinput = $(this).data("tagsinput");
17373            if (tagsinput) if (arg1 || arg2) {
17374                if (void 0 !== tagsinput[arg1]) {
17375                    if (3 === tagsinput[arg1].length && void 0 !== arg3) var retVal = tagsinput[arg1](arg2, null, arg3); else var retVal = tagsinput[arg1](arg2);
17376                    void 0 !== retVal && results.push(retVal)
17377                }
17378            } else results.push(tagsinput); else tagsinput = new TagsInput(this, arg1), $(this).data("tagsinput", tagsinput), results.push(tagsinput), "SELECT" === this.tagName && $("option", $(this)).attr("selected", "selected"), $(this).val($(this).val())
17379        }), "string" == typeof arg1 ? results.length > 1 ? results : results[0] : results
17380    }, $.fn.tagsinput.Constructor = TagsInput;
17381    var htmlEncodeContainer = $("<div />");
17382    $(function () {
17383        $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()
17384    })
17385}(window.jQuery), !function (a, b) {
17386    function c() {
17387        return new Date(Date.UTC.apply(Date, arguments))
17388    }
17389
17390    function d() {
17391        var a = new Date;
17392        return c(a.getFullYear(), a.getMonth(), a.getDate())
17393    }
17394
17395    function e(a, b) {
17396        return a.getUTCFullYear() === b.getUTCFullYear() && a.getUTCMonth() === b.getUTCMonth() && a.getUTCDate() === b.getUTCDate()
17397    }
17398
17399    function f(a) {
17400        return function () {
17401            return this[a].apply(this, arguments)
17402        }
17403    }
17404
17405    function g(b, c) {
17406        function d(a, b) {
17407            return b.toLowerCase()
17408        }
17409
17410        var e, f = a(b).data(), g = {}, h = new RegExp("^" + c.toLowerCase() + "([A-Z])");
17411        c = new RegExp("^" + c.toLowerCase());
17412        for (var i in f) c.test(i) && (e = i.replace(h, d), g[e] = f[i]);
17413        return g
17414    }
17415
17416    function h(b) {
17417        var c = {};
17418        if (p[b] || (b = b.split("-")[0], p[b])) {
17419            var d = p[b];
17420            return a.each(o, function (a, b) {
17421                b in d && (c[b] = d[b])
17422            }), c
17423        }
17424    }
17425
17426    var i = function () {
17427        var b = {
17428            get: function (a) {
17429                return this.slice(a)[0]
17430            }, contains: function (a) {
17431                for (var b = a && a.valueOf(), c = 0, d = this.length; d > c; c++) if (this[c].valueOf() === b) return c;
17432                return -1
17433            }, remove: function (a) {
17434                this.splice(a, 1)
17435            }, replace: function (b) {
17436                b && (a.isArray(b) || (b = [b]), this.clear(), this.push.apply(this, b))
17437            }, clear: function () {
17438                this.length = 0
17439            }, copy: function () {
17440                var a = new i;
17441                return a.replace(this), a
17442            }
17443        };
17444        return function () {
17445            var c = [];
17446            return c.push.apply(c, arguments), a.extend(c, b), c
17447        }
17448    }(), j = function (b, c) {
17449        this._process_options(c), this.dates = new i, this.viewDate = this.o.defaultViewDate, this.focusDate = null, this.element = a(b), this.isInline = !1, this.isInput = this.element.is("input"), this.component = this.element.hasClass("date") ? this.element.find(".add-on, .input-group-addon, .btn") : !1, this.hasInput = this.component && this.element.find("input").length, this.component && 0 === this.component.length && (this.component = !1), this.picker = a(q.template), this._buildEvents(), this._attachEvents(), this.isInline ? this.picker.addClass("datepicker-inline").appendTo(this.element) : this.picker.addClass("datepicker-dropdown dropdown-menu"), this.o.rtl && this.picker.addClass("datepicker-rtl"), this.viewMode = this.o.startView, this.o.calendarWeeks && this.picker.find("tfoot .today, tfoot .clear").attr("colspan", function (a, b) {
17450            return parseInt(b) + 1
17451        }), this._allow_update = !1, this.setStartDate(this._o.startDate), this.setEndDate(this._o.endDate), this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled), this.setDatesDisabled(this.o.datesDisabled), this.fillDow(), this.fillMonths(), this._allow_update = !0, this.update(), this.showMode(), this.isInline && this.show()
17452    };
17453    j.prototype = {
17454        constructor: j, _process_options: function (e) {
17455            this._o = a.extend({}, this._o, e);
17456            var f = this.o = a.extend({}, this._o), g = f.language;
17457            switch (p[g] || (g = g.split("-")[0], p[g] || (g = n.language)), f.language = g, f.startView) {
17458                case 2:
17459                case"decade":
17460                    f.startView = 2;
17461                    break;
17462                case 1:
17463                case"year":
17464                    f.startView = 1;
17465                    break;
17466                default:
17467                    f.startView = 0
17468            }
17469            switch (f.minViewMode) {
17470                case 1:
17471                case"months":
17472                    f.minViewMode = 1;
17473                    break;
17474                case 2:
17475                case"years":
17476                    f.minViewMode = 2;
17477                    break;
17478                default:
17479                    f.minViewMode = 0
17480            }
17481            f.startView = Math.max(f.startView, f.minViewMode), f.multidate !== !0 && (f.multidate = Number(f.multidate) || !1, f.multidate !== !1 && (f.multidate = Math.max(0, f.multidate))), f.multidateSeparator = String(f.multidateSeparator), f.weekStart %= 7, f.weekEnd = (f.weekStart + 6) % 7;
17482            var h = q.parseFormat(f.format);
17483            if (f.startDate !== -(1 / 0) && (f.startDate ? f.startDate instanceof Date ? f.startDate = this._local_to_utc(this._zero_time(f.startDate)) : f.startDate = q.parseDate(f.startDate, h, f.language) : f.startDate = -(1 / 0)), f.endDate !== 1 / 0 && (f.endD
17483ate ? f.endDate instanceof Date ? f.endDate = this._local_to_utc(this._zero_time(f.endDate)) : f.endDate = q.parseDate(f.endDate, h, f.language) : f.endDate = 1 / 0), f.daysOfWeekDisabled = f.daysOfWeekDisabled || [], a.isArray(f.daysOfWeekDisabled) || (f.daysOfWeekDisabled = f.daysOfWeekDisabled.split(/[,\s]*/)), f.daysOfWeekDisabled = a.map(f.daysOfWeekDisabled, function (a) {
17484                return parseInt(a, 10)
17485            }), f.datesDisabled = f.datesDisabled || [], !a.isArray(f.datesDisabled)) {
17486                var i = [];
17487                i.push(q.parseDate(f.datesDisabled, h, f.language)), f.datesDisabled = i
17488            }
17489            f.datesDisabled = a.map(f.datesDisabled, function (a) {
17490                return q.parseDate(a, h, f.language)
17491            });
17492            var j = String(f.orientation).toLowerCase().split(/\s+/g), k = f.orientation.toLowerCase();
17493            if (j = a.grep(j, function (a) {
17494                return /^auto|left|right|top|bottom$/.test(a)
17495            }), f.orientation = {x: "auto", y: "auto"}, k && "auto" !== k) if (1 === j.length) switch (j[0]) {
17496                case"top":
17497                case"bottom":
17498                    f.orientation.y = j[0];
17499                    break;
17500                case"left":
17501                case"right":
17502                    f.orientation.x = j[0]
17503            } else k = a.grep(j, function (a) {
17504                return /^left|right$/.test(a)
17505            }), f.orientation.x = k[0] || "auto", k = a.grep(j, function (a) {
17506                return /^top|bottom$/.test(a)
17507            }), f.orientation.y = k[0] || "auto";
17508            if (f.defaultViewDate) {
17509                var l = f.defaultViewDate.year || (new Date).getFullYear(), m = f.defaultViewDate.month || 0,
17510                    o = f.defaultViewDate.day || 1;
17511                f.defaultViewDate = c(l, m, o)
17512            } else f.defaultViewDate = d();
17513            f.showOnFocus = f.showOnFocus !== b ? f.showOnFocus : !0
17514        }, _events: [], _secondaryEvents: [], _applyEvents: function (a) {
17515            for (var c, d, e, f = 0; f < a.length; f++) c = a[f][0], 2 === a[f].length ? (d = b, e = a[f][1]) : 3 === a[f].length && (d = a[f][1], e = a[f][2]), c.on(e, d)
17516        }, _unapplyEvents: function (a) {
17517            for (var c, d, e, f = 0; f < a.length; f++) c = a[f][0], 2 === a[f].length ? (e = b, d = a[f][1]) : 3 === a[f].length && (e = a[f][1], d = a[f][2]), c.off(d, e)
17518        }, _buildEvents: function () {
17519            var b = {
17520                keyup: a.proxy(function (b) {
17521                    -1 === a.inArray(b.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) && this.update()
17522                }, this), keydown: a.proxy(this.keydown, this)
17523            };
17524            this.o.showOnFocus === !0 && (b.focus = a.proxy(this.show, this)), this.isInput ? this._events = [[this.element, b]] : this.component && this.hasInput ? this._events = [[this.element.find("input"), b], [this.component, {click: a.proxy(this.show, this)}]] : this.element.is("div") ? this.isInline = !0 : this._events = [[this.element, {click: a.proxy(this.show, this)}]], this._events.push([this.element, "*", {
17525                blur: a.proxy(function (a) {
17526                    this._focused_from = a.target
17527                }, this)
17528            }], [this.element, {
17529                blur: a.proxy(function (a) {
17530                    this._focused_from = a.target
17531                }, this)
17532            }]), this._secondaryEvents = [[this.picker, {click: a.proxy(this.click, this)}], [a(window), {resize: a.proxy(this.place, this)}], [a(document), {
17533                "mousedown touchstart": a.proxy(function (a) {
17534                    this.element.is(a.target) || this.element.find(a.target).length || this.picker.is(a.target) || this.picker.find(a.target).length || this.hide()
17535                }, this)
17536            }]]
17537        }, _attachEvents: function () {
17538            this._detachEvents(), this._applyEvents(this._events)
17539        }, _detachEvents: function () {
17540            this._unapplyEvents(this._events)
17541        }, _attachSecondaryEvents: function () {
17542            this._detachSecondaryEvents(), this._applyEvents(this._secondaryEvents)
17543        }, _detachSecondaryEvents: function () {
17544            this._unapplyEvents(this._secondaryEvents)
17545        }, _trigger: function (b, c) {
17546            var d = c || this.dates.get(-1), e = this._utc_to_local(d);
17547            this.element.trigger({
17548                type: b,
17549                date: e,
17550                dates: a.map(this.dates, this._utc_to_local),
17551                format: a.proxy(function (a, b) {
17552                    0 === arguments.length ? (a = this.dates.length - 1, b = this.o.format) : "string" == typeof a && (b = a, a = this.dates.length - 1), b = b || this.o.format;
17553                    var c = this.dates.get(a);
17554                    return q.formatDate(c, b, this.o.language)
17555                }, this)
17556            })
17557        }, show: function () {
17558            return this.element.attr("readonly") && this.o.enableOnReadonly === !1 ? void 0 : (this.isInline || this.picker.appendTo(this.o.container), this.place(), this.picker.show(), this._attachSecondaryEvents(), this._trigger("show"), (window.navigator.msMaxTouchPoints || "ontouchstart" in document) && this.o.disableTouchKeyboard && a(this.element).blur(), this)
17559        }, hide: function () {
17560            return this.isInline ? this : this.picker.is(":visible") ? (this.focusDate = null, this.picker.hide().detach(), this._detachSecondaryEvents(), this.viewMode = this.o.startView, this.showMode(), this.o.forceParse && (this.isInput && this.element.val() || this.hasInput && this.element.find("input").val()) && this.setValue(), this._trigger("hide"), this) : this
17561        }, remove: function () {
17562            return this.hide(), this._detachEvents(), this._detachSecondaryEvents(), this.picker.remove(), delete this.element.data().datepicker, this.isInput || delete this.element.data().date, this
17563        }, _utc_to_local: function (a) {
17564            return a && new Date(a.getTime() + 6e4 * a.getTimezoneOffset())
17565        }, _local_to_utc: function (a) {
17566            return a && new Date(a.getTime() - 6e4 * a.getTimezoneOffset())
17567        }, _zero_time: function (a) {
17568            return a && new Date(a.getFullYear(), a.getMonth(), a.getDate())
17569        }, _zero_utc_time: function (a) {
17570            return a && new Date(Date.UTC(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate()))
17571        }, getDates: function () {
17572            return a.map(this.dates, this._utc_to_local)
17573        }, getUTCDates: function () {
17574            return a.map(this.dates, function (a) {
17575                return new Date(a)
17576            })
17577        }, getDate: function () {
17578            return this._utc_to_local(this.getUTCDate())
17579        }, getUTCDate: function () {
17580            var a = this.dates.get(-1);
17581            return "undefined" != typeof a ? new Date(a) : null
17582        }, clearDates: function () {
17583            var a;
17584            this.isInput ? a = this.element : this.component && (a = this.element.find("input")), a && a.val("").change(), this.update(), this._trigger("changeDate"), this.o.autoclose && this.hide()
17585        }, setDates: function () {
17586            var b = a.isArray(arguments[0]) ? arguments[0] : arguments;
17587            return this.update.apply(this, b), this._trigger("changeDate"), this.setValue(), this
17588        }, setUTCDates: function () {
17589            var b = a.isArray(arguments[0]) ? arguments[0] : arguments;
17590            return this.update.apply(this, a.map(b, this._utc_to_local)), this._trigger("changeDate"), this.setValue(), this
17591        }, setDate: f("setDates"), setUTCDate: f("setUTCDates"), setValue: function () {
17592            var a = this.getFormattedDate();
17593            return this.isInput ? this.element.val(a).change() : this.component && this.element.find("input").val(a).change(), this
17594        }, getFormattedDate: function (c) {
17595            c === b && (c = this.o.format);
17596            var d = this.o.language;
17597            return a.map(this.dates, function (a) {
17598                return q.formatDate(a, c, d)
17599            }).join(this.o.multidateSeparator)
17600        }, setStartDate: function (a) {
17601            return this._process_options({startDate: a}), this.update(), this.updateNavArrows(), this
17602        }, setEndDate: function (a) {
17603            return this._process_options({endDate: a}), this.update(), this.updateNavArrows(), this
17604        }, setDaysOfWeekDisabled: function (a) {
17605            return this._process_options({daysOfWeekDisabled: a}), this.update(), this.updateNavArrows(), this
17606        }, setDatesDisabled: function (a) {
17607            this._process_options({datesDisabled: a}), this.update(), this.updateNavArrows()
17608        }, place: function () {
17609            if (this.isInline) return this;
17610            var b = this.picker.outerWidth(), c = this.picker.outerHeight(), d = 10, e = a(this.o.container).width(),
17611                f = a(this.o.container).height(), g = a(this.o.container).scrollTop(), h = a(this.o.container).offset(),
17612                i = [];
17613            this.element.parents().each(function () {
17614                var b = a(this).css("z-index");
17615                "auto" !== b && 0 !== b && i.push(parseInt(b))
17616            });
17617            var j = Math.max.apply(Math, i) + 10,
17618                k = this.component ? this.component.parent().offset() : this.element.offset(),
17619                l = this.component ? this.component.outerHeight(!0) : this.element.outerHeight(!1),
17620                m = this.component ? this.component.outerWidth(!0) : this.element.outerWidth(!1), n = k.left - h.left,
17621                o = k.top - h.top;
17622            this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"), "auto" !== this.o.orientation.x ? (this.picker.addClass("datepicker-orient-" + this.o.orientation.x), "right" === this.o.orientation.x && (n -= b - m)) : k.left < 0 ? (this.picker.addClass("datepicker-orient-left"), n -= k.left - d) : n + b > e ? (this.picker.addClass("datepicker-orient-right"), n = k.left + m - b) : this.picker.addClass("datepicker-orient-left");
17623            var p, q, r = this.o.orientation.y;
17624            if ("auto" === r && (p = -g + o - c, q = g + f - (o + l + c), r = Math.max(p, q) === q ? "top" : "bottom"), this.picker.addClass("datepicker-orient-" + r), "top" === r ? o += l : o -= c + parseInt(this.picker.css("padding-top")), this.o.rtl) {
17625                var s = e - (n + m);
17626                this.picker.css({top: o, right: s, zIndex: j})
17627            } else this.picker.css({top: o, left: n, zIndex: j});
17628            return this
17629        }, _allow_update: !0, update: function () {
17630            if (!this._allow_update) return this;
17631            var b = this.dates.copy(), c = [], d = !1;
17632            return arguments.length ? (a.each(arguments, a.proxy(function (a, b) {
17633                b instanceof Date && (b = this._local_to_utc(b)), c.push(b)
17634            }, this)), d = !0) : (c = this.isInput ? this.element.val() : this.element.data("date") || this.element.find("input").val(), c = c && this.o.multidate ? c.split(this.o.multidateSeparator) : [c], delete this.element.data().date), c = a.map(c, a.proxy(function (a) {
17635                return q.parseDate(a, this.o.format, this.o.language)
17636            }, this)), c = a.grep(c, a.proxy(function (a) {
17637                return a < this.o.startDate || a > this.o.endDate || !a
17638            }, this), !0), this.dates.replace(c), this.dates.length ? this.viewDate = new Date(this.dates.get(-1)) : this.viewDate < this.o.startDate ? this.viewDate = new Date(this.o.startDate) : this.viewDate > this.o.endDate && (this.viewDate = new Date(this.o.endDate)), d ? this.setValue() : c.length && String(b) !== String(this.dates) && this._trigger("changeDate"), !this.dates.length && b.length && this._trigger("clearDate"), this.fill(), this
17639        }, fillDow: function () {
17640            var a = this.o.weekStart, b = "<tr>";
17641            if (this.o.calendarWeeks) {
17642                this.picker.find(".datepicker-days thead tr:first-child .datepicker-switch").attr("colspan", function (a, b) {
17643                    return parseInt(b) + 1
17644                });
17645                var c = '<th class="cw">&#160;</th>';
17646                b += c
17647            }
17648            for (; a < this.o.weekStart + 7;) b += '<th class="dow">' + p[this.o.language].daysMin[a++ % 7] + "</th>";
17649            b += "</tr>", this.picker.find(".datepicker-days thead").append(b)
17650        }, fillMonths: function () {
17651            for (var a = "", b = 0; 12 > b;) a += '<span class="month">' + p[this.o.language].monthsShort[b++] + "</span>";
17652            this.picker.find(".datepicker-months td").html(a)
17653        }, setRange: function (b) {
17654            b && b.length ? this.range = a.map(b, function (a) {
17655                return a.valueOf()
17656            }) : delete this.range, this.fill()
17657        }, getClassNames: function (b) {
17658            var c = [], d = this.viewDate.getUTCFullYear(), f = this.viewDate.getUTCMonth(), g = new Date;
17659            return b.getUTCFullYear() < d || b.getUTCFullYear() === d && b.getUTCMonth() < f ? c.push("old") : (b.getUTCFullYear() > d || b.getUTCFullYear() === d && b.getUTCMonth() > f) && c.push("new"), this.focusDate && b.valueOf() === this.focusDate.valueOf() && c.push("focused"), this.o.todayHighlight && b.getUTCFullYear() === g.getFullYear() && b.getUTCMonth() === g.getMonth() && b.getUTCDate() === g.getDate() && c.push("today"), -1 !== this.dates.contains(b) && c.push("active"), (b.valueOf() < this.o.startDate || b.valueOf() > this.o.endDate || -1 !== a.inArray(b.getUTCDay(), this.o.daysOfWeekDisabled)) && c.push("disabled"), this.o.datesDisabled.length > 0 && a.grep(this.o.datesDisabled, function (a) {
17660                return e(b, a)
17661            }).length > 0 && c.push("disabled", "disabled-date"), this.range && (b > this.range[0] && b < this.range[this.range.length - 1] && c.push("range"), -1 !== a.inArray(b.valueOf(), this.range) && c.push("selected")), c
17662        }, fill: function () {
17663            var d, e = new Date(this.viewDate), f = e.getUTCFullYear(), g = e.getUTCMonth(),
17664                h = this.o.startDate !== -(1 / 0) ? this.o.startDate.getUTCFullYear() : -(1 / 0),
17665                i = this.o.startDate !== -(1 / 0) ? this.o.startDate.getUTCMonth() : -(1 / 0),
17666                j = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCFullYear() : 1 / 0,
17667                k = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCMonth() : 1 / 0,
17668                l = p[this.o.language].today || p.en.today || "", m = p[this.o.language].clear || p.en.clear || "";
17669            if (!isNaN(f) && !isNaN(g)) {
17670                this.picker.find(".datepicker-days thead .datepicker-switch").text(p[this.o.language].months[g] + " " + f), this.picker.find("tfoot .today").text(l).toggle(this.o.todayBtn !== !1), this.picker.find("tfoot .clear").text(m).toggle(this.o.clearBtn !== !1), this.updateNavArrows(), this.fillMonths();
17671                var n = c(f, g - 1, 28), o = q.getDaysInMonth(n.getUTCFullYear(), n.getUTCMonth());
17672                n.setUTCDate(o), n.setUTCDate(o - (n.getUTCDay() - this.o.weekStart + 7) % 7);
17673                var r = new Date(n);
17674                r.setUTCDate(r.getUTCDate() + 42), r = r.valueOf();
17675                for (var s, t = []; n.valueOf() < r;) {
17676                    if (n.getUTCDay() === this.o.weekStart && (t.push("<tr>"), this.o.calendarWeeks)) {
17677                        var u = new Date(+n + (this.o.weekStart - n.getUTCDay() - 7) % 7 * 864e5),
17678                            v = new Date(Number(u) + (11 - u.getUTCDay()) % 7 * 864e5),
17679                            w = new Date(Number(w = c(v.getUTCFullYear(), 0, 1)) + (11 - w.getUTCDay()) % 7 * 864e5),
17680                            x = (v - w) / 864e5 / 7 + 1;
17681                        t.push('<td class="cw">' + x + "</td>")
17682                    }
17683                    if (s = this.getClassNames(n), s.push("day"), this.o.beforeShowDay !== a.noop) {
17684                        var y = this.o.beforeShowDay(this._utc_to_local(n));
17685                        y === b ? y = {} : "boolean" == typeof y ? y = {enabled: y} : "string" == typeof y && (y = {classes: y}), y.enabled === !1 && s.push("disabled"), y.classes && (s = s.concat(y.classes.split(/\s+/))), y.tooltip && (d = y.tooltip)
17686                    }
17687                    s = a.unique(s), t.push('<td class="' + s.join(" ") + '"' +
17687 (d ? ' title="' + d + '"' : "") + ">" + n.getUTCDate() + "</td>"), d = null, n.getUTCDay() === this.o.weekEnd && t.push("</tr>"), n.setUTCDate(n.getUTCDate() + 1)
17688                }
17689                this.picker.find(".datepicker-days tbody").empty().append(t.join(""));
17690                var z = this.picker.find(".datepicker-months").find("th:eq(1)").text(f).end().find("span").removeClass("active");
17691                if (a.each(this.dates, function (a, b) {
17692                    b.getUTCFullYear() === f && z.eq(b.getUTCMonth()).addClass("active")
17693                }), (h > f || f > j) && z.addClass("disabled"), f === h && z.slice(0, i).addClass("disabled"), f === j && z.slice(k + 1).addClass("disabled"), this.o.beforeShowMonth !== a.noop) {
17694                    var A = this;
17695                    a.each(z, function (b, c) {
17696                        if (!a(c).hasClass("disabled")) {
17697                            var d = new Date(f, b, 1), e = A.o.beforeShowMonth(d);
17698                            e === !1 && a(c).addClass("disabled")
17699                        }
17700                    })
17701                }
17702                t = "", f = 10 * parseInt(f / 10, 10);
17703                var B = this.picker.find(".datepicker-years").find("th:eq(1)").text(f + "-" + (f + 9)).end().find("td");
17704                f -= 1;
17705                for (var C, D = a.map(this.dates, function (a) {
17706                    return a.getUTCFullYear()
17707                }), E = -1; 11 > E; E++) C = ["year"], -1 === E ? C.push("old") : 10 === E && C.push("new"), -1 !== a.inArray(f, D) && C.push("active"), (h > f || f > j) && C.push("disabled"), t += '<span class="' + C.join(" ") + '">' + f + "</span>", f += 1;
17708                B.html(t)
17709            }
17710        }, updateNavArrows: function () {
17711            if (this._allow_update) {
17712                var a = new Date(this.viewDate), b = a.getUTCFullYear(), c = a.getUTCMonth();
17713                switch (this.viewMode) {
17714                    case 0:
17715                        this.o.startDate !== -(1 / 0) && b <= this.o.startDate.getUTCFullYear() && c <= this.o.startDate.getUTCMonth() ? this.picker.find(".prev").css({visibility: "hidden"}) : this.picker.find(".prev").css({visibility: "visible"}), this.o.endDate !== 1 / 0 && b >= this.o.endDate.getUTCFullYear() && c >= this.o.endDate.getUTCMonth() ? this.picker.find(".next").css({visibility: "hidden"}) : this.picker.find(".next").css({visibility: "visible"});
17716                        break;
17717                    case 1:
17718                    case 2:
17719                        this.o.startDate !== -(1 / 0) && b <= this.o.startDate.getUTCFullYear() ? this.picker.find(".prev").css({visibility: "hidden"}) : this.picker.find(".prev").css({visibility: "visible"}), this.o.endDate !== 1 / 0 && b >= this.o.endDate.getUTCFullYear() ? this.picker.find(".next").css({visibility: "hidden"}) : this.picker.find(".next").css({visibility: "visible"})
17720                }
17721            }
17722        }, click: function (b) {
17723            b.preventDefault();
17724            var d, e, f, g = a(b.target).closest("span, td, th");
17725            if (1 === g.length) switch (g[0].nodeName.toLowerCase()) {
17726                case"th":
17727                    switch (g[0].className) {
17728                        case"datepicker-switch":
17729                            this.showMode(1);
17730                            break;
17731                        case"prev":
17732                        case"next":
17733                            var h = q.modes[this.viewMode].navStep * ("prev" === g[0].className ? -1 : 1);
17734                            switch (this.viewMode) {
17735                                case 0:
17736                                    this.viewDate = this.moveMonth(this.viewDate, h), this._trigger("changeMonth", this.viewDate);
17737                                    break;
17738                                case 1:
17739                                case 2:
17740                                    this.viewDate = this.moveYear(this.viewDate, h), 1 === this.viewMode && this._trigger("changeYear", this.viewDate)
17741                            }
17742                            this.fill();
17743                            break;
17744                        case"today":
17745                            var i = new Date;
17746                            i = c(i.getFullYear(), i.getMonth(), i.getDate(), 0, 0, 0), this.showMode(-2);
17747                            var j = "linked" === this.o.todayBtn ? null : "view";
17748                            this._setDate(i, j);
17749                            break;
17750                        case"clear":
17751                            this.clearDates()
17752                    }
17753                    break;
17754                case"span":
17755                    g.hasClass("disabled") || (this.viewDate.setUTCDate(1), g.hasClass("month") ? (f = 1, e = g.parent().find("span").index(g), d = this.viewDate.getUTCFullYear(), this.viewDate.setUTCMonth(e), this._trigger("changeMonth", this.viewDate), 1 === this.o.minViewMode && this._setDate(c(d, e, f))) : (f = 1, e = 0, d = parseInt(g.text(), 10) || 0, this.viewDate.setUTCFullYear(d), this._trigger("changeYear", this.viewDate), 2 === this.o.minViewMode && this._setDate(c(d, e, f))), this.showMode(-1), this.fill());
17756                    break;
17757                case"td":
17758                    g.hasClass("day") && !g.hasClass("disabled") && (f = parseInt(g.text(), 10) || 1, d = this.viewDate.getUTCFullYear(), e = this.viewDate.getUTCMonth(), g.hasClass("old") ? 0 === e ? (e = 11, d -= 1) : e -= 1 : g.hasClass("new") && (11 === e ? (e = 0, d += 1) : e += 1), this._setDate(c(d, e, f)))
17759            }
17760            this.picker.is(":visible") && this._focused_from && a(this._focused_from).focus(), delete this._focused_from
17761        }, _toggle_multidate: function (a) {
17762            var b = this.dates.contains(a);
17763            if (a || this.dates.clear(), -1 !== b ? (this.o.multidate === !0 || this.o.multidate > 1 || this.o.toggleActive) && this.dates.remove(b) : this.o.multidate === !1 ? (this.dates.clear(), this.dates.push(a)) : this.dates.push(a), "number" == typeof this.o.multidate) for (; this.dates.length > this.o.multidate;) this.dates.remove(0)
17764        }, _setDate: function (a, b) {
17765            b && "date" !== b || this._toggle_multidate(a && new Date(a)), b && "view" !== b || (this.viewDate = a && new Date(a)), this.fill(), this.setValue(), b && "view" === b || this._trigger("changeDate");
17766            var c;
17767            this.isInput ? c = this.element : this.component && (c = this.element.find("input")), c && c.change(), !this.o.autoclose || b && "date" !== b || this.hide()
17768        }, moveMonth: function (a, c) {
17769            if (!a) return b;
17770            if (!c) return a;
17771            var d, e, f = new Date(a.valueOf()), g = f.getUTCDate(), h = f.getUTCMonth(), i = Math.abs(c);
17772            if (c = c > 0 ? 1 : -1, 1 === i) e = -1 === c ? function () {
17773                return f.getUTCMonth() === h
17774            } : function () {
17775                return f.getUTCMonth() !== d
17776            }, d = h + c, f.setUTCMonth(d), (0 > d || d > 11) && (d = (d + 12) % 12); else {
17777                for (var j = 0; i > j; j++) f = this.moveMonth(f, c);
17778                d = f.getUTCMonth(), f.setUTCDate(g), e = function () {
17779                    return d !== f.getUTCMonth()
17780                }
17781            }
17782            for (; e();) f.setUTCDate(--g), f.setUTCMonth(d);
17783            return f
17784        }, moveYear: function (a, b) {
17785            return this.moveMonth(a, 12 * b)
17786        }, dateWithinRange: function (a) {
17787            return a >= this.o.startDate && a <= this.o.endDate
17788        }, keydown: function (a) {
17789            if (!this.picker.is(":visible")) return void (27 === a.keyCode && this.show());
17790            var b, c, e, f = !1, g = this.focusDate || this.viewDate;
17791            switch (a.keyCode) {
17792                case 27:
17793                    this.focusDate ? (this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill()) : this.hide(), a.preventDefault();
17794                    break;
17795                case 37:
17796                case 39:
17797                    if (!this.o.keyboardNavigation) break;
17798                    b = 37 === a.keyCode ? -1 : 1, a.ctrlKey ? (c = this.moveYear(this.dates.get(-1) || d(), b), e = this.moveYear(g, b), this._trigger("changeYear", this.viewDate)) : a.shiftKey ? (c = this.moveMonth(this.dates.get(-1) || d(), b), e = this.moveMonth(g, b), this._trigger("changeMonth", this.viewDate)) : (c = new Date(this.dates.get(-1) || d()), c.setUTCDate(c.getUTCDate() + b), e = new Date(g), e.setUTCDate(g.getUTCDate() + b)), this.dateWithinRange(e) && (this.focusDate = this.viewDate = e, this.setValue(), this.fill(), a.preventDefault());
17799                    break;
17800                case 38:
17801                case 40:
17802                    if (!this.o.keyboardNavigation) break;
17803                    b = 38 === a.keyCode ? -1 : 1, a.ctrlKey ? (c = this.moveYear(this.dates.get(-1) || d(), b), e = this.moveYear(g, b), this._trigger("changeYear", this.viewDate)) : a.shiftKey ? (c = this.moveMonth(this.dates.get(-1) || d(), b), e = this.moveMonth(g, b), this._trigger("changeMonth", this.viewDate)) : (c = new Date(this.dates.get(-1) || d()), c.setUTCDate(c.getUTCDate() + 7 * b), e = new Date(g), e.setUTCDate(g.getUTCDate() + 7 * b)), this.dateWithinRange(e) && (this.focusDate = this.viewDate = e, this.setValue(), this.fill(), a.preventDefault());
17804                    break;
17805                case 32:
17806                    break;
17807                case 13:
17808                    g = this.focusDate || this.dates.get(-1) || this.viewDate, this.o.keyboardNavigation && (this._toggle_multidate(g), f = !0), this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.setValue(), this.fill(), this.picker.is(":visible") && (a.preventDefault(), "function" == typeof a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0, this.o.autoclose && this.hide());
17809                    break;
17810                case 9:
17811                    this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill(), this.hide()
17812            }
17813            if (f) {
17814                this.dates.length ? this._trigger("changeDate") : this._trigger("clearDate");
17815                var h;
17816                this.isInput ? h = this.element : this.component && (h = this.element.find("input")), h && h.change()
17817            }
17818        }, showMode: function (a) {
17819            a && (this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + a))
17819), this.picker.children("div").hide().filter(".datepicker-" + q.modes[this.viewMode].clsName).css("display", "block"), this.updateNavArrows()
17820        }
17821    };
17822    var k = function (b, c) {
17823        this.element = a(b), this.inputs = a.map(c.inputs, function (a) {
17824            return a.jquery ? a[0] : a
17825        }), delete c.inputs, m.call(a(this.inputs), c).bind("changeDate", a.proxy(this.dateUpdated, this)), this.pickers = a.map(this.inputs, function (b) {
17826            return a(b).data("datepicker")
17827        }), this.updateDates()
17828    };
17829    k.prototype = {
17830        updateDates: function () {
17831            this.dates = a.map(this.pickers, function (a) {
17832                return a.getUTCDate()
17833            }), this.updateRanges()
17834        }, updateRanges: function () {
17835            var b = a.map(this.dates, function (a) {
17836                return a.valueOf()
17837            });
17838            a.each(this.pickers, function (a, c) {
17839                c.setRange(b)
17840            })
17841        }, dateUpdated: function (b) {
17842            if (!this.updating) {
17843                this.updating = !0;
17844                var c = a(b.target).data("datepicker"), d = c.getUTCDate(), e = a.inArray(b.target, this.inputs),
17845                    f = e - 1, g = e + 1, h = this.inputs.length;
17846                if (-1 !== e) {
17847                    if (a.each(this.pickers, function (a, b) {
17848                        b.getUTCDate() || b.setUTCDate(d)
17849                    }), d < this.dates[f]) for (; f >= 0 && d < this.dates[f];) this.pickers[f--].setUTCDate(d); else if (d > this.dates[g]) for (; h > g && d > this.dates[g];) this.pickers[g++].setUTCDate(d);
17850                    this.updateDates(), delete this.updating
17851                }
17852            }
17853        }, remove: function () {
17854            a.map(this.pickers, function (a) {
17855                a.remove()
17856            }), delete this.element.data().datepicker
17857        }
17858    };
17859    var l = a.fn.datepicker, m = function (c) {
17860        var d = Array.apply(null, arguments);
17861        d.shift();
17862        var e;
17863        return this.each(function () {
17864            var f = a(this), i = f.data("datepicker"), l = "object" == typeof c && c;
17865            if (!i) {
17866                var m = g(this, "date"), o = a.extend({}, n, m, l), p = h(o.language), q = a.extend({}, n, p, m, l);
17867                if (f.hasClass("input-daterange") || q.inputs) {
17868                    var r = {inputs: q.inputs || f.find("input").toArray()};
17869                    f.data("datepicker", i = new k(this, a.extend(q, r)))
17870                } else f.data("datepicker", i = new j(this, q))
17871            }
17872            return "string" == typeof c && "function" == typeof i[c] && (e = i[c].apply(i, d), e !== b) ? !1 : void 0
17873        }), e !== b ? e : this
17874    };
17875    a.fn.datepicker = m;
17876    var n = a.fn.datepicker.defaults = {
17877        autoclose: !1,
17878        beforeShowDay: a.noop,
17879        beforeShowMonth: a.noop,
17880        calendarWeeks: !1,
17881        clearBtn: !1,
17882        toggleActive: !1,
17883        daysOfWeekDisabled: [],
17884        datesDisabled: [],
17885        endDate: 1 / 0,
17886        forceParse: !0,
17887        format: "mm/dd/yyyy",
17888        keyboardNavigation: !0,
17889        language: "en",
17890        minViewMode: 0,
17891        multidate: !1,
17892        multidateSeparator: ",",
17893        orientation: "auto",
17894        rtl: !1,
17895        startDate: -(1 / 0),
17896        startView: 0,
17897        todayBtn: !1,
17898        todayHighlight: !1,
17899        weekStart: 0,
17900        disableTouchKeyboard: !1,
17901        enableOnReadonly: !0,
17902        container: "body"
17903    }, o = a.fn.datepicker.locale_opts = ["format", "rtl", "weekStart"];
17904    a.fn.datepicker.Constructor = j;
17905    var p = a.fn.datepicker.dates = {
17906        en: {
17907            days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
17908            daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
17909            daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
17910            months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
17910November", "December"],
17911            monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
17912            today: "Today",
17913            clear: "Clear"
17914        }
17915    }, q = {
17916        modes: [{clsName: "days", navFnc: "Month", navStep: 1}, {
17917            clsName: "months",
17918            navFnc: "FullYear",
17919            navStep: 1
17920        }, {clsName: "years", navFnc: "FullYear", navStep: 10}],
17921        isLeapYear: function (a) {
17922            return a % 4 === 0 && a % 100 !== 0 || a % 400 === 0
17923        },
17924        getDaysInMonth: function (a, b) {
17925            return [31, q.isLeapYear(a) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][b]
17926        },
17927        validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
17928        nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,
17929        parseFormat: function (a) {
17930            var b = a.replace(this.validParts, "\x00").split("\x00"), c = a.match(this.validParts);
17931            if (!b || !b.length || !c || 0 === c.length) throw new Error("Invalid date format.");
17932            return {separators: b, parts: c}
17933        },
17934        parseDate: function (d, e, f) {
17935            function g() {
17936                var a = this.slice(0, m[k].length), b = m[k].slice(0, a.length);
17937                return a.toLowerCase() === b.toLowerCase()
17938            }
17939
17940            if (!d) return b;
17941            if (d instanceof Date) return d;
17942            "string" == typeof e && (e = q.parseFormat(e));
17943            var h, i, k, l = /([\-+]\d+)([dmwy])/, m = d.match(/([\-+]\d+)([dmwy])/g);
17944            if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(d)) {
17945                for (d = new Date, k = 0; k < m.length; k++) switch (h = l.exec(m[k]), i = parseInt(h[1]), h[2]) {
17946                    case"d":
17947                        d.setUTCDate(d.getUTCDate() + i);
17948                        break;
17949                    case"m":
17950                        d = j.prototype.moveMonth.call(j.prototype, d, i);
17951                        break;
17952                    case"w":
17953                        d.setUTCDate(d.getUTCDate() + 7 * i);
17954                        break;
17955                    case"y":
17956                        d = j.prototype.moveYear.call(j.prototype, d, i)
17957                }
17958                return c(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), 0, 0, 0)
17959            }
17960            m = d && d.match(this.nonpunctuation) || [], d = new Date;
17961            var n, o, r = {}, s = ["yyyy", "yy", "M", "MM", "m", "mm", "d", "dd"], t = {
17962                yyyy: function (a, b) {
17963                    return a.setUTCFullYear(b)
17964                }, yy: function (a, b) {
17965                    return a.setUTCFullYear(2e3 + b)
17966                }, m: function (a, b) {
17967                    if (isNaN(a)) return a;
17968                    for (b -= 1; 0 > b;) b += 12;
17969                    for (b %= 12, a.setUTCMonth(b); a.getUTCMonth() !== b;) a.setUTCDate(a.getUTCDate() - 1);
17970                    return a
17971                }, d: function (a, b) {
17972                    return a.setUTCDate(b)
17973                }
17974            };
17975            t.M = t.MM = t.mm = t.m, t.dd = t.d, d = c(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0);
17976            var u = e.parts.slice();
17977            if (m.length !== u.length && (u = a(u).filter(function (b, c) {
17978                return -1 !== a.inArray(c, s)
17979            }).toArray()), m.length === u.length) {
17980                var v;
17981                for (k = 0, v = u.length; v > k; k++) {
17982                    if (n = parseInt(m[k], 10), h = u[k], isNaN(n)) switch (h) {
17983                        case"MM":
17984                            o = a(p[f].months).filter(g), n = a.inArray(o[0], p[f].months) + 1;
17985                            break;
17986                        case"M":
17987                            o = a(p[f].monthsShort).filter(g), n = a.inArray(o[0], p[f].monthsShort) + 1
17988                    }
17989                    r[h] = n
17990                }
17991                var w, x;
17992                for (k = 0; k < s.length; k++) x = s[k], x in r && !isNaN(r[x]) && (w = new Date(d), t[x](w, r[x]), isNaN(w) || (d = w))
17993            }
17994            return d
17995        },
17996        formatDate: function (b, c, d) {
17997            if (!b) return "";
17998            "string" == typeof c && (c = q.parseFormat(c));
17999            var e = {
18000                d: b.getUTCDate(),
18001                D: p[d].daysShort[b.getUTCDay()],
18002                DD: p[d].days[b.getUTCDay()],
18003                m: b.getUTCMonth() + 1,
18004                M: p[d].monthsShort[b.getUTCMonth()],
18005                MM: p[d].months[b.getUTCMonth()],
18006                yy: b.getUTCFullYear().toString().substring(2),
18007                yyyy: b.getUTCFullYear()
18008            };
18009            e.dd = (e.d < 10 ? "0" : "") + e.d, e.mm = (e.m < 10 ? "0" : "") + e.m, b = [];
18010            for (var f = a.extend([], c.separators), g = 0, h = c.parts.length; h >= g; g++) f.length && b.push(f.shift()), b.push(e[c.parts[g]]);
18011            return b.join("")
18012        },
18013        headTemplate: '<thead><tr><th class="prev">&#171;</th><th colspan="5" class="datepicker-switch"></th><th class="next">&#187;</th></tr></thead>',
18014        contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>',
18015        footTemplate: '<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'
18016    };
18017    q.template = '<div class="datepicker"><div class="datepicker-days"><table class=" table-condensed">' + q.headTemplate + "<tbody></tbody>" + q.footTemplate + '</table></div><div class="datepicker-months"><table class="table-condensed">' + q.headTemplate + q.contTemplate + q.footTemplate + '</table></div><div class="datepicker-years"><table class="table-condensed">' + q.headTemplate + q.contTemplate + q.footTemplate + "</table></div></div>", a.fn.datepicker.DPGlobal = q, a.fn.datepicker.noConflict = function () {
18018        return a.fn.datepicker = l, this
18019    }, a.fn.datepicker.version = "1.4.1", a(document).on("focus.datepicker.data-api click.datepicker.data-api", '[data-
18019provide="datepicker"]', function (b) {
18020        var c = a(this);
18021        c.data("datepicker") || (b.preventDefault(), m.call(c, "show"))
18022    }), a(function () {
18023        m.call(a('[data-provide="datepicker-inline"]'))
18024    })
18025}(window.jQuery), function (h, q) {
18026    h.fn.bootpag = function (p) {
18027        function m(c, b) {
18028            b = parseInt(b, 10);
18029            var d, e = 0 == a.maxVisible ? 1 : a.maxVisible, k = 1 == a.maxVisible ? 0 : 1,
18030                n = Math.floor((b - 1) / e) * e, f = c.find("li");
18031            if (a.page = b = 0 > b ? 0 : b > a.total ? a.total : b, f.removeClass(a.activeClass), d = 1 > b - 1 ? 1 : a.leaps && b - 1 >= a.maxVisible ? Math.floor((b - 1) / e) * e : b - 1, a.firstLastUse && f.first().toggleClass(a.disabledClass, 1 === b), e = f.first(), a.firstLastUse && (e = e.next()), e.toggleClass(a.disabledClass, 1 === b).attr("data-lp", d).find("a").attr("href", g(d)), k = 1 == a.maxVisible ? 0 : 1, d = b + 1 > a.total ? a.total : a.leaps && b + 1 < a.total - a.maxVisible ? n + a.maxVisible + k : b + 1, e = f.last(), a.firstLastUse && (e = e.prev()), e.toggleClass(a.disabledClass, b === a.total).attr("data-lp", d).find("a").attr("href", g(d)), f.last().toggleClass(a.disabledClass, b === a.total), e = f.filter("[data-lp=" + b + "]"), k = "." + [a.nextClass, a.prevClass, a.firstClass, a.lastClass].join(",."), !e.not(k).length) {
18032                var m = n >= b ? -a.maxVisible : 0;
18033                f.not(k).each(function (b) {
18034                    d = b + 1 + n + m, h(this).attr("data-lp", d).toggle(d <= a.total).find("a").html(d).attr("href", g(d))
18035                }), e = f.filter("[data-lp=" + b + "]")
18036            }
18037            e.not(k).addClass(a.activeClass), l.data("settings", a)
18038        }
18039
18040        function g(c) {
18041            return a.href.replace(a.hrefVariable, c)
18042        }
18043
18044        var l = this, a = h.extend({
18045            total: 0,
18046            page: 1,
18047            maxVisible: null,
18048            leaps: !0,
18049            href: "javascript:void(0);",
18050            hrefVariable: "{{number}}",
18051            next: "&raquo;",
18052            prev: "&laquo;",
18053            firstLastUse: !1,
18054            first: '<span aria-hidden="true">&larr;</span>',
18055            last: '<span aria-hidden="true">&rarr;</span>',
18056            wrapClass: "pagination",
18057            activeClass: "active",
18058            disabledClass: "disabled",
18059            nextClass: "next",
18060            prevClass: "prev",
18061            lastClass: "last",
18062            firstClass: "first"
18063        }, l.data("settings") || {}, p || {});
18064        return 0 >= a.total ? this : (h.isNumeric(a.maxVisible) || a.maxVisible || (a.maxVisible = parseInt(a.total, 10)), l.data("settings", a), this.each(function () {
18065            var c, b, d = h(this);
18066            for (c = ['<ul class="', a.wrapClass, ' bootpag">'], a.firstLastUse && (c = c.concat(['<li data-lp="1" class="', a.firstClass, '"><a href="', g(1), '">', a.first, "</a></li>"])), a.prev && (c = c.concat(['<li data-lp="1" class="', a.prevClass, '"><a href="', g(1), '">', a.prev, "</a></li>"])), b = 1; b <= Math.min(a.total, a.maxVisible);
18066 b++) c = c.concat(['<li data-lp="', b, '"><a href="', g(b), '">', b, "</a></li>"]);
18067            a.next && (b = a.leaps && a.total > a.maxVisible ? Math.min(a.maxVisible + 1, a.total) : 2, c = c.concat(['<li data-lp="', b, '" class="', a.nextClass, '"><a href="', g(b), '">', a.next, "</a></li>"])), a.firstLastUse && (c = c.concat(['<li data-lp="', a.total, '" class="last"><a href="', g(a.total), '">', a.last, "</a></li>"])), c.push("</ul>"), d.find("ul.bootpag").remove(), d.append(c.join("")), c = d.find("ul.bootpag"), d.find("li").click(function () {
18068                var b = h(this);
18069                if (!b.hasClass(a.disabledClass) && !b.hasClass(a.activeClass)) {
18070                    var c = parseInt(b.attr("data-lp"), 10);
18071                    l.find("ul.bootpag").each(function () {
18072                        m(h(this), c)
18073                    }), l.trigger("page", c)
18074                }
18075            }), m(c, a.page)
18076        }))
18077    }
18078}(jQuery, window), !function (e) {
18079    "undefined" != typeof exports ? e(exports) : (window.hljs = e({}), "function" == typeof define && define.amd && define("hljs", [], function () {
18080        return window.hljs
18081    }))
18082}(function (e) {
18083    function t(e) {
18084        return e.replace(/&/gm, "&amp;").replace(/</gm, "&lt;").replace(/>/gm, "&gt;")
18085    }
18086
18087    function r(e) {
18088        return e.nodeName.toLowerCase()
18089    }
18090
18091    function i(e, t) {
18092        var r = e && e.exec(t);
18093        return r && 0 == r.index
18094    }
18095
18096    function a(e) {
18097        return /no-?highlight|plain|text/.test(e)
18098    }
18099
18100    function n(e) {
18101        var t, r, i, n = e.className + " ";
18102        if (n += e.parentNode ? e.parentNode.className : "", r = /\blang(?:uage)?-([\w-]+)\b/.exec(n)) return h(r[1]) ? r[1] : "no-highlight";
18103        for (n = n.split(/\s+/), t = 0, i = n.length; i > t; t++) if (h(n[t]) || a(n[t])) return n[t]
18104    }
18105
18106    function o(e, t) {
18107        var r, i = {};
18108        for (r in e) i[r] = e[r];
18109        if (t) for (r in t) i[r] = t[r];
18110        return i
18111    }
18112
18113    function s(e) {
18114        var t = [];
18115        return function i(e, a) {
18116            for (var n = e.firstChild; n; n = n.nextSibling) 3 == n.nodeType ? a += n.nodeValue.length : 1 == n.nodeType && (t.push({
18117                event: "start",
18118                offset: a,
18119                node: n
18120            }), a = i(n, a), r(n).match(/br|hr|img|input/) || t.push({event: "stop", offset: a, node: n}));
18121            return a
18122        }(e, 0), t
18123    }
18124
18125    function l(e, i, a) {
18126        function n() {
18127            return e.length && i.length ? e[0].offset != i[0].offset ? e[0].offset < i[0].offset ? e : i : "start" == i[0].event ? e : i : e.length ? e : i
18128        }
18129
18130        function o(e) {
18131            function i(e) {
18132                return " " + e.nodeName + '="' + t(e.value) + '"'
18133            }
18134
18135            d += "<" + r(e) + Array.prototype.map.call(e.attributes, i).join("") + ">"
18136        }
18137
18138        function s(e) {
18139            d += "</" + r(e) + ">"
18140        }
18141
18142        function l(e) {
18143            ("start" == e.event ? o : s)(e.node)
18144        }
18145
18146        for (var c = 0, d = "", p = []; e.length || i.length;) {
18147            var u = n();
18148            if (d += t(a.substr(c, u[0].offset - c)), c = u[0].offset, u == e) {
18149                p.reverse().forEach(s);
18150                do l(u.splice(0, 1)[0]), u = n(); while (u == e && u.length && u[0].offset == c);
18151                p.reverse().forEach(o)
18152            } else "start" == u[0].event ? p.push(u[0].node) : p.pop(), l(u.splice(0, 1)[0])
18153        }
18154        return d + t(a.substr(c))
18155    }
18156
18157    function c(e) {
18158        function t(e) {
18159            return e && e.source || e
18160        }
18161
18162        function r(r, i) {
18163            return new RegExp(t(r), "m" + (e.cI ? "i" : "") + (i ? "g" : ""))
18164        }
18165
18166        function i(a, n) {
18167            if (!a.compiled) {
18168                if (a.compiled = !0, a.k = a.k || a.bK, a.k) {
18169                    var s = {}, l = function (t, r) {
18170                        e.cI && (r = r.toLowerCase()), r.split(" ").forEach(function (e) {
18171                            var r = e.split("|");
18172                            s[r[0]] = [t, r[1] ? Number(r[1]) : 1]
18173                        })
18174                    };
18175                    "string" == typeof a.k ? l("keyword", a.k) : Object.keys(a.k).forEac
vendor: 5,014 bytes, lines 18175-18306
18175h(function (e) {
18176                        l(e, a.k[e])
18177                    }), a.k = s
18178                }
18179                a.lR = r(a.l || /\b\w+\b/, !0), n && (a.bK && (a.b = "\\b(" + a.bK.split(" ").join("|") + ")\\b"), a.b || (a.b = /\B|\b/), a.bR = r(a.b), a.e || a.eW || (a.e = /\B|\b/), a.e && (a.eR = r(a.e)), a.tE = t(a.e) || "", a.eW && n.tE && (a.tE += (a.e ? "|" : "") + n.tE)), a.i && (a.iR = r(a.i)), void 0 === a.r && (a.r = 1), a.c || (a.c = []);
18180                var c = [];
18181                a.c.forEach(function (e) {
18182                    e.v ? e.v.forEach(function (t) {
18183                        c.push(o(e, t))
18184                    }) : c.push("self" == e ? a : e)
18185                }), a.c = c, a.c.forEach(function (e) {
18186                    i(e, a)
18187                }), a.starts && i(a.starts, n);
18188                var d = a.c.map(function (e) {
18189                    return e.bK ? "\\.?(" + e.b + ")\\.?" : e.b
18190                }).concat([a.tE, a.i]).map(t).filter(Boolean);
18191                a.t = d.length ? r(d.join("|"), !0) : {
18192                    exec: function () {
18193                        return null
18194                    }
18195                }
18196            }
18197        }
18198
18199        i(e)
18200    }
18201
18202    function d(e, r, a, n) {
18203        function o(e, t) {
18204            for (var r = 0; r < t.c.length; r++) if (i(t.c[r].bR, e)) return t.c[r]
18205        }
18206
18207        function s(e, t) {
18208            if (i(e.eR, t)) {
18209                for (; e.endsParent && e.parent;) e = e.parent;
18210                return e
18211            }
18212            return e.eW ? s(e.parent, t) : void 0
18213        }
18214
18215        function l(e, t) {
18216            return !a && i(t.iR, e)
18217        }
18218
18219        function u(e, t) {
18220            var r = f.cI ? t[0].toLowerCase() : t[0];
18221            return e.k.hasOwnProperty(r) && e.k[r]
18222        }
18223
18224        function m(e, t, r, i) {
18225            var a = i ? "" : S.classPrefix, n = '<span class="' + a, o = r ? "" : "</span>";
18226            return n += e + '">', n + t + o
18227        }
18228
18229        function _() {
18230            if (!P.k) return t(A);
18231            var e = "", r = 0;
18232            P.lR.lastIndex = 0;
18233            for (var i = P.lR.exec(A); i;) {
18234                e += t(A.substr(r, i.index - r));
18235                var a = u(P, i);
18236                a ? (T += a[1], e += m(a[0], t(i[0]))) : e += t(i[0]), r = P.lR.lastIndex, i = P.lR.exec(A)
18237            }
18238            return e + t(A.substr(r))
18239        }
18240
18241        function b() {
18242            var e = "string" == typeof P.sL;
18243            if (e && !v[P.sL]) return t(A);
18244            var r = e ? d(P.sL, A, !0, y[P.sL]) : p(A, P.sL.length ? P.sL : void 0);
18245            return P.r > 0 && (T += r.r), e && (y[P.sL] = r.top), m(r.language, r.value, !1, !0)
18246        }
18247
18248        function g() {
18249            return void 0 !== P.sL ? b() : _()
18250        }
18251
18252        function I(e, r) {
18253            var i = e.cN ? m(e.cN, "", !0) : "";
18254            e.rB ? (x += i, A = "") : e.eB ? (x += t(r) + i, A = "") : (x += i, A = r), P = Object.create(e, {parent: {value: P}})
18255        }
18256
18257        function C(e, r) {
18258            if (A += e, void 0 === r) return x += g(), 0;
18259            var i = o(r, P);
18260            if (i) return x += g(), I(i, r), i.rB ? 0 : r.length;
18261            var a = s(P, r);
18262            if (a) {
18263                var n = P;
18264                n.rE || n.eE || (A += r), x += g();
18265                do P.cN && (x += "</span>"), T += P.r, P = P.parent; while (P != a.parent);
18266                return n.eE && (x += t(r)), A = "", a.starts && I(a.starts, ""), n.rE ? 0 : r.length
18267            }
18268            if (l(r, P)) throw new Error('Illegal lexeme "' + r + '" for mode "' + (P.cN || "<unnamed>") + '"');
18269            return A += r, r.length || 1
18270        }
18271
18272        var f = h(e);
18273        if (!f) throw new Error('Unknown language: "' + e + '"');
18274        c(f);
18275        var G, P = n || f, y = {}, x = "";
18276        for (G = P; G != f; G = G.parent) G.cN && (x = m(G.cN, "", !0) + x);
18277        var A = "", T = 0;
18278        try {
18279            for (var D, w, E = 0; P.t.lastIndex = E, D = P.t.exec(r), D;) w = C(r.substr(E, D.index - E), D[0]), E = D.index + w;
18280            for (C(r.substr(E)), G = P; G.parent; G = G.parent) G.cN && (x += "</span>");
18281            return {r: T, value: x, language: e, top: P}
18282        } catch (M) {
18283            if (-1 != M.message.indexOf("Illegal")) return {r: 0, value: t(r)};
18284            throw M
18285        }
18286    }
18287
18288    function p(e, r) {
18289        r = r || S.languages || Object.keys(v);
18290        var i = {r: 0, value: t(e)}, a = i;
18291        return r.forEach(function (t) {
18292            if (h(t)) {
18293                var r = d(t, e, !1);
18294                r.language = t, r.r > a.r && (a = r), r.r > i.r && (a = i, i = r)
18295            }
18296        }), a.language && (i.second_best = a), i
18297    }
18298
18299    function u(e) {
18300        return S.tabReplace && (e = e.replace(/^((<[^>]+>|\t)+)/gm, function (e, t) {
18301            return t.replace(/\t/g, S.tabReplace)
18302        })), S.useBR && (e = e.replace(/\n/g, "<br>")), e
18303    }
18304
18305    function m(e, t, r) {
18306        var i = t ? G[t] : r, a = [e.trim()];
18307        return e.match(/\bhljs\b/) || a.push("hljs"), -1 === e.indexOf(i) && a.push(i), a.join(" ").trim()
18308    }
18309
18310    function _(e) {
18311        var t = n(e);
18312        if (!a(t)) {
18313            var r;
18314            S.useBR ? (r = document.createElementNS("http://www.w3.org/1999/xhtml", "div"), r.innerHTML = e.innerHTML.replace(/\n/g, "").replace(/<br[ \/]*>/g, "\n")) : r = e;
18315            var i = r.textContent, o = t ? d(t, i, !0) : p(i), c = s(r);
18316            if (c.length) {
18317                var _ = document.createElementNS("http://www.w3.org/1999/xhtml", "div");
18318                _.innerHTML = o.value, o.value = l(c, s(_), i)
18319            }
18320            o.value = u(o.value), e.innerHTML = o.value, e.className = m(e.className, t, o.language), e.result = {
18321                language: o.language,
18322                re: o.r
18323            }, o.second_best && (e.second_best = {language: o.second_best.language, re: o.second_best.r})
18324        }
18325    }
18326
18327    function b(e) {
18328        S = o(S, e)
18329    }
18330
18331    function g() {
18332        if (!g.called) {
18333            g.called = !0;
18334            var e = document.querySelectorAll("pre code");
18335            Array.prototype.forEach.call(e, _)
18336        }
18337    }
18338
18339    function I() {
18340        addEventListener("DOMContentLoaded", g, !1), addEventListener("load", g, !1)
18341    }
18342
18343    function C(t, r) {
18344        var i = v[t] = r(e);
18345        i.aliases && i.aliases.forEach(function (e) {
18346            G[e] = t
18347        })
18348    }
18349
18350    function f() {
18351        return Object.keys(v)
18352    }
18353
18354    function h(e) {
18355        return v[e] || v[G[e]]
18356    }
18357
18358    var S = {classPrefix: "hljs-", tabReplace: null, useBR: !1, languages: void 0}, v = {}, G = {};
18359    return e.highlight = d, e.highlightAuto = p, e.fixMarkup = u, e.highlightBlock = _, e.configure = b, e.initHighlighting = g, e.initHighlightingOnLoad = I, e.registerLanguage = C, e.listLanguages = f, e.getLanguage = h, e.inherit = o, e.IR = "[a-zA-Z]\\w*", e.UIR = "[a-zA-Z_]\\w*", e.NR = "\\b\\d+(\\.\\d+)?", e.CNR = "(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", e.BNR = "\\b(0b[01]+)", e.RSR = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", e.BE = {
18360        b: "\\\\[\\s\\S]",
18361        r: 0
18362    }, e.ASM = {cN: "string", b: "'", e: "'", i: "\\n", c: [e.BE]}, e.QSM = {
18363        cN: "string",
18364        b: '"',
18365        e: '"',
18366        i: "\\n",
18367        c: [e.BE]
18368    }, e.PWM = {b: /\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/}, e.C = function (t, r, i) {
18369        var a = e.inherit({cN: "comment", b: t, e: r, c: []}, i || {});
18370        return a.c.push(e.PWM), a.c.push({cN: "doctag", b: "(?:TODO|FIXME|NOTE|BUG|XXX):", r: 0}), a
18371    }, e.CLCM = e.C("//", "$"), e.CBCM = e.C("/\\*", "\\*/"), e.HCM = e.C("#", "$"), e.NM = {
18372        cN: "number",
18373        b: e.NR,
18374        r: 0
18375    }, e.CNM = {cN: "number", b: e.CNR, r: 0}, e.BNM = {cN: "number", b: e.BNR, r: 0}, e.CSSNM = {
18376        cN: "number",
18377        b: e.NR + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",
18378        r: 0
18379    }, e.RM = {
18380        cN: "regexp",
18381        b: /\//,
18382        e: /\/[gimuy]*/,
18383        i: /\n/,
18384        c: [e.BE, {b: /\[/, e: /\]/, r: 0, c: [e.BE]}]
18385    }, e.TM = {cN: "title", b: e.IR, r: 0}, e.UTM = {
18386        cN: "title",
18387        b: e.UIR,
18388        r: 0
18389    }, e.registerLanguage("1c", function (e) {
18390        var t = "[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*",
18391            r = "возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт",
18392            i = "ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби Ð
vendor: 23,830 bytes, lines 18392-18712
18392ºÐ¾Ð½ÐµÑ†Ñ€Ð°ÑÑÑ‡Ð¸Ñ‚анногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку  стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон",
18393            a = {cN: "dquote", b: '""'}, n = {cN: "string", b: '"', e: '"|$', c: [a]},
18394            o = {cN: "string", b: "\\|", e: '"|$', c: [a]};
18395        return {
18396            cI: !0,
18397            l: t,
18398            k: {keyword: r, built_in: i},
18399            c: [e.CLCM, e.NM, n, o, {
18400                cN: "function",
18401                b: "(процедура|функция)",
18402                e: "$",
18403                l: t,
18404                k: "процедура функция",
18405                c: [e.inherit(e.TM, {b: t}), {
18406                    cN: "tail",
18407                    eW: !0,
18408                    c: [{cN: "params", b: "\\(", e: "\\)", l: t, k: "знач", c: [n, o]}, {
18409                        cN: "export",
18410                        b: "экспорт",
18411                        eW: !0,
18412                        l: t,
18413                        k: "экспорт",
18414                        c: [e.CLCM]
18415                    }]
18416                }, e.CLCM]
18417            }, {cN: "preprocessor", b: "#", e: "$"}, {cN: "date", b: "'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]
18418        }
18419    }), e.registerLanguage("actionscript", function (e) {
18420        var t = "[a-zA-Z_$][a-zA-Z0-9_$]*", r = "([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",
18421            i = {cN: "rest_arg", b: "[.]{3}", e: t, r: 10};
18422        return {
18423            aliases: ["as"],
18424            k: {
18425                keyword: "as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",
18426                literal: "true false null undefined"
18427            },
18428            c: [e.ASM, e.QSM, e.CLCM, e.CBCM, e.CNM, {cN: "package", bK: "package", e: "{", c: [e.TM]}, {
18429                cN: "class",
18430                bK: "class interface",
18431                e: "{",
18432                eE: !0,
18433                c: [{bK: "extends implements"}, e.TM]
18434            }, {cN: "preprocessor", bK: "import include", e: ";"}, {
18435                cN: "function",
18436                bK: "function",
18437                e: "[{;]",
18438                eE: !0,
18439                i: "\\S",
18440                c: [e.TM, {cN: "params", b: "\\(", e: "\\)", c: [e.ASM, e.QSM, e.CLCM, e.CBCM, i]}, {
18441                    cN: "type",
18442                    b: ":",
18443                    e: r,
18444                    r: 10
18445                }]
18446            }],
18447            i: /#/
18448        }
18449    }), e.registerLanguage("apache", function (e) {
18450        var t = {cN: "number", b: "[\\$%]\\d+"};
18451        return {
18452            aliases: ["apacheconf"],
18453            cI: !0,
18454            c: [e.HCM, {cN: "tag", b: "</?", e: ">"}, {
18455                cN: "keyword",
18456                b: /\w+/,
18457                r: 0,
18458                k: {common: "order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},
18459                starts: {
18460                    e: /$/,
18461                    r: 0,
18462                    k: {literal: "on off all"},
18463                    c: [{cN: "sqbracket", b: "\\s\\[", e: "\\]$"}, {
18464                        cN: "cbracket",
18465                        b: "[\\$%]\\{",
18466                        e: "\\}",
18467                        c: ["self", t]
18468                    }, t, e.QSM]
18469                }
18470            }],
18471            i: /\S/
18472        }
18473    }), e.registerLanguage("applescript", function (e) {
18474        var t = e.inherit(e.QSM, {i: ""}), r = {cN: "params", b: "\\(", e: "\\)", c: ["self", e.CNM, t]},
18475            i = e.C("--", "$"), a = e.C("\\(\\*", "\\*\\)", {c: ["self", i]}), n = [i, a, e.HCM];
18476        return {
18477            aliases: ["osascript"],
18478            k: {
18479                keyword: "about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",
18480                constant: "AppleScript false linefeed return pi quote result space tab true",
18481                type: "alias application boolean class constant date file integer list number real record string text",
18482                command: "activate beep count delay launch log offset read round run say summarize write",
18483                property: "character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"
18484            },
18485            c: [t, e.CNM, {cN: "type", b: "\\bPOSIX file\\b"}, {
18486                cN: "command",
18487                b: "\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"
18488            }, {cN: "constant", b: "\\b(text item delimiters|current application|missing value)\\b"}, {
18489                cN: "keyword",
18490                b: "\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"
18491            }, {cN: "property", b: "\\b(POSIX path|(date|time) string|quoted form)\\b"}, {
18492                cN: "function_start",
18493                bK: "on",
18494                i: "[${=;\\n]",
18495                c: [e.UTM, r]
18496            }].concat(n),
18497            i: "//|->|=>|\\[\\["
18498        }
18499    }), e.registerLanguage("armasm", function (e) {
18500        return {
18501            cI: !0, aliases: ["arm"], l: "\\.?" + e.IR, k: {
18502                literal: "r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 ",
18503                preprocessor: ".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",
18504                built_in: "{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @ "
18505            }, c: [{
18506                cN: "keyword",
18507                b: "\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",
18508                e: "\\s"
18509            }, e.C("[;@]", "$", {r: 0}), e.CBCM, e.QSM, {cN: "string", b: "'", e: "[^\\\\]'", r: 0}, {
18510                cN: "title",
18511                b: "\\|",
18512                e: "\\|",
18513                i: "\\n",
18514                r: 0
18515            }, {
18516                cN: "number",
18517                v: [{b: "[#$=]?0x[0-9a-f]+"}, {b: "[#$=]?0b[01]+"}, {b: "[#$=]\\d+"}, {b: "\\b\\d+"}],
18518                r: 0
18519            }, {
18520                cN: "label",
18521                v: [{b: "^[a-z_\\.\\$][a-z0-9_\\.\\$]+"}, {b: "^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"}, {b: "[=#]\\w+"}],
18522                r: 0
18523            }]
18524        }
18525    }), e.registerLanguage("xml", function (e) {
18526        var t = "[A-Za-z0-9\\._:-]+", r = {b: /<\?(php)?(?!\w)/, e: /\?>/, sL: "php"}, i = {
18527            eW: !0,
18528            i: /</,
18529            r: 0,
18530            c: [r, {cN: "attribute", b: t, r: 0}, {
18531                b: "=",
18532                r: 0,
18533                c: [{cN: "value", c: [r], v: [{b: /"/, e: /"/}, {b: /'/, e: /'/}, {b: /[^\s\/>]+/}]}]
18534            }]
18535        };
18536        return {
18537            aliases: ["html", "xhtml", "rss", "atom", "xsl", "plist"],
18538            cI: !0,
18539            c: [{
18540                cN: "doctype",
18541                b: "<!DOCTYPE",
18542                e: ">",
18543                r: 10,
18544                c: [{b: "\\[", e: "\\]"}]
18545            }, e.C("<!--", "-->", {r: 10}), {cN: "cdata", b: "<\\!\\[CDATA\\[", e: "\\]\\]>", r: 10}, {
18546                cN: "tag",
18547                b: "<style(?=\\s|>|$)",
18548                e: ">",
18549                k: {title: "style"},
18550                c: [i],
18551                starts: {e: "</style>", rE: !0, sL: "css"}
18552            }, {
18553                cN: "tag",
18554                b: "<script(?=\\s|>|$)",
18555                e: ">",
18556                k: {title: "script"},
18557                c: [i],
18558                starts: {e: "</script>", rE: !0, sL: ["actionscript", "javascript", "handlebars"]}
18559            }, r, {cN: "pi", b: /<\?\w+/, e: /\?>/, r: 10}, {
18560                cN: "tag",
18561                b: "</?",
18562                e: "/?>",
18563                c: [{cN: "title", b: /[^ \/><\n\t]+/, r: 0}, i]
18564            }]
18565        }
18566    }), e.registerLanguage("asciidoc", function (e) {
18567        return {
18568            aliases: ["adoc"],
18569            c: [e.C("^/{4,}\\n", "\\n/{4,}$", {r: 10}), e.C("^//", "$", {r: 0}), {
18570                cN: "title",
18571                b: "^\\.\\w.*$"
18572            }, {b: "^[=\\*]{4,}\\n", e: "\\n^[=\\*]{4,}$", r: 10}, {
18573                cN: "header",
18574                b: "^(={1,5}) .+?( \\1)?$",
18575                r: 10
18576            }, {cN: "header", b: "^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$", r: 10}, {
18577                cN: "attribute",
18578                b: "^:.+?:",
18579                e: "\\s",
18580                eE: !0,
18581                r: 10
18582            }, {cN: "attribute", b: "^\\[.+?\\]$", r: 0}, {
18583                cN: "blockquote",
18584                b: "^_{4,}\\n",
18585                e: "\\n_{4,}$",
18586                r: 10
18587            }, {cN: "code", b: "^[\\-\\.]{4,}\\n", e: "\\n[\\-\\.]{4,}$", r: 10}, {
18588                b: "^\\+{4,}\\n",
18589                e: "\\n\\+{4,}$",
18590                c: [{b: "<", e: ">", sL: "xml", r: 0}],
18591                r: 10
18592            }, {cN: "bullet", b: "^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"}, {
18593                cN: "label",
18594                b: "^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",
18595                r: 10
18596            }, {cN: "strong", b: "\\B\\*(?![\\*\\s])", e: "(\\n{2}|\\*)", c: [{b: "\\\\*\\w", r: 0}]}, {
18597                cN: "emphasis",
18598                b: "\\B'(?!['\\s])",
18599                e: "(\\n{2}|')",
18600                c: [{b: "\\\\'\\w", r: 0}],
18601                r: 0
18602            }, {cN: "emphasis", b: "_(?![_\\s])", e: "(\\n{2}|_)", r: 0}, {
18603                cN: "smartquote",
18604                v: [{b: "``.+?''"}, {b: "`.+?'"}]
18605            }, {cN: "code", b: "(`.+?`|\\+.+?\\+)", r: 0}, {
18606                cN: "code",
18607                b: "^[ \\t]",
18608                e: "$",
18609                r: 0
18610            }, {
18611                cN: "horizontal_rule",
18612                b: "^'{3,}[ \\t]*$",
18613                r: 10
18614            }, {
18615                b: "(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",
18616                rB: !0,
18617                c: [{b: "(link|image:?):", r: 0}, {cN: "link_url", b: "\\w", e: "[^\\[]+", r: 0}, {
18618                    cN: "link_label",
18619                    b: "\\[",
18620                    e: "\\]",
18621                    eB: !0,
18622                    eE: !0,
18623                    r: 0
18624                }],
18625                r: 10
18626            }]
18627        }
18628    }), e.registerLanguage("aspectj", function (e) {
18629        var t = "false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",
18630            r = "get set args call";
18631        return {
18632            k: t,
18633            i: /<\/|#/,
18634            c: [e.C("/\\*\\*", "\\*/", {
18635                r: 0,
18636                c: [{cN: "doctag", b: "@[A-Za-z]+"}]
18637            }), e.CLCM, e.CBCM, e.ASM, e.QSM, {
18638                cN: "aspect",
18639                bK: "aspect",
18640                e: /[{;=]/,
18641                eE: !0,
18642                i: /[:;"\[\]]/,
18643                c: [{bK: "extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"}, e.UTM, {
18644                    b: /\([^\)]*/,
18645                    e: /[)]+/,
18646                    k: t + " " + r,
18647                    eE: !1
18648                }]
18649            }, {
18650                cN: "class",
18651                bK: "class interface",
18652                e: /[{;=]/,
18653                eE: !0,
18654                r: 0,
18655                k: "class interface",
18656                i: /[:"\[\]]/,
18657                c: [{bK: "extends implements"}, e.UTM]
18658            }, {
18659                bK: "pointcut after before around throwing returning",
18660                e: /[)]/,
18661                eE: !1,
18662                i: /["\[\]]/,
18663                c: [{b: e.UIR + "\\s*\\(", rB: !0, c: [e.UTM]}]
18664            }, {
18665                b: /[:]/,
18666                rB: !0,
18667                e: /[{;]/,
18668                r: 0,
18669                eE: !1,
18670                k: t,
18671                i: /["\[\]]/,
18672                c: [{b: e.UIR + "\\s*\\(", k: t + " " + r}, e.QSM]
18673            }, {bK: "new throw", r: 0}, {
18674                cN: "function",
18675                b: /\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,
18676                rB: !0,
18677                e: /[{;=]/,
18678                k: t,
18679                eE: !0,
18680                c: [{b: e.UIR + "\\s*\\(", rB: !0, r: 0, c: [e.UTM]}, {
18681                    cN: "params",
18682                    b: /\(/,
18683                    e: /\)/,
18684                    r: 0,
18685                    k: t,
18686                    c: [e.ASM, e.QSM, e.CNM, e.CBCM]
18687                }, e.CLCM, e.CBCM]
18688            }, e.CNM, {cN: "annotation", b: "@[A-Za-z]+"}]
18689        }
18690    }), e.registerLanguage("autohotkey", function (e) {
18691        var t = {cN: "escape", b: "`[\\s\\S]"}, r = e.C(";", "$", {r: 0}), i = [{cN: "built_in", b: "A_[a-zA-Z0-9]+"}, {
18692            cN: "built_in",
18693            bK: "ComSpec Clipboard ClipboardAll ErrorLevel"
18694        }];
18695        return {
18696            cI: !0,
18697            k: {keyword: "Break Continue Else Gosub If Loop Return While", literal: "A true false NOT AND OR"},
18698            c: i.concat([t, e.inherit(e.QSM, {c: [t]}), r, {cN: "number", b: e.NR, r: 0}, {
18699                cN: "var_expand",
18700                b: "%",
18701                e: "%",
18702                i: "\\n",
18703                c: [t]
18704            }, {cN: "label", c: [t], v: [{b: '^[^\\n";]+::(?!=)'}, {b: '^[^\\n";]+:(?!=)', r: 0}]}, {
18705                b: ",\\s*,",
18706                r: 10
18707            }])
18708        }
18709    }), e.registerLanguage("autoit", function (e) {
18710        var t = "ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",
18711            r = "True False And Null Not Or",
18712            i = "Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Opt Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper Str
18712ingIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown TCPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend UDPShutdown UDPStartup VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive Array1DToHistogram ArrayAdd ArrayBinarySearch ArrayColDelete ArrayColInsert ArrayCombinations ArrayConcatenate ArrayDelete ArrayDisplay ArrayExtract ArrayFindAll ArrayInsert ArrayMax ArrayMaxIndex ArrayMin ArrayMinIndex ArrayPermute ArrayPop ArrayPush ArrayReverse ArraySearch ArrayShuffle ArraySort ArraySwap ArrayToClip ArrayToString ArrayTranspose ArrayTrim ArrayUnique Assert ChooseColor ChooseFont ClipBoard_ChangeChain ClipBoard_Close ClipBoard_CountFormats ClipBoard_Empty ClipBoard_EnumFormats ClipBoard_FormatStr ClipBoard_GetData ClipBoard_GetDataEx ClipBoard_GetFormatName ClipBoard_GetOpenWindow ClipBoard_GetOwner ClipBoard_GetPriorityFormat ClipBoard_GetSequenceNumber ClipBoard_GetViewer ClipBoard_IsFormatAvailable ClipBoard_Open ClipBoard_RegisterFormat ClipBoard_SetData ClipBoard_SetDataEx ClipBoard_SetViewer ClipPutFile ColorConvertHSLtoRGB ColorConvertRGBtoHSL ColorGetBlue ColorGetCOLORREF ColorGetGreen ColorGetRed ColorGetRGB ColorSetCOLORREF ColorSetRGB Crypt_DecryptData Crypt_DecryptFile Crypt_DeriveKey Crypt_DestroyKey Crypt_EncryptData Crypt_EncryptFile Crypt_GenRandom Crypt_HashData Crypt_HashFile Crypt_Shutdown Crypt_Startup DateAdd DateDayOfWeek DateDaysInMonth DateDiff DateIsLeapYear DateIsValid DateTimeFormat DateTimeSplit DateToDayOfWeek DateToDayOfWeekISO DateToDayValue DateToMonth Date_Time_CompareFileTime Date_Time_DOSDateTimeToArray Date_Time_DOSDateTimeToFileTime Date_Time_DOSDateTimeToStr Date_Time_DOSDateToArray Date_Time_DOSDateToStr Date_Time_DOSTimeToArray Date_Time_DOSTimeToStr Date_Time_EncodeFileTime Date_Time_EncodeSystemTime Date_Time_FileTimeToArray Date_Time_FileTimeToDOSDateTime Date_Time_FileTimeToLocalFileTime Date_Time_FileTimeToStr Date_Time_FileTimeToSystemTime Date_Time_GetFileTime Date_Time_GetLocalTime Date_Time_GetSystemTime Date_Time_GetSystemTimeAdjustment Date_Time_GetSystemTimeAsFileTime Date_Time_GetSystemTimes Date_Time_GetTickCount Date_Time_GetTimeZoneInformation Date_Time_LocalFileTimeToFileTime Date_Time_SetFileTime Date_Time_SetLocalTime Date_Time_SetSystemTime Date_Time_SetSystemTimeAdjustment Date_Time_SetTimeZoneInformation Date_Time_SystemTimeToArray Date_Time_SystemTimeToDateStr Date_Time_SystemTimeToDateTimeStr Date_Time_SystemTimeToFileTime Date_Time_SystemTimeToTimeStr Date_Time_SystemTimeToTzSpecificLocalTime Date_Time_TzSpecificLocalTimeToSystemTime DayValueToDate DebugBugReportEnv DebugCOMError DebugOut DebugReport DebugReportEx DebugReportVar DebugSetup Degree EventLog__Backup EventLog__Clear EventLog__Close EventLog__Count EventLog__DeregisterSource EventLog__Full EventLog__Notify EventLog__Oldest EventLog__Open EventLog__OpenBackup EventLog__Read EventLog__RegisterSource EventLog__Report Excel_BookAttach Excel_BookClose Excel_BookList Excel_BookNew Excel_BookOpen Excel_BookOpenText Excel_BookSave Excel_BookSaveAs Excel_Close Excel_ColumnToLetter Excel_ColumnToNumber Excel_ConvertFormula Excel_Export Excel_FilterGet Excel_FilterSet Excel_Open Excel_PictureAdd Excel_Print Excel_RangeCopyPaste Excel_RangeDelete Excel_RangeFind Excel_RangeInsert Excel_RangeLinkAddRemove Excel_RangeRead Excel_RangeReplace Excel_RangeSort Excel_RangeValidate Excel_RangeWrite Excel_SheetAdd Excel_SheetCopyMove Excel_SheetDelete Excel_SheetList FileCountLines FileCreate FileListToArray FileListToArrayRec FilePrint FileReadToArray FileWriteFromArray FileWriteLog FileWriteToLine FTP_Close FTP_Command FTP_C
18712onnect FTP_DecodeInternetStatus FTP_DirCreate FTP_DirDelete FTP_DirGetCurrent FTP_DirPutContents FTP_DirSetCurrent FTP_FileClose FTP_FileDelete FTP_FileGet FTP_FileGetSize FTP_FileOpen FTP_FilePut FTP_FileRead FTP_FileRename FTP_FileTimeLoHiToStr FTP_FindFileClose FTP_FindFileFirst FTP_FindFileNext FTP_GetLastResponseInfo FTP_ListToArray FTP_ListToArray2D FTP_ListToArrayEx FTP_Open FTP_ProgressDownload FTP_ProgressUpload FTP_SetStatusCallback GDIPlus_ArrowCapCreate GDIPlus_ArrowCapDispose GDIPlus_ArrowCapGetFillState GDIPlus_ArrowCapGetHeight GDIPlus_ArrowCapGetMiddleInset GDIPlus_ArrowCapGetWidth GDIPlus_ArrowCapSetFillState GDIPlus_ArrowCapSetHeight GDIPlus_ArrowCapSetMiddleInset GDIPlus_ArrowCapSetWidth GDIPlus_BitmapApplyEffect GDIPlus_BitmapApplyEffectEx GDIPlus_BitmapCloneArea GDIPlus_BitmapConvertFormat GDIPlus_BitmapCreateApplyEffect GDIPlus_BitmapCreateApplyEffectEx GDIPlus_BitmapCreateDIBFromBitmap GDIPlus_BitmapCreateFromFile GDIPlus_BitmapCreateFromGraphics GDIPlus_BitmapCreateFromHBITMAP GDIPlus_BitmapCreateFromHICON GDIPlus_BitmapCreateFromHICON32 GDIPlus_BitmapCreateFromMemory GDIPlus_BitmapCreateFromResource GDIPlus_BitmapCreateFromScan0 GDIPlus_BitmapCreateFromStream GDIPlus_BitmapCreateHBITMAPFromBitmap GDIPlus_BitmapDispose GDIPlus_BitmapGetHistogram GDIPlus_BitmapGetHistogramEx GDIPlus_BitmapGetHistogramSize GDIPlus_BitmapGetPixel GDIPlus_BitmapLockBits GDIPlus_BitmapSetPixel GDIPlus_BitmapUnlockBits GDIPlus_BrushClone GDIPlus_BrushCreateSolid GDIPlus_BrushDispose GDIPlus_BrushGetSolidColor GDIPlus_BrushGetType GDIPlus_BrushSetSolidColor GDIPlus_ColorMatrixCreate GDIPlus_ColorMatrixCreateGrayScale GDIPlus_ColorMatrixCreateNegative GDIPlus_ColorMatrixCreateSaturation GDIPlus_ColorMatrixCreateScale GDIPlus_ColorMatrixCreateTranslate GDIPlus_CustomLineCapClone GDIPlus_CustomLineCapCreate GDIPlus_CustomLineCapDispose GDIPlus_CustomLineCapGetStrokeCaps GDIPlus_CustomLineCapSetStrokeCaps GDIPlus_Decoders GDIPlus_DecodersGetCount GDIPlus_DecodersGetSize GDIPlus_DrawImageFX GDIPlus_DrawImageFXEx GDIPlus_DrawImagePoints GDIPlus_EffectCreate GDIPlus_EffectCreateBlur GDIPlus_EffectCreateBrightnessContrast GDIPlus_EffectCreateColorBalance GDIPlus_EffectCreateColorCurve GDIPlus_EffectCreateColorLUT GDIPlus_EffectCreateColorMatrix GDIPlus_EffectCreateHueSaturationLightness GDIPlus_EffectCreateLevels GDIPlus_EffectCreateRedEyeCorrection GDIPlus_EffectCreateSharpen GDIPlus_EffectCreateTint GDIPlus_EffectDispose GDIPlus_EffectGetParameters GDIPlus_EffectSetParameters GDIPlus_Encoders GDIPlus_EncodersGetCLSID GDIPlus_EncodersGetCount GDIPlus_EncodersGetParamList GDIPlus_EncodersGetParamListSize GDIPlus_EncodersGetSize GDIPlus_FontCreate GDIPlus_FontDispose GDIPlus_FontFamilyCreate GDIPlus_FontFamilyCreateFromCollection GDIPlus_FontFamilyDispose GDIPlus_FontFamilyGetCellAscent GDIPlus_FontFamilyGetCellDescent GDIPlus_FontFamilyGetEmHeight GDIPlus_FontFamilyGetLineSpacing GDIPlus_FontGetHeight GDIPlus_FontPrivateAddFont GDIPlus_FontPrivateAddMemoryFont GDIPlus_FontPrivateCollectionDispose GDIPlus_FontPrivateCreateCollection GDIPlus_GraphicsClear GDIPlus_GraphicsCreateFromHDC GDIPlus_GraphicsCreateFromHWND GDIPlus_GraphicsDispose GDIPlus_GraphicsDrawArc GDIPlus_GraphicsDrawBez
18712ier GDIPlus_GraphicsDrawClosedCurve GDIPlus_GraphicsDrawClosedCurve2 GDIPlus_GraphicsDrawCurve GDIPlus_GraphicsDrawCurve2 GDIPlus_GraphicsDrawEllipse GDIPlus_GraphicsDrawImage GDIPlus_GraphicsDrawImagePointsRect GDIPlus_GraphicsDrawImageRect GDIPlus_GraphicsDrawImageRectRect GDIPlus_GraphicsDrawLine GDIPlus_GraphicsDrawPath GDIPlus_GraphicsDrawPie GDIPlus_GraphicsDrawPolygon GDIPlus_GraphicsDrawRect GDIPlus_GraphicsDrawString GDIPlus_GraphicsDrawStringEx GDIPlus_GraphicsFillClosedCurve GDIPlus_GraphicsFillClosedCurve2 GDIPlus_GraphicsFillEllipse GDIPlus_GraphicsFillPath GDIPlus_GraphicsFillPie GDIPlus_GraphicsFillPolygon GDIPlus_GraphicsFillRect GDIPlus_GraphicsFillRegion GDIPlus_GraphicsGetCompositingMode GDIPlus_GraphicsGetCompositingQuality GDIPlus_GraphicsGetDC GDIPlus_GraphicsGetInterpolationMode GDIPlus_GraphicsGetSmoothingMode GDIPlus_GraphicsGetTransform GDIPlus_GraphicsMeasureCharacterRanges GDIPlus_GraphicsMeasureString GDIPlus_GraphicsReleaseDC GDIPlus_GraphicsResetClip GDIPlus_GraphicsResetTransform GDIPlus_GraphicsRestore GDIPlus_GraphicsRotateTransform GDIPlus_GraphicsSave GDIPlus_GraphicsScaleTransform GDIPlus_GraphicsSetClipPath GDIPlus_GraphicsSetClipRect GDIPlus_GraphicsSetClipRegion GDIPlus_GraphicsSetCompositingMode GDIPlus_GraphicsSetCompositingQuality GDIPlus_GraphicsSetInterpolationMode GDIPlus_GraphicsSetPixelOffsetMode GDIPlus_GraphicsSetSmoothingMode GDIPlus_GraphicsSetTextRenderingHint GDIPlus_GraphicsSetTransform GDIPlus_GraphicsTransformPoints GDIPlus_GraphicsTranslateTransform GDIPlus_HatchBrushCreate GDIPlus_HICONCreateFromBitmap GDIPlus_ImageAttributesCreate GDIPlus_ImageAttributesDispose GDIPlus_ImageAttributesSetColorKeys GDIPlus_ImageAttributesSetColorMatrix GDIPlus_ImageDispose GDIPlus_ImageGetDimension GDIPlus_ImageGetFlags GDIPlus_ImageGetGraphicsContext GDIPlus_ImageGetHeight GDIPlus_ImageGetHorizontalResolution GDIPlus_ImageGetPixelFormat GDIPlus_ImageGetRawFormat GDIPlus_ImageGetThumbnail GDIPlus_ImageGetType GDIPlus_ImageGetVerticalResolution GDIPlus_ImageGetWidth GDIPlus_ImageLoadFromFile GDIPlus_ImageLoadFromStream GDIPlus_ImageResize GDIPlus_ImageRotateFlip GDIPlus_ImageSaveToFile GDIPlus_ImageSaveToFileEx GDIPlus_ImageSaveToStream GDIPlus_ImageScale GDIPlus_LineBrushCreate GDIPlus_LineBrushCreateFromRect GDIPlus_LineBrushCreateFromRectWithAngle GDIPlus_LineBrushGetColors GDIPlus_LineBrushGetRect GDIPlus_LineBrushMultiplyTransform GDIPlus_LineBrushResetTransform GDIPlus_LineBrushSetBlend GDIPlus_LineBrushSetColors GDIPlus_LineBrushSetGammaCorrection GDIPlus_LineBrushSetLinearBlend GDIPlus_LineBrushSetPresetBlend GDIPlus_LineBrushSetSigmaBlend GDIPlus_LineBrushSetTransform GDIPlus_MatrixClone GDIPlus_MatrixCreate GDIPlus_MatrixDispose GDIPlus_MatrixGetElements GDIPlus_MatrixInvert GDIPlus_MatrixMultiply GDIPlus_MatrixRotate GDIPlus_MatrixScale GDIPlus_MatrixSetElements GDIPlus_MatrixShear GDIPlus_MatrixTransformPoints GDIPlus_MatrixTranslate GDIPlus_PaletteInitialize GDIPlus_ParamAdd GDIPlus_ParamInit GDIPlus_ParamSize GDIPlus_PathAddArc GDIPlus_PathAddBezier GDIPlus_PathAddClosedCurve GDIPlus_PathAddClosedCurve2 GDIPlus_PathAddCurve GDIPlus_PathAddCurve2 GDIPlus_PathAddCurve3 GDIPlus_PathAddEllipse GDIPlus_PathAddLine GDIPlus_PathAddLine2 GDIPlus_PathAddPath GDIPlus_PathAddPie GDIPlus_PathAddPolygon GDIPlus_PathAddRectangle GDIPlus_PathAddString GDIPlus_PathBrushCreate GDIPlus_PathBrushCreateFromPath GDIPlus_PathBrushGetCenterPoint GDIPlus_PathBrushGetFocusScales GDIPlus_PathBrushGetPointCount GDIPlus_PathBrushGetRect GDIPlus_PathBrushGetWrapMode GDIPlus_PathBrushMultiplyTransform GDIPlus_PathBrushResetTransform GDIPlus_PathBrushSetBlend GDIPlus_PathBrushSetCenterColor GDIPlus_PathBrushSetCenterPoint GDIPlus_PathBrushSetFocusScales GDIPlus_PathBrushSetGammaCorrection GDIPlus_PathBrushSetLinearBlend GDIPlus_PathBrushSetPresetBlend GDIPlus_PathBrushSetSigmaBlend GDIPlus_PathBrushSetSurroundColor GDIPlus_PathBrushSetSurroundColorsWithCount GDIPlus_PathBrushSetTransform GDIPlus_PathBrushSetWrapMode GDIPlus_PathClone GDIPlus_PathCloseFigure GDIPlus_PathCreate GDIPlus_PathCreate2 GDIPlus_PathDispose GDIPlus_PathFlatten GDIPlus_PathGetData GDIPlus_PathGetFillMode GDIPlus_PathGetLastPoint GDIPlus_PathGetPointCount GDIPlus_PathGetPoints GDIPlus_PathGetWorldBounds GDIPlus_PathIsOutlineVisiblePoint GDIPlus_PathIsVisiblePoint GDIPlus_PathIterCreate GDIPlus_PathIterDispose GDIPlus_PathIterGetSubpathCount GDIPlus_PathIterNextMarkerPath GDIPlus_PathIterNextSubpathPath GDIPlus_PathIterRewind GDIPlus_PathReset GDIPlus_PathReverse GDIPlus_PathSetFillMode GDIPlus_PathSetMarker GDIPlus_PathStartFigure GDIPlus_PathTransform GDIPlus_PathWarp GDIPlus_PathWiden GDIPlus_PathWindingModeOutline GDIPlus_PenCreate GDIPlus_PenCreate2 GDIPlus_PenDispose GDIPlus_PenGetAlignment GDIPlus_PenGetColor GDIPlus_PenGetCustomEndCap GDIPlus_PenGetDashCap GDIPlus_PenGetDashStyle GDIPlus_PenGetEndCap GDIPlus_PenGetMiterLimit GDIPlus_PenGetWidth GDIPlus_PenSetAlignment GDIPlus_PenSetColor GDIPlus_PenSetCustomEndCap GDIPlus_PenSetDashCap GDIPlus_PenSetDashStyle GDIPlus_PenSetEndCap GDIPlus_PenSetLineCap GDIPlus_PenSetLineJoin GDIPlus_PenSetMiterLimit GDIPlus_PenSetStartCap GDIPlus_PenSetWidth GDIPlus_RectFCreate GDIPlus_RegionClone GDIPlus_RegionCombinePath GDIPlus_RegionCombineRect GDIPlus_RegionCombineRegion GDIPlus_RegionCreate GDIPlus_RegionCreateFromPath GDIPlus_RegionCreateFromRect GDIPlus_RegionDispose GDIPlus_RegionGetBounds GDIPlus_RegionGetHRgn GDIPlus_RegionTransform GDIPlus_RegionTranslate GDIPlus_Shutdown GDIPlus_Startup GDIPlus_StringFormatCreate GDIPlus_StringFormatDispose GDIPlus_StringFormatGetMeasurableCharacterRangeCount GDIPlus_StringFormatSetAlign GDIPlus_StringFormatSetLineAlign GDIPlus_StringFormatSetMeasurableCharacterRanges GDIPlus_TextureCreate GDIPlus_TextureCreate2 GDIPlus_TextureCreateIA GetIP GUICtrlAVI_Close GUICtrlAVI_Create GUICtrlAVI_Destroy GUICtrlAVI_IsPlaying GUICtrlAVI_Open GUICtrlAVI_OpenEx GUICtrlAVI_Play GUICtrlAVI_Seek GUICtrlAVI_Show GUICtrlAVI_Stop GUICtrlButton_Click GUICtrlButton_Create GUICtrlButton_Destroy GUICtrlButton_Enable GUICtrlButton_GetCheck GUICtrlButton_GetFocus GUICtrlButton_GetIdealSize GUICtrlButton_GetImage GUICtrlButton_GetImageList GUICtrlButton_GetNote GUICtrlButton_GetNoteLength GUICtrlButton_GetSplitInfo GUICtrlButton_GetState GUICtrlButton_GetText GUICtrlButton_GetTextMargin GUICtrlButton_SetCheck GUICtrlButton_SetDontClick GUICtrlButton_SetFocus GUICtrlButton_SetImage GUICtrlButton_SetImageList GUICtrlButton_SetNote GUICtrlButton_SetShield GUICtrlButton_SetSize GUICtrlButton_SetSplitInfo GUICtrlButton_SetState GUICtrlButton_SetStyle GUICtrlButton_SetText GUICtrlButton_SetTextMargin GUICtrlButton_Show GUICtrlComboBoxEx_AddDir GUICtrlComboBoxEx_AddString GUICtrlComboBoxEx_BeginUpdate GUICtrlComboBoxEx_Create GUICtrlComboBoxEx_CreateSolidBitMap GUICtrlComboBoxEx_DeleteString GUICtrlComboBoxEx_Destroy GUICtrlComboBoxEx_EndUpdate GUICtrlComboBoxEx_FindStringExact G
18712UICtrlComboBoxEx_GetComboBoxInfo GUICtrlComboBoxEx_GetComboControl GUICtrlComboBoxEx_GetCount GUICtrlComboBoxEx_GetCurSel GUICtrlComboBoxEx_GetDroppedControlRect GUICtrlComboBoxEx_GetDroppedControlRectEx GUICtrlComboBoxEx_GetDroppedState GUICtrlComboBoxEx_GetDroppedWidth GUICtrlComboBoxEx_GetEditControl GUICtrlComboBoxEx_GetEditSel GUICtrlComboBoxEx_GetEditText GUICtrlComboBoxEx_GetExtendedStyle GUICtrlComboBoxEx_GetExtendedUI GUICtrlComboBoxEx_GetImageList GUICtrlComboBoxEx_GetItem GUICtrlComboBoxEx_GetItemEx GUICtrlComboBoxEx_GetItemHeight GUICtrlComboBoxEx_GetItemImage GUICtrlComboBoxEx_GetItemIndent GUICtrlComboBoxEx_GetItemOverlayImage GUICtrlComboBoxEx_GetItemParam GUICtrlComboBoxEx_GetItemSelectedImage GUICtrlComboBoxEx_GetItemText GUICtrlComboBoxEx_GetItemTextLen GUICtrlComboBoxEx_GetList GUICtrlComboBoxEx_GetListArray GUICtrlComboBoxEx_GetLocale GUICtrlComboBoxEx_GetLocaleCountry GUICtrlComboBoxEx_GetLocaleLang GUICtrlComboBoxEx_GetLocalePrimLang GUICtrlComboBoxEx_GetLocaleSubLang GUICtrlComboBoxEx_GetMinVisible GUICtrlComboBoxEx_GetTopIndex GUICtrlComboBoxEx_GetUnicode GUICtrlComboBoxEx_InitStorage GUICtrlComboBoxEx_InsertString GUICtrlComboBoxEx_LimitText GUICtrlComboBoxEx_ReplaceEditSel GUICtrlComboBoxEx_ResetContent GUICtrlComboBoxEx_SetCurSel GUICtrlComboBoxEx_SetDroppedWidth GUICtrlComboBoxEx_SetEditSel GUICtrlComboBoxEx_SetEditText GUICtrlComboBoxEx_SetExtendedStyle GUICtrlComboBoxEx_SetExtendedUI GUICtrlComboBoxEx_SetImageList GUICtrlComboBoxEx_SetItem GUICtrlComboBoxEx_SetItemEx GUICtrlComboBoxEx_SetItemHeight GUICtrlComboBoxEx_SetItemImage GUICtrlComboBoxEx_SetItemIndent GUICtrlComboBoxEx_SetItemOverlayImage GUICtrlComboBoxEx_SetItemParam GUICtrlComboBoxEx_SetItemSelectedImage GUICtrlComboBoxEx_SetMinVisible GUICtrlComboBoxEx_SetTopIndex GUICtrlComboBoxEx_SetUnicode GUICtrlComboBoxEx_ShowDropDown GUICtrlComboBox_AddDir GUICtrlComboBox_AddString GUICtrlComboBox_AutoComplete GUICtrlComboBox_BeginUpdate GUICtrlComboBox_Create GUICtrlComboBox_DeleteString GUICtrlComboBox_Destroy GUICtrlComboBox_EndUpdate GUICtrlComboBox_FindString GUICtrlComboBox_FindStringExact GUICtrlComboBox_GetComboBoxInfo GUICtrlComboBox_GetCount GUICtrlComboBox_GetCueBanner GUICtrlComboBox_GetCurSel GUICtrlComboBox_GetDroppedControlRect GUICtrlComboBox_GetDroppedControlRectEx GUICtrlComboBox_GetDroppedState GUICtrlComboBox_GetDroppedWidth GUICtrlComboBox_GetEditSel GUICtrlComboBox_GetEditText GUICtrlComboBox_GetExtendedUI GUICtrlComboBox_GetHorizontalExtent GUICtrlComboBox_GetItemHeight GUICtrlComboBox_GetLBText GUICtrlComboBox_GetLBTextLen GUICtrlComboBox_GetList GUICtrlComboBox_GetListArray GUICtrlComboBox_GetLocale GUICtrlComboBox_GetLocaleCountry GUICtrlComboBox_GetLocaleLang G
18712UICtrlComboBox_GetLocalePrimLang GUICtrlComboBox_GetLocaleSubLang GUICtrlComboBox_GetMinVisible GUICtrlComboBox_GetTopIndex GUICtrlComboBox_InitStorage GUICtrlComboBox_InsertString GUICtrlComboBox_LimitText GUICtrlComboBox_ReplaceEditSel GUICtrlComboBox_ResetContent GUICtrlComboBox_SelectString GUICtrlComboBox_SetCueBanner GUICtrlComboBox_SetCurSel GUICtrlComboBox_SetDroppedWidth GUICtrlComboBox_SetEditSel GUICtrlComboBox_SetEditText GUICtrlComboBox_SetExtendedUI GUICtrlComboBox_SetHorizontalExtent GUICtrlComboBox_SetItemHeight GUICtrlComboBox_SetMinVisible GUICtrlComboBox_SetTopIndex GUICtrlComboBox_ShowDropDown GUICtrlDTP_Create GUICtrlDTP_Destroy GUICtrlDTP_GetMCColor GUICtrlDTP_GetMCFont GUICtrlDTP_GetMonthCal GUICtrlDTP_GetRange GUICtrlDTP_GetRangeEx GUICtrlDTP_GetSystemTime GUICtrlDTP_GetSystemTimeEx GUICtrlDTP_SetFormat GUICtrlDTP_SetMCColor GUICtrlDTP_SetMCFont GUICtrlDTP_SetRange GUICtrlDTP_SetRangeEx GUICtrlDTP_SetSystemTime GUICtrlDTP_SetSystemTimeEx GUICtrlEdit_AppendText GUICtrlEdit_BeginUpdate GUICtrlEdit_CanUndo GUICtrlEdit_CharFromPos GUICtrlEdit_Create GUICtrlEdit_Destroy GUICtrlEdit_EmptyUndoBuffer GUICtrlEdit_EndUpdate GUICtrlEdit_Find GUICtrlEdit_FmtLines GUICtrlEdit_GetCueBanner GUICtrlEdit_GetFirstVisibleLine GUICtrlEdit_GetLimitText GUICtrlEdit_GetLine GUICtrlEdit_GetLineCount GUICtrlEdit_GetMargins GUICtrlEdit_GetModify GUICtrlEdit_GetPasswordChar GUICtrlEdit_GetRECT GUICtrlEdit_GetRECTEx GUICtrlEdit_GetSel GUICtrlEdit_GetText GUICtrlEdit_GetTextLen GUICtrlEdit_HideBalloonTip GUICtrlEdit_InsertText GUICtrlEdit_LineFromChar GUICtrlEdit_LineIndex GUICtrlEdit_LineLength GUICtrlEdit_LineScroll GUICtrlEdit_PosFromChar GUICtrlEdit_ReplaceSel GUICtrlEdit_Scroll GUICtrlEdit_SetCueBanner GUICtrlEdit_SetLimitText GUICtrlEdit_SetMargins GUICtrlEdit_SetModify GUICtrlEdit_SetPasswordChar GUICtrlEdit_SetReadOnly GUICtrlEdit_SetRECT GUICtrlEdit_SetRECTEx GUICtrlEdit_SetRECTNP GUICtrlEdit_SetRectNPEx GUICtrlEdit_SetSel GUICtrlEdit_SetTabStops GUICtrlEdit_SetText GUICtrlEdit_ShowBalloonTip GUICtrlEdit_Undo GUICtrlHeader_AddItem GUICtrlHeader_ClearFilter GUICtrlHeader_ClearFilterAll GUICtrlHeader_Create GUICtrlHeader_CreateDragImage GUICtrlHeader_DeleteItem GUICtrlHeader_Destroy GUICtrlHeader_EditFilter GUICtrlHeader_GetBitmapMargin GUICtrlHeader_GetImageList GUICtrlHeader_GetItem GUICtrlHeader_GetItemAlign GUICtrlHeader_GetItemBitmap GUICtrlHeader_GetItemCount GUICtrlHeader_GetItemDisplay GUICtrlHeader_GetItemFlags GUICtrlHeader_GetItemFormat GUICtrlHeader_GetItemImage GUICtrlHeader_GetItemOrder GUICtrlHeader_GetItemParam GUICtrlHeader_GetItemRect GUICtrlHeader_GetItemRectEx GUICtrlHeader_GetItemText GUICtrlHeader_GetItemWidth GUICtrlHeader_GetOrderArray GUICtrlHeader_GetUnicodeFormat GUICtrlHeader_HitTest GUICtrlHeader_InsertItem GUICtrlHeader_Layout GUICtrlHeader_OrderToIndex GUICtrlHeader_SetBitmapMargin GUICtrlHeader_SetFilterChangeTimeout GUICtrlHeader_SetHotDivider GUICtrlHeader_SetImageList GUICtrlHeader_SetItem GUICtrlHeader_SetItemAlign GUICtrlHeader_SetItemBitmap GUICtrlHeader_SetItemDisplay GUICtrlHeader_SetItemFlags GUICtrlHeader_SetItemFormat GUICtrlHeader_SetItemImage GUICtrlHeader_SetItemOrder GUICtrlHeader_SetItemParam GUICtrlHeader_SetItemText GUICtrlHeader_SetItemWidth GUICtrlHeader_SetOrderArray GUICtrlHeader_SetUnicodeFormat GUICtrlIpAddress_ClearAddress GUICtrlIpAddress_Create GUICtrlIpAddress_Destroy GUICtrlIpAddress_Get GUICtrlIpAddress_GetArray GUICtrlIpAddress_GetEx GUICtrlIpAddress_IsBlank GUICtrlIpAddress_Set GUICtrlIpAddress_SetArray GUICtrlIpAddress_SetEx GUICtrlIpAddress_SetFocus GUICtrlIpAddress_SetFont GUICtrlIpAddress_SetRange GUICtrlIpAddress_ShowHide GUICtrlListBox_AddFile GUICtrlListBox_AddString GUICtrlListBox_BeginUpdate GUICtrlListBox_ClickItem GUICtrlListBox_Create GUICtrlListBox_DeleteString GUICtrlListBox_Destroy GUICtrlListBox_Dir GUICtrlListBox_EndUpdate GUICtrlListBox_FindInText GUICtrlListBox_FindString GUICtrlListBox_GetAnchorIndex GUICtrlListBox_GetCaretIndex GUICtrlListBox_GetCount GUICtrlListBox_GetCurSel GUICtrlListBox_GetHorizontalExtent GUICtrlListBox_GetItemData GUICtrlListBox_GetItemHeight GUICtrlListBox_GetItemRect GUICtrlListBox_GetItemRectEx GUICtrlListBox_GetListBoxInfo GUICtrlListBox_GetLocale GUICtrlListBox_GetLocaleCountry GUICtrlListBox_GetLocaleLang G
18712UICtrlListBox_GetLocalePrimLang GUICtrlListBox_GetLocaleSubLang GUICtrlListBox_GetSel GUICtrlListBox_GetSelCount GUICtrlListBox_GetSelItems GUICtrlListBox_GetSelItemsText GUICtrlListBox_GetText GUICtrlListBox_GetTextLen GUICtrlListBox_GetTopIndex GUICtrlListBox_InitStorage GUICtrlListBox_InsertString GUICtrlListBox_ItemFromPoint GUICtrlListBox_ReplaceString GUICtrlListBox_ResetContent GUICtrlListBox_SelectString GUICtrlListBox_SelItemRange GUICtrlListBox_SelItemRangeEx GUICtrlListBox_SetAnchorIndex GUICtrlListBox_SetCaretIndex GUICtrlListBox_SetColumnWidth GUICtrlListBox_SetCurSel GUICtrlListBox_SetHorizontalExtent GUICtrlListBox_SetItemData GUICtrlListBox_SetItemHeight GUICtrlListBox_SetLocale GUICtrlListBox_SetSel GUICtrlListBox_SetTabStops GUICtrlListBox_SetTopIndex GUICtrlListBox_Sort GUICtrlListBox_SwapString GUICtrlListBox_UpdateHScroll GUICtrlListView_AddArray GUICtrlListView_AddColumn GUICtrlListView_AddItem GUICtrlListView_AddSubItem GUICtrlListView_ApproximateViewHeight GUICtrlListView_ApproximateViewRect GUICtrlListView_ApproximateViewWidth GUICtrlListView_Arrange GUICtrlListView_BeginUpdate GUICtrlListView_CancelEditLabel GUICtrlListView_ClickItem GUICtrlListView_CopyItems GUICtrlListView_Create GUICtrlListView_CreateDragImage GUICtrlListView_CreateSolidBitMap GUICtrlListView_DeleteAllItems GUICtrlListView_DeleteColumn GUICtrlListView_DeleteItem GUICtrlListView_DeleteItemsSelected GUICtrlListView_Destroy GUICtrlListView_DrawDragImage GUICtrlListView_EditLabel GUICtrlListView_EnableGroupView GUICtrlListView_EndUpdate GUICtrlListView_EnsureVisible GUICtrlListView_FindInText GUICtrlListView_FindItem GUICtrlListView_FindNearest GUICtrlListView_FindParam GUICtrlListView_FindText GUICtrlListView_GetBkColor GUICtrlListView_GetBkImage GUICtrlListView_GetCallbackMask GUICtrlListView_GetColumn GUICtrlListView_GetColumnCount GUICtrlListView_GetColumnOrder GUICtrlListView_GetColumnOrderArray GUICtrlListView_GetColumnWidth GUICtrlListView_GetCounterPage GUICtrlListView_GetEditControl GUICtrlListView_GetExtendedListViewStyle GUICtrlListView_GetFocusedGroup GUICtrlListView_GetGroupCount GUICtrlListView_GetGroupInfo GUICtrlListView_GetGroupInfoByIndex GUICtrlListView_GetGroupRect GUICtrlListView_GetGroupViewEnabled GUICtrlListView_GetHeader GUICtrlListView_GetHotCursor GUICtrlListView_GetHotItem GUICtrlListView_GetHoverTime GUICtrlListView_GetImageList GUICtrlListView_GetISearchString GUICtrlListView_GetItem GUICtrlListView_GetItemChecked GUICtrlListView_GetItemCount GUICtrlListView_GetItemCut GUICtrlListView_GetItemDropHilited GUICtrlListView_GetItemEx GUICtrlListView_GetItemFocused GUICtrlListView_GetItemGroupID GUICtrlListView_GetItemImage GUICtrlListView_GetItemIndent GUICtrlListView_GetItemParam GUICtrlListView_GetItemPosition GUICtrlListView_GetItemPositionX GUICtrlListView_GetItemPositionY GUICtrlListView_GetItemRect GUICtrlListView_GetItemRectEx GUICtrlListView_GetItemSelected GUICtrlListView_GetItemSpacing GUICtrlListView_GetItemSpacingX GUICtrlListView_GetItemSpacingY GUICtrlListView_GetItemState GUICtrlListView_GetItemStateImage GUICtrlListView_GetItemText GUICtrlListView_GetItemTextArray GUICtrlListView_GetItemTextString GUICtrlListView_GetNextItem GUICtrlListView_GetNumberOfWorkAreas GUICtrlListView_GetOrigin GUICtrlListView_GetOriginX GUICtrlListView_GetOriginY GUICtrlListView_GetOutlineColor GUICtrlListView_GetSelectedColumn GUICtrlListView_GetSelectedCount GUICtrlListView_GetSelectedIndices GUICtrlListView_GetSelectionMark GUICtrlListView_GetStringWidth GUICtrlListView_GetSubItemRect GUICtrlListView_GetTextBkColor GUICtrlListView_GetTextColor GUICtrlListView_GetToolTips GUICtrlListView_GetTopIndex GUICtrlListView_GetUnicodeFormat GUICtrlListView_GetView GUICtrlListView_GetViewDetails GUICtrlListView_GetViewLarge GUICtrlListView_GetViewList GUICtrlListView_GetViewRect GUICtrlListView_GetViewSmall GUICtrlListView_GetViewTile GUICtrlListView_HideColumn GUICtrlListView_HitTest GUICtrlListView_InsertColumn GUICtrlListView_InsertGroup GUICtrlListView_InsertItem GUICtrlListView_JustifyColumn GUICtrlListView_MapIDToIndex GUICtrlListView_MapIndexToID GUICtrlListView_RedrawItems GUICtrlListView_RegisterSortCallBack GUICtrlListView_RemoveAllGroups GUICtrlListView_RemoveGroup GUICtrlListView_Scroll GUICtrlListView_SetBkColor GUICtrlListView_SetBkImage GUICtrlListView_SetCallBackMask GUICtrlListView_SetColumn GUICtrlListView_SetColumnOrder GUICtrlListView_SetColumnOrderArray GUICtrlListView_SetColumnWidth GUICtrlListView_SetExtendedListViewStyle GUICtrlListView_SetGroupInfo GUICtrlListView_SetHotItem GUICtrlListView_SetHoverTime GUICtrlListView_SetIconSpacing GUICtrlListView_SetImageList GUICtrlListView_SetItem GUICtrlListView_SetItemChecked GUICtrlListView_SetItemCount GUICtrlListView_SetItemCut GUICtrlListView_SetItemDropHilited GUICtrlListView_SetItemEx GUICtrlListView_SetItemFocused GUICtrlListView_SetItemGroupID GUICtrlListView_SetItemImage GUICtrlListView_SetItemIndent GUICtrlListView_SetItemParam GUICtrlListView_SetItemPosition GUICtrlListView_SetItemPosition32 GUICtrlListView_SetItemSelected GUICtrlListView_SetItemState GUICtrlListView_SetItemStateImage GUICtrlListView_SetItemText GUICtrlListView_SetOutlineColor GUICtrlListView_SetSelectedColumn GUICtrlListView_SetSelectionMark GUICtrlListView_SetTextBkColor GUICtrlListView_SetTextColor GUICtrlListView_SetToolTips GUICtrlListView_SetUnicodeFormat GUICtrlListView_SetView GUICtrlListView_SetWorkAreas GUICtrlListView_SimpleSort GUICtrlListView_SortItems GUICtrlListView_SubItemHitTest GUICtrlListView_UnRegisterSortCallBack GUICtrlMenu_AddMenuItem GUICtrlMenu_AppendMenu GUICtrlMenu_CalculatePopupWindowPosition GUICtrlMenu_CheckMenuItem GUICtrlMenu_CheckRadioItem GUICtrlMenu_CreateMenu GUICtrlMenu_CreatePopup GUICtrlMenu_DeleteMenu GUICtrlMenu_DestroyMenu GUICtrlMenu_DrawMenuBar GUICtrlMenu_EnableMenuItem GUICtrlMenu_FindItem GUICtrlMenu_FindParent GUICtrlMenu_GetItemBmp GUICtrlMenu_GetItemBmpChecked GUICtrlMenu_GetItemBmpUnchecked GUICtrlMenu_GetItemChecked GUICtrlMenu_GetItemCount GUICtrlMenu_GetItemData GUICtrlMenu_GetItemDefault GUICtrlMenu_GetItemDisabled GUICtrlMenu_GetItemEnabled GUICtrlMenu_GetItemGrayed GUICtrlMenu_GetItemHighlighted GUICtrlMenu_GetItemID GUICtrlMenu_GetItemInfo GUICtrlMenu_GetItemRect GUICtrlMenu_GetItemRectEx GUICtrlMenu_GetItemState GUICtrlMenu_GetItemStateEx GUICtrlMenu_GetItemSubMenu GUICtrlMenu_GetItemText GUICtrlMenu_GetItemType GUICtrlMenu_GetMenu GUICtrlMenu_GetMenuBackgroun
18712d GUICtrlMenu_GetMenuBarInfo GUICtrlMenu_GetMenuContextHelpID GUICtrlMenu_GetMenuData GUICtrlMenu_GetMenuDefaultItem GUICtrlMenu_GetMenuHeight GUICtrlMenu_GetMenuInfo GUICtrlMenu_GetMenuStyle GUICtrlMenu_GetSystemMenu GUICtrlMenu_InsertMenuItem GUICtrlMenu_InsertMenuItemEx GUICtrlMenu_IsMenu GUICtrlMenu_LoadMenu GUICtrlMenu_MapAccelerator GUICtrlMenu_MenuItemFromPoint GUICtrlMenu_RemoveMenu GUICtrlMenu_SetItemBitmaps GUICtrlMenu_SetItemBmp GUICtrlMenu_SetItemBmpChecked GUICtrlMenu_SetItemBmpUnchecked GUICtrlMenu_SetItemChecked GUICtrlMenu_SetItemData GUICtrlMenu_SetItemDefault GUICtrlMenu_SetItemDisabled GUICtrlMenu_SetItemEnabled GUICtrlMenu_SetItemGrayed GUICtrlMenu_SetItemHighlighted GUICtrlMenu_SetItemID GUICtrlMenu_SetItemInfo GUICtrlMenu_SetItemState GUICtrlMenu_SetItemSubMenu GUICtrlMenu_SetItemText GUICtrlMenu_SetItemType GUICtrlMenu_SetMenu GUICtrlMenu_SetMenuBackground GUICtrlMenu_SetMenuContextHelpID GUICtrlMenu_SetMenuData GUICtrlMenu_SetMenuDefaultItem GUICtrlMenu_SetMenuHeight GUICtrlMenu_SetMenuInfo GUICtrlMenu_SetMenuStyle GUICtrlMenu_TrackPopupMenu GUICtrlMonthCal_Create GUICtrlMonthCal_Destroy GUICtrlMonthCal_GetCalendarBorder GUICtrlMonthCal_GetCalendarCount GUICtrlMonthCal_GetColor GUICtrlMonthCal_GetColorArray GUICtrlMonthCal_GetCurSel GUICtrlMonthCal_GetCurSelStr GUICtrlMonthCal_GetFirstDOW GUICtrlMonthCal_GetFirstDOWStr GUICtrlMonthCal_GetMaxSelCount GUICtrlMonthCal_GetMaxTodayWidth GUICtrlMonthCal_GetMinReqHeight GUICtrlMonthCal_GetMinReqRect GUICtrlMonthCal_GetMinReqRectArray GUICtrlMonthCal_GetMinReqWidth GUICtrlMonthCal_GetMonthDelta GUICtrlMonthCal_GetMonthRange GUICtrlMonthCal_GetMonthRangeMax GUICtrlMonthCal_GetMonthRangeMaxStr GUICtrlMonthCal_GetMonthRangeMin GUICtrlMonthCal_GetMonthRangeMinStr GUICtrlMonthCal_GetMonthRangeSpan GUICtrlMonthCal_GetRange GUICtrlMonthCal_GetRangeMax GUICtrlMonthCal_GetRangeMaxStr GUICtrlMonthCal_GetRangeMin GUICtrlMonthCal_GetRangeMinStr GUICtrlMonthCal_GetSelRange GUICtrlMonthCal_GetSelRangeMax GUICtrlMonthCal_GetSelRangeMaxStr GUICtrlMonthCal_GetSelRangeMin GUICtrlMonthCal_GetSelRangeMinStr GUICtrlMonthCal_GetToday GUICtrlMonthCal_GetTodayStr GUICtrlMonthCal_GetUnicodeFormat GUICtrlMonthCal_HitTest GUICtrlMonthCal_SetCalendarBorder GUICtrlMonthCal_SetColor GUICtrlMonthCal_SetCurSel GUICtrlMonthCal_SetDayState GUICtrlMonthCal_SetFirstDOW GUICtrlMonthCal_SetMaxSelCount GUICtrlMonthCal_SetMonthDelta GUICtrlMonthCal_SetRange GUICtrlMonthCal_SetSelRange GUICtrlMonthCal_SetToday GUICtrlMonthCal_SetUnicodeFormat GUICtrlRebar_AddBand GUICtrlRebar_AddToolBarBand GUICtrlRebar_BeginDrag GUICtrlRebar_Create GUICtrlRebar_DeleteBand GUICtrlRebar_Destroy GUICtrlRebar_DragMove GUICtrlRebar_End
18712Drag GUICtrlRebar_GetBandBackColor GUICtrlRebar_GetBandBorders GUICtrlRebar_GetBandBordersEx GUICtrlRebar_GetBandChildHandle GUICtrlRebar_GetBandChildSize GUICtrlRebar_GetBandCount GUICtrlRebar_GetBandForeColor GUICtrlRebar_GetBandHeaderSize GUICtrlRebar_GetBandID GUICtrlRebar_GetBandIdealSize GUICtrlRebar_GetBandLength GUICtrlRebar_GetBandLParam GUICtrlRebar_GetBandMargins GUICtrlRebar_GetBandMarginsEx GUICtrlRebar_GetBandRect GUICtrlRebar_GetBandRectEx GUICtrlRebar_GetBandStyle GUICtrlRebar_GetBandStyleBreak GUICtrlRebar_GetBandStyleChildEdge GUICtrlRebar_GetBandStyleFixedBMP GUICtrlRebar_GetBandStyleFixedSize GUICtrlRebar_GetBandStyleGripperAlways GUICtrlRebar_GetBandStyleHidden GUICtrlRebar_GetBandStyleHideTitle GUICtrlRebar_GetBandStyleNoGripper GUICtrlRebar_GetBandStyleTopAlign GUICtrlRebar_GetBandStyleUseChevron GUICtrlRebar_GetBandStyleVariableHeight GUICtrlRebar_GetBandText GUICtrlRebar_GetBarHeight GUICtrlRebar_GetBarInfo GUICtrlRebar_GetBKColor GUICtrlRebar_GetColorScheme GUICtrlRebar_GetRowCount GUICtrlRebar_GetRowHeight GUICtrlRebar_GetTextColor GUICtrlRebar_GetToolTips GUICtrlRebar_GetUnicodeFormat GUICtrlRebar_HitTest GUICtrlRebar_IDToIndex GUICtrlRebar_MaximizeBand GUICtrlRebar_MinimizeBand GUICtrlRebar_MoveBand GUICtrlRebar_SetBandBackColor GUICtrlRebar_SetBandForeColor GUICtrlRebar_SetBandHeaderSize GUICtrlRebar_SetBandID GUICtrlRebar_SetBandIdealSize GUICtrlRebar_SetBandLength GUICtrlRebar_SetBandLParam GUICtrlRebar_SetBandStyle GUICtrlRebar_SetBandStyleBreak GUICtrlRebar_SetBandStyleChildEdge GUICtrlRebar_SetBandStyleFixedBMP GUICtrlRebar_SetBandStyleFixedSize GUICtrlRebar_SetBandStyleGripperAlways GUICtrlRebar_SetBandStyleHidden GUICtrlRebar_SetBandStyleHideTitle GUICtrlRebar_SetBandStyleNoGripper GUICtrlRebar_SetBandStyleTopAlign GUICtrlRebar_SetBandStyleUseChevron GUICtrlRebar_SetBandStyleVariableHeight GUICtrlRebar_SetBandText GUICtrlRebar_SetBarInfo GUICtrlRebar_SetBKColor GUICtrlRebar_SetColorScheme GUICtrlRebar_SetTextColor GUICtrlRebar_SetToolTips GUICtrlRebar_SetUnicodeFormat GUICtrlRebar_ShowBand GUICtrlRichEdit_AppendText GUICtrlRichEdit_AutoDetectURL GUICtrlRichEdit_CanPaste GUICtrlRichEdit_CanPasteSpecial GUICtrlRichEdit_CanRedo GUICtrlRichEdit_CanUndo GUICtrlRichEdit_ChangeFontSize GUICtrlRichEdit_Copy GUICtrlRichEdit_Create GUICtrlRichEdit_Cut GUICtrlRichEdit_Deselect GUICtrlRichEdit_Destroy GUICtrlRichEdit_EmptyUndoBuffer GUICtrlRichEdit_FindText GUICtrlRichEdit_FindTextInRange GUICtrlRichEdit_GetBkColor GUICtrlRichEdit_GetCharAttributes GUICtrlRichEdit_GetCharBkColor GUICtrlRichEdit_GetCharColor GUICtrlRichEdit_GetCharPosFromXY GUICtrlRichEdit_GetCharPosOfNextWord GUICtrlRichEdit_GetCharPosOfPreviousWord GUICtrlRichEdit_GetCharWordBreakInfo GUICtrlRichEdit_GetFirstCharPosOnLine GUICtrlRichEdit_GetFont GUICtrlRichEdit_GetLineCount GUICtrlRichEdit_GetLineLength GUICtrlRichEdit_GetLineNumberFromCharPos GUICtrlRichEdit_GetNextRedo GUICtrlRichEdit_GetNextUndo GUICtrlRichEdit_GetNumberOfFirstVisibleLine GUICtrlRichEdit_GetParaAlignment GUICtrlRichEdit_GetParaAttributes GUICtrlRichEdit_GetParaBorder GUICtrlRichEdit_GetParaIndents GUICtrlRichEdit_GetParaNumbering GUICtrlRichEdit_GetParaShading GUICtrlRichEdit_GetParaSpacing GUICtrlRichEdit_GetParaTabStops GUICtrlRichEdit_GetPasswordChar GUICtrlRichEdit_GetRECT GUICtrlRichEdit_GetScrollPos GUICtrlRichEdit_GetSel GUICtrlRichEdit_GetSelAA GUICtrlRichEdit_GetSelText GUICtrlRichEdit_GetSpaceUnit GUICtrlRichEdit_GetText GUICtrlRichEdit_GetTextInLine GUICtrlRichEdit_GetTextInRange GUICtrlRichEdit_GetTextLength GUICtrlRichEdit_GetVersion GUICtrlRichEdit_GetXYFromCharPos GUICtrlRichEdit_GetZoom GUICtrlRichEdit_GotoCharPos GUICtrlRichEdit_HideSelection GUICtrlRichEdit_InsertText GUICtrlRichEdit_IsModified GUICtrlRichEdit_IsTextSelected GUICtrlRichEdit_Paste GUICtrlRichEdit_PasteSpecial GUICtrlRichEdit_PauseRedraw GUICtrlRichEdit_Redo GUICtrlRichEdit_ReplaceText GUICtrlRichEdit_ResumeRedraw GUICtrlRichEdit_ScrollLineOrPage GUICtrlRichEdit_ScrollLines GUICtrlRichEdit_ScrollToCaret GUICtrlRichEdit_SetBkColor GUICtrlRichEdit_SetCharAttributes GUICtrlRichEdit_SetCharBkColor GUICtrlRichEdit_SetCharColor GUICtrlRichEdit_SetEventMask GUICtrlRichEdit_SetFont GUICtrlRichEdit_SetLimitOnText GUICtrlRichEdit_SetModified GUICtrlRichEdit_SetParaAlignment GUICtrlRichEdit_SetParaAttributes GUICtrlRichEdit_SetParaBorder GUICtrlRichEdit_SetParaIndents GUICtrlRichEdit_SetParaNumbering GUICtrlRichEdit_SetParaShading GUICtrlRichEdit_SetParaSpacing GUICtrlRichEdit_SetParaTabStops GUICtrlRichEdit_SetPasswordChar GUICtrlRichEdit_SetReadOnly GUICtrlRichEdit_SetRECT GUICtrlRichEdit_SetScrollPos GUICtrlRichEdit_SetSel GUICtrlRichEdit_SetSpaceUnit GUICtrlRichEdit_SetTabStops GUICtrlRichEdit_SetText GUICtrlRichEdit_SetUndoLimit GUICtrlRichEdit_SetZoom GUICtrlRichEdit_StreamFromFile GUICtrlRichEdit_StreamFromVar GUICtrlRichEdit_StreamToFile GUICtrlRichEdit_StreamToVar GUICtrlRichEdit_Undo GUICtrlSlider_ClearSel GUICtrlSlider_ClearTics GUICtrlSlider_Create GUICtrlSlider_Destroy GUICtrlSlider_GetBuddy GUICtrlSlider_GetChannelRect GUICtrlSlider_GetChannelRectEx GUICtrlSlider_GetLineSize GUICtrlSlider_GetLogicalTics GUICtrlSlider_GetNumTics GUICtrlSlider_GetPageSize GUICtrlSlider_GetPos GUICtrlSlider_GetRange GUICtrlSlider_GetRangeMax GUICtrlSlider_GetRangeMin GUICtrlSlider_GetSel GUICtrlSlider_GetSelEnd GUICtrlSlider_GetSelStart GUICtrlSlider_GetThumbLength GUICtrlSlider_GetThumbRect GUICtrlSlider_GetThumbRectEx GUICtrlSlider_GetTic GUICtrlSlider_GetTicPos GUICtrlSlider_GetToolTips GUICtrlSlider_GetUnicodeFormat GUICtrlSlider_SetBuddy GUICtrlSlider_SetLineSize GUICtrlSlider_SetPageSize GUICtrlSlider_SetPos GUICtrlSlider_SetRange GUICtrlSlider_SetRangeMax GUICtrlSlider_SetRangeMin GUICtrlSlider_SetSel GUICtrlSlider_SetSelEnd GUICtrlSlider_SetSelStart GUICtrlSlider_SetThumbLength GUICtrlSlider_SetTic GUICtrlSlider_SetTicFreq GUICtrlSlider_SetTipSide GUICtrlSlider_SetToolTips GUICtrlSlider_SetUnicodeFormat GUICtrlStatusBar_Create GUICtrlStatusBar_Destroy GUICtrlStatusBar_EmbedControl GUICtrlStatusBar_GetBorders GUICtrlStatusBar_GetBordersHorz GUICtrlStatusBar_GetBordersRect GUICtrlStatusBar_GetBordersVert GUICtrlStatusBar_GetCount GUICtrlStatusBar_GetHeight GUICtrlStatusBar_GetIcon GUICtrlStatusBar_GetParts GUICtrlStatusBar_GetRect GUICtrlStatusBar_GetRectEx GUICtrlStatusBar_GetText GUICtrlStatusBar_GetTextFlags GUICtrlStatusBar_GetTextLength GUICtrlStatusBar_GetTextLengthEx GUICtrlStatusBar_GetTipText GUICtrlStatusBar_GetUnicodeFormat GUICtrlStatusBar_GetWidth GUICtrlStatusBar_IsSimple GUICtrlStatusBar_Resize GUICtrlStatusBar_SetBkColor GUICtrlStatusBar_SetIcon GUICtrlStatusBar_SetMinHeight GUICtrlStatusBar_SetParts GUICtrlStatusBar_SetSimple GUICtrlStatusBar_SetText GUICtrlStatusBar_SetTipText GUICtrlStatusBar_SetUnicodeFormat GUICtrlStatusBar_ShowHide GUICtrlTab_ActivateTab GUICtrlTab_ClickTab GUICtrlTab_Create GUICtrlTab_DeleteAllItems GUICtrlTab_DeleteItem GUICtrlTab_DeselectAll GUICtrlTab_Destroy GUICtrlTab_FindTab GUICtrlTab_GetCurFocus GUICtrlTab_GetCurSel GUICtrlTab_GetDisplayRect GUICtrlTab_GetDisplayRectEx GUICtrlTab_GetExtendedStyle GUICtrlTab_GetImageList GUICtrlTab_GetItem GUICtrlTab_GetItemCount GUICtrlTab_GetItemImage GUICtrlTab_GetItemParam GUICtrlTab_GetItemRect GUICtrlTab_GetItemRectEx GUICtrlTab_GetItemState GUICtrlTab_GetItemText GUICtrlTab_GetRowCount GUICtrlTab_GetToolTips GUICtrlTab_GetUnicodeFormat GUICtrlTab_HighlightItem GUICtrlTab_HitTest GUICtrlTab_InsertItem GUICtrlTab_RemoveImage GUICtrlTab_SetCurFocus GUICtrlTab_SetCurSel GUICtrlTab_SetExtendedStyle GUICtrlTab_SetImageList GUICtrlTab_SetItem GUICtrlTab_SetItemImage GUICtrlTab_SetItemParam GUICtrlTab_SetItemSize GUICtrlTab_SetItemState GUICtrlTab_SetItemText GUICtrlTab_SetMinTabWidth GUICtrlTab_SetPadding GUICtrlTab_SetToolTips GUICtrlTab_SetUnicodeFormat GUICtrlToolbar_AddBitmap GUICtrlToolbar_AddButton GUICtrlToolbar_AddButtonSep GUICtrlToolbar_AddString GUICtrlToolbar_ButtonCount GUICtrlToolbar_CheckButton GUICtrlToolbar_ClickAccel GUICtrlToolbar_ClickButton GUICtrlToolbar_ClickIndex GUICtrlToolbar_CommandToIndex GUICtrlToolbar_Create GUICtrlToolbar_Customize GUICtrlToolbar_DeleteButton GUICtrlToolbar_Destroy GUICtrlToolbar_EnableButton GUICtrlToolbar_FindToolbar GUICtrlToolbar_GetAnchorHighlight GUICtrlToolbar_GetBitmapFlags GUICtrlToolbar_GetButtonBitmap GUICtrlToolbar_GetButtonInfo GUICtrlToolbar_GetButtonInfoEx GUICtrlToolbar_GetButtonParam GUICtrlToolbar_GetButtonRect GUICtrlToolbar_GetButtonRectEx GUICtrlToolbar_GetButtonSize GUICtrlToolbar_GetButtonState GUICtrlToolbar_GetButtonStyle GUICtrlToolbar_GetButtonText GUICtrlToolbar_GetColorScheme GUICtrlToolbar_GetDisabledImageList GUICtrlToolbar_GetExtendedStyle GUICtrlToolbar_GetHotImageList GUICtrlToolbar_GetHotItem GUICtrlToolbar_GetImageList GUICtrlToolbar_GetInsertMark GUICtrlToolbar_GetInsertMarkColor GUICtrlToolbar_GetMaxSize GUICtrlToolbar_GetMetrics GUICtrlToolbar_GetPadding GUICtrlToolbar_GetRows GUICtrlToolbar_GetString GUICtrlToolbar_GetStyle GUICtrlToolbar_GetStyleAltDrag GUICtrlToolbar_GetStyleCustomErase GUICtrlToolbar_GetStyleFlat GUICtrlToolbar_GetStyleList GUICtrlToolbar_GetStyleRegisterDrop GUICtrlToolbar_GetStyleToolTips GUICtrlToolbar_GetStyleTrans
18712parent GUICtrlToolbar_GetStyleWrapable GUICtrlToolbar_GetTextRows GUICtrlToolbar_GetToolTips GUICtrlToolbar_GetUnicodeFormat GUICtrlToolbar_HideButton GUICtrlToolbar_HighlightButton GUICtrlToolbar_HitTest GUICtrlToolbar_IndexToCommand GUICtrlToolbar_InsertButton GUICtrlToolbar_InsertMarkHitTest GUICtrlToolbar_IsButtonChecked GUICtrlToolbar_IsButtonEnabled GUICtrlToolbar_IsButtonHidden GUICtrlToolbar_IsButtonHighlighted GUICtrlToolbar_IsButtonIndeterminate GUICtrlToolbar_IsButtonPressed GUICtrlToolbar_LoadBitmap GUICtrlToolbar_LoadImages GUICtrlToolbar_MapAccelerator GUICtrlToolbar_MoveButton GUICtrlToolbar_PressButton GUICtrlToolbar_SetAnchorHighlight GUICtrlToolbar_SetBitmapSize GUICtrlToolbar_SetButtonBitMap GUICtrlToolbar_SetButtonInfo GUICtrlToolbar_SetButtonInfoEx GUICtrlToolbar_SetButtonParam GUICtrlToolbar_SetButtonSize GUICtrlToolbar_SetButtonState GUICtrlToolbar_SetButtonStyle GUICtrlToolbar_SetButtonText GUICtrlToolbar_SetButtonWidth GUICtrlToolbar_SetCmdID GUICtrlToolbar_SetColorScheme GUICtrlToolbar_SetDisabledImageList GUICtrlToolbar_SetDrawTextFlags GUICtrlToolbar_SetExtendedStyle GUICtrlToolbar_SetHotImageList GUICtrlToolbar_SetHotItem GUICtrlToolbar_SetImageList GUICtrlToolbar_SetIndent GUICtrlToolbar_SetIndeterminate GUICtrlToolbar_SetInsertMark GUICtrlToolbar_SetInsertMarkColor GUICtrlToolbar_SetMaxTextRows GUICtrlToolbar_SetMetrics GUICtrlToolbar_SetPadding GUICtrlToolbar_SetParent GUICtrlToolbar_SetRows GUICtrlToolbar_SetStyle GUICtrlToolbar_SetStyleAltDrag GUICtrlToolbar_SetStyleCustomErase GUICtrlToolbar_SetStyleFlat GUICtrlToolbar_SetStyleList GUICtrlToolbar_SetStyleRegisterDrop GUICtrlToolbar_SetStyleToolTips GUICtrlToolbar_SetStyleTrans
18712parent GUICtrlToolbar_SetStyleWrapable GUICtrlToolbar_SetToolTips GUICtrlToolbar_SetUnicodeFormat GUICtrlToolbar_SetWindowTheme GUICtrlTreeView_Add GUICtrlTreeView_AddChild GUICtrlTreeView_AddChildFirst GUICtrlTreeView_AddFirst GUICtrlTreeView_BeginUpdate GUICtrlTreeView_ClickItem GUICtrlTreeView_Create GUICtrlTreeView_CreateDragImage GUICtrlTreeView_CreateSolidBitMap GUICtrlTreeView_Delete GUICtrlTreeView_DeleteAll GUICtrlTreeView_DeleteChildren GUICtrlTreeView_Destroy GUICtrlTreeView_DisplayRect GUICtrlTreeView_DisplayRectEx GUICtrlTreeView_EditText GUICtrlTreeView_EndEdit GUICtrlTreeView_EndUpdate GUICtrlTreeView_EnsureVisible GUICtrlTreeView_Expand GUICtrlTreeView_ExpandedOnce GUICtrlTreeView_FindItem GUICtrlTreeView_FindItemEx GUICtrlTreeView_GetBkColor GUICtrlTreeView_GetBold GUICtrlTreeView_GetChecked GUICtrlTreeView_GetChildCount GUICtrlTreeView_GetChildren GUICtrlTreeView_GetCount GUICtrlTreeView_GetCut GUICtrlTreeView_GetDropTarget GUICtrlTreeView_GetEditControl GUICtrlTreeView_GetExpanded GUICtrlTreeView_GetFirstChild GUICtrlTreeView_GetFirstItem GUICtrlTreeView_GetFirstVisible GUICtrlTreeView_GetFocused GUICtrlTreeView_GetHeight GUICtrlTreeView_GetImageIndex GUICtrlTreeView_GetImageListIconHandle GUICtrlTreeView_GetIndent GUICtrlTreeView_GetInsertMarkColor GUICtrlTreeView_GetISearchString GUICtrlTreeView_GetItemByIndex GUICtrlTreeView_GetItemHandle GUICtrlTreeView_GetItemParam GUICtrlTreeView_GetLastChild GUICtrlTreeView_GetLineColor GUICtrlTreeView_GetNext GUICtrlTreeView_GetNextChild GUICtrlTreeView_GetNextSibling GUICtrlTreeView_GetNextVisible GUICtrlTreeView_GetNormalImageList GUICtrlTreeView_GetParentHandle GUICtrlTreeView_GetParentParam GUICtrlTreeView_GetPrev GUICtrlTreeView_GetPrevChild GUICtrlTreeView_GetPrevSibling GUICtrlTreeView_GetPrevVisible GUICtrlTreeView_GetScrollTime GUICtrlTreeView_GetSelected GUICtrlTreeView_GetSelectedImageIndex GUICtrlTreeView_GetSelection GUICtrlTreeView_GetSiblingCount GUICtrlTreeView_GetState GUICtrlTreeView_GetStateImageIndex GUICtrlTreeView_GetStateImageList GUICtrlTreeView_GetText GUICtrlTreeView_GetTextColor GUICtrlTreeView_GetToolTips GUICtrlTreeView_GetTree GUICtrlTreeView_GetUnicodeFormat GUICtrlTreeView_GetVisible GUICtrlTreeView_GetVisibleCount GUICtrlTreeView_HitTest GUICtrlTreeView_HitTestEx GUICtrlTreeView_HitTestItem GUICtrlTreeView_Index GUICtrlTreeView_InsertItem GUICtrlTreeView_IsFirstItem GUICtrlTreeView_IsParent GUICtrlTreeView_Level GUICtrlTreeView_SelectItem GUICtrlTreeView_SelectItemByIndex GUICtrlTreeView_SetBkColor GUICtrlTreeView_SetBold GUICtrlTreeView_SetChecked GUICtrlTreeView_SetCheckedByIndex GUICtrlTreeView_SetChildren GUICtrlTreeView_SetCut GUICtrlTreeView_SetDropTarget GUICtrlTreeView_SetFocused GUICtrlTreeView_SetHeight GUICtrlTreeView_SetIcon GUICtrlTreeView_SetImageIndex GUICtrlTreeView_SetIndent GUICtrlTreeView_SetInsertMark GUICtrlTreeView_SetInsertMarkColor GUICtrlTreeView_SetItemHeight GUICtrlTreeView_SetItemParam GUICtrlTreeView_SetLineColor GUICtrlTreeView_SetNormalImageList GUICtrlTreeView_SetScrollTime GUICtrlTreeView_SetSelected GUICtrlTreeView_SetSelectedImageIndex GUICtrlTreeView_SetState GUICtrlTreeView_SetStateImageIndex GUICtrlTreeView_SetStateImageList GUICtrlTreeView_SetText GUICtrlTreeView_SetTextColor GUICtrlTreeView_SetToolTips GUICtrlTreeView_SetUnicodeFormat GUICtrlTreeView_Sort GUIImageList_Add GUIImageList_AddBitmap GUIImageList_AddIcon GUIImageList_AddMasked GUIImageList_BeginDrag GUIImageList_Copy GUIImageList_Create GUIImageList_Destroy GUIImageList_DestroyIcon GUIImageList_DragEnter GUIImageList_DragLeave GUIImageList_DragMove GUIImageList_Draw GUIImageList_DrawEx GUIImageList_Duplicate GUIImageList_EndDrag GUIImageList_GetBkColor GUIImageList_GetIcon GUIImageList_GetIconHeight GUIImageList_GetIconSize GUIImageList_GetIconSizeEx GUIImageList_GetIconWidth GUIImageList_GetImageCount GUIImageList_GetImageInfoEx GUIImageList_Remove GUIImageList_ReplaceIcon GUIImageList_SetBkColor GUIImageList_SetIconSize GUIImageList_SetImageCount GUIImageList_Swap GUIScrollBars_EnableScrollBar GUIScrollBars_GetScrollBarInfoEx GUIScrollBars_GetScrollBarRect GUIScrollBars_GetScrollBarRGState GUIScrollBars_GetScrollBarXYLineButton GUIScrollBars_GetScrollBarXYThumbBottom GUIScrollBars_GetScrollBarXYThumbTop GUIScrollBars_GetScrollInfo GUIScrollBars_GetScrollInfoEx GUIScrollBars_GetScrollInfoMax GUIScrollBars_GetScrollInfoMin GUIScrollBars_GetScrollInfoPage GUIScrollBars_GetScrollInfoPos GUIScrollBars_GetScrollInfoTrackPos GUIScrollBars_GetScrollPos GUIScrollBars_GetScrollRange GUIScrollBars_Init G
18712UIScrollBars_ScrollWindow GUIScrollBars_SetScrollInfo GUIScrollBars_SetScrollInfoMax GUIScrollBars_SetScrollInfoMin GUIScrollBars_SetScrollInfoPage GUIScrollBars_SetScrollInfoPos GUIScrollBars_SetScrollRange GUIScrollBars_ShowScrollBar GUIToolTip_Activate GUIToolTip_AddTool GUIToolTip_AdjustRect GUIToolTip_BitsToTTF GUIToolTip_Create GUIToolTip_Deactivate GUIToolTip_DelTool GUIToolTip_Destroy GUIToolTip_EnumTools GUIToolTip_GetBubbleHeight GUIToolTip_GetBubbleSize GUIToolTip_GetBubbleWidth GUIToolTip_GetCurrentTool GUIToolTip_GetDelayTime GUIToolTip_GetMargin GUIToolTip_GetMarginEx GUIToolTip_GetMaxTipWidth GUIToolTip_GetText GUIToolTip_GetTipBkColor GUIToolTip_GetTipTextColor GUIToolTip_GetTitleBitMap GUIToolTip_GetTitleText GUIToolTip_GetToolCount GUIToolTip_GetToolInfo GUIToolTip_HitTest GUIToolTip_NewToolRect GUIToolTip_Pop GUIToolTip_PopUp GUIToolTip_SetDelayTime GUIToolTip_SetMargin GUIToolTip_SetMaxTipWidth GUIToolTip_SetTipBkColor GUIToolTip_SetTipTextColor GUIToolTip_SetTitle GUIToolTip_SetToolInfo GUIToolTip_SetWindowTheme GUIToolTip_ToolExists GUIToolTip_ToolToArray GUIToolTip_TrackActivate GUIToolTip_TrackPosition GUIToolTip_Update GUIToolTip_UpdateTipText HexToString IEAction IEAttach IEBodyReadHTML IEBodyReadText IEBodyWriteHTML IECreate IECreateEmbedded IEDocGetObj IEDocInsertHTML IEDocInsertText IEDocReadHTML IEDocWriteHTML IEErrorNotify IEFormElementCheckBoxSelect IEFormElementGetCollection IEFormElementGetObjByName IEFormElementGetValue IEFormElementOptionSelect IEFormElementRadioSelect IEFormElementSetValue IEFormGetCollection IEFormGetObjByName IEFormImageClick IEFormReset IEFormSubmit IEFrameGetCollection IEFrameGetObjByName IEGetObjById IEGetObjByName IEHeadInsertEventScript IEImgClick IEImgGetCollection IEIsFrameSet IELinkClickByIndex IELinkClickByText IELinkGetCollection IELoadWait IELoadWaitTimeout IENavigate IEPropertyGet IEPropertySet IEQuit IETableGetCollection IETableWriteToArray IETagNameAllGetCollection IETagNameGetCollection IE_Example IE_Introduction IE_VersionInfo INetExplorerCapable INetGetSource INetMail INetSmtpMail IsPressed MathCheckDiv Max MemGlobalAlloc MemGlobalFree MemGlobalLock MemGlobalSize MemGlobalUnlock MemMoveMemory MemVirtualAlloc MemVirtualAllocEx MemVirtualFree MemVirtualFreeEx Min MouseTrap NamedPipes_CallNamedPipe NamedPipes_ConnectNamedPipe NamedPipes_CreateNamedPipe NamedPipes_CreatePipe NamedPipes_DisconnectNamedPipe NamedPipes_GetNamedPipeHandleState NamedPipes_GetNamedPipeInfo NamedPipes_PeekNamedPipe NamedPipes_SetNamedPipeHandleState NamedPipes_TransactNamedPipe NamedPipes_WaitNamedPipe Net_Share_ConnectionEnum Net_Share_FileClose Net_Share_FileEnum Net_Share_FileGetInfo Net_Share_PermStr Net_Share_ResourceStr Net_Share_SessionDel Net_Share_SessionEnum Net_Share_SessionGetInfo Net_Share_ShareAdd Net_Share_ShareCheck Net_Share_ShareDel Net_Share_ShareEnum Net_Share_ShareGetInfo Net_Share_ShareSetInfo Net_Share_StatisticsGetSvr Net_Share_StatisticsGetWrk Now NowCalc NowCalcDate NowDate NowTime PathFull PathGetRelative PathMake PathSplit ProcessGetName ProcessGetPriority Radian ReplaceStringInFile RunDos ScreenCapture_Capture ScreenCapture_CaptureWnd ScreenCapture_SaveImage ScreenCapture_SetBMPFormat ScreenCapture_SetJPGQuality ScreenCapture_SetTIFColorDepth ScreenCapture_SetTIFCompression Security__AdjustTokenPrivileges Security__CreateProcessWithToken Security__DuplicateTokenEx Security__GetAccountSid Security__GetLengthSid Security__GetTokenInformation Security__ImpersonateSelf Security__IsValidSid Security__LookupAccountName Security__LookupAccountSid Security__LookupPrivilegeValue Security__OpenProcessToken Security__OpenThreadToken Security__OpenThreadTokenEx Security__SetPrivilege Security__SetTokenInformation Security__SidToStringSid Security__SidTypeStr Security__StringSidToSid SendMessage SendMessageA SetDate SetTime Singleton SoundClose SoundLength SoundOpen SoundPause SoundPlay SoundPos SoundResume SoundSeek SoundStatus SoundStop SQLite_Changes SQLite_Close SQLite_Display2DResult SQLite_Encode SQLite_ErrCode SQLite_ErrMsg SQLite_Escape SQLite_Exec SQLite_FastEncode SQLite_FastEscape SQLite_FetchData SQLite_FetchNames SQLite_GetTable SQLite_GetTable2d SQLite_LastInsertRowID SQLite_LibVersion SQLite_Open SQLite_Query SQLite_QueryFinalize SQLite_QueryReset SQLite_QuerySingleRow SQLite_SafeMode SQLite_SetTimeout SQLite_Shutdown SQLite_SQLiteExe SQLite_Startup SQLite_TotalChanges StringBetween StringExplode StringInsert StringProper StringRepeat StringTitleCase StringToHex TCPIpToName TempFile TicksToTime Timer_Diff Timer_GetIdleTime Timer_GetTimerID Timer_Init Timer_KillAllTimers Timer_KillTimer Timer_SetTimer TimeToTicks VersionCompare viClose viExecCommand viFindGpib viGpibBusReset viGTL viInteractiveControl viOpen viSetAttribute viSetTimeout WeekNumberISO WinAPI_AbortPath WinAPI_ActivateKeyboardLayout WinAPI_AddClipboardFormatListener WinAPI_AddFontMemResourceEx WinAPI_AddFontResourceEx WinAPI_AddIconOverlay WinAPI_AddIconTransparency WinAPI_AddMRUString WinAPI_AdjustBitmap WinAPI_AdjustTokenPrivileges WinAPI_AdjustWindowRectEx WinAPI_AlphaBlend WinAPI_AngleArc WinAPI_AnimateWindow WinAPI_Arc WinAPI_ArcTo WinAPI_ArrayToStruct WinAPI_AssignProcessToJobObject WinAPI_AssocGetPerceivedType WinAPI_AssocQueryString WinAPI_AttachConsole WinAPI_AttachThreadInput WinAPI_BackupRead WinAPI_BackupReadAbort WinAPI_BackupSeek WinAPI_BackupWrite WinAPI_BackupWriteAbort WinAPI_Beep WinAPI_BeginBufferedPaint WinAPI_BeginDeferWindowPos WinAPI_BeginPaint WinAPI_BeginPath WinAPI_BeginUpdateResource WinAPI_BitBlt WinAPI_BringWindowToTop WinAPI_BroadcastSystemMessage WinAPI_BrowseForFolderDlg WinAPI_BufferedPaintClear WinAPI_BufferedPaintInit WinAPI_BufferedPaintSetAlpha WinAPI_BufferedPaintUnInit WinAPI_CallNextHookEx WinAPI_CallWindowProc WinAPI_CallWindowProcW WinAPI_CascadeWindows WinAPI_ChangeWindowMessageFilterEx WinAPI_CharToOem WinAPI_ChildWindowFromPointEx WinAPI_ClientToScreen WinAPI_ClipCursor WinAPI_CloseDesktop WinAPI_CloseEnhMetaFile WinAPI_CloseFigure WinAPI_CloseHandle WinAPI_CloseThemeData WinAPI_CloseWindow WinAPI_CloseWindowStation WinAPI_CLSIDFromProgID WinAPI_CoInitialize WinAPI_ColorAdjustLuma WinAPI_ColorHLSToRGB WinAPI_ColorRGBToHLS WinAPI_CombineRgn WinAPI_CombineTransform WinAPI_CommandLineToArgv WinAPI_CommDlgExtendedError WinAPI_CommDlgExtendedErrorEx WinAPI_CompareString WinAPI_CompressBitmapBits WinAPI_CompressBuffer WinAPI_ComputeCrc32 WinAPI_ConfirmCredentials WinAPI_CopyBitmap WinAPI_CopyCursor WinAPI_CopyEnhMetaFile WinAPI_CopyFileEx WinAPI_CopyIcon WinAPI_CopyImage WinAPI_CopyRect WinAPI_CopyStruct WinAPI_CoTaskMemAlloc WinAPI_CoTaskMemFree WinAPI_CoTaskMemRealloc WinAPI_CoUninitialize WinAPI_Create32BitHBITMAP WinAPI_Create32BitHICON WinAPI_CreateANDBitmap WinAPI_CreateBitmap WinAPI_CreateBitmapIndirect WinAPI_CreateBrushIndirect WinAPI_CreateBuffer WinAPI_CreateBufferFromStruct WinAPI_CreateCaret WinAPI_CreateColorAdjustment WinAPI_CreateCompatibleBitmap WinAPI_CreateCompatibleBitmapEx WinAPI_CreateCompatibleDC WinAPI_CreateDesktop WinAPI_CreateDIB WinAPI_CreateDIBColorTable WinAPI_CreateDIBitmap WinAPI_CreateDIBSection WinAPI_CreateDirectory WinAPI_CreateDirectoryEx WinAPI_CreateEllipticRgn W
18712inAPI_CreateEmptyIcon WinAPI_CreateEnhMetaFile WinAPI_CreateEvent WinAPI_CreateFile WinAPI_CreateFileEx WinAPI_CreateFileMapping WinAPI_CreateFont WinAPI_CreateFontEx WinAPI_CreateFontIndirect WinAPI_CreateGUID WinAPI_CreateHardLink WinAPI_CreateIcon WinAPI_CreateIconFromResourceEx WinAPI_CreateIconIndirect WinAPI_CreateJobObject WinAPI_CreateMargins WinAPI_CreateMRUList WinAPI_CreateMutex WinAPI_CreateNullRgn WinAPI_CreateNumberFormatInfo WinAPI_CreateObjectID WinAPI_CreatePen WinAPI_CreatePoint WinAPI_CreatePolygonRgn WinAPI_CreateProcess WinAPI_CreateProcessWithToken WinAPI_CreateRect WinAPI_CreateRectEx WinAPI_CreateRectRgn WinAPI_CreateRectRgnIndirect WinAPI_CreateRoundRectRgn WinAPI_CreateSemaphore WinAPI_CreateSize WinAPI_CreateSolidBitmap WinAPI_CreateSolidBrush WinAPI_CreateStreamOnHGlobal WinAPI_CreateString WinAPI_CreateSymbolicLink WinAPI_CreateTransform WinAPI_CreateWindowEx WinAPI_CreateWindowStation WinAPI_DecompressBuffer WinAPI_DecryptFile WinAPI_DeferWindowPos WinAPI_DefineDosDevice WinAPI_DefRawInputProc WinAPI_DefSubclassProc WinAPI_DefWindowProc WinAPI_DefWindowProcW WinAPI_DeleteDC WinAPI_DeleteEnhMetaFile WinAPI_DeleteFile WinAPI_DeleteObject WinAPI_DeleteObjectID WinAPI_DeleteVolumeMountPoint WinAPI_DeregisterShellHookWindow WinAPI_DestroyCaret WinAPI_DestroyCursor WinAPI_DestroyIcon WinAPI_DestroyWindow WinAPI_DeviceIoControl WinAPI_DisplayStruct WinAPI_DllGetVersion WinAPI_DllInstall WinAPI_DllUninstall WinAPI_DPtoLP WinAPI_DragAcceptFiles WinAPI_DragFinish WinAPI_DragQueryFileEx WinAPI_DragQueryPoint WinAPI_DrawAnimatedRects WinAPI_DrawBitmap WinAPI_DrawEdge WinAPI_DrawFocusRect WinAPI_DrawFrameControl WinAPI_DrawIcon WinAPI_DrawIconEx WinAPI_DrawLine WinAPI_DrawShadowText WinAPI_DrawText WinAPI_DrawThemeBackgroun
18712d WinAPI_DrawThemeEdge WinAPI_DrawThemeIcon WinAPI_DrawThemeParentBackground WinAPI_DrawThemeText WinAPI_DrawThemeTextEx WinAPI_DuplicateEncryptionInfoFile WinAPI_DuplicateHandle WinAPI_DuplicateTokenEx WinAPI_DwmDefWindowProc WinAPI_DwmEnableBlurBehindWindow WinAPI_DwmEnableComposition WinAPI_DwmExtendFrameIntoClientArea WinAPI_DwmGetColorizationColor WinAPI_DwmGetColorizationParameters WinAPI_DwmGetWindowAttribute WinAPI_DwmInvalidateIconicBitmaps WinAPI_DwmIsCompositionEnabled WinAPI_DwmQueryThumbnailSourceSize WinAPI_DwmRegisterThumbnail WinAPI_DwmSetColorizationParameters WinAPI_DwmSetIconicLivePreviewBitmap WinAPI_DwmSetIconicThumbnail WinAPI_DwmSetWindowAttribute WinAPI_DwmUnregisterThumbnail WinAPI_DwmUpdateThumbnailProperties WinAPI_DWordToFloat WinAPI_DWordToInt WinAPI_EjectMedia WinAPI_Ellipse WinAPI_EmptyWorkingSet WinAPI_EnableWindow WinAPI_EncryptFile WinAPI_EncryptionDisable WinAPI_EndBufferedPaint WinAPI_EndDeferWindowPos WinAPI_EndPaint WinAPI_EndPath WinAPI_EndUpdateResource WinAPI_EnumChildProcess WinAPI_EnumChildWindows WinAPI_EnumDesktops WinAPI_EnumDesktopWindows WinAPI_EnumDeviceDrivers WinAPI_EnumDisplayDevices WinAPI_EnumDisplayMonitors WinAPI_EnumDisplaySettings WinAPI_EnumDllProc WinAPI_EnumFiles WinAPI_EnumFileStreams WinAPI_EnumFontFamilies WinAPI_EnumHardLinks WinAPI_EnumMRUList WinAPI_EnumPageFiles WinAPI_EnumProcessHandles WinAPI_EnumProcessModules WinAPI_EnumProcessThreads WinAPI_EnumProcessWindows WinAPI_EnumRawInputDevices WinAPI_EnumResourceLanguages WinAPI_EnumResourceNames WinAPI_EnumResourceTypes WinAPI_EnumSystemGeoID WinAPI_EnumSystemLocales WinAPI_EnumUILanguages WinAPI_EnumWindows WinAPI_EnumWindowsPopup WinAPI_EnumWindowStations WinAPI_EnumWindowsTop WinAPI_EqualMemory WinAPI_EqualRect WinAPI_EqualRgn WinAPI_ExcludeClipRect WinAPI_ExpandEnvironmentStrings WinAPI_ExtCreatePen WinAPI_ExtCreateRegion WinAPI_ExtFloodFill WinAPI_ExtractIcon WinAPI_ExtractIconEx WinAPI_ExtSelectClipRgn WinAPI_FatalAppExit WinAPI_FatalExit WinAPI_FileEncryptionStatus WinAPI_FileExists WinAPI_FileIconInit WinAPI_FileInUse WinAPI_FillMemory WinAPI_FillPath WinAPI_FillRect WinAPI_FillRgn WinAPI_FindClose WinAPI_FindCloseChangeNotification WinAPI_FindExecutable WinAPI_FindFirstChangeNotification WinAPI_FindFirstFile WinAPI_FindFirstFileName WinAPI_FindFirstStream WinAPI_FindNextChangeNotification WinAPI_FindNextFile WinAPI_FindNextFileName WinAPI_FindNextStream WinAPI_FindResource WinAPI_FindResourceEx WinAPI_FindTextDlg WinAPI_FindWindow WinAPI_FlashWindow WinAPI_FlashWindowEx WinAPI_FlattenPath WinAPI_FloatToDWord WinAPI_FloatToInt WinAPI_FlushFileBuffers WinAPI_FlushFRBuffer WinAPI_FlushViewOfFile WinAPI_FormatDriveDlg WinAPI_FormatMessage WinAPI_FrameRect WinAPI_FrameRgn WinAPI_FreeLibrary WinAPI_FreeMemory WinAPI_FreeMRUList WinAPI_FreeResource WinAPI_GdiComment WinAPI_GetActiveWindow WinAPI_GetAllUsersProfileDirectory WinAPI_GetAncestor WinAPI_GetApplicationRestartSettings WinAPI_GetArcDirection WinAPI_GetAsyncKeyState WinAPI_GetBinaryType WinAPI_GetBitmapBits WinAPI_GetBitmapDimension WinAPI_GetBitmapDimensionEx WinAPI_GetBkColor WinAPI_GetBkMode WinAPI_GetBoundsRect WinAPI_GetBrushOrg WinAPI_GetBufferedPaintBits WinAPI_GetBufferedPaintDC WinAPI_GetBufferedPaintTargetDC WinAPI_GetBufferedPaintTargetRect WinAPI_GetBValue WinAPI_GetCaretBlinkTime WinAPI_GetCaretPos WinAPI_GetCDType WinAPI_GetClassInfoEx WinAPI_GetClassLongEx WinAPI_GetClassName WinAPI_GetClientHeight WinAPI_GetClientRect WinAPI_GetClientWidth WinAPI_GetClipboardSequenceNumber WinAPI_GetClipBox WinAPI_GetClipCursor WinAPI_GetClipRgn WinAPI_GetColorAdjustment WinAPI_GetCompressedFileSize WinAPI_GetCompression WinAPI_GetConnectedDlg WinAPI_GetCurrentDirectory WinAPI_GetCurrentHwProfile WinAPI_GetCurrentObject WinAPI_GetCurrentPosition WinAPI_GetCurrentProcess WinAPI_GetCurrentProcessExplicitAppUserModelID WinAPI_GetCurrentProcessID WinAPI_GetCurrentThemeName WinAPI_GetCurrentThread WinAPI_GetCurrentThreadId WinAPI_GetCursor WinAPI_GetCursorInfo WinAPI_GetDateFormat WinAPI_GetDC WinAPI_GetDCEx WinAPI_GetDefaultPrinter WinAPI_GetDefaultUserProfileDirectory WinAPI_GetDesktopWindow WinAPI_GetDeviceCaps WinAPI_GetDeviceDriverBaseName WinAPI_GetDeviceDriverFileName WinAPI_GetDeviceGammaRamp WinAPI_GetDIBColorTable WinAPI_GetDIBits WinAPI_GetDiskFreeSpaceEx WinAPI_GetDlgCtrlID WinAPI_GetDlgItem WinAPI_GetDllDirectory WinAPI_GetDriveBusType WinAPI_GetDriveGeometryEx WinAPI_GetDriveNumber WinAPI_GetDriveType WinAPI_GetDurationFormat WinAPI_GetEffectiveClientRect WinAPI_GetEnhMetaFile WinAPI_GetEnhMetaFileBits WinAPI_GetEnhMetaFileDescription WinAPI_GetEnhMetaFileDimension WinAPI_GetEnhMetaFileHeader WinAPI_GetErrorMessage WinAPI_GetErrorMode WinAPI_GetExitCodeProcess WinAPI_GetExtended WinAPI_GetFileAttributes WinAPI_GetFileID WinAPI_GetFileInformationByHandle WinAPI_GetFileInformationByHandleEx WinAPI_GetFilePointerEx WinAPI_GetFileSizeEx WinAPI_GetFileSizeOnDisk WinAPI_GetFileTitle WinAPI_GetFileType WinAPI_GetFileVersionInfo WinAPI_GetFinalPathNameByHandle WinAPI_GetFinalPathNameByHandleEx WinAPI_GetFocus WinAPI_GetFontMemoryResourceInfo WinAPI_GetFontName WinAPI_GetFontResourceInfo WinAPI_GetForegroundWindow WinAPI_GetFRBuffer WinAPI_GetFullPathName WinAPI_GetGeoInfo WinAPI_GetGlyphOutline WinAPI_GetGraphicsMode WinAPI_GetGuiResources WinAPI_GetGUIThreadInfo WinAPI_GetGValue WinAPI_GetHandleInformation WinAPI_GetHGlobalFromStream WinAPI_GetIconDimension WinAPI_GetIconInfo WinAPI_GetIconInfoEx WinAPI_GetIdleTime WinAPI_GetKeyboardLayout WinAPI_GetKeyboardLayoutList WinAPI_GetKeyboardState WinAPI_GetKeyboardType WinAPI_GetKeyNameText WinAPI_GetKeyState WinAPI_GetLastActivePopup WinAPI_GetLastError WinAPI_GetLastErrorMessage WinAPI_GetLayeredWindowAttributes WinAPI_GetLocaleInfo WinAPI_GetLogicalDrives WinAPI_GetMapMode WinAPI_GetMemorySize WinAPI_GetMessageExtraInfo WinAPI_GetModuleFileNameEx WinAPI_GetModuleHandle WinAPI_GetModuleHandleEx WinAPI_GetModuleInformation WinAPI_GetMonitorInfo WinAPI_GetMousePos WinAPI_GetMousePosX WinAPI_GetMousePosY WinAPI_GetMUILanguage WinAPI_GetNumberFormat WinAPI_GetObject WinAPI_GetObjectID WinAPI_GetObjectInfoByHandle WinAPI_GetObjectNameByHandle WinAPI_GetObjectType WinAPI_GetOpenFileName WinAPI_GetOutlineTextMetrics WinAPI_GetOverlappedResult WinAPI_GetParent WinAPI_GetParentProcess WinAPI_GetPerformanceInfo WinAPI_GetPEType WinAPI_GetPhysicallyInstalledSystemMemory WinAPI_GetPixel WinAPI_GetPolyFillMode WinAPI_GetPosFromRect WinAPI_GetPriorityClass WinAPI_GetProcAddress WinAPI_GetProcessAffinityMask WinAPI_GetProcessCommandLine WinAPI_GetProcessFileName WinAPI_GetProcessHandleCount WinAPI_GetProcessID WinAPI_GetProcessIoCounters WinAPI_GetProcessMemoryInfo WinAPI_GetProcessName WinAPI_GetProcessShutdownParameters WinAPI_GetProcessTimes W
18712inAPI_GetProcessUser WinAPI_GetProcessWindowStation WinAPI_GetProcessWorkingDirectory WinAPI_GetProfilesDirectory WinAPI_GetPwrCapabilities WinAPI_GetRawInputBuffer WinAPI_GetRawInputBufferLength WinAPI_GetRawInputData WinAPI_GetRawInputDeviceInfo WinAPI_GetRegionData WinAPI_GetRegisteredRawInputDevices WinAPI_GetRegKeyNameByHandle WinAPI_GetRgnBox WinAPI_GetROP2 WinAPI_GetRValue WinAPI_GetSaveFileName WinAPI_GetShellWindow WinAPI_GetStartupInfo WinAPI_GetStdHandle WinAPI_GetStockObject WinAPI_GetStretchBltMode WinAPI_GetString WinAPI_GetSysColor WinAPI_GetSysColorBrush WinAPI_GetSystemDefaultLangID WinAPI_GetSystemDefaultLCID WinAPI_GetSystemDefaultUILanguage WinAPI_GetSystemDEPPolicy WinAPI_GetSystemInfo WinAPI_GetSystemMetrics WinAPI_GetSystemPowerStatus WinAPI_GetSystemTimes WinAPI_GetSystemWow64Directory WinAPI_GetTabbedTextExtent WinAPI_GetTempFileName WinAPI_GetTextAlign WinAPI_GetTextCharacterExtra WinAPI_GetTextColor WinAPI_GetTextExtentPoint32 WinAPI_GetTextFace WinAPI_GetTextMetrics WinAPI_GetThemeAppProperties WinAPI_GetThemeBackgroun
18712dContentRect WinAPI_GetThemeBackgroundExtent WinAPI_GetThemeBackgroundRegion WinAPI_GetThemeBitmap WinAPI_GetThemeBool WinAPI_GetThemeColor WinAPI_GetThemeDocumentationProperty WinAPI_GetThemeEnumValue WinAPI_GetThemeFilename WinAPI_GetThemeFont WinAPI_GetThemeInt WinAPI_GetThemeMargins WinAPI_GetThemeMetric WinAPI_GetThemePartSize WinAPI_GetThemePosition WinAPI_GetThemePropertyOrigin WinAPI_GetThemeRect WinAPI_GetThemeString WinAPI_GetThemeSysBool WinAPI_GetThemeSysColor WinAPI_GetThemeSysColorBrush WinAPI_GetThemeSysFont WinAPI_GetThemeSysInt WinAPI_GetThemeSysSize WinAPI_GetThemeSysString WinAPI_GetThemeTextExtent WinAPI_GetThemeTextMetrics WinAPI_GetThemeTransitionDuration WinAPI_GetThreadDesktop WinAPI_GetThreadErrorMode WinAPI_GetThreadLocale WinAPI_GetThreadUILanguage WinAPI_GetTickCount WinAPI_GetTickCount64 WinAPI_GetTimeFormat WinAPI_GetTopWindow WinAPI_GetUDFColorMode WinAPI_GetUpdateRect WinAPI_GetUpdateRgn WinAPI_GetUserDefaultLangID WinAPI_GetUserDefaultLCID WinAPI_GetUserDefaultUILanguage WinAPI_GetUserGeoID WinAPI_GetUserObjectInformation WinAPI_GetVersion WinAPI_GetVersionEx WinAPI_GetVolumeInformation WinAPI_GetVolumeInformationByHandle WinAPI_GetVolumeNameForVolumeMountPoint WinAPI_GetWindow WinAPI_GetWindowDC WinAPI_GetWindowDisplayAffinity WinAPI_GetWindowExt WinAPI_GetWindowFileName WinAPI_GetWindowHeight WinAPI_GetWindowInfo WinAPI_GetWindowLong WinAPI_GetWindowOrg WinAPI_GetWindowPlacement WinAPI_GetWindowRect WinAPI_GetWindowRgn WinAPI_GetWindowRgnBox WinAPI_GetWindowSubclass WinAPI_GetWindowText WinAPI_GetWindowTheme WinAPI_GetWindowThreadProcessId WinAPI_GetWindowWidth WinAPI_GetWorkArea WinAPI_GetWorldTransform WinAPI_GetXYFromPoint WinAPI_GlobalMemoryStatus WinAPI_GradientFill WinAPI_GUIDFromString WinAPI_GUIDFromStringEx WinAPI_HashData WinAPI_HashString WinAPI_HiByte WinAPI_HideCaret WinAPI_HiDWord WinAPI_HiWord WinAPI_InflateRect WinAPI_InitMUILanguage WinAPI_InProcess WinAPI_IntersectClipRect WinAPI_IntersectRect WinAPI_IntToDWord WinAPI_IntToFloat WinAPI_InvalidateRect WinAPI_InvalidateRgn WinAPI_InvertANDBitmap WinAPI_InvertColor WinAPI_InvertRect WinAPI_InvertRgn WinAPI_IOCTL WinAPI_IsAlphaBitmap WinAPI_IsBadCodePtr WinAPI_IsBadReadPtr WinAPI_IsBadStringPtr WinAPI_IsBadWritePtr WinAPI_IsChild WinAPI_IsClassName WinAPI_IsDoorOpen WinAPI_IsElevated WinAPI_IsHungAppWindow WinAPI_IsIconic WinAPI_IsInternetConnected WinAPI_IsLoadKBLayout WinAPI_IsMemory WinAPI_IsNameInExpression WinAPI_IsNetworkAlive WinAPI_IsPathShared WinAPI_IsProcessInJob WinAPI_IsProcessorFeaturePresent WinAPI_IsRectEmpty WinAPI_IsThemeActive WinAPI_IsThemeBackgroun
18712dPartiallyTransparent WinAPI_IsThemePartDefined WinAPI_IsValidLocale WinAPI_IsWindow WinAPI_IsWindowEnabled WinAPI_IsWindowUnicode WinAPI_IsWindowVisible WinAPI_IsWow64Process WinAPI_IsWritable WinAPI_IsZoomed WinAPI_Keybd_Event WinAPI_KillTimer WinAPI_LineDDA WinAPI_LineTo WinAPI_LoadBitmap WinAPI_LoadCursor WinAPI_LoadCursorFromFile WinAPI_LoadIcon WinAPI_LoadIconMetric WinAPI_LoadIconWithScaleDown WinAPI_LoadImage WinAPI_LoadIndirectString WinAPI_LoadKeyboardLayout WinAPI_LoadLibrary WinAPI_LoadLibraryEx WinAPI_LoadMedia WinAPI_LoadResource WinAPI_LoadShell32Icon WinAPI_LoadString WinAPI_LoadStringEx WinAPI_LoByte WinAPI_LocalFree WinAPI_LockDevice WinAPI_LockFile WinAPI_LockResource WinAPI_LockWindowUpdate WinAPI_LockWorkStation WinAPI_LoDWord WinAPI_LongMid WinAPI_LookupIconIdFromDirectoryEx WinAPI_LoWord WinAPI_LPtoDP WinAPI_MAKELANGID WinAPI_MAKELCID WinAPI_MakeLong WinAPI_MakeQWord WinAPI_MakeWord WinAPI_MapViewOfFile WinAPI_MapVirtualKey WinAPI_MaskBlt WinAPI_MessageBeep WinAPI_MessageBoxCheck WinAPI_MessageBoxIndirect WinAPI_MirrorIcon WinAPI_ModifyWorldTransform WinAPI_MonitorFromPoint WinAPI_MonitorFromRect WinAPI_MonitorFromWindow WinAPI_Mouse_Event WinAPI_MoveFileEx WinAPI_MoveMemory WinAPI_MoveTo WinAPI_MoveToEx WinAPI_MoveWindow WinAPI_MsgBox WinAPI_MulDiv WinAPI_MultiByteToWideChar WinAPI_MultiByteToWideCharEx WinAPI_NtStatusToDosError WinAPI_OemToChar WinAPI_OffsetClipRgn WinAPI_OffsetPoints WinAPI_OffsetRect WinAPI_OffsetRgn WinAPI_OffsetWindowOrg WinAPI_OpenDesktop WinAPI_OpenFileById WinAPI_OpenFileDlg WinAPI_OpenFileMapping WinAPI_OpenIcon WinAPI_OpenInputDesktop WinAPI_OpenJobObject WinAPI_OpenMutex WinAPI_OpenProcess WinAPI_OpenProcessToken WinAPI_OpenSemaphore WinAPI_OpenThemeData WinAPI_OpenWindowStation WinAPI_PageSetupDlg WinAPI_PaintDesktop WinAPI_PaintRgn WinAPI_ParseURL WinAPI_ParseUserName WinAPI_PatBlt WinAPI_PathAddBackslash WinAPI_PathAddExtension WinAPI_PathAppend WinAPI_PathBuildRoot WinAPI_PathCanonicalize WinAPI_PathCommonPrefix WinAPI_PathCompactPath WinAPI_PathCompactPathEx WinAPI_PathCreateFromUrl WinAPI_PathFindExtension WinAPI_PathFindFileName WinAPI_PathFindNextComponent WinAPI_PathFindOnPath WinAPI_PathGetArgs WinAPI_PathGetCharType WinAPI_PathGetDriveNumber WinAPI_PathIsContentType WinAPI_PathIsDirectory WinAPI_PathIsDirectoryEmpty WinAPI_PathIsExe WinAPI_PathIsFileSpec WinAPI_PathIsLFNFileSpec WinAPI_PathIsRelative WinAPI_PathIsRoot WinAPI_PathIsSameRoot WinAPI_PathIsSystemFolder WinAPI_PathIsUNC WinAPI_PathIsUNCServer WinAPI_PathIsUNCServerShare WinAPI_PathMakeSystemFolder WinAPI_PathMatchSpec WinAPI_PathParseIconLocation WinAPI_PathRelativePathTo WinAPI_PathRemoveArgs WinAPI_PathRemoveBackslash WinAPI_PathRemoveExtension WinAPI_PathRemoveFileSpec WinAPI_PathRenameExtension WinAPI_PathSearchAndQualify WinAPI_PathSkipRoot WinAPI_PathStripPath WinAPI_PathStripToRoot WinAPI_PathToRegion WinAPI_PathUndecorate WinAPI_PathUnExpandEnvStrings WinAPI_PathUnmakeSystemFolder WinAPI_PathUnquoteSpaces WinAPI_PathYetAnotherMakeUniqueName WinAPI_PickIconDlg WinAPI_PlayEnhMetaFile WinAPI_PlaySound WinAPI_PlgBlt WinAPI_PointFromRect WinAPI_PolyBezier WinAPI_PolyBezierTo WinAPI_PolyDraw WinAPI_Polygon WinAPI_PostMessage WinAPI_PrimaryLangId WinAPI_PrintDlg WinAPI_PrintDlgEx WinAPI_PrintWindow WinAPI_ProgIDFromCLSID WinAPI_PtInRect WinAPI_PtInRectEx WinAPI_PtInRegion WinAPI_PtVisible WinAPI_QueryDosDevice WinAPI_QueryInformationJobObject WinAPI_QueryPerformanceCounter WinAPI_QueryPerformanceFrequency WinAPI_RadialGradientFill WinAPI_ReadDirectoryChanges WinAPI_ReadFile WinAPI_ReadProcessMemory WinAPI_Rectangle WinAPI_RectInRegion WinAPI_RectIsEmpty WinAPI_RectVisible WinAPI_RedrawWindow WinAPI_RegCloseKey WinAPI_RegConnectRegistry WinAPI_RegCopyTree WinAPI_RegCopyTreeEx WinAPI_RegCreateKey WinAPI_RegDeleteEmptyKey WinAPI_RegDeleteKey WinAPI_RegDeleteKeyValue WinAPI_RegDeleteTree WinAPI_RegDeleteTreeEx WinAPI_RegDeleteValue WinAPI_RegDisableReflectionKey WinAPI_RegDuplicateHKey WinAPI_RegEnableReflectionKey WinAPI_RegEnumKey WinAPI_RegEnumValue WinAPI_RegFlushKey WinAPI_RegisterApplicationRestart WinAPI_RegisterClass WinAPI_RegisterClassEx WinAPI_RegisterHotKey WinAPI_RegisterPowerSettingNotification WinAPI_RegisterRawInputDevices WinAPI_RegisterShellHookWindow WinAPI_RegisterWindowMessage WinAPI_RegLoa
18712dMUIString WinAPI_RegNotifyChangeKeyValue WinAPI_RegOpenKey WinAPI_RegQueryInfoKey WinAPI_RegQueryLastWriteTime WinAPI_RegQueryMultipleValues WinAPI_RegQueryReflectionKey WinAPI_RegQueryValue WinAPI_RegRestoreKey WinAPI_RegSaveKey WinAPI_RegSetValue WinAPI_ReleaseCapture WinAPI_ReleaseDC WinAPI_ReleaseMutex WinAPI_ReleaseSemaphore WinAPI_ReleaseStream WinAPI_RemoveClipboardFormatListener WinAPI_RemoveDirectory WinAPI_RemoveFontMemResourceEx WinAPI_RemoveFontResourceEx WinAPI_RemoveWindowSubclass WinAPI_ReOpenFile WinAPI_ReplaceFile WinAPI_ReplaceTextDlg WinAPI_ResetEvent WinAPI_RestartDlg WinAPI_RestoreDC WinAPI_RGB WinAPI_RotatePoints WinAPI_RoundRect WinAPI_SaveDC WinAPI_SaveFileDlg WinAPI_SaveHBITMAPToFile WinAPI_SaveHICONToFile WinAPI_ScaleWindowExt WinAPI_ScreenToClient WinAPI_SearchPath WinAPI_SelectClipPath WinAPI_SelectClipRgn WinAPI_SelectObject WinAPI_SendMessageTimeout WinAPI_SetActiveWindow WinAPI_SetArcDirection WinAPI_SetBitmapBits WinAPI_SetBitmapDimensionEx WinAPI_SetBkColor WinAPI_SetBkMode WinAPI_SetBoundsRect WinAPI_SetBrushOrg WinAPI_SetCapture WinAPI_SetCaretBlinkTime WinAPI_SetCaretPos WinAPI_SetClassLongEx WinAPI_SetColorAdjustment WinAPI_SetCompression WinAPI_SetCurrentDirectory WinAPI_SetCurrentProcessExplicitAppUserModelID WinAPI_SetCursor WinAPI_SetDCBrushColor WinAPI_SetDCPenColor WinAPI_SetDefaultPrinter WinAPI_SetDeviceGammaRamp WinAPI_SetDIBColorTable WinAPI_SetDIBits WinAPI_SetDIBitsToDevice WinAPI_SetDllDirectory WinAPI_SetEndOfFile WinAPI_SetEnhMetaFileBits WinAPI_SetErrorMode WinAPI_SetEvent WinAPI_SetFileAttributes WinAPI_SetFileInformationByHandleEx WinAPI_SetFilePointer WinAPI_SetFilePointerEx WinAPI_SetFileShortName WinAPI_SetFileValidData WinAPI_SetFocus WinAPI_SetFont WinAPI_SetForegroundWindow WinAPI_SetFRBuffer WinAPI_SetGraphicsMode WinAPI_SetHandleInformation WinAPI_SetInformationJobObject WinAPI_SetKeyboardLayout WinAPI_SetKeyboardState WinAPI_SetLastError WinAPI_SetLayeredWindowAttributes WinAPI_SetLocaleInfo WinAPI_SetMapMode WinAPI_SetMessageExtraInfo WinAPI_SetParent WinAPI_SetPixel WinAPI_SetPolyFillMode WinAPI_SetPriorityClass WinAPI_SetProcessAffinityMask WinAPI_SetProcessShutdownParameters WinAPI_SetProcessWindowStation WinAPI_SetRectRgn WinAPI_SetROP2 WinAPI_SetSearchPathMode WinAPI_SetStretchBltMode WinAPI_SetSysColors WinAPI_SetSystemCursor WinAPI_SetTextAlign WinAPI_SetTextCharacterExtra WinAPI_SetTextColor WinAPI_SetTextJustification WinAPI_SetThemeAppProperties WinAPI_SetThreadDesktop WinAPI_SetThreadErrorMode WinAPI_SetThreadExecutionState WinAPI_SetThreadLocale WinAPI_SetThreadUILanguage WinAPI_SetTimer WinAPI_SetUDFColorMode WinAPI_SetUserGeoID WinAPI_SetUserObjectInformation WinAPI_SetVolumeMountPoint WinAPI_SetWindowDisplayAffinity WinAPI_SetWindowExt WinAPI_SetWindowLong WinAPI_SetWindowOrg WinAPI_SetWindowPlacement WinAPI_SetWindowPos WinAPI_SetWindowRgn WinAPI_SetWindowsHookEx WinAPI_SetWindowSubclass WinAPI_SetWindowText WinAPI_SetWindowTheme WinAPI_SetWinEventHook WinAPI_SetWorldTransform WinAPI_SfcIsFileProtected WinAPI_SfcIsKeyProtected WinAPI_ShellAboutDlg WinAPI_ShellAddToRecentDocs WinAPI_ShellChangeNotify WinAPI_ShellChangeNotifyDeregister WinAPI_ShellChangeNotifyRegister WinAPI_ShellCreateDirectory WinAPI_ShellEmptyRecycleBin WinAPI_ShellExecute WinAPI_ShellExecuteEx WinAPI_ShellExtractAssociatedIcon WinAPI_ShellExtractIcon WinAPI_ShellFileOperation WinAPI_ShellFlushSFCache WinAPI_ShellGetFileInfo WinAPI_ShellGetIconOverlayIndex WinAPI_ShellGetImageList WinAPI_ShellGetKnownFolderIDList WinAPI_ShellGetKnownFolderPath WinAPI_ShellGetLocalizedName WinAPI_ShellGetPathFromIDList WinAPI_ShellGetSetFolderCustomSettings WinAPI_ShellGetSettings WinAPI_ShellGetSpecialFolderLocation WinAPI_ShellGetSpecialFolderPath WinAPI_ShellGetStockIconInfo WinAPI_ShellILCreateFromPath WinAPI_ShellNotifyIcon WinAPI_ShellNotifyIconGetRect WinAPI_ShellObjectProperties WinAPI_ShellOpenFolderAndSelectItems WinAPI_ShellOpenWithDlg WinAPI_ShellQueryRecycleBin WinAPI_ShellQueryUserNotificationState WinAPI_ShellRemoveLocalizedName WinAPI_ShellRestricted WinAPI_ShellSetKnownFolderPath WinAPI_ShellSetLocalizedName WinAPI_ShellSetSettings WinAPI_ShellStartNetConnectionDlg WinAPI_ShellUpdateImage WinAPI_ShellUserAuthenticationDlg WinAPI_ShellUserAuthenticationDlgEx WinAPI_ShortToWord WinAPI_ShowCaret WinAPI_ShowCursor WinAPI_ShowError WinAPI_ShowLastError WinAPI_ShowMsg WinAPI_ShowOwnedPopups WinAPI_ShowWindow WinAPI_ShutdownBlockReasonCreate WinAPI_ShutdownBlockReasonDestroy WinAPI_ShutdownBlockReasonQuery WinAPI_SizeOfResource WinAPI_StretchBlt WinAPI_StretchDIBits WinAPI_StrFormatByteSize WinAPI_StrFormatByteSizeEx WinAPI_StrFormatKBSize WinAPI_StrFromTimeInterval WinAPI_StringFromGUID WinAPI_StringLenA WinAPI_StringLenW WinAPI_StrLen WinAPI_StrokeAndFillPath WinAPI_StrokePath WinAPI_StructToArray WinAPI_SubLangId WinAPI_SubtractRect WinAPI_SwapDWord WinAPI_SwapQWord WinAPI_SwapWord WinAPI_SwitchColor WinAPI_SwitchDesktop WinAPI_SwitchToThisWindow WinAPI_SystemParametersInfo WinAPI_TabbedTextOut WinAPI_TerminateJobObject WinAPI_TerminateProcess WinAPI_TextOut WinAPI_TileWindows WinAPI_TrackMouseEvent WinAPI_TransparentBlt WinAPI_TwipsPerPixelX WinAPI_TwipsPerPixelY WinAPI_UnhookWindowsHookEx WinAPI_UnhookWinEvent WinAPI_UnionRect WinAPI_UnionStruct WinAPI_UniqueHardwareID WinAPI_UnloadKeyboardLayout WinAPI_UnlockFile WinAPI_UnmapViewOfFile WinAPI_UnregisterApplicationRestart WinAPI_UnregisterClass WinAPI_UnregisterHotKey WinAPI_UnregisterPowerSettingNotification WinAPI_UpdateLayeredWindow WinAPI_UpdateLayeredWindowEx W
vendor: 2,773 bytes, lines 18712-18721
18712inAPI_UpdateLayeredWindowIndirect WinAPI_UpdateResource WinAPI_UpdateWindow WinAPI_UrlApplyScheme WinAPI_UrlCanonicalize WinAPI_UrlCombine WinAPI_UrlCompare WinAPI_UrlCreateFromPath WinAPI_UrlFixup WinAPI_UrlGetPart WinAPI_UrlHash WinAPI_UrlIs WinAPI_UserHandleGrantAccess WinAPI_ValidateRect WinAPI_ValidateRgn WinAPI_VerQueryRoot WinAPI_VerQueryValue WinAPI_VerQueryValueEx WinAPI_WaitForInputIdle WinAPI_WaitForMultipleObjects WinAPI_WaitForSingleObject WinAPI_WideCharToMultiByte WinAPI_WidenPath WinAPI_WindowFromDC WinAPI_WindowFromPoint WinAPI_WordToShort WinAPI_Wow64EnableWow64FsRedirection WinAPI_WriteConsole WinAPI_WriteFile WinAPI_WriteProcessMemory WinAPI_ZeroMemory WinNet_AddConnection WinNet_AddConnection2 WinNet_AddConnection3 WinNet_CancelConnection WinNet_CancelConnection2 WinNet_CloseEnum WinNet_ConnectionDialog WinNet_ConnectionDialog1 WinNet_DisconnectDialog WinNet_DisconnectDialog1 WinNet_EnumResource WinNet_GetConnection WinNet_GetConnectionPerformance WinNet_GetLastError WinNet_GetNetworkInformation WinNet_GetProviderName WinNet_GetResourceInformation WinNet_GetResourceParent WinNet_GetUniversalName WinNet_GetUser WinNet_OpenEnum WinNet_RestoreConnection WinNet_UseConnection Word_Create Word_DocAdd Word_DocAttach Word_DocClose Word_DocExport Word_DocFind Word_DocFindReplace Word_DocGet Word_DocLinkAdd Word_DocLinkGet Word_DocOpen Word_DocPictureAdd Word_DocPrint Word_DocRangeSet Word_DocSave Word_DocSaveAs Word_DocTableRead Word_DocTableWrite Word_Quit",
18713            a = {
18714                v: [e.C(";", "$", {r: 0}), e.C("#cs", "#ce"), e.C("#comments-start", "#comments-end")]
18715            }, n = {cN: "variable", b: "\\$[A-z0-9_]+"},
18716            o = {cN: "string", v: [{b: /"/, e: /"/, c: [{b: /""/, r: 0}]}, {b: /'/, e: /'/, c: [{b: /''/, r: 0}]}]},
18717            s = {v: [e.BNM, e.CNM]}, l = {
18718                cN: "preprocessor",
18719                b: "#",
18720                e: "$",
18721                k: "include include-once NoTrayIcon OnAutoItStartRegister RequireAdmin pragma Au3Stripper_Ignore_Funcs Au3Stripper_Ignore_Variables Au3Stripper_Off Au3Stripper_On Au3Stripper_Parameters AutoIt3Wrapper_Add_Constants AutoIt3Wrapper_Au3Check_Parameters AutoIt3Wrapper_Au3Check_Stop_OnWarning AutoIt3Wrapper_Aut2Exe AutoIt3Wrapper_AutoIt3 AutoIt3Wrapper_AutoIt3Dir AutoIt3Wrapper_Change2CUI AutoIt3Wrapper_Compile_Both AutoIt3Wrapper_Compression AutoIt3Wrapper_EndIf AutoIt3Wrapper_Icon AutoIt3Wrapper_If_Compile AutoIt3Wrapper_If_Run AutoIt3Wrapper_Jump_To_First_Error AutoIt3Wrapper_OutFile AutoIt3Wrapper_OutFile_Type AutoIt3Wrapper_OutFile_X64 AutoIt3Wrapper_PlugIn_Funcs AutoIt3Wrapper_Res_Comment Autoit3Wrapper_Res_Compatibility AutoIt3Wrapper_Res_Description AutoIt3Wrapper_Res_Field AutoIt3Wrapper_Res_File_Add AutoIt3Wrapper_Res_File
vendor: 18,047 bytes, lines 18721-18934
18721Version AutoIt3Wrapper_Res_FileVersion_AutoIncrement AutoIt3Wrapper_Res_Icon_Add AutoIt3Wrapper_Res_Language AutoIt3Wrapper_Res_LegalCopyright AutoIt3Wrapper_Res_ProductVersion AutoIt3Wrapper_Res_requestedExecutionLevel AutoIt3Wrapper_Res_SaveSource AutoIt3Wrapper_Run_After AutoIt3Wrapper_Run_Au3Check AutoIt3Wrapper_Run_Au3Stripper AutoIt3Wrapper_Run_Before AutoIt3Wrapper_Run_Debug_Mode AutoIt3Wrapper_Run_SciTE_Minimized AutoIt3Wrapper_Run_SciTE_OutputPane_Minimized AutoIt3Wrapper_Run_Tidy AutoIt3Wrapper_ShowProgress AutoIt3Wrapper_Testing AutoIt3Wrapper_Tidy_Stop_OnError AutoIt3Wrapper_UPX_Parameters AutoIt3Wrapper_UseUPX AutoIt3Wrapper_UseX64 AutoIt3Wrapper_Version AutoIt3Wrapper_Versioning AutoIt3Wrapper_Versioning_Parameters Tidy_Off Tidy_On Tidy_Parameters EndRegion Region",
18722                c: [{b: /\\\n/, r: 0}, {
18723                    bK: "include",
18724                    e: "$",
18725                    c: [o, {
18726                        cN: "string",
18727                        v: [{b: "<", e: ">"}, {b: /"/, e: /"/, c: [{b: /""/, r: 0}]}, {
18728                            b: /'/,
18729                            e: /'/,
18730                            c: [{b: /''/, r: 0}]
18731                        }]
18732                    }]
18733                }, o, a]
18734            }, c = {cN: "constant", b: "@[A-z0-9_]+"}, d = {
18735                cN: "function",
18736                bK: "Func",
18737                e: "$",
18738                eE: !0,
18739                i: "\\$|\\[|%",
18740                c: [e.UTM, {cN: "params", b: "\\(", e: "\\)", c: [n, o, s]}]
18741            };
18742        return {cI: !0, k: {keyword: t, built_in: i, literal: r}, c: [a, n, o, s, l, c, d]}
18743    }), e.registerLanguage("avrasm", function (e) {
18744        return {
18745            cI: !0,
18746            l: "\\.?" + e.IR,
18747            k: {
18748                keyword: "adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",
18749                built_in: "r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",
18750                preprocessor: ".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"
18751            },
18752            c: [e.CBCM, e.C(";", "$", {r: 0}), e.CNM, e.BNM, {
18753                cN: "number",
18754                b: "\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"
18755            }, e.QSM, {cN: "string", b: "'", e: "[^\\\\]'", i: "[^\\\\][^']"}, {
18756                cN: "label",
18757                b: "^[A-Za-z0-9_.$]+:"
18758            }, {cN: "preprocessor", b: "#", e: "$"}, {cN: "localvars", b: "@[0-9]+"}]
18759        }
18760    }), e.registerLanguage("axapta", function (e) {
18761        return {
18762            k: "false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",
18763            c: [e.CLCM, e.CBCM, e.ASM, e.QSM, e.CNM, {cN: "preprocessor", b: "#", e: "$"}, {
18764                cN: "class",
18765                bK: "class interface",
18766                e: "{",
18767                eE: !0,
18768                i: ":",
18769                c: [{bK: "extends implements"}, e.UTM]
18770            }]
18771        }
18772    }), e.registerLanguage("bash", function (e) {
18773        var t = {cN: "variable", v: [{b: /\$[\w\d#@][\w\d_]*/}, {b: /\$\{(.*?)}/}]},
18774            r = {cN: "string", b: /"/, e: /"/, c: [e.BE, t, {cN: "variable", b: /\$\(/, e: /\)/, c: [e.BE]}]},
18775            i = {cN: "string", b: /'/, e: /'/};
18776        return {
18777            aliases: ["sh", "zsh"],
18778            l: /-?[a-z\.]+/,
18779            k: {
18780                keyword: "if then else elif fi for while in do done case esac function",
18781                literal: "true false",
18782                built_in: "break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",
18783                operator: "-ne -eq -lt -gt -f -d -e -s -l -a"
18784            },
18785            c: [{cN: "shebang", b: /^#![^\n]+sh\s*$/, r: 10}, {
18786                cN: "function",
18787                b: /\w[\w\d_]*\s*\(\s*\)\s*\{/,
18788                rB: !0,
18789                c: [e.inherit(e.TM, {b: /\w[\w\d_]*/})],
18790                r: 0
18791            }, e.HCM, e.NM, r, i, t]
18792        }
18793    }), e.registerLanguage("brainfuck", function (e) {
18794        var t = {cN: "literal", b: "[\\+\\-]", r: 0};
18795        return {
18796            aliases: ["bf"],
18797            c: [e.C("[^\\[\\]\\.,\\+\\-<> \r\n]", "[\\[\\]\\.,\\+\\-<> \r\n]", {rE: !0, r: 0}), {
18798                cN: "title",
18799                b: "[\\[\\]]",
18800                r: 0
18801            }, {cN: "string", b: "[\\.,]", r: 0}, {b: /\+\+|\-\-/, rB: !0, c: [t]}, t]
18802        }
18803    }), e.registerLanguage("cal", function (e) {
18804        var t = "div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",
18805            r = "false true", i = [e.CLCM, e.C(/\{/, /\}/, {r: 0}), e.C(/\(\*/, /\*\)/, {r: 10})],
18806            a = {cN: "string", b: /'/, e: /'/, c: [{b: /''/}]}, n = {cN: "string", b: /(#\d+)+/},
18807            o = {cN: "date", b: "\\b\\d+(\\.\\d+)?(DT|D|T)", r: 0}, s = {cN: "variable", b: '"', e: '"'}, l = {
18808                cN: "function",
18809                bK: "procedure",
18810                e: /[:;]/,
18811                k: "procedure|10",
18812                c: [e.TM, {cN: "params", b: /\(/, e: /\)/, k: t, c: [a, n]}].concat(i)
18813            }, c = {
18814                cN: "class",
18815                b: "OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",
18816                rB: !0,
18817                c: [e.TM, l]
18818            };
18819        return {cI: !0, k: {keyword: t, literal: r}, c: [a, n, o, s, e.NM, c, l]}
18820    }), e.registerLanguage("capnproto", function (e) {
18821        return {
18822            aliases: ["capnp"],
18823            k: {
18824                keyword: "struct enum interface union group import using const annotation extends in of on as with from fixed",
18825                built_in: "Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",
18826                literal: "true false"
18827            },
18828            c: [e.QSM, e.NM, e.HCM, {cN: "shebang", b: /@0x[\w\d]{16};/, i: /\n/}, {
18829                cN: "number",
18830                b: /@\d+\b/
18831            }, {
18832                cN: "class",
18833                bK: "struct enum",
18834                e: /\{/,
18835                i: /\n/,
18836                c: [e.inherit(e.TM, {starts: {eW: !0, eE: !0}})]
18837            }, {cN: "class", bK: "interface", e: /\{/, i: /\n/, c: [e.inherit(e.TM, {starts: {eW: !0, eE: !0}})]}]
18838        }
18839    }), e.registerLanguage("ceylon", function (e) {
18840        var t = "assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty",
18841            r = "shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small",
18842            i = "doc by license see throws tagged", a = r + " " + i,
18843            n = {cN: "subst", eB: !0, eE: !0, b: /``/, e: /``/, k: t, r: 10},
18844            o = [{cN: "string", b: '"""', e: '"""', r: 10}, {cN: "string", b: '"', e: '"', c: [n]}, {
18845                cN: "string",
18846                b: "'",
18847                e: "'"
18848            }, {
18849                cN: "number",
18850                b: "#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",
18851                r: 0
18852            }];
18853        return n.c = o, {
18854            k: {keyword: t, annotation: a},
18855            i: "\\$[^01]|#[^0-9a-fA-F]",
18856            c: [e.CLCM, e.C("/\\*", "\\*/", {c: ["self"]}), {
18857                cN: "annotation",
18858                b: '@[a-z]\\w*(?:\\:"[^"]*")?'
18859            }].concat(o)
18860        }
18861    }), e.registerLanguage("clojure", function (e) {
18862        var t = {built_in: "def cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},
18863            r = "a-zA-Z_\\-!.?+*=<>&#'", i = "[" + r + "][" + r + "0-9/;:]*", a = "[-+]?\\d+(\\.\\d+)?",
18864            n = {b: i, r: 0}, o = {cN: "number", b: a, r: 0}, s = e.inherit(e.QSM, {i: null}),
18865            l = e.C(";", "$", {r: 0}), c = {cN: "literal", b: /\b(true|false|nil)\b/},
18866            d = {cN: "collection", b: "[\\[\\{]", e: "[\\]\\}]"}, p = {cN: "comment", b: "\\^" + i},
18867            u = e.C("\\^\\{", "\\}"), m = {cN: "attribute", b: "[:]" + i}, _ = {cN: "list", b: "\\(", e: "\\)"},
18868            b = {eW: !0, r: 0}, g = {k: t, l: i, cN: "keyword", b: i, starts: b}, I = [_, s, p, u, l, m, d, o, c, n];
18869        return _.c = [e.C("comment", ""), g, b], b.c = I, d.c = I, {
18870            aliases: ["clj"],
18871            i: /\S/,
18872            c: [_, s, p, u, l, m, d, o, c]
18873        }
18874    }), e.registerLanguage("clojure-repl", function (e) {
18875        return {c: [{cN: "prompt", b: /^([\w.-]+|\s*#_)=>/, starts: {e: /$/, sL: "clojure"}}]}
18876    }), e.registerLanguage("cmake", function (e) {
18877        return {
18878            aliases: ["cmake.in"], cI: !0, k: {
18879                keyword: "add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",
18880                operator: "equal less greater strless strgreater strequal matches"
18881            }, c: [{cN: "envvar", b: "\\${", e: "}"}, e.HCM, e.QSM, e.NM]
18882        }
18883    }), e.registerLanguage("coffeescript", function (e) {
18884        var t = {
18885                keyword: "in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",
18886                literal: "true false null undefined yes no on off",
18887                built_in: "npm require console print module global window document"
18888            }, r = "[A-Za-z$_][0-9A-Za-z$_]*", i = {cN: "subst", b: /#\{/, e: /}/, k: t},
18889            a = [e.BNM, e.inherit(e.CNM, {starts: {e: "(\\s*/)?", r: 0}}), {
18890                cN: "string",
18891                v: [{b: /'''/, e: /'''/, c: [e.BE]}, {b: /'/, e: /'/, c: [e.BE]}, {
18892                    b: /"""/,
18893                    e: /"""/,
18894                    c: [e.BE, i]
18895                }, {b: /"/, e: /"/, c: [e.BE, i]}]
18896            }, {
18897                cN: "regexp",
18898                v: [{b: "///", e: "///", c: [i, e.HCM]}, {
18899                    b: "//[gim]*",
18900                    r: 0
18901                }, {b: /\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]
18902            }, {cN: "property", b: "@" + r}, {b: "`", e: "`", eB: !0, eE: !0, sL: "javascript"}];
18903        i.c = a;
18904        var n = e.inherit(e.TM, {b: r}), o = "(\\(.*\\))?\\s*\\B[-=]>",
18905            s = {cN: "params", b: "\\([^\\(]", rB: !0, c: [{b: /\(/, e: /\)/, k: t, c: ["self"].concat(a)}]};
18906        return {
18907            aliases: ["coffee", "cson", "iced"],
18908            k: t,
18909            i: /\/\*/,
18910            c: a.concat([e.C("###", "###"), e.HCM, {
18911                cN: "function",
18912                b: "^\\s*" + r + "\\s*=\\s*" + o,
18913                e: "[-=]>",
18914                rB: !0,
18915                c: [n, s]
18916            }, {b: /[:\(,=]\s*/, r: 0, c: [{cN: "function", b: o, e: "[-=]>", rB: !0, c: [s]}]}, {
18917                cN: "class",
18918                bK: "class",
18919                e: "$",
18920                i: /[:="\[\]]/,
18921                c: [{bK: "extends", eW: !0, i: /[:="\[\]]/, c: [n]}, n]
18922            }, {cN: "attribute", b: r + ":", e: ":", rB: !0, rE: !0, r: 0}])
18923        }
18924    }), e.registerLanguage("cpp", function (e) {
18925        var t = {cN: "keyword", b: "\\b[a-z\\d_]*_t\\b"}, r = {
18926                cN: "string",
18927                v: [e.inherit(e.QSM, {b: '((u8?|U)|L)?"'}), {b: '(u8?|U)?R"', e: '"', c: [e.BE]}, {
18928                    b: "'\\\\?.",
18929                    e: "'",
18930                    i: "."
18931                }]
18932            }, i = {cN: "number", v: [{b: "\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"}, {b: e.CNR}]},
18933            a = e.IR + "\\s*\\(", n = {
18934                keyword: "int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_
18934cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong",
18935                built_in: "std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf",
18936                literal: "true false nullptr NULL"
18937            };
18938        return {
18939            aliases: ["c", "cc", "h", "c++", "h++", "hpp"],
18940            k: n,
18941            i: "</",
18942            c: [t, e.CLCM, e.CBCM, i, r, {
18943                cN: "preprocessor",
18944                b: "#",
18945                e: "$",
18946                k: "if else elif endif define undef warning error line pragma ifdef ifndef",
18947                c: [{b: /\\\n/, r: 0}, {
18948                    bK: "include",
18949                    e: "$",
18950                    c: [r, {cN: "string", b: "<", e: ">", i: "\\n"}]
18951                }, r, i, e.CLCM, e.CBCM]
18952            }, {
18953                b: "\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",
18954                e: ">",
18955                k: n,
18956                c: ["self", t]
18957            }, {b: e.IR + "::", k: n}, {bK: "new throw return else", r: 0}, {
18958                cN: "function",
18959                b: "(" + e.IR + "[\\*&\\s]+)+" + a,
18960                rB: !0,
18961                e: /[{;=]/,
18962                eE: !0,
18963                k: n,
18964                c: [{b: a, rB: !0, c: [e.TM], r: 0}, {
18965                    cN: "params",
18966                    b: /\(/,
18967                    e: /\)/,
18968                    k: n,
18969                    r: 0,
18970                    c: [e.CLCM, e.CBCM, r, i]
18971                }, e.CLCM, e.CBCM]
18972            }]
18973        }
18974    }), e.registerLanguage("cs", function (e) {
18975        var t = "abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",
18976            r = e.IR + "(<" + e.IR + ">)?";
18977        return {
18978            aliases: ["csharp"],
18979            k: t,
18980            i: /::/,
18981            c: [e.C("///", "$", {
18982                rB: !0,
18983                c: [{cN: "xmlDocTag", v: [{b: "///", r: 0}, {b: "<!--|-->"}, {b: "</?", e: ">"}]}]
18984            }), e.CLCM, e.CBCM, {
18985                cN: "preprocessor",
18986                b: "#",
18987                e: "$",
18988                k: "if else elif endif define undef warning error line region endregion pragma checksum"
18989            }, {cN: "string", b: '@"', e: '"', c: [{b: '""'}]}, e.ASM, e.QSM, e.CNM, {
18990                bK: "class interface",
18991                e: /[{;=]/,
18992                i: /[^\s:]/,
18993                c: [e.TM, e.CLCM, e.CBCM]
18994            }, {
18995                bK: "namespace",
18996                e: /[{;=]/,
18997                i: /[^\s:]/,
18998                c: [{cN: "title", b: "[a-zA-Z](\\.?\\w)*", r: 0}, e.CLCM, e.CBCM]
18999            }, {bK: "new return throw await", r: 0}, {
19000                cN: "function",
19001                b: "(" + r + "\\s+)+" + e.IR + "\\s*\\(",
19002                rB: !0,
19003                e: /[{;=]/,
19004                eE: !0,
19005                k: t,
19006                c: [{b: e.IR + "\\s*\\(", rB: !0, c: [e.TM], r: 0}, {
19007                    cN: "params",
vendor: 10,713 bytes, lines 19008-19184
19008                    b: /\(/,
19009                    e: /\)/,
19010                    eB: !0,
19011                    eE: !0,
19012                    k: t,
19013                    r: 0,
19014                    c: [e.ASM, e.QSM, e.CNM, e.CBCM]
19015                }, e.CLCM, e.CBCM]
19016            }]
19017        }
19018    }), e.registerLanguage("css", function (e) {
19019        var t = "[a-zA-Z-][a-zA-Z0-9_-]*", r = {cN: "function", b: t + "\\(", rB: !0, eE: !0, e: "\\("}, i = {
19020            cN: "rule",
19021            b: /[A-Z\_\.\-]+\s*:/,
19022            rB: !0,
19023            e: ";",
19024            eW: !0,
19025            c: [{
19026                cN: "attribute",
19027                b: /\S/,
19028                e: ":",
19029                eE: !0,
19030                starts: {
19031                    cN: "value",
19032                    eW: !0,
19033                    eE: !0,
19034                    c: [r, e.CSSNM, e.QSM, e.ASM, e.CBCM, {cN: "hexcolor", b: "#[0-9A-Fa-f]+"}, {
19035                        cN: "important",
19036                        b: "!important"
19037                    }]
19038                }
19039            }]
19040        };
19041        return {
19042            cI: !0,
19043            i: /[=\/|'\$]/,
19044            c: [e.CBCM, i, {cN: "id", b: /\#[A-Za-z0-9_-]+/}, {
19045                cN: "class",
19046                b: /\.[A-Za-z0-9_-]+/
19047            }, {cN: "attr_selector", b: /\[/, e: /\]/, i: "$"}, {
19048                cN: "pseudo",
19049                b: /:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/
19050            }, {cN: "at_rule", b: "@(font-face|page)", l: "[a-z-]+", k: "font-face page"}, {
19051                cN: "at_rule",
19052                b: "@",
19053                e: "[{;]",
19054                c: [{cN: "keyword", b: /\S+/}, {b: /\s/, eW: !0, eE: !0, r: 0, c: [r, e.ASM, e.QSM, e.CSSNM]}]
19055            }, {cN: "tag", b: t, r: 0}, {cN: "rules", b: "{", e: "}", i: /\S/, c: [e.CBCM, i]}]
19056        }
19057    }), e.registerLanguage("d", function (e) {
19058        var t = {
19059                keyword: "abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",
19060                built_in: "bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",
19061                literal: "false null true"
19062            }, r = "(0|[1-9][\\d_]*)", i = "(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)", a = "0[bB][01_]+",
19063            n = "([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)", o = "0[xX]" + n, s = "([eE][+-]?" + i + ")",
19064            l = "(" + i + "(\\.\\d*|" + s + ")|\\d+\\." + i + i + "|\\." + r + s + "?)",
19065            c = "(0[xX](" + n + "\\." + n + "|\\.?" + n + ")[pP][+-]?" + i + ")", d = "(" + r + "|" + a + "|" + o + ")",
19066            p = "(" + c + "|" + l + ")",
19067            u = "\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",
19068            m = {cN: "number", b: "\\b" + d + "(L|u|U|Lu|LU|uL|UL)?", r: 0},
19069            _ = {cN: "number", b: "\\b(" + p + "([fF]|L|i|[fF]i|Li)?|" + d + "(i|[fF]i|Li))", r: 0},
19070            b = {cN: "string", b: "'(" + u + "|.)", e: "'", i: "."}, g = {b: u, r: 0},
19071            I = {cN: "string", b: '"', c: [g], e: '"[cwd]?'}, C = {cN: "string", b: '[rq]"', e: '"[cwd]?', r: 5},
19072            f = {cN: "string", b: "`", e: "`[cwd]?"}, h = {cN: "string", b: 'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?', r: 10},
19073            S = {cN: "string", b: 'q"\\{', e: '\\}"'}, v = {cN: "shebang", b: "^#!", e: "$", r: 5},
19074            G = {cN: "preprocessor", b: "#(line)", e: "$", r: 5}, P = {cN: "keyword", b: "@[a-zA-Z_][a-zA-Z_\\d]*"},
19075            y = e.C("\\/\\+", "\\+\\/", {c: ["self"], r: 10});
19076        return {l: e.UIR, k: t, c: [e.CLCM, e.CBCM, y, h, I, C, f, S, _, m, b, v, G, P]}
19077    }), e.registerLanguage("markdown", function (e) {
19078        return {
19079            aliases: ["md", "mkdown", "mkd"],
19080            c: [{cN: "header", v: [{b: "^#{1,6}", e: "$"}, {b: "^.+?\\n[=-]{2,}$"}]}, {
19081                b: "<",
19082                e: ">",
19083                sL: "xml",
19084                r: 0
19085            }, {cN: "bullet", b: "^([*+-]|(\\d+\\.))\\s+"}, {cN: "strong", b: "[*_]{2}.+?[*_]{2}"}, {
19086                cN: "emphasis",
19087                v: [{b: "\\*.+?\\*"}, {b: "_.+?_", r: 0}]
19088            }, {cN: "blockquote", b: "^>\\s+", e: "$"}, {
19089                cN: "code",
19090                v: [{b: "`.+?`"}, {b: "^( {4}|	)", e: "$", r: 0}]
19091            }, {cN: "horizontal_rule", b: "^[-\\*]{3,}", e: "$"}, {
19092                b: "\\[.+?\\][\\(\\[].*?[\\)\\]]",
19093                rB: !0,
19094                c: [{cN: "link_label", b: "\\[", e: "\\]", eB: !0, rE: !0, r: 0}, {
19095                    cN: "link_url",
19096                    b: "\\]\\(",
19097                    e: "\\)",
19098                    eB: !0,
19099                    eE: !0
19100                }, {cN: "link_reference", b: "\\]\\[", e: "\\]", eB: !0, eE: !0}],
19101                r: 10
19102            }, {
19103                b: "^\\[.+\\]:",
19104                rB: !0,
19105                c: [{cN: "link_reference", b: "\\[", e: "\\]:", eB: !0, eE: !0, starts: {cN: "link_url", e: "$"}}]
19106            }]
19107        }
19108    }), e.registerLanguage("dart", function (e) {
19109        var t = {cN: "subst", b: "\\$\\{", e: "}", k: "true false null this is new super"}, r = {
19110            cN: "string",
19111            v: [{b: "r'''", e: "'''"}, {b: 'r"""', e: '"""'}, {b: "r'", e: "'", i: "\\n"}, {
19112                b: 'r"',
19113                e: '"',
19114                i: "\\n"
19115            }, {b: "'''", e: "'''", c: [e.BE, t]}, {b: '"""', e: '"""', c: [e.BE, t]}, {
19116                b: "'",
19117                e: "'",
19118                i: "\\n",
19119                c: [e.BE, t]
19120            }, {b: '"', e: '"', i: "\\n", c: [e.BE, t]}]
19121        };
19122        t.c = [e.CNM, r];
19123        var i = {
19124            keyword: "assert break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch this throw true try var void while with",
19125            literal: "abstract as dynamic export external factory get implements import library operator part set static typedef",
19126            built_in: "print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"
19127        };
19128        return {
19129            k: i,
19130            c: [r, e.C("/\\*\\*", "\\*/", {sL: "markdown"}), e.C("///", "$", {sL: "markdown"}), e.CLCM, e.CBCM, {
19131                cN: "class",
19132                bK: "class interface",
19133                e: "{",
19134                eE: !0,
19135                c: [{bK: "extends implements"}, e.UTM]
19136            }, e.CNM, {cN: "annotation", b: "@[A-Za-z]+"}, {b: "=>"}]
19137        }
19138    }), e.registerLanguage("delphi", function (e) {
19139        var t = "exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure",
19140            r = [e.CLCM, e.C(/\{/, /\}/, {r: 0}), e.C(/\(\*/, /\*\)/, {r: 10})],
19141            i = {cN: "string", b: /'/, e: /'/, c: [{b: /''/}]}, a = {cN: "string", b: /(#\d+)+/},
19142            n = {b: e.IR + "\\s*=\\s*class\\s*\\(", rB: !0, c: [e.TM]}, o = {
19143                cN: "function",
19144                bK: "function constructor destructor procedure",
19145                e: /[:;]/,
19146                k: "function constructor|10 destructor|10 procedure|10",
19147                c: [e.TM, {cN: "params", b: /\(/, e: /\)/, k: t, c: [i, a]}].concat(r)
19148            };
19149        return {cI: !0, k: t, i: /"|\$[G-Zg-z]|\/\*|<\/|\|/, c: [i, a, e.NM, n, o].concat(r)}
19150    }), e.registerLanguage("diff", function (e) {
19151        return {
19152            aliases: ["patch"],
19153            c: [{
19154                cN: "chunk",
19155                r: 10,
19156                v: [{b: /^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/}, {b: /^\*\*\* +\d+,\d+ +\*\*\*\*$/}, {b: /^\-\-\- +\d+,\d+ +\-\-\-\-$/}]
19157            }, {
19158                cN: "header",
19159                v: [{b: /Index: /, e: /$/}, {b: /=====/, e: /=====$/}, {b: /^\-\-\-/, e: /$/}, {
19160                    b: /^\*{3} /,
19161                    e: /$/
19162                }, {b: /^\+\+\+/, e: /$/}, {b: /\*{5}/, e: /\*{5}$/}]
19163            }, {cN: "addition", b: "^\\+", e: "$"}, {cN: "deletion", b: "^\\-", e: "$"}, {
19164                cN: "change",
19165                b: "^\\!",
19166                e: "$"
19167            }]
19168        }
19169    }), e.registerLanguage("django", function (e) {
19170        var t = {
19171            cN: "filter",
19172            b: /\|[A-Za-z]+:?/,
19173            k: "truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",
19174            c: [{cN: "argument", b: /"/, e: /"/}, {cN: "argument", b: /'/, e: /'/}]
19175        };
19176        return {
19177            aliases: ["jinja"],
19178            cI: !0,
19179            sL: "xml",
19180            c: [e.C(/\{%\s*comment\s*%}/, /\{%\s*endcomment\s*%}/), e.C(/\{#/, /#}/), {
19181                cN: "template_tag",
19182                b: /\{%/,
19183                e: /%}/,
19184                k: "comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith 
19184static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim",
19185                c: [t]
19186            }, {cN: "variable", b: /\{\{/, e: /}}/, c: [t]}]
19187        }
19188    }), e.registerLanguage("dns", function (e) {
19189        return {
19190            aliases: ["bind", "zone"],
19191            k: {keyword: "IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT"},
19192            c: [e.C(";", "$"), {cN: "operator", bK: "$TTL $GENERATE $INCLUDE $ORIGIN"}, {
19193                cN: "number",
19194                b: "((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))"
19195            }, {
19196                cN: "number",
19197                b: "((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])"
19198            }]
19199        }
19200    }), e.registerLanguage("dockerfile", function (e) {
19201        return {
19202            aliases: ["docker"],
19203            cI: !0,
19204            k: {built_ins: "from maintainer cmd expose add copy entrypoint volume user workdir onbuild run env"},
19205            c: [e.HCM, {
19206                k: {built_in: "run cmd entrypoint volume add copy workdir onbuild"},
19207                b: /^ *(onbuild +)?(run|cmd|entrypoint|volume|add|copy|workdir) +/,
19208                starts: {e: /[^\\]\n/, sL: "bash"}
19209            }, {
19210                k: {built_in: "from maintainer expose env user onbuild"},
19211                b: /^ *(onbuild +)?(from|maintainer|expose|env|user|onbuild) +/,
19212                e: /[^\\]\n/,
19213                c: [e.ASM, e.QSM, e.NM, e.HCM]
19214            }]
19215        }
19216    }), e.registerLanguage("dos", function (e) {
19217        var t = e.C(/@?rem\b/, /$/, {r: 10}),
19218            r = {cN: "label", b: "^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)", r: 0};
19219        return {
19220            aliases: ["bat", "cmd"],
19221            cI: !0,
19222            k: {
19223                flow: "if else goto for in do call exit not exist errorlevel defined",
19224                operator: "equ neq lss leq gtr geq",
19225                keyword: "shift cd dir echo setlocal endlocal set pause copy",
19226                stream: "prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",
19227                winutils: "ping net ipconfig taskkill xcopy ren del",
19228                built_in: "append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol"
19229            },
19230            c: [{cN: "envvar", b: /%%[^ ]|%[^ ]+?%|![^ ]+?!/}, {
19231                cN: "function",
19232                b: r.b,
19233                e: "goto:eof",
19234                c: [e.inherit(e.TM, {b: "([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}), t]
19235            }, {cN: "number", b: "\\b\\d+", r: 0}, t]
19236        }
19237    }), e.registerLanguage("dust", function (e) {
19238        var t = "if eq ne lt lte gt gte select default math sep";
19239        return {
19240            aliases: ["dst"],
19241            cI: !0,
19242            sL: "xml",
19243            c: [{
19244                cN: "expression",
19245                b: "{",
19246                e: "}",
19247                r: 0,
19248                c: [{cN: "begin-block", b: "#[a-zA-Z- .]+", k: t}, {cN: "string", b: '"', e: '"'}, {
19249                    cN: "end-block",
19250                    b: "\\/[a-zA-Z- .]+",
19251                    k: t
19252                }, {cN: "variable", b: "[a-zA-Z-.]+", k: t, r: 0}]
19253            }]
19254        }
19255    }), e.registerLanguage("elixir", function (e) {
19256        var t = "[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",
19257            r = "[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",
19258            i = "and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",
19259            a = {cN: "subst", b: "#\\{", e: "}", l: t, k: i},
19260            n = {cN: "string", c: [e.BE, a], v: [{b: /'/, e: /'/}, {b: /"/, e: /"/}]},
19261            o = {cN: "function", bK: "def defp defmacro", e: /\B\b/, c: [e.inherit(e.TM, {b: t, endsParent: !0})]},
19262            s = e.inherit(o, {cN: "class", bK: "defmodule defrecord", e: /\bdo\b|$|;/}),
19263            l = [n, e.HCM, s, o, {cN: "constant", b: "(\\b[A-Z_]\\w*(.)?)+", r: 0}, {
19264                cN: "symbol",
19265                b: ":",
19266                c: [n, {b: r}],
19267                r: 0
19268            }, {cN: "symbol", b: t + ":", r: 0}, {
19269                cN: "number",
19270                b: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",
19271                r: 0
19272            }, {cN: "variable", b: "(\\$\\W)|((\\$|\\@\\@?)(\\w+))"}, {b: "->"}, {
19273                b: "(" + e.RSR + ")\\s*",
19274                c: [e.HCM, {
19275                    cN: "regexp",
19276                    i: "\\n",
19277                    c: [e.BE, a],
19278                    v: [{b: "/", e: "/[a-z]*"}, {b: "%r\\[", e: "\\][a-z]*"}]
19279                }],
19280                r: 0
19281            }];
19282        return a.c = l, {l: t, k: i, c: l}
19283    }), e.registerLanguage("elm", function (e) {
19284        var t = [e.C("--", "$"), e.C("{-", "-}", {c: ["self"]})], r = {cN: "type", b: "\\b[A-Z][\\w']*", r: 0}, i = {
19285            cN: "container",
19286            b: "\\(",
19287            e: "\\)",
19288            i: '"',
19289            c: [{
19290                cN: "type",
19291                b: "\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"
19292            }, e.inherit(e.TM, {b: "[_a-z][\\w']*"})].concat(t)
19293        }, a = {cN: "container", b: "{", e: "}", c: i.c};
19294        return {
19295            k: "let in if then else case of where module import exposing type alias as infix infixl infixr port",
19296            c: [{
19297                cN: "module",
19298                b: "\\bmodule\\b",
19299                e: "where",
19300                k: "module where",
19301                c: [i].concat(t),
19302                i: "\\W\\.|;"
19303            }, {
19304                cN: "import",
19305                b: "\\bimport\\b",
19306                e: "$",
19307                k: "import|0 as exposing",
19308                c: [i].concat(t),
19309                i: "\\W\\.|;"
19310            }, {cN: "typedef", b: "\\btype\\b", e: "$", k: "type alias", c: [r, i, a].concat(t)}, {
19311                cN: "infix",
19312                bK: "infix infixl infixr",
19313                e: "$",
19314                c: [e.CNM].concat(t)
19315            }, {
19316                cN: "foreign",
19317                b: "\\bport\\b",
19318                e: "$",
19319                k: "port",
19320                c: t
19321            }, e.QSM, e.CNM, r, e.inherit(e.TM, {b: "^[_a-z][\\w']*"}), {b: "->|<-"}].concat(t)
19322        }
19323    }), e.registerLanguage("ruby", function (e) {
19324        var t = "[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",
19325            r = "and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",
19326            i = {cN: "doctag", b: "@[A-Za-z]+"}, a = {cN: "value", b: "#<", e: ">"},
19327            n = [e.C("#", "$", {c: [i]}), e.C("^\\=begin", "^\\=end", {c: [i], r: 10}), e.C("^__END__", "\\n$")],
19328            o = {cN: "subst", b: "#\\{", e: "}", k: r}, s = {
19329                cN: "string",
19330                c: [e.BE, o],
19331                v: [{b: /'/, e: /'/}, {b: /"/, e: /"/}, {b: /`/, e: /`/}, {b: "%[qQwWx]?\\(", e: "\\)"}, {
19332                    b: "%[qQwWx]?\\[",
19333                    e: "\\]"
19334                }, {b: "%[qQwWx]?{", e: "}"}, {b: "%[qQwWx]?<", e: ">"}, {b: "%[qQwWx]?/", e: "/"}, {
19335                    b: "%[qQwWx]?%",
19336                    e: "%"
19337                }, {b: "%[qQwWx]?-", e: "-"}, {
19338                    b: "%[qQwWx]?\\|",
19339                    e: "\\|"
19340                }, {b: /\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]
19341            }, l = {cN: "params", b: "\\(", e: "\\)", k: r}, c = [s, a, {
19342                cN: "class",
19343                bK: "class module",
19344                e: "$|;",
19345                i: /=/,
19346                c: [e.inherit(e.TM, {b: "[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}), {
19347                    cN: "inheritance",
19348                    b: "<\\s*",
19349                    c: [{cN: "parent", b: "(" + e.IR + "::)?" + e.IR}]
19350                }].concat(n)
19351            }, {cN: "function", bK: "def", e: "$|;", r: 0, c: [e.inherit(e.TM, {b: t}), l].concat(n)}, {
19352                cN: "constant",
19353                b: "(::)?(\\b[A-Z]\\w*(::)?)+",
19354                r: 0
19355            }, {cN: "symbol", b: e.UIR + "(\\!|\\?)?:", r: 0}, {cN: "symbol", b: ":", c: [s, {b: t}], r: 0}, {
19356                cN: "number",
19357                b: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",
19358                r: 0
19359            }, {cN: "variable", b: "(\\$\\W)|((\\$|\\@\\@?)(\\w+))"}, {
19360                b: "(" + e.RSR + ")\\s*",
19361                c: [a, {
19362                    cN: "regexp",
19363                    c: [e.BE, o],
19364                    i: /\n/,
19365                    v: [{b: "/", e: "/[a-z]*"}, {b: "%r{", e: "}[a-z]*"}, {b: "%r\\(", e: "\\)[a-z]*"}, {
19366                        b: "%r!",
19367                        e: "![a-z]*"
19368                    }, {b: "%r\\[", e: "\\][a-z]*"}]
19369                }].concat(n),
19370                r: 0
19371            }].concat(n);
19372        o.c = c, l.c = c;
19373        var d = "[>?]>", p = "[\\w#]+\\(\\w+\\):\\d+:\\d+>", u = "(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",
19374            m = [{b: /^\s*=>/, cN: "status", starts: {e: "$", c: c}}, {
19375                cN: "prompt",
19376                b: "^(" + d + "|" + p + "|" + u + ")",
19377                starts: {e: "$", c: c}
19378            }];
19379        return {aliases: ["rb", "gemspec", "podspec", "thor", "irb"], k: r, c: n.concat(m).concat(c)}
19380    }), e.registerLanguage("erb", function (e) {
19381        return {sL: "xml", c: [e.C("<%#", "%>"), {b: "<%[%=-]?", e: "[%-]?%>", sL: "ruby", eB: !0, eE: !0}]}
19382    }), e.registerLanguage("erlang-repl", function (e) {
19383        return {
19384            k: {
19385                special_functions: "spawn spawn_link self",
19386                reserved: "after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"
19387            },
19388            c: [{cN: "prompt", b: "^[0-9]+> ", r: 10}, e.C("%", "$"), {
19389                cN: "number",
19390                b: "\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",
19391                r: 0
19392            }, e.ASM, e.QSM, {cN: "constant", b: "\\?(::)?([A-Z]\\w*(::)?)+"}
vendor: 4,275 bytes, lines 19392-19465
19392, {cN: "arrow", b: "->"}, {
19393                cN: "ok",
19394                b: "ok"
19395            }, {cN: "exclamation_mark", b: "!"}, {
19396                cN: "function_or_atom",
19397                b: "(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",
19398                r: 0
19399            }, {cN: "variable", b: "[A-Z][a-zA-Z0-9_']*", r: 0}]
19400        }
19401    }), e.registerLanguage("erlang", function (e) {
19402        var t = "[a-z'][a-zA-Z0-9_']*", r = "(" + t + ":" + t + "|" + t + ")", i = {
19403                keyword: "after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",
19404                literal: "false true"
19405            }, a = e.C("%", "$"), n = {cN: "number", b: "\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)", r: 0},
19406            o = {b: "fun\\s+" + t + "/\\d+"}, s = {
19407                b: r + "\\(",
19408                e: "\\)",
19409                rB: !0,
19410                r: 0,
19411                c: [{cN: "function_name", b: r, r: 0}, {b: "\\(", e: "\\)", eW: !0, rE: !0, r: 0}]
19412            }, l = {cN: "tuple", b: "{", e: "}", r: 0}, c = {cN: "variable", b: "\\b_([A-Z][A-Za-z0-9_]*)?", r: 0},
19413            d = {cN: "variable", b: "[A-Z][a-zA-Z0-9_]*", r: 0},
19414            p = {b: "#" + e.UIR, r: 0, rB: !0, c: [{cN: "record_name", b: "#" + e.UIR, r: 0}, {b: "{", e: "}", r: 0}]},
19415            u = {bK: "fun receive if try case", e: "end", k: i};
19416        u.c = [a, o, e.inherit(e.ASM, {cN: ""}), u, s, e.QSM, n, l, c, d, p];
19417        var m = [a, o, u, s, e.QSM, n, l, c, d, p];
19418        s.c[1].c = m, l.c = m, p.c[1].c = m;
19419        var _ = {cN: "params", b: "\\(", e: "\\)", c: m};
19420        return {
19421            aliases: ["erl"],
19422            k: i,
19423            i: "(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))",
19424            c: [{
19425                cN: "function",
19426                b: "^" + t + "\\s*\\(",
19427                e: "->",
19428                rB: !0,
19429                i: "\\(|#|//|/\\*|\\\\|:|;",
19430                c: [_, e.inherit(e.TM, {b: t})],
19431                starts: {e: ";|\\.", k: i, c: m}
19432            }, a, {
19433                cN: "pp",
19434                b: "^-",
19435                e: "\\.",
19436                r: 0,
19437                eE: !0,
19438                rB: !0,
19439                l: "-" + e.IR,
19440                k: "-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",
19441                c: [_]
19442            }, n, e.QSM, p, c, d, l, {b: /\.$/}]
19443        }
19444    }), e.registerLanguage("fix", function (e) {
19445        return {
19446            c: [{
19447                b: /[^\u2401\u0001]+/,
19448                e: /[\u2401\u0001]/,
19449                eE: !0,
19450                rB: !0,
19451                rE: !1,
19452                c: [{b: /([^\u2401\u0001=]+)/, e: /=([^\u2401\u0001=]+)/, rE: !0, rB: !1, cN: "attribute"}, {
19453                    b: /=/,
19454                    e: /([\u2401\u0001])/,
19455                    eE: !0,
19456                    eB: !0,
19457                    cN: "string"
19458                }]
19459            }], cI: !0
19460        }
19461    }), e.registerLanguage("fortran", function (e) {
19462        var t = {cN: "params", b: "\\(", e: "\\)"}, r = {
19463            constant: ".False. .True.",
19464            type: "integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",
19465            keyword: "kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t 
vendor: 5,746 bytes, lines 19465-19524
19465c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure",
19466            built_in: "alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"
19467        };
19468        return {
19469            cI: !0,
19470            aliases: ["f90", "f95"],
19471            k: r,
19472            c: [e.inherit(e.ASM, {cN: "string", r: 0}), e.inherit(e.QSM, {cN: "string", r: 0}), {
19473                cN: "function",
19474                bK: "subroutine function program",
19475                i: "[${=\\n]",
19476                c: [e.UTM, t]
19477            }, e.C("!", "$", {r: 0}), {
19478                cN: "number",
19479                b: "(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",
19480                r: 0
19481            }]
19482        }
19483    }), e.registerLanguage("fsharp", function (e) {
19484        var t = {b: "<", e: ">", c: [e.inherit(e.TM, {b: /'[a-zA-Z0-9_]+/})]};
19485        return {
19486            aliases: ["fs"],
19487            k: "yield! return! let! do!abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",
19488            c: [{cN: "string", b: '@"', e: '"', c: [{b: '""'}]}, {
19489                cN: "string",
19490                b: '"""',
19491                e: '"""'
19492            }, e.C("\\(\\*", "\\*\\)"), {
19493                cN: "class",
19494                bK: "type",
19495                e: "\\(|=|$",
19496                eE: !0,
19497                c: [e.UTM, t]
19498            }, {cN: "annotation", b: "\\[<", e: ">\\]", r: 10}, {
19499                cN: "attribute",
19500                b: "\\B('[A-Za-z])\\b",
19501                c: [e.BE]
19502            }, e.CLCM, e.inherit(e.QSM, {i: null}), e.CNM]
19503        }
19504    }), e.registerLanguage("gcode", function (e) {
19505        var t = "[A-Z_][A-Z0-9_.]*", r = "\\%", i = {
19506                literal: "",
19507                built_in: "",
19508                keyword: "IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"
19509            }, a = {cN: "preprocessor", b: "([O])([0-9]+)"},
19510            n = [e.CLCM, e.CBCM, e.C(/\(/, /\)/), e.inherit(e.CNM, {b: "([-+]?([0-9]*\\.?[0-9]+\\.?))|" + e.CNR}), e.inherit(e.ASM, {i: null}), e.inherit(e.QSM, {i: null}), {
19511                cN: "keyword",
19512                b: "([G])([0-9]+\\.?[0-9]?)"
19513            }, {cN: "title", b: "([M])([0-9]+\\.?[0-9]?)"}, {cN: "title", b: "(VC|VS|#)", e: "(\\d+)"}, {
19514                cN: "title",
19515                b: "(VZOFX|VZOFY|VZOFZ)"
19516            }, {
19517                cN: "built_in",
19518                b: "(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",
19519                e: "([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"
19520            }, {cN: "label", v: [{b: "N", e: "\\d+", i: "\\W"}]}];
19521        return {aliases: ["nc"], cI: !0, l: t, k: i, c: [{cN: "preprocessor", b: r}, a].concat(n)}
19522    }), e.registerLanguage("gherkin", function (e) {
19523        return {
19524            aliases: ["feature"],
19525            k: "Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",
19526            c: [{cN: "keyword", b: "\\*"}, e.C("@[^@\r\n	 ]+", "$"), {
19527                b: "\\|",
19528                e: "\\|\\w*$",
19529                c: [{cN: "string", b: "[^|]+"}]
19530            }, {cN: "variable", b: "<", e: ">"}, e.HCM, {cN: "string", b: '"""', e: '"""'}, e.QSM]
19531        }
19532    }), e.registerLanguage("glsl", function (e) {
19533        return {
19534            k: {
19535                keyword: "atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",
19536                built_in: "gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulE
vendor: 4,972 bytes, lines 19536-19584
19536xtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",
19537                literal: "true false"
19538            }, i: '"', c: [e.CLCM, e.CBCM, e.CNM, {cN: "preprocessor", b: "#", e: "$"}]
19539        }
19540    }), e.registerLanguage("go", function (e) {
19541        var t = {
19542            keyword: "break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",
19543            constant: "true false iota nil",
19544            typename: "bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",
19545            built_in: "append cap close complex copy imag len make new panic print println real recover delete"
19546        };
19547        return {
19548            aliases: ["golang"],
19549            k: t,
19550            i: "</",
19551            c: [e.CLCM, e.CBCM, e.QSM, {cN: "string", b: "'", e: "[^\\\\]'"}, {
19552                cN: "string",
19553                b: "`",
19554                e: "`"
19555            }, {cN: "number", b: e.CNR + "[dflsi]?", r: 0}, e.CNM]
19556        }
19557    }), e.registerLanguage("gradle", function (e) {
19558        return {
19559            cI: !0,
19560            k: {keyword: "task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},
19561            c: [e.CLCM, e.CBCM, e.ASM, e.QSM, e.NM, e.RM]
19562        }
19563    }), e.registerLanguage("groovy", function (e) {
19564        return {
19565            k: {
19566                typename: "byte short char int long boolean float double void",
19567                literal: "true false null",
19568                keyword: "def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"
19569            },
19570            c: [e.C("/\\*\\*", "\\*/", {r: 0, c: [{cN: "doctag", b: "@[A-Za-z]+"}]}), e.CLCM, e.CBCM, {
19571                cN: "string",
19572                b: '"""',
19573                e: '"""'
19574            }, {cN: "string", b: "'''", e: "'''"}, {cN: "string", b: "\\$/", e: "/\\$", r: 10}, e.ASM, {
19575                cN: "regexp",
19576                b: /~?\/[^\/\n]+\//,
19577                c: [e.BE]
19578            }, e.QSM, {cN: "shebang", b: "^#!/usr/bin/env", e: "$", i: "\n"}, e.BNM, {
19579                cN: "class",
19580                bK: "class interface trait enum",
19581                e: "{",
19582                i: ":",
19583                c: [{bK: "extends implements"}, e.UTM]
19584            }, e.CNM, {cN: "annotation", b: "@[A-Za-z]+"}
19584, {cN: "string", b: /[^\?]{0}[A-Za-z0-9_$]+ *:/}, {
19585                b: /\?/,
19586                e: /\:/
19587            }, {cN: "label", b: "^\\s*[A-Za-z0-9_$]+:", r: 0}],
19588            i: /#/
19589        }
19590    }), e.registerLanguage("haml", function (e) {
19591        return {
19592            cI: !0,
19593            c: [{
19594                cN: "doctype",
19595                b: "^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",
19596                r: 10
19597            }, e.C("^\\s*(!=#|=#|-#|/).*$", !1, {r: 0}), {
19598                b: "^\\s*(-|=|!=)(?!#)",
19599                starts: {e: "\\n", sL: "ruby"}
19600            }, {
19601                cN: "tag",
19602                b: "^\\s*%",
19603                c: [{cN: "title", b: "\\w+"}, {cN: "value", b: "[#\\.][\\w-]+"}, {
19604                    b: "{\\s*",
19605                    e: "\\s*}",
19606                    eE: !0,
19607                    c: [{
19608                        b: ":\\w+\\s*=>",
19609                        e: ",\\s+",
19610                        rB: !0,
19611                        eW: !0,
19612                        c: [{cN: "symbol", b: ":\\w+"}, e.ASM, e.QSM, {b: "\\w+", r: 0}]
19613                    }]
19614                }, {
19615                    b: "\\(\\s*",
19616                    e: "\\s*\\)",
19617                    eE: !0,
19618                    c: [{
19619                        b: "\\w+\\s*=",
19620                        e: "\\s+",
19621                        rB: !0,
19622                        eW: !0,
19623                        c: [{cN: "attribute", b: "\\w+", r: 0}, e.ASM, e.QSM, {b: "\\w+", r: 0}]
19624                    }]
19625                }]
19626            }, {cN: "bullet", b: "^\\s*[=~]\\s*", r: 0}, {b: "#{", starts: {e: "}", sL: "ruby"}}]
19627        }
19628    }), e.registerLanguage("handlebars", function (e) {
19629        var t = "each in with if else unless bindattr action collection debugger log outlet template unbound view yield";
19630        return {
19631            aliases: ["hbs", "html.hbs", "html.handlebars"],
19632            cI: !0,
19633            sL: "xml",
19634            c: [{
19635                cN: "expression",
19636                b: "{{",
19637                e: "}}",
19638                c: [{cN: "begin-block", b: "#[a-zA-Z- .]+", k: t}, {cN: "string", b: '"', e: '"'}, {
19639                    cN: "end-block",
19640                    b: "\\/[a-zA-Z- .]+",
19641                    k: t
19642                }, {cN: "variable", b: "[a-zA-Z-.]+", k: t}]
19643            }]
19644        }
19645    }), e.registerLanguage("haskell", function (e) {
19646        var t = [e.C("--", "$"), e.C("{-", "-}", {c: ["self"]})], r = {cN: "pragma", b: "{-#", e: "#-}"},
19647            i = {cN: "preprocessor", b: "^#", e: "$"}, a = {cN: "type", b: "\\b[A-Z][\\w']*", r: 0}, n = {
19648                cN: "container",
19649                b: "\\(",
19650                e: "\\)",
19651                i: '"',
19652                c: [r, i, {
19653                    cN: "type",
19654                    b: "\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"
19655                }, e.inherit(e.TM, {b: "[_a-z][\\w']*"})].concat(t)
19656            }, o = {cN: "container", b: "{", e: "}", c: n.c};
19657        return {
19658            aliases: ["hs"],
19659            k: "let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",
19660            c: [{
19661                cN: "module",
19662                b: "\\bmodule\\b",
19663                e: "where",
19664                k: "module where",
19665                c: [n].concat(t),
19666                i: "\\W\\.|;"
19667            }, {
19668                cN: "import",
19669                b: "\\bimport\\b",
19670                e: "$",
19671                k: "import|0 qualified as hiding",
19672                c: [n].concat(t),
19673                i: "\\W\\.|;"
19674            }, {
19675                cN: "class",
19676                b: "^(\\s*)?(class|instance)\\b",
19677                e: "where",
19678                k: "class family instance where",
19679                c: [a, n].concat(t)
19680            }, {
19681                cN: "typedef",
19682                b: "\\b(data|(new)?type)\\b",
19683                e: "$",
19684                k: "data family type newtype deriving",
19685                c: [r, a, n, o].concat(t)
19686            }
vendor: 14,059 bytes, lines 19686-19937
19686, {cN: "default", bK: "default", e: "$", c: [a, n].concat(t)}, {
19687                cN: "infix",
19688                bK: "infix infixl infixr",
19689                e: "$",
19690                c: [e.CNM].concat(t)
19691            }, {
19692                cN: "foreign",
19693                b: "\\bforeign\\b",
19694                e: "$",
19695                k: "foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",
19696                c: [a, e.QSM].concat(t)
19697            }, {
19698                cN: "shebang",
19699                b: "#!\\/usr\\/bin\\/env runhaskell",
19700                e: "$"
19701            }, r, i, e.QSM, e.CNM, a, e.inherit(e.TM, {b: "^[_a-z][\\w']*"}), {b: "->|<-"}].concat(t)
19702        }
19703    }), e.registerLanguage("haxe", function (e) {
19704        var t = "([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";
19705        return {
19706            aliases: ["hx"],
19707            k: {
19708                keyword: "break callback case cast catch class continue default do dynamic else enum extends extern for function here if implements import in inline interface never new override package private public return static super switch this throw trace try typedef untyped using var while",
19709                literal: "true false null"
19710            },
19711            c: [e.ASM, e.QSM, e.CLCM, e.CBCM, e.CNM, {
19712                cN: "class",
19713                bK: "class interface",
19714                e: "{",
19715                eE: !0,
19716                c: [{bK: "extends implements"}, e.TM]
19717            }, {cN: "preprocessor", b: "#", e: "$", k: "if else elseif end error"}, {
19718                cN: "function",
19719                bK: "function",
19720                e: "[{;]",
19721                eE: !0,
19722                i: "\\S",
19723                c: [e.TM, {cN: "params", b: "\\(", e: "\\)", c: [e.ASM, e.QSM, e.CLCM, e.CBCM]}, {
19724                    cN: "type",
19725                    b: ":",
19726                    e: t,
19727                    r: 10
19728                }]
19729            }]
19730        }
19731    }), e.registerLanguage("http", function (e) {
19732        return {
19733            aliases: ["https"],
19734            i: "\\S",
19735            c: [{cN: "status", b: "^HTTP/[0-9\\.]+", e: "$", c: [{cN: "number", b: "\\b\\d{3}\\b"}]}, {
19736                cN: "request",
19737                b: "^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",
19738                rB: !0,
19739                e: "$",
19740                c: [{cN: "string", b: " ", e: " ", eB: !0, eE: !0}]
19741            }, {
19742                cN: "attribute",
19743                b: "^\\w",
19744                e: ": ",
19745                eE: !0,
19746                i: "\\n|\\s|=",
19747                starts: {cN: "string", e: "$"}
19748            }, {b: "\\n\\n", starts: {sL: [], eW: !0}}]
19749        }
19750    }), e.registerLanguage("inform7", function (e) {
19751        var t = "\\[", r = "\\]";
19752        return {
19753            aliases: ["i7"],
19754            cI: !0,
19755            k: {keyword: "thing|10 room|10 person|10 man|10 woman|10 animal|10 container supporter|10 backdrop|10 door|10 scenery|10 open closed|10 locked|10 inside|10 gender|10 is are say|10 understand|10 kind|10 of rule|10"},
19756            c: [{cN: "string", b: '"', e: '"', r: 0, c: [{cN: "subst", b: t, e: r}]}, {
19757                cN: "title",
19758                bK: "^Volume ^Book ^Part ^Chapter ^Section",
19759                e: "$",
19760                r: 10
19761            }, {
19762                cN: "title",
19763                bK: "^Table",
19764                e: "$",
19765                r: 10
19766            }, {
19767                b: "^\\b(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)",
19768                e: ":",
19769                c: [{b: "\\b\\(This", e: "\\)", r: 10}],
19770                r: 10
19771            }, {cN: "comment", b: t, e: r, c: ["self"]}]
19772        }
19773    }), e.registerLanguage("ini", function (e) {
19774        var t = {
19775            cN: "string",
19776            c: [e.BE],
19777            v: [{b: "'''", e: "'''", r: 10}, {b: '"""', e: '"""', r: 10}, {b: '"', e: '"'}, {b: "'", e: "'"}]
19778        };
19779        return {
19780            aliases: ["toml"],
19781            cI: !0,
19782            i: /\S/,
19783            c: [e.C(";", "$"), e.HCM, {cN: "title", b: /^\s*\[+/, e: /\]+/}, {
19784                cN: "setting",
19785                b: /^[a-z0-9\[\]_-]+\s*=\s*/,
19786                e: "$",
19787                c: [{
19788                    cN: "value",
19789                    eW: !0,
19790                    k: "on off true false yes no",
19791                    c: [{cN: "variable", v: [{b: /\$[\w\d"][\w\d_]*/}, {b: /\$\{(.*?)}/}]}, t, {
19792                        cN: "number",
19793                        b: /([\+\-]+)?[\d]+_[\d_]+/
19794                    }, e.NM],
19795                    r: 0
19796                }]
19797            }]
19798        }
19799    }), e.registerLanguage("java", function (e) {
19800        var t = e.UIR + "(<" + e.UIR + ">)?",
19801            r = "false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",
19802            i = "\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",
19803            a = {cN: "number", b: i, r: 0};
19804        return {
19805            aliases: ["jsp"],
19806            k: r,
19807            i: /<\/|#/,
19808            c: [e.C("/\\*\\*", "\\*/", {
19809                r: 0,
19810                c: [{cN: "doctag", b: "@[A-Za-z]+"}]
19811            }), e.CLCM, e.CBCM, e.ASM, e.QSM, {
19812                cN: "class",
19813                bK: "class interface",
19814                e: /[{;=]/,
19815                eE: !0,
19816                k: "class interface",
19817                i: /[:"\[\]]/,
19818                c: [{bK: "extends implements"}, e.UTM]
19819            }, {bK: "new throw return else", r: 0}, {
19820                cN: "function",
19821                b: "(" + t + "\\s+)+" + e.UIR + "\\s*\\(",
19822                rB: !0,
19823                e: /[{;=]/,
19824                eE: !0,
19825                k: r,
19826                c: [{b: e.UIR + "\\s*\\(", rB: !0, r: 0, c: [e.UTM]}, {
19827                    cN: "params",
19828                    b: /\(/,
19829                    e: /\)/,
19830                    k: r,
19831                    r: 0,
19832                    c: [e.ASM, e.QSM, e.CNM, e.CBCM]
19833                }, e.CLCM, e.CBCM]
19834            }, a, {cN: "annotation", b: "@[A-Za-z]+"}]
19835        }
19836    }), e.registerLanguage("javascript", function (e) {
19837        return {
19838            aliases: ["js"],
19839            k: {
19840                keyword: "in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await",
19841                literal: "true false null undefined NaN Infinity",
19842                built_in: "eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"
19843            },
19844            c: [{cN: "pi", r: 10, b: /^\s*['"]use (strict|asm)['"]/}, e.ASM, e.QSM, {
19845                cN: "string",
19846                b: "`",
19847                e: "`",
19848                c: [e.BE, {cN: "subst", b: "\\$\\{", e: "\\}"}]
19849            }, e.CLCM, e.CBCM, {
19850                cN: "number",
19851                v: [{b: "\\b(0[bB][01]+)"}, {b: "\\b(0[oO][0-7]+)"}, {b: e.CNR}],
19852                r: 0
19853            }, {
19854                b: "(" + e.RSR + "|\\b(case|return|throw)\\b)\\s*",
19855                k: "return throw case",
19856                c: [e.CLCM, e.CBCM, e.RM, {b: /</, e: />\s*[);\]]/, r: 0, sL: "xml"}],
19857                r: 0
19858            }, {
19859                cN: "function",
19860                bK: "function",
19861                e: /\{/,
19862                eE: !0,
19863                c: [e.inherit(e.TM, {b: /[A-Za-z$_][0-9A-Za-z$_]*/}), {
19864                    cN: "params",
19865                    b: /\(/,
19866                    e: /\)/,
19867                    eB: !0,
19868                    eE: !0,
19869                    c: [e.CLCM, e.CBCM],
19870                    i: /["'\(]/
19871                }],
19872                i: /\[|%/
19873            }, {b: /\$[(.]/}, {b: "\\." + e.IR, r: 0}, {
19874                bK: "import",
19875                e: "[;$]",
19876                k: "import from as",
19877                c: [e.ASM, e.QSM]
19878            }, {cN: "class", bK: "class", e: /[{;=]/, eE: !0, i: /[:"\[\]]/, c: [{bK: "extends"}, e.UTM]}],
19879            i: /#/
19880        }
19881    }), e.registerLanguage("json", function (e) {
19882        var t = {literal: "true false null"}, r = [e.QSM, e.CNM], i = {cN: "value", e: ",", eW: !0, eE: !0, c: r, k: t},
19883            a = {
19884                b: "{",
19885                e: "}",
19886                c: [{cN: "attribute", b: '\\s*"', e: '"\\s*:\\s*', eB: !0, eE: !0, c: [e.BE], i: "\\n", starts: i}],
19887                i: "\\S"
19888            }, n = {b: "\\[", e: "\\]", c: [e.inherit(i, {cN: null})], i: "\\S"};
19889        return r.splice(r.length, 0, a, n), {c: r, k: t, i: "\\S"}
19890    }), e.registerLanguage("julia", function (e) {
19891        var t = {
19892                keyword: "in abstract baremodule begin bitstype break catch ccall const continue do else elseif end export finally for function global if immutable import importall let local macro module quote return try type typealias using while",
19893                literal: "true false ANY ARGS CPU_CORES C_NULL DL_LOAD_PATH DevNull ENDIAN_BOM ENV I|0 Inf Inf16 Inf32 InsertionSort JULIA_HOME LOAD_PATH MS_ASYNC MS_INVALIDATE MS_SYNC MergeSort NaN NaN16 NaN32 OS_NAME QuickSort RTLD_DEEPBIND RTLD_FIRST RTLD_GLOBAL RTLD_LAZY RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_NOW RoundDown RoundFromZero RoundNearest RoundToZero RoundUp STDERR STDIN STDOUT VERSION WORD_SIZE catalan cglobal e eu eulergamma golden im nothing pi γ π φ",
19894                built_in: "ASCIIString AbstractArray AbstractRNG AbstractSparseArray Any ArgumentError Array Associative Base64Pipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError Box CFILE Cchar Cdouble Cfloat Char CharString Cint Clong Clonglong ClusterManager Cmd Coff_t Colon Complex Complex128 Complex32 Complex64 Condition Cptrdiff_t Cshort Csize_t Cssize_t Cuchar Cuint Culong Culonglong Cushort Cwchar_t DArray DataType DenseArray Diagonal Dict DimensionMismatch DirectIndexString Display DivideError DomainError EOFError EachLine Enumerate ErrorException Exception Expr Factorization FileMonitor FileOffset Filter Float16 Float32 Float64 FloatRange FloatingPoint Function GetfieldNode GotoNode Hermitian IO IOBuffer IOStream IPv4 IPv6 InexactError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException IntrinsicFunction KeyError LabelNode LambdaStaticData LineNumberNode LoadError LocalProcess MIME MathConst MemoryError MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode Nothing Number ObjectIdDict OrdinalRange OverflowError ParseError PollingFileWatcher ProcessExitedException ProcessGroup Ptr QuoteNode Range Range1 Ranges Rational RawFD Real Regex RegexMatch RemoteRef RepString RevString RopeString RoundingMode Set SharedArray Signed SparseMatrixCSC StackOverflowError Stat StatStruct StepRange String SubArray SubString SymTridiagonal Symbol SymbolNode Symmetric SystemError Task TextDisplay Timer TmStruct TopNode Triangular Tridiagonal Type TypeConstructor TypeError TypeName TypeVar UTF16String UTF32String UTF8String UdpSocket Uint Uint128 Uint16 Uint32 Uint64 Uint8 UndefRefError UndefVarError UniformScaling UnionType UnitRange Unsigned Vararg VersionNumber WString WeakKeyDict WeakRef Woodbury Zip"
19895            }, r = "[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*", i = {l: r, k: t},
19896            a = {cN: "type-annotation", b: /::/}, n = {cN: "subtype", b: /<:/}, o = {
19897                cN: "number",
19898                b: /(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,
19899                r: 0
19900            }, s = {cN: "char", b: /'(.|\\[xXuU][a-zA-Z0-9]+)'/}, l = {cN: "subst", b: /\$\(/, e: /\)/, k: t},
19901            c = {cN: "variable", b: "\\$" + r},
19902            d = {cN: "string", c: [e.BE, l, c], v: [{b: /\w*"/, e: /"\w*/}, {b: /\w*"""/, e: /"""\w*/}]},
19903            p = {cN: "string", c: [e.BE, l, c], b: "`", e: "`"}, u = {cN: "macrocall", b: "@" + r},
19904            m = {cN: "comment", v: [{b: "#=", e: "=#", r: 10}, {b: "#", e: "$"}]};
19905        return i.c = [o, s, a, n, d, p, u, m, e.HCM], l.c = i.c, i
19906    }), e.registerLanguage("kotlin", function (e) {
19907        var t = "val var get set class trait object public open private protected final enum if else do while for when break continue throw try catch finally import package is as in return fun override default companion reified inline volatile transient native";
19908        return {
19909            k: {
19910                typename: "Byte Short Char Int Long Boolean Float Double Void Unit Nothing",
19911                literal: "true false null",
19912                keyword: t
19913            },
19914            c: [e.C("/\\*\\*", "\\*/", {r: 0, c: [{cN: "doctag", b: "@[A-Za-z]+"}]}), e.CLCM, e.CBCM, {
19915                cN: "type",
19916                b: /</,
19917                e: />/,
19918                rB: !0,
19919                eE: !1,
19920                r: 0
19921            }, {
19922                cN: "function",
19923                bK: "fun",
19924                e: "[(]|$",
19925                rB: !0,
19926                eE: !0,
19927                k: t,
19928                i: /fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,
19929                r: 5,
19930                c: [{b: e.UIR + "\\s*\\(", rB: !0, r: 0, c: [e.UTM]}, {
19931                    cN: "type",
19932                    b: /</,
19933                    e: />/,
19934                    k: "reified",
19935                    r: 0
19936                }, {
19937                    cN: "params",
19938                    b: /\(/,
19939                    e: /\)/,
19940                    k: t,
19941                    r: 0,
19942                    i: /\([^\(,\s:]+,/,
19943                    c: [{cN: "typename", b: /:\s*/, e: /\s*[=\)]/, eB: !0, rE: !0, r: 0}]
19944                }, e.CLCM, e.CBCM]
19945            }, {
19946                cN: "class",
19947                bK: "class trait",
19948                e: /[:\{(]|$/,
19949                eE: !0,
19950                i: "extends implements",
19951                c: [e.UTM, {cN: "type", b: /</, e: />/, eB: !0, eE: !0, r: 0}, {
19952                    cN: "typename",
19953                    b: /[,:]\s*/,
19954                    e: /[<\(,]|$/,
19955                    eB: !0,
19956                    rE: !0
19957                }]
19958            }, {cN: "variable", bK: "var val", e: /\s*[=:$]/, eE: !0}, e.QSM, {
19959                cN: "shebang",
19960                b: "^#!/usr/bin/env",
19961                e: "$",
19962                i: "\n"
19963            }, e.CNM]
19964        }
19965    }), e.registerLanguage("lasso", function (e) {
19966        var t = "[a-zA-Z_][a-zA-Z0-9_.]*", r = "<\\?(lasso(script)?|=)", i = "\\]|\\?>", a = {
19967                literal: "true false none minimal full all void bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",
19968                built_in: "array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",
19969                keyword: "error_code error_msg error_pop error_push error_reset cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"
19970            }, n = e.C("<!--", "-->", {r: 0}), o = {
19971                cN: "preprocessor",
19972                b: "\\[noprocess\\]",
19973                starts: {cN: "markup", e: "\\[/noprocess\\]", rE: !0, c: [n]}
19974            }, s = {cN: "preprocessor", b: "\\[/noprocess|" + r}, l = {cN: "variable", b: "'" + t + "'"},
19975            c = [e.C("/\\*\\*!", "\\*/"), e.CLCM, e.CBCM, e.inherit(e.CNM, {b: e.CNR + "|(infinity|nan)\\b"}), e.inherit(e.ASM, {i: null}), e.inherit(e.QSM, {i: null}), {
19976                cN: "string",
19977                b: "`",
19978                e: "`"
19979            }, {cN: "variable", v: [{b: "[#$]" + t}, {b: "#", e: "\\d+", i: "\\W"}]}, {
19980                cN: "tag",
19981                b: "::\\s*",
19982                e: t,
19983                i: "\\W"
19984            }, {cN: "attribute", v: [{b: "-(?!infinity)" + e.UIR, r: 0}, {b: "(\\.\\.\\.)"}]}, {
19985                cN: "subst",
19986                v: [{b: "->\\s*", c: [l]}, {b: "->|\\\\|&&?|\\|\\||!(?!=|>)|(and|or|not)\\b", r: 0}]
19987            }, {cN: "built_in", b: "\\.\\.?\\s*", r: 0, c: [l]}, {
19988                cN: "class",
19989                bK: "define",
19990                rE: !0,
19991                e: "\\(|=>",
19992                c: [e.inherit(e.TM, {b: e.UIR + "(=(?!>))?"})]
19993            }];
19994        return {
19995            aliases: ["ls", "lassoscript"],
19996            cI: !0,
19997            l: t + "|&[lg]t;",
19998            k: a,
19999            c: [{
20000                cN: "preprocessor",
20001                b: i,
20002                r: 0,
20003                starts: {cN: "markup", e: "\\[|" + r, rE: !0, r: 0, c: [n]}
20004            }, o, s, {
20005                cN: "preprocessor",
20006                b: "\\[no_square_brackets",
20007                starts: {
20008                    e: "\\[/no_square_brackets\\]",
20009                    l: t + "|&[lg]t;",
20010                    k: a,
20011                    c: [{
20012                        cN: "preprocessor",
20013                        b: i,
20014                        r: 0,
20015                        starts: {cN: "markup", e: "\\[noprocess\\]|" + r, rE: !0, c: [n]}
20016                    }, o, s].concat(c)
20017                }
20018            }, {cN: "preprocessor", b: "\\[", r: 0}, {cN: "shebang", b: "^#!.+lasso9\\b", r: 10}].concat(c)
20019        }
20020    }), e.registerLanguage("less", function (e) {
20021        var t = "[\\w-]+", r = "(" + t + "|@{" + t + "})", i = [], a = [], n = function (e) {
20022            return {cN: "string", b: "~?" + e + ".*?" + e}
20023        }, o = function (e, t, r) {
20024            return {cN: e, b: t, r: r}
20025        }, s = function (t, r, i) {
20026            return e.inherit({cN: t, b: r + "\\(", e: "\\(", rB: !0, eE: !0, r: 0}, i)
20027        }, l = {b: "\\(", e: "\\)", c: a, r: 0};
20028        a.push(e.CLCM, e.CBCM, n("'"), n('"'), e.CSSNM, o("hexcolor", "#[0-9A-Fa-f]+\\b"), s("function", "(url|data-uri)", {
20029            starts: {
20030                cN: "string",
20031                e: "[\\)\\n]",
20032                eE: !0
20033            }
20034        }), s("function", t), l, o("variable", "@@?" + t, 10), o("variable", "@{" + t + "}"), o("built_in", "~?`[^`]*?`"), {
vendor: 4,590 bytes, lines 20035-20099
20035            cN: "attribute",
20036            b: t + "\\s*:",
20037            e: ":",
20038            rB: !0,
20039            eE: !0
20040        });
20041        var c = a.concat({b: "{", e: "}", c: i}), d = {bK: "when", eW: !0, c: [{bK: "and not"}].concat(a)}, p = {
20042                cN: "attribute",
20043                b: r,
20044                e: ":",
20045                eE: !0,
20046                c: [e.CLCM, e.CBCM],
20047                i: /\S/,
20048                starts: {e: "[;}]", rE: !0, c: a, i: "[<=$]"}
20049            }, u = {
20050                cN: "at_rule",
20051                b: "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",
20052                starts: {e: "[;{}]", rE: !0, c: a, r: 0}
20053            }, m = {cN: "variable", v: [{b: "@" + t + "\\s*:", r: 15}, {b: "@" + t}], starts: {e: "[;}]", rE: !0, c: c}},
20054            _ = {
20055                v: [{b: "[\\.#:&\\[]", e: "[;{}]"}, {b: r + "[^;]*{", e: "{"}],
20056                rB: !0,
20057                rE: !0,
20058                i: "[<='$\"]",
20059                c: [e.CLCM, e.CBCM, d, o("keyword", "all\\b"), o("variable", "@{" + t + "}"), o("tag", r + "%?", 0), o("id", "#" + r), o("class", "\\." + r, 0), o("keyword", "&", 0), s("pseudo", ":not"), s("keyword", ":extend"), o("pseudo", "::?" + r), {
20060                    cN: "attr_selector",
20061                    b: "\\[",
20062                    e: "\\]"
20063                }, {b: "\\(", e: "\\)", c: c}, {b: "!important"}]
20064            };
20065        return i.push(e.CLCM, e.CBCM, u, m, _, p), {cI: !0, i: "[=>'/<($\"]", c: i}
20066    }), e.registerLanguage("lisp", function (e) {
20067        var t = "[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*", r = "\\|[^]*?\\|",
20068            i = "(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",
20069            a = {cN: "shebang", b: "^#!", e: "$"}, n = {cN: "literal", b: "\\b(t{1}|nil)\\b"}, o = {
20070                cN: "number",
20071                v: [{
20072                    b: i,
20073                    r: 0
20074                }, {b: "#(b|B)[0-1]+(/[0-1]+)?"}, {b: "#(o|O)[0-7]+(/[0-7]+)?"}, {b: "#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"}, {
20075                    b: "#(c|C)\\(" + i + " +" + i,
20076                    e: "\\)"
20077                }]
20078            }, s = e.inherit(e.QSM, {i: null}), l = e.C(";", "$", {r: 0}), c = {cN: "variable", b: "\\*", e: "\\*"},
20079            d = {cN: "keyword", b: "[:&]" + t}, p = {b: t, r: 0}, u = {b: r},
20080            m = {b: "\\(", e: "\\)", c: ["self", n, s, o, p]}, _ = {
20081                cN: "quoted",
20082                c: [o, s, c, d, m, p],
20083                v: [{b: "['`]\\(", e: "\\)"}, {b: "\\(quote ", e: "\\)", k: "quote"}, {b: "'" + r}]
20084            }, b = {cN: "quoted", v: [{b: "'" + t}, {b: "#'" + t + "(::" + t + ")*"}]},
20085            g = {cN: "list", b: "\\(\\s*", e: "\\)"}, I = {eW: !0, r: 0};
20086        return g.c = [{cN: "keyword", v: [{b: t}, {b: r}]}, I], I.c = [_, b, g, n, o, s, l, c, d, u, p], {
20087            i: /\S/,
20088            c: [o, a, n, s, l, _, b, g, p]
20089        }
20090    }), e.registerLanguage("livecodeserver", function (e) {
20091        var t = {cN: "variable", b: "\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+", r: 0},
20092            r = [e.CBCM, e.HCM, e.C("--", "$"), e.C("[^:]//", "$")],
20093            i = e.inherit(e.TM, {v: [{b: "\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"}, {b: "\\b_[a-z0-9\\-]+"}]}),
20094            a = e.inherit(e.TM, {b: "\\b([A-Za-z0-9_\\-]+)\\b"});
20095        return {
20096            cI: !1,
20097            k: {
20098                keyword: "$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",
20099                constant: "SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero 
20099none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",
20100                operator: "div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",
20101                built_in: "put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMove
vendor: 6,062 bytes, lines 20101-20209
20101XMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"
20102            },
20103            c: [t, {cN: "keyword", b: "\\bend\\sif\\b"}, {
20104                cN: "function",
20105                bK: "function",
20106                e: "$",
20107                c: [t, a, e.ASM, e.QSM, e.BNM, e.CNM, i]
20108            }, {cN: "function", b: "\\bend\\s+", e: "$", k: "end", c: [a, i]}, {
20109                cN: "command",
20110                bK: "command on",
20111                e: "$",
20112                c: [t, a, e.ASM, e.QSM, e.BNM, e.CNM, i]
20113            }, {
20114                cN: "preprocessor",
20115                v: [{b: "<\\?(rev|lc|livecode)", r: 10}, {b: "<\\?"}, {b: "\\?>"}]
20116            }, e.ASM, e.QSM, e.BNM, e.CNM, i].concat(r),
20117            i: ";$|^\\[|^="
20118        }
20119    }), e.registerLanguage("livescript", function (e) {
20120        var t = {
20121                keyword: "in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",
20122                literal: "true false null undefined yes no on off it that void",
20123                built_in: "npm require console print module global window document"
20124            }, r = "[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*", i = e.inherit(e.TM, {b: r}),
20125            a = {cN: "subst", b: /#\{/, e: /}/, k: t},
20126            n = {cN: "subst", b: /#[A-Za-z$_]/, e: /(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/, k: t}, o = [e.BNM, {
20127                cN: "number",
20128                b: "(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",
20129                r: 0,
20130                starts: {e: "(\\s*/)?", r: 0}
20131            }, {
20132                cN: "string",
20133                v: [{b: /'''/, e: /'''/, c: [e.BE]}, {b: /'/, e: /'/, c: [e.BE]}, {
20134                    b: /"""/,
20135                    e: /"""/,
20136                    c: [e.BE, a, n]
20137                }, {b: /"/, e: /"/, c: [e.BE, a, n]}, {b: /\\/, e: /(\s|$)/, eE: !0}]
20138            }, {
20139                cN: "pi",
20140                v: [{b: "//", e: "//[gim]*", c: [a, e.HCM]}, {b: /\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]
20141            }, {cN: "property", b: "@" + r}, {b: "``", e: "``", eB: !0, eE: !0, sL: "javascript"}];
20142        a.c = o;
20143        var s = {cN: "params", b: "\\(", rB: !0, c: [{b: /\(/, e: /\)/, k: t, c: ["self"].concat(o)}]};
20144        return {
20145            aliases: ["ls"],
20146            k: t,
20147            i: /\/\*/,
20148            c: o.concat([e.C("\\/\\*", "\\*\\/"), e.HCM, {
20149                cN: "function",
20150                c: [i, s],
20151                rB: !0,
20152                v: [{
20153                    b: "(" + r + "\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",
20154                    e: "\\->\\*?"
20155                }, {
20156                    b: "(" + r + "\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",
20157                    e: "[-~]{1,2}>\\*?"
20158                }, {b: "(" + r + "\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?", e: "!?[-~]{1,2}>\\*?"}]
20159            }, {
20160                cN: "class",
20161                bK: "class",
20162                e: "$",
20163                i: /[:="\[\]]/,
20164                c: [{bK: "extends", eW: !0, i: /[:="\[\]]/, c: [i]}, i]
20165            }, {cN: "attribute", b: r + ":", e: ":", rB: !0, rE: !0, r: 0}])
20166        }
20167    }), e.registerLanguage("lua", function (e) {
20168        var t = "\\[=*\\[", r = "\\]=*\\]", i = {b: t, e: r, c: ["self"]},
20169            a = [e.C("--(?!" + t + ")", "$"), e.C("--" + t, r, {c: [i], r: 10})];
20170        return {
20171            l: e.UIR,
20172            k: {
20173                keyword: "and break do else elseif end false for if in local nil not or repeat return then true until while",
20174                built_in: "_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"
20175            },
20176            c: a.concat([{
20177                cN: "function",
20178                bK: "function",
20179                e: "\\)",
20180                c: [e.inherit(e.TM, {b: "([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}), {
20181                    cN: "params",
20182                    b: "\\(",
20183                    eW: !0,
20184                    c: a
20185                }].concat(a)
20186            }, e.CNM, e.ASM, e.QSM, {cN: "string", b: t, e: r, c: [i], r: 5}])
20187        }
20188    }), e.registerLanguage("makefile", function (e) {
20189        var t = {cN: "variable", b: /\$\(/, e: /\)/, c: [e.BE]};
20190        return {
20191            aliases: ["mk", "mak"],
20192            c: [e.HCM, {
20193                b: /^\w+\s*\W*=/,
20194                rB: !0,
20195                r: 0,
20196                starts: {cN: "constant", e: /\s*\W*=/, eE: !0, starts: {e: /$/, r: 0, c: [t]}}
20197            }, {cN: "title", b: /^[\w]+:\s*$/}, {
20198                cN: "phony",
20199                b: /^\.PHONY:/,
20200                e: /$/,
20201                k: ".PHONY",
20202                l: /[\.\w]+/
20203            }, {b: /^\t+/, e: /$/, r: 0, c: [e.QSM, t]}]
20204        }
20205    }), e.registerLanguage("mathematica", function (e) {
20206        return {
20207            aliases: ["mma"],
20208            l: "(\\$|\\b)" + e.IR + "\\b",
20209            k: 
vendor: 64,745 bytes, line 20209
20209"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber",
20209
20210            c: [{cN: "comment", b: /\(\*/, e: /\*\)/}, e.ASM, e.QSM, e.CNM, {cN: "list", b: /\{/, e: /\}/, i: /:/}]
20211        }
20212    }),e.registerLanguage("matlab", function (e) {
20213        var t = [e.CNM, {cN: "string", b: "'", e: "'", c: [e.BE, {b: "''"}]}],
20214            r = {r: 0, c: [{cN: "operator", b: /'['\.]*/}]};
20215        return {
20216            k: {
20217                keyword: "break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",
20218                built_in: "sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"
20219            },
20220            i: '(//|"|#|/\\*|\\s+/\\w+)',
20221            c: [{
20222                cN: "function",
20223                bK: "function",
20224                e: "$",
20225                c: [e.UTM, {cN: "params", b: "\\(", e: "\\)"}, {cN: "params", b: "\\[", e: "\\]"}]
20226            }, {
20227                b: /[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,
20228                rB: !0,
20229                r: 0,
20230                c: [{b: /[a-zA-Z_][a-zA-Z_0-9]*/, r: 0}, r.c[0]]
20231            }, {cN: "matrix", b: "\\[", e: "\\]", c: t, r: 0, starts: r}, {
20232                cN: "cell",
20233                b: "\\{",
20234                e: /}/,
20235                c: t,
20236                r: 0,
20237                starts: r
20238            }, {b: /\)/, r: 0, starts: r}, e.C("^\\s*\\%\\{\\s*$", "^\\s*\\%\\}\\s*$"), e.C("\\%", "$")].concat(t)
20239        }
20240    }),e.registerLanguage("mel", function (e) {
20241        return {
20242            k: 
vendor: 16,196 bytes, line 20242
20242"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",
20242
20243            i: "</",
20244            c: [e.CNM, e.ASM, e.QSM, {cN: "string", b: "`", e: "`", c: [e.BE]}, {
20245                cN: "variable",
20246                v: [{b: "\\$\\d"}, {b: "[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"}, {
20247                    b: "\\*(\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)",
20248                    r: 0
20249                }]
20250            }, e.CLCM, e.CBCM]
20251        }
20252    }),e.registerLanguage("mercury", function (e) {
20253        var t = {
20254                keyword: "module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",
20255                pragma: "inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses",
20256                preprocessor: "foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",
20257                built_in: "some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"
20258            }, r = {cN: "label", b: "XXX", e: "$", eW: !0, r: 0}, i = e.inherit(e.CLCM, {b: "%"}),
20259            a = e.inherit(e.CBCM, {r: 0});
20260        i.c.push(r), a.c.push(r);
20261        var n = {cN: "number", b: "0'.\\|0[box][0-9a-fA-F]*"}, o = e.inherit(e.ASM, {r: 0}),
20262            s = e.inherit(e.QSM, {r: 0}),
20263            l = {cN: "constant", b: "\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]", r: 0};
20264        s.c.push(l);
20265        var c = {cN: "built_in", v: [{b: "<=>"}, {b: "<=", r: 0}, {b: "=>", r: 0}, {b: "/\\\\"}, {b: "\\\\/"}]},
20266            d = {cN: "built_in", v: [{b: ":-\\|-->"}, {b: "=", r: 0}]};
20267        return {aliases: ["m", "moo"], k: t, c: [c, d, i, a, n, e.NM, o, s, {b: /:-/}]}
20268    }),e.registerLanguage("mizar", function (e) {
20269        return {
20270            k: "environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",
20271            c: [e.C("::", "$")]
20272        }
20273    }),e.registerLanguage("perl", function (e) {
20274        var t = "getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwu
vendor: 6,165 bytes, lines 20274-20386
20274id my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",
20275            r = {cN: "subst", b: "[$@]\\{", e: "\\}", k: t}, i = {b: "->{", e: "}"}, a = {
20276                cN: "variable",
20277                v: [{b: /\$\d/}, {b: /[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/}, {b: /[\$%@][^\s\w{]/, r: 0}]
20278            }, n = [e.BE, r, a], o = [a, e.HCM, e.C("^\\=\\w", "\\=cut", {eW: !0}), i, {
20279                cN: "string",
20280                c: n,
20281                v: [{b: "q[qwxr]?\\s*\\(", e: "\\)", r: 5}, {b: "q[qwxr]?\\s*\\[", e: "\\]", r: 5}, {
20282                    b: "q[qwxr]?\\s*\\{",
20283                    e: "\\}",
20284                    r: 5
20285                }, {b: "q[qwxr]?\\s*\\|", e: "\\|", r: 5}, {b: "q[qwxr]?\\s*\\<", e: "\\>", r: 5}, {
20286                    b: "qw\\s+q",
20287                    e: "q",
20288                    r: 5
20289                }, {b: "'", e: "'", c: [e.BE]}, {b: '"', e: '"'}, {b: "`", e: "`", c: [e.BE]}, {
20290                    b: "{\\w+}",
20291                    c: [],
20292                    r: 0
20293                }, {b: "-?\\w+\\s*\\=\\>", c: [], r: 0}]
20294            }, {
20295                cN: "number",
20296                b: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",
20297                r: 0
20298            }, {
20299                b: "(\\/\\/|" + e.RSR + "|\\b(split|return|print|reverse|grep)\\b)\\s*",
20300                k: "split return print reverse grep",
20301                r: 0,
20302                c: [e.HCM, {cN: "regexp", b: "(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*", r: 10}, {
20303                    cN: "regexp",
20304                    b: "(m|qr)?/",
20305                    e: "/[a-z]*",
20306                    c: [e.BE],
20307                    r: 0
20308                }]
20309            }, {cN: "sub", bK: "sub", e: "(\\s*\\(.*?\\))?[;{]", r: 5}, {
20310                cN: "operator",
20311                b: "-\\w\\b",
20312                r: 0
20313            }, {b: "^__DATA__$", e: "^__END__$", sL: "mojolicious", c: [{b: "^@@.*", e: "$", cN: "comment"}]}];
20314        return r.c = o, i.c = o, {aliases: ["pl"], k: t, c: o}
20315    }),e.registerLanguage("mojolicious", function (e) {
20316        return {
20317            sL: "xml",
20318            c: [{cN: "preprocessor", b: "^__(END|DATA)__$"}, {
20319                b: "^\\s*%{1,2}={0,2}",
20320                e: "$",
20321                sL: "perl"
20322            }, {b: "<%{1,2}={0,2}", e: "={0,1}%>", sL: "perl", eB: !0, eE: !0}]
20323        }
20324    }),e.registerLanguage("monkey", function (e) {
20325        var t = {cN: "number", r: 0, v: [{b: "[$][a-fA-F0-9]+"}, e.NM]};
20326        return {
20327            cI: !0,
20328            k: {
20329                keyword: "public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw",
20330                built_in: "DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",
20331                literal: "true false null and or shl shr mod"
20332            },
20333            c: [e.C("#rem", "#end"), e.C("'", "$", {r: 0}), {
20334                cN: "function",
20335                bK: "function method",
20336                e: "[(=:]|$",
20337                i: /\n/,
20338                c: [e.UTM]
20339            }, {cN: "class", bK: "class interface", e: "$", c: [{bK: "extends implements"}, e.UTM]}, {
20340                cN: "variable",
20341                b: "\\b(self|super)\\b"
20342            }, {cN: "preprocessor", bK: "import", e: "$"}, {
20343                cN: "preprocessor",
20344                b: "\\s*#",
20345                e: "$",
20346                k: "if else elseif endif end then"
20347            }, {cN: "pi", b: "^\\s*strict\\b"}, {bK: "alias", e: "=", c: [e.UTM]}, e.QSM, t]
20348        }
20349    }),e.registerLanguage("nginx", function (e) {
20350        var t = {cN: "variable", v: [{b: /\$\d+/}, {b: /\$\{/, e: /}/}, {b: "[\\$\\@]" + e.UIR}]}, r = {
20351            eW: !0,
20352            l: "[a-z/_]+",
20353            k: {built_in: "on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},
20354            r: 0,
20355            i: "=>",
20356            c: [e.HCM, {cN: "string", c: [e.BE, t], v: [{b: /"/, e: /"/}, {b: /'/, e: /'/}]}, {
20357                cN: "url",
20358                b: "([a-z]+):/",
20359                e: "\\s",
20360                eW: !0,
20361                eE: !0,
20362                c: [t]
20363            }, {
20364                cN: "regexp",
20365                c: [e.BE, t],
20366                v: [{b: "\\s\\^", e: "\\s|{|;", rE: !0}, {
20367                    b: "~\\*?\\s+",
20368                    e: "\\s|{|;",
20369                    rE: !0
20370                }, {b: "\\*(\\.[a-z\\-]+)+"}, {b: "([a-z\\-]+\\.)+\\*"}]
20371            }, {cN: "number", b: "\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"}, {
20372                cN: "number",
20373                b: "\\b\\d+[kKmMgGdshdwy]*\\b",
20374                r: 0
20375            }, t]
20376        };
20377        return {
20378            aliases: ["nginxconf"],
20379            c: [e.HCM, {b: e.UIR + "\\s", e: ";|{", rB: !0, c: [{cN: "title", b: e.UIR, starts: r}], r: 0}],
20380            i: "[^\\s\\}]"
20381        }
20382    }),e.registerLanguage("nimrod", function (e) {
20383        return {
20384            aliases: ["nim"],
20385            k: {
20386                keyword: "addr and as asm bind block break|0 case|0 cast const|0 continue|0 converter discard distinct|10 div do elif else|0 end|0 enum|0 except export finally for from generic if|0 import|0 in include|0 interface is isnot|10 iterator|10 let|0 macro method|10 mixin mod nil not notin|10 object|0 of or out proc|10 ptr raise ref|10 return shl shr static template|10 try|0 tuple type|0 using|0 var|0 when while|0 with without xor yield",
20387                literal: "shared guarded stdin stdout stderr result|10 true false"
20388            },
20389            c: [{cN: "decorator", b: /{\./, e: /\.}/, r: 10}, {
20390                cN: "string",
20391                b: /[a-zA-Z]\w*"/,
20392                e: /"/,
20393                c: [{b: /""/}]
20394            }, {cN: "string", b: /([a-zA-Z]\w*)?"""/, e: /"""/}, e.QSM, {
20395                cN: "type",
20396                b: /\b[A-Z]\w+\b/,
20397                r: 0
20398            }, {
20399                cN: "type",
20400                b: /\b(int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float|float32|float64|bool|char|string|cstring|pointer|expr|stmt|void|auto|any|range|array|openarray|varargs|seq|set|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringarray|semistatic)\b/
20401            }, {cN: "number", b: /\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/, r: 0}, {
20402                cN: "number",
20403                b: /\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/,
20404                r: 0
20405            }, {cN: "number", b: /\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/, r: 0}, {
20406                cN: "number",
20407                b: /\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/,
20408                r: 0
20409            }, e.HCM]
20410        }
20411    }),e.registerLanguage("nix", function (e) {
20412        var t = {
20413                keyword: "rec with let in inherit assert if else then",
20414                constant: "true false or and null",
20415                built_in: "import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"
20416            }, r = {cN: "subst", b: /\$\{/, e: /}/, k: t}, i = {cN: "variable", b: /[a-zA-Z0-9-_]+(\s*=)/, r: 0},
20417            a = {cN: "string", b: "''", e: "''", c: [r]}, n = {cN: "string", b: '"', e: '"', c: [r]},
20418            o = [e.NM, e.HCM, e.CBCM, a, n, i];
20419        return r.c = o, {aliases: ["nixos"], k: t, c: o}
20420    }),e.registerLanguage("nsis", function (e) {
20421        var t = {
20422                cN: "symbol",
20423                b: "\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)"
20424            }, r = {cN: "constant", b: "\\$+{[a-zA-Z0-9_]+}"}, i = {cN: "variable", b: "\\$+[a-zA-Z0-9_]+", i: "\\(\\){}"},
20425            a = {cN: "constant", b: "\\$+\\([a-zA-Z0-9_]+\\)"}, n = {
20426                cN: "params",
20427                b: "(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"
20428            }, o = {
20429                cN: "constant",
20430                b: "\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)"
20431            };
20432        return {
20433            cI: !1,
20434            k: {
20435                keyword: "Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstType
20435SetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption SubSectionEnd Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",
20436                literal: "admin all auto both colored current false force hide highest lastused leave listonly none normal notset off on open print show silent silentlog smooth textonly true user "
20437            },
20438            c: [e.HCM, e.CBCM, {
20439                cN: "string",
20440                b: '"',
20441                e: '"',
20442                i: "\\n",
20443                c: [{cN: "symbol", b: "\\$(\\\\(n|r|t)|\\$)"}, t, r, i, a]
20444            }, e.C(";", "$", {r: 0}), {
20445                cN: "function",
20446                bK: "Function PageEx Section SectionGroup SubSection",
20447                e: "$"
20448            }, o, r, i, a, n, e.NM, {
20449                cN: "literal", b: e.IR + "::" + e.IR
20450            }]
20451        }
20452    }),e.registerLanguage("objectivec", function (e) {
20453        var t = {cN: "built_in", b: "(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\w+"}, r = {
20454            keyword: "int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",
20455            literal: "false true FALSE TRUE nil YES NO NULL",
20456            built_in: "BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"
20457        }, i = /[a-zA-Z@][a-zA-Z0-9_]*/, a = "@interface @class @protocol @implementation";
20458        return {
20459            aliases: ["mm", "objc", "obj-c"],
20460            k: r,
20461            l: i,
20462            i: "</",
20463            c: [t, e.CLCM, e.CBCM, e.CNM, e.QSM, {
20464                cN: "string",
20465                v: [{b: '@"', e: '"', i: "\\n", c: [e.BE]}, {b: "'", e: "[^\\\\]'", i: "[^\\\\][^']"}]
20466            }, {
20467                cN: "preprocessor",
20468                b: "#",
20469                e: "$",
20470                c: [{cN: "title", v: [{b: '"', e: '"'}, {b: "<", e: ">"}]}]
20471            }, {
20472                cN: "class",
20473                b: "(" + a.split(" ").join("|") + ")\\b",
20474                e: "({|$)",
20475                eE: !0,
20476                k: a,
20477                l: i,
20478                c: [e.UTM]
20479            }, {cN: "variable", b: "\\." + e.UIR, r: 0}]
20480        }
20481    }),e.registerLanguage("ocaml", function (e) {
20482        return {
20483            aliases: ["ml"],
20484            k: {
20485                keyword: "and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",
20486                built_in: "array bool bytes char exn|5 float int int32 int64 list lazy_t|5 
vendor: 9,017 bytes, lines 20486-20615
20486nativeint|5 string unit in_channel out_channel ref",
20487                literal: "true false"
20488            },
20489            i: /\/\/|>>/,
20490            l: "[a-z_]\\w*!?",
20491            c: [{cN: "literal", b: "\\[(\\|\\|)?\\]|\\(\\)"}, e.C("\\(\\*", "\\*\\)", {c: ["self"]}), {
20492                cN: "symbol",
20493                b: "'[A-Za-z_](?!')[\\w']*"
20494            }, {cN: "tag", b: "`[A-Z][\\w']*"}, {
20495                cN: "type",
20496                b: "\\b[A-Z][\\w']*",
20497                r: 0
20498            }, {b: "[a-z_]\\w*'[\\w']*"}, e.inherit(e.ASM, {
20499                cN: "char",
20500                r: 0
20501            }), e.inherit(e.QSM, {i: null}), {
20502                cN: "number",
20503                b: "\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",
20504                r: 0
20505            }, {b: /[-=]>/}]
20506        }
20507    }),e.registerLanguage("openscad", function (e) {
20508        var t = {cN: "keyword", b: "\\$(f[asn]|t|vp[rtd]|children)"}, r = {cN: "literal", b: "false|true|PI|undef"},
20509            i = {cN: "number", b: "\\b\\d+(\\.\\d+)?(e-?\\d+)?", r: 0}, a = e.inherit(e.QSM, {i: null}),
20510            n = {cN: "preprocessor", k: "include use", b: "include|use <", e: ">"},
20511            o = {cN: "params", b: "\\(", e: "\\)", c: ["self", i, a, t, r]}, s = {cN: "built_in", b: "[*!#%]", r: 0},
20512            l = {cN: "function", bK: "module function", e: "\\=|\\{", c: [o, e.UTM]};
20513        return {
20514            aliases: ["scad"],
20515            k: {
20516                keyword: "function module include use for intersection_for if else \\%",
20517                literal: "false true PI undef",
20518                built_in: "circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"
20519            },
20520            c: [e.CLCM, e.CBCM, i, n, a, o, t, s, l]
20521        }
20522    }),e.registerLanguage("oxygene", function (e) {
20523        var t = "abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",
20524            r = e.C("{", "}", {r: 0}), i = e.C("\\(\\*", "\\*\\)", {r: 10}),
20525            a = {cN: "string", b: "'", e: "'", c: [{b: "''"}]}, n = {cN: "string", b: "(#\\d+)+"}, o = {
20526                cN: "function",
20527                bK: "function constructor destructor procedure method",
20528                e: "[:;]",
20529                k: "function constructor|10 destructor|10 procedure|10 method|10",
20530                c: [e.TM, {cN: "params", b: "\\(", e: "\\)", k: t, c: [a, n]}, r, i]
20531            };
20532        return {
20533            cI: !0,
20534            k: t,
20535            i: '("|\\$[G-Zg-z]|\\/\\*|</|=>|->)',
20536            c: [r, i, e.CLCM, a, n, e.NM, o, {
20537                cN: "class",
20538                b: "=\\bclass\\b",
20539                e: "end;",
20540                k: t,
20541                c: [a, n, r, i, e.CLCM, o]
20542            }]
20543        }
20544    }),e.registerLanguage("parser3", function (e) {
20545        var t = e.C("{", "}", {c: ["self"]});
20546        return {
20547            sL: "xml",
20548            r: 0,
20549            c: [e.C("^#", "$"), e.C("\\^rem{", "}", {r: 10, c: [t]}), {
20550                cN: "preprocessor",
20551                b: "^@(?:BASE|USE|CLASS|OPTIONS)$",
20552                r: 10
20553            }, {cN: "title", b: "@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"}, {
20554                cN: "variable",
20555                b: "\\$\\{?[\\w\\-\\.\\:]+\\}?"
20556            }, {cN: "keyword", b: "\\^[\\w\\-\\.\\:]+"}, {cN: "number", b: "\\^#[0-9a-fA-F]+"}, e.CNM]
20557        }
20558    }),e.registerLanguage("pf", function (e) {
20559        var t = {cN: "variable", b: /\$[\w\d#@][\w\d_]*/}, r = {cN: "variable", b: /</, e: />/};
20560        return {
20561            aliases: ["pf.conf"],
20562            l: /[a-z0-9_<>-]+/,
20563            k: {
20564                built_in: "block match pass load anchor|5 antispoof|10 set table",
20565                keyword: "in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",
20566                literal: "all any no-route self urpf-failed egress|5 unknown"
20567            },
20568            c: [e.HCM, e.NM, e.QSM, t, r]
20569        }
20570    }),e.registerLanguage("php", function (e) {
20571        var t = {cN: "variable", b: "\\$+[a-zA-Z_�-ÿ][a-zA-Z0-9_�-ÿ]*"}, r = {cN: "preprocessor", b: /<\?(php)?|\?>/},
20572            i = {
20573                cN: "string",
20574                c: [e.BE, r],
20575                v: [{b: 'b"', e: '"'}, {b: "b'", e: "'"}, e.inherit(e.ASM, {i: null}), e.inherit(e.QSM, {i: null})]
20576            }, a = {v: [e.BNM, e.CNM]};
20577        return {
20578            aliases: ["php3", "php4", "php5", "php6"],
20579            cI: !0,
20580            k: "and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",
20581            c: [e.CLCM, e.HCM, e.C("/\\*", "\\*/", {
20582                c: [{
20583                    cN: "doctag",
20584                    b: "@[A-Za-z]+"
20585                }, r]
20586            }), e.C("__halt_compiler.+?;", !1, {eW: !0, k: "__halt_compiler", l: e.UIR}), {
20587                cN: "string",
20588                b: "<<<['\"]?\\w+['\"]?$",
20589                e: "^\\w+;",
20590                c: [e.BE]
20591            }, r, t, {b: /(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/}, {
20592                cN: "function",
20593                bK: "function",
20594                e: /[;{]/,
20595                eE: !0,
20596                i: "\\$|\\[|%",
20597                c: [e.UTM, {cN: "params", b: "\\(", e: "\\)", c: ["self", t, e.CBCM, i, a]}]
20598            }, {
20599                cN: "class",
20600                bK: "class interface",
20601                e: "{",
20602                eE: !0,
20603                i: /[:\(\$"]/,
20604                c: [{bK: "extends implements"}, e.UTM]
20605            }, {bK: "namespace", e: ";", i: /[\.']/, c: [e.UTM]}, {bK: "use", e: ";", c: [e.UTM]}, {b: "=>"}, i, a]
20606        }
20607    }),e.registerLanguage("powershell", function (e) {
20608        var t = {b: "`[\\s\\S]", r: 0}, r = {cN: "variable", v: [{b: /\$[\w\d][\w\d_:]*/}]},
20609            i = {cN: "string", b: /"/, e: /"/, c: [t, r, {cN: "variable", b: /\$[A-z]/, e: /[^A-z]/}]},
20610            a = {cN: "string", b: /'/, e: /'/};
20611        return {
20612            aliases: ["ps"], l: /-?[A-z\.\-]+/, cI: !0, k: {
20613                keyword: "if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",
20614                literal: "$null $true $false",
20615                built_in: "Add-Content Add-History Add-Member Add-PSSnapin Clear-Content Clear-Item Clear-Item Property Clear-Variable Compare-Object ConvertFrom-SecureStr
20615ing Convert-Path ConvertTo-Html ConvertTo-SecureString Copy-Item Copy-ItemProperty Export-Alias Export-Clixml Export-Console Export-Csv ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item Join-Path Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug Set-Service Set-TraceSource Set-Variable Sort-Object Split-Path Start-Service Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where-Object Write-Debug Write-Error Write-Host Write-Output Write-Progress Write-Verbose Write-Warning",
20616                operator: "-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"
20617            }, c: [e.HCM, e.NM, i, a, r]
20618        }
20619    }),e.registerLanguage("processing", function (e) {
20620        return {
20621            k: {
20622                keyword: "BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",
20623                constant: "P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",
20624                variable: "displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width",
20625                title: "setup draw",
20626                built_in: "size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pu
20626shMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"
20627            }, c: [e.CLCM, e.CBCM, e.ASM, e.QSM, e.CNM]
20628        }
20629    }),e.registerLanguage("profile", function (e) {
20630        return {
20631            c: [e.CNM, {cN: "built_in", b: "{", e: "}$", eB: !0, eE: !0, c: [e.ASM, e.QSM], r: 0}, {
20632                cN: "filename",
20633                b: "[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",
20634                e: ":",
20635                eE: !0
20636            }, {
20637                cN: "header",
20638                b: "(ncalls|tottime|cumtime)",
20639                e: "$",
20640                k: "ncalls tottime|10 cumtime|10 filename",
20641                r: 10
20642            }, {cN: "summary", b: "function calls", e: "$", c: [e.CNM], r: 10}, e.ASM, e.QSM, {
20643                cN: "function",
20644                b: "\\(",
20645                e: "\\)$",
20646                c: [e.UTM],
20647                r: 0
20648            }]
20649        }
20650    }),e.registerLanguage("prolog", function (e) {
20651        var t = {cN: "atom", b: /[a-z][A-Za-z0-9_]*/, r: 0},
20652            r = {cN: "name", v: [{b: /[A-Z][a-zA-Z0-9_]*/}, {b: /_[A-Za-z0-9_]*/}], r: 0}, i = {b: /\(/, e: /\)/, r: 0},
20653            a = {b: /\[/, e: /\]/}, n = {cN: "comment", b: /%/, e: /$/, c: [e.PWM]},
20654            o = {cN: "string", b: /`/, e: /`/, c: [e.BE]}, s = {cN: "string", b: /0\'(\\\'|.)/},
20655            l = {cN: "string", b: /0\'\\s/}, c = {b: /:-/},
20656            d = [t, r, i, c, a, n, e.CBCM, e.QSM, e.ASM, o, s, l, e.CNM];
20657        return i.c = d, a.c = d, {c: d.concat([{b: /\.$/}])}
20658    }),e.registerLanguage("protobuf", function (e) {
20659        return {
20660            k: {
20661                keyword: "package import option optional required repeated group",
20662                built_in: "double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",
20663                literal: "true false"
20664            },
20665            c: [e.QSM, e.NM, e.CLCM, {
20666                cN: "class",
20667                bK: "message enum service",
20668                e: /\{/,
20669                i: /\n/,
20670                c: [e.inherit(e.TM, {starts: {eW: !0, eE: !0}})]
20671            }, {cN: "function", bK: "rpc", e: /;/, eE: !0, k: "rpc returns"}, {
20672                cN: "constant",
20673                b: /^\s*[A-Z_]+/,
20674                e: /\s*=/,
20675                eE: !0
20676            }]
20677        }
20678    }),e.registerLanguage("puppet", function (e) {
20679        var t = {
20680                keyword: "and case default else elsif false if in import enherits node or true undef unless main settings $string ",
20681                literal: "alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",
20682                built_in: "architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipad
vendor: 11,599 bytes, lines 20682-20821
20682dress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"
20683            }, r = e.C("#", "$"), i = "([A-Za-z_]|::)(\\w|::)*", a = e.inherit(e.TM, {b: i}),
20684            n = {cN: "variable", b: "\\$" + i},
20685            o = {cN: "string", c: [e.BE, n], v: [{b: /'/, e: /'/}, {b: /"/, e: /"/}]};
20686        return {
20687            aliases: ["pp"],
20688            c: [r, n, o, {bK: "class", e: "\\{|;", i: /=/, c: [a, r]}, {
20689                bK: "define",
20690                e: /\{/,
20691                c: [{cN: "title", b: e.IR, endsParent: !0}]
20692            }, {
20693                b: e.IR + "\\s+\\{",
20694                rB: !0,
20695                e: /\S/,
20696                c: [{cN: "name", b: e.IR}, {
20697                    b: /\{/,
20698                    e: /\}/,
20699                    k: t,
20700                    r: 0,
20701                    c: [o, r, {b: "[a-zA-Z_]+\\s*=>"}, {
20702                        cN: "number",
20703                        b: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",
20704                        r: 0
20705                    }, n]
20706                }],
20707                r: 0
20708            }]
20709        }
20710    }),e.registerLanguage("python", function (e) {
20711        var t = {cN: "prompt", b: /^(>>>|\.\.\.) /}, r = {
20712                cN: "string",
20713                c: [e.BE],
20714                v: [{b: /(u|b)?r?'''/, e: /'''/, c: [t], r: 10}, {
20715                    b: /(u|b)?r?"""/,
20716                    e: /"""/,
20717                    c: [t],
20718                    r: 10
20719                }, {b: /(u|r|ur)'/, e: /'/, r: 10}, {b: /(u|r|ur)"/, e: /"/, r: 10}, {b: /(b|br)'/, e: /'/}, {
20720                    b: /(b|br)"/,
20721                    e: /"/
20722                }, e.ASM, e.QSM]
20723            }, i = {cN: "number", r: 0, v: [{b: e.BNR + "[lLjJ]?"}, {b: "\\b(0o[0-7]+)[lLjJ]?"}, {b: e.CNR + "[lLjJ]?"}]},
20724            a = {cN: "params", b: /\(/, e: /\)/, c: ["self", t, i, r]};
20725        return {
20726            aliases: ["py", "gyp"],
20727            k: {
20728                keyword: "and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",
20729                built_in: "Ellipsis NotImplemented"
20730            },
20731            i: /(<\/|->|\?)/,
20732            c: [t, i, r, e.HCM, {
20733                v: [{cN: "function", bK: "def", r: 10}, {cN: "class", bK: "class"}],
20734                e: /:/,
20735                i: /[${=;\n,]/,
20736                c: [e.UTM, a]
20737            }, {cN: "decorator", b: /^[\t ]*@/, e: /$/}, {b: /\b(print|exec)\(/}]
20738        }
20739    }),e.registerLanguage("q", function (e) {
20740        var t = {
20741            keyword: "do while select delete by update from",
20742            constant: "0b 1b",
20743            built_in: "neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",
20744            typename: "`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"
20745        };
20746        return {aliases: ["k", "kdb"], k: t, l: /\b(`?)[A-Za-z0-9_]+\b/, c: [e.CLCM, e.QSM, e.CNM]}
20747    }),e.registerLanguage("r", function (e) {
20748        var t = "([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";
20749        return {
20750            c: [e.HCM, {
20751                b: t,
20752                l: t,
20753                k: {
20754                    keyword: "function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",
20755                    literal: "NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"
20756                },
20757                r: 0
20758            }, {cN: "number", b: "0[xX][0-9a-fA-F]+[Li]?\\b", r: 0}, {
20759                cN: "number",
20760                b: "\\d+(?:[eE][+\\-]?\\d*)?L\\b",
20761                r: 0
20762            }, {cN: "number", b: "\\d+\\.(?!\\d)(?:i\\b)?", r: 0}, {
20763                cN: "number",
20764                b: "\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",
20765                r: 0
20766            }, {cN: "number", b: "\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b", r: 0}, {b: "`", e: "`", r: 0}, {
20767                cN: "string",
20768                c: [e.BE],
20769                v: [{b: '"', e: '"'}, {b: "'", e: "'"}]
20770            }]
20771        }
20772    }),e.registerLanguage("rib", function (e) {
20773        return {
20774            k: "ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",
20775            i: "</",
20776            c: [e.HCM, e.CNM, e.ASM, e.QSM]
20777        }
20778    }),e.registerLanguage("roboconf", function (e) {
20779        var t = "[a-zA-Z-_][^\n{\r\n]+\\{";
20780        return {
20781            aliases: ["graph", "instances"],
20782            cI: !0,
20783            k: "import",
20784            c: [{
20785                cN: "facet",
20786                b: "^facet " + t,
20787                e: "}",
20788                k: "facet installer exports children extends",
20789                c: [e.HCM]
20790            }, {
20791                cN: "instance-of",
20792                b: "^instance of " + t,
20793                e: "}",
20794                k: "name count channels instance-data instance-state instance of",
20795                c: [{cN: "keyword", b: "[a-zA-Z-_]+( |	)*:"}, e.HCM]
20796            }, {
20797                cN: "component",
20798                b: "^" + t,
20799                e: "}",
20800                l: "\\(?[a-zA-Z]+\\)?",
20801                k: "installer exports children extends imports facets alias (optional)",
20802                c: [{cN: "string", b: "\\.[a-zA-Z-_]+", e: "\\s|,|;", eE: !0}, e.HCM]
20803            }, e.HCM]
20804        }
20805    }),e.registerLanguage("rsl", function (e) {
20806        return {
20807            k: {
20808                keyword: "float color point normal vector matrix while for if do return else break extern continue",
20809                built_in: "abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"
20810            },
20811            i: "</",
20812            c: [e.CLCM, e.CBCM, e.QSM, e.ASM, e.CNM, {cN: "preprocessor", b: "#", e: "$"}, {
20813                cN: "shader",
20814                bK: "surface displacement light volume imager",
20815                e: "\\("
20816            }, {cN: "shading", bK: "illuminate illuminance gather", e: "\\("}]
20817        }
20818    }),e.registerLanguage("ruleslanguage", function (e) {
20819        return {
20820            k: {
20821                keyword: "BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINN
20821Z HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",
20822                built_in: "IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"
20823            },
20824            c: [e.CLCM, e.CBCM, e.ASM, e.QSM, e.CNM, {
20825                cN: "array",
20826                v: [{b: "#\\s+[a-zA-Z\\ \\.]*", r: 0}, {b: "#[a-zA-Z\\ \\.]+"}]
20827            }]
20828        }
20829    }),e.registerLanguage("rust", function (e) {
20830        var t = "([uif](8|16|32|64|size))?", r = e.inherit(e.CBCM);
20831        return r.c.push("self"), {
20832            aliases: ["rs"],
20833            k: {
20834                keyword: "alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield int i8 i16 i32 i64 uint u8 u32 u64 float f32 f64 str char bool",
20835                built_in: "assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln!"
20836            },
20837            l: e.IR + "!?",
20838            i: "</",
20839            c: [e.CLCM, r, e.inherit(e.QSM, {i: null}), {
20840                cN: "string",
20841                v: [{b: /r(#*)".*?"\1(?!#)/}, {b: /'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}, {b: /'[a-zA-Z_][a-zA-Z0-9_]*/}]
20842            }, {
20843                cN: "number",
20844                v: [{b: "\\b0b([01_]+)" + t}, {b: "\\b0o([0-7_]+)" + t}, {b: "\\b0x([A-Fa-f0-9_]+)" + t}, {b: "\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)" + t}],
20845                r: 0
20846            }, {cN: "function", bK: "fn", e: "(\\(|<)", eE: !0, c: [e.UTM]}, {
20847                cN: "preprocessor",
20848                b: "#\\!?\\[",
20849                e: "\\]"
20850            }, {bK: "type", e: "(=|<)", c: [e.UTM], i: "\\S"}, {
20851                bK: "trait enum",
20852                e: "{",
20853                c: [e.inherit(e.UTM, {endsParent: !0})],
20854                i: "[\\w\\d]"
20855            }, {b: e.IR + "::"}, {b: "->"}]
20856        }
20857    }),e.registerLanguage("scala", function (e) {
20858        var t = {cN: "annotation", b: "@[A-Za-z]+"}, r = {cN: "string", b: 'u?r?"""', e: '"""', r: 10},
20859            i = {cN: "symbol", b: "'\\w[\\w\\d_]*(?!')"}, a = {cN: "type", b: "\\b[A-Z][A-Za-z0-9_]*", r: 0}, n = {
20860                cN: "title",
20861                b: /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,
20862                r: 0
20863            }, o = {
20864                cN: "class",
20865                bK: "class object trait type",
20866                e: /[:={\[(\n;]/,
20867                c: [{cN: "keyword", bK: "extends with", r: 10}, n]
20868            }, s = {cN: "function", bK: "def val", e: /[:={\[(\n;]/, c: [n]};
20869        return {
20870            k: {
20871                literal: "true false null",
20872                keyword: "type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"
20873            }, c: [e.CLCM, e.CBCM, r, e.QSM, i, a, s, o, e.CNM, t]
20874        }
20875    }),e.registerLanguage("scheme", function (e) {
20876        var t = "[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+", r = "(\\-|\\+)?\\d+([./]\\d+)?", i = r + "[+\\-]" + r + "i",
20877            a = {built_in: "case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-ch
20877ar real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},
20878            n = {cN: "shebang", b: "^#!", e: "$"}, o = {
20879                cN: "literal", b: "(#t|#f|#\\\\" + t + "|#\\\\.)"
20880            }, s = {
20881                cN: "number",
20882                v: [{b: r, r: 0}, {
20883                    b: i,
20884                    r: 0
20885                }, {b: "#b[0-1]+(/[0-1]+)?"}, {b: "#o[0-7]+(/[0-7]+)?"}, {b: "#x[0-9a-f]+(/[0-9a-f]+)?"}]
20886            }, l = e.QSM, c = [e.C(";", "$", {r: 0}), e.C("#\\|", "\\|#")], d = {b: t, r: 0},
20887            p = {cN: "variable", b: "'" + t}, u = {eW: !0, r: 0}, m = {
20888                cN: "list",
20889                v: [{b: "\\(", e: "\\)"}, {b: "\\[", e: "\\]"}],
20890                c: [{cN: "keyword", b: t, l: t, k: a}, u]
20891            };
20892        return u.c = [o, s, l, d, p, m].concat(c), {i: /\S/, c: [n, s, l, p, m].concat(c)}
20893    }),e.registerLanguage("scilab", function (e) {
20894        var t = [e.CNM, {cN: "string", b: "'|\"", e: "'|\"", c: [e.BE, {b: "''"}]}];
20895        return {
20896            aliases: ["sci"],
20897            k: {
20898                keyword: "abort break case clear catch continue do elseif else endfunction end for functionglobal if pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",
20899                built_in: "abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listfiles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tantype typename warning zeros matrix"
20900            },
20901            i: '("|#|/\\*|\\s+/\\w+)',
20902            c: [{
20903                cN: "function",
20904                bK: "function endfunction",
20905                e: "$",
20906                k: "function endfunction|10",
20907                c: [e.UTM, {cN: "params", b: "\\(", e: "\\)"}]
20908            }, {cN: "transposed_variable", b: "[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)", e: "", r: 0}, {
20909                cN: "matrix",
20910                b: "\\[",
20911                e: "\\]'*[\\.']*",
20912                r: 0,
20913                c: t
20914            }, e.C("//", "$")].concat(t)
20915        }
20916    }),e.registerLanguage("scss", function (e) {
20917        var t = "[a-zA-Z-][a-zA-Z0-9_-]*", r = {cN: "variable", b: "(\\$" + t + ")\\b"},
20918            i = {cN: "function", b: t + "\\(", rB: !0, eE: !0, e: "\\("}, a = {cN: "hexcolor", b: "#[0-9A-Fa-f]+"};
20919        return {
20920            cN: "attribute",
20921            b: "[A-Z\\_\\.\\-]+",
20922            e: ":",
20923            eE: !0,
20924            i: "[^\\s]",
20925            starts: {
20926                cN: "value",
20927                eW: !0,
20928                eE: !0,
20929                c: [i, a, e.CSSNM, e.QSM, e.ASM, e.CBCM, {cN: "important", b: "!important"}]
20930            }
20931        }, {
20932            cI: !0,
20933            i: "[=/|']",
20934            c: [e.CLCM, e.CBCM, i, {cN: "id", b: "\\#[A-Za-z0-9_-]+", r: 0}, {
20935                cN: "class",
20936                b: "\\.[A-Za-z0-9_-]+",
20937                r: 0
20938            }, {cN: "attr_selector", b: "\\[", e: "\\]", i: "$"}, {
20939                cN: "tag",
20940                b: "\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",
20941                r: 0
20942            }, {
20943                cN: "pseudo",
20944                b: ":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"
20945            }, {
20946                cN: "pseudo",
20947                b: "::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"
20948            }, r, {
20949                cN: "attribute",
20950                b: "\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",
20951                i: "[^\\s]"
20952            }, {
20953                cN: "value",
20954                b: "\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inl
20954ine-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"
20955            }, {
20956                cN: "value",
20957                b: ":",
20958                e: ";",
20959                c: [i, r, a, e.CSSNM, e.QSM, e.ASM, {cN: "important", b: "!important"}]
20960            }, {
20961                cN: "at_rule",
20962                b: "@",
20963                e: "[{;]",
20964                k: "mixin include extend for if else each while charset import debug media page content font-face namespace warn",
20965                c: [i, r, e.QSM, e.ASM, a, e.CSSNM, {cN: "preprocessor", b: "\\s[A-Za-z0-9_.-]+", r: 0}]
20966            }]
20967        }
20968    }),e.registerLanguage("smali", function (e) {
20969        var t = ["add", "and", "cmp", "cmpg", "cmpl", "const", "div", "double", "float", "goto", "if", "int", "long", "move", "mul", "neg", "new", "nop", "not", "or", "rem", "return", "shl", "shr", "sput", "sub", "throw", "ushr", "xor"],
20970            r = ["aget", "aput", "array", "check", "execute", "fill", "filled", "goto/16", "goto/32", "iget", "instance", "invoke", "iput", "monitor", "packed", "sget", "sparse"],
20971            i = ["transient", "constructor", "abstract", "final", "synthetic", "public", "private", "protected", "static", "bridge", "system"];
20972        return {
20973            aliases: ["smali"],
20974            c: [{cN: "string", b: '"', e: '"', r: 0}, e.C("#", "$", {r: 0}), {
20975                cN: "keyword",
20976                b: "\\s*\\.end\\s[a-zA-Z0-9]*",
20977                r: 1
20978            }, {cN: "keyword", b: "^[ ]*\\.[a-zA-Z]*", r: 0}, {
20979                cN: "keyword",
20980                b: "\\s:[a-zA-Z_0-9]*",
20981                r: 0
20982            }, {cN: "keyword", b: "\\s(" + i.join("|") + ")", r: 1}, {
20983                cN: "keyword",
20984                b: "\\[",
20985                r: 0
20986            }, {cN: "instruction", b: "\\s(" + t.join("|") + ")\\s", r: 1}, {
20987                cN: "instruction",
20988                b: "\\s(" + t.join("|") + ")((\\-|/)[a-zA-Z0-9]+)+\\s",
20989                r: 10
20990            }, {cN: "instruction", b: "\\s(" + r.join("|") + ")((\\-|/)[a-zA-Z0-9]+)*\\s", r: 10}, {
20991                cN: "class",
20992                b: "L[^(;:\n]*;",
20993                r: 0
20994            }, {cN: "function", b: '( |->)[^(\n ;"]*\\(', r: 0}, {cN: "function", b: "\\)", r: 0}, {
20995                cN: "variable",
20996                b: "[vp][0-9]+",
20997                r: 0
20998            }]
20999        }
21000    }),e.registerLanguage("smalltalk", function (e) {
21001        var t = "[a-z][a-zA-Z0-9_]*", r = {cN: "char", b: "\\$.{1}"}, i = {cN: "symbol", b: "#" + e.UIR};
21002        return {
21003            aliases: ["st"],
21004            k: "self super nil true false thisContext",
21005            c: [e.C('"', '"'), e.ASM, {cN: "class", b: "\\b[A-Z][A-Za-z0-9_]*", r: 0}, {
21006                cN: "method",
21007                b: t + ":",
21008                r: 0
21009            }, e.CNM, i, r, {
21010                cN: "localvars",
21011                b: "\\|[ ]*" + t + "([ ]+" + t + ")*[ ]*\\|",
21012                rB: !0,
21013                e: /\|/,
21014                i: /\S/,
21015                c: [{b: "(\\|[ ]*)?" + t}]
21016            }, {cN: "array", b: "\\#\\(", e: "\\)", c: [e.ASM, r, e.CNM, i]}]
21017        }
21018    }),e.registerLanguage("sml", function (e) {
21019        return {
21020            aliases: ["ml"],
21021            k: {
21022                keyword: "abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",
21023                built_in: "array bool char exn int list option order real ref string substring vector unit word",
21024                literal: "true false NONE SOME LESS EQUAL GREATER nil"
21025            },
21026            i: /\/\/|>>/,
21027            l: "[a-z_]\\w*!?",
21028            c: [{cN: "literal", b: "\\[(\\|\\|)?\\]|\\(\\)"}, e.C("\\(\\*", "\\*\\)", {c: ["self"]}), {
21029                cN: "symbol",
21030                b: "'[A-Za-z_](?!')[\\w']*"
21031            }, {cN: "tag", b: "`[A-Z][\\w']*"}, {
21032                cN: "type",
21033                b: "\\b[A-Z][\\w']*",
21034                r: 0
21035            }, {b: "[a-z_]\\w*'[\\w']*"}
21035, e.inherit(e.ASM, {
21036                cN: "char",
21037                r: 0
21038            }), e.inherit(e.QSM, {i: null}), {
21039                cN: "number",
21040                b: "\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",
21041                r: 0
21042            }, {b: /[-=]>/}]
21043        }
21044    }),e.registerLanguage("sql", function (e) {
21045        var t = e.C("--", "$");
21046        return {
21047            cI: !0, i: /[<>]/, c: [{
21048                cN: "operator",
21049                bK: "begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release|0 unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke",
21050                e: /;/,
21051                eW: !0,
21052                k: {
21053                    keyword: "abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes c cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle d data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration e each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cac
21053he flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function g general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http i id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists k keep keep_duplicates key keys kill l language large last|0 last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link|0 list|0 listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock|0 locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop|0 low low_priority lower lpad lrtrim ltrim m main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex n name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding p package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise|0 rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release|0 release_lock relies_on relocate rely rem remainder repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse t
21053ype ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",
21054                    literal: "true false null",
21055                    built_in: "array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"
21056                },
21057                c: [{cN: "string", b: "'", e: "'", c: [e.BE, {b: "''"}]}, {
21058                    cN: "string",
21059                    b: '"',
21060                    e: '"',
21061                    c: [e.BE, {b: '""'}]
21062                }, {cN: "string", b: "`", e: "`", c: [e.BE]}, e.CNM, e.CBCM, t]
21063            }, e.CBCM, t]
21064        }
21065    }),e.registerLanguage("stata", function (e) {
21066        return {
21067            aliases: ["do", "ado"],
21068            cI: !0,
21069            k: "if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alph
21069a ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_
21069which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit sv
21069ynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",
21070            c: [{cN: "label", v: [{b: "\\$\\{?[a-zA-Z0-9_]+\\}?"}, {b: "`[a-zA-Z0-9_]+'"}]}, {
21071                cN: "string",
21072                v: [{b: '`"[^\r\n]*?"\''}, {b: '"[^\r\n"]*"'}]
21073            }, {
21074                cN: "literal",
21075                v: [{b: "\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|roun
21075d|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]
21076            }, e.C("^[ 	]*\\*.*$", !1), e.CLCM, e.CBCM]
21077        }
21078    }),e.registerLanguage("step21", function (e) {
21079        var t = "[A-Z_][A-Z0-9_.]*", r = "END-ISO-10303-21;",
21080            i = {literal: "", built_in: "", keyword: "HEADER ENDSEC DATA"},
21081            a = {cN: "preprocessor", b: "ISO-10303-21;", r: 10},
21082            n = [e.CLCM, e.CBCM, e.C("/\\*\\*!", "\\*/"), e.CNM, e.inherit(e.ASM, {i: null}), e.inherit(e.QSM, {i: null}), {
21083                cN: "string",
21084                b: "'",
21085                e: "'"
21086            }, {cN: "label", v: [{b: "#", e: "\\d+", i: "\\W"}]}];
21087        return {
21088            aliases: ["p21", "step", "stp"],
21089            cI: !0,
21090            l: t,
21091            k: i,
21092            c: [{cN: "preprocessor", b: r, r: 10}, a].concat(n)
21093        }
21094    }),e.registerLanguage("stylus", function (e) {
21095        var t = {cN: "variable", b: "\\$" + e.IR}, r = {cN: "hexcolor", b: "#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})", r: 10},
21096            i = ["charset", "css", "debug", "extend", "font-face", "for", "import", "include", "media", "mixin", "page", "warn", "while"],
21097            a = ["after", "before", "first-letter", "first-line", "active", "first-child", "focus", "hover", "lang", "link", "visited"],
21098            n = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video"],
21099            o = "[\\.\\s\\n\\[\\:,]",
21100            s = ["align-content", "align-items", "align-self", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "auto", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "clear", "clip", "clip-path", "color", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "content", "counter-increment", "counter-reset", "cursor", "direction", "dis
21100play", "empty-cells", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "font", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-variant-ligatures", "font-weight", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "inherit", "initial", "justify-content", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "mask", "max-height", "max-width", "min-height", "min-width", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "right", "tab-size", "table-layout", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index"],
21101            l = ["\\{", "\\}", "\\?", "(\\bReturn\\b)", "(\\bEnd\\b)", "(\\bend\\b)", ";", "#\\s", "\\*\\s", "===\\s", "\\|", "%"];
21102        return {
21103            aliases: ["styl"],
21104            cI: !1,
21105            i: "(" + l.join("|") + ")",
21106            k: "if else for in",
21107            c: [e.QSM, e.ASM, e.CLCM, e.CBCM, r, {
21108                b: "\\.[a-zA-Z][a-zA-Z0-9_-]*" + o,
21109                rB: !0,
21110                c: [{cN: "class", b: "\\.[a-zA-Z][a-zA-Z0-9_-]*"}]
21111            }, {
21112                b: "\\#[a-zA-Z][a-zA-Z0-9_-]*" + o,
21113                rB: !0,
21114                c: [{cN: "id", b: "\\#[a-zA-Z][a-zA-Z0-9_-]*"}]
21115            }, {
21116                b: "\\b(" + n.join("|") + ")" + o,
21117                rB: !0,
21118                c: [{cN: "tag", b: "\\b[a-zA-Z][a-zA-Z0-9_-]*"}]
21119            }, {cN: "pseudo", b: "&?:?:\\b(" + a.join("|") + ")" + o}, {
21120                cN: "at_rule",
21121                b: "@(" + i.join("|") + ")\\b"
21122            }, t, e.CSSNM, e.NM, {
21123                cN: "function",
21124                b: "\\b[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",
21125                i: "[\\n]",
21126                rB: !0,
21127                c: [{cN: "title", b: "\\b[a-zA-Z][a-zA-Z0-9_-]*"}, {
21128                    cN: "params",
21129                    b: /\(/,
21130                    e: /\)/,
21131                    c: [r, t, e.ASM, e.CSSNM, e.NM, e.QSM]
21132                }]
21133            }, {cN: "attribute", b: "\\b(" + s.reverse().join("|") + ")\\b"}]
21134        }
21135    }),e.registerLanguage("swift", function (e) {
21136        var t = {
21137                keyword: "class deinit enum extension func import init let protocol static struct subscript typealias var break case continue default do else fallthrough if in for return switch where while as dynamicType is new super self Self Type __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity didSet get infix inout left mutating none nonmutating operator override postfix precedence prefix right set unowned unowned safe unsafe weak willSet",
21138                literal: "true false nil",
21139                built_in: "abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofV
vendor: 12,550 bytes, lines 21139-21363
21139alue sort split startsWith strideof strideofValue swap swift toString transcode underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList"
21140            }, r = {cN: "type", b: "\\b[A-Z][\\w']*", r: 0}, i = e.C("/\\*", "\\*/", {c: ["self"]}),
21141            a = {cN: "subst", b: /\\\(/, e: "\\)", k: t, c: []}, n = {
21142                cN: "number",
21143                b: "\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",
21144                r: 0
21145            }, o = e.inherit(e.QSM, {c: [a, e.BE]});
21146        return a.c = [n], {
21147            k: t,
21148            c: [o, e.CLCM, i, r, n, {
21149                cN: "func",
21150                bK: "func",
21151                e: "{",
21152                eE: !0,
21153                c: [e.inherit(e.TM, {b: /[A-Za-z$_][0-9A-Za-z$_]*/, i: /\(/}), {
21154                    cN: "generics",
21155                    b: /</,
21156                    e: />/,
21157                    i: />/
21158                }, {
21159                    cN: "params",
21160                    b: /\(/,
21161                    e: /\)/,
21162                    endsParent: !0,
21163                    k: t,
21164                    c: ["self", n, o, e.CBCM, {b: ":"}],
21165                    i: /["']/
21166                }],
21167                i: /\[|%/
21168            }, {
21169                cN: "class",
21170                bK: "struct protocol class extension enum",
21171                k: t,
21172                e: "\\{",
21173                eE: !0,
21174                c: [e.inherit(e.TM, {b: /[A-Za-z$_][0-9A-Za-z$_]*/})]
21175            }, {
21176                cN: "preprocessor",
21177                b: "(@assignment|@class_protocol|@exported|@final|@lazy|@noreturn|@NSCopying|@NSManaged|@objc|@optional|@required|@auto_closure|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix)"
21178            }]
21179        }
21180    }),e.registerLanguage("tcl", function (e) {
21181        return {
21182            aliases: ["tk"],
21183            k: "after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",
21184            c: [e.C(";[ \\t]*#", "$"), e.C("^[ \\t]*#", "$"), {
21185                bK: "proc",
21186                e: "[\\{]",
21187                eE: !0,
21188                c: [{
21189                    cN: "symbol",
21190                    b: "[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",
21191                    e: "[ \\t\\n\\r]",
21192                    eW: !0,
21193                    eE: !0
21194                }]
21195            }, {
21196                cN: "variable",
21197                eE: !0,
21198                v: [{
21199                    b: "\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",
21200                    e: "[^a-zA-Z0-9_\\}\\$]"
21201                }, {b: "\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*", e: "(\\))?[^a-zA-Z0-9_\\}\\$]"}]
21202            }, {cN: "string", c: [e.BE], v: [e.inherit(e.ASM, {i: null}), e.inherit(e.QSM, {i: null})]}, {
21203                cN: "number",
21204                v: [e.BNM, e.CNM]
21205            }]
21206        }
21207    }),e.registerLanguage("tex", function (e) {
21208        var t = {cN: "command", b: "\\\\[a-zA-Zа-яА-я]+[\\*]?"}, r = {cN: "command", b: "\\\\[^a-zA-Zа-яА-я0-9]"},
21209            i = {cN: "special", b: "[{}\\[\\]\\&#~]", r: 0};
21210        return {
21211            c: [{
21212                b: "\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",
21213                rB: !0,
21214                c: [t, r, {cN: "number", b: " *=", e: "-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?", eB: !0}],
21215                r: 10
21216            }, t, r, i, {cN: "formula", b: "\\$\\$", e: "\\$\\$", c: [t, r, i], r: 0}, {
21217                cN: "formula",
21218                b: "\\$",
21219                e: "\\$",
21220                c: [t, r, i],
21221                r: 0
21222            }, e.C("%", "$", {r: 0})]
21223        }
21224    }),e.registerLanguage("thrift", function (e) {
21225        var t = "bool byte i16 i32 i64 double string binary";
21226        return {
21227            k: {
21228                keyword: "namespace const typedef struct enum service exception void oneway set list map required optional",
21229                built_in: t,
21230                literal: "true false"
21231            },
21232            c: [e.QSM, e.NM, e.CLCM, e.CBCM, {
21233                cN: "class",
21234                bK: "struct enum service exception",
21235                e: /\{/,
21236                i: /\n/,
21237                c: [e.inherit(e.TM, {starts: {eW: !0, eE: !0}})]
21238            }, {b: "\\b(set|list|map)\\s*<", e: ">", k: t, c: ["self"]}]
21239        }
21240    }),e.registerLanguage("tp", function (e) {
21241        var t = {cN: "number", b: "[1-9][0-9]*", r: 0}, r = {cN: "comment", b: ":[^\\]]+"}, i = {
21242            cN: "built_in",
21243            b: "(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|    TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",
21244            e: "\\]",
21245            c: ["self", t, r]
21246        }, a = {cN: "built_in", b: "(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[", e: "\\]", c: ["self", t, e.QSM, r]};
21247        return {
21248            k: {
21249                keyword: "ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET",
21250                constant: "ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"
21251            },
21252            c: [i, a, {cN: "keyword", b: "/(PROG|ATTR|MN|POS|END)\\b"}, {
21253                cN: "keyword",
21254                b: "(CALL|RUN|POINT_LOGIC|LBL)\\b"
21255            }, {cN: "keyword", b: "\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"}, {
21256                cN: "number",
21257                b: "\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",
21258                r: 0
21259            }, e.C("//", "[;$]"), e.C("!", "[;$]"), e.C("--eg:", "$"), e.QSM, {
21260                cN: "string",
21261                b: "'",
21262                e: "'"
21263            }, e.CNM, {cN: "variable", b: "\\$[A-Za-z0-9_]+"}]
21264        }
21265    }),e.registerLanguage("twig", function (e) {
21266        var t = {cN: "params", b: "\\(", e: "\\)"},
21267            r = "attribute block constant cycle date dump include max min parent random range source template_from_string",
21268            i = {cN: "function", bK: r, r: 0, c: [t]}, a = {
21269                cN: "filter",
21270                b: /\|[A-Za-z_]+:?/,
21271                k: "abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",
21272                c: [i]
21273            },
21274            n = "autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";
21275        return n = n + " " + n.split(" ").map(function (e) {
21276            return "end" + e
21277        }).join(" "), {
21278            aliases: ["craftcms"],
21279            cI: !0,
21280            sL: "xml",
21281            c: [e.C(/\{#/, /#}/), {cN: "template_tag", b: /\{%/, e: /%}/, k: n, c: [a, i]}, {
21282                cN: "variable",
21283                b: /\{\{/,
21284                e: /}}/,
21285                c: [a, i]
21286            }]
21287        }
21288    }),e.registerLanguage("typescript", function (e) {
21289        var t = {
21290            keyword: "in if for while finally var new function|0 do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private get set super static implements enum export import declare type protected",
21291            literal: "true false null undefined NaN Infinity",
21292            built_in: "eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void"
21293        };
21294        return {
21295            aliases: ["ts"],
21296            k: t,
21297            c: [{cN: "pi", b: /^\s*['"]use strict['"]/, r: 0}, e.ASM, e.QSM, e.CLCM, e.CBCM, {
21298                cN: "number",
21299                v: [{b: "\\b(0[bB][01]+)"}, {b: "\\b(0[oO][0-7]+)"}, {b: e.CNR}],
21300                r: 0
21301            }, {
21302                b: "(" + e.RSR + "|\\b(case|return|throw)\\b)\\s*",
21303                k: "return throw case",
21304                c: [e.CLCM, e.CBCM, e.RM],
21305                r: 0
21306            }, {
21307                cN: "function",
21308                b: "function",
21309                e: /[\{;]/,
21310                eE: !0,
21311                k: t,
21312                c: ["self", e.inherit(e.TM, {b: /[A-Za-z$_][0-9A-Za-z$_]*/}), {
21313                    cN: "params",
21314                    b: /\(/,
21315                    e: /\)/,
21316                    eB: !0,
21317                    eE: !0,
21318                    k: t,
21319                    c: [e.CLCM, e.CBCM],
21320                    i: /["'\(]/
21321                }],
21322                i: /\[|%/,
21323                r: 0
21324            }, {cN: "constructor", bK: "constructor", e: /\{/, eE: !0, r: 10}, {
21325                cN: "module",
21326                bK: "module",
21327                e: /\{/,
21328                eE: !0
21329            }, {
21330                cN: "interface",
21331                bK: "interface",
21332                e: /\{/,
21333                eE: !0,
21334                k: "interface extends"
21335            }, {b: /\$[(.]/}, {b: "\\." + e.IR, r: 0}]
21336        }
21337    }),e.registerLanguage("vala", function (e) {
21338        return {
21339            k: {
21340                keyword: "char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",
21341                built_in: "DBus GLib CCode Gee Object",
21342                literal: "false true null"
21343            },
21344            c: [{
21345                cN: "class",
21346                bK: "class interface delegate namespace",
21347                e: "{",
21348                eE: !0,
21349                i: "[^,:\\n\\s\\.]",
21350                c: [e.UTM]
21351            }, e.CLCM, e.CBCM, {cN: "string", b: '"""', e: '"""', r: 5}, e.ASM, e.QSM, e.CNM, {
21352                cN: "preprocessor",
21353                b: "^#",
21354                e: "$",
21355                r: 2
21356            }, {cN: "constant", b: " [A-Z_]+ ", r: 0}]
21357        }
21358    }),e.registerLanguage("vbnet", function (e) {
21359        return {
21360            aliases: ["vb"],
21361            cI: !0,
21362            k: {
21363                keyword: "addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step 
21363stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",
21364                built_in: "boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",
21365                literal: "true false nothing"
21366            },
21367            i: "//|{|}|endif|gosub|variant|wend",
21368            c: [e.inherit(e.QSM, {c: [{b: '""'}]}), e.C("'", "$", {
21369                rB: !0,
21370                c: [{cN: "xmlDocTag", b: "'''|<!--|-->", c: [e.PWM]}, {cN: "xmlDocTag", b: "</?", e: ">", c: [e.PWM]}]
21371            }), e.CNM, {cN: "preprocessor", b: "#", e: "$", k: "if else elseif end region externalsource"}]
21372        }
21373    }),e.registerLanguage("vbscript", function (e) {
21374        return {
21375            aliases: ["vbs"], cI: !0, k: {
21376                keyword: "call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",
vendor: 7,956 bytes, lines 21377-21422
21377                built_in: "lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",
21378                literal: "true false null nothing empty"
21379            }, i: "//", c: [e.inherit(e.QSM, {c: [{b: '""'}]}), e.C(/'/, /$/, {r: 0}), e.CNM]
21380        }
21381    }),e.registerLanguage("vbscript-html", function (e) {
21382        return {sL: "xml", c: [{b: "<%", e: "%>", sL: "vbscript"}]}
21383    }),e.registerLanguage("verilog", function (e) {
21384        return {
21385            aliases: ["v"],
21386            cI: !0,
21387            k: {
21388                keyword: "always and assign begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endfunction endmodule endprimitive endspecify endtable endtask event for force forever fork function if ifnone initial inout input join macromodule module nand negedge nmos nor not notif0 notif1 or output parameter pmos posedge primitive pulldown pullup rcmos release repeat rnmos rpmos rtran rtranif0 rtranif1 specify specparam table task timescale tran tranif0 tranif1 wait while xnor xor",
21389                typename: "highz0 highz1 integer large medium pull0 pull1 real realtime reg scalared signed small strong0 strong1 supply0 supply0 supply1 supply1 time tri tri0 tri1 triand trior trireg vectored wand weak0 weak1 wire wor"
21390            },
21391            c: [e.CBCM, e.CLCM, e.QSM, {
21392                cN: "number",
21393                b: "\\b(\\d+'(b|h|o|d|B|H|O|D))?[0-9xzXZ]+",
21394                c: [e.BE],
21395                r: 0
21396            }, {cN: "typename", b: "\\.\\w+", r: 0}, {cN: "value", b: "#\\((?!parameter).+\\)"}, {
21397                cN: "keyword",
21398                b: "\\+|-|\\*|/|%|<|>|=|#|`|\\!|&|\\||@|:|\\^|~|\\{|\\}",
21399                r: 0
21400            }]
21401        }
21402    }),e.registerLanguage("vhdl", function (e) {
21403        var t = "\\d(_|\\d)*", r = "[eE][-+]?" + t, i = t + "(\\." + t + ")?(" + r + ")?", a = "\\w+",
21404            n = t + "#" + a + "(\\." + a + ")?#(" + r + ")?", o = "\\b(" + n + "|" + i + ")";
21405        return {
21406            cI: !0,
21407            k: {
21408                keyword: "abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",
21409                typename: "boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"
21410            },
21411            i: "{",
21412            c: [e.CBCM, e.C("--", "$"), e.QSM, {cN: "number", b: o, r: 0}, {
21413                cN: "literal",
21414                b: "'(U|X|0|1|Z|W|L|H|-)'",
21415                c: [e.BE]
21416            }, {cN: "attribute", b: "'[A-Za-z](_?[A-Za-z0-9])*", c: [e.BE]}]
21417        }
21418    }),e.registerLanguage("vim", function (e) {
21419        return {
21420            l: /[!#@\w]+/,
21421            k: {
21422                keyword: "N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw d|0 delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu g|0 go gr grepa gu gv ha h|0 helpf helpg helpt hi hid his i|0 ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs n|0 new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf q|0 quita qa r|0 rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv s|0 sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync t|0 tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up v|0 ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd l
21422chdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",
21423                built_in: "abs acos add and append argc argidx argv asin atan atan2 browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call ceil changenr char2nr cindent clearmatches col complete complete_add complete_check confirm copy cos cosh count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists exp expand extend feedkeys filereadable filewritable filter finddir findfile float2nr floor fmod fnameescape fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getmatches getpid getpos getqflist getreg getregtype gettabvar gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key haslocaldir hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert invert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime log log10 luaeval map maparg mapcheck match matchadd matcharg matchdelete matchend matchlist matchstr max min mkdir mode mzeval nextnonblank nr2char or pathshorten pow prevnonblank printf pumvisible py3eval pyeval range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse round screenattr screenchar screencol screenrow search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setmatches setpos setqflist setreg settabvar settabwinvar setwinvar sha256 shellescape shiftwidth simplify sin sinh sort soundfold spellbadword spellsuggest split sqrt str2float str2nr strchars strdisplaywidth strftime stridx string strlen strpart strridx strtrans strwidth submatch substitute synconcealed synID synIDattr synIDtrans synstack system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tan tanh tempname tolower toupper tr trunc type undofile undotree values virtcol visualmode wildmenumode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile xor"
21424            },
21425            i: /[{:]/,
21426            c: [e.NM, e.ASM, {cN: "string", b: /"((\\")|[^"\n])*("|\n)/}, {
21427                cN: "variable",
21428                b: /[bwtglsav]:[\w\d_]*/
21429            }, {cN: "function", bK: "function function!", e: "$", r: 0, c: [e.TM, {cN: "params", b: "\\(", e: "\\)"}]}]
21430        }
21431    }),e.registerLanguage("x86asm", function (e) {
21432        return {
21433            cI: !0,
21434            l: "\\.?" + e.IR,
21435            k: {
21436                keyword: "lock rep repe repz repne repnz xaquire xrelease bnd nobnd 
vendor: 2,203 bytes, line 21436
21436aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw st
vendor: 13,311 bytes, line 21436
21436c std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",
21436
21437                literal: "ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l",
21438                pseudo: "db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times",
21439                preprocessor: "%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public ",
21440                built_in: "bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"
21441            },
21442            c: [e.C(";", "$", {r: 0}), {
21443                cN: "number",
21444                v: [{
21445                    b: "\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",
21446                    r: 0
21447                }, {
21448                    b: "\\$[0-9][0-9A-Fa-f]*",
21449                    r: 0
21450                }, {b: "\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"}, {b: "\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]
21451            }, e.QSM, {
21452                cN: "string",
21453                v: [{b: "'", e: "[^\\\\]'"}, {b: "`", e: "[^\\\\]`"}, {b: "\\.[A-Za-z0-9]+"}],
21454                r: 0
21455            }, {
21456                cN: "label",
21457                v: [{b: "^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"}, {b: "^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],
21458                r: 0
21459            }, {cN: "argument", b: "%[0-9]+", r: 0}, {cN: "built_in", b: "%!S+", r: 0}]
21460        }
21461    }),e.registerLanguage("xl", function (e) {
21462        var t = "ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts",
21463            r = {
21464                keyword: "if then else do while until for loop import with is as where when by data constant",
21465                literal: "true false nil",
21466                type: "integer real text name boolean symbol infix prefix postfix block tree",
21467                built_in: "in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at",
21468                module: t,
21469                id: "text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons"
21470            }, i = {cN: "constant", b: "[A-Z][A-Z_0-9]+", r: 0}, a = {cN: "variable", b: "([A-Z][a-z_0-9]+)+", r: 0},
21471            n = {cN: "id", b: "[a-z][a-z_0-9]+", r: 0}, o = {cN: "string", b: '"', e: '"', i: "\\n"},
21472            s = {cN: "string", b: "'", e: "'", i: "\\n"}, l = {cN: "string", b: "<<", e: ">>"},
21473            c = {cN: "number", b: "[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?", r: 10},
21474            d = {cN: "import", bK: "import", e: "$", k: {keyword: "import", module: t}, r: 0, c: [o]},
21475            p = {cN: "function", b: "[a-z].*->"};
21476        return {
21477            aliases: ["tao"],
21478            l: /[a-zA-Z][a-zA-Z0-9_?]*/,
21479            k: r,
21480            c: [e.CLCM, e.CBCM, o, s, l, p, d, i, a, n, c, e.NM]
21481        }
21482    }),e.registerLanguage("xquery", function (e) {
21483        var t = "for let if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function option in allowing emptyat tumbling window sliding window start when only end when previous next stable ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify update",
21484            r = "false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute",
21485            i = {cN: "variable", b: /\$[a-zA-Z0-9\-]+/, r: 5},
21486            a = {cN: "number", b: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", r: 0},
21487            n = {cN: "string", v: [{b: /"/, e: /"/, c: [{b: /""/, r: 0}]}, {b: /'/, e: /'/, c: [{b: /''/, r: 0}]}]},
21488            o = {cN: "decorator", b: "%\\w+"},
21489            s = {cN: "comment", b: "\\(:", e: ":\\)", r: 10, c: [{cN: "doc", b: "@\\w+"}]}, l = {b: "{", e: "}"},
21490            c = [i, n, a, s, o, l];
21491        return l.c = c, {
21492            aliases: ["xpath", "xq"],
21493            cI: !1,
21494            l: /[a-zA-Z\$][a-zA-Z0-9_:\-]*/,
21495            i: /(proc)|(abstract)|(extends)|(until)|(#)/,
21496            k: {keyword: t, literal: r},
21497            c: c
21498        }
21499    }),e.registerLanguage("zephir", function (e) {
21500        var t = {
21501            cN: "string",
21502            c: [e.BE],
21503            v: [{b: 'b"', e: '"'}, {b: "b'", e: "'"}, e.inherit(e.ASM, {i: null}), e.inherit(e.QSM, {i: null})]
21504        }, r = {v: [e.BNM, e.CNM]};
21505        return {
21506            aliases: ["zep"],
21507            cI: !0,
21508            k: "and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely",
21509            c: [e.CLCM, e.HCM, e.C("/\\*", "\\*/", {
21510                c: [{
21511                    cN: "doctag",
21512                    b: "@[A-Za-z]+"
21513                }]
21514            }), e.C("__halt_compiler.+?;", !1, {eW: !0, k: "__halt_compiler", l: e.UIR}), {
21515                cN: "string",
21516                b: "<<<['\"]?\\w+['\"]?$",
21517                e: "^\\w+;",
21518                c: [e.BE]
21519            }, {b: /(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/}, {
21520                cN: "function",
21521                bK: "function",
21522                e: /[;{]/,
21523                eE: !0,
21524                i: "\\$|\\[|%",
21525                c: [e.UTM, {cN: "params", b: "\\(", e: "\\)", c: ["self", e.CBCM, t, r]}]
21526            }, {
21527                cN: "class",
21528                bK: "class interface",
21529                e: "{",
21530                eE: !0,
21531                i: /[:\(\$"]/,
21532                c: [{bK: "extends implements"}, e.UTM]
21533            }, {bK: "namespace", e: ";", i: /[\.']/, c: [e.UTM]}, {bK: "use", e: ";", c: [e.UTM]}, {b: "=>"}, t, r]
21534        }
21535    }),e
21536}), function ($) {
21537    function formatter(value, options) {
21538        return value.toFixed(options.decimals)
21539    }
21540
21541    var CountTo = function (element, options) {
21542        this.$element = $(element), this.options = $.extend({}, CountTo.DEFAULTS, this.dataOptions(), options), this.init()
21543    };
21544    CountTo.DEFAULTS = {
21545        from: 0,
21546        to: 0,
21547        speed: 1e3,
21548        refreshInterval: 100,
21549        decimals: 0,
21550        formatter: formatter,
21551        onUpdate: null,
21552        onComplete: null
21553    }, CountTo.prototype.init = function () {
21554        this.value = this.options.from, this.loops = Math.ceil(this.options.speed / this.options.refreshInterval), this.loopCount = 0, this.increment = (this.options.to - this.options.from) / this.loops
21555    }, CountTo.prototype.dataOptions = function () {
21556        var options = {
21557            from: this.$element.data("from"),
21558            to: this.$element.data("to"),
21559            speed: this.$element.data("speed"),
21560            refreshInterval: this.$element.data("refresh-interval"),
21561            decimals: this.$element.data("decimals")
21562        }, keys = Object.keys(options);
21563        for (var i in keys) {
21564            var key = keys[i];
21565            "undefined" == typeof options[key] && delete options[key]
21566        }
21567        return options
21568    }, CountTo.prototype.update = function () {
21569        this.value += this.increment, this.loopCount++, this.render(), "function" == typeof this.options.onUpdate && this.options.onUpdate.call(this.$element, this.value), this.loopCount >= this.loops && (clearInterval(this.interval), this.value = this.options.to, "function" == typeof this.options.onComplete && this.options.onComplete.call(this.$element, this.value))
21570    }, CountTo.prototype.render = function () {
21571        var formattedValue = this.options.formatter.call(this.$element, this.value, this.options);
21572        this.$element.text(formattedValue)
21573    }, CountTo.prototype.restart = function () {
21574        this.stop(), this.init(), this.start()
21575    }, CountTo.prototype.start = function () {
21576        this.stop(), this.render(), this.interval = setInterval(this.update.bind(this), this.options.refreshInterval)
21577    }, CountTo.prototype.stop = function () {
21578        this.interval && clearInterval(this.interval)
21579    }, CountTo.prototype.toggle = function () {
21580        this.interval ? this.stop() : this.start()
21581    }, $.fn.countTo = function (option) {
21582        return this.each(function () {
21583            var $this = $(this), data = $this.data("countTo"), init = !data || "object" == typeof option,
21584                options = "object" == typeof option ? option : {},
21585                method = "string" == typeof option ? option : "start";
21586            init && (data && data.stop(), $this.data("countTo", data = new CountTo(this, options))), data[method].call(data)
21587        })
21588    }
21589}(jQuery), !function (a) {
21590    "use strict";
21591    "function" == typeof define && define.amd ? define(["jquery"], a) : a(jQuery)
21592}(function (a) {
21593    "use strict";
21594
21595    function b(a) {
21596        if (a instanceof Date) return a;
21597        if (String(a).match(g)) return String(a).match(/^[0-9]*$/) && (a = Number(a)), String(a).match(/\-/) && (a = String(a).replace(/\-/g, "/")), new Date(a);
21598        throw new Error("Couldn't cast `" + a + "` to a date object.")
21599    }
21600
21601    function c(a) {
21602        var b = a.toString().replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
21603        return new RegExp(b)
21604    }
21605
21606    function d(a) {
21607        return function (b) {
21608            var d = b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);
21609            if (d) for (var f = 0, g = d.length; g > f; ++f) {
21610                var h = d[f].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/), j = c(h[0]), k = h[1] || "", l = h[3] || "",
21611                    m = null;
21612                h = h[2], i.hasOwnProperty(h) && (m = i[h], m = Number(a[m])), null !== m && ("!" === k && (m = e(l, m)), "" === k && 10 > m && (m = "0" + m.toString()), b = b.replace(j, m.toString()))
21613            }
21614            return b = b.replace(/%%/, "%")
21615        }
21616    }
21617
21618    function e(a, b) {
21619        var c = "s", d = "";
21620        return a && (a = a.replace(/(:|;|\s)/gi, "").split(/\,/), 1 === a.length ? c = a[0] : (d = a[0], c = a[1])), 1 === Math.abs(b) ? d : c
21621    }
21622
21623    var f = [], g = [], h = {precision: 100, elapse: !1};
21624    g.push(/^[0-9]*$/.source), g.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source), g.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source), g = new RegExp(g.join("|"));
21625    var i = {
21626        Y: "years",
21627        m: "months",
21628        n: "daysToMonth",
21629        w: "weeks",
21630        d: "daysToWeek",
21631        D: "totalDays",
21632        H: "hours",
21633        M: "minutes",
21634        S: "seconds"
21635    }, j = function (b, c, d) {
21636        this.el = b, this.$el = a(b), this.interval = null, this.offset = {}, this.options = a.extend({}, h), this.instanceNumber = f.length, f.push(this), this.$el.data("countdown-instance", this.instanceNumber), d && ("function" == typeof d ? (this.$el.on("update.countdown", d), this.$el.on("stoped.countdown", d), this.$el.on("finish.countdown", d)) : this.options = a.extend({}, h, d)), this.setFinalDate(c), this.start()
21637    };
21638    a.extend(j.prototype, {
21639        start: function () {
21640            null !== this.interval && clearInterval(this.interval);
21641            var a = this;
21642            this.update(), this.interval = setInterval(function () {
21643                a.update.call(a)
21644            }, this.options.precision)
21645        }, stop: function () {
21646            clearInterval(this.interval), this.interval = null, this.dispatchEvent("stoped")
21647        }, toggle: function () {
21648            this.interval ? this.stop() : this.start()
21649        }, pause: function () {
21650            this.stop()
21651        }, resume: function () {
21652            this.start()
21653        }, remove: function () {
21654            this.stop.call(this), f[this.instanceNumber] = null, delete this.$el.data().countdownInstance
21655        }, setFinalDate: function (a) {
21656            this.finalDate = b(a)
21657        }, update: function () {
21658            if (0 === this.$el.closest("html").length) return void this.remove();
21659            var b, c = void 0 !== a._data(this.el, "events"), d = new Date;
21660            b = this.finalDate.getTime() - d.getTime(), b = Math.ceil(b / 1e3), b = !this.options.elapse && 0 > b ? 0 : Math.abs(b), this.totalSecsLeft !== b && c && (this.totalSecsLeft = b, this.elapsed = d >= this.finalDate, this.offset = {
21661                seconds: this.totalSecsLeft % 60,
21662                minutes: Math.floor(this.totalSecsLeft / 60) % 60,
21663                hours: Math.floor(this.totalSecsLeft / 60 / 60) % 24,
21664                days: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,
21665                daysToWeek: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,
21666                daysToMonth: Math.floor(this.totalSecsLeft / 60 / 60 / 24 % 30.4368),
21667                totalDays: Math.floor(this.totalSecsLeft / 60 / 60 / 24),
21668                weeks: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7),
21669                months: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30.43
2166968),
21670                years: Math.abs(this.finalDate.getFullYear() - d.getFullYear())
21671            }, this.options.elapse || 0 !== this.totalSecsLeft ? this.dispatchEvent("update") : (this.stop(), this.dispatchEvent("finish")))
21672        }, dispatchEvent: function (b) {
21673            var c = a.Event(b + ".countdown");
21674            c.finalDate = this.finalDate, c.elapsed = this.elapsed, c.offset = a.extend({}, this.offset), c.strftime = d(this.offset), this.$el.trigger(c)
21675        }
21676    }), a.fn.countdown = function () {
21677        var b = Array.prototype.slice.call(arguments, 0);
21678        return this.each(function () {
21679            var c = a(this).data("countdown-instance");
21680            if (void 0 !== c) {
21681                var d = f[c], e = b[0];
21682                j.prototype.hasOwnProperty(e) ? d[e].apply(d, b.slice(1)) : null === String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i) ? (d.setFinalDate.call(d, e), d.start()) : a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi, e))
21683            } else new j(this, b[0], b[1])
21684        })
21685    }
21686}), function ($, h, i, j) {
21687    function EasyTicker(f, g) {
21688        function init() {
21689            s.elem.children().css("margin", 0).children().css("margin", 0), s.elem.css({
21690                position: "relative",
21691                height: s.opts.height,
21692                overflow: "hidden"
21693            }), s.targ.css({position: "absolute", margin: 0}), setInterval(function () {
21694                adjHeight()
21695            }, 100)
21696        }
21697
21698        function start() {
21699            s.timer = setInterval(function () {
21700                1 == s.winFocus && move(s.opts.direction)
21701            }, s.opts.interval), $(s.opts.controls.toggle).addClass("et-run").html(s.opts.controls.stopText)
21702        }
21703
21704        function stop() {
21705            clearInterval(s.timer), s.timer = 0, $(s.opts.controls.toggle).removeClass("et-run").html(s.opts.controls.playText)
21706        }
21707
21708        function move(a) {
21709            var b, eq, appType;
21710            if (s.elem.is(":visible")) {
21711                "up" == a ? (b = ":first-child", eq = "-=", appType = "appendTo") : (b = ":last-child", eq = "+=", appType = "prependTo");
21712                var c = s.targ.children(b), d = c.outerHeight();
21713                s.targ.stop(!0, !0).animate({top: eq + d + "px"}, s.opts.speed, s.opts.easing, function () {
21714                    c.hide()[appType](s.targ).fadeIn(), s.targ.css("top", 0), adjHeight()
21715                })
21716            }
21717        }
21718
21719        function moveDir(a) {
21720            stop(), move("up" == a ? "up" : "down")
21721        }
21722
21723        function fullHeight() {
21724            var a = 0, b = s.elem.css("display");
21725            s.elem.css("display", "block"), s.targ.children().each(function () {
21726                a += $(this).outerHeight()
21727            }), s.elem.css({display: b, height: a})
21728        }
21729
21730        function visHeight(a) {
21731            var b = 0;
21732            s.targ.children(":lt(" + s.opts.visible + ")").each(function () {
21733                b += $(this).outerHeight()
21734            }), 1 == a ? s.elem.stop(!0, !0).animate({height: b}, s.opts.speed) : s.elem.css("height", b)
21735        }
21736
21737        function adjHeight() {
21738            "auto" == s.opts.height && 0 != s.opts.visible ? (anim = "init" == arguments.callee.caller.name ? 0 : 1, visHeight(
21738anim)) : "auto" == s.opts.height && fullHeight()
21739        }
21740
21741        var s = this;
21742        return s.opts = $.extend({}, defaults, g), s.elem = $(f), s.targ = $(f).children(":first-child"), s.timer = 0, s.mHover = 0, s.winFocus = 1, init(), start(), $([h, i]).off("focus.jqet").on("focus.jqet", function () {
21743            s.winFocus = 1
21744        }).off("blur.jqet").on("blur.jqet", function () {
21745            s.winFocus = 0
21746        }), 1 == s.opts.mousePause && s.elem.mouseenter(function () {
21747            s.timerTemp = s.timer, stop()
21748        }).mouseleave(function () {
21749            0 !== s.timerTemp && start()
21750        }), $(s.opts.controls.up).on("click", function (e) {
21751            e.preventDefault(), moveDir("up")
21752        }), $(s.opts.controls.down).on("click", function (e) {
21753            e.preventDefault(), moveDir("down")
21754        }), $(s.opts.controls.toggle).on("click", function (e) {
21755            e.preventDefault(), 0 == s.timer ? start() : stop()
21756        }), {
21757            up: function () {
21758                moveDir("up")
21759            }, down: function () {
21760                moveDir("down")
21761            }, start: start, stop: stop, options: s.opts
21762        }
21763    }
21764
21765    var k = "easyTicker", defaults = {
21766        direction: "up",
21767        easing: "swing",
21768        speed: "slow",
21769        interval: 2e3,
21770        height: "auto",
21771        visible: 0,
21772        mousePause: 1,
21773        controls: {up: "", down: "", toggle: "", playText: "Play", stopText: "Stop"}
21774    };
21775    $.fn[k] = function (a) {
21776        return this.each(function () {
21777            $.data(this, k) || $.data(this, k, new EasyTicker(this, a))
21778        })
21779    }
21780}(jQuery, window, document), function ($) {
21781    "use strict";
21782    $.fn.fitVids = function (options) {
21783        var settings = {customSelector: null};
21784        if (!document.getElementById("fit-vids-style")) {
21785            var head = document.head || document.getElementsByTagName("head")[0],
21786                css = ".fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}",
21787                div = document.createElement("div");
21788            div.innerHTML = '<p>x</p><style id="fit-vids-style">' + css + "</style>", head.appendChild(div.childNodes[1])
21789        }
21790        return options && $.extend(settings, options), this.each(function () {
21791            var selectors = ["iframe[src*='player.vimeo.com']", "iframe[src*='youtube.com']", "iframe[src*='youtube-nocookie.com']", "iframe[src*='kickstarter.com'][src*='video.html']", "object", "embed"];
21792            settings.customSelector && selectors.push(settings.customSelector);
21793            var $allVideos = $(this).find(selectors.join(","));
21794            $allVideos = $allVideos.not("object object"), $allVideos.each(function () {
21795                var $this = $(this);
21796                if (!("embed" === this.tagName.toLowerCase() && $this.parent("object").length || $this.parent(".fluid-width-video-wrapper").length)) {
21797                    var height = "object" === this.tagName.toLowerCase() || $this.attr("height") && !isNaN(parseInt($this.attr("height"), 10)) ? parseInt($this.attr("height"), 10) : $this.height(),
21798                        width = isNaN(parseInt($this.attr("width"), 10)) ? $this.width() : parseInt($this.attr("width"), 10),
21799                        aspectRatio = height / width;
21800                    if (!$this.attr("id")) {
21801                        var videoID = "fitvid" + Math.floor(999999 * Math.random());
21802                        $this.attr("id", videoID)
21803                    }
21804                    $this.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top", 100 * aspectRatio + "%"), $this.removeAttr("height").removeAttr("width")
21805                }
21806            })
21807        })
21808    }
21809}(window.jQuery || window.Zepto), function () {
21810    function m() {
21811        return function () {
21812        }
21813    }
21814
21815    function n(a) {
21816        return function () {
21817            return this[a]
21818        }
21819    }
21820
21821    function p(a) {
21822        return function () {
21823            return a
21824        }
21825    }
21826
21827    function t(a, c, d) {
21828        if ("string" == typeof a) {
21829            if (0 === a.indexOf("#") && (a = a.slice(1)), t.Ca[a]) return c && t.log.warn('Player "' + a + '" is already initialised. Options will not be applied.'), d && t.Ca[a].I(d), t.Ca[a];
21830            a = t.m(a)
21831        }
21832        if (!a || !a.nodeName) throw new TypeError("The element or ID supplied is not val
21832id. (videojs)");
21833        return a.player || new t.Player(a, c, d)
21834    }
21835
21836    function v(a, c, d, e) {
21837        t.tc.forEach(d, function (d) {
21838            a(c, d, e)
21839        })
21840    }
21841
21842    function F(a, c) {
21843        var d, e;
21844        d = Array.prototype.slice.call(c), e = m(), e = window.console || {
21845            log: e,
21846            warn: e,
21847            error: e
21848        }, a ? d.unshift(a.toUpperCase() + ":") : a = "log", t.log.history.push(d), d.unshift("VIDEOJS:"), e[a].apply ? e[a].apply(e, d) : e[a](d.join(" "))
21849    }
21850
21851    function G(a) {
21852        a.r("vjs-lock-showing")
21853    }
21854
21855    function ca(a, c, d, e) {
21856        return d !== b ? ((d === j || t.ge(d)) && (d = 0), a.c.style[c] = -1 !== ("" + d).indexOf("%") || -1 !== ("" + d).indexOf("px") ? d : "auto" === d ? "" : d + "px", e || a.o("resize"), a) : a.c ? (d = a.c.style[c], e = d.indexOf("px"), -1 !== e ? parseInt(d.slice(0, e), 10) : parseInt(a.c["offset" + t.va(c)], 10)) : 0
21857    }
21858
21859    function da(a) {
21860        var c, d, e, g, h, k, q, r;
21861        c = 0, d = j, a.b("touchstart", function (a) {
21862            1 === a.touches.length && (d = t.i.copy(a.touches[0]), c = (new Date).getTime(), g = f)
21863        }), a.b("touchmove", function (a) {
21864            1 < a.touches.length ? g = l : d && (k = a.touches[0].pageX - d.pageX, q = a.touches[0].pageY - d.pageY, r = Math.sqrt(k * k + q * q), r > 10 && (g = l))
21865        }), h = function () {
21866            g = l
21867        }, a.b("touchleave", h), a.b("touchcancel", h), a.b("touchend", function (a) {
21868            d = j, g === f && (e = (new Date).getTime() - c, 200 > e && (a.preventDefault(), this.o("tap")))
21869        })
21870    }
21871
21872    function ea(a, c) {
21873        var d, e, g, h;
21874        return d = a.c, e = t.Vd(d), h = g = d.offsetWidth, d = a.handle, a.options().vertical ? (h = e.top, e = c.changedTouches ? c.changedTouches[0].pageY : c.pageY, d && (d = d.m().offsetHeight, h += d / 2, g -= d), Math.max(0, Math.min(1, (h - e + g) / g))) : (g = e.left, e = c.changedTouches ? c.changedTouches[0].pageX : c.pageX, d && (d = d.m().offsetWidth, g += d / 2, h -= d), Math.max(0, Math.min(1, (e - g) / h)))
21875    }
21876
21877    function fa(a, c) {
21878        a.aa(c), c.b("click", t.bind(a, function () {
21879            G(this)
21880        }))
21881    }
21882
21883    function ga(a) {
21884        a.Ja = f, a.za.p("vjs-lock-showing"), a.c.setAttribute("aria-pressed", f), a.H && 0 < a.H.length && a.H[0].m().focus()
21885    }
21886
21887    function H(a) {
21888        a.Ja = l, G(a.za), a.c.setAttribute("aria-pressed", l)
21889    }
21890
21891    function ia(a) {
21892        var c, d, e = {sources: [], tracks: []};
21893        if (c = t.Oa(a), d = c["data-setup"], d !== j && t.i.D(c, t.JSON.parse(d || "{}")), t.i.D(e, c), a.hasChildNodes()) {
21894            var g, h;
21895            for (a = a.childNodes, g = 0, h = a.length; h > g; g++) c = a[g], d = c.nodeName.toLowerCase(), "source" === d ? e.sources.push(t.Oa(c)) : "track" === d && e.tracks.push(t.Oa(c))
21896        }
21897        return e
21898    }
21899
21900    function ka(a, c, d) {
21901        a.h && (a.ya = l, a.h.dispose(), a.h = l), "Html5" !== c && a.L && (t.f.Kb(a.L), a.L = j), a.Ta = c, a.ya = l;
21902        var e = t.i.D({source: d, parentEl: a.c}, a.q[c.toLowerCase()]);
21903        d && (a.Cc = d.type, d.src == a.K.src && 0 < a.K.currentTime && (e.startTime = a.K.currentTime), a.K.src = d.src), a.h = new window.videojs[c](a, e), a.h.I(function () {
21904            this.d.Va()
21905        })
21906    }
21907
21908    function la(a, c) {
21909        c !== b && a.Jc !== c && ((a.Jc = c) ? (a.p("vjs-has-started"), a.o("firstplay")) : a.r("vjs-has-started"))
21910    }
21911
21912    function N(a, c, d) {
21913        if (a.h && !a.h.ya) a.h.I(function () {
21914            this[c](d)
21915        }); else try {
21916            a.h[c](d)
21917        } catch (e) {
21918            throw t.log(e), e
21919        }
21920    }
21921
21922    function M(a, c) {
21923        if (a.h && a.h.ya) try {
21924            return a.h[c]()
21925        } catch (d) {
21926            throw a.h[c] === b ? t.log("Video.js: " + c + " method not defined for " + a.Ta + " playback technology.", d) : "TypeError" == d.name ? (t.log("Video.js: " + c + " unavailable on " + a.Ta + " playback technology element.", d), a.h.ya = l) : t.log(d), d
21927        }
21928    }
21929
21930    function ma(a, c) {
21931        var d = a.selectSource(c);
21932        d ? d.h === a.Ta ? a.src(d.source) : ka(a, d.h, d.source) : (a.setTimeout(function () {
21933            this.error({code: 4, message: this.v(this.options().notSupportedMessage)})
21934        }, 0), a.Va())
21935    }
21936
21937    function ja(a, c) {
21938        return c !== b ? (a.Lc = !!c, a) : a.Lc
21939    }
21940
21941    function na(a) {
21942        return a.k().h && a.k().h.featuresPlaybackRate && a.k().options().playbackRates && 0 < a.k().options().playbackRates.length
21943    }
21944
21945    function oa(a, c) {
21946        var d = /^blob\:/i;
21947        return c && a && d.test(a) ? c : a
21948    }
21949
21950    function ta() {
21951        var a = T[U], c = a.charAt(0).toUpperCase() + a.slice(1);
21952        ua["set" + c] = function (c) {
21953            return this.c.vjs_setProperty(a, c)
21954        }
21955    }
21956
21957    function va(a) {
21958        ua[a] = function () {
21959            return this.c.vjs_getProperty(a)
21960        }
21961    }
21962
21963    function P(a, c) {
21964        var d = a.Ua.length;
21965        "" + d in a || Object.defineProperty(a, d, {
21966            get: function () {
21967                return this.Ua[d]
21968            }
21969        }), c.addEventListener("modechange", t.bind(a, function () {
21970            this.o("change")
21971        })), a.Ua.push(c), a.o({type: "addtrack", Y: c})
21972    }
21973
21974    function Q(a, c) {
21975        for (var g, d = 0, e = a.length; e > d; d++) if (g = a[d], g === c) {
21976            a.Ua.splice(d, 1);
21977            break
21978        }
21979        a.o({type: "removetrack", Y: c})
21980    }
21981
21982    function W(a, c) {
21983        return "rgba(" + parseInt(a[1] + a[1], 16) + "," + parseInt(a[2] + a[2], 16) + "," + parseInt(a[3] + a[3], 16) + "," + c + ")"
21984    }
21985
21986    function X(a) {
21987        var c;
21988        return a.Ge ? c = a.Ge[0] : a.options && (c = a.options[a.options.selectedIndex]), c.value
21989    }
21990
21991    function Y(a, c) {
21992        var d, e;
21993        if (c) {
21994            for (d = 0; d < a.options.length && (e = a.options[d], !(e.value === c)); d++) ;
21995            a.selectedIndex = d
21996        }
21997    }
21998
21999    function $(a, c) {
22000        var d = a.split("."), e = Ba;
22001        !(d[0] in e) && e.execScript && e.execScript("var " + d[0]);
22002        for (var g; d.length && (g = d.shift());) d.length || c === b ? e = e[g] ? e[g] : e[g] = {} : e[g] = c
22003    }
22004
22005    var b = void 0, f = !0, j = null, l = !1, s;
22006    document.createElement("video"), document.createElement("audio"), document.createElement("track");
22007    var videojs = window.videojs = t;
22008    t.fc = "4.12", t.sd = "https:" == document.location.protocol ? "https://" : "http://", t.VERSION = "4.12.15", t.options = {
22009        techOrder: ["html5", "flash"],
22010        html5: {},
22011        flash: {},
22012        width: 300,
22013        height: 150,
22014        defaultVolume: 0,
22015        playbackRates: [],
22016        inactivityTimeout: 2e3,
22017        children: {
22018            mediaLoader: {},
22019            posterImage: {},
22020            loadingSpinner: {},
22021            textTrackDisplay: {},
22022            bigPlayButton: {},
22023            controlBar: {},
22024            errorDisplay: {},
22025            textTrackSettings: {}
22026        },
22027        language: document.getElementsByTagName("html")[0].getAttribute("lang") || navigator.languages && navigator.languages[0] || navigator.Ef || navigator.language || "en",
22028        languages: {},
22029        notSupportedMessage: "No compatible source was found for this video."
22030    }, "GENERATED_CDN_VSN" !== t.fc && (videojs.options.flash.swf = t.sd + "vjs.zencdn.net/" + t.fc + "/video-js.swf"), t.Gd = function (a, c) {
22031        return t.options.languages[a] = t.options.languages[a] !== b ? t.Z.Aa(t.options.languages[a], c) : c, t.options.languages
22032    }, t.Ca = {}, "function" == typeof define && define.amd ? define("videojs", [], function () {
22033        return videojs
22034    }) : "object" == typeof exports && "object" == typeof module && (module.exports = videojs), t.Ga = t.CoreObject = m(), t.Ga.extend = function (a) {
22035        var c, d;
22036        a = a || {}, c = a.init || a.l || this.prototype.init || this.prototype.l || m(), d = function () {
22037            c.apply(this, arguments)
22038        }, d.prototype = t.i.create(this.prototype), d.prototype.constructor = d, d.extend = t.Ga.extend, d.create = t.Ga.create;
22039        for (var e in a) a.hasOwnProperty(e) && (d.prototype[e] = a[e]);
22040        return d
22041    }, t.Ga.create = function () {
22042        var a = t.i.create(this.prototype);
22043        return this.apply(a, arguments), a
22044    }, t.b = function (a, c, d) {
22045        if (t.i.isArray(c)) return v(t.b, a, c, d);
22046        var e = t.getData(a);
22047        e.G || (e.G = {}), e.G[c] || (e.G[c] = []), d.s || (d.s = t.s++), e.G[c].push(d), e.ba || (e.disabled = l, e.ba = function (c) {
22048            if (!e.disabled) {
22049                c = t.Nb(c);
22050                var d = e.G[c.type];
22051                if (d) for (var d = d.slice(0), k = 0, q = d.length; q > k && !c.Nc(); k++) d[k].call(a, c)
22052            }
22053        }), 1 == e.G[c].length && (a.addEventListener ? a.addEventListener(c, e.ba, l) : a.attachEvent && a.attachEvent("on" + c, e.ba))
22054    }, t.n = function (a, c, d) {
22055        if (t.Ic(a)) {
22056            var e = t.getData(a);
22057            if (e.G) {
22058                if (t.i.isArray(c)) return v(t.n, a, c, d);
22059                if (c) {
22060                    var g = e.G[c];
22061                    if (g) {
22062                        if (d) {
22063                            if (d.s) for (e = 0; e < g.length; e++) g[e].s === d.s && g.splice(e--, 1)
22064                        } else e.G[c] = [];
22065                        t.xc(a, c)
22066                    }
22067                } else for (g in e.G) c = g, e.G[c] = [], t.xc(a, c)
22068            }
22069        }
22070    }, t.xc = function (a, c) {
22071        var d = t.getData(a);
22072        0 === d.G[c].length && (delete d.G[c], a.removeEventListener ? a.removeEventListener(c, d.ba, l) : a.detachEvent && a.detachEvent("on" + c, d.ba)), t.hb(d.G) && (delete d.G, delete d.ba, delete d.disabled), t.hb(d) && t.Zc(a)
22073    }, t.Nb = function (a) {
22074        function c() {
22075            return f
22076        }
22077
22078        function d() {
22079            return l
22080        }
22081
22082        if (!a || !a.Sb) {
22083            var e = a || window.event;
22084            a = {};
22085            for (var g in e) "layerX" !== g && "layerY" !== g && "keyLocation" !== g && ("returnValue" == g && e.preventDefault || (a[g] = e[g]));
22086            if (a.target || (a.target = a.srcElement || document), a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement, a.preventDefault = function () {
22087                e.preventDefault && e.preventDefault(), a.returnValue = l, a.ee = c, a.defaultPrevented = f
22088            }, a.ee = d, a.defaultPrevented = l, a.stopPropagation = function () {
22089                e.stopPropagation && e.stopPropagation(), a.cancelBubble = f, a.Sb = c
22090            }, a.Sb = d, a.stopImmediatePropagation = function () {
22091                e.stopImmediatePropagation && e.stopImmediatePropagation(), a.Nc = c, a.stopPropagation()
22092            }, a.Nc = d, a.clientX != j) {
22093                g = document.documentElement;
22094                var h = document.body;
22095                a.pageX = a.clientX + (g && g.scrollLeft || h && h.scrollLeft || 0) - (g && g.clientLeft || h && h.clientLeft || 0), a.pageY = a.clientY + (g && g.scrollTop || h && h.scrollTop || 0) - (g && g.clientTop || h && h.clientTop || 0)
22096            }
22097            a.which = a.charCode || a.keyCode, a.button != j && (a.button = 1 & a.button ? 0 : 4 & a.button ? 1 : 2 & a.button ? 2 : 0)
22098        }
22099        return a
22100    }, t.o = function (a, c) {
22101        var d = t.Ic(a) ? t.getData(a) : {}, e = a.parentNode || a.ownerDocument;
22102        return "string" == typeof c && (c = {
22103            type: c,
22104            target: a
22105        }), c = t.Nb(c), d.ba && d.ba.call(a, c), e && !c.Sb() && c.bubbles !== l ? t.o(e, c) : e || c.defaultPrevented || (d = t.getData(c.target), !c.target[c.type]) || (d.disabled = f, "function" == typeof c.target[c.type] && c.target[c.type](), d.disabled = l), !c.defaultPrevented
22106    }, t.N = function (a, c, d) {
22107        function e() {
22108            t.n(a, c, e), d.apply(this, arguments)
22109        }
22110
22111        return t.i.isArray(c) ? v(t.N, a, c, d) : (e.s = d.s = d.s || t.s++, void t.b(a, c, e))
22112    };
22113    var w = Object.prototype.hasOwnProperty;
22114    t.e = function (a, c) {
22115        var d;
22116        return c = c || {}, d = document.createElement(a || "div"), t.i.ca(c, function (a, c) {
22117            -1 !== a.indexOf("aria-") || "role" == a ? d.setAttribute(a, c) : d[a] = c
22118        }), d
22119    }, t.va = function (a) {
22120        return a.charAt(0).toUpperCase() + a.slice(1)
22121    }, t.i = {}, t.i.create = Object.create || function (a) {
22122        function c() {
22123        }
22124
22125        return c.prototype = a, new c
22126    }, t.i.ca = function (a, c, d) {
22127        for (var e in a) w.call(a, e) && c.call(d || this, e, a[e])
22128    }, t.i.D = function (a, c) {
22129        if (!c) return a;
22130        for (var d in c) w.call(c, d) && (a[d] = c[d]);
22131        return a
22132    }, t.i.Od = function (a, c) {
22133        var d, e, g;
22134        a = t.i.copy(a);
22135        for (d in c) w.call(c, d) && (e = a[d], g = c[d], a[d] = t.i.ib(e) && t.i.ib(g) ? t.i.Od(e, g) : c[d]);
22136        return a
22137    }, t.i.copy = function (a) {
22138        return t.i.D({}, a)
22139    }, t.i.ib = function (a) {
22140        return !!a && "object" == typeof a && "[object Object]" === a.toString() && a.constructor === Object
22141    }, t.i.isArray = Array.isArray || function (a) {
22142        return "[object Array]" === Object.prototype.toString.call(a)
22143    }, t.ge = function (a) {
22144        return a !== a
22145    }, t.bind = function (a, c, d) {
22146        function e() {
22147            return c.apply(a, arguments)
22148        }
22149
22150        return c.s || (c.s = t.s++), e.s = d ? d + "_" + c.s : c.s, e
22151    }, t.ua = {}, t.s = 1, t.expando = "vdata" + (new Date).getTime(), t.getData = function (a) {
22152        var c = a[t.expando];
22153        return c || (c = a[t.expando] = t.s++), t.ua[c] || (t.ua[c] = {}), t.ua[c]
22154    }, t.Ic = function (a) {
22155        return a = a[t.expando], !(!a || t.hb(t.ua[a]))
22156    }, t.Zc = function (a) {
22157        var c = a[t.expando];
22158        if (c) {
22159            delete t.ua[c];
22160            try {
22161                delete a[t.expando]
22162            } catch (d) {
22163                a.removeAttribute ? a.removeAttribute(t.expando) : a[t.expando] = j
22164            }
22165        }
22166    }, t.hb = function (a) {
22167        for (var c in a) if (a[c] !== j) return l;
22168        return f
22169    }, t.Pa = function (a, c) {
22170        return -1 !== (" " + a.className + " ").indexOf(" " + c + " ")
22171    }, t.p = function (a, c) {
22172        t.Pa(a, c) || (a.className = "" === a.className ? c : a.className + " " + c)
22173    }, t.r = function (a, c) {
22174        var d, e;
22175        if (t.Pa(a, c)) {
22176            for (d = a.className.split(" "), e = d.length - 1; e >= 0;
22176 e--) d[e] === c && d.splice(e, 1);
22177            a.className = d.join(" ")
22178        }
22179    }, t.A = t.e("video");
22180    var x = document.createElement("track");
22181    x.Tb = "captions", x.ed = "en", x.label = "English", t.A.appendChild(x), t.P = navigator.userAgent, t.zd = /iPhone/i.test(t.P), t.yd = /iPad/i.test(t.P), t.Ad = /iPod/i.test(t.P), t.xd = t.zd || t.yd || t.Ad;
22182    var aa = t, y, z = t.P.match(/OS (\d+)_/i);
22183    y = z && z[1] ? z[1] : b, aa.ff = y, t.wd = /Android/i.test(t.P);
22184    var ba = t, B, C = t.P.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i), D, E;
22185    C ? (D = C[1] && parseFloat(C[1]), E = C[2] && parseFloat(C[2]), B = D && E ? parseFloat(C[1] + "." + C[2]) : D ? D : j) : B = j, ba.ec = B, t.Bd = t.wd && /webkit/i.test(t.P) && 2.3 > t.ec, t.gc = /Firefox/i.test(t.P), t.gf = /Chrome/i.test(t.P), t.pa = /MSIE\s8\.0/.test(t.P), t.Db = !!("ontouchstart" in window || window.ud && document instanceof window.ud), t.td = "backgroundSize" in t.A.style, t.ad = function (a, c) {
22186        t.i.ca(c, function (c, e) {
22187            e === j || "undefined" == typeof e || e === l ? a.removeAttribute(c) : a.setAttribute(c, e === f ? "" : e)
22188        })
22189    }, t.Oa = function (a) {
22190        var c, d, e, g;
22191        if (c = {}, a && a.attributes && 0 < a.attributes.length) {
22192            d = a.attributes;
22193            for (var h = d.length - 1; h >= 0; h--) e = d[h].name, g = d[h].value, ("boolean" == typeof a[e] || -1 !== ",autoplay,controls,loop,muted,default,".indexOf("," + e + ",")) && (g = g !== j ? f : l), c[e] = g
22194        }
22195        return c
22196    }, t.rf = function (a, c) {
22197        var d = "";
22198        return document.defaultView && document.defaultView.getComputedStyle ? d = document.defaultView.getComputedStyle(a, "").getPropertyValue(c) : a.currentStyle && (d = a["client" + c.substr(0, 1).toUpperCase() + c.substr(1)] + "px"), d
22199    }, t.Rb = function (a, c) {
22200        c.firstChild ? c.insertBefore(a, c.firstChild) : c.appendChild(a)
22201    }, t.bb = {}, t.m = function (a) {
22202        return 0 === a.indexOf("#") && (a = a.slice(1)), document.getElementById(a)
22203    }, t.Na = function (a, c) {
22204        c = c || a;
22205        var d = Math.floor(a % 60), e = Math.floor(a / 60 % 60), g = Math.floor(a / 3600), h = Math.floor(c / 60 % 60),
22206            k = Math.floor(c / 3600);
22207        return (isNaN(a) || 1 / 0 === a) && (g = e = d = "-"), g = g > 0 || k > 0 ? g + ":" : "", g + (((g || h >= 10) && 10 > e ? "0" + e : e) + ":") + (10 > d ? "0" + d : d)
22208    }, t.Id = function () {
22209        document.body.focus(), document.onselectstart = p(l)
22210    }, t.Xe = function () {
22211        document.onselectstart = p(f)
22212    }, t.trim = function (a) {
22213        return (a + "").replace(/^\s+|\s+$/g, "")
22214    }, t.round = function (a, c) {
22215        return c || (c = 0), Math.round(a * Math.pow(10, c)) / Math.pow(10, c)
22216    }, t.xa = function (a, c) {
22217        return a === b && c === b ? {
22218            length: 0, start: function () {
22219                throw Error("This TimeRanges object is empty")
22220            }, end: function () {
22221                throw Error("This TimeRanges object is empty")
22222            }
22223        } : {
22224            length: 1, start: function () {
22225                return a
22226            }, end: function () {
22227                return c
22228            }
22229        }
22230    }, t.Ie = function (a) {
22231        try {
22232            var c = window.localStorage || l;
22233            c && (c.volume = a)
22234        } catch (d) {
22235            22 == d.code || 1014 == d.code ? t.log("LocalStorage Full (VideoJS)", d) : 18 == d.code ? t.log("LocalStorage not allowed (VideoJS)", d) : t.log("LocalStorage Error (VideoJS)", d)
22236        }
22237    }, t.Xd = function (a) {
22238        return a.match(/^https?:\/\//) || (a = t.e("div", {innerHTML: '<a href="' + a + '">x</a>'}).firstChild.href), a
22239    }, t.Ae = function (a) {
22240        var c, d, e, g;
22241        g = "protocol hostname port pathname search hash host".split(" "), d = t.e("a", {href: a}), (e = "" === d.host && "file:" !== d.protocol) && (c = t.e("div"), c.innerHTML = '<a href="' + a + '"></a>', d = c.firstChild, c.setAttribute("style", "display:none; position:absolute;"), document.body.appendChild(c)), a = {};
22242        for (var h = 0; h < g.length; h++) a[g[h]] = d[g[h]];
22243        return "http:" === a.protocol && (a.host = a.host.replace(/:80$/, "")), "https:" === a.protocol && (a.host = a.host.replace(/:443$/, "")), e && document.body.removeChild(c), a
22244    }, t.log = function () {
22245        F(j, arguments)
22246    }, t.log.history = [], t.log.error = function () {
22247        F("error", arguments)
22248    }, t.log.warn = function () {
22249        F("warn", arguments)
22250    }, t.Vd = function (a) {
22251        var c, d;
22252        return a.getBoundingClientRect && a.parentNode && (c = a.getBoundingClientRect()), c ? (a = document.documentElement, d = document.body, {
22253            left: t.round(c.left + (window.pageXOffset || d.scrollLeft) - (a.clientLeft || d.clientLeft || 0)),
22254            top: t.round(c.top + (window.pageYOffset || d.scrollTop) - (a.clientTop || d.clientTop || 0))
22255        }) : {left: 0, top: 0}
22256    }, t.tc = {}
22256, t.tc.forEach = function (a, c, d) {
22257        if (t.i.isArray(a) && c instanceof Function) for (var e = 0, g = a.length; g > e; ++e) c.call(d || t, a[e], e, a);
22258        return a
22259    }, t.bf = function (a, c) {
22260        var d, e, g, h, k, q, r;
22261        "string" == typeof a && (a = {uri: a}), videojs.Z.Aa({
22262            method: "GET",
22263            timeout: 45e3
22264        }, a), c = c || m(), q = function () {
22265            window.clearTimeout(k), c(j, e, e.response || e.responseText)
22266        }, r = function (a) {
22267            window.clearTimeout(k), a && "string" != typeof a || (a = Error(a)), c(a, e)
22268        }, d = window.XMLHttpRequest, "undefined" == typeof d && (d = function () {
22269            try {
22270                return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")
22271            } catch (a) {
22272            }
22273            try {
22274                return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")
22275            } catch (c) {
22276            }
22277            try {
22278                return new window.ActiveXObject("Msxml2.XMLHTTP")
22279            } catch (d) {
22280            }
22281            throw Error("This browser does not support XMLHttpRequest.")
22282        }), e = new d, e.uri = a.uri, d = t.Ae(a.uri), g = window.location, d.protocol + d.host === g.protocol + g.host || !window.XDomainRequest || "withCredentials" in e ? (h = "file:" == d.protocol || "file:" == g.protocol, e.onreadystatechange = function () {
22283            if (4 === e.readyState) {
22284                if (e.Ue) return r("timeout");
22285                200 === e.status || h && 0 === e.status ? q() : r()
22286            }
22287        }, a.timeout && (k = window.setTimeout(function () {
22288            4 !== e.readyState && (e.Ue = f, e.abort())
22289        }, a.timeout))) : (e = new window.XDomainRequest, e.onload = q, e.onerror = r, e.onprogress = m(), e.ontimeout = m());
22290        try {
22291            e.open(a.method || "GET", a.uri, f)
22292        } catch (u) {
22293            return void r(u)
22294        }
22295        a.withCredentials && (e.withCredentials = f), a.responseType && (e.responseType = a.responseType);
22296        try {
22297            e.send()
22298        } catch (A) {
22299            r(A)
22300        }
22301    }, t.Z = {}, t.Z.Aa = function (a, c) {
22302        var d, e, g;
22303        a = t.i.copy(a);
22304        for (d in c) c.hasOwnProperty(d) && (e = a[d], g = c[d], a[d] = t.i.ib(e) && t.i.ib(g) ? t.Z.Aa(e, g) : c[d]);
22305        return a
22306    }, t.z = m(), s = t.z.prototype, s.ab = {}, s.b = function (a, c) {
22307        var d = this.addEventListener;
22308        this.addEventListener = Function.prototype, t.b(this, a, c), this.addEventListener = d
22309    }, s.addEventListener = t.z.prototype.b, s.n = function (a, c) {
22310        t.n(this, a, c)
22311    }, s.removeEventListener = t.z.prototype.n, s.N = function (a, c) {
22312        t.N(this, a, c)
22313    }, s.o = function (a) {
22314        var c = a.type || a;
22315        "string" == typeof a && (a = {type: c}), a = t.Nb(a), this.ab[c] && this["on" + c] && this["on" + c](a), t.o(this, a)
22316    }, s.dispatchEvent = t.z.prototype.o, t.a = t.Ga.extend({
22317        l: function (a, c, d) {
22318            if (this.d = a, this.q = t.i.copy(this.q), c = this.options(c), this.Qa = c.id || c.el && c.el.id, this.Qa || (this.Qa = (a.id && a.id() || "no_player") + "_component_" + t.s++), this.pe = c.name || j, this.c = c.el || this.e(), this.R = [], this.cb = {}, this.eb = {}, this.Kc(), this.I(d), c.$c !== l) {
22319                var e, g;
22320                this.k().reportUserActivity && (e = t.bind(this.k(), this.k().reportUserActivity), this.b("touchstart", function () {
22321                    e(), this.clearInterval(g), g = this.setInterval(e, 250)
22322                }), a = function () {
22323                    e(), this.clearInterval(g)
22324                }, this.b("touchmove", e), this.b("touchend", a), this.b("touchcancel", a))
22325            }
22326        }
22327    }), s = t.a.prototype, s.dispose = function () {
22328        if (this.o({
22329            type: "dispose",
22330            bubbles: l
22331        }), this.R) for (var a = this.R.length - 1; a >= 0; a--) this.R[a].dispose && this.R[a].dispose();
22332        this.eb = this.cb = this.R = j, this.n(), this.c.parentNode && this.c.parentNode.removeChild(this.c), t.Zc(this.c), this.c = j
22333    }, s.d = f, s.k = n("d"), s.options = function (a) {
22334        return a === b ? this.q : this.q = t.Z.Aa(this.q, a)
22335    }, s.e = function (a, c) {
22336        return t.e(a, c)
22337    }, s.v = function (a) {
22338        var c = this.d.language(), d = this.d.languages();
22339        return d && d[c] && d[c][a] ? d[c][a] : a
22340    }, s.m = n("c"), s.wa = function () {
22341        return this.B || this.c
22342    }, s.id = n("Qa"), s.name = n("pe"), s.children = n("R"), s.Yd = function (a) {
22343        return this.cb[a]
22344    }, s.da = function (a) {
22345        return this.eb[a]
22346    }, s.aa = function (a, c) {
22347        var d, e;
22348        return "string" == typeof a ? (e = a, c = c || {}, d = c.componentClass || t.va(e), c.name = e, d = new window.videojs[d](this.d || this, c)) : d = a, this.R.push(d), "function" == typeof d.id && (this.cb[d.id()] = d), (e = e || d.name && d.name()) && (this.eb[e] = d), "function" == typeof d.el && d.el() && this.wa().appendChild(d.el()), d
22349    }, s.removeChild = function (a) {
22350        if ("string" == typeof a && (a = this.da(a)), a && this.R) {
22351            for (var c = l, d = this.R.length - 1; d >= 0; d--) if (this.R[d] === a) {
22352                c = f, this.R.splice(d, 1);
22353                break
22354            }
22355            c && (this.cb[a.id()] = j, this.eb[a.name()] = j, (c = a.m()) && c.parentNode === this.wa() && this.wa().removeChild(a.m()))
22356        }
22357    }, s.Kc = function () {
22358        var a, c, d, e, g, h;
22359        if (a = this, c = a.options(), d = c.children) if (h = function (d, e) {
22360            c[d] !== b && (e = c[d]), e !== l && (a[d] = a.aa(d, e))
22361        }, t.i.isArray(d)) for (var k = 0; k < d.length; k++) e = d[k], "string" == typeof e ? (g = e, e = {}) : g = e.name, h(g, e); else t.i.ca(d, h)
22362    }, s.T = p(""), s.b = function (a, c, d) {
22363        var e, g, h;
22364        return "string" == typeof a || t.i.isArray(a) ? t.b(this.c, a, t.bind(this, c)) : (e = t.bind(this, d), h = this, g = function () {
22365            h.n(a, c, e)
22366        }, g.s = e.s, this.b("dispose", g), d = function () {
22367            h.n("dispose", g)
22368        }, d.s = e.s, a.nodeName ? (t.b(a, c, e), t.b(a, "dispose", d)) : "function" == typeof a.b && (a.b(c, e), a.b("dispose", d))), this
22369    }, s.n = function (a, c, d) {
22370        return !a || "string" == typeof a || t.i.isArray(a) ? t.n(this.c, a, c) : (d = t.bind(this, d), this.n("dispose", d), a.nodeName ? (t.n(a, c, d), t.n(a, "dispose", d)) : (a.n(c, d), a.n("dispose", d))), this
22371    }, s.N = function (a, c, d) {
22372        var e, g, h;
22373        return "string" == typeof a || t.i.isArray(a) ? t.N(this.c, a, t.bind(this, c)) : (e = t.bind(this, d), g = this, h = function () {
22374            g.n(a, c, h), e.apply(this, arguments)
22375        }, h.s = e.s, this.b(a, c, h)), this
22376    }, s.o = function (a) {
22377        return t.o(this.c, a), this
22378    }, s.I = function (a) {
22379        return a && (this.ya ? a.call(this) : (this.mb === b && (this.mb = []), this.mb.push(a))), this
22380    }, s.Va = function () {
22381        this.ya = f;
22382        var a = this.mb;
22383        if (this.mb = [], a && 0 < a.length) {
22384            for (var c = 0, d = a.length; d > c; c++) a[c].call(this);
22385            this.o("ready")
22386        }
22387    }, s.Pa = function (a) {
22388        return t.Pa(this.c, a)
22389    }, s.p = function (a) {
22390        return t.p(this.c, a), this
22391    }, s.r = function (a) {
22392        return t.r(this.c, a), this
22393    }, s.show = function () {
22394        return this.r("vjs-hidden"), this
22395    }, s.W = function () {
22396        return this.p("vjs-hidden"), this
22397    }, s.width = function (a, c) {
22398        return ca(this, "width", a, c)
22399    }, s.height = function (a, c) {
22400        return ca(this, "height", a, c)
22401    }, s.Qd = function (a, c) {
22402        return this.width(a, f).height(c)
22403    }, s.setTimeout = function (a, c) {
22404        function d() {
22405            this.clearTimeout(e)
22406        }
22407
22408        a = t.bind(this, a);
22409        var e = setTimeout(a, c);
22410        return d.s = "vjs-timeout-" + e, this.b("dispose", d), e
22411    }, s.clearTimeout = function (a) {
22412        function c() {
22413        }
22414
22415        return clearTimeout(a), c.s = "vjs-timeout-" + a, this.n("dispose", c), a
22416    }, s.setInterval = function (a, c) {
22417        function d() {
22418            this.clearInterval(e)
22419        }
22420
22421        a = t.bind(this, a);
22422        var e = setInterval(a, c);
22423        return d.s = "vjs-interval-" + e, this.b("dispose", d), e
22424    }, s.clearInterval = function (a) {
22425        function c() {
22426        }
22427
22428        return clearInterval(a), c.s = "vjs-interval-" + a, this.n("dispose", c), a
22429    }, t.w = t.a.extend({
22430        l: function (a, c) {
22431            t.a.call(this, a, c), da(this), this.b("tap", this.u), this.b("click", this.u), this.b("focus", this.kb), this.b("blur", this.jb)
22432        }
22433    }), s = t.w.prototype, s.e = function (a, c) {
22434        var d;
22435        return c = t.i.D({
22436            className: this.T(),
22437            role: "button",
22438            "aria-live": "polite",
22439            tabIndex: 0
22440        }, c), d = t.a.prototype.e.call(this, a, c), c.innerHTML || (this.B = t.e("div", {className: "vjs-control-content"}), this.Ib = t.e("span", {
22441            className: "vjs-control-text",
22442            innerHTML: this.v(this.ta) || "Need Text"
22443        }), this.B.appendChild(this.Ib), d.appendChild(this.B)), d
22444    }, s.T = function () {
22445        return "vjs-control " + t.a.prototype.T.call(this)
22446    }, s.u = m(), s.kb = function () {
22447        t.b(document, "keydown", t.bind(this, this.ka))
22448    }, s.ka = function (a) {
22449        (32 == a.which || 13 == a.which) && (a.preventDefault(), this.u())
22450    }, s.jb = function () {
22451        t.n(document, "keydown", t.bind(this, this.ka))
22452    }, t.S = t.a.extend({
22453        l: function (a, c) {
22454            t.a.call(this, a, c), this.Hd = this.da(this.q.barName), this.handle = this.da(this.q.handleName), this.b("mou
22454sedown", this.lb), this.b("touchstart", this.lb), this.b("focus", this.kb), this.b("blur", this.jb), this.b("click", this.u), this.b(a, "controlsvisible", this.update), this.b(a, this.Uc, this.update)
22455        }
22456    }), s = t.S.prototype, s.e = function (a, c) {
22457        return c = c || {}, c.className += " vjs-slider", c = t.i.D({
22458            role: "slider",
22459            "aria-valuenow": 0,
22460            "aria-valuemin": 0,
22461            "aria-valuemax": 100,
22462            tabIndex: 0
22463        }, c), t.a.prototype.e.call(this, a, c)
22464    }, s.lb = function (a) {
22465        a.preventDefault(), t.Id(), this.p("vjs-sliding"), this.b(document, "mousemove", this.la), this.b(document, "mouseup", this.Ba), this.b(document, "touchmove", this.la), this.b(document, "touchend", this.Ba), this.la(a)
22466    }, s.la = m(), s.Ba = function () {
22467        t.Xe(), this.r("vjs-sliding"), this.n(document, "mousemove", this.la), this.n(document, "mouseup", this.Ba), this.n(document, "touchmove", this.la), this.n(document, "touchend", this.Ba), this.update()
22468    }, s.update = function () {
22469        if (this.c) {
22470            var a, c = this.Qb(), d = this.handle, e = this.Hd;
22471            if (("number" != typeof c || c !== c || 0 > c || 1 / 0 === c) && (c = 0), a = c, d) {
22472                a = this.c.offsetWidth;
22473                var g = d.m().offsetWidth;
22474                a = g ? g / a : 0, c *= 1 - a, a = c + a / 2, d.m().style.left = t.round(100 * c, 2) + "%"
22475            }
22476            e && (e.m().style.width = t.round(100 * a, 2) + "%")
22477        }
22478    }, s.kb = function () {
22479        this.b(document, "keydown", this.ka)
22480    }, s.ka = function (a) {
22481        37 == a.which || 40 == a.which ? (a.preventDefault(), this.fd()) : (38 == a.which || 39 == a.which) && (a.preventDefault(), this.gd())
22482    }, s.jb = function () {
22483        this.n(document, "keydown", this.ka)
22484    }, s.u = function (a) {
22485        a.stopImmediatePropagation(), a.preventDefault()
22486    }, t.ga = t.a.extend(), t.ga.prototype.defaultValue = 0,t.ga.prototype.e = function (a, c) {
22487        return c = c || {}, c.className += " vjs-slider-handle", c = t.i.D({innerHTML: '<span class="vjs-control-text">' + this.defaultValue + "</span>"}, c), t.a.prototype.e.call(this, "div", c)
22488    },t.qa = t.a.extend(),t.qa.prototype.e = function () {
22489        var a = this.options().zc || "ul";
22490        return this.B = t.e(a, {className: "vjs-menu-content"}), a = t.a.prototype.e.call(this, "div", {
22491            append: this.B,
22492            className: "vjs-menu"
22493        }), a.appendChild(this.B), t.b(a, "click", function (a) {
22494            a.preventDefault(), a.stopImmediatePropagation()
22495        }), a
22496    },t.M = t.w.extend({
22497        l: function (a, c) {
22498            t.w.call(this, a, c), this.selected(c.selected)
22499        }
22500    }),t.M.prototype.e = function (a, c) {
22501        return t.w.prototype.e.call(this, "li", t.i.D({className: "vjs-menu-item", innerHTML: this.v(this.q.label)}, c))
22502    },t.M.prototype.u = function () {
22503        this.selected(f)
22504    },t.M.prototype.selected = function (a) {
22505        a ? (this.p("vjs-selected"), this.c.setAttribute("aria-selected", f)) : (this.r("vjs-selected"), this.c.setAttribute("aria-selected", l))
22506    },t.O = t.w.extend({
22507        l: function (a, c) {
22508            t.w.call(this, a, c), this.update(), this.b("keydown", this.ka), this.c.setAttribute("aria-haspopup", f), this.c.setAttribute("role", "button")
22509        }
22510    }),s = t.O.prototype,s.update = function () {
22511        var a = this.La();
22512        this.za && this.removeChild(this.za), this.za = a, this.aa(a), this.H && 0 === this.H.length ? this.W() : this.H && 1 < this.H.length && this.show()
22513    },s.Ja = l,s.La = function () {
22514        var a = new t.qa(this.d);
22515        if (this.options().title && a.wa().appendChild(t.e("li", {
22516            className: "vjs-menu-title",
22517            innerHTML: t.va(this.options().title),
22518            Se: -1
22519        })), this.H = this.createItems()) for (var c = 0; c < this.H.length; c++) fa(a, this.H[c]);
22520        return a
22521    },s.Ka = m(),s.T = function () {
22522        return this.className + " vjs-menu-button " + t.w.prototype.T.call(this)
22523    },s.kb = m(),s.jb = m(),s.u = function () {
22524        this.N("mouseout", t.bind(this, function () {
22525            G(this.za), this.c.blur()
22526        })), this.Ja ? H(this) : ga(this)
22527    },s.ka = function (a) {
22528        32 == a.which || 13 == a.which ? (this.Ja ? H(this) : ga(this), a.preventDefault()) : 27 == a.which && (this.Ja && H(this), a.preventDefault())
22529    },t.J = function (a) {
22530        "number" == typeof a ? this.code = a : "string" == typeof a ? this.message = a : "object" == typeof a && t.i.D(this, a), this.message || (this.message = t.J.Pd[this.code] || "")
22531    },t.J.prototype.code = 0,t.J.prototype.message = "",t.J.prototype.status = j,t.J.gb = "MEDIA_ERR_CUSTOM MEDIA_ERR_ABORTED MEDIA_ERR_NETWORK MEDIA_ERR_DECODE MEDIA_ERR_SRC_NOT_SUPPORTED MEDIA_ERR_ENCRYPTED".split(" "),t.J.Pd = {
22532        1: "You aborted the video playback",
22533        2: "A network error caused the video download to fail part-way.",
22534        3: "The video playback was aborted due to a corruption problem or because the video used features your browser did not support.",
22535        4: "The video could not be loaded, either because the server or network failed or because the format is not supported.",
22536        5: "The video is encrypted and we do not have the keys to decrypt it."
22537    };
22538    for (var I = 0; I < t.J.gb.length; I++) t.J[t.J.gb[I]] = I, t.J.prototype[t.J.gb[I]] = I;
22539    var J, ha, K, L;
22540    for (J = ["requestFullscreen exitFullscreen fullscreenElement fullscreenEnabled fullscreenchange fullscreenerror".split(" "), "webkitRequestFullscreen webkitExitFullscreen webkitFullscreenElement webkitFullscreenEnabled 
22540webkitfullscreenchange webkitfullscreenerror".split(" "), "webkitRequestFullScreen webkitCancelFullScreen webkitCurrentFullScreenElement webkitCancelFullScreen webkitfullscreenchange webkitfullscreenerror".split(" "), "mozRequestFullScreen mozCancelFullScreen mozFullScreenElement mozFullScreenEnabled mozfullscreenchange mozfullscreenerror".split(" "), "msRequestFullscreen msExitFullscreen msFullscreenElement msFullscreenEnabled MSFullscreenChange MSFullscreenError".split(" ")], ha = J[0], L = 0; L < J.length; L++) if (J[L][1] in document) {
22541        K = J[L];
22542        break
22543    }
22544    if (K) for (t.bb.Pb = {}, L = 0; L < K.length; L++) t.bb.Pb[ha[L]] = K[L];
22545    t.Player = t.a.extend({
22546        l: function (a, c, d) {
22547            this.L = a, a.id = a.id || "vjs_video_" + t.s++, this.Te = a && t.Oa(a), c = t.i.D(ia(a), c), this.Pc = c.language || t.options.language, this.je = c.languages || t.options.languages, this.K = {}, this.Vc = c.poster || "", this.Jb = !!c.controls, a.controls = l, c.$c = l, ja(this, "audio" === this.L.nodeName.toLowerCase()), t.a.call(this, this, c, d), this.controls() ? this.p("vjs-controls-enabled") : this.p("vjs-controls-disabled"), ja(this) && this.p("vjs-audio"), t.Ca[this.Qa] = this, c.plugins && t.i.ca(c.plugins, function (a, c) {
22548                this[a](c)
22549            }, this);
22550            var e, g, h, k, q;
22551            e = t.bind(this, this.reportUserActivity), this.b("mousedown", function () {
22552                e(), this.clearInterval(g), g = this.setInterval(e, 250)
22553            }), this.b("mousemove", function (a) {
22554                (a.screenX != k || a.screenY != q) && (k = a.screenX, q = a.screenY, e())
22555            }), this.b("mouseup", function () {
22556                e(), this.clearInterval(g)
22557            }), this.b("keydown", e), this.b("keyup", e), this.setInterval(function () {
22558                if (this.Fa) {
22559                    this.Fa = l, this.userActive(f), this.clearTimeout(h);
22560                    var a = this.options().inactivityTimeout;
22561                    a > 0 && (h = this.setTimeout(function () {
22562                        this.Fa || this.userActive(l)
22563                    }, a))
22564                }
22565            }, 250)
22566        }
22567    }), s = t.Player.prototype, s.language = function (a) {
22568        return a === b ? this.Pc : (this.Pc = a, this)
22569    }, s.languages = n("je"), s.q = t.options, s.dispose = function () {
22570        this.o("dispose"), this.n("dispose"), t.Ca[this.Qa] = j, this.L && this.L.player && (this.L.player = j), this.c && this.c.player && (this.c.player = j), this.h && this.h.dispose(), t.a.prototype.dispose.call(this)
22571    }, s.e = function () {
22572        var d, a = this.c = t.a.prototype.e.call(this, "div"), c = this.L;
22573        return c.removeAttribute("width"), c.removeAttribute("height"), d = t.Oa(c), t.i.ca(d, function (c) {
22574            "class" == c ? a.className = d[c] : a.setAttribute(c, d[c])
22575        }), c.id += "_html5_api", c.className = "vjs-tech", c.player = a.player = this, this.p("vjs-paused"), this.width(this.q.width, f), this.height(this.q.height, f), c.ce = c.networkState, c.parentNode && c.parentNode.insertBefore(a, c), t.Rb(c, a), this.c = a, this.b("loadstart", this.te), this.b("waiting", this.ze), this.b(["canplay", "canplaythrough", "playing", "ended"], this.ye), this.b("seeking", this.we), this.b("seeked", this.ve), this.b("ended", this.qe), this.b("play", this.Xb), this.b("firstplay", this.re), this.b("pause", this.Wb), this.b("progress", this.ue), this.b("durationchange", this.Sc), this.b("fullscreenchange", this.se), a
22576    }, s.te = function () {
22577        this.r("vjs-ended"), this.error(j), this.paused() ? la(this, l) : this.o("firstplay")
22578    }, s.Jc = l, s.Xb = function () {
22579        this.r("vjs-ended"), this.r("vjs-paused"), this.p("vjs-playing"), la(this, f)
22580    }, s.ze = function () {
22581        this.p("vjs-waiting")
22582    }, s.ye = function () {
22583        this.r("vjs-waiting")
22584    }, s.we = function () {
22585        this.p("vjs-seeking")
22586    }, s.ve = function () {
22587        this.r("vjs-seeking")
22588    }, s.re = function () {
22589        this.q.starttime && this.currentTime(this.q.starttime), this.p("vjs-has-started")
22590    }, s.Wb = function () {
22591        this.r("vjs-playing"), this.p("vjs-paused")
22592    }, s.ue = function () {
22593        1 == this.bufferedPercent() && this.o("loadedalldata")
22594    }, s.qe = function () {
22595        this.p("vjs-ended"), this.q.loop ? (this.currentTime(0), this.play()) : this.paused() || this.pause()
22596    }, s.Sc = function () {
22597        var a = M(this, "duration");
22598        a && (0 > a && (a = 1 / 0), this.duration(a), 1 / 0 === a ? this.p("vjs-live") : this.r("vjs-live"))
22599    }, s.se = function () {
22600        this.isFullscreen() ? this.p("vjs-fullscreen") : this.r("vjs-fullscreen")
22601    }, s.play = function () {
22602        return N(this, "play"), this
22603    }, s.pause = function () {
22604        return N(this, "pause"), this
22605    }, s.paused = function () {
22606        return M(this, "paused") === l ? l : f
22607    }, s.currentTime = function (a) {
22608        return a !== b ? (N(this, "setCurrentTime", a), this) : this.K.currentTime = M(this, "currentTime") || 0
22609    }, s.duration = function (a) {
22610        return a !== b ? (this.K.duration = parseFloat(a), this) : (this.K.duration === b && this.Sc(), this.K.duration || 0)
22611    }, s.remainingTime = function () {
22612        return this.duration() - this.currentTime()
22613    }, s.buffered = function () {
22614        var a = M(this, "buffered");
22615        return a && a.length || (a = t.xa(0, 0)), a
22616    }, s.bufferedPercent = function () {
22617        var e, g, a = this.duration(), c = this.buffered(), d = 0;
22618        if (!a) return 0;
22619        for (var h = 0; h < c.length; h++) e = c.start(h), g = c.end(h), g > a && (g = a), d += g - e;
22620        return d / a
22621    }, s.volume = function (a) {
22622        return a !== b ? (a = Math.max(0, Math.min(1, parseFloat(a))), this.K.volume = a, N(this, "setVolume", a), t.Ie(a), this) : (a = parseFloat(M(this, "volume")), isNaN(a) ? 1 : a)
22623    }, s.muted = function (a) {
22624        return a !== b ? (N(this, "setMuted", a), this) : M(this, "muted") || l
22625    }, s.Sa = function () {
22626        return M(this, "supportsFullScreen") || l
22627    }, s.Mc = l, s.isFullscreen = function (a) {
22628        return a !== b ? (this.Mc = !!a, this) : this.Mc
22629    }, s.isFullScreen = function (a) {
22630        return t.log.warn('player.isFullScreen() has been deprecated, use player.isFullscreen() with a lowercase "s")'), this.isFullscreen(a)
22631    }, s.requestFullscreen = function () {
22632        var a = t.bb.Pb;
22633        return this.isFullscreen(f), a ? (t.b(document, a.fullscreenchange, t.bind(this, function (c) {
22634            this.isFullscreen(document[a.fullscreenElement]), this.isFullscreen() === l && t.n(document, a.fullscreenchange, arguments.callee), this.o("fullscreenchange")
22635        })), this.c[a.requestFullscreen]()) : this.h.Sa() ? N(this, "enterFullScreen") : (this.Fc(), this.o("fullscreenchange")), this
22636    }, s.requestFullScreen = function () {
22637        return t.log.warn('player.requestFullScreen() has been deprecated, use player.requestFullscreen() with a lowercase "s")'), this.requestFullscreen()
22638    }, s.exitFullscreen = function () {
22639        var a = t.bb.Pb;
22640        return this.isFullscreen(l), a ? document[a.exitFullscreen]() : this.h.Sa() ? N(this, "exitFullScreen") : (this.Lb(), this.o("fullscreenchange")), this
22641    }, s.cancelFullScreen = function () {
22642        return t.log.warn("player.cancelFullScreen() has been deprecated, use player.exitFullscreen()"), this.exitFullscreen()
22643    }, s.Fc = function () {
22644        this.fe = f, this.Rd = document.documentElement.style.overflow, t.b(document, "keydown", t.bind(this, this.Gc)), document.documentElement.style.overflow = "hidden", t.p(document.body, "vjs-full-window"), this.o("enterFullWindow")
22645    }, s.Gc = function (a) {
22646        27 === a.keyCode && (this.isFullscreen() === f ? this.exitFullscreen() : this.Lb())
22647    }, s.Lb = function () {
22648        this.fe = l, t.n(document, "keydown", this.Gc), document.documentElement.style.overflow = this.Rd, t.r(document.body, "vjs-full-window"), this.o("exitFullWindow")
22649    }, s.selectSource = function (a) {
22650        for (var c = 0, d = this.q.techOrder; c < d.length; c++) {
22651            var e = t.va(d[c]), g = window.videojs[e];
22652            if (g) {
22653                if (g.isSupported()) for (var h = 0, k = a; h < k.length; h++) {
22654                    var q = k[h];
22655                    if (g.canPlaySource(q)) return {source: q, h: e}
22656                }
22657            } else t.log.error('The "' + e + '" tech is undefined. Skipped browser support check for that tech.')
22658        }
22659        return l
22660    }, s.src = function (a) {
22661        return a === b ? M(this, "src") : (t.i.isArray(a) ? ma(this, a) : "string" == typeof a ? this.src({src: a}) : a instanceof Object && (a.type && !window.videojs[this.Ta].canPlaySource(a) ? ma(this, [a]) : (this.K.src = a.src, this.Cc = a.type || "", this.I(function () {
22662            window.videojs[this.Ta].prototype.hasOwnProperty("setSource") ? N(this, "setSource", a) : N(this, "src", a.src), "auto" == this.q.preload && this.load(), this.q.autoplay && this.play()
22663        }))), this)
22664    }, s.load = function () {
22665        return N(this, "load"), this
22666    }, s.currentSrc = function () {
22667        return M(this, "currentSrc") || this.K.src || ""
22668    }, s.Nd = function () {
22669        return this.Cc || ""
22670    }, s.Ra = function (a) {
22671        return a !== b ? (N(this, "setPreload", a), this.q.preload = a, this) : M(this, "preload")
22672    }, s.autoplay = function (a) {
22673        return a !== b ? (N(this, "setAutoplay", a), this.q.autoplay = a, this) : M(this, "autoplay")
22674    }, s.loop = function (a) {
22675        return a !== b ? (N(this, "setLoop", a), this.q.loop = a, this) : M(this, "loop")
22676    }, s.poster = function (a) {
22677        return a === b ? this.Vc : (a || (a = ""), this.Vc = a, N(this, "setPoster", a), this.o("posterchange"), this)
22678    }, s.controls = function (a) {
22679        return a !== b ? (a = !!a, this.Jb !== a && ((this.Jb = a) ? (this.r("vjs-controls-disabled"), this.p("vjs-controls-enabled"), this.o("controlsenabled")) : (this.r("vjs-controls-enabled"), this.p("vjs-controls-disabled"), this.o("controlsdisabled"))), this) : this.Jb
22680    }, t.Player.prototype.bc, s = t.Player.prototype, s.usingNativeControls = function (a) {
22681        return a !== b ? (a = !!a, this.bc !== a && ((this.bc = a) ? (this.p("vjs-using-native-control
22681s"), this.o("usingnativecontrols")) : (this.r("vjs-using-native-controls"), this.o("usingcustomcontrols"))), this) : this.bc
22682    }, s.ja = j, s.error = function (a) {
22683        return a === b ? this.ja : a === j ? (this.ja = a, this.r("vjs-error"), this) : (this.ja = a instanceof t.J ? a : new t.J(a), this.o("error"), this.p("vjs-error"), t.log.error("(CODE:" + this.ja.code + " " + t.J.gb[this.ja.code] + ")", this.ja.message, this.ja), this)
22684    }, s.ended = function () {
22685        return M(this, "ended")
22686    }, s.seeking = function () {
22687        return M(this, "seeking")
22688    }, s.seekable = function () {
22689        return M(this, "seekable")
22690    }, s.Fa = f, s.reportUserActivity = function () {
22691        this.Fa = f
22692    }, s.ac = f, s.userActive = function (a) {
22693        return a !== b ? (a = !!a, a !== this.ac && ((this.ac = a) ? (this.Fa = f, this.r("vjs-user-inactive"), this.p("vjs-user-active"), this.o("useractive")) : (this.Fa = l, this.h && this.h.N("mousemove", function (a) {
22694            a.stopPropagation(), a.preventDefault()
22695        }), this.r("vjs-user-active"), this.p("vjs-user-inactive"), this.o("userinactive"))), this) : this.ac
22696    }, s.playbackRate = function (a) {
22697        return a !== b ? (N(this, "setPlaybackRate", a), this) : this.h && this.h.featuresPlaybackRate ? M(this, "playbackRate") : 1
22698    }, s.Lc = l, s.networkState = function () {
22699        return M(this, "networkState")
22700    }, s.readyState = function () {
22701        return M(this, "readyState")
22702    }, s.textTracks = function () {
22703        return this.h && this.h.textTracks()
22704    }, s.X = function () {
22705        return this.h && this.h.remoteTextTracks()
22706    }, s.addTextTrack = function (a, c, d) {
22707        return this.h && this.h.addTextTrack(a, c, d)
22708    }, s.ha = function (a) {
22709        return this.h && this.h.addRemoteTextTrack(a)
22710    }, s.Da = function (a) {
22711        this.h && this.h.removeRemoteTextTrack(a)
22712    }, t.tb = t.a.extend(), t.tb.prototype.q = {
22713        sf: "play",
22714        children: {
22715            playToggle: {},
22716            currentTimeDisplay: {},
22717            timeDivider: {},
22718            durationDisplay: {},
22719            remainingTimeDisplay: {},
22720            liveDisplay: {},
22721            progressControl: {},
22722            fullscreenToggle: {},
22723            volumeControl: {},
22724            muteToggle: {},
22725            playbackRateMenuButton: {},
22726            subtitlesButton: {},
22727            captionsButton: {},
22728            chaptersButton: {}
22729        }
22730    }, t.tb.prototype.e = function () {
22731        return t.e("div", {className: "vjs-control-bar"})
22732    }, t.hc = t.a.extend({
22733        l: function (a, c) {
22734            t.a.call(this, a, c)
22735        }
22736    }), t.hc.prototype.e = function () {
22737        var a = t.a.prototype.e.call(this, "div", {className: "vjs-live-controls vjs-control"});
22738        return this.B = t.e("div", {
22739            className: "vjs-live-display",
22740            innerHTML: '<span class="vjs-control-text">' + this.v("Stream Type") + "</span>" + this.v("LIVE"),
22741            "aria-live": "off"
22742        }), a.appendChild(this.B), a
22743    }, t.kc = t.w.extend({
22744        l: function (a, c) {
22745            t.w.call(this, a, c), this.b(a, "play", this.Xb), this.b(a, "pause", this.Wb)
22746        }
22747    }), s = t.kc.prototype, s.ta = "Play", s.T = function () {
22748        return "vjs-play-control " + t.w.prototype.T.call(this)
22749    }, s.u = function () {
22750        this.d.paused() ? this.d.play() : this.d.pause()
22751    }, s.Xb = function () {
22752        this.r("vjs-paused"), this.p("vjs-playing"), this.c.children[0].children[0].innerHTML = this.v("Pause")
22753    }, s.Wb = function () {
22754        this.r("vjs-playing"), this.p("vjs-paused"), this.c.children[0].children[0].innerHTML = this.v("Play")
22755    }, t.ub = t.a.extend({
22756        l: function (a, c) {
22757            t.a.call(this, a, c), this.b(a, "timeupdate", this.fa)
22758        }
22759    }), t.ub.prototype.e = function () {
22760        var a = t.a.prototype.e.call(this, "div", {className: "vjs-current-time vjs-time-controls vjs-control"});
22761        return this.B = t.e("div", {
22762            className: "vjs-current-time-display",
22763            innerHTML: '<span class="vjs-control-text">Current Time </span>0:00',
22764            "aria-live": "off"
22765        }), a.appendChild(this.B), a
22766    }, t.ub.prototype.fa = function () {
22767        var a = this.d.nb ? this.d.K.currentTime : this.d.currentTime();
22768        this.B.innerHTML = '<span class="vjs-control-text">' + this.v("Current Time") + "</span> " + t.Na(a, this.d.duration())
22769    }, t.vb = t.a.extend({
22770        l: function (a, c) {
22771            t.a.call(this, a, c), this.b(a, "timeupdate", this.fa), this.b(a, "loadedmetadata", this.fa)
22772        }
22773    }), t.vb.prototype.e = function () {
22774        var a = t.a.prototype.e.call(this, "div", {className: "vjs-duration vjs-time-control
22774s vjs-control"});
22775        return this.B = t.e("div", {
22776            className: "vjs-duration-display",
22777            innerHTML: '<span class="vjs-control-text">' + this.v("Duration Time") + "</span> 0:00",
22778            "aria-live": "off"
22779        }), a.appendChild(this.B), a
22780    }, t.vb.prototype.fa = function () {
22781        var a = this.d.duration();
22782        a && (this.B.innerHTML = '<span class="vjs-control-text">' + this.v("Duration Time") + "</span> " + t.Na(a))
22783    }, t.qc = t.a.extend({
22784        l: function (a, c) {
22785            t.a.call(this, a, c)
22786        }
22787    }), t.qc.prototype.e = function () {
22788        return t.a.prototype.e.call(this, "div", {
22789            className: "vjs-time-divider",
22790            innerHTML: "<div><span>/</span></div>"
22791        })
22792    }, t.Cb = t.a.extend({
22793        l: function (a, c) {
22794            t.a.call(this, a, c), this.b(a, "timeupdate", this.fa)
22795        }
22796    }), t.Cb.prototype.e = function () {
22797        var a = t.a.prototype.e.call(this, "div", {className: "vjs-remaining-time vjs-time-controls vjs-control"});
22798        return this.B = t.e("div", {
22799            className: "vjs-remaining-time-display",
22800            innerHTML: '<span class="vjs-control-text">' + this.v("Remaining Time") + "</span> -0:00",
22801            "aria-live": "off"
22802        }), a.appendChild(this.B), a
22803    }, t.Cb.prototype.fa = function () {
22804        this.d.duration() && (this.B.innerHTML = '<span class="vjs-control-text">' + this.v("Remaining Time") + "</span> -" + t.Na(this.d.remainingTime()))
22805    }, t.Ya = t.w.extend({
22806        l: function (a, c) {
22807            t.w.call(this, a, c)
22808        }
22809    }), t.Ya.prototype.ta = "Fullscreen", t.Ya.prototype.T = function () {
22810        return "vjs-fullscreen-control " + t.w.prototype.T.call(this)
22811    }, t.Ya.prototype.u = function () {
22812        this.d.isFullscreen() ? (this.d.exitFullscreen(), this.Ib.innerHTML = this.v("Fullscreen")) : (this.d.requestFullscreen(), this.Ib.innerHTML = this.v("Non-Fullscreen"))
22813    }, t.Bb = t.a.extend({
22814        l: function (a, c) {
22815            t.a.call(this, a, c)
22816        }
22817    }), t.Bb.prototype.q = {children: {seekBar: {}}},t.Bb.prototype.e = function () {
22818        return t.a.prototype.e.call(this, "div", {className: "vjs-progress-control vjs-control"})
22819    },t.nc = t.S.extend({
22820        l: function (a, c) {
22821            t.S.call(this, a, c), this.b(a, "timeupdate", this.Ea), a.I(t.bind(this, this.Ea))
22822        }
22823    }),s = t.nc.prototype,s.q = {
22824        children: {loadProgressBar: {}, playProgressBar: {}, seekHandle: {}},
22825        barName: "playProgressBar",
22826        handleName: "seekHandle"
22827    },s.Uc = "timeupdate",s.e = function () {
22828        return t.S.prototype.e.call(this, "div", {className: "vjs-progress-holder", "aria-label": "video progress bar"})
22829    },s.Ea = function () {
22830        var a = this.d.nb ? this.d.K.currentTime : this.d.currentTime();
22831        this.c.setAttribute("aria-valuenow", t.round(100 * this.Qb(), 2)), this.c.setAttribute("aria-valuetext", t.Na(a, this.d.duration()))
22832    },s.Qb = function () {
22833        return this.d.currentTime() / this.d.duration()
22834    },s.lb = function (a) {
22835        t.S.prototype.lb.call(this, a), this.d.nb = f, this.d.p("vjs-scrubbing"), this.$e = !this.d.paused(), this.d.pause()
22836    },s.la = function (a) {
22837        a = ea(this, a) * this.d.duration(), a == this.d.duration() && (a -= .1), this.d.currentTime(a)
22838    },s.Ba = function (a) {
22839        t.S.prototype.Ba.call(this, a), this.d.nb = l, this.d.r("vjs-scrubbing"), this.$e && this.d.play()
22840    },s.gd = function () {
22841        this.d.currentTime(this.d.currentTime() + 5)
22842    },s.fd = function () {
22843        this.d.currentTime(this.d.currentTime() - 5)
22844    },t.yb = t.a.extend({
22845        l: function (a, c) {
22846            t.a.call(this, a, c), this.b(a, "progress", this.update)
22847        }
22848    }),t.yb.prototype.e = function () {
22849        return t.a.prototype.e.call(this, "div", {
22850            className: "vjs-load-progress",
22851            innerHTML: '<span class="vjs-control-text"><span>' + this.v("Loaded") + "</span>: 0%</span>"
22852        })
22853    },t.yb.prototype.update = function () {
22854        var a, c, d, e, g = this.d.buffered();
22855        a = this.d.duration();
22856        var h, k = this.d;
22857        for (h = k.buffered(), k = k.duration(), h = h.end(h.length - 1), h > k && (h = k), k = this.c.children, this.c.style.width = 100 * (h / a || 0) + "%", a = 0; a < g.length; a++) c = g.start(a), d = g.end(a), (e = k[a]) || (e = this.c.appendChild(t.e())), e.style.left = 100 * (c / h || 0) + "%", e.style.width = 100 * ((d - c) / h || 0) + "%";
22858        for (a = k.length; a > g.length; a--) this.c.removeChild(k[a - 1])
22859    },t.jc = t.a.extend({
22860        l: function (a, c) {
22861            t.a.call(this, a, c)
22862        }
22863    }),t.jc.prototype.e = function () {
22864        return t.a.prototype.e.call(this, "div", {
22865            className: "vjs-play-progress",
22866            innerHTML: '<span class="vjs-control-text"><span>' + this.v("Progress") + "</span>: 0%</span>"
22867        })
22868    },t.Za = t.ga.extend({
22869        l: function (a, c) {
22870            t.ga.call(this, a, c), this.b(a, "timeupdate", this.fa)
22871        }
22872    }),t.Za.prototype.defaultValue = "00:00",t.Za.prototype.e = function () {
22873        return t.ga.prototype.e.call(this, "div", {className: "vjs-seek-handle", "aria-live": "off"})
22874    },t.Za.prototype.fa = function () {
22875        var a = this.d.nb ? this.d.K.currentTime : this.d.currentTime();
22876        this.c.innerHTML = '<span class="vjs-control-text">' + t.Na(a, this.d.duration()) + "</span>"
22877    },t.Fb = t.a.extend({
22878        l: function (a, c) {
22879            t.a.call(this, a, c), a.h && a.h.featuresVolumeControl === l && this.p("vjs-hidden"), this.b(a, "loadstart", function () {
22880                a.h.featuresVolumeControl === l ? this.p("vjs-hidden") : this.r("vjs-hidden")
22881            })
22882        }
22883    }),t.Fb.prototype.q = {children: {volumeBar: {}}},t.Fb.prototype.e = function () {
22884        return t.a.prototype.e.call(this, "div", {className: "vjs-volume-control vjs-control"})
22885    },t.Eb = t.S.extend({
22886        l: function (a, c) {
22887            t.S.call(this, a, c), this.b(a, "volumechange", this.Ea), a.I(t.bind(this, this.Ea))
22888        }
22889    }),s = t.Eb.prototype,s.Ea = function () {
22890        this.c.setAttribute("aria-valuenow", t.round(100 * this.d.volume(), 2)), this.c.setAttribute("aria-valuetext", t.round(100 * this.d.volume(), 2) + "%")
22891    },s.q = {
22892        children: {volumeLevel: {}, volumeHandle: {}},
22893        barName: "volumeLevel",
22894        handleName: "volumeHandle"
22895    },s.Uc = "volumechange",s.e = function () {
22896        return t.S.prototype.e.call(this, "div", {className: "vjs-volume-bar", "aria-label": "volume level"})
22897    },s.la = function (a) {
22898        this.d.muted() && this.d.muted(l), this.d.volume(ea(this, a))
22899    },s.Qb = function () {
22900        return this.d.muted() ? 0 : this.d.volume()
22901    },s.gd = function () {
22902        this.d.volume(this.d.volume() + .1)
22903    },s.fd = function () {
22904        this.d.volume(this.d.volume() - .1)
22905    },t.rc = t.a.extend({
22906        l: function (a, c) {
22907            t.a.call(this, a, c)
22908        }
22909    }),t.rc.prototype.e = function () {
22910        return t.a.prototype.e.call(this, "div", {
22911            className: "vjs-volume-level",
22912            innerHTML: '<span class="vjs-control-text"></span>'
22913        })
22914    },t.Gb = t.ga.extend(),t.Gb.prototype.defaultValue = "00:00",t.Gb.prototype.e = function () {
22915        return t.ga.prototype.e.call(this, "div", {className: "vjs-volume-handle"})
22916    },t.ra = t.w.extend({
22917        l: function (a, c) {
22918            t.w.call(this, a, c), this.b(a, "volumechange", this.update), a.h && a.h.featuresVolumeControl === l && this.p("vjs-hidden"), this.b(a, "loadstart", function () {
22919                a.h.featuresVolumeControl === l ? this.p("vjs-hidden") : this.r("vjs-hidden")
22920            })
22921        }
22922    }),t.ra.prototype.e = function () {
22923        return t.w.prototype.e.call(this, "div", {
22924            className: "vjs-mute-control vjs-control",
22925            innerHTML: '<div><span class="vjs-control-text">' + this.v("Mute") + "</span></div>"
22926        })
22927    },t.ra.prototype.u = function () {
22928        this.d.muted(this.d.muted() ? l : f)
22929    },t.ra.prototype.update = function () {
22930        var a = this.d.volume(), c = 3;
22931        for (0 === a || this.d.muted() ? c = 0 : .33 > a ? c = 1 : .67 > a && (c = 2), this.d.muted() ? this.c.children[0].children[0].innerHTML != this.v("Unmute") && (this.c.children[0].children[0].innerHTML = this.v("Unmute")) : this.c.children[0].children[0].innerHTML != this.v("Mute") && (this.c.children[0].children[0].innerHTML = this.v("Mute")), a = 0; 4 > a; a++) t.r(this.c, "vjs-vol-" + a);
22932        t.p(this.c, "vjs-vol-" + c)
22933    },t.Ha = t.O.extend({
22934        l: function (a, c) {
22935            t.O.call(this, a, c), this.b(a, "volumechange", this.af), a.h && a.h.featuresVolumeControl === l && this.p("vjs-hidden"), this.b(a, "loadstart", function () {
22936                a.h.featuresVolumeControl === l ? this.p("vjs-hidden") : this.r("vjs-hidden")
22937            }), this.p("vjs-menu-button")
22938        }
22939    }),t.Ha.prototype.La = function () {
22940        var a = new t.qa(this.d, {zc: "div"}), c = new t.Eb(this.d, this.q.volumeBar);
22941        return c.b("focus", function () {
22942            a.p("vjs-lock-showing")
22943        }), c.b("blur", function () {
22944            G(a)
22945        }), a.aa(c), a
22946    },t.Ha.prototype.u = function () {
22947        t.ra.prototype.u.call(this), t.O.prototype.u.call(this)
22948    },t.Ha.prototype.e = function () {
22949        return t.w.prototype.e.call(this, "div", {
22950            className: "vjs-volume-menu-button vjs-menu-button vjs-control",
22951            innerHTML: '<div><span class="vjs-control-text">' + this.v("Mute") + "</span></div>"
22952        })
22953    },t.Ha.prototype.af = t.ra.prototype.update,t.lc = t.O.extend({
22954        l: function (a, c) {
22955            t.O.call(this, a, c), this.pd(), this.od(), this.b(a, "loadstart", this.pd), this.b(a, "ratechange", this.od)
22956        }
22957    }),s = t.lc.prototype,s.ta = "Playback Rate",s.className = "vjs-playback-rate",s.e = function () {
22958        var a = t.O.prototype.e.call(this);
22959        return this.Oc = t.e("div", {className: "vjs-playback-rate-value", innerHTML: 1}), a.appendChild(this.Oc), a
22960    },s.La = function () {
22961        var a = new t.qa(this.k()), c = this.k().options().playbackRates;
22962        if (c) for (var d = c.length - 1; d >= 0; d--) a.aa(new t.Ab(this.k(), {rate: c[d] + "x"}));
22963        return a
22964    },s.Ea = function () {
22965        this.m().setAttribute("aria-valuenow", this.k().playbackRate())
22966    },s.u = function () {
22967        for (var a = this.k().playbackRate(), c = this.k().options().playbackRates, d = c[0], e = 0; e < c.length; e++) if (c[e] > a) {
22968            d = c[e];
22969            break
22970        }
22971        this.k().playbackRate(d)
22972    },s.pd = function () {
22973        na(this) ? this.r("vjs-hidden") : this.p("vjs-hidden")
22974    },s.od = function () {
22975        na(this) && (this.Oc.innerHTML = this.k().playbackRate() + "x")
22976    },t.Ab = t.M.extend({
22977        zc: "button", l: function (a, c) {
22978            var d = this.label = c.rate, e = this.Wc = parseFloat(d, 10);
22979            c.label = d, c.selected = 1 === e, t.M.call(this, a, c), this.b(a, "ratechange", this.update)
22980        }
22981    }),t.Ab.prototype.u = function () {
22982        t.M.prototype.u.call(this), this.k().playbackRate(this.Wc)
22983    },t.Ab.prototype.update = function () {
22984        this.selected(this.k().playbackRate() == this.Wc)
22985    },t.mc = t.w.extend({
22986        l: function (a, c) {
22987            t.w.call(this, a, c), this.update(), a.b("posterchange", t.bind(this, this.update))
22988        }
22989    }),s = t.mc.prototype,s.dispose = function () {
22990        this.k().n("posterchange", this.update), t.w.prototype.dispose.call(this)
22991    },s.e = function () {
22992        var a = t.e("div", {className: "vjs-poster", tabIndex: -1});
22993        return t.td || (this.Mb = t.e("img"), a.appendChild(this.Mb)), a
22994    },s.update = function () {
22995        var a = this.k().poster();
22996        this.na(a), a ? this.show() : this.W()
22997    },s.na = function (a) {
22998        var c;
22999        this.Mb ? this.Mb.src = a : (c = "", a && (c = 'url("' + a + '")'), this.c.style.backgroundImage = c)
23000    },s.u = function () {
23001        this.d.play()
23002    },t.ic = t.a.extend({
23003        l: function (a, c) {
23004            t.a.call(this, a, c)
23005        }
23006    }),t.ic.prototype.e = function () {
23007        return t.a.prototype.e.call(this, "div", {className: "vjs-loading-spinner"})
23008    },t.rb = t.w.extend(),t.rb.prototype.e = function () {
23009        return t.w.prototype.e.call(this, "div", {
23010            className: "vjs-big-play-button",
23011            innerHTML: '<span aria-hidden="true"></span>',
23012            "aria-label": "play video"
23013        })
23014    },t.rb.prototype.u = function () {
23015        this.d.play()
23016    },t.wb = t.a.extend({
23017        l: function (a, c) {
23018            t.a.call(this, a, c), this.update(), this.b(a, "error", this.update)
23019        }
23020    }),t.wb.prototype.e = function () {
23021        var a = t.a.prototype.e.call(this, "div", {className: "vjs-error-display"});
23022        return this.B = t.e("div"), a.appendChild(this.B), a
23023    },t.wb.prototype.update = function () {
23024        this.k().error() && (this.B.innerHTML = this.v(this.k().error().message))
23025    };
23026    var O;
23027    t.j = t.a.extend({
23028        l: function (a, c, d) {
23029            c = c || {}, c.$c = l, t.a.call(this, a, c, d), this.featuresProgressEvents || this.ne(), this.featuresTimeupdateEvents || this.oe(), this.be(), this.featuresNativeTextTracks || this.Sd(), this.de()
23030        }
23031    }), s = t.j.prototype, s.be = function () {
23032        var a, c;
23033        a = this.k(), c = function () {
23034            a.controls() && !a.usingNativeControls() && this.Fd()
23035        }, this.I(c), this.b(a, "controlsenabled", c), this.b(a, "controlsdisabled", this.De), this.I(function () {
23036            this.networkState && 0 < this.networkState() && this.k().o("loadstart")
23037        })
23038    }, s.Fd = function () {
23039        var a;
23040        this.b("mousedown", this.u), this.b("touchstart", function () {
23041            a = this.d.userActive()
23042        }), this.b("touchmove", function () {
23043            a && this.k().reportUserActivity()
23044        }), this.b("touchend", function (a) {
23045            a.preventDefault()
23046        }), da(this), this.b("tap", this.xe)
23047    }, s.De = function () {
23048        this.n("tap"), this.n("touchstart"), this.n("touchmove"), this.n("touchleave"), this.n("touchcancel"), this.n("touchend"), this.n("click"), this.n("mousedown")
23049    }, s.u = function (a) {
23050        0 === a.button && this.k().controls() && (this.k().paused() ? this.k().play() : this.k().pause())
23051    }, s.xe = function () {
23052        this.k().userActive(!this.k().userActive())
23053    }, s.ne = function () {
23054        this.Qc = f, this.We()
23055    }, s.me = function () {
23056        this.Qc = l, this.hd()
23057    }, s.We = function () {
23058        this.Ce = this.setInterval(function () {
23059            var a = this.k().bufferedPercent();
23060            this.Jd != a && this.k().o("progress"), this.Jd = a, 1 === a && this.hd()
23061        }, 500)
23062    }, s.hd = function () {
23063        this.clearInterval(this.Ce)
23064    }, s.oe = function () {
23065        var a = this.d;
23066        this.Vb = f, this.b(a, "play", this.md), this.b(a, "pause", this.qb), this.N("timeupdate", function () {
23067            this.featuresTimeupdateEvents = f, this.Rc()
23068        })
23069    }, s.Rc = function () {
23070        var a = this.d;
23071        this.Vb = l, this.qb(), this.n(a, "play", this.md), this.n(a, "pause", this.qb)
23072    }, s.md = function () {
23073        this.Bc && this.qb(), this.Bc = this.setInterval(function () {
23074            this.k().o("timeupdate")
23075        }, 250)
23076    }, s.qb = function () {
23077        this.clearInterval(this.Bc), this.k().o("timeupdate")
23078    }, s.dispose = function () {
23079        this.Qc && this.me(), this.Vb && this.Rc(), t.a.prototype.dispose.call(this)
23080    }, s.Zb = function () {
23081        this.Vb && this.k().o("timeupdate")
23082    }, s.de = function () {
23083        function a() {
23084            var a = c.da("textTrackDisplay");
23085            a && a.C()
23086        }
23087
23088        var d, c = this.d;
23089        (d = this.textTracks()) && (d.addEventListener("removetrack", a), d.addEventListener("addtrack", a), this.b("dispose", t.bind(this, function () {
23090            d.removeEventListener("removetrack", a), d.removeEventListener("addtrack", a)
23091        })))
23092    }, s.Sd = function () {
23093        var c, d, e, a = this.d;
23094        window.WebVTT || (e = document.createElement("script"), e.src = a.options()["vtt.js"] || "../node_modules/vtt.js/dist/vtt.js", a.m().appendChild(e), window.WebVTT = f), (d = this.textTracks()) && (c = function () {
23095            var c, d, e;
23096            for (e = a.da("textTrackDisplay"), e.C(), c = 0; c < this.length; c++) d = this[c], d.removeEventListener("cuechange", t.bind(e, e.C)), "showing" === d.mode && d.addEventListener("cuechange", t.bind(e, e.C))
23097        }, d.addEventListener("change", c), this.b("dispose", t.bind(this, function () {
23098            d.removeEventListener("change", c)
23099        })))
23100    }, s.textTracks = function () {
23101        return this.d.ld = this.d.ld || new t.F, this.d.ld
23102    }, s.X = function () {
23103        return this.d.Xc = this.d.Xc || new t.F, this.d.Xc
23104    }, O = function (a, c, d, e, g) {
23105        var h = a.textTracks();
23106        return g = g || {}, g.kind = c, d && (g.label = d), e && (g.language = e), g.player = a.d, a = new t.t(g), P(h, a), a
23107    }, t.j.prototype.addTextTrack = function (a, c, d) {
23108        if (!a) throw Error("TextTrack kind is required but was not provided");
23109        return O(this, a, c, d)
23110    }, t.j.prototype.ha = function (a) {
23111        return a = O(this, a.kind, a.label, a.language, a), P(this.X(), a), {Y: a}
23112    }, t.j.prototype.Da = function (a) {
23113        Q(this.textTracks(), a), Q(this.X(), a)
23114    }, t.j.prototype.bd = m(), t.j.prototype.featuresVolumeControl = f, t.j.prototype.featuresFullscreenResize = l, t.j.prototype.featuresPlaybackRate = l, t.j.prototype.featuresProgressEvents = l, t.j.prototype.featuresTimeupdateEvents = l, t.j.prototype.featuresNativeTextTracks = l, t.j.dc = function (a) {
23115        a.registerSourceHandler = function (c, d) {
23116            var e = a.cd;
23117            e || (e = a.cd = []), d === b && (d = e.length), e.splice(d, 0, c)
23118        }, a.ob = function (c) {
23119            for (var e, d = a.cd || [], g = 0; g < d.length; g++) if (e = d[g].canHandleSource(c)) return d[g];
23120            return j
23121        }, a.wc = function (c) {
23122            var d = a.ob(c);
23123            return d ? d.canHandleSource(c) : ""
23124        }, a.prototype.ma = function (c) {
23125            var d = a.ob(c);
23126            return d || (a.nativeSourceHandler ? d = a.nativeSourceHandler : t.log.error("No source hander found for the current source.")), this.ia(), this.n("dispose", this.ia), this.fb = c, this.$b = d.handleSource(c, this), this.b("dispose", this.ia), this
23127        }, a.prototype.ia = function () {
23128            this.$b && this.$b.dispose && this.$b.dispose()
23129        }
23130    }, t.media = {}, t.f = t.j.extend({
23131        l: function (a, c, d) {
23132            var e, g, h;
23133            for ((c.nativeCaptions === l || c.nativeTextTracks === l) && (this.featuresNativeTextTracks = l), t.j.call(this, a, c, d), d = t.f.xb.length - 1; d >= 0; d--) this.b(t.f.xb[d], this.Td);
23134            if ((c = c.source) && (this.c.currentSrc !== c.src || a.L && 3 === a.L.ce) && this.ma(c), this.c.hasChildNodes()) {
23135                for (d = this.c.childNodes, e = d.length, c = []; e--;) g = d[e], h = g.nodeName.toLowerCase(), "track" === h && (this.featuresNativeTextTracks ? P(this.
23135X(), g.track) : c.push(g));
23136                for (d = 0; d < c.length; d++) this.c.removeChild(c[d])
23137            }
23138            if (t.Db && a.options().nativeControlsForTouch === f) {
23139                var k, q, r, u;
23140                k = this, q = this.k(), c = q.controls(), k.c.controls = !!c, r = function () {
23141                    k.c.controls = f
23142                }, u = function () {
23143                    k.c.controls = l
23144                }, q.b("controlsenabled", r), q.b("controlsdisabled", u), c = function () {
23145                    q.n("controlsenabled", r), q.n("controlsdisabled", u)
23146                }, k.b("dispose", c), q.b("usingcustomcontrols", c), q.usingNativeControls(f)
23147            }
23148            a.I(function () {
23149                this.src() && this.L && this.q.autoplay && this.paused() && (delete this.L.poster, this.play())
23150            }), this.Va()
23151        }
23152    }), s = t.f.prototype, s.dispose = function () {
23153        t.f.Kb(this.c), t.j.prototype.dispose.call(this)
23154    }, s.e = function () {
23155        var c, d, e, a = this.d, g = a.L;
23156        if (!g || this.movingMediaElementInDOM === l) {
23157            if (g ? (e = g.cloneNode(l), t.f.Kb(g), g = e, a.L = j) : (g = t.e("video"), e = videojs.Z.Aa({}, a.Te), (!t.Db || a.options().nativeControlsForTouch !== f) && delete e.controls, t.ad(g, t.i.D(e, {
23158                id: a.id() + "_html5_api",
23159                "class": "vjs-tech"
23160            }))), g.player = a, a.q.nd) for (e = 0; e < a.q.nd.length; e++) c = a.q.nd[e], d = document.createElement("track"), d.Tb = c.Tb, d.label = c.label, d.ed = c.ed, d.src = c.src, "default" in c && d.setAttribute("default", "default"), g.appendChild(d);
23161            t.Rb(g, a.m())
23162        }
23163        for (c = ["autoplay", "preload", "loop", "muted"], e = c.length - 1; e >= 0; e--) {
23164            d = c[e];
23165            var h = {};
23166            "undefined" != typeof a.q[d] && (h[d] = a.q[d]), t.ad(g, h)
23167        }
23168        return g
23169    }, s.Td = function (a) {
23170        "error" == a.type && this.error() ? this.k().error(this.error().code) : (a.bubbles = l, this.k().o(a))
23171    }, s.play = function () {
23172        this.c.play()
23173    }, s.pause = function () {
23174        this.c.pause()
23175    }, s.paused = function () {
23176        return this.c.paused
23177    }, s.currentTime = function () {
23178        return this.c.currentTime
23179    }, s.Zb = function (a) {
23180        try {
23181            this.c.currentTime = a
23182        } catch (c) {
23183            t.log(c, "Video is not ready. (Video.js)")
23184        }
23185    }, s.duration = function () {
23186        return this.c.duration || 0
23187    }, s.buffered = function () {
23188        return this.c.buffered
23189    }, s.volume = function () {
23190        return this.c.volume
23191    }, s.Oe = function (a) {
23192        this.c.volume = a
23193    }, s.muted = function () {
23194        return this.c.muted
23195    }, s.Ke = function (a) {
23196        this.c.muted = a
23197    }, s.width = function () {
23198        return this.c.offsetWidth
23199    }, s.height = function () {
23200        return this.c.offsetHeight
23201    }, s.Sa = function () {
23202        return "function" != typeof this.c.webkitEnterFullScreen || !/Android/.test(t.P) && /Chrome|Mac OS X 10.5/.test(t.P) ? l : f
23203    }, s.Ec = function () {
23204        var a = this.c;
23205        "webkitDisplayingFullscreen" in a && this.N("webkitbeginfullscreen", function () {
23206            this.d.isFullscreen(f), this.N("webkitendfullscreen", function () {
23207                this.d.isFullscreen(l), this.d.o("fullscreenchange")
23208            }), this.d.o("fullscreenchange")
23209        }), a.paused && a.networkState <= a.ef ? (this.c.play(), this.setTimeout(function () {
23210            a.pause(), a.webkitEnterFullScreen()
23211        }, 0)) : a.webkitEnterFullScreen()
23212    }, s.Ud = function () {
23213        this.c.webkitExitFullScreen()
23214    }, s.src = function (a) {
23215        var c = this.c.src;
23216        return a === b ? oa(c, this.dd) : void this.na(a)
23217    }, s.na = function (a) {
23218        this.c.src = a
23219    }, s.load = function () {
23220        this.c.load()
23221    }, s.currentSrc = function () {
23222        var a = this.c.currentSrc;
23223        return this.fb ? oa(a, this.fb.src) : a
23224    }, s.poster = function () {
23225        return this.c.poster
23226    }, s.bd = function (a) {
23227        this.c.poster = a
23228    }, s.Ra = function () {
23229        return this.c.Ra
23230    }, s.Me = function (a) {
23231        this.c.Ra = a
23232    }, s.autoplay = function () {
23233        return this.c.autoplay
23234    }, s.He = function (a) {
23235        this.c.autoplay = a
23236    }, s.controls = function () {
23237        return this.c.controls
23238    }, s.loop = function () {
23239        return this.c.loop
23240    }, s.Je = function (a) {
23241        this.c.loop = a
23242    }, s.error = function () {
23243        return this.c.error
23244    }, s.seeking = function () {
23245        return this.c.seeking
23246    }, s.seekable = function () {
23247        return this.c.seekable
23248    }, s.ended = function () {
23249        return this.c.ended
23250    }, s.playbackRate = function () {
23251        return this.c.playbackRate
23252    }, s.Le = function (a) {
23253        this.c.playbackRate = a
23254    }, s.networkState = function () {
23255        return this.c.networkState
23256    }, s.readyState = function () {
23257        return this.c.readyState
23258    }, s.textTracks = function () {
23259        return this.featuresNativeTextTracks ? this.c.textTracks : t.j.prototype.textTracks.call(this)
23260    }, s.addTextTrack = function (a, c, d) {
23261        return this.featuresNativeTextTracks ? this.c.addTextTrack(a, c, d) : t.j.prototype.addTextTrack.call(this, a, c, d)
23262    }, s.ha = function (a) {
23263        if (!this.featuresNativeTextTracks) return t.j.prototype.ha.call(this, a);
23264        var c = document.createElement("track");
23265        return a = a || {}, a.kind && (c.kind = a.kind), a.label && (c.label = a.label), (a.language || a.srclang) && (c.srclang = a.language || a.srclang), a["default"] && (c["default"] = a["default"]), a.id && (c.id = a.id), a.src && (c.src = a.src), this.m().appendChild(c), P(this.
23265X(), c.Y), c
23266    }, s.Da = function (a) {
23267        if (!this.featuresNativeTextTracks) return t.j.prototype.Da.call(this, a);
23268        var c, d;
23269        for (Q(this.X(), a), c = this.m().querySelectorAll("track"), d = 0; d < c.length; d++) if (c[d] === a || c[d].track === a) {
23270            c[d].parentNode.removeChild(c[d]);
23271            break
23272        }
23273    }, t.f.isSupported = function () {
23274        try {
23275            t.A.volume = .5
23276        } catch (a) {
23277            return l
23278        }
23279        return !!t.A.canPlayType
23280    }, t.j.dc(t.f);
23281    var pa = t.f.prototype.ma, qa = t.f.prototype.ia;
23282    t.f.prototype.ma = function (a) {
23283        var c = pa.call(this, a);
23284        return this.dd = a.src, c
23285    }, t.f.prototype.ia = function () {
23286        return this.dd = b, qa.call(this)
23287    }, t.f.nativeSourceHandler = {}, t.f.nativeSourceHandler.canHandleSource = function (a) {
23288        function c(a) {
23289            try {
23290                return t.A.canPlayType(a)
23291            } catch (c) {
23292                return ""
23293            }
23294        }
23295
23296        return a.type ? c(a.type) : a.src ? (a = (a = a.src.match(/\.([^.\/\?]+)(\?[^\/]+)?$/i)) && a[1], c("video/" + a)) : ""
23297    }, t.f.nativeSourceHandler.handleSource = function (a, c) {
23298        c.na(a.src)
23299    }, t.f.nativeSourceHandler.dispose = m(), t.f.registerSourceHandler(t.f.nativeSourceHandler), t.f.Ld = function () {
23300        var a = t.A.volume;
23301        return t.A.volume = a / 2 + .1, a !== t.A.volume
23302    }, t.f.Kd = function () {
23303        var a = t.A.playbackRate;
23304        return t.A.playbackRate = a / 2 + .1, a !== t.A.playbackRate
23305    }, t.f.Re = function () {
23306        var a;
23307        return (a = !!t.A.textTracks) && 0 < t.A.textTracks.length && (a = "number" != typeof t.A.textTracks[0].mode), a && t.gc && (a = l), a
23308    }, t.f.prototype.featuresVolumeControl = t.f.Ld(), t.f.prototype.featuresPlaybackRate = t.f.Kd(), t.f.prototype.movingMediaElementInDOM = !t.xd, t.f.prototype.featuresFullscreenResize = f, t.f.prototype.featuresProgressEvents = f, t.f.prototype.featuresNativeTextTracks = t.f.Re();
23309    var S, ra = /^application\/(?:x-|vnd\.apple\.)mpegurl/i, sa = /^video\/mp4/i;
23310    t.f.Tc = function () {
23311        4 <= t.ec && (S || (S = t.A.constructor.prototype.canPlayType), t.A.constructor.prototype.canPlayType = function (a) {
23312            return a && ra.test(a) ? "maybe" : S.call(this, a)
23313        }), t.Bd && (S || (S = t.A.constructor.prototype.canPlayType), t.A.constructor.prototype.canPlayType = function (a) {
23314            return a && sa.test(a) ? "maybe" : S.call(this, a)
23315        })
23316    }, t.f.Ye = function () {
23317        var a = t.A.constructor.prototype.canPlayType;
23318        return t.A.constructor.prototype.canPlayType = S, S = j, a
23319    }, t.f.Tc(), t.f.xb = "loadstart suspend abort error emptied stalled loadedmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate progress play pause ratechange volumechange".split(" "), t.f.Kb = function (a) {
23320        if (a) {
23321            for (a.player = j, a.parentNode && a.parentNode.removeChild(a); a.hasChildNodes();) a.removeChild(a.firstChild);
23322            if (a.removeAttribute("src"), "function" == typeof a.load) try {
23323                a.load()
23324            } catch (c) {
23325            }
23326        }
23327    }, t.g = t.j.extend({
23328        l: function (a, c, d) {
23329            t.j.call(this, a, c, d);
23330            var e = c.source;
23331            d = a.id() + "_flash_api";
23332            var g = a.q, g = t.i.D({
23333                readyFunction: "videojs.Flash.onReady",
23334                eventProxyFunction: "videojs.Flash.onEvent",
23335                errorEventProxyFunction: "videojs.Flash.onError",
23336                autoplay: g.autoplay,
23337                preload: g.Ra,
23338                loop: g.loop,
23339                muted: g.muted
23340            }, c.flashVars), h = t.i.D({wmode: "opaque", bgcolor: "#000000"}, c.params);
23341            d = t.i.D({id: d, name: d, "class": "vjs-tech"}, c.attributes), e && this.I(function () {
23342                this.ma(e)
23343            }), t.Rb(this.c, c.parentEl), c.startTime && this.I(function () {
23344                this.load(), this.play(), this.currentTime(c.startTime)
23345            }), t.gc && this.I(function () {
23346                this.b("mousemove", function () {
23347                    this.k().o({type: "mousemove", bubbles: l})
23348                })
23349            }), a.b("stageclick", a.reportUserActivity), this.c = t.g.Dc(c.swf, this.c, g, h, d)
23350        }
23351    }), s = t.g.prototype, s.dispose = function () {
23352        t.j.prototype.dispose.call(this)
23353    }, s.play = function () {
23354        this.ended() && this.setCurrentTime(0), this.c.vjs_play()
23355    }, s.pause = function () {
23356        this.c.vjs_pause()
23357    }, s.src = function (a) {
23358        return a === b ? this.currentSrc() : this.na(a)
23359    }, s.na = function (a) {
23360        if (a = t.Xd(a), this.c.vjs_src(a), this.d.autoplay()) {
23361            var c = this;
23362            this.setTimeout(function () {
23363                c.play()
23364            }, 0)
23365        }
23366    }, t.g.prototype.setCurrentTime = function (a) {
23367        this.ke = a, this.c.vjs_setProperty("currentTime", a), t.j.prototype.Zb.call(this)
23368    }, t.g.prototype.currentTime = function () {
23369        return this.seeking() ? this.ke || 0 : this.c.vjs_getProperty("currentTime")
23370    }, t.g.prototype.currentSrc = function () {
23371        return this.fb ? this.fb.src : this.c.vjs_getProperty("currentSrc")
23372    }, t.g.prototype.load = function () {
23373        this.c.vjs_load()
23374    }, t.g.prototype.poster = function () {
23375        this.c.vjs_getProperty("poster")
23376    }, t.g.prototype.setPoster = m(), s = t.g.prototype, s.seekable = function () {
23377        return 0 === this.duration() ? t.xa() : t.xa(0, this.duration())
23378    }, s.buffered = function () {
23379        return this.c.vjs_getProperty ? t.xa(0, this.c.vjs_getProperty("buffered")) : t.xa()
23380    }, s.duration = function () {
23381        return this.c.vjs_getProperty ? this.c.vjs_getProperty("duration") : 0
23382    }, s.Sa = p(l), s.Ec = p(l);
23383    var ua = t.g.prototype,
23384        T = "rtmpConnection rtmpStream preload defaultPlaybackRate playbackRate autoplay loop mediaGroup controller controls volume muted defaultMuted".split(" "),
23385        wa = "error networkState readyState seeking initialTime startOffsetTime paused played ended videoTracks audioTracks videoWidth videoHeight".split(" "),
23386        U;
23387    for (U = 0; U < T.length; U++) va(T[U]), ta();
23388    for (U = 0; U < wa.length; U++) va(wa[U]);
23389    t.g.isSupported = function () {
23390        return 10 <= t.g.version()[0]
23391    }, t.j.dc(t.g), t.g.nativeSourceHandler = {}, t.g.nativeSourceHandler.canHandleSource = function (a) {
23392        return a.type && a.type.replace(/;.*/, "").toLowerCase() in t.g.Wd ? "maybe" : ""
23393    }, t.g.nativeSourceHandler.handleSource = function (a, c) {
23394        c.na(a.src)
23395    }, t.g.nativeSourceHandler.dispose = m(), t.g.registerSourceHandler(t.g.nativeSourceHandler), t.g.Wd = {
23396        "video/flv": "FLV",
23397        "video/x-flv": "FLV",
23398        "video/mp4": "MP4",
23399        "video/m4v": "MP4"
23400    }, t.g.onReady = function (a) {
23401        var c;
23402        (c = (a = t.m(a)) && a.parentNode && a.parentNode.player) && (a.player = c, t.g.checkReady(c.h))
23403    }, t.g.checkReady = function (a) {
23404        a.m() && (a.m().vjs_getProperty ? a.Va() : this.setTimeout(function () {
23405            t.g.checkReady(a)
23406        }, 50))
23407    }, t.g.onEvent = function (a, c) {
23408        t.m(a).player.o(c)
23409    }, t.g.onError = function (a, c) {
23410        var d = t.m(a).player, e = "FLASH: " + c;
23411        "srcnotfound" == c ? d.error({code: 4, message: e}) : d.error(e)
23412    }, t.g.version = function () {
23413        var a = "0,0,0";
23414        try {
23415            a = new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g, ",").match(/^,?(.+),?$/)[1]
23416        } catch (c) {
23417            try {
23418                navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin && (a = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1])
23419            } catch (d) {
23420            }
23421        }
23422        return a.split(",")
23423    }, t.g.Dc = function (a, c, d, e, g) {
23424        a = t.g.$d(a, d, e, g), a = t.e("div", {innerHTML: a}).childNodes[0], d = c.parentNode, c.parentNode.replaceChild(a, c), a[t.expando] = c[t.expando];
23425        var h = d.childNodes[0];
23426        return setTimeout(function () {
23427            h.style.display = "block"
23428        }, 1e3), a
23429    }, t.g.$d = function (a, c, d, e) {
23430        var g = "", h = "", k = "";
23431        return c && t.i.ca(c, function (a, c) {
23432            g += a + "=" + c + "&amp;"
23433        }), d = t.i.D({
23434            movie: a,
23435            flashvars: g,
23436            allowScriptAccess: "always",
23437            allowNetworking: "all"
23438        }, d), t.i.ca(d, function (a, c) {
23439            h += '<param name="' + a + '" value="' + c + '" />'
23440        }), e = t.i.D({data: a, width: "100%", height: "100%"}, e), t.i.ca(e, function (a, c) {
23441            k += a + '="' + c + '" '
23442        }), '<object type="application/x-shockwave-flash" ' + k + ">
23442" + h + "</object>"
23443    }, t.g.Qe = {"rtmp/mp4": "MP4", "rtmp/flv": "FLV"}, t.g.Df = function (a, c) {
23444        return a + "&" + c
23445    }, t.g.Pe = function (a) {
23446        var c = {yc: "", jd: ""};
23447        if (!a) return c;
23448        var e, d = a.indexOf("&");
23449        return -1 !== d ? e = d + 1 : (d = e = a.lastIndexOf("/") + 1, 0 === d && (d = e = a.length)), c.yc = a.substring(0, d), c.jd = a.substring(e, a.length), c
23450    }, t.g.ie = function (a) {
23451        return a in t.g.Qe
23452    }, t.g.Dd = /^rtmp[set]?:\/\//i, t.g.he = function (a) {
23453        return t.g.Dd.test(a)
23454    }, t.g.Yb = {}, t.g.Yb.canHandleSource = function (a) {
23455        return t.g.ie(a.type) || t.g.he(a.src) ? "maybe" : ""
23456    }, t.g.Yb.handleSource = function (a, c) {
23457        var d = t.g.Pe(a.src);
23458        c.setRtmpConnection(d.yc), c.setRtmpStream(d.jd)
23459    }, t.g.registerSourceHandler(t.g.Yb), t.Cd = t.a.extend({
23460        l: function (a, c, d) {
23461            if (t.a.call(this, a, c, d), a.q.sources && 0 !== a.q.sources.length) a.src(a.q.sources); else for (c = 0, d = a.q.techOrder; c < d.length; c++) {
23462                var e = t.va(d[c]), g = window.videojs[e];
23463                if (g && g.isSupported()) {
23464                    ka(a, e);
23465                    break
23466                }
23467            }
23468        }
23469    }), t.oc = {disabled: "disabled", hidden: "hidden", showing: "showing"}, t.Ed = {
23470        subtitles: "subtitles",
23471        captions: "captions",
23472        descriptions: "descriptions",
23473        chapters: "chapters",
23474        metadata: "metadata"
23475    }, t.t = function (a) {
23476        var c, d, e, g, h, k, q, r, u, A, R;
23477        if (a = a || {}, !a.player) throw Error("A player was not provided.");
23478        if (c = this, t.pa) for (R in c = document.createElement("custom"), t.t.prototype) c[R] = t.t.prototype[R];
23479        return c.d = a.player, e = t.oc[a.mode] || "disabled", g = t.Ed[a.kind] || "subtitles", h = a.label || "", k = a.language || a.srclang || "", d = a.id || "vjs_text_track_" + t.s++, ("metadata" === g || "chapters" === g) && (e = "hidden"), c.V = [], c.Ia = [], q = new t.U(c.V), r = new t.U(c.Ia), A = l, u = t.bind(c, function () {
23480            this.activeCues, A && (this.trigger("cuechange"), A = l)
23481        }), "disabled" !== e && c.d.b("timeupdate", u), Object.defineProperty(c, "kind", {
23482            get: function () {
23483                return g
23484            }, set: Function.prototype
23485        }), Object.defineProperty(c, "label", {
23486            get: function () {
23487                return h
23488            }, set: Function.prototype
23489        }), Object.defineProperty(c, "language", {
23490            get: function () {
23491                return k
23492            }, set: Function.prototype
23493        }), Object.defineProperty(c, "id", {
23494            get: function () {
23495                return d
23496            }, set: Function.prototype
23497        }), Object.defineProperty(c, "mode", {
23498            get: function () {
23499                return e
23500            }, set: function (a) {
23501                t.oc[a] && (e = a, "showing" === e && this.d.b("timeupdate", u), this.o("modechange"))
23502            }
23503        }), Object.defineProperty(c, "cues", {
23504            get: function () {
23505                return this.Ub ? q : j
23506            }, set: Function.prototype
23507        }), Object.defineProperty(c, "activeCues", {
23508            get: function () {
23509                var a, c, d, e, g;
23510                if (!this.Ub) return j;
23511                if (0 === this.cues.length) return r;
23512                for (e = this.d.currentTime(), a = 0, c = this.cues.length, d = []; c > a; a++) g = this.cues[a], g.startTime <= e && g.endTime >= e ? d.push(g) : g.startTime === g.endTime && g.startTime <= e && g.startTime + .5 >= e && d.push(g);
23513                if (A = l, d.length !== this.Ia.length) A = f; else for (a = 0; a < d.length; a++) -1 === xa.call(this.Ia, d[a]) && (A = f);
23514                return this.Ia = d, r.pb(this.Ia), r
23515            }, set: Function.prototype
23516        }), a.src ? ya(a.src, c) : c.Ub = f, t.pa ? c : void 0
23517    }, t.t.prototype = t.i.create(t.z.prototype), t.t.prototype.constructor = t.t, t.t.prototype.ab = {cuechange: "cuechange"}, t.t.prototype.sc = function (a) {
23518        var c = this.d.textTracks(), d = 0;
23519        if (c) for (; d < c.length; d++) c[d] !== this && c[d].Yc(a);
23520        this.V.push(a), this.cues.pb(this.V)
23521    }, t.t.prototype.Yc = function (a) {
23522        for (var e, c = 0, d = this.V.length, g = l; d > c; c++) e = this.V[c], e === a && (this.V.splice(c, 1), g = f);
23523        g && this.Ac.pb(this.V)
23524    };
23525    var ya, V, xa;
23526    ya = function (a, c) {
23527        t.bf(a, t.bind(this, function (a, e, g) {
23528            return a ? t.log.error(a) : (c.Ub = f, void V(g, c))
23529        }))
23530    }, V = function (a, c) {
23531        if ("function" != typeof window.WebVTT) window.setTimeout(function () {
23532            V(a, c)
23533        }, 25); else {
23534            var d = new window.WebVTT.Parser(window, window.vttjs, window.WebVTT.StringDecoder());
23535            d.oncue = function (a) {
23536                c.sc(a)
23537            }, d.onparsingerror = function (a) {
23538                t.log.error(a)
23539            }, d.parse(a), d.flush()
23540        }
23541    }, xa = function (a, c) {
23542        var d;
23543        if (this == j) throw new TypeError('"this" is null or not defined');
23544        var e = Object(this), g = e.length >>> 0;
23545        if (0 === g) return -1;
23546        if (d = +c || 0, 1 / 0 === Math.abs(d) && (d = 0), d >= g) return -1;
23547        for (d = Math.max(d >= 0 ? d : g - Math.abs(d), 0); g > d;) {
23548            if (d in e && e[d] === a) return d;
23549            d++
23550        }
23551        return -1
23552    }, t.F = function (a) {
23553        var d, c = this, e = 0;
23554        if (t.pa) for (d in c = document.createElement("custom"), t.F.prototype) c[d] = t.F.prototype[d];
23555        for (a = a || [], c.Ua = [], Object.defineProperty(c, "length", {
23556            get: function () {
23557                return this.Ua.length
23558            }
23559        }); e < a.length; e++) P(c, a[e]);
23560        return t.pa ? c : void 0
23561    }, t.F.prototype = t.i.create(t.z.prototype), t.F.prototype.constructor = t.F, t.F.prototype.ab = {
23562        change: "change",
23563        addtrack: "addtrack",
23564        removetrack: "removetrack"
23565    };
23566    for (var za in t.F.prototype.ab) t.F.prototype["on" + za] = j;
23567    t.F.prototype.ae = function (a) {
23568        for (var g, c = 0, d = this.length, e = j; d > c; c++) if (g = this[c], g.id === a) {
23569            e = g;
23570            break
23571        }
23572        return e
23573    }, t.U = function (a) {
23574        var d, c = this;
23575        if (t.pa) for (d in c = document.createElement("custom"), t.U.prototype) c[d] = t.U.prototype[d];
23576        return t.U.prototype.pb.call(c, a), Object.defineProperty(c, "length", {get: n("le")}), t.pa ? c : void 0
23577    }, t.U.prototype.pb = function (a) {
23578        var c = this.length || 0, d = 0, e = a.length;
23579        if (this.V = a, this.le = a.length, a = function (a) {
23580            "" + a in this || Object.defineProperty(this, "" + a, {
23581                get: function () {
23582                    return this.V[a]
23583                }
23584            })
23585        }, e > c) for (d = c; e > d; d++) a.call(this, d)
23586    }, t.U.prototype.Zd = function (a) {
23587        for (var g, c = 0, d = this.length, e = j; d > c; c++) if (g = this[c], g.id === a) {
23588            e = g;
23589            break
23590        }
23591        return e
23592    }, t.sa = t.a.extend({
23593        l: function (a, c, d) {
23594            t.a.call(this, a, c, d), a.b("loadstart", t.bind(this, this.Ve)), a.I(t.bind(this, function () {
23595                if (a.h && a.h.featuresNativeTextTracks) this.W(); else {
23596                    var c, d, h;
23597                    for (a.b("fullscreenchange", t.bind(this, this.C)), d = a.q.tracks || [], c = 0; c < d.length; c++) h = d[c], this.d.ha(h)
23598                }
23599            }))
23600        }
23601    }), t.sa.prototype.Ve = function () {
23602        this.d.h && this.d.h.featuresNativeTextTracks ? this.W() : this.show()
23603    }, t.sa.prototype.e = function () {
23604        return t.a.prototype.e.call(this, "div", {className: "vjs-text-track-display"})
23605    }, t.sa.prototype.Md = function () {
23606        "function" == typeof window.WebVTT && window.WebVTT.processCues(window, [], this.c)
23607    };
23608    var Aa = {
23609        tf: "monospace",
23610        zf: "sans-serif",
23611        Bf: "serif",
23612        uf: '"Andale Mono", "Lucida Console", monospace',
23613        vf: '"Courier New", monospace',
23614        xf: "sans-serif",
23615        yf: "serif",
23616        kf: '"Comic Sans MS", Impact, fantasy',
23617        Af: '"Monotype Corsiva", cursive',
23618        Cf: '"Andale Mono", "Lucida Console", monospace, sans-serif'
23619    };
23620    if (t.sa.prototype.C = function () {
23621        var d, a = this.d.textTracks(), c = 0;
23622        if (this.Md(), a) for (; c < a.length; c++) d = a[c], "showing" === d.mode && this.Ze(d)
23623    }, t.sa.prototype.Ze = function (a) {
23624        if ("function" == typeof window.WebVTT && a.activeCues) {
23625            for (var e, c = 0, d = this.d.textTrackSettings.Hc(), g = []; c < a.activeCues.length; c++) g.push(a.activeCues[c]);
23626            for (window.WebVTT.processCues(window, a.activeCues, this.c), c = g.length; c--;) {
23627                if (a = g[c].lf, d.color && (a.firstChild.style.color = d.color), d.kd) try {
23628                    a.firstChild.style.color = W(d.color || "#fff", d.kd)
23629                } catch (h) {
23630                }
23631                if (d.backgroundColor && (a.firstChild.style.backgroundColor = d.backgroundColor), d.vc) try {
23632                    a.firstChild.style.backgroundColor = W(d.backgroundColor || "#000", d.vc)
23633                } catch (k) {
23634                }
23635                if (d.cc) if (d.rd) try {
23636                    a.style.backgroundColor = W(d.cc, d.rd)
23637                } catch (q) {
23638                } else a.style.backgroundColor = d.cc;
23639                d.Ma && ("dropshadow" === d.Ma ? a.firstChild.style.textShadow = "2px 2px 3px #222, 2px 2px 4px #222, 2px 2px 5px #222" : "raised" === d.Ma ? a.firstChild.style.textShadow = "1px 1px #222, 2px 2px #222, 3px 3px #222" : "depressed" === d.Ma ? a.firstChild.style.textShadow = "1px 1px #ccc, 0 1px #ccc, -1px -1px #222, 0 -1px #222" : "uniform" === d.Ma && (a.firstChild.style.textShadow = "0 0 4px #222, 0 0 4px #222, 0 0 4px #222, 0 0 4px #222")), d.Ob && 1 !== d.Ob && (e = window.wf(a.style.fontSize), a.style.fontSize = e * d.Ob + "px", a.style.height = "auto", a.style.top = "auto", a.style.bottom = "2px"), d.fontFamily && "default" !== d.fontFamily && ("small-caps" === d.fontFamily ? a.firstChild.style.fontVariant = "small-caps" : a.firstChild.style.fontFamily = Aa[d.fontFamily])
23640            }
23641        }
23642    }, t.$ = t.M.extend({
23643        l: function (a, c) {
23644            var g, h, d = this.Y = c.track, e = a.textTracks();
23645            e && (g = t.bind(this, function () {
23646                var c, d, g, a = "showing" === this.Y.mode;
23647                if (this instanceof t.zb) for (a = f, d = 0, g = e.length; g > d; d++) if (c = e[d], c.kind === this.Y.kind && "showing" === c.mode) {
23648                    a = l;
23649                    break
23650                }
23651                this.selected(a)
23652            }), e.addEventListener("change", g), a.b("dispose", function () {
23653                e.removeEventListener("change", g)
23654            })), c.label = d.label || d.language || "Unknown", c.selected = d["default"] || "showing" === d.mode, t.M.call(this, a, c), e && e.onchange === b && this.b(["tap", "click"], function () {
23655                if ("object" != typeof window.vd) try {
23656                    h = new window.vd("change")
23657                } catch (a) {
23658                }
23659                h || (h = document.createEvent("Event"), h.initEvent("change", f, f)), e.dispatchEvent(h)
23660            })
23661        }
23662    }), t.$.prototype.u = function () {
23663        var d, a = this.Y.kind, c = this.d.textTracks(), e = 0;
23664        if (t.M.prototype.u.call(this), c) for (; e < c.length; e++) d = c[e], d.kind === a && (d.mode = d === this.Y ? "showing" : "disabled")
23665    }, t.zb = t.$.extend({
23666        l: function (a, c) {
23667            c.track = {
23668                kind: c.kind,
23669                player: a,
23670                label: c.kind + " off",
23671                "default": l,
23672                mode: "disabled"
23673            }, t.$.call(this, a, c), this.selected(f)
23674        }
23675    }), t.sb = t.$.extend({
23676        l: function (a, c) {
23677            c.track = {
23678                kind: c.kind,
23679                player: a,
23680                label: c.kind + " settings",
23681                "default": l,
23682                mode: "disabled"
23683            }, t.$.call(this, a, c), this.p("vjs-texttrack-settings")
23684        }
23685    }), t.sb.prototype.u = function () {
23686        this.k().da("textTrackSettings").show()
23687    }, t.Q = t.O.extend({
23688        l: function (a, c) {
23689            var d, e;
23690            t.O.call(this, a, c), d = this.d.textTracks(), 1 >= this.H.length && this.W(), d && (e = t.bind(this, this.update), d.addEventListener("removetrack", e), d.addEventListener("addtrack", e), this.d.b("dispose", function () {
23691                d.removeEventListener("removetrack", e), d.removeEventListener("addtrack", e)
23692            }))
23693        }
23694    }), t.Q.prototype.Ka = function () {
23695        var c, d, a = [];
23696        if (this instanceof t.oa && (!this.k().h || !this.k().h.featuresNativeTextTracks) && a.push(new t.sb(this.d, {kind: this.ea})), a.push(new t.zb(this.d, {kind: this.ea})), d = this.d.textTracks(), !d) return a;
23697        for (var e = 0; e < d.length; e++) c = d[e], c.kind === this.ea && a.push(new t.$(this.d, {track: c}));
23698        return a
23699    }, t.oa = t.Q.extend({
23700        l: function (a, c, d) {
23701            t.Q.call(this, a, c, d), this.c.setAttribute("aria-label", "Captions Menu")
23702        }
23703    }), t.oa.prototype.ea = "captions", t.oa.prototype.ta = "Captions", t.oa.prototype.className = "vjs-captions-button", t.oa.prototype.update = function () {
23704        var a = 2;
23705        t.Q.prototype.update.call(this), this.k().h && this.k().h.featuresNativeTextTracks && (a = 1), this.H && this.H.length > a ? this.show() : this.W()
23706    }, t.$a = t.Q.extend({
23707        l: function (a, c, d) {
23708            t.Q.call(this, a, c, d), this.c.setAttribute("aria-label", "Subtitles Menu")
23709        }
23710    }
23710), t.$a.prototype.ea = "subtitles", t.$a.prototype.ta = "Subtitles", t.$a.prototype.className = "vjs-subtitles-button", t.Wa = t.Q.extend({
23711        l: function (a, c, d) {
23712            t.Q.call(this, a, c, d), this.c.setAttribute("aria-label", "Chapters Menu")
23713        }
23714    }), s = t.Wa.prototype, s.ea = "chapters", s.ta = "Chapters", s.className = "vjs-chapters-button", s.Ka = function () {
23715        var c, d, a = [];
23716        if (d = this.d.textTracks(), !d) return a;
23717        for (var e = 0; e < d.length; e++) c = d[e], c.kind === this.ea && a.push(new t.$(this.d, {track: c}));
23718        return a
23719    }, s.La = function () {
23720        for (var e, g, a = this.d.textTracks() || [], c = 0, d = a.length, h = this.H = []; d > c; c++) if (e = a[c], e.kind == this.ea) {
23721            if (e.Ac) {
23722                g = e;
23723                break
23724            }
23725            e.mode = "hidden", window.setTimeout(t.bind(this, function () {
23726                this.La()
23727            }), 100)
23728        }
23729        if (a = this.za, a === b && (a = new t.qa(this.d), a.wa().appendChild(t.e("li", {
23730            className: "vjs-menu-title",
23731            innerHTML: t.va(this.ea),
23732            Se: -1
23733        }))), g) {
23734            e = g.cues;
23735            for (var k, c = 0, d = e.length; d > c; c++) k = e[c], k = new t.Xa(this.d, {
23736                track: g,
23737                cue: k
23738            }), h.push(k), a.aa(k);
23739            this.aa(a)
23740        }
23741        return 0 < this.H.length && this.show(), a
23742    }, t.Xa = t.M.extend({
23743        l: function (a, c) {
23744            var d = this.Y = c.track, e = this.cue = c.cue, g = a.currentTime();
23745            c.label = e.text, c.selected = e.startTime <= g && g < e.endTime, t.M.call(this, a, c), d.addEventListener("cuechange", t.bind(this, this.update))
23746        }
23747    }), t.Xa.prototype.u = function () {
23748        t.M.prototype.u.call(this), this.d.currentTime(this.cue.startTime), this.update(this.cue.startTime)
23749    }, t.Xa.prototype.update = function () {
23750        var a = this.cue, c = this.d.currentTime();
23751        this.selected(a.startTime <= c && c < a.endTime)
23752    }, t.pc = t.a.extend({
23753        l: function (a, c) {
23754            t.a.call(this, a, c), this.W(), t.b(this.m().querySelector(".vjs-done-button"), "click", t.bind(this, function () {
23755                this.Fe(), this.W()
23756            })), t.b(this.m().querySelector(".vjs-default-button"), "click", t.bind(this, function () {
23757                this.m().querySelector(".vjs-fg-color > select").selectedIndex = 0, this.m().querySelector(".vjs-bg-color > select").selectedIndex = 0, this.m().querySelector(".window-color > select").selectedIndex = 0, this.m().querySelector(".vjs-text-opacity > select").selectedIndex = 0, this.m().querySelector(".vjs-bg-opacity > select").selectedIndex = 0, this.m().querySelector(".vjs-window-opacity > select").selectedIndex = 0, this.m().querySelector(".vjs-edge-style select").selectedIndex = 0, this.m().querySelector(".vjs-font-family select").selectedIndex = 0, this.m().querySelector(".vjs-font-percent select").selectedIndex = 2, this.C()
23758            })), t.b(this.m().querySelector(".vjs-fg-color > select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".vjs-bg-color > select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".window-color > select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".vjs-text-opacity > select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".vjs-bg-opacity > select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".vjs-window-opacity > select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".vjs-font-percent select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".vjs-edge-style select"), "change", t.bind(this, this.C)), t.b(this.m().querySelector(".vjs-font-family select"), "change", t.bind(this, this.C)), a.options().persistTextTrackSettings && this.Ee()
23759        }
23760    }), s = t.pc.prototype, s.e = function () {
23761        return t.a.prototype.e.call(this, "div", {
23762            className: "vjs-caption-settings vjs-modal-overlay",
23763            innerHTML: '<div class="vjs-tracksettings"><div class="vjs-tracksettings-colors"><div class="vjs-fg-color vjs-tracksetting"><label class="vjs-label">Foreground</label><select><option value="">---</option><option value="#FFF">White</option><option value="#000">Black</option><option value="#F00">Red</option><option value="#0F0">Green</option><option value="#00F">Blue</option><option value="#FF0">Yellow</option><option value="#F0F">Magenta</option><option value="#0FF">Cyan</option></select><span class="vjs-text-opacity vjs-opacity"><select><option value="">---</option><option value="1">Opaque</option><option value="0.5">Semi-Opaque</option></select></span></div><div class="vjs-bg-color vjs-tracksetting"><label class="vjs-label">
23763Background</label><select><option value="">---</option><option value="#FFF">White</option><option value="#000">Black</option><option value="#F00">Red</option><option value="#0F0">Green</option><option value="#00F">Blue</option><option value="#FF0">Yellow</option><option value="#F0F">Magenta</option><option value="#0FF">Cyan</option></select><span class="vjs-bg-opacity vjs-opacity"><select><option value="">---</option><option value="1">Opaque</option><option value="0.5">Semi-Transparent</option><option value="0">Transparent</option></select></span></div><div class="window-color vjs-tracksetting"><label class="vjs-label">Window</label><select><option value="">---</option><option value="#FFF">White</option><option value="#000">Black</option><option value="#F00">Red</option><option value="#0F0">Green</option><option value="#00F">Blue</option><option value="#FF0">Yellow</option><option value="#F0F">Magenta</option><option value="#0FF">Cyan</option></select><span class="vjs-window-opacity vjs-opacity"><select><option value="">---</option><option value="1">Opaque</option><option value="0.5">Semi-Transparent</option><option value="0">Transparent</option></select></span></div></div><div class="vjs-tracksettings-font"><div class="vjs-font-percent vjs-tracksetting"><label class="vjs-label">Font Size</label><select><option value="0.50">50%</option><option value="0.75">75%</option><option value="1.00" selected>100%</option><option value="1.25">125%</option><option value="1.50">150%</option><option value="1.75">175%</option><option value="2.00">200%</option><option value="3.00">300%</option><option value="4.00">400%</option></select></div><div class="vjs-edge-style vjs-tracksetting"><label class="vjs-label">Text Edge Style</label><select><option value="none">None</option><option value="raised">Raised</option><option value="depressed">Depressed</option><option value="uniform">Uniform</option><option value="dropshadow">Dropshadow</option></select></div><div class="vjs-font-family vjs-tracksetting"><label class="vjs-label">Font Family</label><select><option value="">Default</option><option value="monospaceSerif">Monospace Serif</option><option value="proportionalSerif">Proportional Serif</option><option value="monospaceSansSerif">Monospace Sans-Serif</option><option value="proportionalSansSerif">Proportional Sans-Serif</option><option value="casual">Casual</option><option value="script">Script</option><option value="small-caps">Small Caps</option></select></div></div></div><div class="vjs-tracksettings-controls"><button class="vjs-default-button">Defaults</button><button class="vjs-done-button">Done</button></div>'
23764        })
23765    }, s.Hc = function () {
23766        var a, c, d, e, g, h, k, q, r, u;
23767        a = this.m(), g = X(a.querySelector(".vjs-edge-style select")), h = X(a.querySelector(".vjs-font-family select")), k = X(a.querySelector(".vjs-fg-color > select")), d = X(a.querySelector(".vjs-text-opacity > select")), q = X(a.querySelector(".vjs-bg-color > select")), c = X(a.querySelector(".vjs-bg-opacity > select")), r = X(a.querySelector(".window-color > select")), e = X(a.querySelector(".vjs-window-opacity > select")), a = window.parseFloat(X(a.querySelector(".vjs-font-percent > select"))), c = {
23768            backgroundOpacity: c,
23769            textOpacity: d,
23770            windowOpacity: e,
23771            edgeStyle: g,
23772            fontFamily: h,
23773            color: k,
23774            backgroundColor: q,
23775            windowColor: r,
23776            fontPercent: a
23777        };
23778        for (u in c) ("" === c[u] || "none" === c[u] || "fontPercent" === u && 1 === c[u]) && delete c[u];
23779        return c
23780    }, s.Ne = function (a) {
23781        var c = this.m();
23782        Y(c.querySelector(".vjs-edge-style select"), a.Ma), Y(c.querySelector(".vjs-font-family select"), a.fontFamily), Y(c.querySelector(".vjs-fg-color > select"), a.color), Y(c.querySelector(".vjs-text-opacity > select"), a.kd), Y(c.querySelector(".vjs-bg-color > select"), a.backgroundColor), Y(c.querySelector(".vjs-bg-opacity > select"), a.vc), Y(c.querySelector(".window-color > select"), a.cc), Y(c.querySelector(".vjs-window-opacity > select"), a.rd), (a = a.Ob) && (a = a.toFixed(2)), Y(c.querySelector(".vjs-font-percent > select"), a)
23783    }, s.Ee = function () {
23784        var a;
23785        try {
23786            a = JSON.parse(window.localStorage.getItem("vjs-text-track-settings"))
23787        } catch (c) {
23788        }
23789        a && this.Ne(a)
23790    }, s.Fe = function () {
23791        var a;
23792        if (this.d.options().persistTextTrackSettings) {
23793            a = this.Hc();
23794            try {
23795                t.hb(a) ? window.localStorage.removeItem("vjs-text-track-settings") : window.localStorage.setItem("vjs-text-track-settings", JSON.stringify(a))
23796            } catch (c) {
23797            }
23798        }
23799    }, s.C = function () {
23800        var a = this.d.da("textTrackDisplay");
23801        a && a.C()
23802    }, "undefined" != typeof window.JSON && "function" == typeof window.JSON.parse) t.JSON = window.JSON; else {
23803        t.JSON = {};
23804        var Z = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
23805        t.JSON.parse = function (a, c) {
23806            function d(a, e) {
23807                var k, q, r = a[e];
23808                if (r && "object" == typeof r) for (k in r) Object.prototype.hasOwnProperty.call(r, k) && (q = d(r, k), q !== b ? r[k] = q : delete r[k]);
23809                return c.call(a, e, r)
23810            }
23811
23812            var e;
23813            if (a = String(a), Z.lastIndex = 0, Z.test(a) && (a = a.replace(Z, function (a) {
23814                return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
23815            })), /^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return e = eval("(" + a + ")"), "function" == typeof c ? d({"": e}, "") : e;
23816            throw new SyntaxError("JSON.parse(): invalid or malformed JSON data")
23817        }
23818    }
23819    t.uc = function () {
23820        var a, c, d, e;
23821        a = document.getElementsByTagName("video"), c = document.getElementsByTagName("audio");
23822        var g = [];
23823        if (a && 0 < a.length) for (d = 0, e = a.length; e > d; d++) g.push(a[d]);
23824        if (c && 0 < c.length) for (d = 0, e = c.length; e > d; d++) g.push(c[d]);
23825        if (g && 0 < g.length) for (d = 0, e = g.length; e > d; d++) {
23826            if (!(c = g[d]) || !c.getAttribute) {
23827                t.Hb();
23828                break
23829            }
23830            c.player === b && (a = c.getAttribute("data-setup"), a !== j && videojs(c))
23831        } else t.qd || t.Hb()
23832    }, t.Hb = function () {
23833        setTimeout(t.uc, 1)
23834    }, "complete" === document.readyState ? t.qd = f : t.N(window, "load", function () {
23835        t.qd = f
23836    }), t.Hb(), t.Be = function (a, c) {
23837        t.Player.prototype[a] = c
23838    };
23839    var Ba = this;
23840    $("videojs", t), $("_V_", t), $("videojs.options", t.options), $("videojs.players", t.Ca), $("videojs.TOUCH_ENABLED", t.Db), $("videojs.cache", t.ua), $("videojs.Component", t.a), t.a.prototype.player = t.a.prototype.k, t.a.prototype.options = t.a.prototype.options, t.a.prototype.init = t.a.prototype.l, t.a.prototype.dispose = t.a.prototype.dispose, t.a.prototype.createEl = t.a.prototype.e, t.a.prototype.contentEl = t.a.prototype.wa, t.a.prototype.el = t.a.prototype.m, t.a.prototype.addChild = t.a.prototype.aa, t.a.prototype.getChild = t.a.prototype.da, t.a.prototype.getChildById = t.a.prototype.Yd, t.a.prototype.children = t.a.prototype.children, t.a.prototype.initChildren = t.a.prototype.Kc, t.a.prototype.removeChild = t.a.prototype.removeChild, t.a.prototype.on = t.a.prototype.b, t.a.prototype.off = t.a.prototype.n, t.a.prototype.one = t.a.prototype.N, t.a.prototype.trigger = t.a.prototype.o, t.a.prototype.triggerReady = t.a.prototype.Va, t.a.prototype.show = t.a.prototype.show, t.a.prototype.hide = t.a.prototype.W, t.a.prototype.width = t.a.prototype.width, t.a.prototype.height = t.a.prototype.height, t.a.prototype.dimensions = t.a.prototype.Qd, t.a.prototype.ready = t.a.prototype.I, t.a.prototype.addClass = t.a.prototype.p, t.a.prototype.removeClass = t.a.prototype.r, t.a.prototype.hasClass = t.a.prototype.Pa, t.a.prototype.buildCSSClass = t.a.prototype.T, t.a.prototype.localize = t.a.prototype.v, t.a.prototype.setInterval = t.a.prototype.setInterval, t.a.prototype.setTimeout = t.a.prototype.setTimeout, $("videojs.EventEmitter", t.z), t.z.prototype.on = t.z.prototype.b, t.z.prototype.addEventListener = t.z.prototype.addEventListener, t.z.prototype.off = t.z.prototype.n, t.z.prototype.removeEventListener = t.z.prototype.removeEventListener, t.z.prototype.one = t.z.prototype.N, t.z.prototype.trigger = t.z.prototype.o, t.z.prototype.dispatchEvent = t.z.prototype.dispatchEvent, t.Player.prototype.ended = t.Player.prototype.ended, t.Player.prototype.enterFullWindow = t.Player.prototype.Fc, t.Player.prototype.exitFullWindow = t.Player.prototype.Lb, t.Player.prototype.preload = t.Player.prototype.Ra, t.Player.prototype.remainingTime = t.Player.prototype.remainingTime, t.Player.prototype.supportsFullScreen = t.Player.prototype.Sa, t.Player.prototype.currentType = t.Player.prototype.Nd, t.Player.prototype.requestFullScreen = t.Player.prototype.requestFullScreen, t.Player.prototype.requestFullscreen = t.Player.prototype.requestFullscreen, t.Player.prototype.cancelFullScreen = t.Player.prototype.cancelFullScreen, t.Player.prototype.exitFullscreen = t.Player.prototype.exitFullscreen, t.Player.prototype.isFullScreen = t.Player.prototype.isFullScreen, t.Player.prototype.isFullscreen = t.Player.prototype.isFullscreen, t.Player.prototype.textTracks = t.Player.prototype.textTracks, t.Player.prototype.remoteTextTracks = t.Player.prototype.X, t.Player.prototype.addTextTrack = t.Player.prototype.addTextTrack, t.Player.prototype.addRemoteTextTrack = t.Player.prototype.ha, t.Player.prototype.removeRemoteTextTrack = t.Player.prototype.Da, t.Player.prototype.seekable = t.Player.prototype.seekable, $("videojs.MediaLoader", t.Cd), $("videojs.TextTrackDisplay", t.sa), $("videojs.ControlBar", t.tb), $("videojs.Button", t.w), $("videojs.PlayToggle", t.kc), $("videojs.FullscreenToggle", t.Ya), $("videojs.BigPlayButton", t.rb), $("videojs.LoadingSpinner", t.ic), $("videojs.CurrentTimeDisplay", t.ub), $("videojs.DurationDisplay", t.vb), $("videojs.TimeDivider", t.qc), $("videojs.RemainingTimeDisplay", t.Cb), $("videojs.LiveDisplay", t.hc), $("videojs.ErrorDisplay", t.wb), $("videojs.Slider", t.S), $("videojs.ProgressControl", t.Bb), $("videojs.SeekBar", t.nc), $("videojs.LoadProgressBar", t.yb), $("videojs.PlayProgressBar", t.jc), $("videojs.SeekHandle", t.Za), $("videojs.VolumeControl", t.Fb), $("videojs.VolumeBar", t.Eb), $("videojs.VolumeLevel", t.rc), $("videojs.VolumeMenuButton", t.Ha), $("videojs.VolumeHandle", t.Gb), $("videojs.MuteToggle", t.ra), $("videojs.PosterImage", t.mc), $("videojs.Menu", t.qa), $("videojs.MenuItem", t.M), $("videojs.MenuButton", t.O), $("videojs.PlaybackRateMenuButton", t.lc), $("videojs.ChaptersTrackMenuItem", t.Xa), $("videojs.TextTrackButton", t.Q), $("videojs.TextTrackMenuItem", t.$), $("videojs.OffTextTrackMenuItem", t.zb), $("videojs.CaptionSettingsMenuItem", t.sb),t.O.prototype.createItems = t.O.prototype.Ka,t.Q.prototype.createItems = t.Q.prototype.Ka,t.Wa.prototype.createItems = t.Wa.prototype.Ka,$("videojs.SubtitlesButton", t.$a),$("videojs.CaptionsButton", t.oa),$("videojs.ChaptersButton", t.Wa),$("videojs.MediaTechController", t.j
vendor: 23,601 bytes, lines 23840-24365
23840),t.j.withSourceHandlers = t.j.dc,t.j.prototype.featuresVolumeControl = t.j.prototype.qf,t.j.prototype.featuresFullscreenResize = t.j.prototype.mf,t.j.prototype.featuresPlaybackRate = t.j.prototype.nf,t.j.prototype.featuresProgressEvents = t.j.prototype.of,t.j.prototype.featuresTimeupdateEvents = t.j.prototype.pf,t.j.prototype.setPoster = t.j.prototype.bd,t.j.prototype.textTracks = t.j.prototype.textTracks,t.j.prototype.remoteTextTracks = t.j.prototype.X,t.j.prototype.addTextTrack = t.j.prototype.addTextTrack,t.j.prototype.addRemoteTextTrack = t.j.prototype.ha,t.j.prototype.removeRemoteTextTrack = t.j.prototype.Da,$("videojs.Html5", t.f),t.f.Events = t.f.xb,t.f.isSupported = t.f.isSupported,t.f.canPlaySource = t.f.wc,t.f.patchCanPlayType = t.f.Tc,t.f.unpatchCanPlayType = t.f.Ye,t.f.prototype.setCurrentTime = t.f.prototype.Zb,t.f.prototype.setVolume = t.f.prototype.Oe,t.f.prototype.setMuted = t.f.prototype.Ke,t.f.prototype.setPreload = t.f.prototype.Me,t.f.prototype.setAutoplay = t.f.prototype.He,t.f.prototype.setLoop = t.f.prototype.Je,t.f.prototype.enterFullScreen = t.f.prototype.Ec,t.f.prototype.exitFullScreen = t.f.prototype.Ud,t.f.prototype.playbackRate = t.f.prototype.playbackRate,t.f.prototype.setPlaybackRate = t.f.prototype.Le,t.f.selectSourceHandler = t.f.ob,t.f.prototype.setSource = t.f.prototype.ma,t.f.prototype.disposeSourceHandler = t.f.prototype.ia,t.f.prototype.textTracks = t.f.prototype.textTracks,t.f.prototype.remoteTextTracks = t.f.prototype.X,t.f.prototype.addTextTrack = t.f.prototype.addTextTrack,t.f.prototype.addRemoteTextTrack = t.f.prototype.ha,t.f.prototype.removeRemoteTextTrack = t.f.prototype.Da,$("videojs.Flash", t.g),t.g.isSupported = t.g.isSupported,t.g.canPlaySource = t.g.wc,t.g.onReady = t.g.onReady,t.g.embed = t.g.Dc,t.g.version = t.g.version,t.g.prototype.setSource = t.g.prototype.ma,t.g.selectSourceHandler = t.g.ob,t.g.prototype.setSource = t.g.prototype.ma,t.g.prototype.disposeSourceHandler = t.g.prototype.ia,$("videojs.TextTrack", t.t),$("videojs.TextTrackList", t.F),$("videojs.TextTrackCueList", t.U),$("videojs.TextTrackSettings", t.pc),t.t.prototype.id = t.t.prototype.id,t.t.prototype.label = t.t.prototype.label,t.t.prototype.kind = t.t.prototype.Tb,t.t.prototype.mode = t.t.prototype.mode,t.t.prototype.cues = t.t.prototype.Ac,t.t.prototype.activeCues = t.t.prototype.jf,t.t.prototype.addCue = t.t.prototype.sc,t.t.prototype.removeCue = t.t.prototype.Yc,t.F.prototype.getTrackById = t.F.prototype.ae,t.U.prototype.getCueById = t.F.prototype.Zd,$("videojs.CaptionsTrack", t.cf),$("videojs.SubtitlesTrack", t.hf),$("videojs.ChaptersTrack", t.df),$("videojs.autoSetup", t.uc),$("videojs.plugin", t.Be),$("videojs.createTimeRange", t.xa),$("videojs.util", t.Z),t.Z.mergeOptions = t.Z.Aa,t.addLanguage = t.Gd
23841}(), !function (a) {
23842    var b = a.vttjs = {}, c = b.VTTCue, d = b.VTTRegion, e = a.VTTCue, f = a.VTTRegion;
23843    b.shim = function () {
23844        b.VTTCue = c, b.VTTRegion = d
23845    }, b.restore = function () {
23846        b.VTTCue = e, b.VTTRegion = f
23847    }
23848}(this), function (a, b) {
23849    function c(a) {
23850        if ("string" != typeof a) return !1;
23851        var b = h[a.toLowerCase()];
23852        return b ? a.toLowerCase() : !1
23853    }
23854
23855    function d(a) {
23856        if ("string" != typeof a) return !1;
23857        var b = i[a.toLowerCase()];
23858        return b ? a.toLowerCase() : !1
23859    }
23860
23861    function e(a) {
23862        for (var b = 1; b < arguments.length; b++) {
23863            var c = arguments[b];
23864            for (var d in c) a[d] = c[d]
23865        }
23866        return a
23867    }
23868
23869    function f(a, b, f) {
23870        var h = this, i = /MSIE\s8\.0/.test(navigator.userAgent), j = {};
23871        i ? h = document.createElement("custom") : j.enumerable = !0, h.hasBeenReset = !1;
23872        var k = "", l = !1, m = a, n = b, o = f, p = null, q = "", r = !0, s = "auto", t = "start", u = 50,
23873            v = "middle", w = 50, x = "middle";
23874        return Object.defineProperty(h, "id", e({}, j, {
23875            get: function () {
23876                return k
23877            }, set: function (a) {
23878                k = "" + a
23879            }
23880        })), Object.defineProperty(h, "pauseOnExit", e({}, j, {
23881            get: function () {
23882                return l
23883            }, set: function (a) {
23884                l = !!a
23885            }
23886        })), Object.defineProperty(h, "startTime", e({}, j, {
23887            get: function () {
23888                return m
23889            }, set: function (a) {
23890                if ("number" != typeof a) throw new TypeError("Start time must be set to a number.");
23891                m = a, this.hasBeenReset = !0
23892            }
23893        })), Object.defineProperty(h, "endTime", e({}, j, {
23894            get: function () {
23895                return n
23896            }, set: function (a) {
23897                if ("number" != typeof a) throw new TypeError("End time must be set to a number.");
23898                n = a, this.hasBeenReset = !0
23899            }
23900        })), Object.defineProperty(h, "text", e({}, j, {
23901            get: function () {
23902                return o
23903            }, set: function (a) {
23904                o = "" + a, this.hasBeenReset = !0
23905            }
23906        })), Object.defineProperty(h, "region", e({}, j, {
23907            get: function () {
23908                return p
23909            }, set: function (a) {
23910                p = a, this.hasBeenReset = !0
23911            }
23912        })), Object.defineProperty(h, "vertical", e({}, j, {
23913            get: function () {
23914                return q
23915            }, set: function (a) {
23916                var b = c(a);
23917                if (b === !1) throw new SyntaxError("An invalid or illegal string was specified.");
23918                q = b, this.hasBeenReset = !0
23919            }
23920        })), Object.defineProperty(h, "snapToLines", e({}, j, {
23921            get: function () {
23922                return r
23923            }, set: function (a) {
23924                r = !!a, this.hasBeenReset = !0
23925            }
23926        })), Object.defineProperty(h, "line", e({}, j, {
23927            get: function () {
23928                return s
23929            }, set: function (a) {
23930                if ("number" != typeof a && a !== g) throw new SyntaxError("An invalid number or illegal string was specified.");
23931                s = a, this.hasBeenReset = !0
23932            }
23933        })), Object.defineProperty(h, "lineAlign", e({}, j, {
23934            get: function () {
23935                return t
23936            }, set: function (a) {
23937                var b = d(a);
23938                if (!b) throw new SyntaxError("An invalid or illegal string was specified.");
23939                t = b, this.hasBeenReset = !0
23940            }
23941        })), Object.defineProperty(h, "position", e({}, j, {
23942            get: function () {
23943                return u
23944            }, set: function (a) {
23945                if (0 > a || a > 100) throw new Error("Position must be between 0 and 100.");
23946                u = a, this.hasBeenReset = !0
23947            }
23948        })), Object.defineProperty(h, "positionAlign", e({}, j, {
23949            get: function () {
23950                return v
23951            }, set: function (a) {
23952                var b = d(a);
23953                if (!b) throw new SyntaxError("An invalid or illegal string was specified.");
23954                v = b, this.hasBeenReset = !0
23955            }
23956        })), Object.defineProperty(h, "size", e({}, j, {
23957            get: function () {
23958                return w
23959            }, set: function (a) {
23960                if (0 > a || a > 100) throw new Error("Size must be between 0 and 100.");
23961                w = a, this.hasBeenReset = !0
23962            }
23963        })), Object.defineProperty(h, "align", e({}, j, {
23964            get: function () {
23965                return x
23966            }, set: function (a) {
23967                var b = d(a);
23968                if (!b) throw new SyntaxError("An invalid or illegal string was specified.");
23969                x = b, this.hasBeenReset = !0
23970            }
23971        })), h.displayState = void 0, i ? h : void 0
23972    }
23973
23974    var g = "auto", h = {"": !0, lr: !0, rl: !0}, i = {start: !0, middle: !0, end: !0, left: !0, right: !0};
23975    f.prototype.getCueAsHTML = function () {
23976        return WebVTT.convertCueToDOMTree(window, this.text)
23977    }, a.VTTCue = a.VTTCue || f, b.VTTCue = f
23978}(this, this.vttjs || {}), function (a, b) {
23979    function c(a) {
23980        if ("string" != typeof a) return !1;
23981        var b = f[a.toLowerCase()];
23982        return b ? a.toLowerCase() : !1
23983    }
23984
23985    function d(a) {
23986        return "number" == typeof a && a >= 0 && 100 >= a
23987    }
23988
23989    function e() {
23990        var a = 100, b = 3, e = 0, f = 100, g = 0, h = 100, i = "";
23991        Object.defineProperties(this, {
23992            width: {
23993                enumerable: !0, get: function () {
23994                    return a
23995                }, set: function (b) {
23996                    if (!d(b)) throw new Error("Width must be between 0 and 100.");
23997                    a = b
23998                }
23999            }, lines: {
24000                enumerable: !0, get: function () {
24001                    return b
24002                }, set: function (a) {
24003                    if ("number" != typeof a) throw new TypeError("Lines must be set to a number.");
24004                    b = a
24005                }
24006            }, regionAnchorY: {
24007                enumerable: !0, get: function () {
24008                    return f
24009                }, set: function (a) {
24010                    if (!d(a)) throw new Error("RegionAnchorX must be between 0 and 100.");
24011                    f = a
24012                }
24013            }, regionAnchorX: {
24014                enumerable: !0, get: function () {
24015                    return e
24016                }, set: function (a) {
24017                    if (!d(a)) throw new Error("RegionAnchorY must be between 0 and 100.");
24018                    e = a
24019                }
24020            }, viewportAnchorY: {
24021                enumerable: !0, get: function () {
24022                    return h
24023                }, set: function (a) {
24024                    if (!d(a)) throw new Error("ViewportAnchorY must be between 0 and 100.");
24025                    h = a
24026                }
24027            }, viewportAnchorX: {
24028                enumerable: !0, get: function () {
24029                    return g
24030                }, set: function (a) {
24031                    if (!d(a)) throw new Error("ViewportAnchorX must be between 0 and 100.");
24032                    g = a
24033                }
24034            }, scroll: {
24035                enumerable: !0, get: function () {
24036                    return i
24037                }, set: function (a) {
24038                    var b = c(a);
24039                    if (b === !1) throw new SyntaxError("An invalid or illegal string was specified.");
24040                    i = b
24041                }
24042            }
24043        })
24044    }
24045
24046    var f = {"": !0, up: !0};
24047    a.VTTRegion = a.VTTRegion || e, b.VTTRegion = e
24048}(this, this.vttjs || {}), function (a) {
24049    function b(a, b) {
24050        this.name = "ParsingError", this.code = a.code, this.message = b || a.message
24051    }
24052
24053    function c(a) {
24054        function b(a, b, c, d) {
24055            return 3600 * (0 | a) + 60 * (0 | b) + (0 | c) + (0 | d) / 1e3
24056        }
24057
24058        var c = a.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);
24059        return c ? c[3] ? b(c[1], c[2], c[3].replace(":", ""), c[4]) : c[1] > 59 ? b(c[1], c[2], 0, c[4]) : b(0, c[1], c[2], c[4]) : null
24060    }
24061
24062    function d() {
24063        this.values = o(null)
24064    }
24065
24066    function e(a, b, c, d) {
24067        var e = d ? a.split(d) : [a];
24068        for (var f in e) if ("string" == typeof e[f]) {
24069            var g = e[f].split(c);
24070            if (2 === g.length) {
24071                var h = g[0], i = g[1];
24072                b(h, i)
24073            }
24074        }
24075    }
24076
24077    function f(a, f, g) {
24078        function h() {
24079            var d = c(a);
24080            if (null === d) throw new b(b.Errors.BadTimeStamp, "Malformed timestamp: " + k);
24081            return a = a.replace(/^[^\sa-zA-Z-]+/, ""), d
24082        }
24083
24084        function i(a, b) {
24085            var c = new d;
24086            e(a, function (a, b) {
24087                switch (a) {
24088                    case"region":
24089                        for (var d = g.length - 1; d >= 0; d--) if (g[d].id === b) {
24090                            c.set(a, g[d].region);
24091                            break
24092                        }
24093                        break;
24094                    case"vertical":
24095                        c.alt(a, b, ["rl", "lr"]);
24096                        break;
24097                    case"line":
24098                        var e = b.split(","), f = e[0];
24099                        c.integer(a, f), c.percent(a, f) ? c.set("snapToLines", !1) : null, c.alt(a, f, ["auto"]), 2 === e.length && c.alt("lineAlign", e[1], ["start", "middle", "end"]);
24100                        break;
24101                    case"position":
24102                        e = b.split(","), c.percent(a, e[0]), 2 === e.length && c.alt("positionAlign", e[1], ["start", "middle", "end"]);
24103                        break;
24104                    case"size":
24105                        c.percent(a, b);
24106                        break;
24107                    case"align":
24108                        c.alt(a, b, ["start", "middle", "end", "left", "right"])
24109                }
24110            }, /:/, /\s/), b.region = c.get("region", null), b.vertical = c.get("vertical", ""), b.line = c.get("line", "auto"), b.lineAlign = c.get("lineAlign", "start"), b.snapToLines = c.get("snapToLines", !0), b.size = c.get("size", 100), b.align = c.get("align", "middle"), b.position = c.get("position", {
24111                start: 0,
24112                left: 0,
24113                middle: 50,
24114                end: 100,
24115                right: 100
24116            }, b.align), b.positionAlign = c.get("positionAlign", {
24117                start: "start",
24118                left: "start",
24119                middle: "middle",
24120                end: "end",
24121                right: "end"
24122            }, b.align)
24123        }
24124
24125        function j() {
24126            a = a.replace(/^\s+/, "")
24127        }
24128
24129        var k = a;
24130        if (j(), f.startTime = h(), j(), "-->" !== a.substr(0, 3)) throw new b(b.Errors.BadTimeStamp, "Malformed time stamp (time stamps must be separated by '-->'): " + k);
24131        a = a.substr(3), j(), f.endTime = h(), j(), i(a, f)
24132    }
24133
24134    function g(a, b) {
24135        function d() {
24136            function a(a) {
24137                return b = b.substr(a.length), a
24138            }
24139
24140            if (!b) return null;
24141            var c = b.match(/^([^<]*)(<[^>]+>?)?/);
24142            return a(c[1] ? c[1] : c[2])
24143        }
24144
24145        function e(a) {
24146            return p[a]
24147        }
24148
24149        function f(a) {
24150            for (; o = a.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);) a = a.replace(o[0], e);
24151            return a
24152        }
24153
24154        function g(a, b) {
24155            return !s[b.localName] || s[b.localName] === a.localName
24156        }
24157
24158        function h(b, c) {
24159            var d = q[b];
24160            if (!d) return null;
24161            var e = a.document.createElement(d);
24162            e.localName = d;
24163            var f = r[b];
24164            return f && c && (e[f] = c.trim()), e
24165        }
24166
24167        for (var i, j = a.document.createElement("div"), k = j, l = []; null !== (i = d());) if ("<" !== i[0]) k.appendChild(a.document.createTextNode(f(i))); else {
24168            if ("/" === i[1]) {
24169                l.length && l[l.length - 1] === i.substr(2).replace(">", "") && (l.pop(), k = k.parentNode);
24170                continue
24171            }
24172            var m, n = c(i.substr(1, i.length - 2));
24173            if (n) {
24174                m = a.document.createProcessingInstruction("timestamp", n), k.appendChild(m);
24175                continue
24176            }
24177            var o = i.match(/^<([^.\s\/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);
24178            if (!o) continue;
24179            if (m = h(o[1], o[3]), !m) continue;
24180            if (!g(k, m)) continue;
24181            o[2] && (m.className = o[2].substr(1).replace(".", " ")), l.push(o[1]), k.appendChild(m), k = m
24182        }
24183        return j
24184    }
24185
24186    function h(a) {
24187        function b(a, b) {
24188            for (var c = b.childNodes.length - 1; c >= 0; c--) a.push(b.childNodes[c])
24189        }
24190
24191        function c(a) {
24192            if (!a || !a.length) return null;
24193            var d = a.pop(), e = d.textContent || d.innerText;
24194            if (e) {
24195                var f = e.match(/^.*(\n|\r)/);
24196                return f ? (a.length = 0, f[0]) : e
24197            }
24198            return "ruby" === d.tagName ? c(a) : d.childNodes ? (b(a, d), c(a)) : void 0
24199        }
24200
24201        var d, e = [], f = "";
24202        if (!a || !a.childNodes) return "ltr";
24203        for (b(e, a); f = c(e);) for (var g = 0; g < f.length; g++) {
24204            d = f.charCodeAt(g);
24205            for (var h = 0; h < t.length; h++) if (t[h] === d) return "rtl"
24206        }
24207        return "ltr"
24208    }
24209
24210    function i(a) {
24211        if ("number" == typeof a.line && (a.snapToLines || a.line >= 0 && a.line <= 100)) return a.line;
24212        if (!a.track || !a.track.textTrackList || !a.track.textTrackList.mediaElement) return -1;
24213        for (var b = a.track, c = b.textTrackList, d = 0, e = 0; e < c.length && c[e] !== b; e++) "showing" === c[e].mode && d++;
24214        return -1 * ++d
24215    }
24216
24217    function j() {
24218    }
24219
24220    function k(a, b, c) {
24221        var d = /MSIE\s8\.0/.test(navigator.userAgent), e = "rgba(255, 255, 255, 1)", f = "rgba(0, 0, 0, 0.8)";
24222        d && (e = "rgb(255, 255, 255)", f = "rgb(0, 0, 0)"), j.call(this), this.cue = b, this.cueDiv = g(a, b.text);
24223        var i = {
24224            color: e,
24225            backgroundColor: f,
24226            position: "relative",
24227            left: 0,
24228            right: 0,
24229            top: 0,
24230            bottom: 0,
24231            display: "inline"
24232        };
24233        d || (i.writingMode = "" === b.vertical ? "horizontal-tb" : "lr" === b.vertical ? "vertical-lr" : "vertical-rl", i.unicodeBidi = "plaintext"), this.applyStyles(i, this.cueDiv), this.div = a.document.createElement("div"), i = {
24234            textAlign: "middle" === b.align ? "center" : b.align,
24235            font: c.font,
24236            whiteSpace: "pre-line",
24237            position: "absolute"
24238        }, d || (i.direction = h(this.cueDiv), i.writingMode = "" === b.vertical ? "horizontal-tb" : "lr" === b.vertical ? "vertical-lr" : "vertical-rl".stylesunicodeBidi = "plaintext"), this.applyStyles(i), this.div.appendChild(this.cueDiv);
24239        var k = 0;
24240        switch (b.positionAlign) {
24241            case"start":
24242                k = b.position;
24243                break;
24244            case"middle":
24245                k = b.position - b.size / 2;
24246                break;
24247            case"end":
24248                k = b.position - b.size
24249        }
24250        this.applyStyles("" === b.vertical ? {
24251            left: this.formatStyle(k, "%"),
24252            width: this.formatStyle(b.size, "%")
24253        } : {top: this.formatStyle(k, "%"), height: this.formatStyle(b.size, "%")}), this.move = function (a) {
24254            this.applyStyles({
24255                top: this.formatStyle(a.top, "px"),
24256                bottom: this.formatStyle(a.bottom, "px"),
24257                left: this.formatStyle(a.left, "px"),
24258                right: this.formatStyle(a.right, "px"),
24259                height: this.formatStyle(a.height, "px"),
24260                width: this.formatStyle(a.width, "px")
24261            })
24262        }
24263    }
24264
24265    function l(a) {
24266        var b, c, d, e, f = /MSIE\s8\.0/.test(navigator.userAgent);
24267        if (a.div) {
24268            c = a.div.offsetHeight, d = a.div.offsetWidth, e = a.div.offsetTop;
24269            var g = (g = a.div.childNodes) && (g = g[0]) && g.getClientRects && g.getClientRects();
24270            a = a.div.getBoundingClientRect(), b = g ? Math.max(g[0] && g[0].height || 0, a.height / g.length) : 0
24271        }
24272        this.left = a.left, this.right = a.right, this.top = a.top || e, this.height = a.height || c, this.bottom = a.bottom || e + (a.height || c), this.width = a.width || d, this.lineHeight = void 0 !== b ? b : a.lineHeight, f && !this.lineHeight && (this.lineHeight = 13)
24273    }
24274
24275    function m(a, b, c, d) {
24276        function e(a, b) {
24277            for (var e, f = new l(a), g = 1, h = 0; h < b.length; h++) {
24278                for (; a.overlapsOppositeAxis(c, b[h]) || a.within(c) && a.overlapsAny(d);) a.move(b[h]);
24279                if (a.within(c)) return a;
24280                var i = a.intersectPercentage(c);
24281                g > i && (e = new l(a), g = i), a = new l(f)
24282            }
24283            return e || f
24284        }
24285
24286        var f = new l(b), g = b.cue, h = i(g), j = [];
24287        if (g.snapToLines) {
24288            var k;
24289            switch (g.vertical) {
24290                case"":
24291                    j = ["+y", "-y"], k = "height";
24292                    break;
24293                case"rl":
24294                    j = ["+x", "-x"], k = "width";
24295                    break;
24296                case"lr":
24297                    j = ["-x", "+x"], k = "width"
24298            }
24299            var m = f.lineHeight, n = m * Math.round(h), o = c[k] + m, p = j[0];
24300            Math.abs(n) > o && (n = 0 > n ? -1 : 1, n *= Math.ceil(o / m) * m), 0 > h && (n += "" === g.vertical ? c.height : c.width, j = j.reverse()), f.move(p, n)
24301        } else {
24302            var q = f.lineHeight / c.height * 100;
24303            switch (g.lineAlign) {
24304                case"middle":
24305                    h -= q / 2;
24306                    break;
24307                case"end":
24308                    h -= q
24309            }
24310            switch (g.vertical) {
24311                case"":
24312                    b.applyStyles({top: b.formatStyle(h, "%")});
24313                    break;
24314                case"rl":
24315                    b.applyStyles({left: b.formatStyle(h, "%")});
24316                    break;
24317                case"lr":
24318                    b.applyStyles({right: b.formatStyle(h, "%")})
24319            }
24320            j = ["+y", "-x", "+x", "-y"], f = new l(b)
24321        }
24322        var r = e(f, j);
24323        b.move(r.toCSSCompatValues(c))
24324    }
24325
24326    function n() {
24327    }
24328
24329    var o = Object.create || function () {
24330        function a() {
24331        }
24332
24333        return function (b) {
24334            if (1 !== arguments.length) throw new Error("Object.create shim only accepts one parameter.");
24335            return a.prototype = b, new a
24336        }
24337    }();
24338    b.prototype = o(Error.prototype), b.prototype.constructor = b, b.Errors = {
24339        BadSignature: {
24340            code: 0,
24341            message: "Malformed WebVTT signature."
24342        }, BadTimeStamp: {code: 1, message: "Malformed time stamp."}
24343    }, d.prototype = {
24344        set: function (a, b) {
24345            this.get(a) || "" === b || (this.values[a] = b)
24346        }, get: function (a, b, c) {
24347            return c ? this.has(a) ? this.values[a] : b[c] : this.has(a) ? this.values[a] : b
24348        }, has: function (a) {
24349            return a in this.values
24350        }, alt: function (a, b, c) {
24351            for (var d = 0; d < c.length; ++d) if (b === c[d]) {
24352                this.set(a, b);
24353                break
24354            }
24355        }, integer: function (a, b) {
24356            /^-?\d+$/.test(b) && this.set(a, parseInt(b, 10))
24357        }, percent: function (a, b) {
24358            var c;
24359            return (c = b.match(/^([\d]{1,3})(\.[\d]*)?%$/)) && (b = parseFloat(b), b >= 0 && 100 >= b) ? (this.set(a, b), !0) : !1
24360        }
24361    };
24362    var p = {"&amp;": "&", "&lt;": "<", "&gt;": ">", "&lrm;": "‎", "&rlm;": "‏", "&nbsp;": " "},
24363        q = {c: "span", i: "i", b: "b", u: "u", ruby: "ruby", rt: "rt", v: "span", lang: "span"},
24364        r = {v: "title", lang: "lang"}, s = {rt: "ruby"},
24365        t = [1470, 1472, 1475, 1478, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1520, 1521, 1522, 1523, 1524, 1544, 1547, 1549, 1563, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 
243651580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1645, 1646, 1647, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1765, 1766, 1774, 1775, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1807, 1808, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1969, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2e3, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2036, 2037, 2042, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2074, 2084, 2088, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2142, 2208, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 8207, 64285, 64287, 64288, 64289, 64290, 64291, 64292, 64293, 64294, 64295, 64296, 64298, 64299, 64300, 64301, 64302, 64303, 64304, 64305, 64306, 64307, 64308, 64309, 64310, 64312, 64313, 64314, 64315, 64316, 64318, 64320, 64321, 64323, 64324, 64326, 64327, 64328, 64329, 64330, 64331, 64332, 64333, 64334, 64335, 64336, 64337, 64338, 64339, 64340, 64341, 64342, 64343, 64344, 64345, 64346, 64347, 64348, 64349, 64350, 64351, 64352, 64353, 64354, 64355, 64356, 64357, 64358, 64359, 64360, 64361, 64362, 64363, 64364, 64365, 64366, 64367, 64368, 64369, 64370, 64371, 64372, 64373, 64374, 64375, 64376, 64377, 64378, 64379, 64380, 64381, 64382, 64383, 64384, 64385, 64386, 64387, 64388, 64389, 64390, 64391, 64392, 64393, 64394, 64395, 64396, 64397, 64398, 64399, 64400, 64401, 64402, 64403, 64404, 64405, 64406, 64407, 64408, 64409, 64410, 64411, 64412, 64413, 64414, 64415, 64416, 64417, 64418, 64419, 64420, 64421, 64422, 64423, 
2436564424, 64425, 64426, 64427, 64428, 64429, 64430, 64431, 64432, 64433, 64434, 64435, 64436, 64437, 64438, 64439, 64440, 64441, 64442, 64443, 64444, 64445, 64446, 64447, 64448, 64449, 64467, 64468, 64469, 64470, 64471, 64472, 64473, 64474, 64475, 64476, 64477, 64478, 64479, 64480, 64481, 64482, 64483, 64484, 64485, 64486, 64487, 64488, 64489, 64490, 64491, 64492, 64493, 64494, 64495, 64496, 64497, 64498, 64499, 64500, 64501, 64502, 64503, 64504, 64505, 64506, 64507, 64508, 64509, 64510, 64511, 64512, 64513, 64514, 64515, 64516, 64517, 64518, 64519, 64520, 64521, 64522, 64523, 64524, 64525, 64526, 64527, 64528, 64529, 64530, 64531, 64532, 64533, 64534, 64535, 64536, 64537, 64538, 64539, 64540, 64541, 64542, 64543, 64544, 64545, 64546, 64547, 64548, 64549, 64550, 64551, 64552, 64553, 64554, 64555, 64556, 64557, 64558, 64559, 64560, 64561, 64562, 64563, 64564, 64565, 64566, 64567, 64568, 64569, 64570, 64571, 64572, 64573, 64574, 64575, 64576, 64577, 64578, 64579, 64580, 64581, 64582, 64583, 64584, 64585, 64586, 64587, 64588, 64589, 64590, 64591, 64592, 64593, 64594, 64595, 64596, 64597, 64598, 64599, 64600, 64601, 64602, 64603, 64604, 64605, 64606, 64607, 64608, 64609, 64610, 64611, 64612, 64613, 64614, 64615, 64616, 64617, 64618, 64619, 64620, 64621, 64622, 64623, 64624, 64625, 64626, 64627, 64628, 64629, 64630, 64631, 64632, 64633, 64634, 64635, 64636, 64637, 64638, 64639, 64640, 64641, 64642, 64643, 64644, 64645, 64646, 64647, 64648, 64649, 64650, 64651, 64652, 
2436564653, 64654, 64655, 64656, 64657, 64658, 64659, 64660, 64661, 64662, 64663, 64664, 64665, 64666, 64667, 64668, 64669, 64670, 64671, 64672, 64673, 64674, 64675, 64676, 64677, 64678, 64679, 64680, 64681, 64682, 64683, 64684, 64685, 64686, 64687, 64688, 64689, 64690, 64691, 64692, 64693, 64694, 64695, 64696, 64697, 64698, 64699, 64700, 64701, 64702, 64703, 64704, 64705, 64706, 64707, 64708, 64709, 64710, 64711, 64712, 64713, 64714, 64715, 64716, 64717, 64718, 64719, 64720, 64721, 64722, 64723, 64724, 64725, 64726, 64727, 64728, 64729, 64730, 64731, 64732, 64733, 64734, 64735, 64736, 64737, 64738, 64739, 64740, 64741, 64742, 64743, 64744, 64745, 64746, 64747, 64748, 64749, 64750, 64751, 64752, 64753, 64754, 64755, 64756, 64757, 64758, 64759, 64760, 64761, 64762, 64763, 64764, 64765, 64766, 64767, 64768, 64769, 64770, 64771, 64772, 64773, 64774, 64775, 64776, 64777, 64778, 64779, 64780, 64781, 64782, 64783, 64784, 64785, 64786, 64787, 64788, 64789, 64790, 64791, 64792, 64793, 64794, 64795, 64796, 64797, 64798, 64799, 64800, 64801, 64802, 64803, 64804, 64805, 64806, 64807, 64808, 64809, 64810, 64811, 64812, 64813, 64814, 64815, 64816, 64817, 64818, 64819, 64820, 64821, 64822, 64823, 64824, 64825, 64826, 64827, 64828, 64829, 64848, 64849, 64850, 64851, 64852, 64853, 64854, 64855, 64856, 64857, 64858, 64859, 64860, 64861, 64862, 64863, 64864, 64865, 64866, 64867, 64868, 64869, 64870, 64871, 64872, 64873, 64874, 64875, 64876, 64877, 64878, 64879, 64880, 64881, 64882, 64883, 64884, 64885, 64886, 64887, 64888, 64889, 64890, 64891, 64892, 64893, 64894, 64895, 64896, 64897, 64898, 64899, 64900, 64901, 64902, 64903, 64904, 64905, 64906, 64907, 64908, 64909, 64910, 64911, 64914, 64915, 64916, 64917, 64918, 64919, 64920, 64921, 64922, 64923, 64924, 64925, 64926, 64927, 64928, 64929, 64930, 64931, 64932, 64933, 64934, 64935, 64936, 64937, 64938, 64939, 64940, 64941, 64942, 64943, 64944, 64945, 64946, 64947, 64948, 64949, 64950, 64951, 64952, 64953, 64954, 64955, 64956, 64957, 64958, 64959, 64960, 64961, 64962, 64963, 64964, 64965, 64966, 64967, 65008, 65009, 65010, 65011, 65012, 65013, 65014, 65015, 65016, 65017, 65018, 65019, 65020, 65136, 65137, 65138, 65139, 65140, 65142, 65143, 65144, 65145, 65146, 65147, 65148, 65149, 65150, 65151, 65152, 65153, 65154, 65155, 65156, 65157, 65158, 65159, 65160, 65161, 65162, 65163, 65164, 65165, 65166, 65167, 65168, 65169, 65170, 65171, 65172, 65173, 65174, 65175, 65176, 65177, 65178, 65179, 65180, 65181, 65182, 65183, 65184, 65185, 65186, 65187, 65188, 65189, 65190, 65191, 65192, 65193, 65194, 65195, 65196, 65197, 65198, 65199, 65200, 65201, 65202, 65203, 65204, 65205, 65206, 65207, 65208, 65209, 65210, 65211, 65212, 65213, 65214, 65215, 65216, 65217, 65218, 65219, 65220, 65221, 65222, 65223, 65224, 65225, 65226, 65227, 65228, 65229, 65230, 65231, 65232, 65233, 65234, 65235, 65236, 65237, 65238, 65239, 65240, 65241, 65242, 65243, 65244, 65245, 65246, 65247, 65248, 65249, 65250, 65251, 65252, 65253, 65254, 65255, 65256, 65257, 65258, 65259, 65260, 65261, 65262, 65263, 65264, 65265, 65266, 65267, 65268, 65269, 65270, 65271, 65272, 65273, 65274, 65275, 65276, 67584, 67585, 67586, 67587, 67588, 67589, 67592, 67594, 67595, 67596, 67597, 67598, 67599, 67600, 67601, 67602, 67603, 67604, 67605, 67606, 67607, 67608, 67609, 67610, 67611, 67612, 67613, 67614, 67615, 67616, 67617, 67618, 67619, 67620, 67621, 67622, 67623, 67624, 67625, 67626, 67627, 67628, 67629, 67630, 67631, 67632, 67633, 67634, 67635, 67636, 67637, 67639, 67640, 67644, 67647, 67648, 67649, 67650, 67651, 67652, 67653, 67654, 67655, 67656, 67657, 67658, 67659, 67660, 67661, 67662, 67663, 67664, 67665, 67666, 67667, 67668, 67669, 67671, 67672, 67673, 67674, 67675, 67676, 67677, 67678, 67679, 67840, 67841, 67842, 67843, 67844, 67845, 67846, 67847, 67848, 67849, 67850, 67851, 67852, 67853, 67854, 67855, 67856, 67857, 67858, 67859, 67860, 67861, 67862, 67863, 67864, 67865, 67866, 67867, 67872, 67873, 67874, 67875, 67876, 67877, 67878, 67879, 67880, 67881, 67882, 67883, 67884, 67885, 67886, 67887, 67888, 67889, 67890, 67891, 67892, 67893, 67894, 67895, 67896, 67897, 67903, 67968, 67969, 67970, 67971, 67972, 67973, 67974, 67975, 67976, 67977, 67978, 67979, 67980, 67981, 67982, 67983, 67984, 67985, 67986, 67987, 67988, 67989, 67990, 67991, 67992, 67993, 67994, 67995, 67996, 67997, 67998, 67999, 68e3, 68001, 68002, 68003, 68004, 68005, 68006, 68007, 68008, 68009, 68010, 68011, 68012, 68013, 68014, 68015, 68016, 68017, 68018, 68019, 68020, 68021, 68022, 68023, 68030, 68031, 68096, 68112, 68113, 68114, 68115, 68117, 68118, 68119, 68121, 68122, 68123, 68124, 68125, 68126, 68127, 68128, 68129, 68130, 68131, 68132, 68133, 68134, 68135, 68136, 68137, 68138, 68139, 68140, 68141, 68142, 68143, 68144, 68145, 68146, 68147, 68160, 68161, 68162, 68163, 68164, 68165, 68166, 68167, 68176, 68177, 68178, 68179, 68180, 68181, 68182, 68183, 68184, 68192, 68193, 68194, 68195, 68196, 68197, 68198, 68199, 68200, 68201, 68202, 68203, 68204, 68205, 68206, 68207, 68208, 68209, 68210, 68211, 68212, 68213, 68214, 68215, 68216, 68217, 68218, 68219, 68220, 68221, 68222, 68223, 68352, 68353, 68354, 68355, 68356, 68357, 68358, 68359, 68360, 68361, 68362, 68363, 68364, 68365, 68366, 68367, 68368, 68369, 68370, 68371, 68372, 68373, 68374, 68375, 68376, 68377, 68378, 68379, 68380, 68381, 68382, 68383, 68384, 68385, 68386, 68387, 68388, 68389, 68390, 68391, 68392, 68393, 68394, 68395, 68396, 68397, 68398, 68399, 68400, 68401, 68402, 68403, 68404, 68405, 68416, 68417, 68418, 68419, 68420, 68421, 68422, 68423, 68424, 68425, 68426, 68427, 68428, 68429, 68430, 68431, 68432, 68433, 68434, 68435, 68436, 68437, 68440, 68441, 68442, 68443, 68444, 68445, 68446, 68447, 68448, 68449, 68450, 68451, 68452, 68453, 68454, 
vendor: 11,907 bytes, lines 24365-24584
2436568455, 68456, 68457, 68458, 68459, 68460, 68461, 68462, 68463, 68464, 68465, 68466, 68472, 68473, 68474, 68475, 68476, 68477, 68478, 68479, 68608, 68609, 68610, 68611, 68612, 68613, 68614, 68615, 68616, 68617, 68618, 68619, 68620, 68621, 68622, 68623, 68624, 68625, 68626, 68627, 68628, 68629, 68630, 68631, 68632, 68633, 68634, 68635, 68636, 68637, 68638, 68639, 68640, 68641, 68642, 68643, 68644, 68645, 68646, 68647, 68648, 68649, 68650, 68651, 68652, 68653, 68654, 68655, 68656, 68657, 68658, 68659, 68660, 68661, 68662, 68663, 68664, 68665, 68666, 68667, 68668, 68669, 68670, 68671, 68672, 68673, 68674, 68675, 68676, 68677, 68678, 68679, 68680, 126464, 126465, 126466, 126467, 126469, 126470, 126471, 126472, 126473, 126474, 126475, 126476, 126477, 126478, 126479, 126480, 126481, 126482, 126483, 126484, 126485, 126486, 126487, 126488, 126489, 126490, 126491, 126492, 126493, 126494, 126495, 126497, 126498, 126500, 126503, 126505, 126506, 126507, 126508, 126509, 126510, 126511, 126512, 126513, 126514, 126516, 126517, 126518, 126519, 126521, 126523, 126530, 126535, 126537, 126539, 126541, 126542, 126543, 126545, 126546, 126548, 126551, 126553, 126555, 126557, 126559, 126561, 126562, 126564, 126567, 126568, 126569, 126570, 126572, 126573, 126574, 126575, 126576, 126577, 126578, 126580, 126581, 126582, 126583, 126585, 126586, 126587, 126588, 126590, 126592, 126593, 126594, 126595, 126596, 126597, 126598, 126599, 126600, 126601, 126603, 126604, 126605, 126606, 126607, 126608, 126609, 126610, 126611, 126612, 126613, 126614, 126615, 126616, 126617, 126618, 126619, 126625, 126626, 126627, 126629, 126630, 126631, 126632, 126633, 126635, 126636, 126637, 126638, 126639, 126640, 126641, 126642, 126643, 126644, 126645, 126646, 126647, 126648, 126649, 126650, 126651, 1114109];
24366    j.prototype.applyStyles = function (a, b) {
24367        b = b || this.div;
24368        for (var c in a) a.hasOwnProperty(c) && (b.style[c] = a[c])
24369    }, j.prototype.formatStyle = function (a, b) {
24370        return 0 === a ? 0 : a + b
24371    }, k.prototype = o(j.prototype), k.prototype.constructor = k, l.prototype.move = function (a, b) {
24372        switch (b = void 0 !== b ? b : this.lineHeight, a) {
24373            case"+x":
24374                this.left += b, this.right += b;
24375                break;
24376            case"-x":
24377                this.left -= b, this.right -= b;
24378                break;
24379            case"+y":
24380                this.top += b, this.bottom += b;
24381                break;
24382            case"-y":
24383                this.top -= b, this.bottom -= b
24384        }
24385    }, l.prototype.overlaps = function (a) {
24386        return this.left < a.right && this.right > a.left && this.top < a.bottom && this.bottom > a.top
24387    }, l.prototype.overlapsAny = function (a) {
24388        for (var b = 0; b < a.length; b++) if (this.overlaps(a[b])) return !0;
24389        return !1
24390    }, l.prototype.within = function (a) {
24391        return this.top >= a.top && this.bottom <= a.bottom && this.left >= a.left && this.right <= a.right
24392    }, l.prototype.overlapsOppositeAxis = function (a, b) {
24393        switch (b) {
24394            case"+x":
24395                return this.left < a.left;
24396            case"-x":
24397                return this.right > a.right;
24398            case"+y":
24399                return this.top < a.top;
24400            case"-y":
24401                return this.bottom > a.bottom
24402        }
24403    }, l.prototype.intersectPercentage = function (a) {
24404        var b = Math.max(0, Math.min(this.right, a.right) - Math.max(this.left, a.left)),
24405            c = Math.max(0, Math.min(this.bottom, a.bottom) - Math.max(this.top, a.top)), d = b * c;
24406        return d / (this.height * this.width)
24407    }, l.prototype.toCSSCompatValues = function (a) {
24408        return {
24409            top: this.top - a.top,
24410            bottom: a.bottom - this.bottom,
24411            left: this.left - a.left,
24412            right: a.right - this.right,
24413            height: this.height,
24414            width: this.width
24415        }
24416    }, l.getSimpleBoxPosition = function (a) {
24417        var b = a.div ? a.div.offsetHeight : a.tagName ? a.offsetHeight : 0,
24418            c = a.div ? a.div.offsetWidth : a.tagName ? a.offsetWidth : 0,
24419            d = a.div ? a.div.offsetTop : a.tagName ? a.offsetTop : 0;
24420        a = a.div ? a.div.getBoundingClientRect() : a.tagName ? a.getBoundingClientRect() : a;
24421        var e = {
24422            left: a.left,
24423            right: a.right,
24424            top: a.top || d,
24425            height: a.height || b,
24426            bottom: a.bottom || d + (a.height || b),
24427            width: a.width || c
24428        };
24429        return e
24430    }, n.StringDecoder = function () {
24431        return {
24432            decode: function (a) {
24433                if (!a) return "";
24434                if ("string" != typeof a) throw new Error("Error - expected string data.");
24435                return decodeURIComponent(encodeURIComponent(a))
24436            }
24437        }
24438    }, n.convertCueToDOMTree = function (a, b) {
24439        return a && b ? g(a, b) : null
24440    };
24441    var u = .05, v = "sans-serif", w = "1.5%";
24442    n.processCues = function (a, b, c) {
24443        function d(a) {
24444            for (var b = 0; b < a.length; b++) if (a[b].hasBeenReset || !a[b].displayState) return !0;
24445            return !1
24446        }
24447
24448        if (!a || !b || !c) return null;
24449        for (; c.firstChild;) c.removeChild(c.firstChild);
24450        var e = a.document.createElement("div");
24451        if (e.style.position = "absolute", e.style.left = "0", e.style.right = "0", e.style.top = "0", e.style.bottom = "0", e.style.margin = w, c.appendChild(e), d(b)) {
24452            var f = [], g = l.getSimpleBoxPosition(e), h = Math.round(g.height * u * 100) / 100,
24453                i = {font: h + "px " + v};
24454            !function () {
24455                for (var c, d, h = 0; h < b.length; h++) d = b[h], c = new k(a, d, i), e.appendChild(c.div), m(a, c, g, f), d.displayState = c.div, f.push(l.getSimpleBoxPosition(c))
24456            }()
24457        } else for (var j = 0; j < b.length; j++) e.appendChild(b[j].displayState)
24458    }, n.Parser = function (a, b, c) {
24459        c || (c = b, b = {}), b || (b = {}), this.window = a, this.vttjs = b, this.state = "INITIAL", this.buffer = "", this.decoder = c || new TextDecoder("utf8"), this.regionList = []
24460    }, n.Parser.prototype = {
24461        reportOrThrowError: function (a) {
24462            if (!(a instanceof b)) throw a;
24463            this.onparsingerror && this.onparsingerror(a)
24464        }, parse: function (a) {
24465            function c() {
24466                for (var a = i.buffer, b = 0; b < a.length && "\r" !== a[b] && "\n" !== a[b];) ++b;
24467                var c = a.substr(0, b);
24468                return "\r" === a[b] && ++b, "\n" === a[b] && ++b, i.buffer = a.substr(b), c
24469            }
24470
24471            function g(a) {
24472                var b = new d;
24473                if (e(a, function (a, c) {
24474                    switch (a) {
24475                        case"id":
24476                            b.set(a, c);
24477                            break;
24478                        case"width":
24479                            b.percent(a, c);
24480                            break;
24481                        case"lines":
24482                            b.integer(a, c);
24483                            break;
24484                        case"regionanchor":
24485                        case"viewportanchor":
24486                            var e = c.split(",");
24487                            if (2 !== e.length) break;
24488                            var f = new d;
24489                            if (f.percent("x", e[0]), f.percent("y", e[1]), !f.has("x") || !f.has("y")) break;
24490                            b.set(a + "X", f.get("x")), b.set(a + "Y", f.get("y"));
24491                            break;
24492                        case"scroll":
24493                            b.alt(a, c, ["up"])
24494                    }
24495                }, /=/, /\s/), b.has("id")) {
24496                    var c = new (i.vttjs.VTTRegion || i.window.VTTRegion);
24497                    c.width = b.get("width", 100), c.lines = b.get("lines", 3), c.regionAnchorX = b.get("regionanchorX", 0), c.regionAnchorY = b.get("regionanchorY", 100), c.viewportAnchorX = b.get("viewportanchorX", 0), c.viewportAnchorY = b.get("viewportanchorY", 100), c.scroll = b.get("scroll", ""), i.onregion && i.onregion(c), i.regionList.push({
24498                        id: b.get("id"),
24499                        region: c
24500                    })
24501                }
24502            }
24503
24504            function h(a) {
24505                e(a, function (a, b) {
24506                    switch (a) {
24507                        case"Region":
24508                            g(b)
24509                    }
24510                }, /:/)
24511            }
24512
24513            var i = this;
24514            a && (i.buffer += i.decoder.decode(a, {stream: !0}));
24515            try {
24516                var j;
24517                if ("INITIAL" === i.state) {
24518                    if (!/\r\n|\n/.test(i.buffer)) return this;
24519                    j = c();
24520                    var k = j.match(/^WEBVTT([ \t].*)?$/);
24521                    if (!k || !k[0]) throw new b(b.Errors.BadSignature);
24522                    i.state = "HEADER"
24523                }
24524                for (var l = !1; i.buffer;) {
24525                    if (!/\r\n|\n/.test(i.buffer)) return this;
24526                    switch (l ? l = !1 : j = c(), i.state) {
24527                        case"HEADER":
24528                            /:/.test(j) ? h(j) : j || (i.state = "ID");
24529                            continue;
24530                        case"NOTE":
24531                            j || (i.state = "ID");
24532                            continue;
24533                        case"ID":
24534                            if (/^NOTE($|[ \t])/.test(j)) {
24535                                i.state = "NOTE";
24536                                break
24537                            }
24538                            if (!j) continue;
24539                            if (i.cue = new (i.vttjs.VTTCue || i.window.VTTCue)(0, 0, ""), i.state = "CUE", -1 === j.indexOf("-->")) {
24540                                i.cue.id = j;
24541                                continue
24542                            }
24543                        case"CUE":
24544                            try {
24545                                f(j, i.cue, i.regionList)
24546                            } catch (m) {
24547                                i.reportOrThrowError(m), i.cue = null, i.state = "BADCUE";
24548                                continue
24549                            }
24550                            i.state = "CUETEXT";
24551                            continue;
24552                        case"CUETEXT":
24553                            var n = -1 !== j.indexOf("-->");
24554                            if (!j || n && (l = !0)) {
24555                                i.oncue && i.oncue(i.cue), i.cue = null, i.state = "ID";
24556                                continue
24557                            }
24558                            i.cue.text && (i.cue.text += "\n"), i.cue.text += j;
24559                            continue;
24560                        case"BADCUE":
24561                            j || (i.state = "ID");
24562                            continue
24563                    }
24564                }
24565            } catch (m) {
24566                i.reportOrThrowError(m), "CUETEXT" === i.state && i.cue && i.oncue && i.oncue(i.cue), i.cue = null, i.state = "INITIAL" === i.state ? "BADWEBVTT" : "BADCUE"
24567            }
24568            return this
24569        }, flush: function () {
24570            var a = this;
24571            try {
24572                if (a.buffer += a.decoder.decode(), (a.cue || "HEADER" === a.state) && (a.buffer += "\n\n", a.parse()), "INITIAL" === a.state) throw new b(b.Errors.BadSignature)
24573            } catch (c) {
24574                a.reportOrThrowError(c)
24575            }
24576            return a.onflush && a.onflush(), this
24577        }
24578    }, a.WebVTT = n
24579}(this, this.vttjs || {}), function ($) {
24580    "use strict";
24581    var methods = {
24582        init: function (options) {
24583            return this.each(function () {
24584                this.self = $(this), methods.destroy.call(this.self), this.opt = $.extend(!0, {}
24584, $.fn.raty.defaults, options), methods._adjustCallback.call(this), methods._adjustNumber.call(this), methods._adjustHints.call(this), this.opt.score = methods._adjustedScore.call(this, this.opt.score), "img" !== this.opt.starType && methods._adjustStarType.call(this), methods._adjustPath.call(this), methods._createStars.call(this), this.opt.cancel && methods._createCancel.call(this), this.opt.precision && methods._adjustPrecision.call(this), methods._createScore.call(this), methods._apply.call(this, this.opt.score), methods._setTitle.call(this, this.opt.score), methods._target.call(this, this.opt.score), this.opt.readOnly ? methods._lock.call(this) : (this.style.cursor = "pointer", methods._binds.call(this))
24585            })
24586        }, _adjustCallback: function () {
24587            for (var options = ["number", "readOnly", "score", "scoreName", "target"], i = 0; i < options.length; i++) "function" == typeof this.opt[options[i]] && (this.opt[options[i]] = this.opt[options[i]].call(this))
24588        }, _adjustedScore: function (score) {
24589            return score ? methods._between(score, 0, this.opt.number) : score
24590        }, _adjustHints: function () {
24591            if (this.opt.hints || (this.opt.hints = []), this.opt.halfShow || this.opt.half) for (var steps = this.opt.precision ? 10 : 2, i = 0; i < this.opt.number; i++) {
24592                var group = this.opt.hints[i];
24593                "[object Array]" !== Object.prototype.toString.call(group) && (group = [group]), this.opt.hints[i] = [];
24594                for (var j = 0; steps > j; j++) {
24595                    var hint = group[j], last = group[group.length - 1];
24596                    void 0 === last && (last = null), this.opt.hints[i][j] = void 0 === hint ? last : hint
24597                }
24598            }
24599        }, _adjustNumber: function () {
24600            this.opt.number = methods._between(this.opt.number, 1, this.opt.numberMax)
24601        }, _adjustPath: function () {
24602            this.opt.path = this.opt.path || "", this.opt.path && "/" !== this.opt.path.charAt(this.opt.path.length - 1) && (this.opt.path += "/")
24603        }, _adjustPrecision: function () {
24604            this.opt.half = !0
24605        }, _adjustStarType: function () {
24606            var replaces = ["cancelOff", "cancelOn", "starHalf", "starOff", "starOn"];
24607            this.opt.path = "";
24608            for (var i = 0; i < replaces.length; i++) this.opt[replaces[i]] = this.opt[replaces[i]].replace(".", "-")
24609        }, _apply: function (score) {
24610            methods._fill.call(this, score), score && (score > 0 && this.score.val(score), methods._roundStars.call(this, score))
24611        }, _between: function (value, min, max) {
24612            return Math.min(Math.max(parseFloat(value), min), max)
24613        }, _binds: function () {
24614            this.cancel && (methods._bindOverCancel.call(this), methods._bindClickCancel.call(this), methods._bindOutCancel.call(this)), methods._bindOver.call(this), methods._bindClick.call(this), methods._bindOut.call(this)
24615        }, _bindClick: function () {
24616            var that = this;
24617            that.stars.on("click.raty", function (evt) {
24618                var execute = !0,
24619                    score = that.opt.half || that.opt.precision ? that.self.data("score") : this.alt || $(this).data("alt");
24620                that.opt.click && (execute = that.opt.click.call(that, +score, evt)), (execute || void 0 === execute) && (that.opt.half && !that.opt.precision && (score = methods._roundHalfScore.call(that, score)), methods._apply.call(that, score))
24621            })
24622        }, _bindClickCancel: function () {
24623            var that = this;
24624            that.cancel.on("click.raty", function (evt) {
24625                that.score.removeAttr("value"), that.opt.click && that.opt.click.call(that, null, evt)
24626            })
24627        }, _bindOut: function () {
24628            var that = this;
24629            that.self.on("mouseleave.raty", function (evt) {
24630                var score = +that.score.val() || void 0;
24631                methods._apply.call(that, score), methods._target.call(that, score, evt), methods._resetTitle.call(that), that.opt.mouseout && that.opt.mouseout.call(that, score, evt)
24632            })
24633        }, _bindOutCancel: function () {
24634            var that = this;
24635            that.cancel.on("mouseleave.raty", function (evt) {
24636                var icon = that.opt.cancelOff;
24637                if ("img" !== that.opt.starType && (icon = that.opt.cancelClass + " " + icon), methods._setIcon.call(that, this, icon), that.opt.mouseout) {
24638                    var score = +that.score.val() || void 0;
24639                    that.opt.mouseout.call(that, score, evt)
24640                }
24641            })
24642        }, _bindOver: function () {
24643            var that = this, action = that.opt.half ? "mousemove.raty" : "mouseover.raty";
24644            that.stars.on(action, function (evt) {
24645                var score = methods._getScoreByPosition.call(that, evt, this);
24646                methods._fill.call(that, score), that.opt.half && (methods._roun
24646dStars.call(that, score, evt), methods._setTitle.call(that, score, evt), that.self.data("score", score)), methods._target.call(that, score, evt), that.opt.mouseover && that.opt.mouseover.call(that, score, evt)
24647            })
24648        }, _bindOverCancel: function () {
24649            var that = this;
24650            that.cancel.on("mouseover.raty", function (evt) {
24651                var starOff = that.opt.path + that.opt.starOff, icon = that.opt.cancelOn;
24652                "img" === that.opt.starType ? that.stars.attr("src", starOff) : (icon = that.opt.cancelClass + " " + icon, that.stars.attr("class", starOff)), methods._setIcon.call(that, this, icon), methods._target.call(that, null, evt), that.opt.mouseover && that.opt.mouseover.call(that, null)
24653            })
24654        }, _buildScoreField: function () {
24655            return $("<input />", {name: this.opt.scoreName, type: "hidden"}).appendTo(this)
24656        }, _createCancel: function () {
24657            var icon = this.opt.path + this.opt.cancelOff, cancel = $("<" + this.opt.starType + " />", {
24658                title: this.opt.cancelHint,
24659                "class": this.opt.cancelClass
24660            });
24661            "img" === this.opt.starType ? cancel.attr({
24662                src: icon,
24663                alt: "x"
24664            }) : cancel.attr("data-alt", "x").addClass(icon), "left" === this.opt.cancelPlace ? this.self.prepend("&#160;").prepend(cancel) : this.self.append("&#160;").append(cancel), this.cancel = cancel
24665        }, _createScore: function () {
24666            var score = $(this.opt.targetScore);
24667            this.score = score.length ? score : methods._buildScoreField.call(this)
24668        }, _createStars: function () {
24669            for (var i = 1; i <= this.opt.number; i++) {
24670                var name = methods._nameForIndex.call(this, i), attrs = {alt: i, src: this.opt.path + this.opt[name]};
24671                "img" !== this.opt.starType && (attrs = {
24672                    "data-alt": i,
24673                    "class": attrs.src
24674                }), attrs.title = methods._getHint.call(this, i), $("<" + this.opt.starType + " />", attrs).appendTo(this), this.opt.space && this.self.append(i < this.opt.number ? "&#160;" : "")
24675            }
24676            this.stars = this.self.children(this.opt.starType)
24677        }, _error: function (message) {
24678            $(this).text(message), $.error(message)
24679        }, _fill: function (score) {
24680            for (var hash = 0, i = 1; i <= this.stars.length; i++) {
24681                var icon, star = this.stars[i - 1], turnOn = methods._turnOn.call(this, i, score);
24682                if (this.opt.iconRange && this.opt.iconRange.length > hash) {
24683                    var irange = this.opt.iconRange[hash];
24684                    icon = methods._getRangeIcon.call(this, irange, turnOn), i <= irange.range && methods._setIcon.call(this, star, icon), i === irange.range && hash++
24685                } else icon = this.opt[turnOn ? "starOn" : "starOff"], methods._setIcon.call(this, star, icon)
24686            }
24687        }, _getFirstDecimal: function (number) {
24688            var decimal = number.toString().split(".")[1], result = 0;
24689            return decimal && (result = parseInt(decimal.charAt(0), 10), "9999" === decimal.slice(1, 5) && result++), result
24690        }, _getRangeIcon: function (irange, turnOn) {
24691            return turnOn ? irange.on || this.opt.starOn : irange.off || this.opt.starOff
24692        }, _getScoreByPosition: function (evt, icon) {
24693            var score = parseInt(icon.alt || icon.getAttribute("data-alt"), 10);
24694            if (this.opt.half) {
24695                var size = methods._getWidth.call(this),
24696                    percent = parseFloat((evt.pageX - $(icon).offset().left) / size);
24697                score = score - 1 + percent
24698            }
24699            return score
24700        }, _getHint: function (score, evt) {
24701            if (0 !== score && !score) return this.opt.noRatedMsg;
24702            var decimal = methods._getFirstDecimal.call(this, score), integer = Math.ceil(score),
24703                group = this.opt.hints[(integer || 1) - 1], hint = group, set = !evt || this.move;
24704            return this.opt.precision ? (set && (decimal = 0 === decimal ? 9 : decimal - 1), hint = group[decimal]) : (this.opt.halfShow || this.opt.half) && (decimal = set && 0 === decimal ? 1 : decimal > 5 ? 1 : 0, hint = group[decimal]), "" === hint ? "" : hint || score
24705        }, _getWidth: function () {
24706            var width = this.stars[0].width || parseFloat(this.stars.eq(0).css("font-size"));
24707            return width || methods._error.call(this, "Could not get the icon 
24707width!"), width
24708        }, _lock: function () {
24709            var hint = methods._getHint.call(this, this.score.val());
24710            this.style.cursor = "", this.title = hint, this.score.prop("readonly", !0), this.stars.prop("title", hint), this.cancel && this.cancel.hide(), this.self.data("readonly", !0)
24711        }, _nameForIndex: function (i) {
24712            return this.opt.score && this.opt.score >= i ? "starOn" : "starOff"
24713        }, _resetTitle: function (star) {
24714            for (var i = 0; i < this.opt.number; i++) this.stars[i].title = methods._getHint.call(this, i + 1)
24715        }, _roundHalfScore: function (score) {
24716            var integer = parseInt(score, 10), decimal = methods._getFirstDecimal.call(this, score);
24717            return 0 !== decimal && (decimal = decimal > 5 ? 1 : .5), integer + decimal
24718        }, _roundStars: function (score, evt) {
24719            var name, decimal = (score % 1).toFixed(2);
24720            if (evt || this.move ? name = decimal > .5 ? "starOn" : "starHalf" : decimal > this.opt.round.down && (name = "starOn", this.opt.halfShow && decimal < this.opt.round.up ? name = "starHalf" : decimal < this.opt.round.full && (name = "starOff")), name) {
24721                var icon = this.opt[name], star = this.stars[Math.ceil(score) - 1];
24722                methods._setIcon.call(this, star, icon)
24723            }
24724        }, _setIcon: function (star, icon) {
24725            star["img" === this.opt.starType ? "src" : "className"] = this.opt.path + icon
24726        }, _setTarget: function (target, score) {
24727            score && (score = this.opt.targetFormat.toString().replace("{score}", score)), target.is(":input") ? target.val(score) : target.html(score)
24728        }, _setTitle: function (score, evt) {
24729            if (score) {
24730                var integer = parseInt(Math.ceil(score), 10), star = this.stars[integer - 1];
24731                star.title = methods._getHint.call(this, score, evt)
24732            }
24733        }, _target: function (score, evt) {
24734            if (this.opt.target) {
24735                var target = $(this.opt.target);
24736                target.length || methods._error.call(this, "Target selector invalid or missing!");
24737                var mouseover = evt && "mouseover" === evt.type;
24738                if (void 0 === score) score = this.opt.targetText; else if (null === score) score = mouseover ? this.opt.cancelHint : this.opt.targetText; else {
24739                    "hint" === this.opt.targetType ? score = methods._getHint.call(this, score, evt) : this.opt.precision && (score = parseFloat(score).toFixed(1));
24740                    var mousemove = evt && "mousemove" === evt.type;
24741                    mouseover || mousemove || this.opt.targetKeep || (score = this.opt.targetText)
24742                }
24743                methods._setTarget.call(this, target, score)
24744            }
24745        }, _turnOn: function (i, score) {
24746            return this.opt.single ? i === score : score >= i
24747        }, _unlock: function () {
24748            this.style.cursor = "pointer", this.removeAttribute("title"), this.score.removeAttr("readonly"), this.self.data("readonly", !1);
24749            for (var i = 0; i < this.opt.number; i++) this.stars[i].title = methods._getHint.call(this, i + 1);
24750            this.cancel && this.cancel.css("display", "")
24751        }, cancel: function (click) {
24752            return this.each(function () {
24753                var self = $(this);
24754                self.data("readonly") !== !0 && (methods[click ? "click" : "score"].call(self, null), this.score.removeAttr("value"))
24755            })
24756        }, click: function (score) {
24757            return this.each(function () {
24758                $(this).data("readonly") !== !0 && (score = methods._adjustedScore.call(this, score), methods._apply.call(this, score), this.opt.click && this.opt.click.call(this, score, $.Event("click")), methods._target.call(this, score))
24759            })
24760        }, destroy: function () {
24761            return this.each(function () {
24762                var self = $(this), raw = self.data("raw");
24763                raw ? self.off(".raty").empty().css({cursor: raw.style.cursor}).removeData("readonly") : self.data("raw", self.clone()[0])
24764            })
24765        }, getScore: function () {
24766            var value, score = [];
24767            return this.each(function () {
24768                value = this.score.val(), score.push(value ? +value : void 0)
24769            }), score.length > 1 ? score : score[0]
24770        }, move: function (score) {
24771            return this.each(function () {
24772                var integer = parseInt(score, 10), decimal = methods._getFirstDecimal.call(this, score);
24773                integer >= this.opt.number && (integer = this.opt.number - 1, decimal = 10);
24774                var width = methods._getWidth.call(this), steps = width / 10, star = $(this.stars[integer]),
24775                    percent = star.offset().left + steps * decimal, evt = $.Event("mousemove", {pageX: percent});
24776                this.move = !0, star.trigger(evt), this.move = !1
24777            })
24778        }, readOnly: function (readonly) {
24779            return this.each(function () {
24780                var self = $(this);
24781                self.data("readonly") !== readonly && (readonly ? (self.off(".raty").children("img").off(".raty"), methods._lock.call(this)) : (methods._binds.call(this), methods._unlock.call(this)), self.data("readonly", readonly))
24782            })
24783        }, reload: function () {
24784            return methods.set.call(this, {})
24785        }, score: function () {
24786            var self = $(this);
24787            return arguments.length ? methods.setScore.apply(self, arguments) : methods.getScore.call(self)
24788        }, set: function (options) {
24789            return this.each(function () {
24790                $(this).raty($.extend({}, this.opt, options))
24791            })
24792        }, setScore: function (score) {
24793            return this.each(function () {
24794                $(this).data("readonly") !== !0 && (score = methods._adju
24794stedScore.call(this, score), methods._apply.call(this, score), methods._target.call(this, score))
24795            })
24796        }
24797    };
24798    $.fn.raty = function (method) {
24799        return methods[method] ? methods[method].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof method && method ? void $.error("Method " + method + " does not exist!") : methods.init.apply(this, arguments)
24800    }, $.fn.raty.defaults = {
24801        cancel: !1,
24802        cancelClass: "raty-cancel",
24803        cancelHint: "Cancel this rating!",
24804        cancelOff: "cancel-off.png",
24805        cancelOn: "cancel-on.png",
24806        cancelPlace: "left",
24807        click: void 0,
24808        half: !1,
24809        halfShow: !0,
24810        hints: ["bad", "poor", "regular", "good", "gorgeous"],
24811        iconRange: void 0,
24812        mouseout: void 0,
24813        mouseover: void 0,
24814        noRatedMsg: "Not rated yet!",
24815        number: 5,
24816        numberMax: 20,
24817        path: void 0,
24818        precision: !1,
24819        readOnly: !1,
24820        round: {down: .25, full: .6, up: .76},
24821        score: void 0,
24822        scoreName: "score",
24823        single: !1,
24824        space: !0,
24825        starHalf: "star-half.png",
24826        starOff: "star-off.png",
24827        starOn: "star-on.png",
24828        starType: "img",
24829        target: void 0,
24830        targetFormat: "{score}",
24831        targetKeep: !1,
24832        targetScore: void 0,
24833        targetText: "",
24834        targetType: "hint"
24835    }
24836}(jQuery), !function (e) {
24837    e(["jquery"], function (e) {
24838        return function () {
24839            function t(e, t, n) {
24840                return g({type: O.error, iconClass: m().iconClasses.error, message: e, optionsOverride: n, title: t})
24841            }
24842
24843            function n(t, n) {
24844                return t || (t = m()), v = e("#" + t.containerId), v.length ? v : (n && (v = u(t)), v)
24845            }
24846
24847            function i(e, t, n) {
24848                return g({type: O.info, iconClass: m().iconClasses.info, message: e, optionsOverride: n, title: t})
24849            }
24850
24851            function o(e) {
24852                w = e
24853            }
24854
24855            function s(e, t, n) {
24856                return g({
24857                    type: O.success,
24858                    iconClass: m().iconClasses.success,
24859                    message: e,
24860                    optionsOverride: n,
24861                    title: t
24862                })
24863            }
24864
24865            function a(e, t, n) {
24866                return g({
24867                    type: O.warning,
24868                    iconClass: m().iconClasses.warning,
24869                    message: e,
24870                    optionsOverride: n,
24871                    title: t
24872                })
24873            }
24874
24875            function r(e, t) {
24876                var i = m();
24877                v || n(i), l(e, i, t) || d(i)
24878            }
24879
24880            function c(t) {
24881                var i = m();
24882                return v || n(i), t && 0 === e(":focus", t).length ? void h(t) : void (v.children().length && v.remove())
24883            }
24884
24885            function d(t) {
24886                for (var n = v.children(), i = n.length - 1; i >= 0; i--) l(e(n[i]), t)
24887            }
24888
24889            function l(t, n, i) {
24890                var o = i && i.force ? i.force : !1;
24891                return t && (o || 0 === e(":focus", t).length) ? (t[n.hideMethod]({
24892                    duration: n.hideDuration,
24893                    easing: n.hideEasing,
24894                    complete: function () {
24895                        h(t)
24896                    }
24897                }), !0) : !1
24898            }
24899
24900            function u(t) {
24901                return v = e("<div/>").attr("id", t.containerId).addClass(t.positionClass).attr("aria-live", "polite").attr("role", "alert"), v.appendTo(e(t.target)), v
24902            }
24903
24904            function p() {
24905                return {
24906                    tapToDismiss: !0,
24907                    toastClass: "toast",
24908                    containerId: "toast-container",
24909                    debug: !1,
24910                    showMethod: "fadeIn",
24911                    showDuration: 300,
24912                    showEasing: "swing",
24913                    onShown: void 0,
24914                    hideMethod: "fadeOut",
24915                    hideDuration: 1e3,
24916                    hideEasing: "swing",
24917                    onHidden: void 0,
24918                    closeMethod: !1,
24919                    closeDuration: !1,
24920                    closeEasing: !1,
24921                    extendedTimeOut: 1e3,
24922                    iconClasses: {
24923                        error: "toast-error",
24924                        info: "toast-info",
24925                        success: "toast-success",
24926                        warning: "toast-warning"
24927                    },
24928                    iconClass: "toast-info",
24929                    positionClass: "toast-top-right",
24930                    timeOut: 5e3,
24931                    titleClass: "toast-title",
24932                    messageClass: "toast-message",
24933                    escapeHtml: !1,
24934                    target: "body",
24935                    closeHtml: '<button type="button">&times;</button>',
24936                    newestOnTop: !0,
24937                    preventDuplicates: !1,
24938                    progressBar: !1
24939                }
24940            }
24941
24942            function f(e) {
24943                w && w(e)
24944            }
24945
24946            function g(t) {
24947                function i(e) {
24948                    return null == e && (e = ""), new String(e).replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;")
24949                }
24950
24951                function o() {
24952                    r(), d(), l(), u(), p(), c()
24953                }
24954
24955                function s() {
24956                    y.hover(b, O), !x.onclick && x.tapToDismiss && y.click(w), x.closeButton && k && k.click(function (e) {
24957                        e.stopPropagation ? e.stopPropagation() : void 0 !== e.cancelBubble && e.cancelBubble !== !0 && (e.cancelBubble = !0), w(!0)
24958                    }), x.onclick && y.click(function (e) {
24959                        x.onclick(e), w()
24960                    })
24961                }
24962
24963                function a() {
24964                    y.hide(), y[x.showMethod]({
24965                        duration: x.showDuration,
24966                        easing: x.showEasing,
24967                        complete: x.onShown
24968                    }), x.timeOut > 0 && (H = setTimeout(w, x.timeOut), q.maxHideTime = parseFloat(x.timeOut), q.hideEta = (new Date).getTime() + q.maxHideTime, x.progressBar && (q.intervalId = setInterval(D, 10)))
24969                }
24970
24971                function r() {
24972                    t.iconClass && y.addClass(x.toastClass).addClass(E)
24973                }
24974
24975                function c() {
24976                    x.newestOnTop ? v.prepend(y) : v.append(y)
24977                }
24978
24979                function d() {
24980                    t.title && (I.append(x.escapeHtml ? i(t.title) : t.title).addClass(x.titleClass), y.append(I))
24981                }
24982
24983                function l() {
24984                    t.message && (M.append(x.escapeHtml ? i(t.message) : t.message).addClass(x.messageClass), y.append(M))
24985                }
24986
24987                function u() {
24988                    x.closeButton && (k.addClass("toast-close-button").attr("role", "button"), y.prepend(k))
24989                }
24990
24991                function p() {
24992                    x.progressBar && (B.addClass("toast-progress"), y.prepend(B))
24993                }
24994
24995                function g(e, t) {
24996                    if (e.preventDuplicates) {
24997                        if (t.message === C) return !0;
24998                        C = t.message
24999                    }
25000                    return !1
25001                }
25002
25003                function w(t) {
25004                    var n = t && x.closeMethod !== !1 ? x.closeMethod : x.hideMethod,
25005                        i = t && x.closeDuration !== !1 ? x.closeDuration : x.hideDuration,
25006                        o = t && x.closeEasing !== !1 ? x.closeEasing : x.hideEasing;
25007                    return !e(":focus", y).length || t ? (clearTimeout(q.intervalId), y[n]({
25008                        duration: i,
25009                        easing: o,
25010                        complete: function () {
25011                            h(y), x.onHidden && "hidden" !== j.state && x.onHidden(), j.state = "hidden", j.endTime = new Date, f(j)
25012                        }
25013                    })) : void 0
25014                }
25015
25016                function O() {
25017                    (x.timeOut > 0 || x.extendedTimeOut > 0) && (H = setTimeout(w, x.extendedTimeOut), q.maxHideTime = parseFloat(x.extendedTimeOut), q.hideEta = (new Date).getTime() + q.maxHideTime)
25018                }
25019
25020                function b() {
25021                    clearTimeout(H), q.hideEta = 0, y.stop(!0, !0)[x.showMethod]({
25022                        duration: x.showDuration,
25023                        easing: x.showEasing
25024                    })
25025                }
25026
25027                function D() {
25028                    var e = (q.hideEta - (new Date).getTime()) / q.maxHideTime * 100;
25029                    B.width(e + "%")
25030                }
25031
25032                var x = m(), E = t.iconClass || x.iconClass;
25033                if ("undefined" != typeof t.optionsOverride && (x = e.extend(x, t.optionsOverride), E = t.optionsOverride.iconClass || E), !g(x, t)) {
25034                    T++, v = n(x, !0);
25035                    var H = null, y = e("<div/>"), I = e("<div/>"), M = e("<div/>"), B = e("<div/>"),
25036                        k = e(x.closeHtml), q = {intervalId: null, hideEta: null, maxHideTime: null},
25037                        j = {toastId: T, state: "visible", startTime: new Date, options: x, map: t};
25038                    return o(), a(), s(), f(j), x.debug && console && console.log(j), y
25039                }
25040            }
25041
25042            function m() {
25043                return e.extend({}, p(), b.options)
25044            }
25045
25046            function h(e) {
25047                v || (v = n()), e.is(":visible") || (e.remove(), e = null, 0 === v.children().length && (v.remove(), C = void 0))
25048            }
25049
25050            var v, w, C, T = 0, O = {error: "error", info: "info", success: "success", warning: "warning"}, b = {
25051                clear: r,
25052                remove: c,
25053                error: t,
25054                getContainer: n,
25055                info: i,
25056                options: {},
25057                subscribe: o,
25058                success: s,
25059                version: "2.1.2",
25060                warning: a
25061            };
25062            return b
25063        }()
25064    })
25065}("function" == typeof define && define.amd ? define : function (e, t) {
25066    "undefined" != typeof module && module.exports ? module.exports = t(require("jquery")) : window.toastr = t(window.jQuery)
25067}), !function (a) {
25068    "use strict";
25069
25070    function b(b, c) {
25071        this.$target = a(b), this.opts = a.extend({}, i, c, this.$target.data()), void 0 === this.isOpen && this._init()
25072    }
25073
25074    var c, d, e, f, g, h, i = {
25075        loadingNotice: "Loading image",
25076        errorNotice: "The image could not be loaded",
25077        errorDuration: 2500,
25078        preventClicks: !0,
25079        onShow: a.noop,
25080        onHide: a.noop,
25081        onMove: a.noop
25082    };
25083    b.prototype._init = function () {
25084        this.$link = this.$target.find("a"), this.$image = this.$target.find("img"), this.$flyout = a('<div class="easyzoom-flyout" />'), this.$notice = a('<div class="easyzoom-notice" />'), this.$target.on({
25085            "mousemove.easyzoom touchmove.easyzoom": a.proxy(this._onMove, this),
25086            "mouseleave.easyzoom touchend.easyzoom": a.proxy(this._onLeave, this),
25087            "mouseenter.easyzoom touchstart.easyzoom": a.proxy(this._onEnter, this)
25088        }), this.opts.preventClicks && this.$target.on("click.easyzoom", function (a) {
25089            a.preventDefault()
25090        })
25091    }, b.prototype.show = function (a, b) {
25092        var g, h, i, j, k = this;
25093        return this.isReady ? (this.$target.append(this.$flyout), g = this.$target.width(), h = this.$target.height(), i = this.$flyout.width(), j = this.$flyout.height(), c = this.$zoom.width() - i, d = this.$zoom.height() - j, e = c / g, f = d / h, this.isOpen = !0, this.opts.onShow.call(this), void (a && this._move(a))) : this._loadImage(this.$link.attr("href"), function () {
25094            (k.isMouseOver || !b) && k.show(a)
25095        })
25096    }, b.prototype._onEnter = function (a) {
25097        var b = a.originalEvent.touches;
25098        this.isMouseOver = !0, b && 1 != b.length || (a.preventDefault(), this.show(a, !0))
25099    }, b.prototype._onMove = function (a) {
25100        this.isOpen && (a.preventDefault(), this._move(a))
25101    }, b.prototype._onLeave = function () {
25102        this.isMouseOver = !1, this.isOpen && this.hide()
25103    }, b.prototype._onLoad = function (a) {
25104        a.currentTarget.width && (this.isReady = !0, this.$notice.detach(), this.$flyout.html(this.$zoom), this.$target.removeClass("is-loading").addClass("is-ready"), a.data.call && a.data())
25105    }, b.prototype._onError = function () {
25106        var a = this;
25107        this.$notice.text(this.opts.errorNotice), this.$target.removeClass("is-loading").addClass("is-error"), this.detachNotice = setTimeout(function () {
25108            a.$notice.detach(), a.detachNotice = null
25109        }, this.opts.errorDuration)
25110    }, b.prototype._loadImage = function (b, c) {
25111        var d = new Image;
25112        this.$target.addClass("is-loading").append(this.$notice.text(this.opts.loadingNotice)), this.$zoom = a(d).on("error", a.proxy(this._onError, this)).on("load", c, a.proxy(this._onLoad, this)), d.style.position = "absolute", d.src = b
25113    }, b.prototype._move = function (a) {
25114        if (0 === a.type.indexOf("touch")) {
25115            var b = a.touches || a.originalEvent.touches;
25116            g = b[0].pageX, h = b[0].pageY
25117        } else g = a.pageX || g, h = a.pageY || h;
25118        var i = this.$target.offset(), j = h - i.top, k = g - i.left, l = Math.
25118ceil(j * f), m = Math.ceil(k * e);
25119        if (0 > m || 0 > l || m > c || l > d) this.hide(); else {
25120            var n = -1 * l, o = -1 * m;
25121            this.$zoom.css({top: n, left: o}), this.opts.onMove.call(this, n, o)
25122        }
25123    }, b.prototype.hide = function () {
25124        this.isOpen && (this.$flyout.detach(), this.isOpen = !1, this.opts.onHide.call(this))
25125    }, b.prototype.swap = function (b, c, d) {
25126        this.hide(), this.isReady = !1, this.detachNotice && clearTimeout(this.detachNotice), this.$notice.parent().length && this.$notice.detach(), this.$target.removeClass("is-loading is-ready is-error"), this.$image.attr({
25127            src: b,
25128            srcset: a.isArray(d) ? d.join() : d
25129        }), this.$link.attr("href", c)
25130    }, b.prototype.teardown = function () {
25131        this.hide(), this.$target.off(".easyzoom").removeClass("is-loading is-ready is-error"), this.detachNotice && clearTimeout(this.detachNotice), delete this.$link, delete this.$zoom, delete this.$image, delete this.$notice, delete this.$flyout, delete this.isOpen, delete this.isReady
25132    }, a.fn.easyZoom = function (c) {
25133        return this.each(function () {
25134            var d = a.data(this, "easyZoom");
25135            d ? void 0 === d.isOpen && d._init() : a.data(this, "easyZoom", new b(this, c))
25136        })
25137    }, "function" == typeof define && define.amd ? define(function () {
25138        return b
25139    }) : "undefined" != typeof module && module.exports && (module.exports = b)
25140}(jQuery), !function (a) {
25141    function b() {
25142    }
25143
25144    function c(a) {
25145        function c(b) {
25146            b.prototype.option || (b.prototype.option = function (b) {
25147                a.isPlainObject(b) && (this.options = a.extend(!0, this.options, b))
25148            })
25149        }
25150
25151        function e(b, c) {
25152            a.fn[b] = function (e) {
25153                if ("string" == typeof e) {
25154                    for (var g = d.call(arguments, 1), h = 0, i = this.length; i > h; h++) {
25155                        var j = this[h], k = a.data(j, b);
25156                        if (k) if (a.isFunction(k[e]) && "_" !== e.charAt(0)) {
25157                            var l = k[e].apply(k, g);
25158                            if (void 0 !== l) return l
25159                        } else f("no such method '" + e + "' for " + b + " instance"); else f("cannot call methods on " + b + " prior to initialization; attempted to call '" + e + "'")
25160                    }
25161                    return this
25162                }
25163                return this.each(function () {
25164                    var d = a.data(this, b);
25165                    d ? (d.option(e), d._init()) : (d = new c(this, e), a.data(this, b, d))
25166                })
25167            }
25168        }
25169
25170        if (a) {
25171            var f = "undefined" == typeof console ? b : function (a) {
25172                console.error(a)
25173            };
25174            return a.bridget = function (a, b) {
25175                c(b), e(a, b)
25176            }, a.bridget
25177        }
25178    }
25179
25180    var d = Array.prototype.slice;
25181    "function" == typeof define && define.amd ? define("jquery-bridget/jquery.bridget", ["jquery"], c) : c("object" == typeof exports ? require("jquery") : a.jQuery)
25182}(window), function (a) {
25183    function b(b) {
25184        var c = a.event;
25185        return c.target = c.target || c.srcElement || b, c
25186    }
25187
25188    var c = document.documentElement, d = function () {
25189    };
25190    c.addEventListener ? d = function (a, b, c) {
25191        a.addEventListener(b, c, !1)
25192    } : c.attachEvent && (d = function (a, c, d) {
25193        a[c + d] = d.handleEvent ? function () {
25194            var c = b(a);
25195            d.handleEvent.call(d, c)
25196        } : function () {
25197            var c = b(a);
25198            d.call(a, c)
25199        }, a.attachEvent("on" + c, a[c + d])
25200    });
25201    var e = function () {
25202    };
25203    c.removeEventListener ? e = function (a, b, c) {
25204        a.removeEventListener(b, c, !1)
25205    } : c.detachEvent && (e = function (a, b, c) {
25206        a.detachEvent("on" + b, a[b + c]);
25207        try {
25208            delete a[b + c]
25209        } catch (d) {
25210            a[b + c] = void 0
25211        }
25212    });
25213    var f = {bind: d, unbind: e};
25214    "function" == typeof define && define.amd ? define("eventie/eventie", f) : "object" == typeof exports ? module.exports = f : a.eventie = f
25215}(window), function () {
25216    "use strict";
25217
25218    function a() {
25219    }
25220
25221    function b(a, b) {
25222        for (var c = a.length; c--;) if (a[c].listener === b) return c;
25223        return -1
25224    }
25225
25226    function c(a) {
25227        return function () {
25228            return this[a].apply(this, arguments)
25229        }
25230    }
25231
25232    var d = a.prototype, e = this, f = e.EventEmitter;
25233    d.getListeners = function (a) {
25234        var b, c, d = this._getEvents();
25235        if (a instanceof RegExp) {
25236            b = {};
25237            for (c in d) d.hasOwnProperty(c) && a.test(c) && (b[c] = d[c])
25238        } else b = d[a] || (d[a] = []);
25239        return b
25240    }, d.flattenListeners = function (a) {
25241        var b, c = [];
25242        for (b = 0; b < a.length; b += 1) c.push(a[b].listener);
25243        return c
25244    }, d.getListenersAsObject = function (a) {
25245        var b, c = this.getListeners(a);
25246        return c instanceof Array && (b = {}, b[a] = c), b || c
25247    }, d.addListener = function (a, c) {
25248        var d, e = this.getListenersAsObject(a), f = "object" == typeof c;
25249        for (d in e) e.hasOwnProperty(d) && -1 === b(e[d], c) && e[d].push(f ? c : {listener: c, once: !1});
25250        return this
25251    }, d.on = c("addListener"), d.addOnceListener = function (a, b) {
25252        return this.addListener(a, {listener: b, once: !0})
25253    }, d.once = c("addOnceListener"), d.defineEvent = function (a) {
25254        return this.getListeners(a), this
25255    }, d.defineEvents = function (a) {
25256        for (var b = 0; b < a.length; b += 1) this.defineEvent(a[b]);
25257        return this
25258    }, d.removeListener = function (a, c) {
25259        var d, e, f = this.getListenersAsObject(a);
25260        for (e in f) f.hasOwnProperty(e) && (d = b(f[e], c), -1 !== d && f[e].splice(d, 1));
25261        return this
25262    }, d.off = c("removeListener"), d.addListeners = function (a, b) {
25263        return this.manipulateListeners(!1, a, b)
25264    }, d.removeListeners = function (a, b) {
25265        return this.manipulateListeners(!0, a, b)
25266    }, d.manipulateListeners = function (a, b, c) {
25267        var d, e, f = a ? this.removeListener : this.addListener, g = a ? this.removeListeners : this.addListeners;
25268        if ("object" != typeof b || b instanceof RegExp) for (d = c.length; d--;) f.call(this, b, c[d]); else for (d in b) b.hasOwnProperty(d) && (e = b[d]) && ("function" == typeof e ? f.call(this, d, e) : g.call(this, d, e));
25269        return this
25270    }, d.removeEvent = function (a) {
25271        var b, c = typeof a, d = this._getEvents();
25272        if ("string" === c) delete d[a]; else if (a instanceof RegExp) for (b in d) d.hasOwnProperty(b) && a.test(b) && delete d[b]; else delete this._events;
25273        return this
25274    }, d.removeAllListeners = c("removeEvent"), d.emitEvent = function (a, b) {
25275        var c, d, e, f, g = this.getListenersAsObject(a);
25276        for (e in g) if (g.hasOwnProperty(e)) for (d = g[e].length; d--;) c = g[e][d], c.once === !0 && this.removeListener(a, c.listener), f = c.listener.apply(this, b || []), f === this._getOnceReturnValue() && this.removeListener(a, c.listener);
25277        return this
25278    }, d.trigger = c("emitEvent"), d.emit = function (a) {
25279        var b = Array.prototype.slice.call(arguments, 1);
25280        return this.emitEvent(a, b)
25281    }, d.setOnceReturnValue = function (a) {
25282        return this._onceReturnValue = a, this
25283    }, d._getOnceReturnValue = function () {
25284        return this.hasOwnProperty("_onceReturnValue") ? this._onceReturnValue : !0
25285    }, d._getEvents = function () {
25286        return this._events || (this._events = {})
25287    }, a.noConflict = function () {
25288        return e.EventEmitter = f, a
25289    }, "function" == typeof define && define.amd ? define("eventEmitter/EventEmitter", [], function () {
25290        return a
25291    }) : "object" == typeof module && module.exports ? module.exports = a : e.EventEmitter = a
25292}.call(this), function (a) {
25293    function b(a) {
25294        if (a) {
25295            if ("string" == typeof d[a]) return a;
25296            a = a.charAt(0).toUpperCase() + a.slice(1);
25297            for (var b, e = 0, f = c.length; f > e; e++) if (b = c[e] + a, "string" == typeof d[b]) return b
25298        }
25299    }
25300
25301    var c = "Webkit Moz ms Ms O".split(" "), d = document.documentElement.style;
25302    "function" == typeof define && define.amd ? define("get-style-property/get-style-property", [], function () {
25303        return b
25304    }) : "object" == typeof exports ? module.exports = b : a.getStyleProperty = b
25305}(window), function (a, b) {
25306    function c(a) {
25307        var b = parseFloat(a), c = -1 === a.indexOf("%") && !isNaN(b);
25308        return c && b
25309    }
25310
25311    function d() {
25312    }
25313
25314    function e() {
25315        for (var a = {
25316            width: 0,
25317            height: 0,
25318            innerWidth: 0,
25319            innerHeight: 0,
25320            outerWidth: 0,
25321            outerHeight: 0
25322        }, b = 0, c = h.length; c > b; b++) {
25323            var d = h[b];
25324            a[d] = 0
25325        }
25326        return a
25327    }
25328
25329    function f(b) {
25330        function d() {
25331            if (!m) {
25332                m = !0;
25333                var d = a.getComputedStyle;
25334                if (j = function () {
25335                    var a = d ? function (a) {
25336                        return d(a, null)
25337                    } : function (a) {
25338                        return a.currentStyle
25339                    };
25340                    return function (b) {
25341                        var c = a(b);
25342                        return c || g("Style returned " + c + ". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"), c
25343                    }
25344                }(), k = b("boxSizing")) {
25345                    var e = document.createElement("div");
25346                    e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style[k] = "border-box";
25347                    var f = document.body || document.documentElement;
25348                    f.appendChild(e);
25349                    var h = j(e);
25350                    l = 200 === c(h.width), f.removeChild(e)
25351                }
25352            }
25353        }
25354
25355        function f(a) {
25356            if (d(), "string" == typeof a && (a = document.querySelector(a)), a && "object" == typeof a && a.nodeType) {
25357                var b = j(a);
25358                if ("none" === b.display) return e();
25359                var f = {};
25360                f.width = a.offsetWidth, f.height = a.offsetHeight;
25361                for (var g = f.isBorderBox = !(!k || !b[k] || "border-box" !== b[k]), m = 0, n = h.length; n > m; m++) {
25362                    var o = h[m], p = b[o];
25363                    p = i(a, p);
25364                    var q = parseFloat(p);
25365                    f[o] = isNaN(q) ? 0 : q
25366                }
25367                var r = f.paddingLeft + f.paddingRight, s = f.paddingTop + f.paddingBottom,
25368                    t = f.marginLeft + f.marginRight, u = f.marginTop + f.marginBottom,
25369                    v = f.borderLeftWidth + f.borderRightWidth, w = f.borderTopWidth + f.borderBottomWidth, x = g && l,
25370                    y = c(b.width);
25371                y !== !1 && (f.width = y + (x ? 0 : r + v));
25372                var z = c(b.height);
25373                return z !== !1 && (f.height = z + (x ? 0 : s + w)), f.innerWidth = f.width - (r + v), f.innerHe
25373ight = f.height - (s + w), f.outerWidth = f.width + t, f.outerHeight = f.height + u, f
25374            }
25375        }
25376
25377        function i(b, c) {
25378            if (a.getComputedStyle || -1 === c.indexOf("%")) return c;
25379            var d = b.style, e = d.left, f = b.runtimeStyle, g = f && f.left;
25380            return g && (f.left = b.currentStyle.left), d.left = c, c = d.pixelLeft, d.left = e, g && (f.left = g), c
25381        }
25382
25383        var j, k, l, m = !1;
25384        return f
25385    }
25386
25387    var g = "undefined" == typeof console ? d : function (a) {
25388            console.error(a)
25389        },
25390        h = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"];
25391    "function" == typeof define && define.amd ? define("get-size/get-size", ["get-style-property/get-style-property"], f) : "object" == typeof exports ? module.exports = f(require("desandro-get-style-property")) : a.getSize = f(a.getStyleProperty)
25392}(window), function (a) {
25393    function b(a) {
25394        "function" == typeof a && (b.isReady ? a() : g.push(a))
25395    }
25396
25397    function c(a) {
25398        var c = "readystatechange" === a.type && "complete" !== f.readyState;
25399        b.isReady || c || d()
25400    }
25401
25402    function d() {
25403        b.isReady = !0;
25404        for (var a = 0, c = g.length; c > a; a++) {
25405            var d = g[a];
25406            d()
25407        }
25408    }
25409
25410    function e(e) {
25411        return "complete" === f.readyState ? d() : (e.bind(f, "DOMContentLoaded", c), e.bind(f, "readystatechange", c), e.bind(a, "load", c)), b
25412    }
25413
25414    var f = a.document, g = [];
25415    b.isReady = !1, "function" == typeof define && define.amd ? define("doc-ready/doc-ready", ["eventie/eventie"], e) : "object" == typeof exports ? module.exports = e(require("eventie")) : a.docReady = e(a.eventie)
25416}(window), function (a) {
25417    "use strict";
25418
25419    function b(a, b) {
25420        return a[g](b)
25421    }
25422
25423    function c(a) {
25424        if (!a.parentNode) {
25425            var b = document.createDocumentFragment();
25426            b.appendChild(a)
25427        }
25428    }
25429
25430    function d(a, b) {
25431        c(a);
25432        for (var d = a.parentNode.querySelectorAll(b), e = 0, f = d.length; f > e; e++) if (d[e] === a) return !0;
25433        return !1
25434    }
25435
25436    function e(a, d) {
25437        return c(a), b(a, d)
25438    }
25439
25440    var f, g = function () {
25441        if (a.matches) return "matches";
25442        if (a.matchesSelector) return "matchesSelector";
25443        for (var b = ["webkit", "moz", "ms", "o"], c = 0, d = b.length; d > c; c++) {
25444            var e = b[c], f = e + "MatchesSelector";
25445            if (a[f]) return f
25446        }
25447    }();
25448    if (g) {
25449        var h = document.createElement("div"), i = b(h, "div");
25450        f = i ? b : e
25451    } else f = d;
25452    "function" == typeof define && define.amd ? define("matches-selector/matches-selector", [], function () {
25453        return f
25454    }) : "object" == typeof exports ? module.exports = f : window.matchesSelector = f
25455}(Element.prototype), function (a, b) {
25456    "use strict";
25457    "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["doc-ready/doc-ready", "matches-selector/matches-selector"], function (c, d) {
25458        return b(a, c, d)
25459    }) : "object" == typeof exports ? module.exports = b(a, require("doc-ready"), require("desandro-matches-selector")) : a.fizzyUIUtils = b(a, a.docReady, a.matchesSelector)
25460}(window, function (a, b, c) {
25461    var d = {};
25462    d.extend = function (a, b) {
25463        for (var c in b) a[c] = b[c];
25464        return a
25465    }, d.modulo = function (a, b) {
25466        return (a % b + b) % b
25467    };
25468    var e = Object.prototype.toString;
25469    d.isArray = function (a) {
25470        return "[object Array]" == e.call(a)
25471    }, d.makeArray = function (a) {
25472        var b = [];
25473        if (d.isArray(a)) b = a; else if (a && "number" == typeof a.length) for (var c = 0, e = a.length; e > c; c++) b.push(a[c]); else b.push(a);
25474        return b
25475    }, d.indexOf = Array.prototype.indexOf ? function (a, b) {
25476        return a.indexOf(b)
25477    } : function (a, b) {
25478        for (var c = 0, d = a.length; d > c; c++) if (a[c] === b) return c;
25479        return -1
25480    }, d.removeFrom = function (a, b) {
25481        var c = d.indexOf(a, b);
25482        -1 != c && a.splice(c, 1)
25483    }, d.isElement = "function" == typeof HTMLElement || "object" == typeof HTMLElement ? function (a) {
25484        return a instanceof HTMLElement
25485    } : function (a) {
25486        return a && "object" == typeof a && 1 == a.nodeType && "string" == typeof a.nodeName
25487    }, d.setText = function () {
25488        function a(a, c) {
25489            b = b || (void 0 !== document.documentElement.textContent ? "textContent" : "innerText"), a[b] = c
25490        }
25491
25492        var b;
25493        return a
25494    }(), d.getParent = function (a, b) {
25495        for (; a != document.body;) if (a = a.parentNode, c(a, b)) return a
25496    }, d.getQueryElement = function (a) {
25497        return "string" == typeof a ? document.querySelector(a) : a
25498    }, d.handleEvent = function (a) {
25499        var b = "on" + a.type;
25500        this[b] && this[b](a)
25501    }, d.filterFindElements = function (a, b) {
25502        a = d.makeArray(a);
25503        for (var e = [], f = 0, g = a.length; g > f; f++) {
25504            var h = a[f];
25505            if (d.isElement(h)) if (b) {
25506                c(h, b) && e.push(h);
25507                for (var i = h.querySelectorAll(b), j = 0, k = i.length; k > j; j++) e.push(i[j])
25508            } else e.push(h)
25509        }
25510        return e
25511    }, d.debounceMethod = function (a, b, c) {
25512        var d = a.prototype[b], e = b + "Timeout";
25513        a.prototype[b] = function () {
25514            var a = this[e];
25515            a && clearTimeout(a);
25516            var b = arguments, f = this;
25517            this[e] = setTimeout(function () {
25518                d.apply(f, b), delete f[e]
25519            }, c || 100)
25520        }
25521    }, d.toDashed = function (a) {
25522        return a.replace(/(.)([A-Z])/g, function (a, b, c) {
25523            return b + "-" + c
25524        }).toLowerCase()
25525    };
25526    var f = a.console;
25527    return d.htmlInit = function (c, e) {
25528        b(function () {
25529            for (var b = d.toDashed(e), g = document.querySelectorAll(".js-" + b), h = "data-" + b + "-options", i = 0, j = g.length; j > i; i++) {
25530                var k, l = g[i], m = l.getAttribute(h);
25531                try {
25532                    k = m && JSON.parse(m)
25533                } catch (n) {
25534                    f && f.error("Error parsing " + h + " on " + l.no
25534deName.toLowerCase() + (l.id ? "#" + l.id : "") + ": " + n);
25535                    continue
25536                }
25537                var o = new c(l, k), p = a.jQuery;
25538                p && p.data(l, e, o)
25539            }
25540        })
25541    }, d
25542}), function (a, b) {
25543    "use strict";
25544    "function" == typeof define && define.amd ? define("outlayer/item", ["eventEmitter/EventEmitter", "get-size/get-size", "get-style-property/get-style-property", "fizzy-ui-utils/utils"], function (c, d, e, f) {
25545        return b(a, c, d, e, f)
25546    }) : "object" == typeof exports ? module.exports = b(a, require("wolfy87-eventemitter"), require("get-size"), require("desandro-get-style-property"), require("fizzy-ui-utils")) : (a.Outlayer = {}, a.Outlayer.Item = b(a, a.EventEmitter, a.getSize, a.getStyleProperty, a.fizzyUIUtils))
25547}(window, function (a, b, c, d, e) {
25548    "use strict";
25549
25550    function f(a) {
25551        for (var b in a) return !1;
25552        return b = null, !0
25553    }
25554
25555    function g(a, b) {
25556        a && (this.element = a, this.layout = b, this.position = {x: 0, y: 0}, this._create())
25557    }
25558
25559    function h(a) {
25560        return a.replace(/([A-Z])/g, function (a) {
25561            return "-" + a.toLowerCase()
25562        })
25563    }
25564
25565    var i = a.getComputedStyle, j = i ? function (a) {
25566        return i(a, null)
25567    } : function (a) {
25568        return a.currentStyle
25569    }, k = d("transition"), l = d("transform"), m = k && l, n = !!d("perspective"), o = {
25570        WebkitTransition: "webkitTransitionEnd",
25571        MozTransition: "transitionend",
25572        OTransition: "otransitionend",
25573        transition: "transitionend"
25574    }[k], p = ["transform", "transition", "transitionDuration", "transitionProperty"], q = function () {
25575        for (var a = {}, b = 0, c = p.length; c > b; b++) {
25576            var e = p[b], f = d(e);
25577            f && f !== e && (a[e] = f)
25578        }
25579        return a
25580    }();
25581    e.extend(g.prototype, b.prototype), g.prototype._create = function () {
25582        this._transn = {ingProperties: {}, clean: {}, onEnd: {}}, this.css({position: "absolute"})
25583    }, g.prototype.handleEvent = function (a) {
25584        var b = "on" + a.type;
25585        this[b] && this[b](a)
25586    }, g.prototype.getSize = function () {
25587        this.size = c(this.element)
25588    }, g.prototype.css = function (a) {
25589        var b = this.element.style;
25590        for (var c in a) {
25591            var d = q[c] || c;
25592            b[d] = a[c]
25593        }
25594    }, g.prototype.getPosition = function () {
25595        var a = j(this.element), b = this.layout.options, c = b.isOriginLeft, d = b.isOriginTop,
25596            e = a[c ? "left" : "right"], f = a[d ? "top" : "bottom"], g = this.layout.size,
25597            h = -1 != e.indexOf("%") ? parseFloat(e) / 100 * g.width : parseInt(e, 10),
25598            i = -1 != f.indexOf("%") ? parseFloat(f) / 100 * g.height : parseInt(f, 10);
25599        h = isNaN(h) ? 0 : h, i = isNaN(i) ? 0 : i, h -= c ? g.paddingLeft : g.paddingRight, i -= d ? g.paddingTop : g.paddingBottom, this.position.x = h, this.position.y = i
25600    }, g.prototype.layoutPosition = function () {
25601        var a = this.layout.size, b = this.layout.options, c = {}, d = b.isOriginLeft ? "paddingLeft" : "paddingRight",
25602            e = b.isOriginLeft ? "left" : "right", f = b.isOriginLeft ? "right" : "left", g = this.position.x + a[d];
25603        c[e] = this.getXValue(g), c[f] = "";
25604        var h = b.isOriginTop ? "paddingTop" : "paddingBottom", i = b.isOriginTop ? "top" : "bottom",
25605            j = b.isOriginTop ? "bottom" : "top", k = this.position.y + a[h];
25606        c[i] = this.getYValue(k), c[j] = "", this.css(c), this.emitEvent("layout", [this])
25607    }, g.prototype.getXValue = function (a) {
25608        var b = this.layout.options;
25609        return b.percentPosition && !b.isHorizontal ? a / this.layout.size.width * 100 + "%" : a + "px"
25610    }, g.prototype.getYValue = function (a) {
25611        var b = this.layout.options;
25612        return b.percentPosition && b.isHorizontal ? a / this.layout.size.height * 100 + "%" : a + "px"
25613    }, g.prototype._transitionTo = function (a, b) {
25614        this.getPosition();
25615        var c = this.position.x, d = this.position.y, e = parseInt(a, 10), f = parseInt(b, 10),
25616            g = e === this.position.x && f === this.position.y;
25617        if (this.setPosition(a, b), g && !this.isTransitioning) return void this.layoutPosition();
25618        var h = a - c, i = b - d, j = {};
25619        j.transform = this.getTranslate(h, i), this.transition({
25620            to: j,
25621            onTransitionEnd: {transform: this.layoutPosition},
25622            isCleaning: !0
25623        })
25624    }, g.prototype.getTranslate = function (a, b) {
25625        var c = this.layout.options;
25626        return a = c.isOriginLeft ? a : -a, b = c.isOriginTop ? b : -b, n ? "translate3d(" + a + "px, " + b + "px, 0)" : "translate(" + a + "px, " + b + "px)"
25627    }, g.prototype.goTo = function (a, b) {
25628        this.setPosition(a, b), this.layoutPosition()
25629    }, g.prototype.moveTo = m ? g.prototype._transitionTo : g.prototype.goTo, g.prototype.setPosition = function (a, b) {
25630        this.position.x = parseInt(a, 10), this.position.y = parseInt(b, 10)
25631    }, g.prototype._nonTransition = function (a) {
25632        this.css(a.to), a.isCleaning && this._removeStyles(a.to);
25633        for (var b in a.onTransitionEnd) a.onTransitionEnd[b].call(this)
25634    }, g.prototype._transition = function (a) {
25635        if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(a);
25636        var b = this._transn;
25637        for (var c in a.onTransitionEnd) b.onEnd[c] = a.onTransitionEnd[c];
25638        for (c in a.to) b.ingProperties[c] = !0, a.isCleaning && (b.clean[c] = !0);
25639        if (a.from) {
25640            this.css(a.from);
25641            var d = this.element.offsetHeight;
25642            d = null
25643        }
25644        this.enableTransition(a.to), this.css(a.to), this.isTransitioning = !0
25645    };
25646    var r = "opacity," + h(q.transform || "transform");
25647    g.prototype.enableTransition = function () {
25648        this.isTransitioning || (this.css({
25649            transitionProperty: r,
25650            transitionDuration: this.layout.options.transitionDuration
25651        }), this.element.addEventListener(o, this, !1))
25652    }, g.prototype.transition = g.prototype[k ? "_transition" : "_nonTransition"], g.prototype.onwebkitTransitionEnd = function (a) {
25653        this.ontransitionend(a)
25654    }, g.prototype.onotransitionend = function (a) {
25655        this.ontransitionend(a)
25656    };
25657    var s = {"-webkit-transform": "transform", "-moz-transform": "transform", "-o-transform": "transform"};
25658    g.prototype.ontransitionend = function (a) {
25659        if (a.target === this.element) {
25660            var b = this._transn, c = s[a.propertyName] || a.propertyName;
25661            if (delete b.ingProperties[c], f(b.ingProperties) && this.disableTransition(), c in b.clean && (this.element.style[a.propertyName] = "", delete b.clean[c]), c in b.onEnd) {
25662                var d = b.onEnd[c];
25663                d.call(this), delete b.onEnd[c]
25664            }
25665            this.emitEvent("transitionEnd", [this])
25666        }
25667    }, g.prototype.disableTransition = function () {
25668        this.removeTransitionStyles(), this.element.removeEventListener(o, this, !1), this.isTransitioning = !1
25669    }, g.prototype._removeStyles = function (a) {
25670        var b = {};
25671        for (var c in a) b[c] = "";
25672        this.css(b)
25673    };
25674    var t = {transitionProperty: "", transitionDuration: ""};
25675    return g.prototype.removeTransitionStyles = function () {
25676        this.css(t)
25677    }, g.prototype.removeElem = function () {
25678        this.element.parentNode.removeChild(this.element), this.css({display: ""}), this.emitEvent("remove", [this])
25679    }, g.prototype.remove = function () {
25680        if (!k || !parseFloat(this.layout.options.transitionDuration)) return void this.removeElem();
25681        var a = this;
25682        this.once("transitionEnd", function () {
25683            a.removeElem()
25684        }), this.hide()
25685    }, g.prototype.reveal = function () {
25686        delete this.isHidden, this.css({display: ""});
25687        var a = this.layout.options, b = {}, c = this.getHideRevealTransitionEndProperty("visibleStyle");
25688        b[c] = this.onRevealTransitionEnd, this.transition({
25689            from: a.hiddenStyle,
25690            to: a.visibleStyle,
25691            isCleaning: !0,
25692            onTransitionEnd: b
25693        })
25694    }, g.prototype.onRevealTransitionEnd = function () {
25695        this.isHidden || this.emitEvent("reveal")
25696    }, g.prototype.getHideRevealTransitionEndProperty = function (a) {
25697        var b = this.layout.options[a];
25698        if (b.opacity) return "opacity";
25699        for (var c in b) return c
25700    }, g.prototype.hide = function () {
25701        this.isHidden = !0, this.css({display: ""});
25702        var a = this.layout.options, b = {}, c = this.getHideRevealTransitionEndProperty("hiddenStyle");
25703        b[c] = this.onHideTransitionEnd, this.transition({
25704            from: a.visibleStyle,
25705            to: a.hiddenStyle,
25706            isCleaning: !0,
25707            onTransitionEnd: b
25708        })
25709    }, g.prototype.onHideTransitionEnd = function () {
25710        this.isHidden && (this.css({display: "none"}), this.emitEvent("hide"))
25711    }, g.prototype.destroy = function () {
25712        this.css({position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: ""})
25713    }, g
25714}), function (a, b) {
25715    "use strict";
25716    "function" == typeof define && define.amd ? define("outlayer/outlayer", ["eventie/eventie", "eventEmitter/EventEmitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (c, d, e, f, g) {
25717        return b(a, c, d, e, f, g)
25718    }) : "object" == typeof exports ? module.exports = b(a, require("eventie"), require("wolfy87-eventemitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : a.Outlayer = b(a, a.eventie, a.EventEmitter, a.getSize, a.fizzyUIUtils, a.Outlayer.Item)
25719}(window, function (a, b, c, d, e, f) {
25720    "use strict";
25721
25722    function g(a, b) {
25723        var c = e.getQueryElement(a);
25724        if (!c) return void (h && h.error("Bad element for " + this.constructor.namespace + ": " + (c || a)));
25725        this.element = c, i && (this.$element = i(this.element)), this.options = e.extend({}, this.constructor.defaults), this.option(b);
25726        var d = ++k;
25727        this.element.outlayerGUID = d, l[d] = this, this._create(), this.options.isInitLayout && this.layout()
25728    }
25729
25730    var h = a.console, i = a.jQuery, j = function () {
25731    }, k = 0, l = {};
25732    return g.namespace = "outlayer", g.Item = f, g.defaults = {
25733        containerStyle: {position: "relative"},
25734        isInitLayout: !0,
25735        isOriginLeft: !0,
25736        isOriginTop: !0,
25737        isResizeBound: !0,
25738        isResizingContainer: !0,
25739        transitionDuration: "0.4s",
25740        hiddenStyle: {opacity: 0, transform: "scale(0.001)"},
25741        visibleStyle: {opacity: 1, transform: "scale(1)"}
25742    }, e.extend(g.prototype, c.prototype), g.prototype.option = function (a) {
25743        e.extend(this.options, a)
25744    }, g.prototype._create = function () {
25745        this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), e.extend(this.element.style, this.options.containerStyle), this.options.isResizeBound && this.bindResize()
25746    }, g.prototype.reloadItems = function () {
25747        this.items = this._itemize(this.element.children)
25748    }, g.prototype._itemize = function (a) {
25749        for (var b = this._filterFindItemElements(a), c = this.constructor.Item, d = [], e = 0, f = b.length; f > e; e++) {
25750            var g = b[e], h = new c(g, this);
25751            d.push(h)
25752        }
25753        return d
25754    }, g.prototype._filterFindItemElements = function (a) {
25755        return e.filterFindElements(a, this.options.itemSelector)
25756    }, g.prototype.getItemElements = function () {
25757        for (var a = [], b = 0, c = this.items.length; c > b; b++) a.push(this.items[b].element);
25758        return a
25759    }, g.prototype.layout = function () {
25760        this._resetLayout(), this._manageStamps();
25761        var a = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited;
25762        this.layoutItems(this.items, a), this._isLayoutInited = !0
25763    }, g.prototype._init = g.prototype.layout, g.prototype._resetLayout = function () {
25764        this.getSize()
25765    }, g.prototype.getSize = function () {
25766        this.size = d(this.element)
25767    }, g.prototype._getMeasurement = function (a, b) {
25768        var c, f = this.options[a];
25769        f ? ("string" == typeof f ? c = this.element.querySelector(f) : e.isElement(f) && (c = f), this[a] = c ? d(c)[b] : f) : this[a] = 0
25770    }, g.prototype.layoutItems = function (a, b) {
25771        a = this._getItemsForLayout(a), this._layoutItems(a, b), this._postLayout()
25772    }, g.prototype._getItemsForLayout = function (a) {
25773        for (var b = [], c = 0, d = a.length; d > c; c++) {
25774            var e = a[c];
25775            e.isIgnored || b.push(e)
25776        }
25777        return b
25778    }, g.prototype._layoutItems = function (a, b) {
25779        if (this._emitCompleteOnItems("layout", a), a && a.length) {
25780            for (var c = [], d = 0, e = a.length; e > d; d++) {
25781                var f = a[d], g = this._getItemLayoutPosition(f);
25782                g.item = f, g.isInstant = b || f.isLayoutInstant, c.push(g)
25783            }
25784            this._processLayoutQueue(c)
25785        }
25786    }, g.prototype._getItemLayoutPosition = function () {
25787        return {x: 0, y: 0}
25788    }, g.prototype._processLayoutQueue = function (a) {
25789        for (var b = 0, c = a.length; c > b; b++) {
25790            var d = a[b];
25791            this._positionItem(d.item, d.x, d.y, d.isInstant)
25792        }
25793    }, g.prototype._positionItem = function (a, b, c, d) {
25794        d ? a.goTo(b, c) : a.moveTo(b, c)
25795    }, g.prototype._postLayout = function () {
25796        this.resizeContainer()
25797    }, g.prototype.resizeContainer = function () {
25798        if (this.options.isResizingContainer) {
25799            var a = this._getContainerSize();
25800            a && (this._setContainerMeasure(a.width, !0), this._setContainerMeasure(a.height, !1))
25801        }
25802    }, g.prototype._getContainerSize = j, g.prototype._setContainerMeasure = function (a, b) {
25803        if (void 0 !== a) {
25804            var c = this.size;
25805            c.isBorderBox && (a += b ? c.paddingLeft + c.paddingRight + c.borderLeftWidth + c.borderRightWidth : c.paddingBottom + c.paddingTop + c.borderTopWidth + c.borderBottomWidth), a = Math.max(a, 0), this.element.style[b ? "width" : "height"] = a + "px"
25806        }
25807    }, g.prototype._emitCompleteOnItems = function (a, b) {
25808        function c() {
25809            e.dispatchEvent(a + "Complete", null, [b])
25810        }
25811
25812        function d() {
25813            g++, g === f && c()
25814        }
25815
25816        var e = this, f = b.length;
25817        if (!b || !f) return void c();
25818        for (var g = 0, h = 0, i = b.length; i > h; h++) {
25819            var j = b[h];
25820            j.once(a, d)
25821        }
25822    }, g.prototype.dispatchEvent = function (a, b, c) {
25823        var d = b ? [b].concat(c) : c;
25824        if (this.emitEvent(a, d), i) if (this.$element = this.$element || i(this.element), b) {
25825            var e = i.Event(b);
25826            e.type = a, this.$element.trigger(e, c)
25827        } else this.$element.trigger(a, c)
25828    }, g.prototype.ignore = function (a) {
25829        var b = this.getItem(a);
25830        b && (b.isIgnored = !0)
25831    }, g.prototype.unignore = function (a) {
25832        var b = this.getItem(a);
25833        b && delete b.isIgnored
25834    }, g.prototype.stamp = function (a) {
25835        if (a = this._find(a)) {
25836            this.stamps = this.stamps.concat(a);
25837            for (var b = 0, c = a.length; c > b; b++) {
25838                var d = a[b];
25839                this.ignore(d)
25840            }
25841        }
25842    }, g.prototype.unstamp = function (a) {
25843        if (a = this._find(a)) for (var b = 0, c = a.length; c > b; b++) {
25844            var d = a[b];
25845            e.removeFrom(this.stamps, d), this.unignore(d)
25846        }
25847    }, g.prototype._find = function (a) {
25848        return a ? ("string" == typeof a && (a = this.element.querySelectorAll(a)), a = e.makeArray(a)) : void 0
25849    }, g.prototype._manageStamps = function () {
25850        if (this.stamps && this.stamps.length) {
25851            this._getBoundingRect();
25852            for (var a = 0, b = this.stamps.length; b > a; a++) {
25853                var c = this.stamps[a];
25854                this._manageStamp(c)
25855            }
25856        }
25857    }, g.prototype._getBoundingRect = function () {
25858        var a = this.element.getBoundingClientRect(), b = this.size;
25859        this._boundingRect = {
25860            left: a.left + b.paddingLeft + b.borderLeftWidth,
25861            top: a.top + b.paddingTop + b.borderTopWidth,
25862            right: a.right - (b.paddingRight + b.borderRightWidth),
25863            bottom: a.bottom - (b.paddingBottom + b.borderBottomWidth)
25864        }
25865    }, g.prototype._manageStamp = j, g.prototype._getElementOffset = function (a) {
25866        var b = a.getBoundingClientRect(), c = this._boundingRect, e = d(a), f = {
25867            left: b.left - c.left - e.marginLeft,
25868            top: b.top - c.top - e.marginTop,
25869            right: c.right - b.right - e.marginRight,
25870            bottom: c.bottom - b.bottom - e.marginBottom
25871        };
25872        return f
25873    }, g.prototype.handleEvent = function (a) {
25874        var b = "on" + a.type;
25875        this[b] && this[b](a)
25876    }, g.prototype.bindResize = function () {
25877        this.isResizeBound || (b.bind(a, "resize", this), this.isResizeBound = !0)
25878    }, g.prototype.unbindResize = function () {
25879        this.isResizeBound && b.unbind(a, "resize", this), this.isResizeBound = !1
25880    }, g.prototype.onresize = function () {
25881        function a() {
25882            b.resize(), delete b.resizeTimeout
25883        }
25884
25885        this.resizeTimeout && clearTimeout(this.resizeTimeout);
25886        var b = this;
25887        this.resizeTimeout = setTimeout(a, 100)
25888    }, g.prototype.resize = function () {
25889        this.isResizeBound && this.needsResizeLayout() && this.layout()
25890    }, g.prototype.needsResizeLayout = function () {
25891        var a = d(this.element), b = this.size && a;
25892        return b && a.innerWidth !== this.size.innerWidth
25893    }, g.prototype.addItems = function (a) {
25894        var b = this._itemize(a);
25895        return b.length && (this.items = this.items.concat(b)), b
25896    }, g.prototype.appended = function (a) {
25897        var b = this.addItems(a);
25898        b.length && (this.layoutItems(b, !0), this.reveal(b))
25899    }, g.prototype.prepended = function (a) {
25900        var b = this._itemize(a);
25901        if (b.length) {
25902            var c = this.items.slice(0);
25903            this.items = b.concat(c), this._resetLayout(), this._manageStamps(), this.layoutItems(b, !0), this.reveal(b), this.layoutItems(c)
25904        }
25905    }, g.prototype.reveal = function (a) {
25906        this._emitCompleteOnItems("reveal", a);
25907        for (var b = a && a.length, c = 0; b && b > c; c++) {
25908            var d = a[c];
25909            d.reveal()
25910        }
25911    }, g.prototype.hide = function (a) {
25912        this._emitCompleteOnItems("hide", a);
25913        for (var b = a && a.length, c = 0; b && b > c; c++) {
25914            var d = a[c];
25915            d.hide()
25916        }
25917    }, g.prototype.revealItemElements = function (a) {
25918        var b = this.getItems(a);
25919        this.reveal(b)
25920    }, g.prototype.hideItemElements = function (a) {
25921        var b = this.getItems(a);
25922        this.hide(b)
25923    }, g.prototype.getItem = function (a) {
25924        for (var b = 0, c = this.items.length; c > b; b++) {
25925            var d = this.items[b];
25926            if (d.element === a) return d
25927        }
25928    }, g.prototype.getItems = function (a) {
25929        a = e.makeArray(a);
25930        for (var b = [], c = 0, d = a.length; d > c; c++) {
25931            var f = a[c], g = this.getItem(f);
25932            g && b.push(g)
25933        }
25934        return b
25935    }, g.prototype.remove = function (a) {
25936        var b = this.getItems(a);
25937        if (this._emitCompleteOnItems("remove", b), b && b.length) for (var c = 0, d = b.length; d > c; c++) {
25938            var f = b[c];
25939            f.remove(), e.removeFrom(this.items, f)
25940        }
25941    }, g.prototype.destroy = function () {
25942        var a = this.element.style;
25943        a.height = "", a.position = "", a.width = "";
25944        for (var b = 0, c = this.items.length; c > b; b++) {
25945            var d = this.items[b];
25946            d.destroy()
25947        }
25948        this.unbindResize();
25949        var e = this.element.outlayerGUID;
25950        delete l[e], delete this.element.outlayerGUID, i && i.removeData(this.element, this.constructor.namespace)
25951    }, g.data = function (a) {
25952        a = e.getQueryElement(a);
25953        var b = a && a.outlayerGUID;
25954        return b && l[b]
25955    }, g.create = function (a, b) {
25956        function c() {
25957            g.apply(this, arguments)
25958        }
25959
25960        return Object.create ? c.prototype = Object.create(g.prototype) : e.extend(c.prototype, g.prototype), c.prototype.constructor = c, c.defaults = e.extend({}, g.defaults), e.extend(c.defaults, b), c.prototype.settings = {}, c.namespace = a, c.data = g.data, c.Item = function () {
25961            f.apply(this, arguments)
25962        }, c.Item.prototype = new f, e.htmlInit(c, a), i && i.bridget && i.bridget(a, c), c
25963    }, g.Item = f, g
25964}), function (a, b) {
25965    "use strict";
25966    "function" == typeof define && define.amd ? define("isotope/js/item", ["outlayer/outlayer"], b) : "object" == typeof exports ? module.exports = b(require("outlayer")) : (a.Isotope = a.Isotope || {}, a.Isotope.Item = b(a.Outlayer))
25967}(window, function (a) {
25968    "use strict";
25969
25970    function b() {
25971        a.Item.apply(this, arguments)
25972    }
25973
25974    b.prototype = new a.Item, b.prototype._create = function () {
25975        this.id = this.layout.itemGUID++, a.Item.prototype._create.call(this), this.sortData = {}
25976    }, b.prototype.updateSortData = function () {
25977        if (!this.isIgnored) {
25978            this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random();
25979            var a = this.layout.options.getSortData, b = this.layout._sorters;
25980            for (var c in a) {
25981                var d = b[c];
25982                this.sortData[c] = d(this.element, this)
25983            }
25984        }
25985    };
25986    var c = b.prototype.destroy;
25987    return b.prototype.destroy = function () {
25988        c.apply(this, arguments), this.css({display: ""})
25989    }, b
25990}), function (a, b) {
25991    "use strict";
25992    "function" == typeof define && define.amd ? define("isotope/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], b) : "object" == typeof exports ? module.exports = b(require("get-size"), require("outlayer")) : (a.Isotope = a.Isotope || {}, a.Isotope.LayoutMode = b(a.getSize, a.Outlayer))
25993}(window, function (a, b) {
25994    "use strict";
25995
25996    function c(a) {
25997        this.isotope = a, a && (this.options = a.options[this.namespace], this.element = a.element, this.items = a.filteredItems, this.size = a.size)
25998    }
25999
26000    return function () {
26001        function a(a) {
26002            return function () {
26003                return b.prototype[a].apply(this.isotope, arguments)
26004            }
26005        }
26006
26007        for (var d = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout"], e = 0, f = d.length; f > e; e++) {
26008            var g = d[e];
26009            c.prototype[g] = a(g)
26010        }
26011    }(), c.prototype.needsVerticalResizeLayout = function () {
26012        var b = a(this.isotope.element), c = this.isotope.size && b;
26013        return c && b.innerHeight != this.isotope.size.innerHeight
26014    }, c.prototype._getMeasurement = function () {
26015        this.isotope._getMeasurement.apply(this, arguments)
26016    }, c.prototype.getColumnWidth = function () {
26017        this.getSegmentSize("column", "Width")
26018    }, c.prototype.getRowHeight = function () {
26019        this.getSegmentSize("row", "Height")
26020    }, c.prototype.getSegmentSize = function (a, b) {
26021        var c = a + b, d = "outer" + b;
26022        if (this._getMeasurement(c, d), !this[c]) {
26023            var e = this.getFirstItemSize();
26024            this[c] = e && e[d] || this.isotope.size["inner" + b]
26025        }
26026    }, c.prototype.getFirstItemSize = function () {
26027        var b = this.isotope.filteredItems[0];
26028        return b && b.element && a(b.element)
26029    }, c.prototype.layout = function () {
26030        this.isotope.layout.apply(this.isotope, arguments)
26031    }, c.prototype.getSize = function () {
26032        this.isotope.getSize(), this.size = this.isotope.size
26033    }, c.modes = {}, c.create = function (a, b) {
26034        function d() {
26035            c.apply(this, arguments)
26036        }
26037
26038        return d.prototype = new c, b && (d.options = b), d.prototype.namespace = a, c.modes[a] = d, d
26039    }, c
26040}), function (a, b) {
26041    "use strict";
26042    "function" == typeof define && define.amd ? define("masonry/masonry", ["outlayer/outlayer", "get-size/get-size", "fizzy-ui-utils/utils"], b) : "object" == typeof exports ? module.exports = b(require("outlayer"), require("get-size"), require("fizzy-ui-utils")) : a.Masonry = b(a.Outlayer, a.getSize, a.fizzyUIUtils)
26043}(window, function (a, b, c) {
26044    var d = a.create("masonry");
26045    return d.prototype._resetLayout = function () {
26046        this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns();
26047        var a = this.cols;
26048        for (this.colYs = []; a--;) this.colYs.push(0);
26049        this.maxY = 0
26050    }, d.prototype.measureColumns = function () {
26051        if (this.getContainerWidth(), !this.columnWidth) {
26052            var a = this.items[0], c = a && a.element;
26053            this.columnWidth = c && b(c).outerWidth || this.containerWidth
26054        }
26055        var d = this.columnWidth += this.gutter, e = this.containerWidth + this.gutter, f = e / d, g = d - e % d,
26056            h = g && 1 > g ? "round" : "floor";
26057        f = Math[h](f), this.cols = Math.max(f, 1)
26058    }, d.prototype.getContainerWidth = function () {
26059        var a = this.options.isFitWidth ? this.element.parentNode : this.element, c = b(a);
26060        this.containerWidth = c && c.innerWidth
26061    }, d.prototype._getItemLayoutPosition = function (a) {
26062        a.getSize();
26063        var b = a.size.outerWidth % this.columnWidth, d = b && 1 > b ? "round" : "ceil",
26064            e = Math[d](a.size.outerWidth / this.columnWidth);
26065        e = Math.min(e, this.cols);
26066        for (var f = this._getColGroup(e), g = Math.min.apply(Math, f), h = c.indexOf(f, g), i = {
26067            x: this.columnWidth * h,
26068            y: g
26069        }, j = g + a.size.outerHeight, k = this.cols + 1 - f.length, l = 0; k > l; l++) this.colYs[h + l] = j;
26070        return i
26071    }, d.prototype._getColGroup = function (a) {
26072        if (2 > a) return this.colYs;
26073        for (var b = [], c = this.cols + 1 - a, d = 0; c > d; d++) {
26074            var e = this.colYs.slice(d, d + a);
26075            b[d] = Math.max.apply(Math, e)
26076        }
26077        return b
26078    }, d.prototype._manageStamp = function (a) {
26079        var c = b(a), d = this._getElementOffset(a), e = this.options.isOriginLeft ? d.left : d.right,
26080            f = e + c.outerWidth, g = Math.floor(e / this.columnWidth);
26081        g = Math.max(0, g);
26082        var h = Math.floor(f / this.columnWidth);
26083        h -= f % this.columnWidth ? 0 : 1, h = Math.min(this.cols - 1, h);
26084        for (var i = (this.options.isOriginTop ? d.top : d.bottom) + c.outerHeight, j = g; h >= j; j++) this.colYs[j] = Math.max(i, this.colYs[j])
26085    }, d.prototype._getContainerSize = function () {
26086        this.maxY = Math.max.apply(Math, this.colYs);
26087        var a = {height: this.maxY};
26088        return this.options.isFitWidth && (a.width = this._getContainerFitWidth()), a
26089    }, d.prototype._getContainerFitWidth = function () {
26090        for (var a = 0, b = this.cols; --b && 0 === this.colYs[b];) a++;
26091        return (this.cols - a) * this.columnWidth - this.gutter
26092    }, d.prototype.needsResizeLayout = function () {
26093        var a = this.containerWidth;
26094        return this.getContainerWidth(), a !== this.containerWidth
26095    }, d
26096}), function (a, b) {
26097    "use strict";
26098    "function" == typeof define && define.amd ? define("isotope/js/layout-modes/masonry", ["../layout-mode", "masonry/masonry"], b) : "object" == typeof exports ? module.exports = b(require("../layout-mode"), require("masonry-layout")) : b(a.Isotope.LayoutMode, a.Masonry)
26099}(window, function (a, b) {
26100    "use strict";
26101
26102    function c(a, b) {
26103        for (var c in b) a[c] = b[c];
26104        return a
26105    }
26106
26107    var d = a.create("masonry"), e = d.prototype._getElementOffset, f = d.prototype.layout,
26108        g = d.prototype._getMeasurement;
26109    c(d.prototype, b.prototype), d.prototype._getElementOffset = e, d.prototype.layout = f, d.prototype._getMeasurement = g;
26110    var h = d.prototype.measureColumns;
26111    d.prototype.measureColumns = function () {
26112        this.items = this.isotope.filteredItems, h.call(this)
26113    };
26114    var i = d.prototype._manageStamp;
26115    return d.prototype._manageStamp = function () {
26116        this.options.isOriginLeft = this.isotope.options.isOriginLeft, this.options.isOriginTop = this.isotope.options.isOriginTop, i.apply(this, arguments)
26117    }, d
26118}), function (a, b) {
26119    "use strict";
26120    "function" == typeof define && define.amd ? define("isotope/js/layout-modes/fit-rows", ["../layout-mode"], b) : "object" == typeof exports ? module.exports = b(require("../layout-mode")) : b(a.Isotope.LayoutMode)
26121}(window, function (a) {
26122    "use strict";
26123    var b = a.create("fitRows");
26124    return b.prototype._resetLayout = function () {
26125        this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth")
26126    }, b.prototype._getItemLayoutPosition = function (a) {
26127        a.getSize();
26128        var b = a.size.outerWidth + this.gutter, c = this.isotope.size.innerWidth + this.gutter;
26129        0 !== this.x && b + this.x > c && (this.x = 0, this.y = this.maxY);
26130        var d = {x: this.x, y: this.y};
26131        return this.maxY = Math.max(this.maxY, this.y + a.size.outerHeight), this.x += b, d
26132    }, b.prototype._getContainerSize = function () {
26133        return {height: this.maxY}
26134    }, b
26135}), function (a, b) {
26136    "use strict";
26137    "function" == typeof define && define.amd ? define("isotope/js/layout-modes/vertical", ["../layout-mode"], b) : "object" == typeof exports ? module.exports = b(require("../layout-mode")) : b(a.Isotope.LayoutMode)
26138}(window, function (a) {
26139    "use strict";
26140    var b = a.create("vertical", {horizontalAlignment: 0});
26141    return b.prototype._resetLayout = function () {
26142        this.y = 0
26143    }, b.prototype._getItemLayoutPosition = function (a) {
26144        a.getSize();
26145        var b = (this.isotope.size.innerWidth - a.size.outerWidth) * this.options.horizontalAlignment, c = this.y;
26146        return this.y += a.size.outerHeight, {x: b, y: c}
26147    }, b.prototype._getContainerSize = function () {
26148        return {height: this.y}
26149    }, b
26150}), function (a, b) {
26151    "use strict";
26152    "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope/js/item", "isotope/js/layout-mode", "isotope/js/layout-modes/masonry", "isotope/js/layout-modes/fit-rows", "isotope/js/layout-modes/vertical"], function (c, d, e, f, g, h) {
26153        return b(a, c, d, e, f, g, h)
26154    }) : "object" == typeof exports ? module.exports = b(a, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("./item"), require("./layout-mode"), require("./layout-modes/masonry"), require("./layout-modes/fit-rows"), require("./layout-modes/vertical")) : a.Isotope = b(a, a.Outlayer, a.getSize, a.matchesSelector, a.fizzyUIUtils, a.Isotope.Item, a.Isotope.LayoutMode)
26155}(window, function (a, b, c, d, e, f, g) {
26156    function h(a, b) {
26157        return function (c, d) {
26158            for (var e = 0, f = a.length; f > e; e++) {
26159                var g = a[e], h = c.sortData[g], i = d.sortData[g];
26160                if (h > i || i > h) {
26161                    var j = void 0 !== b[g] ? b[g] : b, k = j ? 1 : -1;
26162                    return (h > i ? 1 : -1) * k
26163                }
26164            }
26165            return 0
26166        }
26167    }
26168
26169    var i = a.jQuery, j = String.prototype.trim ? function (a) {
26170        return a.trim()
26171    } : function (a) {
26172        return a.replace(/^\s+|\s+$/g, "")
26173    }, k = document.documentElement, l = k.textContent ? function (a) {
26174        return a.textContent
26175    } : function (a) {
26176        return a.innerText
26177    }, m = b.create("isotope", {layoutMode: "masonry", isJQueryFiltering: !0, sortAscending: !0});
26178    m.Item = f, m.LayoutMode = g, m.prototype._create = function () {
26179        this.itemGUID = 0, this._sorters = {}, this._getSorters(), b.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"];
26180        for (var a in g.modes) this._initLayoutMode(a)
26181    }, m.prototype.reloadItems = function () {
26182        this.itemGUID = 0, b.prototype.reloadItems.call(this)
26183    }, m.prototype._itemize = function () {
26184        for (var a = b.prototype._itemize.apply(this, arguments), c = 0, d = a.length; d > c; c++) {
26185            var e = a[c];
26186            e.id = this.itemGUID++
26187        }
26188        return this._updateItemsSortData(a), a
26189    }, m.prototype._initLayoutMode = function (a) {
26190        var b = g.modes[a], c = this.options[a] || {};
26191        this.options[a] = b.options ? e.extend(b.options, c) : c, this.modes[a] = new b(this)
26192    }, m.prototype.layout = function () {
26193        return !this._isLayoutInited && this.options.isInitLayout ? void this.arrange() : void this._layout()
26194    }, m.prototype._layout = function () {
26195        var a = this._getIsInstant();
26196        this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, a), this._isLayoutInited = !0
26197    }, m.prototype.arrange = function (a) {
26198        function b() {
26199            d.reveal(c.needReveal), d.hide(c.needHide)
26200        }
26201
26202        this.option(a), this._getIsInstant();
26203        var c = this._filter(this.items);
26204        this.filteredItems = c.matches;
26205        var d = this;
26206        this._bindArrangeComplete(), this._isInstant ? this._noTransition(b) : b(), this._sort(), this._layout()
26207    }, m.prototype._init = m.prototype.arrange, m.prototype._getIsInstant = function () {
26208        var a = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited;
26209        return this._isInstant = a, a
26210    }, m.prototype._bindArrangeComplete = function () {
26211        function a() {
26212            b && c && d && e.dispatchEvent("arrangeComplete", null, [e.filteredItems])
26213        }
26214
26215        var b, c, d, e = this;
26216        this.once("layoutComplete", function () {
26217            b = !0, a()
26218        }), this.once("hideComplete", function () {
26219            c = !0, a()
26220        }), this.once("revealComplete", function () {
26221            d = !0, a()
26222        })
26223    }, m.prototype._filter = function (a) {
26224        var b = this.options.filter;
26225        b = b || "*";
26226        for (var c = [], d = [], e = [], f = this._getFilterTest(b), g = 0, h = a.length; h > g; g++) {
26227            var i = a[g];
26228            if (!i.isIgnored) {
26229                var j = f(i);
26230                j && c.push(i), j && i.isHidden ? d.push(i) : j || i.isHidden || e.push(i)
26231            }
26232        }
26233        return {matches: c, needReveal: d, needHide: e}
26234    }, m.prototype._getFilterTest = function (a) {
26235        return i && this.options.isJQueryFiltering ? function (b) {
26236            return i(b.element).is(a)
26237        } : "function" == typeof a ? function (b) {
26238            return a(b.element)
26239        } : function (b) {
26240            return d(b.element, a)
26241        }
26242    }, m.prototype.updateSortData = function (a) {
26243        var b;
26244        a ? (a = e.makeArray(a), b = this.getItems(a)) : b = this.items, this._getSorters(), this._updateItemsSortData(b)
26245    }, m.prototype._getSorters = function () {
26246        var a = this.options.getSortData;
26247        for (var b in a) {
26248            var c = a[b];
26249            this._sorters[b] = n(c)
26250        }
26251    }, m.prototype._updateItemsSortData = function (a) {
26252        for (var b = a && a.length, c = 0; b && b > c; c++) {
26253            var d = a[c];
26254            d.updateSortData()
26255        }
26256    };
26257    var n = function () {
26258        function a(a) {
26259            if ("string" != typeof a) return a;
26260            var c = j(a).split(" "), d = c[0], e = d.match(/^\[(.+)\]$/), f = e && e[1], g = b(f, d),
26261                h = m.sortDataParsers[c[1]];
26262            return a = h ? function (a) {
26263                return a && h(g(a))
26264            } : function (a) {
26265                return a && g(a)
26266            }
26267        }
26268
26269        function b(a, b) {
26270            var c;
26271            return c = a ? function (b) {
26272                return b.getAttribute(a)
26273            } : function (a) {
26274                var c = a.querySelector(b);
26275                return c && l(c)
26276            }
26277        }
26278
26279        return a
26280    }();
26281    m.sortDataParsers = {
26282        parseInt: function (a) {
26283            return parseInt(a, 10)
26284        }, parseFloat: function (a) {
26285            return parseFloat(a)
26286        }
26287    }, m.prototype._sort = function () {
26288        var a = this.options.sortBy;
26289        if (a) {
26290            var b = [].concat.apply(a, this.sortHistory), c = h(b, this.options.sortAscending);
26291            this.filteredItems.sort(c), a != this.sortHistory[0] && this.sortHistory.unshift(a)
26292        }
26293    }, m.prototype._mode = function () {
26294        var a = this.options.layoutMode, b = this.modes[a];
26295        if (!b) throw new Error("No layout mode: " + a);
26296        return b.options = this.options[a], b
26297    }, m.prototype._resetLayout = function () {
26298        b.prototype._resetLayout.call(this), this._mode()._resetLayout()
26299    }, m.prototype._getItemLayoutPosition = function (a) {
26300        return this._mode()._getItemLayoutPosition(a)
26301    }, m.prototype._manageStamp = function (a) {
26302        this._mode()._manageStamp(a)
26303    }, m.prototype._getContainerSize = function () {
26304        return this._mode()._getContainerSize()
26305    }, m.prototype.needsResizeLayout = function () {
26306        return this._mode().needsResizeLayout()
26307    }, m.prototype.appended = function (a) {
26308        var b = this.addItems(a);
26309        if (b.length) {
26310            var c = this._filterRevealAdded(b);
26311            this.filteredItems = this.filteredItems.concat(c)
26312        }
26313    }, m.prototype.prepended = function (a) {
26314        var b = this._itemize(a);
26315        if (b.length) {
26316            this._resetLayout(), this._manageStamps();
26317            var c = this._filterRevealAdded(b);
26318            this.layoutItems(this.filteredItems), this.filteredItems = c.c
26318oncat(this.filteredItems), this.items = b.concat(this.items)
26319        }
26320    }, m.prototype._filterRevealAdded = function (a) {
26321        var b = this._filter(a);
26322        return this.hide(b.needHide), this.reveal(b.matches), this.layoutItems(b.matches, !0), b.matches
26323    }, m.prototype.insert = function (a) {
26324        var b = this.addItems(a);
26325        if (b.length) {
26326            var c, d, e = b.length;
26327            for (c = 0; e > c; c++) d = b[c], this.element.appendChild(d.element);
26328            var f = this._filter(b).matches;
26329            for (c = 0; e > c; c++) b[c].isLayoutInstant = !0;
26330            for (this.arrange(), c = 0; e > c; c++) delete b[c].isLayoutInstant;
26331            this.reveal(f)
26332        }
26333    };
26334    var o = m.prototype.remove;
26335    return m.prototype.remove = function (a) {
26336        a = e.makeArray(a);
26337        var b = this.getItems(a);
26338        o.call(this, a);
26339        var c = b && b.length;
26340        if (c) for (var d = 0; c > d; d++) {
26341            var f = b[d];
26342            e.removeFrom(this.filteredItems, f)
26343        }
26344    }, m.prototype.shuffle = function () {
26345        for (var a = 0, b = this.items.length; b > a; a++) {
26346            var c = this.items[a];
26347            c.sortData.random = Math.random()
26348        }
26349        this.options.sortBy = "random", this._sort(), this._layout()
26350    }, m.prototype._noTransition = function (a) {
26351        var b = this.options.transitionDuration;
26352        this.options.transitionDuration = 0;
26353        var c = a.call(this);
26354        return this.options.transitionDuration = b, c
26355    }, m.prototype.getFilteredItemElements = function () {
26356        for (var a = [], b = 0, c = this.filteredItems.length; c > b; b++) a.push(this.filteredItems[b].element);
26357        return a
26358    }, m
26359}), !function (a) {
26360    function b(a) {
26361        return new RegExp("(^|\\s+)" + a + "(\\s+|$)")
26362    }
26363
26364    function c(a, b) {
26365        var c = d(a, b) ? f : e;
26366        c(a, b)
26367    }
26368
26369    var d, e, f;
26370    "classList" in document.documentElement ? (d = function (a, b) {
26371        return a.classList.contains(b)
26372    }, e = function (a, b) {
26373        a.classList.add(b)
26374    }, f = function (a, b) {
26375        a.classList.remove(b)
26376    }) : (d = function (a, c) {
26377        return b(c).test(a.className)
26378    }, e = function (a, b) {
26379        d(a, b) || (a.className = a.className + " " + b)
26380    }, f = function (a, c) {
26381        a.className = a.className.replace(b(c), " ")
26382    });
26383    var g = {hasClass: d, addClass: e, removeClass: f, toggleClass: c, has: d, add: e, remove: f, toggle: c};
26384    "function" == typeof define && define.amd ? define("classie/classie", g) : "object" == typeof exports ? module.exports = g : a.classie = g
26385}(window), function (a, b) {
26386    "function" == typeof define && define.amd ? define("packery/js/rect", b) : "object" == typeof exports ? module.exports = b() : (a.Packery = a.Packery || {}, a.Packery.Rect = b())
26387}(window, function () {
26388    function a(b) {
26389        for (var c in a.defaults) this[c] = a.defaults[c];
26390        for (c in b) this[c] = b[c]
26391    }
26392
26393    var b = window.Packery = function () {
26394    };
26395    return b.Rect = a, a.defaults = {x: 0, y: 0, width: 0, height: 0}, a.prototype.contains = function (a) {
26396        var b = a.width || 0, c = a.height || 0;
26397        return this.x <= a.x && this.y <= a.y && this.x + this.width >= a.x + b && this.y + this.height >= a.y + c
26398    }, a.prototype.overlaps = function (a) {
26399        var b = this.x + this.width, c = this.y + this.height, d = a.x + a.width, e = a.y + a.height;
26400        return this.x < d && b > a.x && this.y < e && c > a.y
26401    }, a.prototype.getMaximalFreeRects = function (b) {
26402        if (!this.overlaps(b)) return !1;
26403        var c, d = [], e = this.x + this.width, f = this.y + this.height, g = b.x + b.width, h = b.y + b.height;
26404        return this.y < b.y && (c = new a({
26405            x: this.x,
26406            y: this.y,
26407            width: this.width,
26408            height: b.y - this.y
26409        }), d.push(c)), e > g && (c = new a({
26410            x: g,
26411            y: this.y,
26412            width: e - g,
26413            height: this.height
26414        }), d.push(c)), f > h && (c = new a({
26415            x: this.x,
26416            y: h,
26417            width: this.width,
26418            height: f - h
26419        }), d.push(c)), this.x < b.x && (c = new a({
26420            x: this.x,
26421            y: this.y,
26422            width: b.x - this.x,
26423            height: this.height
26424        }), d.push(c)), d
26425    }, a.prototype.canFit = function (a) {
26426        return this.width >= a.width && this.height >= a.height
26427    }, a
26428}
26428), function (a, b) {
26429    if ("function" == typeof define && define.amd) define("packery/js/packer", ["./rect"], b); else if ("object" == typeof exports) module.exports = b(require("./rect")); else {
26430        var c = a.Packery = a.Packery || {};
26431        c.Packer = b(c.Rect)
26432    }
26433}(window, function (a) {
26434    function b(a, b, c) {
26435        this.width = a || 0, this.height = b || 0, this.sortDirection = c || "downwardLeftToRight", this.reset()
26436    }
26437
26438    b.prototype.reset = function () {
26439        this.spaces = [], this.newSpaces = [];
26440        var b = new a({x: 0, y: 0, width: this.width, height: this.height});
26441        this.spaces.push(b), this.sorter = c[this.sortDirection] || c.downwardLeftToRight
26442    }, b.prototype.pack = function (a) {
26443        for (var b = 0, c = this.spaces.length; c > b; b++) {
26444            var d = this.spaces[b];
26445            if (d.canFit(a)) {
26446                this.placeInSpace(a, d);
26447                break
26448            }
26449        }
26450    }, b.prototype.placeInSpace = function (a, b) {
26451        a.x = b.x, a.y = b.y, this.placed(a)
26452    }, b.prototype.placed = function (a) {
26453        for (var b = [], c = 0, d = this.spaces.length; d > c; c++) {
26454            var e = this.spaces[c], f = e.getMaximalFreeRects(a);
26455            f ? b.push.apply(b, f) : b.push(e)
26456        }
26457        this.spaces = b, this.mergeSortSpaces()
26458    }, b.prototype.mergeSortSpaces = function () {
26459        b.mergeRects(this.spaces), this.spaces.sort(this.sorter)
26460    }, b.prototype.addSpace = function (a) {
26461        this.spaces.push(a), this.mergeSortSpaces()
26462    }, b.mergeRects = function (a) {
26463        for (var b = 0, c = a.length; c > b; b++) {
26464            var d = a[b];
26465            if (d) {
26466                var e = a.slice(0);
26467                e.splice(b, 1);
26468                for (var f = 0, g = 0, h = e.length; h > g; g++) {
26469                    var i = e[g], j = b > g ? 0 : 1;
26470                    d.contains(i) && (a.splice(g + j - f, 1), f++)
26471                }
26472            }
26473        }
26474        return a
26475    };
26476    var c = {
26477        downwardLeftToRight: function (a, b) {
26478            return a.y - b.y || a.x - b.x
26479        }, rightwardTopToBottom: function (a, b) {
26480            return a.x - b.x || a.y - b.y
26481        }
26482    };
26483    return b
26484}), function (a, b) {
26485    "function" == typeof define && define.amd ? define("packery/js/item", ["get-style-property/get-style-property", "outlayer/outlayer", "./rect"], b) : "object" == typeof exports ? module.exports = b(require("desandro-get-style-property"), require("outlayer"), require("./rect")) : a.Packery.Item = b(a.getStyleProperty, a.Outlayer, a.Packery.Rect)
26486}(window, function (a, b, c) {
26487    var d = a("transform"), e = function () {
26488        b.Item.apply(this, arguments)
26489    };
26490    e.prototype = new b.Item;
26491    var f = e.prototype._create;
26492    return e.prototype._create = function () {
26493        f.call(this), this.rect = new c, this.placeRect = new c
26494    }, e.prototype.dragStart = function () {
26495        this.getPosition(), this.removeTransitionStyles(), this.isTransitioning && d && (this.element.style[d] = "none"), this.getSize(), this.isPlacing = !0, this.needsPositioning = !1, this.positionPlaceRect(this.position.x, this.position.y), this.isTransitioning = !1, this.didDrag = !1
26496    }, e.prototype.dragMove = function (a, b) {
26497        this.didDrag = !0;
26498        var c = this.layout.size;
26499        a -= c.paddingLeft, b -= c.paddingTop, this.positionPlaceRect(a, b)
26500    }, e.prototype.dragStop = function () {
26501        this.getPosition();
26502        var a = this.position.x != this.placeRect.x, b = this.position.y != this.placeRect.y;
26503        this.needsPositioning = a || b, this.didDrag = !1
26504    }, e.prototype.positionPlaceRect = function (a, b, c) {
26505        this.placeRect.x = this.getPlaceRectCoord(a, !0), this.placeRect.y = this.getPlaceRectCoord(b, !1, c)
26506    }, e.prototype.getPlaceRectCoord = function (a, b, c) {
26507        var d = b ? "Width" : "Height", e = this.size["outer" + d], f = this.layout[b ? "columnWidth" : "rowHeight"],
26508            g = this.layout.size["inner" + d];
26509        b || (g = Math.max(g, this.layout.maxY), this.layout.rowHeight || (g -= this.layout.gutter));
26510        var h;
26511        if (f) {
26512            f += this.layout.gutter, g += b ? this.layout.gutter : 0, a = Math.round(a / f);
26513            var i;
26514            i = this.layout.options.isHorizontal ? b ? "ceil" : "floor" : b ? "floor" : "ceil";
26515            var j = Math[i](g / f);
26516            j -= Math.ceil(e / f), h = j
26517        } else h = g - e;
26518        return a = c ? a : Math.min(a, h), a *= f || 1, Math.max(0, a)
26519    }, e.prototype.copyPlaceRectPosition = function () {
26520        this.rect.x = this.placeRect.x, this.rect.y = this.placeRect.y
26521    }, e.prototype.removeElem = function () {
26522        this.element.parentNode.removeChild(this.element), this.layout.packer.addSpace(this.rect), this.emitEvent("remove", [this])
26523    }, e
26524}), function (a, b) {
26525    "function" == typeof define && define.amd ? define("packery/js/packery", ["classie/classie", "get-size/get-size", "outlayer/outlayer", "./rect", "./packer", "./item"], b) : "object" == typeof exports ? module.exports = b(require("desandro-classie"), require("get-size"), require("outlayer"), require("./rect"), require("./packer"), require("./item")) : a.Packery = b(a.classie, a.getSize, a.Outlayer, a.Packery.Rect, a.Packery.Packer, a.Packery.Item)
26526}(window, function (a, b, c, d, e, f) {
26527    function g(a, b) {
26528        return a.position.y - b.position.y || a.position.x - b.position.x
26529    }
26530
26531    function h(a, b) {
26532        return a.position.x - b.position.x || a.position.y - b.position.y
26533    }
26534
26535    d.prototype.canFit = function (a) {
26536        return this.width >= a.width - 1 && this.height >= a.height - 1
26537    };
26538    var i = c.create("packery");
26539    return i.Item = f, i.prototype._create = function () {
26540        c.prototype._create.call(this), this.packer = new e, this.stamp(this.options.stamped);
26541        var a = this;
26542        this.handleDraggabilly = {
26543            dragStart: function () {
26544                a.itemDragStart(this.element)
26545            }, dragMove: function () {
26546                a.itemDragMove(this.element, this.position.x, this.position.y)
26547            }, dragEnd: function () {
26548                a.itemDragEnd(this.element)
26549            }
26550        }, this.handleUIDraggable = {
26551            start: function (b) {
26552                a.itemDragStart(b.currentTarget)
26553            }, drag: function (b, c) {
26554                a.itemDragMove(b.currentTarget, c.position.left, c.position.top)
26555            }, stop: function (b) {
26556                a.itemDragEnd(b.currentTarget)
26557            }
26558        }
26559    }, i.prototype._resetLayout = function () {
26560        this.getSize(), this._getMeasurements();
26561        var a = this.packer;
26562        this.options.isHorizontal ? (a.width = Number.POSITIVE_INFINITY, a.height = this.size.innerHeight + this.gutter, a.sortDirection = "rightwardTopToBottom") : (a.width = this.size.innerWidth + this.gutter, a.height = Number.POSITIVE_INFINITY, a.sortDirection = "downwardLeftToRight"), a.reset(), this.maxY = 0, this.maxX = 0
26563    }, i.prototype._getMeasurements = function () {
26564        this._getMeasurement("columnWidth", "width"), this._getMeasurement("rowHeight", "height"), this._getMeasurement("gutter", "width")
26565    }, i.prototype._getItemLayoutPosition = function (a) {
26566        return this._packItem(a), a.rect
26567    }, i.prototype._packItem = function (a) {
26568        this._setRectSize(a.element, a.rect), this.packer.pack(a.rect), this._setMaxXY(a.rect)
26569    }, i.prototype._setMaxXY = function (a) {
26570        this.maxX = Math.max(a.x + a.width, this.maxX), this.maxY = Math.max(a.y + a.height, this.maxY)
26571    }, i.prototype._setRectSize = function (a, c) {
26572        var d = b(a), e = d.outerWidth, f = d.outerHeight;
26573        (e || f) && (e = this._applyGridGutter(e, this.columnWidth), f = this._applyGridGutter(f, this.rowHeight)), c.width = Math.min(e, this.packer.width), c.height = Math.min(f, this.packer.height)
26574    }, i.prototype._applyGridGutter = function (a, b) {
26575        if (!b) return a + this.gutter;
26576        b += this.gutter;
26577        var c = a % b, d = c && 1 > c ? "round" : "ceil";
26578        return a = Math[d](a / b) * b
26579    }, i.prototype._getContainerSize = function () {
26580        return this.options.isHorizontal ? {width: this.maxX - this.gutter} : {height: this.maxY - this.gutter}
26581    }, i.prototype._manageStamp = function (a) {
26582        var b, c = this.getItem(a);
26583        if (c && c.isPlacing) b = c.placeRect; else {
26584            var e = this._getElementOffset(a);
26585            b = new d({x: this.options.isOriginLeft ? e.left : e.right, y: this.options.isOriginTop ? e.top : e.bottom})
26586        }
26587        this._setRectSize(a, b), this.packer.placed(b), this._setMaxXY(b)
26588    }, i.prototype.sortItemsByPosition = function () {
26589        var a = this.options.isHorizontal ? h : g;
26590        this.items.sort(a)
26591    }, i.prototype.fit = function (a, b, c) {
26592        var d = this.getItem(a);
26593        d && (this._getMeasurements(), this.stamp(d.element), d.getSize(), d.isPlacing = !0, b = void 0 === b ? d.rect.x : b, c = void 0 === c ? d.rect.y : c, d.positionPlaceRect(b, c, !0), this._bindFitEvents(d), d.moveTo(d.placeRect.x, d.placeRect.y), this.layout(), this.unstamp(d.element), this.sortItemsByPosition(), d.isPlacing = !1, d.copyPlaceRectPosition())
26594    }, i.prototype._bindFitEvents = function (a) {
26595        function b() {
26596            d++, 2 == d && c.emitEvent("fitComplete", [a])
26597        }
26598
26599        var c = this, d = 0;
26600        a.on("layout", function () {
26601            return b(), !0
26602        }), this.on("layoutComplete", function () {
26603            return b(), !0
26604        })
26605    }, i.prototype.resize = function () {
26606        var a = b(this.element), c = this.size && a, d = this.options.isHorizontal ? "innerHeight" : "innerWidth";
26607        c && a[d] == this.size[d] || this.layout()
26608    }, i.prototype.itemDragStart = function (a) {
26609        this.stamp(a);
26610        var b = this.getItem(a);
26611        b && b.dragStart()
26612    }, i.prototype.itemDragMove = function (a, b, c) {
26613        function d() {
26614            f.layout(), delete f.dragTimeout
26615        }
26616
26617        var e = this.getItem(a);
26618        e && e.dragMove(b, c);
26619        var f = this;
26620        this.clearDragTimeout(), this.dragTimeout = setTimeout(d, 40)
26621    }, i.prototype.clearDragTimeout = function () {
26622        this.dragTimeout && clearTimeout(this.dragTimeout)
26623    }, i.prototype.itemDragEnd = function (b) {
26624        var c, d = this.getItem(b);
26625        if (d && (c = d.didDrag, d.dragStop()), !d || !c && !d.needsPositioning) return void this.unstamp(b);
26626        a.add(d.element, "is-positioning-post-drag");
26627        var e = this._getDragEndLayoutComplete(b, d);
26628        d.needsPositioning ? (d.on("layout", e), d.moveTo(d.placeRect.x, d.placeRect.y)) : d && d.copyPlaceRectPosition(), this.clearDragTimeout(), this.on("layoutComplete", e), this.layout()
26629    }, i.prototype._getDragEndLayoutComplete = function (b, c) {
26630        var d = c && c.needsPositioning, e = 0, f = d ? 2 : 1, g = this;
26631        return function () {
26632            return e++, e != f ? !0 : (c && (a.remove(c.element, "is-positioning-post-drag"), c.isPlacing = !1, c.copyPlaceRectPosition()), g.unstamp(b), g.sortItems
26632ByPosition(), d && g.emitEvent("dragItemPositioned", [c]), !0)
26633        }
26634    }, i.prototype.bindDraggabillyEvents = function (a) {
26635        a.on("dragStart", this.handleDraggabilly.dragStart), a.on("dragMove", this.handleDraggabilly.dragMove), a.on("dragEnd", this.handleDraggabilly.dragEnd)
26636    }, i.prototype.bindUIDraggableEvents = function (a) {
26637        a.on("dragstart", this.handleUIDraggable.start).on("drag", this.handleUIDraggable.drag).on("dragstop", this.handleUIDraggable.stop)
26638    }, i.Rect = d, i.Packer = e, i
26639}), function (a, b) {
26640    "function" == typeof define && define.amd ? define(["isotope/js/layout-mode", "packery/js/packery", "get-size/get-size"], b) : "object" == typeof exports ? module.exports = b(require("isotope-layout/js/layout-mode"), require("packery"), require("get-size")) : b(a.Isotope.LayoutMode, a.Packery, a.getSize)
26641}(window, function (a, b, c) {
26642    function d(a, b) {
26643        for (var c in b) a[c] = b[c];
26644        return a
26645    }
26646
26647    var e = a.create("packery"), f = e.prototype._getElementOffset, g = e.prototype._getMeasurement;
26648    d(e.prototype, b.prototype), e.prototype._getElementOffset = f, e.prototype._getMeasurement = g;
26649    var h = e.prototype._resetLayout;
26650    e.prototype._resetLayout = function () {
26651        this.packer = this.packer || new b.Packer, h.apply(this, arguments)
26652    };
26653    var i = e.prototype._getItemLayoutPosition;
26654    e.prototype._getItemLayoutPosition = function (a) {
26655        return a.rect = a.rect || new b.Rect, i.call(this, a)
26656    };
26657    var j = e.prototype._manageStamp;
26658    return e.prototype._manageStamp = function () {
26659        this.options.isOriginLeft = this.isotope.options.isOriginLeft, this.options.isOriginTop = this.isotope.options.isOriginTop, j.apply(this, arguments)
26660    }, e.prototype.needsResizeLayout = function () {
26661        var a = c(this.element), b = this.size && a, d = this.options.isHorizontal ? "innerHeight" : "innerWidth";
26662        return b && a[d] != this.size[d]
26663    }, e
26664}), !function (e, n) {
26665    "use strict";
26666    "function" == typeof define && define.amd ? define(["jquery"], function (o) {
26667        return n(o, e, e.document, e.Math)
26668    }) : "undefined" != typeof exports ? module.exports = n(require("jquery"), e, e.document, e.Math) : n(jQuery, e, e.document, e.Math)
26669}("undefined" != typeof window ? window : this, function (e, n, o, t, i) {
26670    "use strict";
26671    var l, a = "fullpage-wrapper", r = "." + a, s = "fp-scrollable", c = "." + s, f = ".slimScrollBar",
26672        d = ".slimScrollRail", u = "fp-responsive", p = "fp-notransition", h = "fp-destroyed", v = "fp-enabled",
26673        m = "fp-viewing", g = "active", S = "." + g, w = ".section", y = "fp-section", x = "." + y, b = x + S,
26674        T = x + ":first", C = x + ":last", k = "fp-tableCell", A = "." + k, B = "fp-auto-height",
26675        M = "fp-normal-scroll", L = "fp-nav", E = "#" + L, R = "fp-tooltip", F = "." + R, H = "fp-show-active",
26676        q = ".slide", O = "fp-slide", z = "." + O, D = z + S, I = "fp-slides", P = "." + I, V = "fp-slidesContainer",
26677        W = "." + V, Y = "fp-table", U = "fp-slidesNav", X = "." + U, N = X + " a", K = "fp-controlArrow", j = "." + K,
26678        Q = "fp-prev", G = "." + Q, J = K + " " + Q, Z = j + G, $ = "fp-next", _ = "." + $, ee = K + " " + $,
26679        ne = j + _, oe = e(n), te = e(o);
26680    e.fn.fullpage = function (s) {
26681        function c() {
26682            s.css3 && (s.css3 = mn()), s.scrollBar = s.scrollBar || s.hybrid, d(), K(), Hn.setAllowScrolling(!0), Wn = oe.height(), Hn.setAutoScrolling(s.autoScrolling, "internal");
26683            var n = e(b).find(D);
26684            n.length && (0 !== e(b).index(x) || 0 === e(b).index(x) && 0 !== n.index()) && Tn(n), je(), vn(), oe.on("load", function () {
26685                Fe()
26686            })
26687        }
26688
26689        function f() {
26690            oe.on("scroll", ce).on("hashchange", He).blur(Ve).resize(Ke), Vn.mousedown(De).mouseup(Ie), te.keydown(qe).keyup(ze).on("click touchstart", E + " a", We).on("click touchstart", N, Ye).on("click", F, Oe), e(x).on("click touchstart", j, Pe), s.normalScrollElements && (te.on("mouseenter", s.normalScrollElements, function () {
26691                Hn.setMouseWheelScrolling(!1)
26692            }), te.on("mouseleave", s.normalScrollElements, function () {
26693                Hn.setMouseWheelScrolling(!0)
26694            }))
26695        }
26696
26697        function d() {
26698            s.anchors.length || (s.anchors = e(s.sectionSelector + "[data-anchor]").map(function () {
26699                return e(this).data("anchor").toString()
26700            }).get()), s.navigationTooltips.length || (s.navigationTooltips = e(s.sectionSelector + "[data-tooltip]").map(function () {
26701                return e(this).data("tooltip").toString()
26702            }).get())
26703        }
26704
26705        function K() {
26706            Vn.css({
26707                height: "100%",
26708                position: "relative"
26709            }), Vn.addClass(a), e("html").addClass(v), Vn.removeClass(h), ie(), e(x).each(function (n) {
26710                var o = e(this), t = o.find(z), i = t.length;
26711                $(o, n), _(o, n), i > 0 ? G(o, t, i) : s.verticalCentered && tn(o)
26712            }), s.fixedElements && s.css3 && e(s.fixedElements).appendTo(Fn), s.navigation && ae(), s.scrollOverflow ? ("complete" === o.readyState && re(), oe.on("load", re)) : se()
26713        }
26714
26715        function G(n, o, t) {
26716            var i = 100 * t, l = 100 / t;
26717            o.wrapAll('<div class="' + V + '" />'), o.parent().wrap('<div class="' + I + '" />'), n.find(W).css("width", i + "%"), t > 1 && (s.controlArrows && le(n), s.slidesNavigation && dn(n, t)), o.each(function (n) {
26718                e(this).css("width", l + "%"), s.verticalCentered && tn(e(this))
26719            });
26720            var a = n.find(D);
26721            a.length && (0 !== e(b).index(x) || 0 === e(b).index(x) && 0 !== a.index()) ? Tn(a) : o.eq(0).addClass(g)
26722        }
26723
26724        function $(n, o) {
26725            o || 0 !== e(b).length || n.addClass(g), n.css("height", Wn + "px"), s.paddingTop && n.css("padding-top", s.paddingTop), s.paddingBottom && n.css("padding-bottom", s.paddingBottom), "undefined" != typeof s.sectionsColor[o] && n.css("background-color", s.sectionsColor[o]), "undefined" != typeof s.anchors[o] && n.attr("data-anchor", s.anchors[o])
26726        }
26727
26728        function _(n, o) {
26729            "undefined" != typeof s.anchors[o] && n.hasClass(g) && _e(s.anchors[o], o), s.menu && s.css3 && e(s.menu).closest(r).length && e(s.menu).appendTo(Fn)
26730        }
26731
26732        function ie() {
26733            e(s.sectionSelector).each(function () {
26734                e(this).addClass(y)
26735            }), e(s.slideSelector).each(function () {
26736                e(this).addClass(O)
26737            })
26738        }
26739
26740        function le(e) {
26741            e.find(P).after('<div class="' + J + '"></div><div class="' + ee + '"></div>'), "#fff" != s.controlArrowColor && (e.find(ne).css("border-color", "transparent transparent transparent " + s.controlArrowColor), e.find(Z).css("border-color", "transparent " + s.controlArrowColor + " transparent transparent")), s.loopHorizontal || e.find(Z).hide()
26742        }
26743
26744        function ae() {
26745            Fn.append('<div id="' + L + '"><ul></ul></div>');
26746            var n = e(E);
26747            n.addClass(function () {
26748                return s.showActiveTooltip ? H + " " + s.navigationPosition : s.navigationPosition
26749            });
26750            for (var o = 0; o < e(x).length; o++) {
26751                var t = "";
26752                s.anchors.length && (t = s.anchors[o]);
26753                var i = '<li><a href="#' + t + '"><span></span></a>', l = s.navigationTooltips[o];
26754                "undefined" != typeof l && "" !== l && (i += '<div class="' + R + " " + s.navigationPosition + '">' + l + "</div>"), i += "</li>", n.find("ul").append(i)
26755            }
26756            e(E).css("margin-top", "-" + e(E).height() / 2 + "px"), e(E).find("li").eq(e(b).index(x)).find("a").addClass(g)
26757        }
26758
26759        function re() {
26760            e(x).each(function () {
26761                var n = e(this).find(z);
26762                n.length ? n.each(function () {
26763                    on(e(this))
26764                }) : on(e(this))
26765            }), se()
26766        }
26767
26768        function se() {
26769            var n = e(b);
26770            n.addClass("completely"), s.scrollOverflowHandler.afterRe
26770nder && s.scrollOverflowHandler.afterRender(n), Me(n), Le(n), e.isFunction(s.afterLoad) && s.afterLoad.call(n, n.data("anchor"), n.index(x) + 1), e.isFunction(s.afterRender) && s.afterRender.call(Vn)
26771        }
26772
26773        function ce() {
26774            var n;
26775            if (!s.autoScrolling || s.scrollBar) {
26776                for (var t = oe.scrollTop(), i = de(t), l = 0, a = t + oe.height() / 2, r = o.querySelectorAll(x), c = 0; c < r.length; ++c) {
26777                    var f = r[c];
26778                    f.offsetTop <= a && (l = c)
26779                }
26780                if (fe(i) && (e(b).hasClass("completely") || e(b).addClass("completely").siblings().removeClass("completely")), n = e(r).eq(l), !n.hasClass(g)) {
26781                    eo = !0;
26782                    var d = e(b), u = d.index(x) + 1, p = en(n), h = n.data("anchor"), v = n.index(x) + 1,
26783                        m = n.find(D);
26784                    if (m.length) var S = m.data("anchor"), w = m.index();
26785                    Xn && (n.addClass(g).siblings().removeClass(g), e.isFunction(s.onLeave) && s.onLeave.call(d, u, v, p), e.isFunction(s.afterLoad) && s.afterLoad.call(n, h, v), Me(n), _e(h, v - 1), s.anchors.length && (qn = h, un(w, S, h, v))), clearTimeout(Jn), Jn = setTimeout(function () {
26786                        eo = !1
26787                    }, 100)
26788                }
26789                s.fitToSection && (clearTimeout(Zn), Zn = setTimeout(function () {
26790                    Xn && s.fitToSection && (e(b).is(n) && requestAnimFrame(function () {
26791                        Yn = !0
26792                    }), be(n), requestAnimFrame(function () {
26793                        Yn = !1
26794                    }))
26795                }, s.fitToSectionDelay))
26796            }
26797        }
26798
26799        function fe(n) {
26800            var o = e(b).position().top, t = o + oe.height();
26801            return "up" == n ? t >= oe.scrollTop() + oe.height() : o <= oe.scrollTop()
26802        }
26803
26804        function de(e) {
26805            var n = e > no ? "down" : "up";
26806            return no = e, n
26807        }
26808
26809        function ue(e, n) {
26810            if (Kn.m[e]) {
26811                var o, t;
26812                if ("down" == e ? (o = "bottom", t = Hn.moveSectionDown) : (o = "top", t = Hn.moveSectionUp), n.length > 0) {
26813                    if (!s.scrollOverflowHandler.isScrolled(o, n)) return !0;
26814                    t()
26815                } else t()
26816            }
26817        }
26818
26819        function pe(n) {
26820            var o = n.originalEvent;
26821            if (!he(n.target) && ve(o)) {
26822                s.autoScrolling && n.preventDefault();
26823                var i = e(b), l = s.scrollOverflowHandler.scrollable(i);
26824                if (Xn && !Dn) {
26825                    var a = bn(o);
26826                    io = a.y, lo = a.x, i.find(P).length && t.abs(to - lo) > t.abs(oo - io) ? t.abs(to - lo) > oe.outerWidth() / 100 * s.touchSensitivity && (to > lo ? Kn.m.right && Hn.moveSlideRight() : Kn.m.left && Hn.moveSlideLeft()) : s.autoScrolling && t.abs(oo - io) > oe.height() / 100 * s.touchSensitivity && (oo > io ? ue("down", l) : io > oo && ue("up", l))
26827                }
26828            }
26829        }
26830
26831        function he(n, o) {
26832            o = o || 0;
26833            var t = e(n).parent();
26834            return o < s.normalScrollElementTouchThreshold && t.is(s.normalScrollElements) ? !0 : o == s.normalScrollElementTouchThreshold ? !1 : he(t, ++o)
26835        }
26836
26837        function ve(e) {
26838            return "undefined" == typeof e.pointerType || "mouse" != e.pointerType
26839        }
26840
26841        function me(e) {
26842            var n = e.originalEvent;
26843            if (s.fitToSection && Rn.stop(), ve(n)) {
26844                var o = bn(n);
26845                oo = o.y, to = o.x
26846            }
26847        }
26848
26849        function ge(e, n) {
26850            for (var o = 0, i = e.slice(t.max(e.length - n, 1)), l = 0; l < i.length; l++) o += i[l];
26851            return t.ceil(o / n)
26852        }
26853
26854        function Se(o) {
26855            var i = (new Date).getTime(), l = e(".completely").hasClass(M);
26856            if (s.autoScrolling && !zn && !l) {
26857                o = o || n.event;
26858                var a = o.wheelDelta || -o.deltaY || -o.detail, r = t.max(-1, t.min(1, a)),
26859                    c = "undefined" != typeof o.wheelDeltaX || "undefined" != typeof o.deltaX,
26860                    f = t.abs(o.wheelDeltaX) < t.abs(o.wheelDelta) || t.abs(o.deltaX) < t.abs(o.deltaY) || !c;
26861                Nn.length > 149 && Nn.shift(), Nn.push(t.abs(a)), s.scrollBar && (o.preventDefault ? o.preventDefault() : o.returnValue = !1);
26862                var d = e(b), u = s.scrollOverflowHandler.scrollable(d), p = i - ao;
26863                if (ao = i, p > 200 && (Nn = []), Xn) {
26864                    var h = ge(Nn, 10), v = ge(Nn, 70), m = h >= v;
26865                    m && f && (0 > r ? ue("down", u) : ue("up", u))
26866                }
26867                return !1
26868            }
26869            s.fitToSection && Rn.stop()
26870        }
26871
26872        function we(n, o) {
26873            var t = "undefined" == typeof o ? e(b) : o, i = t.find(P), l = i.find(z).length;
26874            if (!(!i.length || Dn || 2 > l)) {
26875                var a = i.find(D), r = null;
26876                if (r = "prev" === n ? a.prev(z) : a.next(z), !r.length) {
26877                    if (!s.loopHorizontal) return;
26878                    r = "prev" === n ? a.siblings(":last") : a.siblings(":first")
26879                }
26880                Dn = !0, Ne(i, r)
26881            }
26882        }
26883
26884        function ye() {
26885            e(D).each(function () {
26886                Tn(e(this), "internal")
26887            })
26888        }
26889
26890        function xe(e, n) {
26891            var o = e.top;
26892            return e.top > ro && (o = o - Wn + n.outerHeight()), ro = o, o
26893        }
26894
26895        function be(n, o, t) {
26896            requestAnimFrame(function () {
26897                var i = n.position();
26898                if ("undefined" != typeof i) {
26899                    var l = xe(i, n), a = {
26900                        element: n,
26901                        callback: o,
26902                        isMovementUp: t,
26903                        dest: i,
26904                        dtop: l,
26905                        yMovement: en(n),
26906                        anchorLink: n.data("anchor"),
26907                        sectionIndex: n.index(x),
26908                        activeSlide: n.find(D),
26909                        activeSection: e(b),
26910                        leavingSection: e(b).index(x) + 1,
26911                        localIsResizing: Yn
26912                    };
26913                    if (!(a.activeSection.is(n) && !Yn || s.scrollBar && oe.scrollTop() === a.dtop && !n.hasClass(B))) {
26914                        if (a.activeSlide.length) var r = a.activeSlide.data("anchor"), c = a.activeSlide.index();
26915                        s.autoScrolling && s.continuousVertical && "undefined" != typeof a.isMovementUp && (!a.isMovementUp && "up" == a.yMovement || a.isMovementUp && "down" == a.yMovement) && (a = ke(a)), (!e.isFunction(s.onLeave) || a.localIsResizing || s.onLeave.call(a.activeSection, a.leavingSection, a.sectionIndex + 1, a.yMovement) !== !1) && (Ee(a.activeSection), n.addClass(g).siblings().removeClass(g), Me(n), Xn = !1, un(c, r, a.anchorLink, a.sectionIndex), Te(a), qn = a.anchorLink, _e(a.anchorLink, a.sectionIndex))
26916                    }
26917                }
26918            })
26919        }
26920
26921        function Te(n) {
26922            if (s.css3 && s.autoScrolling && !s.scrollBar) {
26923                var o = "translate3d(0px, -" + n.dtop + "px, 0px)";
26924                an(o, !0), s.scrollingSpeed ? Qn = setTimeout(function () {
26925                    Be(n)
26926                }, s.scrollingSpeed) : Be(n)
26927            } else {
26928                var t = Ce(n);
26929                e(t.element).animate(t.options, s.scrollingSpeed, s.easing).promise().done(function () {
26930                    s.scrollBar ? setTimeout(function () {
26931                        Be(n)
26932                    }, 30) : Be(n)
26933                })
26934            }
26935        }
26936
26937        function Ce(e) {
26938            var n = {};
26939            return s.autoScrolling && !s.scrollBar ? (n.options = {top: -e.dtop}, n.element = r) : (n.options = {scrollTop: e.dtop}, n.element = "html, body"), n
26940        }
26941
26942        function ke(n) {
26943            return n.isMovementUp ? e(b).before(n.activeSection.nextAll(x)) : e(b).after(n.activeSection.prevAll(x).get().reverse()), Cn(e(b).position().top), ye(), n.wrapAroundElements = n.activeSection, n.dest = n.element.position(), n.dtop = n.dest.top, n.yMovement = en(n.element), n
26944        }
26945
26946        function Ae(n) {
26947            n.wrapAroundElements && n.wrapAroundElements.length && (n.isMovementUp ? e(T).before(n.wrapAroundElements) : e(C).after(n.wrapAroundElements), Cn(e(b).position().top), ye())
26948        }
26949
26950        function Be(n) {
26951            Ae(n), n.element.find(".fp-scrollable").mouseover(), e.isFunction(s.afterLoad) && !n.localIsResizing && s.afterLoad.call(n.element, n.anchorLink, n.sectionIndex + 1), Le(n.element), n.element.addClass("completely").siblings().removeClass("completely"), Xn = !0, e.isFunction(n.callback) && n.callback.call(this)
26952        }
26953
26954        function Me(n) {
26955            var n = Re(n);
26956            n.find("img[data-src], source[data-src], audio[data-src]").each(function () {
26957                e(this).attr("src", e(this).data("src")), e(this).removeAttr("data-src"), e(this).is("source") && e(this).closest("video").get(0).load()
26958            })
26959        }
26960
26961        function Le(n) {
26962            var n = Re(n);
26963            n.find("video, audio").each(function () {
26964                var n = e(this).get(0);
26965                n.hasAttribute("autoplay") && "function" == typeof n.play && n.play()
26966            })
26967        }
26968
26969        function Ee(n) {
26970            var n = Re(n);
26971            n.find("video, audio").each(function () {
26972                var n = e(this).get(0);
26973                n.hasAttribute("data-ignore") || "function" != typeof n.pause || n.pause()
26974            })
26975        }
26976
26977        function Re(n) {
26978            var o = n.find(D);
26979            return o.length && (n = e(o)), n
26980        }
26981
26982        function Fe() {
26983            var e = n.location.hash.replace("#", "").split("/"), o = e[0], t = e[1];
26984            o && (s.animateAnchor ? cn(o, t) : Hn.silentMoveTo(o, t))
26985        }
26986
26987        function He() {
26988            if (!eo && !s.lockAnchors) {
26989                var e = n.location.hash.replace("#", "").split("/"), o = e[0], t = e[1], i = "undefined" == typeof qn,
26990                    l = "undefined" == typeof qn && "undefined" == typeof t && !Dn;
26991                o.length && (o && o !== qn && !i || l || !Dn && On != t) && cn(o, t)
26992            }
26993        }
26994
26995        function qe(n) {
26996            clearTimeout($n);
26997            var o = e(":focus");
26998            if (!o.is("textarea") && !o.is("input") && !o.is("select") && s.keyboardScrolling && s.autoScrolling) {
26999                var t = n.which, i = [40, 38, 32, 33, 34];
27000                e.inArray(t, i) > -1 && n.preventDefault(), zn = n.ctrlKey, $n = setTimeout(function () {
27001                    Ue(n)
27002                }, 150)
27003            }
27004        }
27005
27006        function Oe() {
27007            e(this).prev().trigger("click")
27008        }
27009
27010        function ze(e) {
27011            Un && (zn = e.ctrlKey)
27012        }
27013
27014        function De(e) {
27015            2 == e.which && (so = e.pageY, Vn.on("mousemove", Xe))
27016        }
27017
27018        function Ie(e) {
27019            2 == e.which && Vn.off("mousemove")
27020        }
27021
27022        function Pe() {
27023            var n = e(this).closest(x);
27024            e(this).hasClass(Q) ? Kn.m.left && Hn.moveSlideLeft(n) : Kn.m.right && Hn.moveSlideRight(n)
27025        }
27026
27027        function Ve() {
27028            Un = !1, zn = !1
27029        }
27030
27031        function We(n) {
27032            n.preventDefault();
27033            var o = e(this).parent().index();
27034            be(e(x).eq(o))
27035        }
27036
27037        function Ye(n) {
27038            n.preventDefault();
27039            var o = e(this).closest(x).find(P), t = o.find(z).eq(e(this).closest("li").index());
27040            Ne(o, t)
27041        }
27042
27043        function Ue(n) {
27044            var o = n.shiftKey;
27045            switch (n.which) {
27046                case 38:
27047                case 33:
27048                    Kn.k.up && Hn.moveSectionUp();
27049                    break;
27050                case 32:
27051                    if (o && Kn.k.up) {
27052                        Hn.moveSectionUp();
27053                        break
27054                    }
27055                case 40:
27056                case 34:
27057                    Kn.k.down && Hn.moveSectionDown();
27058                    break;
27059                case 36:
27060                    Kn.k.up && Hn.moveTo(1);
27061                    break;
27062                case 35:
27063                    Kn.k.down && Hn.moveTo(e(x).length);
27064                    break;
27065                case 37:
27066                    Kn.k.left && Hn.moveSlideLeft();
27067                    break;
27068                case 39:
27069                    Kn.k.right && Hn.moveSlideRight();
27070                    break;
27071                default:
27072                    return
27073            }
27074        }
27075
27076        function Xe(e) {
27077            Xn && (e.pageY < so ? Hn.moveSectionUp() : e.pageY > so && Hn.moveSectionDown()), so = e.pageY
27078        }
27079
27080        function Ne(n, o) {
27081            var i = o.position(), l = o.index(), a = n.closest(x), r = a.index(x), c = a.data("anchor"), f = a.find(X),
27082                d = hn(o), u = a.find(D), p = Yn;
27083            if (s.onSlideLeave) {
27084                var h = u.index(), v = nn(h, l);
27085                if (!p && "none" !== v && e.isFunction(s.onSlideLeave) && s.onSlideLeave.call(u, c, r + 1, h, v, l) === !1) return void (Dn = !1)
27086            }
27087            Ee(u), o.addClass(g).siblings().removeClass(g), p || Me(o), !s.loopHorizontal && s.controlArrows && (a.find(Z).toggle(0 !== l), a.find(ne).toggle(!o.is(":last-child"))), a.hasClass(g) && un(l, d, c, r);
27088            var m = function () {
27089                p || e.isFunction(s.afterSlideLoad) && s.afterSlideLoad.call(o, c, r + 1, d, l), Le(o), Dn = !1
27090            };
27091            if (s.css3) {
27092                var w = "translate3d(-" + t.round(i.left) + "px, 0px, 0px)";
27093                Qe(n.find(W), s.scrollingSpeed > 0).css(kn(w)), Gn = setTimeout(function () {
27094                    m()
27095                }, s.scrollingSpeed, s.easing)
27096            } else n.animate({scrollLeft: t.round(i.left)}, s.scrollingSpeed, s.easing, function () {
27097                m()
27098            });
27099            f.find(S).removeClass(g), f.find("li").eq(l).find("a").addClass(g)
27100        }
27101
27102        function Ke() {
27103            if (je(), In) {
27104                var n = e(o.activeElement);
27105                if (!n.is("textarea") && !n.is("input") && !n.is("select")) {
27106                    var i = oe.height();
27107                    t.abs(i - co) > 20 * t.max(co, i) / 100 && (Hn.reBuild(!0), co = i)
27108                }
27109            } else clearTimeout(jn), jn = setTimeout(function () {
27110                Hn.reBuild(!0)
27111            }, 350)
27112        }
27113
27114        function je() {
27115            var e = s.responsive || s.responsiveWidth, n = s.responsiveHeight, o = e && oe.outerWidth() < e,
27116                t = n && oe.height() < n;
27117            e && n ? Hn.setResponsive(o || t) : e ? Hn.setResponsive(o) : n && Hn.setResponsive(t)
27118        }
27119
27120        function Qe(e) {
27121            var n = "all " + s.scrollingSpeed + "ms " + s.easingcss3;
27122            return e.removeClass(p), e.css({"-webkit-transition": n, transition: n})
27123        }
27124
27125        function Ge(e) {
27126            return e.addClass(p)
27127        }
27128
27129        function Je(e, n) {
27130            var o = 825, i = 900;
27131            if (o > e || i > n) {
27132                var l = 100 * e / o, a = 100 * n / i, r = t.min(l, a), s = r.toFixed(2);
27133                Fn.css("font-size", s + "%")
27134            } else Fn.css("font-size", "100%")
27135        }
27136
27137        function Ze(n, o) {
27138            s.navigation && (e(E).find(S).removeClass(g), n ? e(E).find('a[href="#' + n + '"]').addClass(g) : e(E).find("li").eq(o).find("a").addClass(g))
27139        }
27140
27141        function $e(n) {
27142            s.menu && (e(s.menu).find(S).removeClass(g), e(s.menu).find('[data-menuanchor="' + n + '"]').addClass(g))
27143        }
27144
27145        function _e(e, n) {
27146            $e(e), Ze(e, n)
27147        }
27148
27149        function en(n) {
27150            var o = e(b).index(x), t = n.index(x);
27151            return o == t ? "none" : o > t ? "up" : "down"
27152        }
27153
27154        function nn(e, n) {
27155            return e == n ? "none" : e > n ? "left" : "right"
27156        }
27157
27158        function on(e) {
27159            e.css("overflow", "hidden");
27160            var n, o = s.scrollOverflowHandler, t = o.wrapContent(), i = e.closest(x), l = o.scrollable(e);
27161            l.length ? n = o.scrollHeight(e) : (n = e.get(0).scrollHeight, s.verticalCentered && (n = e.find(A).get(0).scrollHeight));
27162            var a = Wn - parseInt(i.css("padding-bottom")) - parseInt(i.css("padding-top"));
27163            n > a ? l.length ? o.update(e, a) : (s.verticalCentered ? e.find(A).wrapInner(t) : e.wrapInner(t), o.create(e, a)) : o.remove(e), e.css("overflow", "")
27164        }
27165
27166        function tn(e) {
27167            e.addClass(Y).wrapInner('<div class="' + k + '" style="height:' + ln(e) + 'px;" />')
27168        }
27169
27170        function ln(e) {
27171            var n = Wn;
27172            if (s.paddingTop || s.paddingBottom) {
27173                var o = e;
27174                o.hasClass(y) || (o = e.closest(x));
27175                var t = parseInt(o.css("padding-top")) + parseInt(o.css("padding-bottom"));
27176                n = Wn - t
27177            }
27178            return n
27179        }
27180
27181        function an(e, n) {
27182            n ? Qe(Vn) : Ge(Vn), Vn.css(kn(e)), setTimeout(function () {
27183                Vn.removeClass(p)
27184            }, 10)
27185        }
27186
27187        function rn(n) {
27188            var o = Vn.find(x + '[data-anchor="' + n + '"]');
27189            return o.length || (o = e(x).eq(n - 1)), o
27190        }
27191
27192        function sn(e, n) {
27193            var o = n.find(P), t = o.find(z + '[data-anchor="' + e + '"]');
27194            return t.length || (t = o.find(z).eq(e)), t
27195        }
27196
27197        function cn(e, n) {
27198            var o = rn(e);
27199            "undefined" == typeof n && (n = 0), e === qn || o.hasClass(g) ? fn(o, n) : be(o, function () {
27200                fn(o, n)
27201            })
27202        }
27203
27204        function fn(e, n) {
27205            if ("undefined" != typeof n) {
27206                var o = e.find(P), t = sn(n, e);
27207                t.length && Ne(o, t)
27208            }
27209        }
27210
27211        function dn(e, n) {
27212            e.append('<div class="' + U + '"><ul></ul></div>');
27213            var o = e.find(X);
27214            o.addClass(s.slidesNavPosition);
27215            for (var t = 0; n > t; t++) o.find("ul").append('<li><a href="#"><span></span></a></li>');
27216            o.css("margin-left", "-" + o.width() / 2 + "px"), o.find("li").first().find("a").addClass(g)
27217        }
27218
27219        function un(e, n, o, t) {
27220            var i = "";
27221            s.anchors.length && !s.lockAnchors && (e ? ("undefined" != typeof o && (i = o), "undefined" == typeof n && (n = e), On = n, pn(i + "/" + n)) : "undefined" != typeof e ? (On = n, pn(o)) : pn(o)), vn()
27222        }
27223
27224        function pn(e) {
27225            if (s.recordHistory) location.hash = e; else if (In || Pn) n.history.replaceState(i, i, "#" + e); else {
27226                var o = n.location.href.split("#")[0];
27227                n.location.replace(o + "#" + e)
27228            }
27229        }
27230
27231        function hn(e) {
27232            var n = e.data("anchor"), o = e.index();
27233            return "undefined" == typeof n && (n = o), n
27234        }
27235
27236        function vn() {
27237            var n = e(b), o = n.find(D), t = hn(n), i = hn(o), l = (n.index(x), String(t));
27238            o.length && (l = l + "-" + i), l = l.replace("/", "-").replace("#", "");
27239            var a = new RegExp("\\b\\s?" + m + "-[^\\s]+\\b", "g");
27240            Fn[0].className = Fn[0].className.replace(a, ""), Fn.addClass(m + "-" + l)
27241        }
27242
27243        function mn() {
27244            var e, t = o.createElement("p"), l = {
27245                webkitTransform: "-webkit-transform",
27246                OTransform: "-o-transform",
27247                msTransform: "-ms-transform",
27248                MozTransform: "-moz-transform",
27249                transform: "transform"
27250            };
27251            o.body.insertBefore(t, null);
27252            for (var a in l) t.style[a] !== i && (t.style[a] = "translate3d(1px,1px,1px)",
27253                e = n.getComputedStyle(t).getPropertyValue(l[a]));
27254            return o.body.removeChild(t), e !== i && e.length > 0 && "none" !== e
27255        }
27256
27257        function gn() {
27258            o.addEventListener ? (o.removeEventListener("mousewheel", Se, !1), o.removeEventListener("wheel", Se, !1), o.removeEventListener("MozMousePixelScroll", Se, !1)) : o.detachEvent("onmousewheel", Se)
27259        }
27260
27261        function Sn() {
27262            var e, t = "";
27263            n.addEventListener ? e = "addEventListener" : (e = "attachEvent", t = "on");
27264            var l = "onwheel" in o.createElement("div") ? "wheel" : o.onmousewheel !== i ? "mousewheel" : "DOMMouseScroll";
27265            "DOMMouseScroll" == l ? o[e](t + "MozMousePixelScroll", Se, !1) : o[e](t + l, Se, !1)
27266        }
27267
27268        function wn() {
27269            if (In || Pn) {
27270                var n = xn();
27271                e(r).off("touchstart " + n.down).on("touchstart " + n.down, me), e(r).off("touchmove " + n.move).on("touchmove " + n.move, pe)
27272            }
27273        }
27274
27275        function yn() {
27276            if (In || Pn) {
27277                var n = xn();
27278                e(r).off("touchstart " + n.down), e(r).off("touchmove " + n.move)
27279            }
27280        }
27281
27282        function xn() {
27283            var e;
27284            return e = n.PointerEvent ? {down: "pointerdown", move: "pointermove"} : {
27285                down: "MSPointerDown",
27286                move: "MSPointerMove"
27287            }
27288        }
27289
27290        function bn(e) {
27291            var n = [];
27292            return n.y = "undefined" != typeof e.pageY && (e.pageY || e.pageX) ? e.pageY : e.touches[0].pageY, n.x = "undefined" != typeof e.pageX && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX, Pn && ve(e) && s.scrollBar && (n.y = e.touches[0].pageY, n.x = e.touches[0].pageX), n
27293        }
27294
27295        function Tn(e, n) {
27296            Hn.setScrollingSpeed(0, "internal"), "undefined" != typeof n && (Yn = !0), Ne(e.closest(P), e), "undefined" != typeof n && (Yn = !1), Hn.setScrollingSpeed(_n.scrollingSpeed, "internal")
27297        }
27298
27299        function Cn(e) {
27300            if (s.scrollBar) Vn.scrollTop(e); else if (s.css3) {
27301                var n = "translate3d(0px, -" + e + "px, 0px)";
27302                an(n, !1)
27303            } else Vn.css("top", -e)
27304        }
27305
27306        function kn(e) {
27307            return {"-webkit-transform": e, "-moz-transform": e, "-ms-transform": e, transform: e}
27308        }
27309
27310        function An(e, n, o) {
27311            switch (n) {
27312                case"up":
27313                    Kn[o].up = e;
27314                    break;
27315                case"down":
27316                    Kn[o].down = e;
27317                    break;
27318                case"left":
27319                    Kn[o].left = e;
27320                    break;
27321                case"right":
27322                    Kn[o].right = e;
27323                    break;
27324                case"all":
27325                    "m" == o ? Hn.setAllowScrolling(e) : Hn.setKeyboardScrolling(e)
27326            }
27327        }
27328
27329        function Bn() {
27330            Cn(0), e(E + ", " + X + ", " + j).remove(), e(x).css({
27331                height: "",
27332                "background-color": "",
27333                padding: ""
27334            }), e(z).css({width: ""}), Vn.css({
27335                height: "",
27336                position: "",
27337                "-ms-touch-action": "",
27338                "touch-action": ""
27339            }), Rn.css({
27340                overflow: "",
27341                height: ""
27342            }), e("html").removeClass(v), e.each(Fn.get(0).className.split(/\s+/), function (e, n) {
27343                0 === n.indexOf(m) && Fn.removeClass(n)
27344            }), e(x + ", " + z).each(function () {
27345                s.scrollOverflowHandler.remove(e(this)), e(this).removeClass(Y + " " + g)
27346            }), Ge(Vn), Vn.find(A + ", " + W + ", " + P).each(function () {
27347                e(this).replaceWith(this.childNodes)
27348            }), Rn.scrollTop(0);
27349            var n = [y, O, V];
27350            e.each(n, function (n, o) {
27351                e("." + o).removeClass(o)
27352            })
27353        }
27354
27355        function Mn(e, n, o) {
27356            s[e] = n, "internal" !== o && (_n[e] = n)
27357        }
27358
27359        function Ln() {
27360            s.continuousVertical && (s.loopTop || s.loopBottom) && (s.continuousVertical = !1, En("warn", "Option `loopTop/loopBottom` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled")), s.scrollBar && s.scrollOverflow && En("warn", "Option `scrollBar` is mutually exclusive with `scrollOverflow`. Sections with scrollOverflow might not work well in Firefox"), s.continuousVertical && s.scrollBar && (s.continuousVertical = !1, En("warn", "Option `scrollBar` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled")), e.each(s.anchors, function (n, o) {
27361                (e("#" + o).length || e('[name="' + o + '"]').length) && En("error", "data-anchor tags can not have the same value as any `id` element on the site (or `name` element for IE).")
27362            })
27363        }
27364
27365        function En(e, n) {
27366            console && console[e] && console[e]("fullPage: " + n)
27367        }
27368
27369        var Rn = e("html, body"), Fn = e("body"), Hn = e.fn.fullpage;
27370        s = e.extend({
27371            menu: !1,
27372            anchors: [],
27373            lockAnchors: !1,
27374            navigation: !1,
27375            navigationPosition: "right",
27376            navigationTooltips: [],
27377            showActiveTooltip: !1,
27378            slidesNavigation: !1,
27379            slidesNavPosition: "bottom",
27380            scrollBar: !1,
27381            hybrid: !1,
27382            css3: !0,
27383            scrollingSpeed: 700,
27384            autoScrolling: !0,
27385            fitToSection: !0,
27386            fitToSectionDelay: 1e3,
27387            easing: "easeInOutCubic",
27388            easingcss3: "ease",
27389            loopBottom: !1,
27390            loopTop: !1,
27391            loopHorizontal: !0,
27392            continuousVertical: !1,
27393            normalScrollElements: null,
27394            scrollOverflow: !1,
27395            scrollOverflowHandler: l,
27396            touchSensitivity: 5,
27397            normalScrollElementTouchThreshold: 5,
27398            keyboardScrolling: !0,
27399            animateAnchor: !0,
27400            recordHistory: !0,
27401            controlArrows: !0,
27402            controlArrowColor: "#fff",
27403            verticalCentered: !0,
27404            resize: !1,
27405            sectionsColor: [],
27406            paddingTop: 0,
27407            paddingBottom: 0,
27408            fixedElements: null,
27409            responsive: 0,
27410            responsiveWidth: 0,
27411            responsiveHeight: 0,
27412            sectionSelector: w,
27413            slideSelector: q,
27414            afterLoad: null,
27415            onLeave: null,
27416            afterRender: null,
27417            afterResize: null,
27418            afterReBuild: null,
27419            afterSlideLoad: null,
27420            onSlideLeave: null
27421        }, s), Ln(), e.extend(e.easing, {
27422            easeInOutCubic: function (e, n, o, t, i) {
27423                return (n /= i / 2) < 1 ? t / 2 * n * n * n + o : t / 2 * ((n -= 2) * n * n + 2) + o
27424            }
27425        }), e.extend(e.easing, {
27426            easeInQuart: function (e, n, o, t, i) {
27427                return t * (n /= i) * n * n * n + o
27428            }
27429        }), Hn.setAutoScrolling = function (n, o) {
27430            Mn("autoScrolling", n, o);
27431            var t = e(b);
27432            s.autoScrolling && !s.scrollBar ? (Rn.css({
27433                overflow: "hidden",
27434                height: "100%"
27435            }), Hn.setRecordHistory(_n.recordHistory, "internal"), Vn.css({
27436                "-ms-touch-action": "none",
27437                "touch-action": "none"
27438            }), t.length && Cn(t.position().top)) : (Rn.css({
27439                overflow: "visible",
27440                height: "initial"
27441            }), Hn.setRecordHistory(!1, "internal"), Vn.css({
27442                "-ms-touch-action": "",
27443                "touch-action": ""
27444            }), Cn(0), t.length && Rn.scrollTop(t.position().top))
27445        }, Hn.setRecordHistory = function (e, n) {
27446            Mn("recordHistory", e, n)
27447        }, Hn.setScrollingSpeed = function (e, n) {
27448            Mn("scrollingSpeed", e, n)
27449        }, Hn.setFitToSection = function (e, n) {
27450            Mn("fitToSection", e, n)
27451        }, Hn.setLockAnchors = function (e) {
27452            s.lockAnchors = e
27453        }, Hn.setMouseWheelScrolling = function (e) {
27454            e ? Sn() : gn()
27455        }, Hn.setAllowScrolling = function (n, o) {
27456            "undefined" != typeof o ? (o = o.replace(/ /g, "").split(","), e.each(o, function (e, o) {
27457                An(n, o, "m")
27458            })) : n ? (Hn.setMouseWheelScrolling(!0), wn()) : (Hn.setMouseWheelScrolling(!1), yn())
27459        }, Hn.setKeyboardScrolling = function (n, o) {
27460            "undefined" != typeof o ? (o = o.replace(/ /g, "").split(","), e.each(o, function (e, o) {
27461                An(n, o, "k")
27462            })) : s.keyboardScrolling = n
27463        }, Hn.moveSectionUp = function () {
27464            var n = e(b).prev(x);
27465            n.length || !s.loopTop && !s.continuousVertical || (n = e(x).last()), n.length && be(n, null, !0)
27466        }, Hn.moveSectionDown = function () {
27467            var n = e(b).next(x);
27468            n.length || !s.loopBottom && !s.continuousVertical || (n = e(x).first()), n.length && be(n, null, !1)
27469        }, Hn.silentMoveTo = function (e, n) {
27470            requestAnimFrame(function () {
27471                Hn.setScrollingSpeed(0, "internal")
27472            }), Hn.moveTo(e, n), requestAnimFrame(function () {
27473                Hn.setScrollingSpeed(_n.scrollingSpeed, "internal")
27474            })
27475        }, Hn.moveTo = function (e, n) {
27476            var o = rn(e);
27477            "undefined" != typeof n ? cn(e, n) : o.length > 0 && be(o)
27478        }, Hn.moveSlideRight = function (e) {
27479            we("next", e)
27480        }, Hn.moveSlideLeft = function (e) {
27481            we("prev", e)
27482        }, Hn.reBuild = function (n) {
27483            if (!Vn.hasClass(h)) {
27484                Yn = !0, requestAnimFrame(function () {
27485                    Yn = !0
27486                });
27487                var o = oe.outerWidth();
27488                Wn = oe.height(), s.resize && Je(Wn, o), e(x).each(function () {
27489                    var n = e(this).find(P), o = e(this).find(z);
27490                    s.verticalCentered && e(this).find(A).css("height", ln(e(this)) + "px"), e(this).css("height", Wn + "px"), s.scrollOverflow && (o.length ? o.each(function () {
27491                        on(e(this))
27492                    }) : on(e(this))), o.length > 1 && Ne(n, n.find(D))
27493                });
27494                var t = e(b), i = t.index(x);
27495                i && Hn.silentMoveTo(i + 1), Yn = !1, requestAnimFrame(function () {
27496                    Yn = !1
27497                }), e.isFunction(s.afterResize) && n && s.afterResize.call(Vn), e.isFunction(s.afterReBuild) && !n && s.afterReBuild.call(Vn)
27498            }
27499        }, Hn.setResponsive = function (n) {
27500            var o = Fn.hasClass(u);
27501            n ? o || (Hn.setAutoScrolling(!1, "internal"), Hn.setFitToSection(!1, "internal"), e(E).hide(), Fn.addClass(u)) : o && (Hn.setAutoScrolling(_n.autoScrolling, "internal"), Hn.setFitToSection(_n.autoScrolling, "internal"), e(E).show(), Fn.removeClass(u))
27502        };
27503        var qn, On, zn, Dn = !1,
27504            In = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),
27505            Pn = "ontouchstart" in n || navigator.msMaxTouchPoints > 0 || navigator.maxTouchPoints, Vn = e(this),
27506            Wn = oe.height(), Yn = !1, Un = !0, Xn = !0, Nn = [], Kn = {};
27507        Kn.m = {up: !0, down: !0, left: !0, right: !0}, Kn.k = e.extend(!0, {}, Kn.m);
27508        var jn, Qn, Gn, Jn, Zn, $n, _n = e.extend(!0, {}, s);
27509        e(this).length && (c(), f());
27510        var eo = !1, no = 0, oo = 0, to = 0, io = 0, lo = 0, ao = (new Date).getTime();
27511        n.requestAnimFrame = function () {
27512            return n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame || n.oRequestAnimationFrame || n.msRequestAnimationFrame || function (e) {
27513                e()
27514            }
27515        }();
27516        var ro = 0, so = 0, co = Wn;
27517        Hn.destroy = function (n) {
27518            Hn.setAutoScrolling(!1, "internal"), Hn.setAllowScrolling(!1), Hn.setKeyboardScrolling(!1), Vn.addClass(h), clearTimeout(Gn), clearTimeout(Qn), clearTimeout(jn), clearTimeout(Jn), clearTimeout(Zn), oe.off("scroll", ce).off("hashchange", He).off("resize", Ke), te.off("click", E + " a").off("mouseenter", E + " li").off("mouseleave", E + " li").off("
27518click", N).off("mouseover", s.normalScrollElements).off("mouseout", s.normalScrollElements), e(x).off("click", j), clearTimeout(Gn), clearTimeout(Qn), n && Bn()
27519        }
27520    };
27521    var ie = {
27522        afterRender: function (e) {
27523            var n = e.find(I), o = e.find(c);
27524            n.length && (o = n.find(D)), o.mouseover()
27525        }, create: function (e, n) {
27526            e.find(c).slimScroll({allowPageScroll: !0, height: n + "px", size: "10px", alwaysVisible: !0})
27527        }, isScrolled: function (e, n) {
27528            return "top" === e ? !n.scrollTop() : "bottom" === e ? n.scrollTop() + 1 + n.innerHeight() >= n[0].scrollHeight : void 0
27529        }, scrollable: function (e) {
27530            return e.find(P).length ? e.find(D).find(c) : e.find(c)
27531        }, scrollHeight: function (e) {
27532            return e.find(c).get(0).scrollHeight
27533        }, remove: function (e) {
27534            e.find(c).children().first().unwrap().unwrap(), e.find(f).remove(), e.find(d).remove()
27535        }, update: function (e, n) {
27536            e.find(c).css("height", n + "px").parent().css("height", n + "px")
27537        }, wrapContent: function () {
27538            return '<div class="' + s + '"></div>'
27539        }
27540    };
27541    l = ie
27542}), function (e) {
27543    e.fn.extend({
27544        slimScroll: function (g) {
27545            var a = e.extend({
27546                width: "auto",
27547                height: "250px",
27548                size: "7px",
27549                color: "#000",
27550                position: "right",
27551                distance: "1px",
27552                start: "top",
27553                opacity: .4,
27554                alwaysVisible: !1,
27555                disableFadeOut: !1,
27556                railVisible: !1,
27557                railColor: "#333",
27558                railOpacity: .2,
27559                railDraggable: !0,
27560                railClass: "slimScrollRail",
27561                barClass: "slimScrollBar",
27562                wrapperClass: "slimScrollDiv",
27563                allowPageScroll: !1,
27564                wheelStep: 20,
27565                touchScrollStep: 200,
27566                borderRadius: "7px",
27567                railBorderRadius: "7px"
27568            }, g);
27569            return this.each(function () {
27570                function v(d) {
27571                    if (r) {
27572                        d = d || window.event;
27573                        var c = 0;
27574                        d.wheelDelta && (c = -d.wheelDelta / 120), d.detail && (c = d.detail / 3), e(d.target || d.srcTarget || d.srcElement).closest("." + a.wrapperClass).is(b.parent()) && m(c, !0), d.preventDefault && !k && d.preventDefault(), k || (d.returnValue = !1)
27575                    }
27576                }
27577
27578                function m(d, e, g) {
27579                    k = !1;
27580                    var f = d, h = b.outerHeight() - c.outerHeight();
27581                    e && (f = parseInt(c.css("top")) + d * parseInt(a.wheelStep) / 100 * c.outerHeight(), f = Math.min(Math.max(f, 0), h), f = d > 0 ? Math.ceil(f) : Math.floor(f), c.css({top: f + "px"})), l = parseInt(c.css("top")) / (b.outerHeight() - c.outerHeight()), f = l * (b[0].scrollHeight - b.outerHeight()), g && (f = d, d = f / b[0].scrollHeight * b.outerHeight(), d = Math.min(Math.max(d, 0), h), c.css({top: d + "px"})), b.scrollTop(f), b.trigger("slimscrolling", ~~f), w(), p()
27582                }
27583
27584                function x() {
27585                    u = Math.max(b.outerHeight() / b[0].scrollHeight * b.outerHeight(), 30), c.css({height: u + "px"});
27586                    var a = u == b.outerHeight() ? "none" : "block";
27587                    c.css({display: a})
27588                }
27589
27590                function w() {
27591                    x(), clearTimeout(B), l == ~~l ? (k = a.allowPageScroll, C != l && b.trigger("slimscroll", 0 == ~~l ? "top" : "bottom")) : k = !1, C = l, u >= b.outerHeight() ? k = !0 : (c.stop(!0, !0).fadeIn("fast"), a.railVisible && h.stop(!0, !0).fadeIn("fast"))
27592                }
27593
27594                function p() {
27595                    a.alwaysVisible || (B = setTimeout(function () {
27596                        a.disableFadeOut && r || y || z || (c.fadeOut("slow"), h.fadeOut("slow"))
27597                    }, 1e3))
27598                }
27599
27600                var r, y, z, B, A, u, l, C, k = !1, b = e(this);
27601                if (b.parent().hasClass(a.wrapperClass)) {
27602                    var n = b.scrollTop(), c = b.closest("." + a.barClass), h = b.closest("." + a.railClass);
27603                    if (x(), e.isPlainObject(g)) {
27604                        if ("height" in g && "auto" == g.height) {
27605                            b.parent().css("height", "auto"), b.css("height", "auto");
27606                            var q = b.parent().parent().height();
27607                            b.parent().css("height", q), b.css("height", q)
27608                        }
27609                        if ("scrollTo" in g) n = parseInt(a.scrollTo); else if ("scrollBy" in g) n += parseInt(a.scrollBy); else if ("destroy" in g) return c.remove(), h.remove(), void b.unwrap();
27610                        m(n, !1, !0)
27611                    }
27612                } else if (!(e.isPlainObject(g) && "destroy" in g)) {
27613                    a.height = "auto" == a.height ? b.parent().height() : a.height, n = e("<div></div>").addClass(a.wrapperClass).css({
27614                        position: "relative",
27615                        overflow: "hidden",
27616                        width: a.width,
27617                        height: a.height
27618                    }), b.css({overflow: "hidden", width: a.width, height: a.height});
27619                    var h = e("<div></div>").addClass(a.railClass).css({
27620                        width: a.size,
27621                        height: "100%",
27622                        position: "absolute",
27623                        top: 0,
27624                        display: a.alwaysVisible && a.railVisible ? "block" : "none",
27625                        "border-radius": a.railBorderRadius,
27626                        background: a.railColor,
27627                        opacity: a.railOpacity,
27628                        zIndex: 90
27629                    }), c = e("<div></div>").addClass(a.barClass).css({
27630                        background: a.color,
27631                        width: a.size,
27632                        position: "absolute",
27633                        top: 0,
27634                        opacity: a.opacity,
27635                        display: a.alwaysVisible ? "block" : "none",
27636                        "border-radius": a.borderRadius,
27637                        BorderRadius: a.borderRadius,
27638                        MozBorderRadius: a.borderRadius,
27639                        WebkitBorderRadius: a.borderRadius,
27640                        zIndex: 99
27641                    }), q = "right" == a.position ? {right: a.distance} : {left: a.distance};
27642                    h.css(q), c.css(q), b.wrap(n), b.parent().append(c), b.parent().append(h), a.railDraggable && c.bind("mousedown", function (a) {
27643                        var b = e(document);
27644                        return z = !0, t = parseFloat(c.css("top")), pageY = a.pageY, b.bind("mousemove.slimscroll", function (a) {
27645                            currTop = t + a.pageY - pageY, c.css("top", currTop), m(0, c.position().top, !1)
27646                        }), b.bind("mouseup.slimscroll", function (a) {
27647                            z = !1, p(), b.unbind(".slimscroll")
27648                        }), !1
27649                    }).bind("selectstart.slimscroll", function (a) {
27650                        return a.stopPropagation(), a.preventDefault(), !1
27651                    }), h.hover(function () {
27652                        w()
27653                    }, function () {
27654                        p()
27655                    }), c.hover(function () {
27656                        y = !0
27657                    }, function () {
27658                        y = !1
27659                    }), b.hover(function () {
27660                        r = !0, w(), p()
27661                    }, function () {
27662                        r = !1, p()
27663                    }), b.bind("touchstart", function (a, b) {
27664                        a.originalEvent.touches.length && (A = a.originalEvent.touches[0].pageY)
27665                    }), b.bind("touchmove", function (b) {
27666                        k || b.originalEvent.preventDefault(), b.originalEvent.touches.length && (m((A - b.originalEvent.touches[0].pageY) / a.touchScrollStep, !0), A = b.originalEvent.touches[0].pageY)
27667                    }), x(), "bottom" === a.start ? (c.css({top: b.outerHeight() - c.outerHeight()}), m(0, !0)) : "top" !== a.start && (m(e(a.start).position().top, null, !0), a.alwaysVisible || c.hide()), window.addEventListener ? (this.addEventListener("DOMMouseScroll", v, !1), this.addEventListener("mousewheel", v, !1)) : document.attachEvent("onmousewheel", v)
27668                }
27669            }), this
27670        }
27671    }), e.fn.extend({slimscroll: e.fn.slimScroll})
27672}(jQuery), !function (t, i) {
27673    "use strict";
27674
27675    function s(s, e) {
27676        this.list = t(s), this.items = this.list.children(), this.settings = e, this.position = 0, this.active_id = i, this.lock = !1;
27677        var o = this;
27678        this.items.addClass("colio-item"), this.markup = t('<div class="colio"></div>'), this.markup.append('<div class="colio-container"></div>'), this.settings.navigation && (this.markup.addClass("colio-has-navigation"), t('<div class="colio-navigation"></div>').append('<a class="colio-prev" href="#">
27678' + this.settings.prevText + "</a>").append('<a class="colio-next" href="#">' + this.settings.nextText + "</a>").appendTo(this.markup)), this.markup.append('<a class="colio-close" href="#">' + this.settings.closeText + "</a>"), "after" === this.settings.placement ? this.list.after(this.markup) : "inside" === this.settings.placement ? (this.markup.css({
27679            position: "absolute",
27680            top: 0,
27681            left: 0
27682        }), t("body").append(this.markup)) : /^#\w/.test(this.settings.placement) ? (t(this.settings.placement).append(this.markup), this.settings.placement = "element") : (this.list.before(this.markup), this.settings.placement = "before"), this.settings.id && this.markup.attr("id", this.settings.id), this.markup.addClass("colio-placement-" + this.settings.placement), this.settings.theme && this.markup.addClass("colio-theme-" + this.settings.theme), this.items.find(this.settings.expandLink).click(function () {
27683            o.page_scroll = t(window).scrollTop();
27684            var i = t(this).closest(".colio-item");
27685            return o.expand(i), !1
27686        }), this.markup.find(".colio-close").click(function () {
27687            return o.collapse(), !1
27688        }), this.markup.find(".colio-prev").click(function () {
27689            return !o.lock && o.position > 0 && (o.position--, o.expand(o.items.eq(o.position))), !1
27690        }).end().find(".colio-next").click(function () {
27691            return !o.lock && o.position < o.items.length - 1 && (o.position++, o.expand(o.items.eq(o.position))), !1
27692        }), t(window).bind("resize orientationchange", function (t) {
27693            t.target === o.markup.get(0) && t.stopImmediatePropagation(), "inside" === o.settings.placement && /^(smart)?resize$/.test(t.type) && o.insideHideViewport(), o.temp || (o.temp = [o.settings.syncScroll, o.settings.scrollPage]), o.settings.syncScroll = !0, o.settings.scrollPage = !1, clearTimeout(o.resize_timer), o.resize_timer = setTimeout(function () {
27694                o.expandViewport(o.active_id, !0), o.settings.syncScroll = o.temp[0], o.settings.scrollPage = o.temp[1], delete o.temp
27695            }, 200)
27696        }), this.api = {
27697            expand: function (t) {
27698                o.expand(o.items.eq(t))
27699            }, collapse: function () {
27700                o.collapse()
27701            }, excludeHidden: function () {
27702                o.items = o.list.children(":not(" + o.settings.hiddenItems + ")"), o.position = o.items.index(o.list.find(".colio-active-item")), "inside" === o.settings.placement && o.insideHideViewport()
27703            }
27704        }, this.list.data("colio", this.api), this.list.bind("colio", function (t, i, s) {
27705            o.api.hasOwnProperty(i) && o.api[i](s)
27706        })
27707    }
27708
27709    s.prototype.expand = function (t) {
27710        var i = t.data("content");
27711        if (!this.lock && i) {
27712            this.lock = !0, this.position = this.items.index(t), "inside" === this.settings.placement && this.insidePositionViewport(t);
27713            var s = t.data("colio-content-id");
27714            s ? this.expandViewport(s) : this.loadContent(i, function (i) {
27715                t.data("colio-content-id", i), this.expandViewport(i)
27716            }), this.markup.find(".colio-navigation a").removeClass("colio-no-prev colio-no-next"), 0 === this.position && this.markup.find(".colio-prev").addClass("colio-no-prev"), this.position === this.items.length - 1 && this.markup.find(".colio-next").addClass("colio-no-next"), this.items.removeClass("colio-active-item"), t.addClass("colio-active-item")
27717        }
27718    }, s.prototype.loadContent = function (i, s) {
27719        var e = this, o = function (i) {
27720            if (e.settings.contentFilter) {
27721                var s = t("<div>").html(i);
27722                i = s.find(e.settings.contentFilter)
27723            }
27724            var o = "colio_" + Math.floor(1e5 * Math.random());
27725            return t('<div id="' + o + '" class="colio-content"></div>').append(i).appendTo(e.markup.find(".colio-container")), "function" == typeof e.settings.onContent && e.settings.onContent.call(e.markup.get(0), e.markup.find("#" + o).get(0)), o
27726        };
27727        if (/^#\w/.test(i)) {
27728            var n = t(i).html(), a = o(n);
27729            setTimeout(function () {
27730                s.call(e, a)
27731            }, 20)
27732        } else if (/(^\.{0,2}\/+\w)|(^https?:\/\/\w)/.test(i)) {
27733            var l = this.settings.contentFilter;
27734            /#\w/.test(i) && (this.settings.contentFilter = i.substr(i.indexOf("#")) + " " + l), this.items.eq(this.position).addClass("colio-item-loading"), t.get(i, function (t) {
27735                s.call(e, o(t)), e.settings.contentFilter = l, e.items.eq(e.position).removeClass("colio-item-loading")
27736            })
27737        } else {
27738            var a = o(i);
27739            setTimeout(function () {
27740                s.call(e, a)
27741            }, 20)
27742        }
27743    }, s.prototype.expandViewport = function (i, s) {
27744        var e = this.settings.expandDuration, o = this.settings.expandEasing, n = this.settings.syncScroll,
27745            a = this.markup.offset().top - parseInt(this.settings.scrollOffset, 10), l = this.getViewportHe
27745ight(i);
27746        return 0 === l || !s && i === this.active_id ? void (this.lock = !1) : ("inside" === this.settings.placement && this.insideMakeGap(this.items.eq(this.position)), this.switchContent(i), this.markup.stop().animate({height: l}, e, o, t.proxy(function () {
27747            this.markup.addClass("colio-expanded"), this.scroll(a, !n), this.lock = !1, "function" == typeof this.settings.onExpand && this.settings.onExpand.call(this.markup.get(0), i)
27748        }, this)), void this.scroll(a, n))
27749    }, s.prototype.switchContent = function (i) {
27750        var s = this.markup.find("#" + this.active_id), e = this.markup.find("#" + i);
27751        this.active_id !== i && (s.length ? s.stop().fadeOut(this.settings.contentFadeOut, t.proxy(function () {
27752            e.fadeIn(this.settings.contentFadeIn)
27753        }, this)) : e.delay(this.settings.contentDelay).fadeIn(this.settings.contentFadeIn), this.active_id = i)
27754    }, s.prototype.getViewportHeight = function (t) {
27755        var i = this.markup.find(".colio-container"), s = i.width(), e = i.outerHeight() - i.height(),
27756            o = this.markup.find("#" + t), n = 0;
27757        return o.is(":visible") ? n = o.height() : (o.css({
27758            display: "block",
27759            position: "absolute",
27760            visibility: "hidden",
27761            width: s
27762        }), n = o.height(), o.css({display: "", position: "", visibility: "", width: ""})), n > 0 ? n + e : 0
27763    }, s.prototype.scroll = function (i, s) {
27764        var e = this.settings.scrollDuration, o = this.settings.scrollEasing;
27765        this.settings.scrollPage && s && t("body, html").stop().animate({scrollTop: i}, e, o)
27766    }, s.prototype.collapse = function () {
27767        var s = this.settings.collapseDuration, e = this.settings.collapseEasing, o = this.settings.syncScroll;
27768        this.position = i, this.markup.stop().animate({height: 0}, s, e, t.proxy(function () {
27769            this.markup.find(".colio-content:visible").hide(), this.items.removeClass("colio-active-item"), this.scroll(this.page_scroll, !o), "function" == typeof this.settings.onCollapse && this.settings.onCollapse.call(this.markup.get(0), this.active_id), this.active_id = i
27770        }, this)), this.markup.removeClass("colio-expanded"), "inside" === this.settings.placement && this.insideJoinGap(), this.scroll(this.page_scroll, o)
27771    }, s.prototype.insideBottomItems = function (t) {
27772        var i = Math.round(this.list.width() / t.outerWidth(!0));
27773        i = Math.max(1, i);
27774        var s = Math.ceil(this.items.length / i), e = Math.floor(this.items.index(t) / i);
27775        return this.settings.beforeLastRow ? e = s - 1 > e ? e + 1 : e : e += 1, this.items.slice(e * i)
27776    }, s.prototype.insideMakeGap = function (s) {
27777        var e = this.settings.expandDuration, o = this.settings.expandEasing, n = s.data("colio-content-id"),
27778            a = this.getViewportHeight(n);
27779        a += parseFloat(this.markup.css("margin-bottom")), t.each(this.insideBottomItems(s), function () {
27780            var s = t(this).data("colio-item-top");
27781            s === i && (s = parseFloat(t(this).css("top")) || 0, t(this).data("colio-item-top", s)), t(this).addClass("colio-bottom-item"), t(this).stop().animate({top: s + a}, e, o)
27782        });
27783        var l = this.list.data("colio-list-height");
27784        l === i && (l = this.list.height(), this.list.data("colio-list-height", l)), this.list.height(l + a)
27785    }, s.prototype.insideJoinGap = function (i) {
27786        var s = this.settings.collapseDuration, e = this.settings.collapseEasing;
27787        this.items.filter(".colio-bottom-item").each(function () {
27788            var o = t(this).data("colio-item-top") || 0;
27789            i ? t(this).css("top", o) : t(this).stop().animate({top: o}, s, e), t(this).removeData("colio-item-top").removeClass("colio-bottom-item")
27790        });
27791        var o = this.list.data("colio-list-height");
27792        this.list.addClass("no-transition").height(o), this.list.get(0).offsetHeight, this.list.removeClass("no-transition").removeData("colio-list-height")
27793    }, s.prototype.insidePositionViewport = function (t) {
27794        var i = this.insideBottomItems(t);
27795        if (this.active_id) {
27796            var s = this.items.filter(".colio-bottom-item");
27797            s.length !== i.length && (this.insideHideViewport(), this.insidePositionViewport(t))
27798        } else {
27799            /absolute|relative/.test(this.items.eq(0).css("position")) === !1 && this.items.css({
27800                position: "relative",
27801                top: 0,
27802                left: 0
27803            });
27804            var e = parseFloat(this.markup.css("margin-left")), o = parseFloat(this.markup.css("margin-right")), n = 0,
27805                a = this.list.offset().left + e, l = this.list.width() - (e + o);
27806            n = i.length > 0 ? i.offset().top : this.list.offset().top + this.list.height(), this.markup.css({
27807                top: n,
27808                left: a,
27809                width: l
27810            })
27811        }
27812    }, s.prototype.insideHideViewport = function () {
27813        this.active_id !== i && (this.insideJoinGap(!0), this.markup.height(0).find(".colio-content:visible").hide(), this.items.removeClass("colio-active-item"), this.markup.removeClass("colio-expanded"), "function" == typeof this.settings.onCollapse && this.settings.onCollapse.call(this.markup.get(0), this.active_id), this.active_id = i)
27814    }, t.fn.colio = function (i) {
27815        var e = t.extend({
27816            id: "colio",
27817            theme: "",
27818            placement: "before",
27819            beforeLastRow: !1,
27820            expandLink: ".colio-link",
27821            expandDuration: 500,
27822            expandEasing: "swing",
27823            collapseDuration: 300,
27824            collapseEasing: "swing",
27825            scrollPage: !0,
27826            syncScroll: !1,
27827            scrollDuration: 300,
27828            scrollEasing: "swing",
27829            scrollOffset: 10,
27830            contentFadeIn: 500,
27831            contentFadeOut: 200,
27832            contentDelay: 200,
27833            navigation: !0,
27834            closeText: "<span>Close</span>",
27835            nextText: "<span>Next</span>",
27836            prevText: "<span>Prev</span>",
27837            contentFilter: "",
27838            hiddenItems: ".hidden",
27839            onExpand: function () {
27840            },
27841            onCollapse: function () {
27842            },
27843            onContent: function () {
27844            }
27845        }, i);
27846        return this.each(function () {
27847            new s(this, e)
27848        })
27849    }
27850}(jQuery), function (global, factory) {
27851    "object" == typeof exports && "undefined" != typeof module ? module.exports = factory() : "function" == typeof define && define.amd ? define(factory) : global.moment = factory()
27852}(this, function () {
27853    "use strict";
27854
27855    function utils_hooks__hooks() {
27856        return hookCallback.apply(null, arguments)
27857    }
27858
27859    function setHookCallback(callback) {
27860        hookCallback = callback
27861    }
27862
27863    function isArray(input) {
27864        return "[object Array]" === Object.prototype.toString.call(input)
27865    }
27866
27867    function isDate(input) {
27868        return input instanceof Date || "[object Date]" === Object.prototype.toString.call(input)
27869    }
27870
27871    function map(arr, fn) {
27872        var i, res = [];
27873        for (i = 0; i < arr.length; ++i) res.push(fn(arr[i], i));
27874        return res
27875    }
27876
27877    function hasOwnProp(a, b) {
27878        return Object.prototype.hasOwnProperty.call(a, b)
27879    }
27880
27881    function extend(a, b) {
27882        for (var i in b) hasOwnProp(b, i) && (a[i] = b[i]);
27883        return hasOwnProp(b, "toString") && (a.toString = b.toString), hasOwnProp(b, "valueOf") && (a.valueOf = b.valueOf), a
27884    }
27885
27886    function create_utc__createUTC(input, format, locale, strict) {
vendor: 10,985 bytes, lines 27887-28130
27887        return createLocalOrUTC(input, format, locale, strict, !0).utc()
27888    }
27889
27890    function defaultParsingFlags() {
27891        return {
27892            empty: !1,
27893            unusedTokens: [],
27894            unusedInput: [],
27895            overflow: -2,
27896            charsLeftOver: 0,
27897            nullInput: !1,
27898            invalidMonth: null,
27899            invalidFormat: !1,
27900            userInvalidated: !1,
27901            iso: !1
27902        }
27903    }
27904
27905    function getParsingFlags(m) {
27906        return null == m._pf && (m._pf = defaultParsingFlags()), m._pf
27907    }
27908
27909    function valid__isValid(m) {
27910        if (null == m._isValid) {
27911            var flags = getParsingFlags(m);
27912            m._isValid = !(isNaN(m._d.getTime()) || !(flags.overflow < 0) || flags.empty || flags.invalidMonth || flags.invalidWeekday || flags.nullInput || flags.invalidFormat || flags.userInvalidated), m._strict && (m._isValid = m._isValid && 0 === flags.charsLeftOver && 0 === flags.unusedTokens.length && void 0 === flags.bigHour)
27913        }
27914        return m._isValid
27915    }
27916
27917    function valid__createInvalid(flags) {
27918        var m = create_utc__createUTC(NaN);
27919        return null != flags ? extend(getParsingFlags(m), flags) : getParsingFlags(m).userInvalidated = !0, m
27920    }
27921
27922    function copyConfig(to, from) {
27923        var i, prop, val;
27924        if ("undefined" != typeof from._isAMomentObject && (to._isAMomentObject = from._isAMomentObject), "undefined" != typeof from._i && (to._i = from._i), "undefined" != typeof from._f && (to._f = from._f), "undefined" != typeof from._l && (to._l = from._l), "undefined" != typeof from._strict && (to._strict = from._strict), "undefined" != typeof from._tzm && (to._tzm = from._tzm), "undefined" != typeof from._isUTC && (to._isUTC = from._isUTC), "undefined" != typeof from._offset && (to._offset = from._offset), "undefined" != typeof from._pf && (to._pf = getParsingFlags(from)), "undefined" != typeof from._locale && (to._locale = from._locale), momentProperties.length > 0) for (i in momentProperties) prop = momentProperties[i], val = from[prop], "undefined" != typeof val && (to[prop] = val);
27925        return to
27926    }
27927
27928    function Moment(config) {
27929        copyConfig(this, config), this._d = new Date(null != config._d ? config._d.getTime() : NaN), updateInProgress === !1 && (updateInProgress = !0, utils_hooks__hooks.updateOffset(this), updateInProgress = !1)
27930    }
27931
27932    function isMoment(obj) {
27933        return obj instanceof Moment || null != obj && null != obj._isAMomentObject
27934    }
27935
27936    function absFloor(number) {
27937        return 0 > number ? Math.ceil(number) : Math.floor(number)
27938    }
27939
27940    function toInt(argumentForCoercion) {
27941        var coercedNumber = +argumentForCoercion, value = 0;
27942        return 0 !== coercedNumber && isFinite(coercedNumber) && (value = absFloor(coercedNumber)), value
27943    }
27944
27945    function compareArrays(array1, array2, dontConvert) {
27946        var i, len = Math.min(array1.length, array2.length), lengthDiff = Math.abs(array1.length - array2.length),
27947            diffs = 0;
27948        for (i = 0; len > i; i++) (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) && diffs++;
27949        return diffs + lengthDiff
27950    }
27951
27952    function Locale() {
27953    }
27954
27955    function normalizeLocale(key) {
27956        return key ? key.toLowerCase().replace("_", "-") : key
27957    }
27958
27959    function chooseLocale(names) {
27960        for (var j, next, locale, split, i = 0; i < names.length;) {
27961            for (split = normalizeLocale(names[i]).split("-"), j = split.length, next = normalizeLocale(names[i + 1]), next = next ? next.split("-") : null; j > 0;) {
27962                if (locale = loadLocale(split.slice(0, j).join("-"))) return locale;
27963                if (next && next.length >= j && compareArrays(split, next, !0) >= j - 1) break;
27964                j--
27965            }
27966            i++
27967        }
27968        return null
27969    }
27970
27971    function loadLocale(name) {
27972        var oldLocale = null;
27973        if (!locales[name] && "undefined" != typeof module && module && module.exports) try {
27974            oldLocale = globalLocale._abbr, require("./locale/" + name), locale_locales__getSetGlobalLocale(oldLocale)
27975        } catch (e) {
27976        }
27977        return locales[name]
27978    }
27979
27980    function locale_locales__getSetGlobalLocale(key, values) {
27981        var data;
27982        return key && (data = "undefined" == typeof values ? locale_locales__getLocale(key) : defineLocale(key, values), data && (globalLocale = data)), globalLocale._abbr
27983    }
27984
27985    function defineLocale(name, values) {
27986        return null !== values ? (values.abbr = name, locales[name] = locales[name] || new Locale, locales[name].set(values), locale_locales__getSetGlobalLocale(name), locales[name]) : (delete locales[name], null)
27987    }
27988
27989    function locale_locales__getLocale(key) {
27990        var locale;
27991        if (key && key._locale && key._locale._abbr && (key = key._locale._abbr), !key) return globalLocale;
27992        if (!isArray(key)) {
27993            if (locale = loadLocale(key)) return locale;
27994            key = [key]
27995        }
27996        return chooseLocale(key)
27997    }
27998
27999    function addUnitAlias(unit, shorthand) {
28000        var lowerCase = unit.toLowerCase();
28001        aliases[lowerCase] = aliases[lowerCase + "s"] = aliases[shorthand] = unit
28002    }
28003
28004    function normalizeUnits(units) {
28005        return "string" == typeof units ? aliases[units] || aliases[units.toLowerCase()] : void 0
28006    }
28007
28008    function normalizeObjectUnits(inputObject) {
28009        var normalizedProp, prop, normalizedInput = {};
28010        for (prop in inputObject) hasOwnProp(inputObject, prop) && (normalizedProp = normalizeUnits(prop), normalizedProp && (normalizedInput[normalizedProp] = inputObject[prop]));
28011        return normalizedInput
28012    }
28013
28014    function makeGetSet(unit, keepTime) {
28015        return function (value) {
28016            return null != value ? (get_set__set(this, unit, value), utils_hooks__hooks.updateOffset(this, keepTime), this) : get_set__get(this, unit)
28017        }
28018    }
28019
28020    function get_set__get(mom, unit) {
28021        return mom._d["get" + (mom._isUTC ? "UTC" : "") + unit]()
28022    }
28023
28024    function get_set__set(mom, unit, value) {
28025        return mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](value)
28026    }
28027
28028    function getSet(units, value) {
28029        var unit;
28030        if ("object" == typeof units) for (unit in units) this.set(unit, units[unit]); else if (units = normalizeUnits(units), "function" == typeof this[units]) return this[units](value);
28031        return this
28032    }
28033
28034    function zeroFill(number, targetLength, forceSign) {
28035        var absNumber = "" + Math.abs(number), zerosToFill = targetLength - absNumber.length, sign = number >= 0;
28036        return (sign ? forceSign ? "+" : "" : "-") + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber
28037    }
28038
28039    function addFormatToken(token, padded, ordinal, callback) {
28040        var func = callback;
28041        "string" == typeof callback && (func = function () {
28042            return this[callback]()
28043        }), token && (formatTokenFunctions[token] = func), padded && (formatTokenFunctions[padded[0]] = function () {
28044            return zeroFill(func.apply(this, arguments), padded[1], padded[2])
28045        }), ordinal && (formatTokenFunctions[ordinal] = function () {
28046            return this.localeData().ordinal(func.apply(this, arguments), token)
28047        })
28048    }
28049
28050    function removeFormattingTokens(input) {
28051        return input.match(/\[[\s\S]/) ? input.replace(/^\[|\]$/g, "") : input.replace(/\\/g, "")
28052    }
28053
28054    function makeFormatFunction(format) {
28055        var i, length, array = format.match(formattingTokens);
28056        for (i = 0, length = array.length; length > i; i++) formatTokenFunctions[array[i]] ? array[i] = formatTokenFunctions[array[i]] : array[i] = removeFormattingTokens(array[i]);
28057        return function (mom) {
28058            var output = "";
28059            for (i = 0; length > i; i++) output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
28060            return output
28061        }
28062    }
28063
28064    function formatMoment(m, format) {
28065        return m.isValid() ? (format = expandFormat(format, m.localeData()), formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format), formatFunctions[format](m)) : m.localeData().invalidDate()
28066    }
28067
28068    function expandFormat(format, locale) {
28069        function replaceLongDateFormatTokens(input) {
28070            return locale.longDateFormat(input) || input
28071        }
28072
28073        var i = 5;
28074        for (localFormattingTokens.lastIndex = 0; i >= 0 && localFormattingTokens.test(format);) format = format.replace(localFormattingTokens, replaceLongDateFormatTokens), localFormattingTokens.lastIndex = 0, i -= 1;
28075        return format
28076    }
28077
28078    function isFunction(sth) {
28079        return "function" == typeof sth && "[object Function]" === Object.prototype.toString.call(sth)
28080    }
28081
28082    function addRegexToken(token, regex, strictRegex) {
28083        regexes[token] = isFunction(regex) ? regex : function (isStrict) {
28084            return isStrict && strictRegex ? strictRegex : regex
28085        }
28086    }
28087
28088    function getParseRegexForToken(token, config) {
28089        return hasOwnProp(regexes, token) ? regexes[token](config._strict, config._locale) : new RegExp(unescapeFormat(token))
28090    }
28091
28092    function unescapeFormat(s) {
28093        return s.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
28094            return p1 || p2 || p3 || p4
28095        }).replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&")
28096    }
28097
28098    function addParseToken(token, callback) {
28099        var i, func = callback;
28100        for ("string" == typeof token && (token = [token]), "number" == typeof callback && (func = function (input, array) {
28101            array[callback] = toInt(input)
28102        }), i = 0; i < token.length; i++) tokens[token[i]] = func
28103    }
28104
28105    function addWeekParseToken(token, callback) {
28106        addParseToken(token, function (input, array, config, token) {
28107            config._w = config._w || {}, callback(input, config._w, config, token)
28108        })
28109    }
28110
28111    function addTimeToArrayFromToken(token, input, config) {
28112        null != input && hasOwnProp(tokens, token) && tokens[token](input, config._a, config, token)
28113    }
28114
28115    function daysInMonth(year, month) {
28116        return new Date(Date.UTC(year, month + 1, 0)).getUTCDate()
28117    }
28118
28119    function localeMonths(m) {
28120        return this._months[m.month()]
28121    }
28122
28123    function localeMonthsShort(m) {
28124        return this._monthsShort[m.month()]
28125    }
28126
28127    function localeMonthsParse(monthName, format, strict) {
28128        var i, mom, regex;
28129        for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), i = 0; 12 > i; i++) {
28130            if (mom = create_utc__createUTC([2e3, i]), strict && !this._longMonthsParse[i] && (this._longMonthsParse[i] = new RegExp("^" + this.months(mom, "").replace(".", "") + "$", "i"), this._shortMonthsParse[i] = new RegExp("^" + this.monthsShort(mom, "").replace(".", "") + "$", "i")),
28131            strict || this._monthsParse[i] || (regex = "^" + this.months(mom, "") + "|^" + this.monthsShort(mom, ""), this._monthsParse[i] = new RegExp(regex.replace(".", ""), "i")), strict && "MMMM" === format && this._longMonthsParse[i].test(monthName)) return i;
28132            if (strict && "MMM" === format && this._shortMonthsParse[i].test(monthName)) return i;
28133            if (!strict && this._monthsParse[i].test(monthName)) return i
28134        }
28135    }
28136
28137    function setMonth(mom, value) {
28138        var dayOfMonth;
28139        return "string" == typeof value && (value = mom.localeData().monthsParse(value), "number" != typeof value) ? mom : (dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)), mom._d["set" + (mom._isUTC ? "UTC" : "") + "Month"](value, dayOfMonth), mom)
28140    }
28141
28142    function getSetMonth(value) {
28143        return null != value ? (setMonth(this, value), utils_hooks__hooks.updateOffset(this, !0), this) : get_set__get(this, "Month")
28144    }
28145
28146    function getDaysInMonth() {
28147        return daysInMonth(this.year(), this.month())
28148    }
28149
28150    function checkOverflow(m) {
28151        var overflow, a = m._a;
28152        return a && -2 === getParsingFlags(m).overflow && (overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || 24 === a[HOUR] && (0 !== a[MINUTE] || 0 !== a[SECOND] || 0 !== a[MILLISECOND]) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1, getParsingFlags(m)._overflowDayOfYear && (YEAR > overflow || overflow > DATE) && (overflow = DATE), getParsingFlags(m).overflow = overflow), m
28153    }
28154
28155    function warn(msg) {
28156        utils_hooks__hooks.suppressDeprecationWarnings === !1 && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + msg)
28157    }
28158
28159    function deprecate(msg, fn) {
28160        var firstTime = !0;
28161        return extend(function () {
28162            return firstTime && (warn(msg + "\n" + (new Error).stack), firstTime = !1), fn.apply(this, arguments)
28163        }, fn)
28164    }
28165
28166    function deprecateSimple(name, msg) {
28167        deprecations[name] || (warn(msg), deprecations[name] = !0)
28168    }
28169
28170    function configFromISO(config) {
28171        var i, l, string = config._i, match = from_string__isoRegex.exec(string);
28172        if (match) {
28173            for (getParsingFlags(config).iso = !0, i = 0, l = isoDates.length; l > i; i++) if (isoDates[i][1].exec(string)) {
28174                config._f = isoDates[i][0];
28175                break
28176            }
28177            for (i = 0, l = isoTimes.length; l > i; i++) if (isoTimes[i][1].exec(string)) {
28178                config._f += (match[6] || " ") + isoTimes[i][0];
28179                break
28180            }
28181            string.match(matchOffset) && (config._f += "Z"), configFromStringAndFormat(config)
28182        } else config._isValid = !1
28183    }
28184
28185    function configFromString(config) {
28186        var matched = aspNetJsonRegex.exec(config._i);
28187        return null !== matched ? void (config._d = new Date(+matched[1])) : (configFromISO(config), void (config._isValid === !1 && (delete config._isValid, utils_hooks__hooks.createFromInputFallback(config))))
28188    }
28189
28190    function createDate(y, m, d, h, M, s, ms) {
28191        var date = new Date(y, m, d, h, M, s, ms);
28192        return 1970 > y && date.setFullYear(y), date
28193    }
28194
28195    function createUTCDate(y) {
28196        var date = new Date(Date.UTC.apply(null, arguments));
28197        return 1970 > y && date.setUTCFullYear(y), date
28198    }
28199
28200    function daysInYear(year) {
28201        return isLeapYear(year) ? 366 : 365
28202    }
28203
28204    function isLeapYear(year) {
28205        return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0
28206    }
28207
28208    function getIsLeapYear() {
28209        return isLeapYear(this.year())
28210    }
28211
28212    function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
28213        var adjustedMoment, end = firstDayOfWeekOfYear - firstDayOfWeek,
28214            daysToDayOfWeek = firstDayOfWeekOfYear - mom.day();
28215        return daysToDayOfWeek > end && (daysToDayOfWeek -= 7), end - 7 > daysToDayOfWeek && (daysToDayOfWeek += 7), adjustedMoment = local__createLocal(mom).add(daysToDayOfWeek, "d"), {
28216            week: Math.ceil(adjustedMoment.dayOfYear() / 7),
28217            year: adjustedMoment.year()
28218        }
28219    }
28220
28221    function localeWeek(mom) {
28222        return weekOfYear(mom, this._week.dow, this._week.doy).week
28223    }
28224
28225    function localeFirstDayOfWeek() {
28226        return this._week.dow
28227    }
28228
28229    function localeFirstDayOfYear() {
28230        return this._week.doy
28231    }
28232
28233    function getSetWeek(input) {
28234        var week = this.localeData().week(this);
28235        return null == input ? week : this.add(7 * (input - week), "d")
28236    }
28237
28238    function getSetISOWeek(input) {
28239        var week = weekOfYear(this, 1, 4).week;
28240        return null == input ? week : this.add(7 * (input - week), "d")
28241    }
28242
28243    function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
28244        var dayOfYear, week1Jan = 6 + firstDayOfWeek - firstDayOfWeekOfYear,
28245            janX = createUTCDate(year, 0, 1 + week1Jan), d = janX.getUTCDay();
28246        return firstDayOfWeek > d && (d += 7), weekday = null != weekday ? 1 * weekday : firstDayOfWeek, dayOfYear = 1 + week1Jan + 7 * (week - 1) - d + weekday, {
28247            year: dayOfYear > 0 ? year : year - 1,
28248            dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
28249        }
28250    }
28251
28252    function getSetDayOfYear(input) {
28253        var dayOfYear = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
28254        return null == input ? dayOfYear : this.add(input - dayOfYear, "d")
28255    }
28256
28257    function defaults(a, b, c) {
28258        return null != a ? a : null != b ? b : c
28259    }
28260
28261    function currentDateArray(config) {
28262        var now = new Date;
28263        return config._useUTC ? [now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()] : [now.getFullYear(), now.getMonth(), now.getDate()]
28264    }
28265
28266    function configFromArray(config) {
28267        var i, date, currentDate, yearToUse, input = [];
28268        if (!config._d) {
28269            for (currentDate = currentDateArray(config), config._w && null == config._a[DATE] && null == config._a[MONTH] && dayOfYearFromWeekInfo(config), config._dayOfYear && (yearToUse = defaults(config._a[YEAR], currentDate[YEAR]), config._dayOfYear > daysInYear(yearToUse) && (getParsingFlags(config)._overflowDayOfYear = !0), date = createUTCDate(yearToUse, 0, config._dayOfYear), config._a[MONTH] = date.getUTCMonth(), config._a[DATE] = date.getUTCDate()), i = 0; 3 > i && null == config._a[i];
vendor: 17,724 bytes, lines 28269-28539
28269 ++i) config._a[i] = input[i] = currentDate[i];
28270            for (; 7 > i; i++) config._a[i] = input[i] = null == config._a[i] ? 2 === i ? 1 : 0 : config._a[i];
28271            24 === config._a[HOUR] && 0 === config._a[MINUTE] && 0 === config._a[SECOND] && 0 === config._a[MILLISECOND] && (config._nextDay = !0, config._a[HOUR] = 0), config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input), null != config._tzm && config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm), config._nextDay && (config._a[HOUR] = 24)
28272        }
28273    }
28274
28275    function dayOfYearFromWeekInfo(config) {
28276        var w, weekYear, week, weekday, dow, doy, temp;
28277        w = config._w, null != w.GG || null != w.W || null != w.E ? (dow = 1, doy = 4, weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(local__createLocal(), 1, 4).year), week = defaults(w.W, 1), weekday = defaults(w.E, 1)) : (dow = config._locale._week.dow, doy = config._locale._week.doy, weekYear = defaults(w.gg, config._a[YEAR], weekOfYear(local__createLocal(), dow, doy).year), week = defaults(w.w, 1), null != w.d ? (weekday = w.d, dow > weekday && ++week) : weekday = null != w.e ? w.e + dow : dow), temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow), config._a[YEAR] = temp.year, config._dayOfYear = temp.dayOfYear
28278    }
28279
28280    function configFromStringAndFormat(config) {
28281        if (config._f === utils_hooks__hooks.ISO_8601) return void configFromISO(config);
28282        config._a = [], getParsingFlags(config).empty = !0;
28283        var i, parsedInput, tokens, token, skipped, string = "" + config._i, stringLength = string.length,
28284            totalParsedInputLength = 0;
28285        for (tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [], i = 0; i < tokens.length; i++) token = tokens[i], parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0], parsedInput && (skipped = string.substr(0, string.indexOf(parsedInput)), skipped.length > 0 && getParsingFlags(config).unusedInput.push(skipped), string = string.slice(string.indexOf(parsedInput) + parsedInput.length), totalParsedInputLength += parsedInput.length), formatTokenFunctions[token] ? (parsedInput ? getParsingFlags(config).empty = !1 : getParsingFlags(config).unusedTokens.push(token), addTimeToArrayFromToken(token, parsedInput, config)) : config._strict && !parsedInput && getParsingFlags(config).unusedTokens.push(token);
28286        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength, string.length > 0 && getParsingFlags(config).unusedInput.push(string), getParsingFlags(config).bigHour === !0 && config._a[HOUR] <= 12 && config._a[HOUR] > 0 && (getParsingFlags(config).bigHour = void 0), config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem), configFromArray(config), checkOverflow(config)
28287    }
28288
28289    function meridiemFixWrap(locale, hour, meridiem) {
28290        var isPm;
28291        return null == meridiem ? hour : null != locale.meridiemHour ? locale.meridiemHour(hour, meridiem) : null != locale.isPM ? (isPm = locale.isPM(meridiem), isPm && 12 > hour && (hour += 12), isPm || 12 !== hour || (hour = 0), hour) : hour
28292    }
28293
28294    function configFromStringAndArray(config) {
28295        var tempConfig, bestMoment, scoreToBeat, i, currentScore;
28296        if (0 === config._f.length) return getParsingFlags(config).invalidFormat = !0, void (config._d = new Date(NaN));
28297        for (i = 0; i < config._f.length; i++) currentScore = 0, tempConfig = copyConfig({}, config), null != config._useUTC && (tempConfig._useUTC = config._useUTC), tempConfig._f = config._f[i], configFromStringAndFormat(tempConfig), valid__isValid(tempConfig) && (currentScore += getParsingFlags(tempConfig).charsLeftOver, currentScore += 10 * getParsingFlags(tempConfig).unusedTokens.length, getParsingFlags(tempConfig).score = currentScore, (null == scoreToBeat || scoreToBeat > currentScore) && (scoreToBeat = currentScore, bestMoment = tempConfig));
28298        extend(config, bestMoment || tempConfig)
28299    }
28300
28301    function configFromObject(config) {
28302        if (!config._d) {
28303            var i = normalizeObjectUnits(config._i);
28304            config._a = [i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], configFromArray(config)
28305        }
28306    }
28307
28308    function createFromConfig(config) {
28309        var res = new Moment(checkOverflow(prepareConfig(config)));
28310        return res._nextDay && (res.add(1, "d"), res._nextDay = void 0), res
28311    }
28312
28313    function prepareConfig(config) {
28314        var input = config._i, format = config._f;
28315        return config._locale = config._locale || locale_locales__getLocale(config._l), null === input || void 0 === format && "" === input ? valid__createInvalid({nullInput: !0}) : ("string" == typeof input && (config._i = input = config._locale.preparse(input)), isMoment(input) ? new Moment(checkOverflow(input)) : (isArray(format) ? configFromStringAndArray(config) : format ? configFromStringAndFormat(config) : isDate(input) ? config._d = input : configFromInput(config), config))
28316    }
28317
28318    function configFromInput(config) {
28319        var input = config._i;
28320        void 0 === input ? config._d = new Date : isDate(input) ? config._d = new Date(+input) : "string" == typeof input ? configFromString(config) : isArray(input) ? (config._a = map(input.slice(0), function (obj) {
28321            return parseInt(obj, 10)
28322        }), configFromArray(config)) : "object" == typeof input ? configFromObject(config) : "number" == typeof input ? config._d = new Date(input) : utils_hooks__hooks.createFromInputFallback(config)
28323    }
28324
28325    function createLocalOrUTC(input, format, locale, strict, isUTC) {
28326        var c = {};
28327        return "boolean" == typeof locale && (strict = locale, locale = void 0), c._isAMomentObject = !0, c._useUTC = c._isUTC = isUTC, c._l = locale, c._i = input, c._f = format, c._strict = strict, createFromConfig(c)
28328    }
28329
28330    function local__createLocal(input, format, locale, strict) {
28331        return createLocalOrUTC(input, format, locale, strict, !1)
28332    }
28333
28334    function pickBy(fn, moments) {
28335        var res, i;
28336        if (1 === moments.length && isArray(moments[0]) && (moments = moments[0]), !moments.length) return local__createLocal();
28337        for (res = moments[0], i = 1; i < moments.length; ++i) (!moments[i].isValid() || moments[i][fn](res)) && (res = moments[i]);
28338        return res
28339    }
28340
28341    function min() {
28342        var args = [].slice.call(arguments, 0);
28343        return pickBy("isBefore", args)
28344    }
28345
28346    function max() {
28347        var args = [].slice.call(arguments, 0);
28348        return pickBy("isAfter", args)
28349    }
28350
28351    function Duration(duration) {
28352        var normalizedInput = normalizeObjectUnits(duration), years = normalizedInput.year || 0,
28353            quarters = normalizedInput.quarter || 0, months = normalizedInput.month || 0,
28354            weeks = normalizedInput.week || 0, days = normalizedInput.day || 0, hours = normalizedInput.hour || 0,
28355            minutes = normalizedInput.minute || 0, seconds = normalizedInput.second || 0,
28356            milliseconds = normalizedInput.millisecond || 0;
28357        this._milliseconds = +milliseconds + 1e3 * seconds + 6e4 * minutes + 36e5 * hours, this._days = +days + 7 * weeks, this._months = +months + 3 * quarters + 12 * years, this._data = {}, this._locale = locale_locales__getLocale(), this._bubble()
28358    }
28359
28360    function isDuration(obj) {
28361        return obj instanceof Duration
28362    }
28363
28364    function offset(token, separator) {
28365        addFormatToken(token, 0, 0, function () {
28366            var offset = this.utcOffset(), sign = "+";
28367            return 0 > offset && (offset = -offset, sign = "-"), sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2)
28368        })
28369    }
28370
28371    function offsetFromString(string) {
28372        var matches = (string || "").match(matchOffset) || [], chunk = matches[matches.length - 1] || [],
28373            parts = (chunk + "").match(chunkOffset) || ["-", 0, 0], minutes = +(60 * parts[1]) + toInt(parts[2]);
28374        return "+" === parts[0] ? minutes : -minutes
28375    }
28376
28377    function cloneWithOffset(input, model) {
28378        var res, diff;
28379        return model._isUTC ? (res = model.clone(), diff = (isMoment(input) || isDate(input) ? +input : +local__createLocal(input)) - +res, res._d.setTime(+res._d + diff), utils_hooks__hooks.updateOffset(res, !1), res) : local__createLocal(input).local()
28380    }
28381
28382    function getDateOffset(m) {
28383        return 15 * -Math.round(m._d.getTimezoneOffset() / 15)
28384    }
28385
28386    function getSetOffset(input, keepLocalTime) {
28387        var localAdjust, offset = this._offset || 0;
28388        return null != input ? ("string" == typeof input && (input = offsetFromString(input)), Math.abs(input) < 16 && (input = 60 * input), !this._isUTC && keepLocalTime && (localAdjust = getDateOffset(this)), this._offset = input, this._isUTC = !0, null != localAdjust && this.add(localAdjust, "m"), offset !== input && (!keepLocalTime || this._changeInProgress ? add_subtract__addSubtract(this, create__createDuration(input - offset, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, utils_hooks__hooks.updateOffset(this, !0), this._changeInProgress = null)), this) : this._isUTC ? offset : getDateOffset(this)
28389    }
28390
28391    function getSetZone(input, keepLocalTime) {
28392        return null != input ? ("string" != typeof input && (input = -input), this.utcOffset(input, keepLocalTime), this) : -this.utcOffset()
28393    }
28394
28395    function setOffsetToUTC(keepLocalTime) {
28396        return this.utcOffset(0, keepLocalTime)
28397    }
28398
28399    function setOffsetToLocal(keepLocalTime) {
28400        return this._isUTC && (this.utcOffset(0, keepLocalTime), this._isUTC = !1, keepLocalTime && this.subtract(getDateOffset(this), "m")), this
28401    }
28402
28403    function setOffsetToParsedOffset() {
28404        return this._tzm ? this.utcOffset(this._tzm) : "string" == typeof this._i && this.utcOffset(offsetFromString(this._i)), this
28405    }
28406
28407    function hasAlignedHourOffset(input) {
28408        return input = input ? local__createLocal(input).utcOffset() : 0, (this.utcOffset() - input) % 60 === 0
28409    }
28410
28411    function isDaylightSavingTime() {
28412        return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset()
28413    }
28414
28415    function isDaylightSavingTimeShifted() {
28416        if ("undefined" != typeof this._isDSTShifted) return this._isDSTShifted;
28417        var c = {};
28418        if (copyConfig(c, this), c = prepareConfig(c), c._a) {
28419            var other = c._isUTC ? create_utc__createUTC(c._a) : local__createLocal(c._a);
28420            this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0
28421        } else this._isDSTShifted = !1;
28422        return this._isDSTShifted
28423    }
28424
28425    function isLocal() {
28426        return !this._isUTC
28427    }
28428
28429    function isUtcOffset() {
28430        return this._isUTC
28431    }
28432
28433    function isUtc() {
28434        return this._isUTC && 0 === this._offset
28435    }
28436
28437    function create__createDuration(input, key) {
28438        var sign, ret, diffRes, duration = input, match = null;
28439        return isDuration(input) ? duration = {
28440            ms: input._milliseconds,
28441            d: input._days,
28442            M: input._months
28443        } : "number" == typeof input ? (duration = {}, key ? duration[key] = input : duration.milliseconds = input) : (match = aspNetRegex.exec(input)) ? (sign = "-" === match[1] ? -1 : 1, duration = {
28444            y: 0,
28445            d: toInt(match[DATE]) * sign,
28446            h: toInt(match[HOUR]) * sign,
28447            m: toInt(match[MINUTE]) * sign,
28448            s: toInt(match[SECOND]) * sign,
28449            ms: toInt(match[MILLISECOND]) * sign
28450        }) : (match = create__isoRegex.exec(input)) ? (sign = "-" === match[1] ? -1 : 1, duration = {
28451            y: parseIso(match[2], sign),
28452            M: parseIso(match[3], sign),
28453            d: parseIso(match[4], sign),
28454            h: parseIso(match[5], sign),
28455            m: parseIso(match[6], sign),
28456            s: parseIso(match[7], sign),
28457            w: parseIso(match[8], sign)
28458        }) : null == duration ? duration = {} : "object" == typeof duration && ("from" in duration || "to" in duration) && (diffRes = momentsDifference(local__createLocal(duration.from), local__createLocal(duration.to)), duration = {}, duration.ms = diffRes.milliseconds, duration.M = diffRes.months), ret = new Duration(duration), isDuration(input) && hasOwnProp(input, "_locale") && (ret._locale = input._locale), ret
28459    }
28460
28461    function parseIso(inp, sign) {
28462        var res = inp && parseFloat(inp.replace(",", "."));
28463        return (isNaN(res) ? 0 : res) * sign
28464    }
28465
28466    function positiveMomentsDifference(base, other) {
28467        var res = {milliseconds: 0, months: 0};
28468        return res.months = other.month() - base.month() + 12 * (other.year() - base.year()), base.clone().add(res.months, "M").isAfter(other) && --res.months, res.milliseconds = +other - +base.clone().add(res.months, "M"), res
28469    }
28470
28471    function momentsDifference(base, other) {
28472        var res;
28473        return other = cloneWithOffset(other, base), base.isBefore(other) ? res = positiveMomentsDifference(base, other) : (res = positiveMomentsDifference(other, base), res.milliseconds = -res.milliseconds, res.months = -res.months), res
28474    }
28475
28476    function createAdder(direction, name) {
28477        return function (val, period) {
28478            var dur, tmp;
28479            return null === period || isNaN(+period) || (deprecateSimple(name, "moment()." + name + "(period, number) is deprecated. Please use moment()." + name + "(number, period)."), tmp = val, val = period, period = tmp), val = "string" == typeof val ? +val : val, dur = create__createDuration(val, period), add_subtract__addSubtract(this, dur, direction), this
28480        }
28481    }
28482
28483    function add_subtract__addSubtract(mom, duration, isAdding, updateOffset) {
28484        var milliseconds = duration._milliseconds, days = duration._days, months = duration._months;
28485        updateOffset = null == updateOffset ? !0 : updateOffset, milliseconds && mom._d.setTime(+mom._d + milliseconds * isAdding), days && get_set__set(mom, "Date", get_set__get(mom, "Date") + days * isAdding), months && setMonth(mom, get_set__get(mom, "Month") + months * isAdding), updateOffset && utils_hooks__hooks.updateOffset(mom, days || months)
28486    }
28487
28488    function moment_calendar__calendar(time, formats) {
28489        var now = time || local__createLocal(), sod = cloneWithOffset(now, this).startOf("day"),
28490            diff = this.diff(sod, "days", !0),
28491            format = -6 > diff ? "sameElse" : -1 > diff ? "lastWeek" : 0 > diff ? "lastDay" : 1 > diff ? "sameDay" : 2 > diff ? "nextDay" : 7 > diff ? "nextWeek" : "sameElse";
28492        return this.format(formats && formats[format] || this.localeData().calendar(format, this, local__createLocal(now)))
28493    }
28494
28495    function clone() {
28496        return new Moment(this)
28497    }
28498
28499    function isAfter(input, units) {
28500        var inputMs;
28501        return units = normalizeUnits("undefined" != typeof units ? units : "millisecond"), "millisecond" === units ? (input = isMoment(input) ? input : local__createLocal(input), +this > +input) : (inputMs = isMoment(input) ? +input : +local__createLocal(input), inputMs < +this.clone().startOf(units))
28502    }
28503
28504    function isBefore(input, units) {
28505        var inputMs;
28506        return units = normalizeUnits("undefined" != typeof units ? units : "millisecond"), "millisecond" === units ? (input = isMoment(input) ? input : local__createLocal(input), +input > +this) : (inputMs = isMoment(input) ? +input : +local__createLocal(input), +this.clone().endOf(units) < inputMs)
28507    }
28508
28509    function isBetween(from, to, units) {
28510        return this.isAfter(from, units) && this.isBefore(to, units)
28511    }
28512
28513    function isSame(input, units) {
28514        var inputMs;
28515        return units = normalizeUnits(units || "millisecond"), "millisecond" === units ? (input = isMoment(input) ? input : local__createLocal(input), +this === +input) : (inputMs = +local__createLocal(input), +this.clone().startOf(units) <= inputMs && inputMs <= +this.clone().endOf(units))
28516    }
28517
28518    function diff(input, units, asFloat) {
28519        var delta, output, that = cloneWithOffset(input, this), zoneDelta = 6e4 * (that.utcOffset() - this.utcOffset());
28520        return units = normalizeUnits(units), "year" === units || "month" === units || "quarter" === units ? (output = monthDiff(this, that), "quarter" === units ? output /= 3 : "year" === units && (output /= 12)) : (delta = this - that, output = "second" === units ? delta / 1e3 : "minute" === units ? delta / 6e4 : "hour" === units ? delta / 36e5 : "day" === units ? (delta - zoneDelta) / 864e5 : "week" === units ? (delta - zoneDelta) / 6048e5 : delta), asFloat ? output : absFloor(output)
28521    }
28522
28523    function monthDiff(a, b) {
28524        var anchor2, adjust, wholeMonthDiff = 12 * (b.year() - a.year()) + (b.month() - a.month()),
28525            anchor = a.clone().add(wholeMonthDiff, "months");
28526        return 0 > b - anchor ? (anchor2 = a.clone().add(wholeMonthDiff - 1, "months"), adjust = (b - anchor) / (anchor - anchor2)) : (anchor2 = a.clone().add(wholeMonthDiff + 1, "months"), adjust = (b - anchor) / (anchor2 - anchor)), -(wholeMonthDiff + adjust)
28527    }
28528
28529    function toString() {
28530        return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")
28531    }
28532
28533    function moment_format__toISOString() {
28534        var m = this.clone().utc();
28535        return 0 < m.year() && m.year() <= 9999 ? "function" == typeof Date.prototype.toISOString ? this.toDate().toISOString() : formatMoment(m, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]") : formatMoment(m, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")
28536    }
28537
28538    function format(inputString) {
28539        var output = formatMoment(this, inputString || utils_hooks__hooks.defaultFormat);
28540        return this.localeData().postformat(output)
28541    }
28542
28543    function from(time, withoutSuffix) {
28544        return this.isValid() ? create__createDuration({
28545            to: this,
28546            from: time
28547        }).locale(this.locale()).humanize(!withoutSuffix) : this.localeData().invalidDate()
28548    }
28549
28550    function fromNow(withoutSuffix) {
28551        return this.from(local__createLocal(), withoutSuffix)
28552    }
28553
28554    function to(time, withoutSuffix) {
28555        return this.isValid() ? create__createDuration({
28556            from: this,
28557            to: time
28558        }).locale(this.locale()).humanize(!withoutSuffix) : this.localeData().invalidDate()
28559    }
28560
28561    function toNow(withoutSuffix) {
28562        return this.to(local__createLocal(), withoutSuffix)
28563    }
28564
28565    function locale(key) {
28566        var newLocaleData;
28567        return void 0 === key ? this._locale._abbr : (newLocaleData = locale_locales__getLocale(key), null != newLocaleData && (this._locale = newLocaleData), this)
28568    }
28569
28570    function localeData() {
28571        return this._locale
28572    }
28573
28574    function startOf(units) {
28575        switch (units = normalizeUnits(units)) {
28576            case"year":
28577                this.month(0);
28578            case"quarter":
28579            case"month":
28580                this.date(1);
28581            case"week":
28582            case"isoWeek":
28583            case"day":
28584                this.hours(0);
28585            case"hour":
28586                this.minutes(0);
28587            case"minute":
28588                this.seconds(0);
28589            case"second":
28590                this.milliseconds(0)
28591        }
28592        return "week" === units && this.weekday(0), "isoWeek" === units && this.isoWeekday(1), "quarter" === units && this.month(3 * Math.floor(this.month() / 3)), this
28593    }
28594
28595    function endOf(units) {
28596        return units = normalizeUnits(units), void 0 === units || "millisecond" === units ? this : this.startOf(units).add(1, "isoWeek" === units ? "week" : units).subtract(1, "ms")
28597    }
28598
28599    function to_type__valueOf() {
28600        return +this._d - 6e4 * (this._offset || 0)
28601    }
28602
28603    function unix() {
28604        return Math.floor(+this / 1e3)
28605    }
28606
28607    function toDate() {
28608        return this._offset ? new Date(+this) : this._d
28609    }
28610
28611    function toArray() {
28612        var m = this;
28613        return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]
28614    }
28615
28616    function toObject() {
28617        var m = this;
28618        return {
28619            years: m.year(),
28620            months: m.month(),
28621            date: m.date(),
28622            hours: m.hours(),
28623            minutes: m.minutes(),
28624            seconds: m.seconds(),
28625            milliseconds: m.milliseconds()
28626        }
28627    }
28628
28629    function moment_valid__isValid() {
28630        return valid__isValid(this)
28631    }
28632
28633    function parsingFlags() {
28634        return extend({}, getParsingFlags(this))
28635    }
28636
28637    function invalidAt() {
28638        return getParsingFlags(this).overflow
28639    }
28640
28641    function addWeekYearFormatToken(token, getter) {
28642        addFormatToken(0, [token, token.length], 0, getter)
28643    }
28644
28645    function weeksInYear(year, dow, doy) {
28646        return weekOfYear(local__createLocal([year, 11, 31 + dow - doy]), dow, doy).week
28647    }
28648
28649    function getSetWeekYear(input) {
28650        var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year;
28651        return null == input ? year : this.add(input - year, "y")
28652    }
28653
28654    function getSetISOWeekYear(input) {
28655        var year = weekOfYear(this, 1, 4).year;
28656        return null == input ? year : this.add(input - year, "y")
28657    }
28658
28659    function getISOWeeksInYear() {
28660        return weeksInYear(this.year(), 1, 4)
28661    }
28662
28663    function getWeeksInYear() {
28664        var weekInfo = this.localeData()._week;
28665        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy)
28666    }
28667
28668    function getSetQuarter(input) {
28669        return null == input ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (input - 1) + this.month() % 3)
28670    }
28671
28672    function parseWeekday(input, locale) {
28673        return "string" != typeof input ? input : isNaN(input) ? (input = locale.weekdaysParse(input), "number" == typeof input ? input : null) : parseInt(input, 10)
28674    }
28675
28676    function localeWeekdays(m) {
28677        return this._weekdays[m.day()]
28678    }
28679
28680    function localeWeekdaysShort(m) {
28681        return this._weekdaysShort[m.day()]
28682    }
28683
28684    function localeWeekdaysMin(m) {
28685        return this._weekdaysMin[m.day()]
28686    }
28687
28688    function localeWeekdaysParse(weekdayName) {
28689        var i, mom, regex;
28690        for (this._weekdaysParse = this._weekdaysParse || [], i = 0; 7 > i; i++) if (this._weekdaysParse[i] || (mom = local__createLocal([2e3, 1]).day(i), regex = "^" + this.weekdays(mom, "") + "|^" + this.weekdaysShort(mom, "") + "|^" + this.weekdaysMin(mom, ""), this._weekdaysParse[i] = new RegExp(regex.replace(".", ""), "i")), this._weekdaysParse[i].test(weekdayName)) return i
28691    }
28692
28693    function getSetDayOfWeek(input) {
28694        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
28695        return null != input ? (input = parseWeekday(input, this.localeData()), this.add(input - day, "d")) : day
28696    }
28697
28698    function getSetLocaleDayOfWeek(input) {
28699        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
28700        return null == input ? weekday : this.add(input - weekday, "d")
28701    }
28702
28703    function getSetISODayOfWeek(input) {
28704        return null == input ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7)
28705    }
28706
28707    function meridiem(token, lowercase) {
28708        addFormatToken(token, 0, 0, function () {
28709            return this.localeData().meridiem(this.hours(), this.minutes(), lowercase)
28710        })
28711    }
28712
28713    function matchMeridiem(isStrict, locale) {
28714        return locale._meridiemParse
28715    }
28716
28717    function localeIsPM(input) {
28718        return "p" === (input + "").toLowerCase().charAt(0)
28719    }
28720
28721    function localeMeridiem(hours, minutes, isLower) {
28722        return hours > 11 ? isLower ? "pm" : "PM" : isLower ? "am" : "AM"
28723    }
28724
28725    function parseMs(input, array) {
28726        array[MILLISECOND] = toInt(1e3 * ("0." + input))
28727    }
28728
28729    function getZoneAbbr() {
28730        return this._isUTC ? "UTC" : ""
28731    }
28732
28733    function getZoneName() {
28734        return this._isUTC ? "Coordinated Universal Time" : ""
28735    }
28736
28737    function moment__createUnix(input) {
28738        return local__createLocal(1e3 * input)
28739    }
28740
28741    function moment__createInZone() {
28742        return local__createLocal.apply(null, arguments).parseZone()
28743    }
28744
28745    function locale_calendar__calendar(key, mom, now) {
28746        var output = this._calendar[key];
28747        return "function" == typeof output ? output.call(mom, now) : output
28748    }
28749
28750    function longDateFormat(key) {
28751        var format = this._longDateFormat[key], formatUpper = this._longDateFormat[key.toUpperCase()];
28752        return format || !formatUpper ? format : (this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
28753            return val.slice(1)
28754        }), this._longDateFormat[key])
28755    }
28756
vendor: 17,078 bytes, lines 28757-29021
28757    function invalidDate() {
28758        return this._invalidDate
28759    }
28760
28761    function ordinal(number) {
28762        return this._ordinal.replace("%d", number)
28763    }
28764
28765    function preParsePostFormat(string) {
28766        return string
28767    }
28768
28769    function relative__relativeTime(number, withoutSuffix, string, isFuture) {
28770        var output = this._relativeTime[string];
28771        return "function" == typeof output ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number)
28772    }
28773
28774    function pastFuture(diff, output) {
28775        var format = this._relativeTime[diff > 0 ? "future" : "past"];
28776        return "function" == typeof format ? format(output) : format.replace(/%s/i, output)
28777    }
28778
28779    function locale_set__set(config) {
28780        var prop, i;
28781        for (i in config) prop = config[i], "function" == typeof prop ? this[i] = prop : this["_" + i] = prop;
28782        this._ordinalParseLenient = new RegExp(this._ordinalParse.source + "|" + /\d{1,2}/.source)
28783    }
28784
28785    function lists__get(format, index, field, setter) {
28786        var locale = locale_locales__getLocale(), utc = create_utc__createUTC().set(setter, index);
28787        return locale[field](utc, format)
28788    }
28789
28790    function list(format, index, field, count, setter) {
28791        if ("number" == typeof format && (index = format, format = void 0), format = format || "", null != index) return lists__get(format, index, field, setter);
28792        var i, out = [];
28793        for (i = 0; count > i; i++) out[i] = lists__get(format, i, field, setter);
28794        return out
28795    }
28796
28797    function lists__listMonths(format, index) {
28798        return list(format, index, "months", 12, "month")
28799    }
28800
28801    function lists__listMonthsShort(format, index) {
28802        return list(format, index, "monthsShort", 12, "month")
28803    }
28804
28805    function lists__listWeekdays(format, index) {
28806        return list(format, index, "weekdays", 7, "day")
28807    }
28808
28809    function lists__listWeekdaysShort(format, index) {
28810        return list(format, index, "weekdaysShort", 7, "day")
28811    }
28812
28813    function lists__listWeekdaysMin(format, index) {
28814        return list(format, index, "weekdaysMin", 7, "day")
28815    }
28816
28817    function duration_abs__abs() {
28818        var data = this._data;
28819        return this._milliseconds = mathAbs(this._milliseconds), this._days = mathAbs(this._days), this._months = mathAbs(this._months), data.milliseconds = mathAbs(data.milliseconds), data.seconds = mathAbs(data.seconds), data.minutes = mathAbs(data.minutes), data.hours = mathAbs(data.hours), data.months = mathAbs(data.months), data.years = mathAbs(data.years), this
28820    }
28821
28822    function duration_add_subtract__addSubtract(duration, input, value, direction) {
28823        var other = create__createDuration(input, value);
28824        return duration._milliseconds += direction * other._milliseconds, duration._days += direction * other._days, duration._months += direction * other._months, duration._bubble()
28825    }
28826
28827    function duration_add_subtract__add(input, value) {
28828        return duration_add_subtract__addSubtract(this, input, value, 1)
28829    }
28830
28831    function duration_add_subtract__subtract(input, value) {
28832        return duration_add_subtract__addSubtract(this, input, value, -1)
28833    }
28834
28835    function absCeil(number) {
28836        return 0 > number ? Math.floor(number) : Math.ceil(number)
28837    }
28838
28839    function bubble() {
28840        var seconds, minutes, hours, years, monthsFromDays, milliseconds = this._milliseconds, days = this._days,
28841            months = this._months, data = this._data;
28842        return milliseconds >= 0 && days >= 0 && months >= 0 || 0 >= milliseconds && 0 >= days && 0 >= months || (milliseconds += 864e5 * absCeil(monthsToDays(months) + days), days = 0, months = 0), data.milliseconds = milliseconds % 1e3, seconds = absFloor(milliseconds / 1e3), data.seconds = seconds % 60, minutes = absFloor(seconds / 60), data.minutes = minutes % 60, hours = absFloor(minutes / 60), data.hours = hours % 24, days += absFloor(hours / 24), monthsFromDays = absFloor(daysToMonths(days)), months += monthsFromDays, days -= absCeil(monthsToDays(monthsFromDays)), years = absFloor(months / 12), months %= 12, data.days = days, data.months = months, data.years = years, this
28843    }
28844
28845    function daysToMonths(days) {
28846        return 4800 * days / 146097
28847    }
28848
28849    function monthsToDays(months) {
28850        return 146097 * months / 4800
28851    }
28852
28853    function as(units) {
28854        var days, months, milliseconds = this._milliseconds;
28855        if (units = normalizeUnits(units), "month" === units || "year" === units) return days = this._days + milliseconds / 864e5, months = this._months + daysToMonths(days), "month" === units ? months : months / 12;
28856        switch (days = this._days + Math.round(monthsToDays(this._months)), units) {
28857            case"week":
28858                return days / 7 + milliseconds / 6048e5;
28859            case"day":
28860                return days + milliseconds / 864e5;
28861            case"hour":
28862                return 24 * days + milliseconds / 36e5;
28863            case"minute":
28864                return 1440 * days + milliseconds / 6e4;
28865            case"second":
28866                return 86400 * days + milliseconds / 1e3;
28867            case"millisecond":
28868                return Math.floor(864e5 * days) + milliseconds;
28869            default:
28870                throw new Error("Unknown unit " + units)
28871        }
28872    }
28873
28874    function duration_as__valueOf() {
28875        return this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * toInt(this._months / 12)
28876    }
28877
28878    function makeAs(alias) {
28879        return function () {
28880            return this.as(alias)
28881        }
28882    }
28883
28884    function duration_get__get(units) {
28885        return units = normalizeUnits(units), this[units + "s"]()
28886    }
28887
28888    function makeGetter(name) {
28889        return function () {
28890            return this._data[name]
28891        }
28892    }
28893
28894    function weeks() {
28895        return absFloor(this.days() / 7)
28896    }
28897
28898    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
28899        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture)
28900    }
28901
28902    function duration_humanize__relativeTime(posNegDuration, withoutSuffix, locale) {
28903        var duration = create__createDuration(posNegDuration).abs(), seconds = round(duration.as("s")),
28904            minutes = round(duration.as("m")), hours = round(duration.as("h")), days = round(duration.as("d")),
28905            months = round(duration.as("M")), years = round(duration.as("y")),
28906            a = seconds < thresholds.s && ["s", seconds] || 1 === minutes && ["m"] || minutes < thresholds.m && ["mm", minutes] || 1 === hours && ["h"] || hours < thresholds.h && ["hh", hours] || 1 === days && ["d"] || days < thresholds.d && ["dd", days] || 1 === months && ["M"] || months < thresholds.M && ["MM", months] || 1 === years && ["y"] || ["yy", years];
28907        return a[2] = withoutSuffix, a[3] = +posNegDuration > 0, a[4] = locale, substituteTimeAgo.apply(null, a)
28908    }
28909
28910    function duration_humanize__getSetRelativeTimeThreshold(threshold, limit) {
28911        return void 0 === thresholds[threshold] ? !1 : void 0 === limit ? thresholds[threshold] : (thresholds[threshold] = limit, !0)
28912    }
28913
28914    function humanize(withSuffix) {
28915        var locale = this.localeData(), output = duration_humanize__relativeTime(this, !withSuffix, locale);
28916        return withSuffix && (output = locale.pastFuture(+this, output)), locale.postformat(output)
28917    }
28918
28919    function iso_string__toISOString() {
28920        var minutes, hours, years, seconds = iso_string__abs(this._milliseconds) / 1e3,
28921            days = iso_string__abs(this._days), months = iso_string__abs(this._months);
28922        minutes = absFloor(seconds / 60), hours = absFloor(minutes / 60), seconds %= 60, minutes %= 60, years = absFloor(months / 12), months %= 12;
28923        var Y = years, M = months, D = days, h = hours, m = minutes, s = seconds, total = this.asSeconds();
28924        return total ? (0 > total ? "-" : "") + "P" + (Y ? Y + "Y" : "") + (M ? M + "M" : "") + (D ? D + "D" : "") + (h || m || s ? "T" : "") + (h ? h + "H" : "") + (m ? m + "M" : "") + (s ? s + "S" : "") : "P0D"
28925    }
28926
28927    var hookCallback, globalLocale, momentProperties = utils_hooks__hooks.momentProperties = [], updateInProgress = !1,
28928        locales = {}, aliases = {},
28929        formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
28930        localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, formatFunctions = {},
28931        formatTokenFunctions = {}, match1 = /\d/, match2 = /\d\d/, match3 = /\d{3}/, match4 = /\d{4}/,
28932        match6 = /[+-]?\d{6}/, match1to2 = /\d\d?/, match1to3 = /\d{1,3}/, match1to4 = /\d{1,4}/,
28933        match1to6 = /[+-]?\d{1,6}/, matchUnsigned = /\d+/, matchSigned = /[+-]?\d+/, matchOffset = /Z|[+-]\d\d:?\d\d/gi,
28934        matchTimestamp = /[+-]?\d+(\.\d{1,3})?/,
28935        matchWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
28936        regexes = {}, tokens = {}, YEAR = 0, MONTH = 1, DATE = 2, HOUR = 3, MINUTE = 4, SECOND = 5, MILLISECOND = 6;
28937    addFormatToken("M", ["MM", 2], "Mo", function () {
28938        return this.month() + 1
28939    }), addFormatToken("MMM", 0, 0, function (format) {
28940        return this.localeData().monthsShort(this, format)
28941    }), addFormatToken("MMMM", 0, 0, function (format) {
28942        return this.localeData().months(this, format)
28943    }), addUnitAlias("month", "M"), addRegexToken("M", match1to2), addRegexToken("MM", match1to2, match2),
28944        addRegexToken("MMM", matchWord), addRegexToken("MMMM", matchWord), addParseToken(["M", "MM"], function (input, array) {
28945        array[MONTH] = toInt(input) - 1
28946    }), addParseToken(["MMM", "MMMM"], function (input, array, config, token) {
28947        var month = config._locale.monthsParse(input, token, config._strict);
28948        null != month ? array[MONTH] = month : getParsingFlags(config).invalidMonth = input
28949    });
28950    var defaultLocaleMonths = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
28951        defaultLocaleMonthsShort = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), deprecations = {};
28952    utils_hooks__hooks.suppressDeprecationWarnings = !1;
28953    var from_string__isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
28954        isoDates = [["YYYYYY-MM-DD", /[+-]\d{6}-\d{2}-\d{2}/], ["YYYY-MM-DD", /\d{4}-\d{2}-\d{2}/], ["GGGG-[W]WW-E", /\d{4}-W\d{2}-\d/], ["GGGG-[W]WW", /\d{4}-W\d{2}/], ["YYYY-DDD", /\d{4}-\d{3}/]],
28955        isoTimes = [["HH:mm:ss.SSSS", /(T| )\d\d:\d\d:\d\d\.\d+/], ["HH:mm:ss", /(T| )\d\d:\d\d:\d\d/], ["HH:mm", /(T| )\d\d:\d\d/], ["HH", /(T| )\d\d/]],
28956        aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
28957    utils_hooks__hooks.createFromInputFallback = deprecate("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.", function (config) {
28958        config._d = new Date(config._i + (config._useUTC ? " UTC" : ""))
28959    }), addFormatToken(0, ["YY", 2], 0, function () {
28960        return this.year() % 100
28961    }), addFormatToken(0, ["YYYY", 4], 0, "year"), addFormatToken(0, ["YYYYY", 5], 0, "year"), addFormatToken(0, ["YYYYYY", 6, !0], 0, "year"), addUnitAlias("year", "y"), addRegexToken("Y", matchSigned), addRegexToken("YY", match1to2, match2), addRegexToken("YYYY", match1to4, match4), addRegexToken("YYYYY", match1to6, match6), addRegexToken("YYYYYY", match1to6, match6), addParseToken(["YYYYY", "YYYYYY"], YEAR), addParseToken("YYYY", function (input, array) {
28962        array[YEAR] = 2 === input.length ? utils_hooks__hooks.parseTwoDigitYear(input) : toInt(input)
28963    }), addParseToken("YY", function (input, array) {
28964        array[YEAR] = utils_hooks__hooks.parseTwoDigitYear(input)
28965    }), utils_hooks__hooks.parseTwoDigitYear = function (input) {
28966        return toInt(input) + (toInt(input) > 68 ? 1900 : 2e3)
28967    };
28968    var getSetYear = makeGetSet("FullYear", !1);
28969    addFormatToken("w", ["ww", 2], "wo", "week"), addFormatToken("W", ["WW", 2], "Wo", "isoWeek"), addUnitAlias("week", "w"), addUnitAlias("isoWeek", "W"), addRegexToken("w", match1to2), addRegexToken("ww", match1to2, match2), addRegexToken("W", match1to2), addRegexToken("WW", match1to2, match2), addWeekParseToken(["w", "ww", "W", "WW"], function (input, week, config, token) {
28970        week[token.substr(0, 1)] = toInt(input)
28971    });
28972    var defaultLocaleWeek = {dow: 0, doy: 6};
28973    addFormatToken("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), addUnitAlias("dayOfYear", "DDD"), addRegexToken("DDD", match1to3), addRegexToken("DDDD", match3), addParseToken(["DDD", "DDDD"], function (input, array, config) {
28974        config._dayOfYear = toInt(input)
28975    }), utils_hooks__hooks.ISO_8601 = function () {
28976    };
28977    var prototypeMin = deprecate("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548", function () {
28978            var other = local__createLocal.apply(null, arguments);
28979            return this > other ? this : other
28980        }),
28981        prototypeMax = deprecate("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548", function () {
28982            var other = local__createLocal.apply(null, arguments);
28983            return other > this ? this : other
28984        });
28985    offset("Z", ":"), offset("ZZ", ""), addRegexToken("Z", matchOffset), addRegexToken("ZZ", matchOffset), addParseToken(["Z", "ZZ"], function (input, array, config) {
28986        config._useUTC = !0, config._tzm = offsetFromString(input)
28987    });
28988    var chunkOffset = /([\+\-]|\d\d)/gi;
28989    utils_hooks__hooks.updateOffset = function () {
28990    };
28991    var aspNetRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
28992        create__isoRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;
28993    create__createDuration.fn = Duration.prototype;
28994    var add_subtract__add = createAdder(1, "add"), add_subtract__subtract = createAdder(-1, "subtract");
28995    utils_hooks__hooks.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
28996    var lang = deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function (key) {
28997        return void 0 === key ? this.localeData() : this.locale(key)
28998    });
28999    addFormatToken(0, ["gg", 2], 0, function () {
29000        return this.weekYear() % 100
29001    }), addFormatToken(0, ["GG", 2], 0, function () {
29002        return this.isoWeekYear() % 100
29003    }), addWeekYearFormatToken("gggg", "weekYear"), addWeekYearFormatToken("ggggg", "weekYear"), addWeekYearFormatToken("GGGG", "isoWeekYear"), addWeekYearFormatToken("GGGGG", "isoWeekYear"), addUnitAlias("weekYear", "gg"), addUnitAlias("isoWeekYear", "GG"), addRegexToken("G", matchSigned), addRegexToken("g", matchSigned), addRegexToken("GG", match1to2, match2), addRegexToken("gg", match1to2, match2), addRegexToken("GGGG", match1to4, match4), addRegexToken("gggg", match1to4, match4), addRegexToken("GGGGG", match1to6, match6), addRegexToken("ggggg", match1to6, match6), addWeekParseToken(["gggg", "ggggg", "GGGG", "GGGGG"], function (input, week, config, token) {
29004        week[token.substr(0, 2)] = toInt(input)
29005    }), addWeekParseToken(["gg", "GG"], function (input, week, config, token) {
29006        week[token] = utils_hooks__hooks.parseTwoDigitYear(input)
29007    }), addFormatToken("Q", 0, 0, "quarter"), addUnitAlias("quarter", "Q"), addRegexToken("Q", match1), addParseToken("Q", function (input, array) {
29008        array[MONTH] = 3 * (toInt(input) - 1)
29009    }), addFormatToken("D", ["DD", 2], "Do", "date"), addUnitAlias("date", "D"), addRegexToken("D", match1to2), addRegexToken("DD", match1to2, match2), addRegexToken("Do", function (isStrict, locale) {
29010        return isStrict ? locale._ordinalParse : locale._ordinalParseLenient
29011    }), addParseToken(["D", "DD"], DATE), addParseToken("Do", function (input, array) {
29012        array[DATE] = toInt(input.match(match1to2)[0], 10)
29013    });
29014    var getSetDayOfMonth = makeGetSet("Date", !0);
29015    addFormatToken("d", 0, "do", "day"), addFormatToken("dd", 0, 0, function (format) {
29016        return this.localeData().weekdaysMin(this, format)
29017    }), addFormatToken("ddd", 0, 0, function (format) {
29018        return this.localeData().weekdaysShort(this, format)
29019    }), addFormatToken("dddd", 0, 0, function (format) {
29020        return this.localeData().weekdays(this, format)
29021    }), addFormatToken("e", 0, 0, "weekday"), addFormatToken("E", 0, 0, "isoWeekday"), addUnitAlias("day", "d"), addUnitAlias("weekday", "e"), addUnitAlias("isoWeekday", "E"), addRegexToken("d", match1to2), addRegexToken("e", match1to2), addRegexToken("E", match1to2), addRegexToken("dd", matchWord), addRegexToken("ddd", matchWord), addRegexToken("dddd", matchWord), addWee
29021kParseToken(["dd", "ddd", "dddd"], function (input, week, config) {
29022        var weekday = config._locale.weekdaysParse(input);
29023        null != weekday ? week.d = weekday : getParsingFlags(config).invalidWeekday = input
29024    }), addWeekParseToken(["d", "e", "E"], function (input, week, config, token) {
29025        week[token] = toInt(input)
29026    });
29027    var defaultLocaleWeekdays = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
29028        defaultLocaleWeekdaysShort = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
29029        defaultLocaleWeekdaysMin = "Su_Mo_Tu_We_Th_Fr_Sa".split("_");
29030    addFormatToken("H", ["HH", 2], 0, "hour"), addFormatToken("h", ["hh", 2], 0, function () {
29031        return this.hours() % 12 || 12
29032    }), meridiem("a", !0), meridiem("A", !1), addUnitAlias("hour", "h"), addRegexToken("a", matchMeridiem), addRegexToken("A", matchMeridiem), addRegexToken("H", match1to2), addRegexToken("h", match1to2), addRegexToken("HH", match1to2, match2), addRegexToken("hh", match1to2, match2), addParseToken(["H", "HH"], HOUR), addParseToken(["a", "A"], function (input, array, config) {
vendor: 5,676 bytes, lines 29033-29065
29033        config._isPm = config._locale.isPM(input), config._meridiem = input
29034    }), addParseToken(["h", "hh"], function (input, array, config) {
29035        array[HOUR] = toInt(input), getParsingFlags(config).bigHour = !0
29036    });
29037    var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, getSetHour = makeGetSet("Hours", !0);
29038    addFormatToken("m", ["mm", 2], 0, "minute"), addUnitAlias("minute", "m"), addRegexToken("m", match1to2), addRegexToken("mm", match1to2, match2), addParseToken(["m", "mm"], MINUTE);
29039    var getSetMinute = makeGetSet("Minutes", !1);
29040    addFormatToken("s", ["ss", 2], 0, "second"), addUnitAlias("second", "s"), addRegexToken("s", match1to2), addRegexToken("ss", match1to2, match2), addParseToken(["s", "ss"], SECOND);
29041    var getSetSecond = makeGetSet("Seconds", !1);
29042    addFormatToken("S", 0, 0, function () {
29043        return ~~(this.millisecond() / 100)
29044    }), addFormatToken(0, ["SS", 2], 0, function () {
29045        return ~~(this.millisecond() / 10)
29046    }), addFormatToken(0, ["SSS", 3], 0, "millisecond"), addFormatToken(0, ["SSSS", 4], 0, function () {
29047        return 10 * this.millisecond()
29048    }), addFormatToken(0, ["SSSSS", 5], 0, function () {
29049        return 100 * this.millisecond()
29050    }), addFormatToken(0, ["SSSSSS", 6], 0, function () {
29051        return 1e3 * this.millisecond()
29052    }), addFormatToken(0, ["SSSSSSS", 7], 0, function () {
29053        return 1e4 * this.millisecond()
29054    }), addFormatToken(0, ["SSSSSSSS", 8], 0, function () {
29055        return 1e5 * this.millisecond()
29056    }), addFormatToken(0, ["SSSSSSSSS", 9], 0, function () {
29057        return 1e6 * this.millisecond()
29058    }), addUnitAlias("millisecond", "ms"), addRegexToken("S", match1to3, match1), addRegexToken("SS", match1to3, match2), addRegexToken("SSS", match1to3, match3);
29059    var token;
29060    for (token = "SSSS"; token.length <= 9; token += "S") addRegexToken(token, matchUnsigned);
29061    for (token = "S"; token.length <= 9; token += "S") addParseToken(token, parseMs);
29062    var getSetMillisecond = makeGetSet("Milliseconds", !1);
29063    addFormatToken("z", 0, 0, "zoneAbbr"), addFormatToken("zz", 0, 0, "zoneName");
29064    var momentPrototype__proto = Moment.prototype;
29065    momentPrototype__proto.add = add_subtract__add, momentPrototype__proto.calendar = moment_calendar__calendar, momentPrototype__proto.clone = clone, momentPrototype__proto.diff = diff, momentPrototype__proto.endOf = endOf, momentPrototype__proto.format = format, momentPrototype__proto.from = from, momentPrototype__proto.fromNow = fromNow, momentPrototype__proto.to = to, momentPrototype__proto.toNow = toNow, momentPrototype__proto.get = getSet, momentPrototype__proto.invalidAt = invalidAt, momentPrototype__proto.isAfter = isAfter, momentPrototype__proto.isBefore = isBefore, momentPrototype__proto.isBetween = isBetween, momentPrototype__proto.isSame = isSame, momentPrototype__proto.isValid = moment_valid__isValid, momentPrototype__proto.lang = lang, momentPrototype__proto.locale = locale, momentPrototype__proto.localeData = localeData, momentPrototype__proto.max = prototypeMax, momentPrototype__proto.min = prototypeMin, momentPrototype__proto.parsingFlags = parsingFlags, momentPrototype__proto.set = getSet, momentPrototype__proto.startOf = startOf, momentPrototype__proto.subtract = add_subtract__subtract, momentPrototype__proto.toArray = toArray, momentPrototype__proto.toObject = toObject, momentPrototype__proto.toDate = toDate, momentPrototype__proto.toISOString = moment_format__toISOString, momentPrototype__proto.toJSON = moment_format__toISOString, momentPrototype__proto.toString = toString, momentPrototype__proto.unix = unix, momentPrototype__proto.valueOf = to_type__valueOf, momentPrototype__proto.year = getSetYear, momentPrototype__proto.isLeapYear = getIsLeapYear, momentPrototype__proto.weekYear = getSetWeekYear, momentPrototype__proto.isoWeekYear = getSetISOWeekYear, momentPrototype__proto.quarter = momentPrototype__proto.quarters = getSetQuarter, momentPrototype__proto.month = getSetMonth, momentPrototype__proto.daysInMonth = getDaysInMonth, momentPrototype__proto.week = momentPrototype__proto.weeks = getSetWeek, momentPrototype__proto.isoWeek = momentPrototype__proto.isoWeeks = getSetISOWeek, momentPrototype__proto.weeksInYear = getWeeksInYear, momentPrototype__proto.isoWeeksInYear = getISOWeeksInYear, momentPrototype__proto.date = getSetDayOfMonth, momentPrototype__proto.day = momentPrototype__proto.days = getSetDayOfWeek, momentPrototype__proto.weekday = getSetLocaleDayOfWeek, momentPrototype__proto.isoWeekday = getSetISODayOfWeek, momentPrototype__proto.dayOfYear = getSetDayOfYear, momentPrototype__proto.hour = momentPrototype__proto.hours = getSetHour, momentPrototype__proto.minute = momentPrototype__proto.minutes = getSetMinute, momentPrototype__proto.second = momentPrototype__proto.seconds = getSetSecond, momentPrototype__proto.millisecond = momentPrototype__proto.milliseconds = getSetMillisecond, momentPrototype__proto.utcOffset = getSetOffset, momentPrototype__proto.utc = setOffsetToUTC, momentPrototype__proto.local = setOffsetToLocal, momentPrototype__proto.parseZone = setOffsetToParsedOffset, momentPrototype__proto.hasAlignedHourOffset = hasAlignedHourOffset, momentPrototype__proto.isDST = isDaylightSavingTime, momentPrototype__proto.isDSTShifted = isDaylightSavingTimeShifted, momentPrototype__proto.isLocal = isLocal, momentPrototype__proto.isUtcOffset = isUtcOffset, momentPrototype__proto.isUtc = isUtc, momentPrototype__proto.isUTC = isUtc, momentPrototype__proto.zoneAbbr = getZoneAbbr, momentPrototype__proto.zoneName = getZoneName, momentPrototype__proto.dates = deprecate("dates accessor is deprecated. Use date instead.", get
29065SetDayOfMonth), momentPrototype__proto.months = deprecate("months accessor is deprecated. Use month instead", getSetMonth), momentPrototype__proto.years = deprecate("years accessor is deprecated. Use year instead", getSetYear), momentPrototype__proto.zone = deprecate("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779", getSetZone);
29066    var momentPrototype = momentPrototype__proto, defaultCalendar = {
29067            sameDay: "[Today at] LT",
29068            nextDay: "[Tomorrow at] LT",
29069            nextWeek: "dddd [at] LT",
29070            lastDay: "[Yesterday at] LT",
29071            lastWeek: "[Last] dddd [at] LT",
29072            sameElse: "L"
29073        }, defaultLongDateFormat = {
29074            LTS: "h:mm:ss A",
29075            LT: "h:mm A",
29076            L: "MM/DD/YYYY",
29077            LL: "MMMM D, YYYY",
29078            LLL: "MMMM D, YYYY h:mm A",
29079            LLLL: "dddd, MMMM D, YYYY h:mm A"
29080        }, defaultInvalidDate = "Invalid date", defaultOrdinal = "%d", defaultOrdinalParse = /\d{1,2}/,
29081        defaultRelativeTime = {
29082            future: "in %s",
29083            past: "%s ago",
29084            s: "a few seconds",
29085            m: "a minute",
29086            mm: "%d minutes",
29087            h: "an hour",
29088            hh: "%d hours",
29089            d: "a day",
29090            dd: "%d days",
29091            M: "a month",
29092            MM: "%d months",
29093            y: "a year",
29094            yy: "%d years"
29095        }, prototype__proto = Locale.prototype;
29096    prototype__proto._calendar = defaultCalendar, prototype__proto.calendar = locale_calendar__calendar, prototype__proto._longDateFormat = defaultLongDateFormat, prototype__proto.longDateFormat = longDateFormat, prototype__proto._invalidDate = defaultInvalidDate, prototype__proto.invalidDate = invalidDate, prototype__proto._ordinal = defaultOrdinal, prototype__proto.ordinal = ordinal, prototype__proto._ordinalParse = defaultOrdinalParse, prototype__proto.preparse = preParsePostFormat, prototype__proto.postformat = preParsePostFormat, prototype__proto._relativeTime = defaultRelativeTime, prototype__proto.relativeTime = relative__relativeTime, prototype__proto.pastFuture = pastFuture, prototype__proto.set = locale_set__set, prototype__proto.months = localeMonths, prototype__proto._months = defaultLocaleMonths, prototype__proto.monthsShort = localeMonthsShort, prototype__proto._monthsShort = defaultLocaleMonthsShort, prototype__proto.monthsParse = localeMonthsParse, prototype__proto.week = localeWeek, prototype__proto._week = defaultLocaleWeek, prototype__proto.firstDayOfYear = localeFirstDayOfYear, prototype__proto.firstDayOfWeek = localeFirstDayOfWeek, prototype__proto.weekdays = localeWeekdays, prototype__proto._weekdays = defaultLocaleWeekdays, prototype__proto.weekdaysMin = localeWeekdaysMin, prototype__proto._weekdaysMin = defaultLocaleWeekdaysMin, prototype__proto.weekdaysShort = localeWeekdaysShort, prototype__proto._weekdaysShort = defaultLocaleWeekdaysShort, prototype__proto.weekdaysParse = localeWeekdaysParse, prototype__proto.isPM = localeIsPM, prototype__proto._meridiemParse = defaultLocaleMeridiemParse, prototype__proto.meridiem = localeMeridiem, locale_locales__getSetGlobalLocale("en", {
29097        ordinalParse: /\d{1,2}(th|st|nd|rd)/,
29098        ordinal: function (number) {
29099            var b = number % 10,
29100                output = 1 === toInt(number % 100 / 10) ? "th" : 1 === b ? "st" : 2 === b ? "nd" : 3 === b ? "rd" : "th";
29101            return number + output
29102        }
29103    }), utils_hooks__hooks.lang = deprecate("moment.lang is deprecated. Use moment.locale instead.", locale_locales__getSetGlobalLocale), utils_hooks__hooks.langData = deprecate("moment.langData is deprecated. Use moment.localeData instead.", locale_locales__getLocale);
29104    var mathAbs = Math.abs, asMilliseconds = makeAs("ms"), asSeconds = makeAs("s"), asMinutes = makeAs("m"),
29105        asHours = makeAs("h"), asDays = makeAs("d"), asWeeks = makeAs("w"), asMonths = makeAs("M"),
29106        asYears = makeAs("y"), milliseconds = makeGetter("milliseconds"), seconds = makeGetter("seconds"),
29107        minutes = makeGetter("minutes"), hours = makeGetter("hours"), days = makeGetter("days"),
29108        months = makeGetter("months"), years = makeGetter("years"), round = Math.round,
29109        thresholds = {s: 45, m: 45, h: 22, d: 26, M: 11}, iso_string__abs = Math.abs,
29110        duration_prototype__proto = Duration.prototype;
29111    duration_prototype__proto.abs = duration_abs__abs, duration_prototype__proto.add = duration_add_subtract__add, duration_prototype__proto.subtract = duration_add_subtract__subtract, duration_prototype__proto.as = as, duration_prototype__proto.asMilliseconds = asMilliseconds, duration_prototype__proto.asSeconds = asSeconds, duration_prototype__proto.asMinutes = asMinutes, duration_prototype__proto.asHours = asHours, duration_prototype__proto.asDays = asDays, duration_prototype__proto.asWeeks = asWeeks, duration_prototype__proto.asMonths = asMonths, duration_prototype__proto.asYears = asYears, duration_prototype__proto.valueOf = duration_as__valueOf, duration_prototype__proto._bubble = bubble, duration_prototype__proto.get = duration_get__get, duration_prototype__proto.milliseconds = milliseconds, duration_prototype__proto.seconds = seconds, duration_prototype__proto.minutes = minutes, duration_prototype__proto.hours = hours, duration_prototype__proto.days = days, duration_prototype__proto.weeks = weeks, duration_prototype__proto.months = months, duration_prototype__proto.years = years, duration_prototype__proto.humanize = humanize, duration_prototype__proto.toISOString = iso_string__toISOString, duration_prototype__proto.toString = iso_string__toISOString, duration_prototype__proto.toJSON = iso_string__toISOString, duration_prototype__proto.locale = locale, duration_prototype__proto.localeData = localeData, duration_prototype__proto.toIsoString = deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", iso_string__toISOString), duration_prototype__proto.lang = lang, addFormatToken("X", 0, 0, "unix"), addFormatToken("x", 0, 0, "valueOf"), addRegexToken("x", matchSigned), addRegexToken("X", matchTimestamp), addParseToken("X", function (input, array, config) {
29112        config._d = new Date(1e3 * parseFloat(input, 10))
29113    }), addParseToken("x", function (input, array, config) {
29114        config._d = new Date(toInt(input))
29115    }), utils_hooks__hooks.version = "2.10.6", setHookCallback(local__createLocal), utils_hooks__hooks.fn = momentPrototype, utils_hooks__hooks.min = min, utils_hooks__hooks.max = max, utils_hooks__hooks.utc = create_utc__createUTC, utils_hooks__hooks.unix = moment__createUnix, utils_hooks__hooks.months = lists__listMonths, utils_hooks__hooks.isDate = isDate, utils_hooks__hooks.locale = locale_locales__getSetGlobalLocale, utils_hooks__hooks.invalid = valid__createInvalid, utils_hooks__hooks.duration = create__createDuration, utils_hooks__hooks.isMoment = isMoment, utils_hooks__hooks.weekdays = lists__listWeekdays, utils_hooks__hooks.parseZone = moment__createInZone, utils_hooks__hooks.localeData = locale_locales__getLocale, utils_hooks__hooks.isDuration = isDuration, utils_hooks__hooks.monthsShort = lists__listMonthsShort, utils_hooks__hooks.weekdaysMin = lists__listWeekdaysMin, utils_hooks__hooks.defineLocale = defineLocale, utils_hooks__hooks.weekdaysShort = lists__listWeekdaysShort, utils_hooks__hooks.normalizeUnits = normalizeUnits, utils_hooks__hooks.relativeTimeThreshold = duration_humanize__getSetRelativeTimeThreshold;
29116    var _moment = utils_hooks__hooks;
29117    return _moment
29118}), !function (a) {
29119    "function" == typeof define && define.amd ? define(["jquery", "moment"], a) : "object" == typeof exports ? module.exports = a(require("jquery"), require("moment")) : a(jQuery, moment)
29120}(function (a, b) {
29121    function c(a) {
29122        return Q(a, Ra)
29123    }
29124
29125    function d(b) {
29126        var c, d = {views: b.views || {}};
29127        return a.each(b, function (b, e) {
29128            "views" != b && (a.isPlainObject(e) && !/(time|duration|interval)$/i.test(b) && -1 == a.inArray(b, Ra) ? (c = null, a.each(e, function (a, e) {
29129                /^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(a) ? (d.views[a] || (d.views[a] = {}), d.views[a][b] = e) : (c || (c = {}), c[a] = e)
29130            }), c && (d[b] = c)) : d[b] = e)
29131        }), d
29132    }
29133
29134    function e(a, b) {
29135        b.left && a.css({"border-left-width": 1, "margin-left": b.left - 1}), b.right && a.css({
29136            "border-right-width": 1,
29137            "margin-right": b.right - 1
29138        })
29139    }
29140
29141    function f(a) {
29142        a.css({"margin-left": "", "margin-right": "", "border-left-width": "", "border-right-width": ""})
29143    }
29144
29145    function g() {
29146        a("body").addClass("fc-not-allowed")
29147    }
29148
29149    function h() {
29150        a("body").removeClass("fc-not-allowed")
29151    }
29152
29153    function i(b, c, d) {
29154        var e = Math.floor(c / b.length), f = Math.floor(c - e * (b.length - 1)), g = [], h = [], i = [], k = 0;
29155        j(b), b.each(function (c, d) {
29156            var j = c === b.length - 1 ? f : e, l = a(d).outerHeight(!0);
29157            j > l ? (g.push(d), h.push(l), i.push(a(d).height())) : k += l
29158        }), d && (c -= k, e = Math.floor(c / g.length), f = Math.floor(c - e * (g.length - 1))), a(g).each(function (b, c) {
29159            var d = b === g.length - 1 ? f : e, j = h[b], k = i[b], l = d - (j - k);
29160            d > j && a(c).height(l)
29161        })
29162    }
29163
29164    function j(a) {
29165        a.height("")
29166    }
29167
29168    function k(b) {
29169        var c = 0;
29170        return b.find("> *").each(function (b, d) {
29171            var e = a(d).outerWidth();
29172            e > c && (c = e)
29173        }), c++, b.width(c), c
29174    }
29175
29176    function l(a, b) {
29177        return a.height(b).addClass("fc-scroller"), a[0].scrollHeight - 1 > a[0].clientHeight ? !0 : (m(a), !1)
29178    }
29179
29180    function m(a) {
29181        a.height("").removeClass("fc-scroller")
29182    }
29183
29184    function n(b) {
29185        var c = b.css("position"), d = b.parents().filter(function () {
29186            var b = a(this);
29187            return /(auto|scroll)/.test(b.css("overflow") + b.css("overflow-y") + b.css("overflow-x"))
29188        }).eq(0);
29189        return "fixed" !== c && d.length ? d : a(b[0].ownerDocument || document)
29190    }
29191
29192    function o(a) {
29193        var b = a.offset();
29194        return {left: b.left, right: b.left + a.outerWidth(), top: b.top, bottom: b.top + a.outerHeight()}
29195    }
29196
29197    function p(a) {
29198        var b = a.offset(), c = r(a), d = b.left + u(a, "border-left-width") + c.left,
29199            e = b.top + u(a, "border-top-width") + c.top;
29200        return {left: d, right: d + a[0].clientWidth, top: e, bottom: e + a[0].clientHeight}
29201    }
29202
29203    function q(a) {
29204        var b = a.offset(), c = b.left + u(a, "border-left-width") + u(a, "padding-left"),
29205            d = b.top + u(a, "border-top-width") + u(a, "padding-top");
29206        return {left: c, right: c + a.width(), top: d, bottom: d + a.height()}
29207    }
29208
29209    function r(a) {
29210        var b = a.innerWidth() - a[0].clientWidth,
29211            c = {left: 0, right: 0, top: 0, bottom: a.innerHeight() - a[0].clientHeight};
29212        return s() && "rtl" == a.css("direction") ? c.left = b : c.right = b, c
29213    }
29214
29215    function s() {
29216        return null === Sa && (Sa = t()), Sa
29217    }
29218
29219    function t() {
29220        var b = a("<div><div/></div>").css({
29221            position: "absolute",
29222            top: -1e3,
29223            left: 0,
29224            border: 0,
29225            padding: 0,
29226            overflow: "scroll",
29227            direction: "rtl"
29228        }).appendTo("body"), c = b.children(), d = c.offset().left > b.offset().left;
29229        return b.remove(), d
29230    }
29231
29232    function u(a, b) {
29233        return parseFloat(a.css(b)) || 0
29234    }
29235
29236    function v(a) {
29237        return 1 == a.which && !a.ctrlKey
29238    }
29239
29240    function w(a, b) {
29241        var c = {
29242            left: Math.max(a.left, b.left),
29243            right: Math.min(a.right, b.right),
29244            top: Math.max(a.top, b.top),
29245            bottom: Math.min(a.bottom, b.bottom)
29246        };
29247        return c.left < c.right && c.top < c.bottom ? c : !1
29248    }
29249
29250    function x(a, b) {
29251        return {left: Math.min(Math.max(a.left, b.left), b.right), top: Math.min(Math.max(a.top, b.top), b.bottom)}
29252    }
29253
29254    function y(a) {
29255        return {left: (a.left + a.right) / 2, top: (a.top + a.bottom) / 2}
29256    }
29257
29258    function z(a, b) {
29259        return {left: a.left - b.left, top: a.top - b.top}
29260    }
29261
29262    function A(b) {
29263        var c, d, e = [], f = [];
29264        for ("string" == typeof b ? f = b.split(/\s*,\s*/) : "function" == typeof b ? f = [b] : a.isArray(b) && (f = b), c = 0; c < f.length; c++) d = f[c], "string" == typeof d ? e.push("-" == d.charAt(0) ? {
29265            field: d.substring(1),
29266            order: -1
29267        } : {field: d, order: 1}) : "function" == typeof d && e.push({func: d});
29268        return e
29269    }
29270
29271    function B(a, b, c) {
29272        var d, e;
29273        for (d = 0; d < c.length; d++) if (e = C(a, b, c[d])) return e;
29274        return 0
29275    }
29276
29277    function C(a, b, c) {
29278        return c.func ? c.func(a, b) : D(a[c.field], b[c.field]) * (c.order || 1)
29279    }
29280
29281    function D(b, c) {
29282        return b || c ? null == c ? -1 : null == b ? 1 : "string" === a.type(b) || "string" === a.type(c) ? String(b).localeCompare(String(c)) : b - c : 0
29283    }
29284
29285    function E(a, b) {
29286        var c, d, e, f, g = a.start, h = a.end, i = b.start, j = b.end;
29287        return h > i && j > g ? (g >= i ? (c = g.clone(), e = !0) : (c = i.clone(), e = !1), j >= h ? (d = h.clone(), f = !0) : (d = j.clone(), f = !1), {
29288            start: c,
29289            end: d,
29290            isStart: e,
29291            isEnd: f
29292        }) : void 0
29293    }
29294
29295    function F(a, c) {
29296        return b.duration({days: a.clone().stripTime().diff(c.clone().stripTime(), "days"), ms: a.time() - c.time()})
29297    }
29298
29299    function G(a, c) {
29300        return b.duration({days: a.clone().stripTime().diff(c.clone().stripTime(), "days")})
29301    }
29302
29303    function H(a, c, d) {
29304        return b.duration(Math.round(a.diff(c, d, !0)), d)
29305    }
29306
29307    function I(a, b) {
29308        var c, d, e;
29309        for (c = 0; c < Ua.length && (d = Ua[c], e = J(d, a, b), !(e >= 1 && ba(e))); c++) ;
29310        return d
29311    }
29312
29313    function J(a, c, d) {
29314        return null != d ? d.diff(c, a, !0) : b.isDuration(c) ? c.as(a) : c.end.diff(c.start, a, !0)
29315    }
29316
29317    function K(a, b, c) {
29318        var d;
29319        return N(c) ? (b - a) / c : (d = c.asMonths(), Math.abs(d) >= 1 && ba(d) ? b.diff(a, "months", !0) / d : b.diff(a, "days", !0) / c.asDays())
29320    }
29321
29322    function L(a, b) {
29323        var c, d;
29324        return N(a) || N(b) ? a / b : (c = a.asMonths(), d = b.asMonths(), Math.abs(c) >= 1 && ba(c) && Math.abs(d) >= 1 && ba(d) ? c / d : a.asDays() / b.asDays())
29325    }
29326
29327    function M(a, c) {
29328        var d;
29329        return N(a) ? b.duration(a * c) : (d = a.asMonths(), Math.abs(d) >= 1 && ba(d) ? b.duration({months: d * c}) : b.duration({days: a.asDays() * c}))
29330    }
29331
29332    function N(a) {
29333        return Boolean(a.hours() || a.minutes() || a.seconds() || a.milliseconds())
29334    }
29335
29336    function O(a) {
29337        return "[object Date]" === Object.prototype.toString.call(a) || a instanceof Date
29338    }
29339
29340    function P(a) {
29341        return /^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(a)
29342    }
29343
29344    function Q(a, b) {
29345        var c, d, e, f, g, h, i = {};
29346        if (b) for (c = 0; c < b.length; c++) {
29347            for (d = b[c], e = [], f = a.length - 1; f >= 0; f--) if (g = a[f][d], "object" == typeof g) e.unshift(g); else if (void 0 !== g) {
29348                i[d] = g;
29349                break
29350            }
29351            e.length && (i[d] = Q(e))
29352        }
29353        for (c = a.length - 1; c >= 0; c--) {
29354            h = a[c];
29355            for (d in h) d in i || (i[d] = h[d])
29356        }
29357        return i
29358    }
29359
29360    function R(a) {
29361        var b = function () {
29362        };
29363        return b.prototype = a, new b
29364    }
29365
29366    function S(a, b) {
29367        for (var c in a) U(a, c) && (b[c] = a[c])
29368    }
29369
29370    function T(a, b) {
29371        var c, d, e = ["constructor", "toString", "valueOf"];
29372        for (c = 0; c < e.length; c++) d = e[c], a[d] !== Object.prototype[d] && (b[d] = a[d])
29373    }
29374
29375    function U(a, b) {
29376        return Ya.call(a, b)
29377    }
29378
29379    function V(b) {
29380        return /undefined|null|boolean|number|string/.test(a.type(b))
29381    }
29382
29383    function W(b, c, d) {
29384        if (a.isFunction(b) && (b = [b]), b) {
29385            var e, f;
29386            for (e = 0; e < b.length; e++) f = b[e].apply(c, d) || f;
29387            return f
29388        }
29389    }
29390
29391    function X() {
29392        for (var a = 0; a < arguments.length; a++) if (void 0 !== arguments[a]) return arguments[a]
29393    }
29394
29395    function Y(a) {
29396        return (a + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#039;").replace(/"/g, "&quot;").replace(/\n/g, "<br />")
29397    }
29398
29399    function Z(a) {
29400        return a.replace(/&.*?;/g, "")
29401    }
29402
29403    function $(b) {
29404        var c = [];
29405        return a.each(b, function (a, b) {
29406            null != b && c.push(a + ":" + b)
29407        }), c.join(";")
29408    }
29409
29410    function _(a) {
29411        return a.charAt(0).toUpperCase() + a.slice(1)
29412    }
29413
29414    function aa(a, b) {
29415        return a - b
29416    }
29417
29418    function ba(a) {
29419        return a % 1 === 0
29420    }
29421
29422    function ca(a, b) {
29423        var c = a[b];
29424        return function () {
29425            return c.apply(a, arguments)
29426        }
29427    }
29428
29429    function da(a, b) {
29430        var c, d, e, f, g = function () {
29431            var h = +new Date - f;
29432            b > h && h > 0 ? c = setTimeout(g, b - h) : (c = null, a.apply(e, d), c || (e = d = null))
29433        };
29434        return function () {
29435            e = this, d = arguments, f = +new Date, c || (c = setTimeout(g, b))
29436        }
29437    }
29438
29439    function ea(c, d, e) {
29440        var f, g, h, i, j = c[0], k = 1 == c.length && "string" == typeof j;
29441        return b.isMoment(j) ? (i = b.apply(null, c), ga(j, i)) : O(j) || void 0 === j ? i = b.apply(null, c) : (f = !1, g = !1, k ? Za.test(j) ? (j += "-01", c = [j], f = !0, g = !0) : (h = $a.exec(j)) && (f = !h[5], g = !0) : a.isArray(j) && (g = !0), i = d || f ? b.utc.apply(b, c) : b.apply(null, c), f ? (i._ambigTime = !0, i._ambigZone = !0) : e && (g ? i._ambigZone = !0 : k && (i.utcOffset ? i.utcOffset(j) : i.zone(j)))), i._fullCalendar = !0, i
29442    }
29443
29444    function fa(a, c) {
29445        var d, e, f = !1, g = !1, h = a.length, i = [];
29446        for (d = 0; h > d; d++) e = a[d], b.isMoment(e) || (e = Pa.moment.parseZone(e)), f = f || e._ambigTime, g = g || e._ambigZone, i.push(e);
29447        for (d = 0; h > d; d++) e = i[d], c || !f || e._ambigTime ? g && !e._ambigZone && (i[d] = e.clone().stripZone()) : i[d] = e.clone().stripTime();
29448        return i
29449    }
29450
29451    function ga(a, b) {
29452        a._ambigTime ? b._ambigTime = !0 : b._ambigTime && (b._ambigTime = !1), a._ambigZone ? b._ambigZone = !0 : b._ambigZone && (b._ambigZone = !1)
29453    }
29454
29455    function ha(a, b) {
29456        a.year(b[0] || 0).month(b[1] || 0).date(b[2] || 0).hours(b[3] || 0).minutes(b[4] || 0).seconds(b[5] || 0).milliseconds(b[6] || 0)
29457    }
29458
29459    function ia(a, b) {
29460        return ab.format.call(a, b)
29461    }
29462
29463    function ja(a, b) {
29464        return ka(a, pa(b))
29465    }
29466
29467    function ka(a, b) {
29468        var c, d = "";
29469        for (c = 0; c < b.length; c++) d += la(a, b[c]);
29470        return d
29471    }
29472
29473    function la(a, b) {
29474        var c, d;
29475        return "string" == typeof b ? b : (c = b.token) ? bb[c] ? bb[c](a) : ia(a, c) : b.maybe && (d = ka(a, b.maybe), d.match(/[1-9]/)) ? d : ""
29476    }
29477
29478    function ma(a, b, c, d, e) {
29479        var f;
29480        return a = Pa.moment.parseZone(a), b = Pa.moment.parseZone(b), f = (a.localeData || a.lang).call(a), c = f.longDateFormat(c) || c, d = d || " - ", na(a, b, pa(c), d, e)
29481    }
29482
29483    function na(a, b, c, d, e) {
29484        var f, g, h, i, j = a.clone().stripZone(), k = b.clone().stripZone(), l = "", m = "", n = "", o = "", p = "";
29485        for (g = 0; g < c.length && (f = oa(a, b, j, k, c[g]), f !== !1); g++) l += f;
29486        for (h = c.length - 1; h > g && (f = oa(a, b, j, k, c[h]), f !== !1); h--) m = f + m;
29487        for (i = g; h >= i; i++) n += la(a, c[i]), o += la(b, c[i]);
29488        return (n || o) && (p = e ? o + d + n : n + d + o), l + p + m
29489    }
29490
29491    function oa(a, b, c, d, e) {
29492        var f, g;
29493        return "string" == typeof e ? e : (f = e.token) && (g = cb[f.charAt(0)], g && c.isSame(d, g)) ? ia(a, f) : !1
29494    }
29495
29496    function pa(a) {
29497        return a in db ? db[a] : db[a] = qa(a)
29498    }
29499
29500    function qa(a) {
29501        for (var b, c = [], d = /\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g; b = d.exec(a);) b[1] ? c.push(b[1]) : b[2] ? c.push({maybe: qa(b[2])}) : b[3] ? c.push({token: b[3]}) : b[5] && c.push(b[5]);
29502        return c
29503    }
29504
29505    function ra() {
29506    }
29507
29508    function sa(a, b) {
29509        var c;
29510        return U(b, "constructor") && (c = b.constructor), "function" != typeof c && (c = b.constructor = function () {
29511            a.apply(this, arguments)
29512        }), c.prototype = R(a.prototype), S(b, c.prototype), T(b, c.prototype), S(a, c), c
29513    }
29514
29515    function ta(a, b) {
29516        S(b.prototype || b, a.prototype)
29517    }
29518
29519    function ua(a, b) {
29520        return a || b ? a && b ? a.component === b.component && va(a, b) && va(b, a) : !1 : !0
29521    }
29522
29523    function va(a, b) {
29524        for (var c in a) if (!/^(component|left|right|top|bottom)$/.test(c) && a[c] !== b[c]) return !1;
29525        return !0
29526    }
29527
29528    function wa(a) {
29529        var b = ya(a);
29530        return "background" === b || "inverse-background" === b
29531    }
29532
29533    function xa(a) {
29534        return "inverse-background" === ya(a)
29535    }
29536
29537    function ya(a) {
29538        return X((a.source || {}).rendering, a.rendering)
29539    }
29540
29541    function za(a) {
29542        var b, c, d = {};
29543        for (b = 0; b < a.length; b++) c = a[b], (d[c._id] || (d[c._id] = [])).push(c);
29544        return d
29545    }
29546
29547    function Aa(a, b) {
29548        return a.start - b.start
29549    }
29550
29551    function Ba(c) {
29552        var d, e, f, g, h = Pa.dataAttrPrefix;
29553        return h && (h += "-"), d = c.data(h + "event") || null, d && (d = "object" == typeof d ? a.extend({}, d) : {}, e = d.start, null == e && (e = d.time), f = d.duration, g = d.stick, delete d.start, delete d.time, delete d.duration, delete d.stick), null == e && (e = c.data(h + "start")), null == e && (e = c.data(h + "time")), null == f && (f = c.data(h + "duration")), null == g && (g = c.data(h + "stick")), e = null != e ? b.duration(e) : null, f = null != f ? b.duration(f) : null, g = Boolean(g), {
29554            eventProps: d,
29555            startTime: e,
29556            duration: f,
29557            stick: g
29558        }
29559    }
29560
29561    function Ca(a, b) {
29562        var c, d;
29563        for (c = 0; c < b.length;
29563 c++) if (d = b[c], d.leftCol <= a.rightCol && d.rightCol >= a.leftCol) return !0;
29564        return !1
29565    }
29566
29567    function Da(a, b) {
29568        return a.leftCol - b.leftCol
29569    }
29570
29571    function Ea(a) {
29572        var b, c, d, e = [];
29573        for (b = 0; b < a.length; b++) {
29574            for (c = a[b], d = 0; d < e.length && Ha(c, e[d]).length; d++) ;
29575            c.level = d, (e[d] || (e[d] = [])).push(c)
29576        }
29577        return e
29578    }
29579
29580    function Fa(a) {
29581        var b, c, d, e, f;
29582        for (b = 0; b < a.length; b++) for (c = a[b], d = 0; d < c.length; d++) for (e = c[d], e.forwardSegs = [], f = b + 1; f < a.length; f++) Ha(e, a[f], e.forwardSegs)
29583    }
29584
29585    function Ga(a) {
29586        var b, c, d = a.forwardSegs, e = 0;
29587        if (void 0 === a.forwardPressure) {
29588            for (b = 0; b < d.length; b++) c = d[b], Ga(c), e = Math.max(e, 1 + c.forwardPressure);
29589            a.forwardPressure = e
29590        }
29591    }
29592
29593    function Ha(a, b, c) {
29594        c = c || [];
29595        for (var d = 0; d < b.length; d++) Ia(a, b[d]) && c.push(b[d]);
29596        return c
29597    }
29598
29599    function Ia(a, b) {
29600        return a.bottom > b.top && a.top < b.bottom
29601    }
29602
29603    function Ja(c, d) {
29604        function e() {
29605            U ? h() && (k(), i()) : f()
29606        }
29607
29608        function f() {
29609            V = O.theme ? "ui" : "fc", c.addClass("fc"), O.isRTL ? c.addClass("fc-rtl") : c.addClass("fc-ltr"), O.theme ? c.addClass("ui-widget") : c.addClass("fc-unthemed"), U = a("<div class='fc-view-container'/>").prependTo(c), S = N.header = new Ma(N, O), T = S.render(), T && c.prepend(T), i(O.defaultView), O.handleWindowResize && (Y = da(m, O.windowResizeDelay), a(window).resize(Y))
29610        }
29611
29612        function g() {
29613            W && W.removeElement(), S.removeElement(), U.remove(), c.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"), Y && a(window).unbind("resize", Y)
29614        }
29615
29616        function h() {
29617            return c.is(":visible")
29618        }
29619
29620        function i(b) {
29621            ca++, W && b && W.type !== b && (S.deactivateButton(W.type), H(), W.removeElement(), W = N.view = null), !W && b && (W = N.view = ba[b] || (ba[b] = N.instantiateView(b)), W.setElement(a("<div class='fc-view fc-" + b + "-view' />").appendTo(U)), S.activateButton(b)), W && (Z = W.massageCurrentDate(Z), W.displaying && Z.isWithin(W.intervalStart, W.intervalEnd) || h() && (W.display(Z), I(), u(), v(), q())), I(), ca--
29622        }
29623
29624        function j(a) {
29625            return h() ? (a && l(), ca++, W.updateSize(!0), ca--, !0) : void 0
29626        }
29627
29628        function k() {
29629            h() && l()
29630        }
29631
29632        function l() {
29633            X = "number" == typeof O.contentHeight ? O.contentHeight : "number" == typeof O.height ? O.height - (T ? T.outerHeight(!0) : 0) : Math.round(U.width() / Math.max(O.aspectRatio, .5))
29634        }
29635
29636        function m(a) {
29637            !ca && a.target === window && W.start && j(!0) && W.trigger("windowResize", aa)
29638        }
29639
29640        function n() {
29641            p(), r()
29642        }
29643
29644        function o() {
29645            h() && (H(), W.displayEvents(ea), I())
29646        }
29647
29648        function p() {
29649            H(), W.clearEvents(), I()
29650        }
29651
29652        function q() {
29653            !O.lazyFetching || $(W.start, W.end) ? r() : o()
29654        }
29655
29656        function r() {
29657            _(W.start, W.end)
29658        }
29659
29660        function s(a) {
29661            ea = a, o()
29662        }
29663
29664        function t() {
29665            o()
29666        }
29667
29668        function u() {
29669            S.updateTitle(W.title)
29670        }
29671
29672        function v() {
29673            var a = N.getNow();
29674            a.isWithin(W.intervalStart, W.intervalEnd) ? S.disableButton("today") : S.enableButton("today")
29675        }
29676
29677        function w(a, b) {
29678            W.select(N.buildSelectSpan.apply(N, arguments))
29679        }
29680
29681        function x() {
29682            W && W.unselect()
29683        }
29684
29685        function y() {
29686            Z = W.computePrevDate(Z), i()
29687        }
29688
29689        function z() {
29690            Z = W.computeNextDate(Z), i()
29691        }
29692
29693        function A() {
29694            Z.add(-1, "years"), i()
29695        }
29696
29697        function B() {
29698            Z.add(1, "years"), i()
29699        }
29700
29701        function C() {
29702            Z = N.getNow(), i()
29703        }
29704
29705        function D(a) {
29706            Z = N.moment(a).stripZone(), i()
29707        }
29708
29709        function E(a) {
29710            Z.add(b.duration(a)), i()
29711        }
29712
29713        function F(a, b) {
29714            var c;
29715            b = b || "day", c = N.getViewSpec(b) || N.getUnitViewSpec(b), Z = a.clone(), i(c ? c.type : null)
29716        }
29717
29718        function G() {
29719            return N.applyTimezone(Z)
29720        }
29721
29722        function H() {
29723            U.css({width: "100%", height: U.height(), overflow: "hidden"})
29724        }
29725
29726        function I() {
29727            U.css({width: "", height: "", overflow: ""})
29728        }
29729
29730        function J() {
29731            return N
29732        }
29733
29734        function K() {
29735            return W
29736        }
29737
29738        function L(a, b) {
29739            return void 0 === b ? O[a] : void (("height" == a || "contentHeight" == a || "aspectRatio" == a) && (O[a] = b, j(!0)))
29740        }
29741
29742        function M(a, b) {
29743            var c = Array.prototype.slice.call(arguments, 2);
29744            return b = b || aa, this.triggerWith(a, b, c), O[a] ? O[a].apply(b, c) : void 0
29745        }
29746
29747        var N = this;
29748        N.initOptions(d || {});
29749        var O = this.options;
29750        N.render = e, N.destroy = g, N.refetchEvents = n, N.reportEvents = s, N.reportEventChange = t, N.rerenderEvents = o, N.changeView = i, N.select = w, N.unselect = x, N.prev = y, N.next = z, N.prevYear = A, N.nextYear = B, N.today = C, N.gotoDate = D, N.incrementDate = E, N.zoomTo = F, N.getDate = G, N.getCalendar = J, N.getView = K, N.option = L, N.trigger = M;
29751        var P = R(La(O.lang));
29752        if (O.monthNames && (P._months = O.monthNames), O.monthNamesShort && (P._monthsShort = O.monthNamesShort), O.dayNames && (P._weekdays = O.dayNames), O.dayNamesShort && (P._weekdaysShort = O.dayNamesShort), null != O.firstDay) {
29753            var Q = R(P._week);
29754            Q.dow = O.firstDay, P._week = Q
29755        }
29756        P._fullCalendar_weekCalc = function (a) {
29757            return "function" == typeof a ? a : "local" === a ? a : "iso" === a || "ISO" === a ? "ISO" : void 0
29758        }(O.weekNumberCalculation), N.defaultAllDayEventDuration = b.duration(O.defaultAllDayEventDuration), N.defaultTimedEventDuration = b.duration(O.defaultTimedEventDuration), N.moment = function () {
29759            var a;
29760            return "local" === O.timezone ? (a = Pa.moment.apply(null, arguments), a.hasTime() && a.local()) : a = "UTC" === O.timezone ? Pa.moment.utc.apply(null, arguments) : Pa.moment.parseZone.apply(null, arguments), "_locale" in a ? a._locale = P : a._lang = P, a
29761        }, N.getIsAmbigTimezone = function () {
29762            return "local" !== O.timezone && "UTC" !== O.timezone
29763        }, N.applyTimezone = function (a) {
29764            if (!a.hasTime()) return a.clone();
29765            var b, c = N.moment(a.toArray()), d = a.time() - c.time();
29766            return d && (b = c.clone().add(d), a.time() - b.time() === 0 && (c = b)), c
29767        }, N.getNow = function () {
29768            var a = O.now;
29769            return "function" == typeof a && (a = a()), N.moment(a).stripZone()
29770        }, N.getEventEnd = function (a) {
29771            return a.end ? a.end.clone() : N.getDefaultEventEnd(a.allDay, a.start)
29772        }, N.getDefaultEventEnd = function (a, b) {
29773            var c = b.clone();
29774            return a ? c.stripTime().add(N.defaultAllDayEventDuration) : c.add(N.defaultTimedEventDuration), N.getIsAmbigTimezone() && c.stripZone(), c
29775        }, N.humanizeDuration = function (a) {
29776            return (a.locale || a.lang).call(a, O.lang).humanize()
29777        }, Na.call(N, O);
29778        var S, T, U, V, W, X, Y, Z, $ = N.isFetchNeeded, _ = N.fetchEvents, aa = c[0], ba = {}, ca = 0, ea = [];
29779        Z = null != O.defaultDate ? N.moment(O.defaultDate).stripZone() : N.getNow(), N.getSuggestedViewHeight = function () {
29780            return void 0 === X && k(), X
29781        }, N.isHeightAuto = function () {
29782            return "auto" === O.contentHeight || "auto" === O.height
29783        }, N.freezeContentHeight = H, N.unfreezeContentHeight = I, N.initialize()
29784    }
29785
29786    function Ka(b) {
29787        a.each(tb, function (a, c) {
29788            null == b[a] && (b[a] = c(b))
29789        })
29790    }
29791
29792    function La(a) {
29793        var c = b.localeData || b.langData;
29794        return c.call(b, a) || c.call(b, "en")
29795    }
29796
29797    function Ma(b, c) {
29798        function d() {
29799            var b = c.header;
29800            return n = c.theme ? "ui" : "fc", b ? o = a("<div class='fc-toolbar'/>").append(f("left")).append(f("right")).append(f("center")).append('<div class="fc-clear"/>') : void 0
29801        }
29802
29803        function e() {
29804            o.remove(), o = a()
29805        }
29806
29807        function f(d) {
29808            var e = a('<div class="fc-' + d + '"/>'), f = c.header[d];
29809            return f && a.each(f.split(" "), function (d) {
29810                var f, g = a(), h = !0;
29811                a.each(this.split(","), function (d, e) {
29812                    var f, i, j, k, l, m, o, q, r, s;
29813                    "title" == e ? (g = g.add(a("<h2>&nbsp;</h2>")), h = !1) : ((f = (b.options.customButtons || {})[e]) ? (j = function (a) {
29814                        f.click && f.click.call(s[0], a)
29815                    }, k = "", l = f.text) : (i = b.getViewSpec(e)) ? (j = function () {
29816                        b.changeView(e)
29817                    }, p.push(e), k = i.buttonTextOverride, l = i.buttonTextDefault) : b[e] && (j = function () {
29818                        b[e]()
29819                    }, k = (b.overrides.buttonText || {})[e], l = c.buttonText[e]), j && (m = f ? f.themeIcon : c.themeButtonIcons[e], o = f ? f.icon : c.buttonIcons[e], q = k ? Y(k) : m && c.theme ? "<span class='ui-icon ui-icon-" + m + "'></span>" : o && !c.theme ? "<span class='fc-icon fc-icon-" + o + "'></span>" : Y(l), r = ["fc-" + e + "-button", n + "-button", n + "-state-default"], s = a('<button type="button" class="' + r.join(" ") + '">' + q + "</button>").click(function (a) {
29820                        s.hasClass(n + "-state-disabled") || (j(a), (s.hasClass(n + "-state-active") || s.hasClass(n + "-state-disabled")) && s.removeClass(n + "-state-hover"))
29821                    }).mousedown(function () {
29822                        s.not("." + n + "-state-active").not("." + n + "-state-disabled").addClass(n + "-state-down")
29823                    }).mouseup(function () {
29824                        s.removeClass(n + "-state-down")
29825                    }).hover(function () {
29826                        s.not("." + n + "-state-active").not("." + n + "-state-disabled").addClass(n + "-state-hover")
29827                    }, function () {
29828                        s.removeClass(n + "-state-hover").removeClass(n + "-state-down")
29829                    }), g = g.add(s)))
29830                }), h && g.first().addClass(n + "-corner-left").end().last().addClass(n + "-corner-right").end(), g.length > 1 ? (f = a("<div/>"), h && f.addClass("fc-button-group"), f.append(g), e.append(f)) : e.append(g)
29831            }), e
29832        }
29833
29834        function g(a) {
29835            o.find("h2").text(a)
29836        }
29837
29838        function h(a) {
29839            o.find(".fc-" + a + "-button").addClass(n + "-state-active")
29840        }
29841
29842        function i(a) {
29843            o.find(".fc-" + a + "-button").removeClass(n + "-state-active")
29844        }
29845
29846        function j(a) {
29847            o.find(".fc-" + a + "-button").attr("disabled", "disabled").addClass(n + "-state-disabled")
29848        }
29849
29850        function k(a) {
29851            o.find(".fc-" + a + "-button").removeAttr("disabled").removeClass(n + "-state-disabled")
29852        }
29853
29854        function l() {
29855            return p
29856        }
29857
29858        var m = this;
29859        m.render = d, m.removeElement = e, m.updateTitle = g, m.activateButton = h, m.deactivateButton = i, m.disableButton = j, m.enableButton = k, m.getViewsWithButtons = l;
29860        var n, o = a(), p = []
29861    }
29862
29863    function Na(c) {
29864        function d(a, b) {
29865            return !L || L > a || b > M
29866        }
29867
29868        function e(a, b) {
29869            L = a, M = b, T = [];
29870            var c = ++R, d = Q.length;
29871            S = d;
29872            for (var e = 0; d > e; e++) f(Q[e], c)
29873        }
29874
29875        function f(b, c) {
29876            g(b, function (d) {
29877                var e, f, g, h = a.isArray(b.events);
29878                if (c == R) {
29879                    if (d) for (e = 0; e < d.length; e++) f = d[e], g = h ? f : s(f, b), g && T.push.apply(T, w(g));
29880                    S--, S || N(T)
29881                }
29882            })
29883        }
29884
29885        function g(b, d) {
29886            var e, f, h = Pa.sourceFetchers;
29887            for (e = 0; e < h.length; e++) {
29888                if (f = h[e].call(K, b, L.clone(), M.clone(), c.timezone, d), f === !0) return;
29889                if ("object" == typeof f) return void g(f, d)
29890            }
29891            var i = b.events;
29892            if (i) a.isFunction(i) ? (K.pushLoading(), i.call(K, L.clone(), M.clone(), c.timezone, function (a) {
29893                d(a), K.popLoading()
29894            })) : a.isArray(i) ? d(i) : d(); else {
29895                var j = b.url;
29896                if (j) {
29897                    var k, l = b.success, m = b.error, n = b.complete;
29898                    k = a.isFunction(b.data) ? b.data() : b.data;
29899                    var o = a.extend({}, k || {}), p = X(b.startParam, c.startParam), q = X(b.endParam, c.endParam),
29900                        r = X(b.timezoneParam, c.timezoneParam);
29901                    p && (o[p] = L.format()), q && (o[q] = M.format()), c.timezone && "local" != c.timezone && (o[r] = c.timezone), K.pushLoading(), a.aja
29901x(a.extend({}, ub, b, {
29902                        data: o,
29903                        success: function (b) {
29904                            b = b || [];
29905                            var c = W(l, this, arguments);
29906                            a.isArray(c) && (b = c), d(b)
29907                        },
29908                        error: function () {
29909                            W(m, this, arguments), d()
29910                        },
29911                        complete: function () {
29912                            W(n, this, arguments), K.popLoading()
29913                        }
29914                    }))
29915                } else d()
29916            }
29917        }
29918
29919        function h(a) {
29920            var b = i(a);
29921            b && (Q.push(b), S++, f(b, R))
29922        }
29923
29924        function i(b) {
29925            var c, d, e = Pa.sourceNormalizers;
29926            if (a.isFunction(b) || a.isArray(b) ? c = {events: b} : "string" == typeof b ? c = {url: b} : "object" == typeof b && (c = a.extend({}, b)), c) {
29927                for (c.className ? "string" == typeof c.className && (c.className = c.className.split(/\s+/)) : c.className = [], a.isArray(c.events) && (c.origArray = c.events, c.events = a.map(c.events, function (a) {
29928                    return s(a, c)
29929                })), d = 0; d < e.length; d++) e[d].call(K, c);
29930                return c
29931            }
29932        }
29933
29934        function j(b) {
29935            Q = a.grep(Q, function (a) {
29936                return !k(a, b)
29937            }), T = a.grep(T, function (a) {
29938                return !k(a.source, b)
29939            }), N(T)
29940        }
29941
29942        function k(a, b) {
29943            return a && b && l(a) == l(b)
29944        }
29945
29946        function l(a) {
29947            return ("object" == typeof a ? a.origArray || a.googleCalendarId || a.url || a.events : null) || a
29948        }
29949
29950        function m(a) {
29951            a.start = K.moment(a.start), a.end ? a.end = K.moment(a.end) : a.end = null, x(a, n(a)), N(T)
29952        }
29953
29954        function n(b) {
29955            var c = {};
29956            return a.each(b, function (a, b) {
29957                o(a) && void 0 !== b && V(b) && (c[a] = b)
29958            }), c
29959        }
29960
29961        function o(a) {
29962            return !/^_|^(id|allDay|start|end)$/.test(a)
29963        }
29964
29965        function p(a, b) {
29966            var c, d, e, f = s(a);
29967            if (f) {
29968                for (c = w(f), d = 0; d < c.length; d++) e = c[d], e.source || (b && (O.events.push(e), e.source = O), T.push(e));
29969                return N(T), c
29970            }
29971            return []
29972        }
29973
29974        function q(b) {
29975            var c, d;
29976            for (null == b ? b = function () {
29977                return !0
29978            } : a.isFunction(b) || (c = b + "", b = function (a) {
29979                return a._id == c
29980            }), T = a.grep(T, b, !0), d = 0; d < Q.length; d++) a.isArray(Q[d].events) && (Q[d].events = a.grep(Q[d].events, b, !0));
29981            N(T)
29982        }
29983
29984        function r(b) {
29985            return a.isFunction(b) ? a.grep(T, b) : null != b ? (b += "", a.grep(T, function (a) {
29986                return a._id == b
29987            })) : T
29988        }
29989
29990        function s(d, e) {
29991            var f, g, h, i = {};
29992            if (c.eventDataTransform && (d = c.eventDataTransform(d)), e && e.eventDataTransform && (d = e.eventDataTransform(d)), a.extend(i, d), e && (i.source = e), i._id = d._id || (void 0 === d.id ? "_fc" + vb++ : d.id + ""), d.className ? "string" == typeof d.className ? i.className = d.className.split(/\s+/) : i.className = d.className : i.className = [], f = d.start || d.date, g = d.end, P(f) && (f = b.duration(f)), P(g) && (g = b.duration(g)), d.dow || b.isDuration(f) || b.isDuration(g)) i.start = f ? b.duration(f) : null, i.end = g ? b.duration(g) : null, i._recurring = !0; else {
29993                if (f && (f = K.moment(f), !f.isValid())) return !1;
29994                g && (g = K.moment(g), g.isValid() || (g = null)), h = d.allDay, void 0 === h && (h = X(e ? e.allDayDefault : void 0, c.allDayDefault)), t(f, g, h, i)
29995            }
29996            return i
29997        }
29998
29999        function t(a, b, c, d) {
30000            d.start = a, d.end = b, d.allDay = c, u(d), Oa(d)
30001        }
30002
30003        function u(a) {
30004            v(a), a.end && !a.end.isAfter(a.start) && (a.end = null), a.end || (c.forceEventDuration ? a.end = K.getDefaultEventEnd(a.allDay, a.start) : a.end = null)
30005        }
30006
30007        function v(a) {
30008            null == a.allDay && (a.allDay = !(a.start.hasTime() || a.end && a.end.hasTime())), a.allDay ? (a.start.stripTime(), a.end && a.end.stripTime()) : (a.start.hasTime() || (a.start = K.applyTimezone(a.start.time(0))), a.end && !a.end.hasTime() && (a.end = 
30008K.applyTimezone(a.end.time(0))))
30009        }
30010
30011        function w(b, c, d) {
30012            var e, f, g, h, i, j, k, l, m, n = [];
30013            if (c = c || L, d = d || M, b) if (b._recurring) {
30014                if (f = b.dow) for (e = {}, g = 0; g < f.length; g++) e[f[g]] = !0;
30015                for (h = c.clone().stripTime(); h.isBefore(d);) (!e || e[h.day()]) && (i = b.start, j = b.end, k = h.clone(), l = null, i && (k = k.time(i)), j && (l = h.clone().time(j)), m = a.extend({}, b), t(k, l, !i && !j, m), n.push(m)), h.add(1, "days")
30016            } else n.push(b);
30017            return n
30018        }
30019
30020        function x(b, c, d) {
30021            function e(a, b) {
30022                return d ? H(a, b, d) : c.allDay ? G(a, b) : F(a, b)
30023            }
30024
30025            var f, g, h, i, j, k, l = {};
30026            return c = c || {}, c.start || (c.start = b.start.clone()), void 0 === c.end && (c.end = b.end ? b.end.clone() : null), null == c.allDay && (c.allDay = b.allDay), u(c), f = {
30027                start: b._start.clone(),
30028                end: b._end ? b._end.clone() : K.getDefaultEventEnd(b._allDay, b._start),
30029                allDay: c.allDay
30030            }, u(f), g = null !== b._end && null === c.end, h = e(c.start, f.start), c.end ? (i = e(c.end, f.end), j = i.subtract(h)) : j = null, a.each(c, function (a, b) {
30031                o(a) && void 0 !== b && (l[a] = b)
30032            }), k = y(r(b._id), g, c.allDay, h, j, l), {dateDelta: h, durationDelta: j, undo: k}
30033        }
30034
30035        function y(b, c, d, e, f, g) {
30036            var h = K.getIsAmbigTimezone(), i = [];
30037            return e && !e.valueOf() && (e = null), f && !f.valueOf() && (f = null), a.each(b, function (b, j) {
30038                var k, l;
30039                k = {
30040                    start: j.start.clone(),
30041                    end: j.end ? j.end.clone() : null,
30042                    allDay: j.allDay
30043                }, a.each(g, function (a) {
30044                    k[a] = j[a]
30045                }), l = {
30046                    start: j._start,
30047                    end: j._end,
30048                    allDay: d
30049                }, u(l), c ? l.end = null : f && !l.end && (l.end = K.getDefaultEventEnd(l.allDay, l.start)), e && (l.start.add(e), l.end && l.end.add(e)), f && l.end.add(f), h && !l.allDay && (e || f) && (l.start.stripZone(), l.end && l.end.stripZone()), a.extend(j, g, l), Oa(j), i.push(function () {
30050                    a.extend(j, k), Oa(j)
30051                })
30052            }), function () {
30053                for (var a = 0; a < i.length; a++) i[a]()
30054            }
30055        }
30056
30057        function z(b) {
30058            var d, e = c.businessHours, f = {
30059                className: "fc-nonbusiness",
30060                start: "09:00",
30061                end: "17:00",
30062                dow: [1, 2, 3, 4, 5],
30063                rendering: "inverse-background"
30064            }, g = K.getView();
30065            return e && (d = a.extend({}, f, "object" == typeof e ? e : {})), d ? (b && (d.start = null, d.end = null), w(s(d), g.start, g.end)) : []
30066        }
30067
30068        function A(a, b) {
30069            var d = b.source || {}, e = X(b.constraint, d.constraint, c.eventConstraint),
30070                f = X(b.overlap, d.overlap, c.eventOverlap);
30071            return D(a, e, f, b)
30072        }
30073
30074        function B(b, c, d) {
30075            var e, f;
30076            return d && (e = a.extend({}, d, c), f = w(s(e))[0]), f ? A(b, f) : C(b)
30077        }
30078
30079        function C(a) {
30080            return D(a, c.selectConstraint, c.selectOverlap)
30081        }
30082
30083        function D(a, b, c, d) {
30084            var e, f, g, h, i, j;
30085            if (null != b) {
30086                for (e = E(b), f = !1, h = 0; h < e.length; h++) if (I(e[h], a)) {
30087                    f = !0;
30088                    break
30089                }
30090                if (!f) return !1
30091            }
30092            for (g = K.getPeerEvents(a, d), h = 0; h < g.length; h++) if (i = g[h], J(i, a)) {
30093                if (c === !1) return !1;
30094                if ("function" == typeof c && !c(i, d)) return !1;
30095                if (d) {
30096                    if (j = X(i.overlap, (i.source || {}).overlap), j === !1) return !1;
30097                    if ("function" == typeof j && !j(d, i)) return !1
30098                }
30099            }
30100            return !0
30101        }
30102
30103        function E(a) {
30104            return "businessHours" === a ? z() : "object" == typeof a ? w(s(a)) : r(a)
30105        }
30106
30107        function I(a, b) {
30108            var c = a.start.clone().stripZone(), d = K.getEventEnd(a).stripZone();
30109            return b.start >= c && b.end <= d
30110        }
30111
30112        function J(a, b) {
30113            var c = a.start.clone().stripZone(), d = K.getEventEnd(a).stripZone();
30114            return b.start < d && b.end > c
30115        }
30116
30117        var K = this;
30118        K.isFetchNeeded = d, K.fetchEvents = e, K.addEventSource = h, K.removeEventSource = j, K.updateEvent = m, K.renderEvent = p, K.removeEvents = q, K.clientEvents = r, K.mutateEvent = x, K.normalizeEventDates = u, K.normalizeEventTimes = v;
30119        var L, M, N = K.reportEvents, O = {events: []}, Q = [O], R = 0, S = 0, T = [];
30120        a.each((c.events ? [c.events] : []).concat(c.eventSources || []), function (a, b) {
30121            var c = i(b);
30122            c && Q.push(c)
30123        }), K.getBusinessHoursEvents = z, K.isEventSpanAllowed = A, K.isExternalSpanAllowed = B, K.isSelectionSpanAllowed = C, K.getEventCache = function () {
30124            return T
30125        }
30126    }
30127
30128    function Oa(a) {
30129        a._allDay = a.allDay, a._start = a.start.clone(), a._end = a.end ? a.end.clone() : null
30130    }
30131
30132    var Pa = a.fullCalendar = {version: "2.5.0", internalApiVersion: 1}, Qa = Pa.views = {};
30133    a.fn.fullCalendar = function (b) {
30134        var c = Array.prototype.slice.call(arguments, 1), d = this;
30135        return this.each(function (e, f) {
30136            var g, h = a(f), i = h.data("fullCalendar");
30137            "string" == typeof b ? i && a.isFunction(i[b]) && (g = i[b].apply(i, c), e || (d = g), "destroy" === b && h.removeData("fullCalendar")) : i || (i = new pb(h, b), h.data("fullCalendar", i), i.render())
30138        }), d
30139    };
30140    var Ra = ["header", "buttonText", "buttonIcons", "themeButtonIcons"];
30141    Pa.intersectRanges = E, Pa.applyAll = W, Pa.debounce = da, Pa.isInt = ba, Pa.htmlEscape = Y, Pa.cssToStr = $, Pa.proxy = ca, Pa.capitaliseFirstLetter = _, Pa.getOuterRect = o, Pa.getClientRect = p, Pa.getContentRect = q, Pa.getScrollbarWidths = r;
30142    var Sa = null;
30143    Pa.intersectRects = w, Pa.parseFieldSpecs = A, Pa.compareByFieldSpecs = B, Pa.compareByFieldSpec = C, Pa.flexibleCompare = D, Pa.computeIntervalUnit = I, Pa.divideRangeByDuration = K, Pa.divideDurationByDuration = L, Pa.multiplyDuration = M, Pa.durationHasTime = N;
30144    var Ta = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"],
30145        Ua = ["year", "month", "week", "day", "hour", "minute", "second", "millisecond"];
30146    Pa.log = function () {
30147        var a = window.console;
30148        return a && a.log ? a.log.apply(a, arguments) : void 0
30149    }, Pa.warn = function () {
30150        var a = window.console;
30151        return a && a.warn ? a.warn.apply(a, arguments) : Pa.log.apply(Pa, arguments)
30152    };
30153    var Va, Wa, Xa, Ya = {}.hasOwnProperty, Za = /^\s*\d{4}-\d\d$/,
30154        $a = /^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,
30155        _a = b.fn, ab = a.extend({}, _a);
30156    Pa.moment = function () {
30157        return ea(arguments)
30158    }, Pa.moment.utc = function () {
30159        var a = ea(arguments, !0);
30160        return a.hasTime() && a.utc(), a
30161    }, Pa.moment.parseZone = function () {
30162        return ea(arguments, !0, !0)
30163    }, _a.clone = function () {
30164        var a = ab.clone.apply(this, arguments);
30165        return ga(this, a), this._fullCalendar && (a._fullCalendar = !0), a
30166    }, _a.week = _a.weeks = function (a) {
30167        var b = (this._locale || this._lang)._fullCalendar_weekCalc;
30168        return null == a && "function" == typeof b ? b(this) : "ISO" === b ? ab.isoWeek.apply(this, arguments) : ab.week.apply(this, arguments)
30169    }, _a.time = function (a) {
30170        if (!this._fullCalendar) return ab.time.apply(this, arguments);
30171        if (null == a) return b.duration({
30172            hours: this.hours(),
30173            minutes: this.minutes(),
30174            seconds: this.seconds(),
30175            milliseconds: this.milliseconds()
30176        });
30177        this._ambigTime = !1, b.isDuration(a) || b.isMoment(a) || (a = b.duration(a));
30178        var c = 0;
30179        return b.isDuration(a) && (c = 24 * Math.floor(a.asDays())), this.hours(c + a.hours()).minutes(a.minutes()).seconds(a.seconds()).milliseconds(a.milliseconds())
30180    }, _a.stripTime = function () {
30181        var a;
30182        return this._ambigTime || (a = this.toArray(), this.utc(), Wa(this, a.slice(0, 3)), this._ambigTime = !0, this._ambigZone = !0), this
30183    }, _a.hasTime = function () {
30184        return !this._ambigTime
30185    }, _a.stripZone = function () {
30186        var a, b;
30187        return this._ambigZone || (a = this.toArray(), b = this._ambigTime, this.utc(), Wa(this, a), this._ambigTime = b || !1, this._ambigZone = !0), this
30188    }, _a.hasZone = function () {
30189        return !this._ambigZone
30190    }, _a.local = function () {
30191        var a = this.toArray(), b = this._ambigZone;
30192        return ab.local.apply(this, arguments), this._ambigTime = !1, this._ambigZone = !1, b && Xa(this, a), this
30193    }, _a.utc = function () {
30194        return ab.utc.apply(this, arguments), this._ambigTime = !1, this._ambigZone = !1, this
30195    }, a.each(["zone", "utcOffset"], function (a, b) {
30196        ab[b] && (_a[b] = function (a) {
30197            return null != a && (this._ambigTime = !1, this._ambigZone = !1), ab[b].apply(this, arguments)
30198        })
30199    }), _a.format = function () {
30200        return this._fullCalendar && arguments[0] ? ja(this, arguments[0]) : this._ambigTime ? ia(this, "YYYY-MM-DD") : this._ambigZone ? ia(this, "YYYY-MM-DD[T]HH:mm:ss") : ab.format.apply(this, arguments)
30201    }, _a.toISOString = function () {
30202        return this._ambigTime ? ia(this, "YYYY-MM-DD") : this._ambigZone ? ia(this, "YYYY-MM-DD[T]HH:mm:ss") : ab.toISOString.apply(this, arguments)
30203    }, _a.isWithin = function (a, b) {
30204        var c = fa([this, a, b]);
30205        return c[0] >= c[1] && c[0] < c[2]
30206    }, _a.isSame = function (a, b) {
30207        var c;
30208        return this._fullCalendar ? b ? (c = fa([this, a], !0), ab.isSame.call(c[0], c[
302081], b)) : (a = Pa.moment.parseZone(a), ab.isSame.call(this, a) && Boolean(this._ambigTime) === Boolean(a._ambigTime) && Boolean(this._ambigZone) === Boolean(a._ambigZone)) : ab.isSame.apply(this, arguments)
30209    }, a.each(["isBefore", "isAfter"], function (a, b) {
30210        _a[b] = function (a, c) {
30211            var d;
30212            return this._fullCalendar ? (d = fa([this, a]), ab[b].call(d[0], d[1], c)) : ab[b].apply(this, arguments)
30213        }
30214    }), Va = "_d" in b() && "updateOffset" in b, Wa = Va ? function (a, c) {
30215        a._d.setTime(Date.UTC.apply(Date, c)), b.updateOffset(a, !1)
30216    } : ha, Xa = Va ? function (a, c) {
30217        a._d.setTime(+new Date(c[0] || 0, c[1] || 0, c[2] || 0, c[3] || 0, c[4] || 0, c[5] || 0, c[6] || 0)), b.updateOffset(a, !1)
30218    } : ha;
30219    var bb = {
30220        t: function (a) {
30221            return ia(a, "a").charAt(0)
30222        }, T: function (a) {
30223            return ia(a, "A").charAt(0)
30224        }
30225    };
30226    Pa.formatRange = ma;
30227    var cb = {
30228        Y: "year",
30229        M: "month",
30230        D: "day",
30231        d: "day",
30232        A: "second",
30233        a: "second",
30234        T: "second",
30235        t: "second",
30236        H: "second",
30237        h: "second",
30238        m: "second",
30239        s: "second"
30240    }, db = {};
30241    Pa.Class = ra, ra.extend = function () {
30242        var a, b, c = arguments.length;
30243        for (a = 0; c > a; a++) b = arguments[a], c - 1 > a && ta(this, b);
30244        return sa(this, b || {})
30245    }, ra.mixin = function (a) {
30246        ta(this, a)
30247    };
30248    var eb = Pa.Emitter = ra.extend({
30249        callbackHash: null, on: function (a, b) {
30250            return this.getCallbacks(a).add(b), this
30251        }, off: function (a, b) {
30252            return this.getCallbacks(a).remove(b), this
30253        }, trigger: function (a) {
30254            var b = Array.prototype.slice.call(arguments, 1);
30255            return this.triggerWith(a, this, b), this
30256        }, triggerWith: function (a, b, c) {
30257            var d = this.getCallbacks(a);
30258            return d.fireWith(b, c), this
30259        }, getCallbacks: function (b) {
30260            var c;
30261            return this.callbackHash || (this.callbackHash = {}), c = this.callbackHash[b], c || (c = this.callbackHash[b] = a.Callbacks()), c
30262        }
30263    }), fb = ra.extend({
30264        isHidden: !0, options: null, el: null, documentMousedownProxy: null, margin: 10, constructor: function (a) {
30265            this.options = a || {}
30266        }, show: function () {
30267            this.isHidden && (this.el || this.render(), this.el.show(), this.position(), this.isHidden = !1, this.trigger("show"))
30268        }, hide: function () {
30269            this.isHidden || (this.el.hide(), this.isHidden = !0, this.trigger("hide"))
30270        }, render: function () {
30271            var b = this, c = this.options;
30272            this.el = a('<div class="fc-popover"/>').addClass(c.className || "").css({
30273                top: 0,
30274                left: 0
30275            }).append(c.content).appendTo(c.parentEl), this.el.on("click", ".fc-close", function () {
30276                b.hide()
30277            }), c.autoHide && a(document).on("mousedown", this.documentMousedownProxy = ca(this, "documentMousedown"))
30278        }, documentMousedown: function (b) {
30279            this.el && !a(b.target).closest(this.el).length && this.hide()
30280        }, removeElement: function () {
30281            this.hide(), this.el && (this.el.remove(), this.el = null), a(document).off("mousedown", this.documentMousedownProxy)
30282        }, position: function () {
30283            var b, c, d, e, f, g = this.options, h = this.el.offsetParent().offset(), i = this.el.outerWidth(),
30284                j = this.el.outerHeight(), k = a(window), l = n(this.el);
30285            e = g.top || 0, f = void 0 !== g.left ? g.left : void 0 !== g.right ? g.right - i : 0, l.is(window) || l.is(document) ? (l = k, b = 0, c = 0) : (d = l.offset(), b = d.top, c = d.left), b += k.scrollTop(), c += k.scrollLeft(), g.viewportConstrain !== !1 && (e = Math.min(e, b + l.outerHeight() - j - this.margin), e = Math.max(e, b + this.margin), f = Math.min(f, c + l.outerWidth() - i - this.margin), f = Math.max(f, c + this.margin)), this.el.css({
30286                top: e - h.top,
30287                left: f - h.left
30288            })
30289        }, trigger: function (a) {
30290            this.options[a] && this.options[a].apply(this, Array.prototype.slice.call(arguments, 1))
30291        }
30292    }), gb = Pa.CoordCache = ra.extend({
30293        els: null,
30294        forcedOffsetParentEl: null,
30295        origin: null,
30296        boundingRect: null,
30297        isHorizontal: !1,
30298        isVertical: !1,
30299        lefts: null,
30300        rights: null,
30301        tops: null,
30302        bottoms: null,
30303        constructor: function (b) {
30304            this.els = a(b.els), this.isHorizontal = b.isHorizontal, this.isVertical = b.isVertical, this.forcedOffsetParentEl = b.offsetParent ? a(b.offsetParent) : null
30305        },
30306        build: function () {
30307            var a = this.forcedOffsetParentEl || this.els.eq(0).offsetParent();
30308            this.origin = a.offset(), this.boundingRect = this.queryBoundingRect
30308(), this.isHorizontal && this.buildElHorizontals(), this.isVertical && this.buildElVerticals()
30309        },
30310        clear: function () {
30311            this.origin = null, this.boundingRect = null, this.lefts = null, this.rights = null, this.tops = null, this.bottoms = null
30312        },
30313        queryBoundingRect: function () {
30314            var a = n(this.els.eq(0));
30315            return a.is(document) ? void 0 : p(a)
30316        },
30317        buildElHorizontals: function () {
30318            var b = [], c = [];
30319            this.els.each(function (d, e) {
30320                var f = a(e), g = f.offset().left, h = f.outerWidth();
30321                b.push(g), c.push(g + h)
30322            }), this.lefts = b, this.rights = c
30323        },
30324        buildElVerticals: function () {
30325            var b = [], c = [];
30326            this.els.each(function (d, e) {
30327                var f = a(e), g = f.offset().top, h = f.outerHeight();
30328                b.push(g), c.push(g + h)
30329            }), this.tops = b, this.bottoms = c
30330        },
30331        getHorizontalIndex: function (a) {
30332            var b, c = this.boundingRect, d = this.lefts, e = this.rights, f = d.length;
30333            if (!c || a >= c.left && a < c.right) for (b = 0; f > b; b++) if (a >= d[b] && a < e[b]) return b
30334        },
30335        getVerticalIndex: function (a) {
30336            var b, c = this.boundingRect, d = this.tops, e = this.bottoms, f = d.length;
30337            if (!c || a >= c.top && a < c.bottom) for (b = 0; f > b; b++) if (a >= d[b] && a < e[b]) return b
30338        },
30339        getLeftOffset: function (a) {
30340            return this.lefts[a]
30341        },
30342        getLeftPosition: function (a) {
30343            return this.lefts[a] - this.origin.left
30344        },
30345        getRightOffset: function (a) {
30346            return this.rights[a]
30347        },
30348        getRightPosition: function (a) {
30349            return this.rights[a] - this.origin.left
30350        },
30351        getWidth: function (a) {
30352            return this.rights[a] - this.lefts[a]
30353        },
30354        getTopOffset: function (a) {
30355            return this.tops[a]
30356        },
30357        getTopPosition: function (a) {
30358            return this.tops[a] - this.origin.top
30359        },
30360        getBottomOffset: function (a) {
30361            return this.bottoms[a]
30362        },
30363        getBottomPosition: function (a) {
30364            return this.bottoms[a] - this.origin.top
30365        },
30366        getHeight: function (a) {
30367            return this.bottoms[a] - this.tops[a]
30368        }
30369    }), hb = Pa.DragListener = ra.extend({
30370        options: null,
30371        isListening: !1,
30372        isDragging: !1,
30373        originX: null,
30374        originY: null,
30375        mousemoveProxy: null,
30376        mouseupProxy: null,
30377        subjectEl: null,
30378        subjectHref: null,
30379        scrollEl: null,
30380        scrollBounds: null,
30381        scrollTopVel: null,
30382        scrollLeftVel: null,
30383        scrollIntervalId: null,
30384        scrollHandlerProxy: null,
30385        scrollSensitivity: 30,
30386        scrollSpeed: 200,
30387        scrollIntervalMs: 50,
30388        constructor: function (a) {
30389            a = a || {}, this.options = a, this.subjectEl = a.subjectEl
30390        },
30391        mousedown: function (a) {
30392            v(a) && (a.preventDefault(), this.startListening(a), this.options.distance || this.startDrag(a))
30393        },
30394        startListening: function (b) {
30395            var c;
30396            this.isListening || (b && this.options.scroll && (c = n(a(b.target)), c.is(window) || c.is(document) || (this.scrollEl = c, this.scrollHandlerProxy = da(ca(this, "scrollHandler"), 100), this.scrollEl.on("scroll", this.scrollHandlerProxy))), a(document).on("mousemove", this.mousemoveProxy = ca(this, "mousemove")).on("mouseup", this.mouseupProxy = ca(this, "mouseup")).on("selectstart", this.preventDefault), b ? (this.originX = b.pageX, this.originY = b.pageY) : (this.originX = 0, this.originY = 0), this.isListening = !0, this.listenStart(b))
30397        },
30398        listenStart: function (a) {
30399            this.trigger("listenStart", a)
30400        },
30401        mousemove: function (a) {
30402            var b, c, d = a.pageX - this.originX, e = a.pageY - this.originY;
30403            this.isDragging || (b = this.options.distance || 1, c = d * d + e * e, c >= b * b && this.startDrag(a)), this.isDragging && this.drag(d, e, a)
30404        },
30405        startDrag: function (a) {
30406            this.isListening || this.startListening(), this.isDragging || (this.isDragging = !0, this.dragStart(a))
30407        },
30408        dragStart: function (a) {
30409            var b = this.subjectEl;
30410            this.trigger("dragStart", a), (this.subjectHref = b ? b.attr("href") : null) && b.removeAttr("href")
30411        },
30412        drag: function (a, b, c) {
30413            this.trigger("drag", a, b, c), this.updateScroll(c)
30414        },
30415        mouseup: function (a) {
30416            this.stopListening(a)
30417        },
30418        stopDrag: function (a) {
30419            this.isDragging && (this.stopScrolling(), this.dragStop(a), this.isDragging = !1)
30420        },
30421        dragStop: function (a) {
30422            var b = this;
30423            this.trigger("dragStop", a), setTimeout(function () {
30424                b.subjectHref && b.subjectEl.attr("href", b.subjectHref)
30425            }, 0)
30426        },
30427        stopListening: function (b) {
30428            this.stopDrag(b), this.isListening && (this.scrollEl && (this.scrollEl.off("scroll", this.scrollHandlerProxy), this.scrollHandlerProxy = null), a(document).off("mousemove", this.mousemoveProxy).off("mouseup", this.mouseupProxy).off("selectstart", this.preventDefault), this.mousemoveProxy = null, this.mouseupProxy = null, this.isListening = !1, this.listenStop(b))
30429        },
30430        listenStop: function (a) {
30431            this.trigger("listenStop", a)
30432        },
30433        trigger: function (a) {
30434            this.options[a] && this.options[a].apply(this, Array.prototype.slice.call(arguments, 1))
30435        },
30436        preventDefault: function (a) {
30437            a.preventDefault()
30438        },
30439        computeScrollBounds: function () {
30440            var a = this.scrollEl;
30441            this.scrollBounds = a ? o(a) : null
30442        },
30443        updateScroll: function (a) {
30444            var b, c, d, e, f = this.scrollSensitivity, g = this.scrollBounds, h = 0, i = 0;
30445            g && (b = (f - (a.pageY - g.top)) / f, c = (f - (g.bottom - a.pageY)) / f, d = (f - (a.pageX - g.left)) / f, e = (f - (g.right - a.pageX)) / f, b >= 0 && 1 >= b ? h = b * this.scrollSpeed * -1 : c >= 0 && 1 >= c && (h = c * this.scrollSpeed), d >= 0 && 1 >= d ? i = d * this.scrollSpeed * -1 : e >= 0 && 1 >= e && (i = e * this.scrollSpeed)), this.setScrollVel(h, i)
30446        },
30447        setScrollVel: function (a, b) {
30448            this.scrollTopVel = a, this.scrollLeftVel = b, this.constrainScrollVel(), !this.scrollTopVel && !this.scrollLeftVel || this.scrollIntervalId || (this.scrollIntervalId = setInterval(ca(this, "scrollIntervalFunc"), this.scrollIntervalMs))
30449        },
30450        constrainScrollVel: function () {
30451            var a = this.scrollEl;
30452            this.scrollTopVel < 0 ? a.scrollTop() <= 0 && (this.scrollTopVel = 0) : this.scrollTopVel > 0 && a.scrollTop() + a[0].clientHeight >= a[0].scrollHeight && (this.scrollTopVel = 0), this.scrollLeftVel < 0 ? a.scrollLeft() <= 0 && (this.scrollLeftVel = 0) : this.scrollLeftVel > 0 && a.scrollLeft() + a[0].clientWidth >= a[0].scrollWidth && (this.scrollLeftVel = 0)
30453        },
30454        scrollIntervalFunc: function () {
30455            var a = this.scrollEl, b = this.scrollIntervalMs / 1e3;
30456            this.scrollTopVel && a.scrollTop(a.scrollTop() + this.scrollTopVel * b), this.scrollLeftVel && a.scrollLeft(a.scrollLeft() + this.scrollLeftVel * b), this.constrainScrollVel(), this.scrollTopVel || this.scrollLeftVel || this.stopScrolling()
30457        },
30458        stopScrolling: function () {
30459            this.scrollIntervalId && (clearInterval(this.scrollIntervalId), this.scrollIntervalId = null, this.scrollStop())
30460        },
30461        scrollHandler: function () {
30462            this.scrollIntervalId || this.scrollStop()
30463        },
30464        scrollStop: function () {
30465        }
30466    }), ib = hb.extend({
30467        component: null, origHit: null, hit: null, coordAdjust: null, constructor: function (a, b) {
30468            hb.call(this, b), this.component = a
30469        }, listenStart: function (a) {
30470            var b, c, d, e = this.subjectEl;
30471            hb.prototype.listenStart.apply(this, arguments), this.computeCoords(), a ? (c = {
30472                left: a.pageX,
30473                top: a.pageY
30474            }, d = c, e && (b = o(e), d = x(d, b)), this.origHit = this.queryHit(d.left, d.top), e && this.options.subjectCenter && (this.origHit && (b = w(this.origHit, b) || b), d = y(b)), this.coordAdjust = z(d, c)) : (this.origHit = null, this.coordAdjust = null)
30475        }, computeCoords: function () {
30476            this.component.prepareHits(), this.computeScrollBounds()
30477        }, dragStart: function (a) {
30478            var b;
30479            hb.prototype.dragStart.apply(this, arguments), b = this.queryHit(a.pageX, a.pageY), b && this.hitOver(b)
30480        }, drag: function (a, b, c) {
30481            var d;
30482            hb.prototype.drag.apply(this, arguments), d = this.queryHit(c.pageX, c.pageY), ua(d, this.hit) || (this.hit && this.hitOut(), d && this.hitOver(d))
30483        }, dragStop: function () {
30484            this.hitDone(), hb.prototype.dragStop.apply(this, arguments)
30485        }, hitOver: function (a) {
30486            var b = ua(a, this.origHit);
30487            this.hit = a, this.trigger("hitOver", this.hit, b, this.origHit)
30488        }, hitOut: function () {
30489            this.hit && (this.trigger("hitOut", this.hit), this.hitDone(), this.hit = null)
30490        }, hitDone: function () {
30491            this.hit && this.trigger("hitDone", this.hit)
30492        }, listenStop: function () {
30493            hb.prototype.listenStop.apply(this, arguments), this.origHit = null, this.hit = null, this.component.releaseHits()
30494        }, scrollStop: function () {
30495            hb.prototype.scrollStop.apply(this, arguments), this.computeCoords()
30496        }, queryHit: function (a, b) {
30497            return this.coordAdjust && (a += this.coordAdjust.left, b += this.coordAdjust.top), this.component.queryHit(a, b)
30498        }
30499    }), jb = ra.extend({
30500        options: null,
30501        sourceEl: null,
30502        el: null,
30503        parentEl: null,
30504        top0: null,
30505        left0: null,
30506        mouseY0: null,
30507        mouseX0: null,
30508        topDelta: null,
30509        leftDelta: null,
30510        mousemoveProxy: null,
30511        isFollowing: !1,
30512        isHidden: !1,
30513        isAnimating: !1,
30514        constructor: function (b, c) {
30515            this.options = c = c || {}, this.sourceEl = b, this.parentEl = c.parentEl ? a(c.parentEl) : b.parent()
30516        },
30517        start: function (b) {
30518            this.isFollowing || (this.isFollowing = !0, this.mouseY0 = b.pageY, this.mouseX0 = b.pageX, this.topDelta = 0, this.leftDelta = 0, this.isHidden || this.updatePosition(), a(document).on("mousemove", this.mousemoveProxy = ca(this, "mousemove")))
30519        },
30520        stop: function (b, c) {
30521            function d() {
30522                this.isAnimating = !1, e.removeElement(), this.top0 = this.left0 = null, c && c()
30523            }
30524
30525            var e = this, f = this.options.revertDuration;
30526            this.isFollowing && !this.isAnimating && (this.isFollowing = !1, a(document).off("mousemove", this.mousemoveProxy), b && f && !this.isHidden ? (this.isAnimating = !0, this.el.animate({
30527                top: this.top0,
30528                left: this.left0
30529            }, {duration: f, complete: d})) : d())
30530        },
30531        getEl: function () {
30532            var a = this.el;
30533            return a || (this.sourceEl.width(), a = this.el = this.sourceEl.clone().css({
30534                position: "absolute",
30535                visibility: "",
30536                display: this.isHidden ? "none" : "",
30537                margin: 0,
30538                right: "auto",
30539                bottom: "auto",
30540                width: this.sourceEl.width(),
30541                height: this.sourceEl.height(),
30542                opacity: this.options.opacity || "",
30543                zIndex: this.options.zIndex
30544            }).appendTo(this.parentEl)), a
30545        },
30546        removeElement: function () {
30547            this.el && (this.el.remove(), this.el = null)
30548        },
30549        updatePosition: function () {
30550            var a, b;
30551            this.getEl(), null === this.top0 && (this.sourceEl.width(), a = this.sourceEl.offset(), b = this.el.offsetParent().offset(), this.top0 = a.top - b.top, this.left0 = a.left - b.left), this.el.css({
30552                top: this.top0 + this.topDelta,
30553                left: this.left0 + this.leftDelta
30554            })
30555        },
30556        mousemove: function (a) {
30557            this.topDelta = a.pageY - this.mouseY0, this.leftDelta = a.pageX 
30557- this.mouseX0, this.isHidden || this.updatePosition()
30558        },
30559        hide: function () {
30560            this.isHidden || (this.isHidden = !0, this.el && this.el.hide())
30561        },
30562        show: function () {
30563            this.isHidden && (this.isHidden = !1, this.updatePosition(), this.getEl().show())
30564        }
30565    }), kb = Pa.Grid = ra.extend({
30566        view: null,
30567        isRTL: null,
30568        start: null,
30569        end: null,
30570        el: null,
30571        elsByFill: null,
30572        externalDragStartProxy: null,
30573        eventTimeFormat: null,
30574        displayEventTime: null,
30575        displayEventEnd: null,
30576        minResizeDuration: null,
30577        largeUnit: null,
30578        constructor: function (a) {
30579            this.view = a, this.isRTL = a.opt("isRTL"), this.elsByFill = {}, this.externalDragStartProxy = ca(this, "externalDragStart")
30580        },
30581        computeEventTimeFormat: function () {
30582            return this.view.opt("smallTimeFormat")
30583        },
30584        computeDisplayEventTime: function () {
30585            return !0
30586        },
30587        computeDisplayEventEnd: function () {
30588            return !0
30589        },
30590        setRange: function (a) {
30591            this.start = a.start.clone(), this.end = a.end.clone(), this.rangeUpdated(), this.processRangeOptions()
30592        },
30593        rangeUpdated: function () {
30594        },
30595        processRangeOptions: function () {
30596            var a, b, c = this.view;
30597            this.eventTimeFormat = c.opt("eventTimeFormat") || c.opt("timeFormat") || this.computeEventTimeFormat(), a = c.opt("displayEventTime"), null == a && (a = this.computeDisplayEventTime()), b = c.opt("displayEventEnd"), null == b && (b = this.computeDisplayEventEnd()), this.displayEventTime = a, this.displayEventEnd = b
30598        },
30599        spanToSegs: function (a) {
30600        },
30601        diffDates: function (a, b) {
30602            return this.largeUnit ? H(a, b, this.largeUnit) : F(a, b)
30603        },
30604        prepareHits: function () {
30605        },
30606        releaseHits: function () {
30607        },
30608        queryHit: function (a, b) {
30609        },
30610        getHitSpan: function (a) {
30611        },
30612        getHitEl: function (a) {
30613        },
30614        setElement: function (b) {
30615            var c = this;
30616            this.el = b, b.on("mousedown", function (b) {
30617                a(b.target).is(".fc-event-container *, .fc-more") || a(b.target).closest(".fc-popover").length || c.dayMousedown(b)
30618            }), this.bindSegHandlers(), this.bindGlobalHandlers()
30619        },
30620        removeElement: function () {
30621            this.unbindGlobalHandlers(), this.el.remove()
30622        },
30623        renderSkeleton: function () {
30624        },
30625        renderDates: function () {
30626        },
30627        unrenderDates: function () {
30628        },
30629        bindGlobalHandlers: function () {
30630            a(document).on("dragstart sortstart", this.externalDragStartProxy)
30631        },
30632        unbindGlobalHandlers: function () {
30633            a(document).off("dragstart sortstart", this.externalDragStartProxy)
30634        },
30635        dayMousedown: function (a) {
30636            var b, c, d = this, e = this.view, f = e.opt("selectable"), i = new ib(this, {
30637                scroll: e.opt("dragScroll"), dragStart: function () {
30638                    e.unselect()
30639                }, hitOver: function (a, e, h) {
30640                    h && (b = e ? a : null, f && (c = d.computeSelection(d.getHitSpan(h), d.getHitSpan(a)), c ? d.renderSelection(c) : c === !1 && g()))
30641                }, hitOut: function () {
30642                    b = null, c = null, d.unrenderSelection(), h()
30643                }, listenStop: function (a) {
30644                    b && e.triggerDayClick(d.getHitSpan(b), d.getHitEl(b), a), c && e.reportSelection(c, a), h()
30645                }
30646            });
30647            i.mousedown(a)
30648        },
30649        renderEventLocationHelper: function (a, b) {
30650            var c = this.fabricateHelperEvent(a, b);
30651            this.renderHelper(c, b)
30652        },
30653        fabricateHelperEvent: function (a, b) {
30654            var c = b ? R(b.event) : {};
30655            return c.start = a.start.clone(), c.end = a.end ? a.end.clone() : null, c.allDay = null, this.view.calendar.normalizeEventDates(c), c.className = (c.className || []).concat("fc-helper"), b || (c.editable = !1), c
30656        },
30657        renderHelper: function (a, b) {
30658        },
30659        unrenderHelper: function () {
30660        },
30661        renderSelection: function (a) {
30662            this.renderHighlight(a)
30663        },
30664        unrenderSelection: function () {
30665            this.unrenderHighlight()
30666        },
30667        computeSelection: function (a, b) {
30668            var c = this.computeSelectionSpan(a, b);
30669            return c && !this.view.calendar.isSelectionSpanAllowed(c) ? !1 : c
30670        },
30671        computeSelectionSpan: function (a, b) {
30672            var c = [a.start, a.end, b.start, b.end];
30673            return c.sort(aa), {start: c[0].clone(), end: c[3].clone()}
30674        },
30675        renderHighlight: function (a) {
30676            this.renderFill("highlight", this.spanToSegs(a))
30677        },
30678        unrenderHighlight: function () {
30679            this.unrenderFill("highlight")
30680        },
30681        highlightSegClasses: function () {
30682            return ["fc-highlight"]
30683        },
30684        renderFill: function (a, b) {
30685        },
30686        unrenderFill: function (a) {
30687            var b = this.elsByFill[a];
30688            b && (b.remove(), delete this.elsByFill[a])
30689        },
30690        renderFillSegEls: function (b, c) {
30691            var d, e = this, f = this[b + "SegEl"], g = "", h = [];
30692            if (c.length) {
30693                for (d = 0; d < c.length; d++) g += this.fillSegHtml(b, c[d]);
30694                a(g).each(function (b, d) {
30695                    var g = c[b], i = a(d);
30696                    f && (i = f.call(e, g, i)), i && (i = a(i), i.is(e.fillSegTag) && (g.el = i, h.push(g)))
30697                })
30698            }
30699            return h
30700        },
30701        fillSegTag: "div",
30702        fillSegHtml: function (a, b) {
30703            var c = this[a + "SegClasses"], d = this[a + "SegCss"], e = c ? c.call(this, b) : [],
30704                f = $(d ? d.call(this, b) : {});
30705            return "<" + this.fillSegTag + (e.length ? ' class="' + e.join(" ") + '"' : "") + (f ? ' style="' + f + '"' : "") + " />"
30706        },
30707        getDayClasses: function (a) {
30708            var b = this.view, c = b.calendar.getNow().stripTime(), d = ["fc-" + Ta[a.day()]];
30709            return 1 == b.intervalDuration.as("months") && a.month() != b.intervalStart.month() && d.push("fc-other-month"), a.isSame(c, "day") ? d.push("fc-today", b.highlightStateClass) : c > a ? d.push("fc-past") : d.push("fc-future"), d
30710        }
30711    });
30712    kb.mixin({
30713        mousedOverSeg: null,
30714        isDraggingSeg: !1,
30715        isResizingSeg: !1,
30716        isDraggingExternal: !1,
30717        segs: null,
30718        renderEvents: function (a) {
30719            var b, c = [], d = [];
30720            for (b = 0; b < a.length; b++) (wa(a[b]) ? c : d).push(a[b]);
30721            this.segs = [].concat(this.renderBgEvents(c), this.renderFgEvents(d))
30722        },
30723        renderBgEvents: function (a) {
30724            var b = this.eventsToSegs(a);
30725            return this.renderBgSegs(b) || b
30726        },
30727        renderFgEvents: function (a) {
30728            var b = this.eventsToSegs(a);
30729            return this.renderFgSegs(b) || b
30730        },
30731        unrenderEvents: function () {
30732            this.triggerSegMouseout(), this.unrenderFgSegs(), this.unrenderBgSegs(), this.segs = null
30733        },
30734        getEventSegs: function () {
30735            return this.segs || []
30736        },
30737        renderFgSegs: function (a) {
30738        },
30739        unrenderFgSegs: function () {
30740        },
30741        renderFgSegEls: function (b, c) {
30742            var d, e = this.view, f = "", g = [];
30743            if (b.length) {
30744                for (d = 0; d < b.length; d++) f += this.fgSegHtml(b[d], c);
30745                a(f).each(function (c, d) {
30746                    var f = b[c], h = e.resolveEventEl(f.event, a(d));
30747                    h && (h.data("fc-seg", f), f.el = h, g.push(f))
30748                })
30749            }
30750            return g
30751        },
30752        fgSegHtml: function (a, b) {
30753        },
30754        renderBgSegs: function (a) {
30755            return this.renderFill("bgEvent", a)
30756        },
30757        unrenderBgSegs: function () {
30758            this.unrenderFill("bgEvent")
30759        },
30760        bgEventSegEl: function (a, b) {
30761            return this.view.resolveEventEl(a.event, b)
30762        },
30763        bgEventSegClasses: function (a) {
30764            var b = a.event, c = b.source || {};
30765            return ["fc-bgevent"].concat(b.className, c.className || [])
30766        },
30767        bgEventSegCss: function (a) {
30768            var b = this.view, c = a.event, d = c.source || {};
30769            return {"background-color": c.backgroundColor || c.color || d.backgroundColor || d.color || b.opt("eventBackgroundColor") || b.opt("eventColor")}
30770        },
30771        businessHoursSegClasses: function (a) {
30772            return ["fc-nonbusiness", "fc-bgevent"]
30773        },
30774        bindSegHandlers: function () {
30775            var b = this, c = this.view;
30776            a.each({
30777                mouseenter: function (a, c) {
30778                    b.triggerSegMouseover(a, c)
30779                }, mouseleave: function (a, c) {
30780                    b.triggerSegMouseout(a, c)
30781                }, click: function (a, b) {
30782                    return c.trigger("eventClick", this, a.event, b)
30783                }, mousedown: function (d, e) {
30784                    a(e.target).is(".fc-resizer") && c.isEventResizable(d.event) ? b.segResizeMousedown(d, e, a(e.target).is(".fc-start-resizer")) : c.isEventDraggable(d.event) && b.segDragMousedown(d, e)
30785                }
30786            }, function (c, d) {
30787                b.el.on(c, ".fc-event-container > *", function (c) {
30788                    var e = a(this).data("fc-seg");
30789                    return !e || b.isDraggingSeg || b.isResizingSeg ? void 0 : d.call(this, e, c)
30790                })
30791            })
30792        },
30793        triggerSegMouseover: function (a, b) {
30794            this.mousedOverSeg || (this.mousedOverSeg = a, this.view.trigger("eventMouseover", a.el[0], a.event, b))
30795        },
30796        triggerSegMouseout: function (a, b) {
30797            b = b || {}, this.mousedOverSeg && (a = a || this.mousedOverSeg, this.mousedOverSeg = null, this.view.trigger("eventMouseout", a.el[0], a.event, b))
30798        },
30799        segDragMousedown: function (a, b) {
30800            var c, d = this, e = this.view, f = e.calendar, i = a.el, j = a.event, k = new jb(a.el, {
30801                parentEl: e.el,
30802                opacity: e.opt("dragOpacity"),
30803                revertDuration: e.opt("dragRevertDuration"),
30804                zIndex: 2
30805            }), l = new ib(e, {
30806                distance: 5,
30807                scroll: e.opt("dragScroll"),
30808                subjectEl: i,
30809                subjectCenter: !0,
30810                listenStart: function (a) {
30811                    k.hide(), k.start(a)
30812                },
30813                dragStart: function (b) {
30814                    d.triggerSegMouseout(a, b), d.segDragStart(a, b), e.hideEvent(j)
30815                },
30816                hitOver: function (b, h, i) {
30817                    a.hit && (i = a.hit), c = d.computeEventDrop(i.component.getHitSpan(i), b.component.getHitSpan(b), j), c && !f.isEventSpanAllowed(d.eventToSpan(c), j) && (g(), c = null), c && e.renderDrag(c, a) ? k.hide() : k.show(), h && (c = null)
30818                },
30819                hitOut: function () {
30820                    e.unrenderDrag(), k.show(), c = null
30821                },
30822                hitDone: function () {
30823                    h()
30824                },
30825                dragStop: function (b) {
30826                    k.stop(!c, function () {
30827                        e.unrenderDrag(), e.showEvent(j), d.segDragStop(a, b), c && e.reportEventDrop(j, c, this.largeUnit, i, b)
30828                    })
30829                },
30830                listenStop: function () {
30831                    k.stop()
30832                }
30833            });
30834            l.mousedown(b)
30835        },
30836        segDragStart: function (a, b) {
30837            this.isDraggingSeg = !0, this.view.trigger("eventDragStart", a.el[0], a.event, b, {})
30838        },
30839        segDragStop: function (a, b) {
30840            this.isDraggingSeg = !1, this.view.trigger("eventDragStop", a.el[0], a.event, b, {})
30841        },
30842        computeEventDrop: function (a, b, c) {
30843            var d, e, f = this.view.calendar, g = a.start, h = b.start;
30844            return g.hasTime() === h.hasTime() ? (d = this.diffDates(h, g), c.allDay && N(d) ? (e = {
30845                start: c.start.clone(),
30846                end: f.getEventEnd(c),
30847                allDay: !1
30848            }, f.normalizeEventTimes(e)) : e = {
30849                start: c.start.clone(),
30850                end: c.end ? c.end.clone() : null,
30851                allDay: c.allDay
30852            }, e.start.add(d), e.end && e.end.add(d)) : e = {start: h.clone(), end: null, allDay: !h.hasTime()}, e
30853        },
30854        applyDragOpacity: function (a) {
30855            var b = this.view.opt("dragOpacity");
30856            null != b && a.each(function (a, c) {
30857                c.style.opacity = b
30858            })
30859        },
30860        externalDragStart: function (b, c) {
30861            var d, e, f = this.view;
30862            f.opt("droppable") && (d = a((c ? c.item : null) || b.target), e = f.opt("dropAccept"), (a.isFunction(e) ? e.call(d[0], d) : d.is(e)) && (this.isDraggingExter
30862nal || this.listenToExternalDrag(d, b, c)))
30863        },
30864        listenToExternalDrag: function (a, b, c) {
30865            var d, e = this, f = Ba(a), i = new ib(this, {
30866                listenStart: function () {
30867                    e.isDraggingExternal = !0
30868                }, hitOver: function (a) {
30869                    d = e.computeExternalDrop(a.component.getHitSpan(a), f), d ? e.renderDrag(d) : g()
30870                }, hitOut: function () {
30871                    d = null, e.unrenderDrag(), h()
30872                }, dragStop: function () {
30873                    e.unrenderDrag(), h(), d && e.view.reportExternalDrop(f, d, a, b, c)
30874                }, listenStop: function () {
30875                    e.isDraggingExternal = !1
30876                }
30877            });
30878            i.startDrag(b)
30879        },
30880        computeExternalDrop: function (a, b) {
30881            var c = this.view.calendar, d = {start: c.applyTimezone(a.start), end: null};
30882            return b.startTime && !d.start.hasTime() && d.start.time(b.startTime), b.duration && (d.end = d.start.clone().add(b.duration)), c.isExternalSpanAllowed(this.eventToSpan(d), d, b.eventProps) ? d : null
30883        },
30884        renderDrag: function (a, b) {
30885        },
30886        unrenderDrag: function () {
30887        },
30888        segResizeMousedown: function (a, b, c) {
30889            var d, e = this, f = this.view, i = f.calendar, j = a.el, k = a.event, l = i.getEventEnd(k),
30890                m = new ib(this, {
30891                    distance: 5, scroll: f.opt("dragScroll"), subjectEl: j, dragStart: function (b) {
30892                        e.triggerSegMouseout(a, b), e.segResizeStart(a, b)
30893                    }, hitOver: function (b, h, j) {
30894                        var m = e.getHitSpan(j), n = e.getHitSpan(b);
30895                        d = c ? e.computeEventStartResize(m, n, k) : e.computeEventEndResize(m, n, k), d && (i.isEventSpanAllowed(e.eventToSpan(d), k) ? d.start.isSame(k.start) && d.end.isSame(l) && (d = null) : (g(), d = null)), d && (f.hideEvent(k), e.renderEventResize(d, a))
30896                    }, hitOut: function () {
30897                        d = null
30898                    }, hitDone: function () {
30899                        e.unrenderEventResize(), f.showEvent(k), h()
30900                    }, dragStop: function (b) {
30901                        e.segResizeStop(a, b), d && f.reportEventResize(k, d, this.largeUnit, j, b)
30902                    }
30903                });
30904            m.mousedown(b)
30905        },
30906        segResizeStart: function (a, b) {
30907            this.isResizingSeg = !0, this.view.trigger("eventResizeStart", a.el[0], a.event, b, {})
30908        },
30909        segResizeStop: function (a, b) {
30910            this.isResizingSeg = !1, this.view.trigger("eventResizeStop", a.el[0], a.event, b, {})
30911        },
30912        computeEventStartResize: function (a, b, c) {
30913            return this.computeEventResize("start", a, b, c)
30914        },
30915        computeEventEndResize: function (a, b, c) {
30916            return this.computeEventResize("end", a, b, c)
30917        },
30918        computeEventResize: function (a, b, c, d) {
30919            var e, f, g = this.view.calendar, h = this.diffDates(c[a], b[a]);
30920            return e = {
30921                start: d.start.clone(),
30922                end: g.getEventEnd(d),
30923                allDay: d.allDay
30924            }, e.allDay && N(h) && (e.allDay = !1, g.normalizeEventTimes(e)), e[a].add(h), e.start.isBefore(e.end) || (f = this.minResizeDuration || (d.allDay ? g.defaultAllDayEventDuration : g.defaultTimedEventDuration), "start" == a ? e.start = e.end.clone().subtract(f) : e.end = e.start.clone().add(f)), e
30925        },
30926        renderEventResize: function (a, b) {
30927        },
30928        unrenderEventResize: function () {
30929        },
30930        getEventTimeText: function (a, b, c) {
30931            return null == b && (b = this.eventTimeFormat), null == c && (c = this.displayEventEnd), this.displayEventTime && a.start.hasTime() ? c && a.end ? this.view.formatRange(a, b) : a.start.format(b) : ""
30932        },
30933        getSegClasses: function (a, b, c) {
30934            var d = a.event,
30935                e = ["fc-event", a.isStart ? "fc-start" : "fc-not-start", a.isEnd ? "fc-end" : "fc-not-end"].concat(d.className, d.source ? d.source.className : []);
30936            return b && e.push("fc-draggable"), c && e.push("fc-resizable"), e
30937        },
30938        getEventSkinCss: function (a) {
30939            var b = this.view, c = a.source || {}, d = a.color, e = c.color, f = b.opt("eventColor");
30940            return {
30941                "background-color": a.backgroundColor || d || c.backgroundColor || e || b.opt("eventBackgroun
30941dColor") || f,
30942                "border-color": a.borderColor || d || c.borderColor || e || b.opt("eventBorderColor") || f,
30943                color: a.textColor || c.textColor || b.opt("eventTextColor")
30944            }
30945        },
30946        eventToSegs: function (a) {
30947            return this.eventsToSegs([a])
30948        },
30949        eventToSpan: function (a) {
30950            var b = this.eventToRange(a);
30951            return this.transformEventSpan(b, a), b
30952        },
30953        eventsToSegs: function (b, c) {
30954            var d = this, e = za(b), f = [];
30955            return a.each(e, function (a, b) {
30956                var e, g = [];
30957                for (e = 0; e < b.length; e++) g.push(d.eventToRange(b[e]));
30958                if (xa(b[0])) for (g = d.invertRanges(g), e = 0; e < g.length; e++) d.generateEventSegs(g[e], b[0], c, f); else for (e = 0; e < g.length; e++) d.generateEventSegs(g[e], b[e], c, f)
30959            }), f
30960        },
30961        eventToRange: function (a) {
30962            return {start: a.start.clone().stripZone(), end: this.view.calendar.getEventEnd(a).stripZone()}
30963        },
30964        generateEventSegs: function (a, b, c, d) {
30965            var e, f;
30966            for (this.transformEventSpan(a, b), e = c ? c(a) : this.spanToSegs(a), f = 0; f < e.length; f++) this.transformEventSeg(e[f], a, b), d.push(e[f])
30967        },
30968        transformEventSpan: function (a, b) {
30969        },
30970        transformEventSeg: function (a, b, c) {
30971            a.event = c, a.eventStartMS = +b.start, a.eventDurationMS = b.end - b.start
30972        },
30973        invertRanges: function (a) {
30974            var b, c, d = this.view, e = d.start.clone(), f = d.end.clone(), g = [], h = e;
30975            for (a.sort(Aa), b = 0; b < a.length; b++) c = a[b], c.start > h && g.push({
30976                start: h,
30977                end: c.start
30978            }), h = c.end;
30979            return f > h && g.push({start: h, end: f}), g
30980        },
30981        sortEventSegs: function (a) {
30982            a.sort(ca(this, "compareEventSegs"))
30983        },
30984        compareEventSegs: function (a, b) {
30985            return a.eventStartMS - b.eventStartMS || b.eventDurationMS - a.eventDurationMS || b.event.allDay - a.event.allDay || B(a.event, b.event, this.view.eventOrderSpecs)
30986        }
30987    }), Pa.dataAttrPrefix = "";
30988    var lb = Pa.DayTableMixin = {
30989        breakOnWeeks: !1,
30990        dayDates: null,
30991        dayIndices: null,
30992        daysPerRow: null,
30993        rowCnt: null,
30994        colCnt: null,
30995        colHeadFormat: null,
30996        updateDayTable: function () {
30997            for (var a, b, c, d = this.view, e = this.start.clone(), f = -1, g = [], h = []; e.isBefore(this.end);) d.isHiddenDay(e) ? g.push(f + .5) : (f++, g.push(f), h.push(e.clone())), e.add(1, "days");
30998            if (this.breakOnWeeks) {
30999                for (b = h[0].day(), a = 1; a < h.length && h[a].day() != b; a++) ;
31000                c = Math.ceil(h.length / a)
31001            } else c = 1, a = h.length;
31002            this.dayDates = h, this.dayIndices = g, this.daysPerRow = a, this.rowCnt = c, this.updateDayTableCols()
31003        },
31004        updateDayTableCols: function () {
31005            this.colCnt = this.computeColCnt(), this.colHeadFormat = this.view.opt("columnFormat") || this.computeColHeadFormat()
31006        },
31007        computeColCnt: function () {
31008            return this.daysPerRow
31009        },
31010        getCellDate: function (a, b) {
31011            return this.dayDates[this.getCellDayIndex(a, b)].clone()
31012        },
31013        getCellRange: function (a, b) {
31014            var c = this.getCellDate(a, b), d = c.clone().add(1, "days");
31015            return {start: c, end: d}
31016        },
31017        getCellDayIndex: function (a, b) {
31018            return a * this.daysPerRow + this.getColDayIndex(b)
31019        },
31020        getColDayIndex: function (a) {
31021            return this.isRTL ? this.colCnt - 1 - a : a
31022        },
31023        getDateDayIndex: function (a) {
31024            var b = this.dayIndices, c = a.diff(this.start, "days");
31025            return 0 > c ? b[0] - 1 : c >= b.length ? b[b.length - 1] + 1 : b[c]
31026        },
31027        computeColHeadFormat: function () {
31028            return this.rowCnt > 1 || this.colCnt > 10 ? "ddd" : this.colCnt > 1 ? this.view.opt("dayOfMonthFormat") : "dddd"
31029        },
31030        sliceRangeByRow: function (a) {
31031            var b, c, d, e, f, g = this.daysPerRow, h = this.view.computeDayRange(a), i = this.getDateDayIndex(h.start),
31032                j = this.getDateDayIndex(h.end.clone().subtract(1, "days")), k = [];
31033            for (b = 0; b < this.rowCnt; b++) c = b * g, d = c + g - 1, e = Math.max(i, c), f = Math.min(j, d), e = Math.
31033ceil(e), f = Math.floor(f), f >= e && k.push({
31034                row: b,
31035                firstRowDayIndex: e - c,
31036                lastRowDayIndex: f - c,
31037                isStart: e === i,
31038                isEnd: f === j
31039            });
31040            return k
31041        },
31042        sliceRangeByDay: function (a) {
31043            var b, c, d, e, f, g, h = this.daysPerRow, i = this.view.computeDayRange(a),
31044                j = this.getDateDayIndex(i.start), k = this.getDateDayIndex(i.end.clone().subtract(1, "days")), l = [];
31045            for (b = 0; b < this.rowCnt; b++) for (c = b * h, d = c + h - 1, e = c; d >= e; e++) f = Math.max(j, e), g = Math.min(k, e), f = Math.ceil(f), g = Math.floor(g), g >= f && l.push({
31046                row: b,
31047                firstRowDayIndex: f - c,
31048                lastRowDayIndex: g - c,
31049                isStart: f === j,
31050                isEnd: g === k
31051            });
31052            return l
31053        },
31054        renderHeadHtml: function () {
31055            var a = this.view;
31056            return '<div class="fc-row ' + a.widgetHeaderClass + '"><table><thead>' + this.renderHeadTrHtml() + "</thead></table></div>"
31057        },
31058        renderHeadIntroHtml: function () {
31059            return this.renderIntroHtml()
31060        },
31061        renderHeadTrHtml: function () {
31062            return "<tr>" + (this.isRTL ? "" : this.renderHeadIntroHtml()) + this.renderHeadDateCellsHtml() + (this.isRTL ? this.renderHeadIntroHtml() : "") + "</tr>"
31063        },
31064        renderHeadDateCellsHtml: function () {
31065            var a, b, c = [];
31066            for (a = 0; a < this.colCnt; a++) b = this.getCellDate(0, a), c.push(this.renderHeadDateCellHtml(b));
31067            return c.join("")
31068        },
31069        renderHeadDateCellHtml: function (a, b) {
31070            var c = this.view;
31071            return '<th class="fc-day-header ' + c.widgetHeaderClass + " fc-" + Ta[a.day()] + '"' + (b > 1 ? ' colspan="' + b + '"' : "") + ">" + Y(a.format(this.colHeadFormat)) + "</th>"
31072        },
31073        renderBgTrHtml: function (a) {
31074            return "<tr>" + (this.isRTL ? "" : this.renderBgIntroHtml(a)) + this.renderBgCellsHtml(a) + (this.isRTL ? this.renderBgIntroHtml(a) : "") + "</tr>"
31075        },
31076        renderBgIntroHtml: function (a) {
31077            return this.renderIntroHtml()
31078        },
31079        renderBgCellsHtml: function (a) {
31080            var b, c, d = [];
31081            for (b = 0; b < this.colCnt; b++) c = this.getCellDate(a, b), d.push(this.renderBgCellHtml(c));
31082            return d.join("")
31083        },
31084        renderBgCellHtml: function (a) {
31085            var b = this.view, c = this.getDayClasses(a);
31086            return c.unshift("fc-day", b.widgetContentClass), '<td class="' + c.join(" ") + '" data-date="' + a.format("YYYY-MM-DD") + '"></td>'
31087        },
31088        renderIntroHtml: function () {
31089        },
31090        bookendCells: function (a) {
31091            var b = this.renderIntroHtml();
31092            b && (this.isRTL ? a.append(b) : a.prepend(b))
31093        }
31094    }, mb = Pa.DayGrid = kb.extend(lb, {
31095        numbersVisible: !1,
31096        bottomCoordPadding: 0,
31097        rowEls: null,
31098        cellEls: null,
31099        helperEls: null,
31100        rowCoordCache: null,
31101        colCoordCache: null,
31102        renderDates: function (a) {
31103            var b, c, d = this.view, e = this.rowCnt, f = this.colCnt, g = "";
31104            for (b = 0; e > b; b++) g += this.renderDayRowHtml(b, a);
31105            for (this.el.html(g), this.rowEls = this.el.find(".fc-row"), this.cellEls = this.el.find(".fc-day"), this.rowCoordCache = new gb({
31106                els: this.rowEls,
31107                isVertical: !0
31108            }), this.colCoordCache = new gb({
31109                els: this.cellEls.slice(0, this.colCnt),
31110                isHorizontal: !0
31111            }), b = 0; e > b; b++) for (c = 0; f > c; c++) d.trigger("dayRender", null, this.getCellDate(b, c), this.getCellEl(b, c))
31112        },
31113        unrenderDates: function () {
31114            this.removeSegPopover()
31115        },
31116        renderBusinessHours: function () {
31117            var a = this.view.calendar.getBusinessHoursEvents(!0), b = this.eventsToSegs(a);
31118            this.renderFill("businessHours", b, "bgevent")
31119        },
31120        renderDayRowHtml: function (a, b) {
31121            var c = this.view, d = ["fc-row", "fc-week", c.widgetContentClass];
31122            return b && d.push("fc-rigid"), '<div class="' + d.join(" ") + '"><div class="fc-bg"><table>' + this.renderBgTrHtml(a) + '</table></div><div class="fc-content-skeleton"><table>' + (this.numbersVisible ? "<thead>" + this.renderNumberTrHtml(a) + "</thead>" : "") + "</table></div></div>"
31123        },
31124        renderNumberTrHtml: function (a) {
31125            return "<tr>" + (this.isRTL ? "" : this.renderNumberIntroHtml(a)) + this.renderNumberCellsHtml(a) + (this.isRTL ? this.renderNumberIntroHtml(a) : "") + "</tr>"
31126        },
31127        renderNumberIntroHtml: function (a) {
31128            return this.renderIntroHtml()
31129        },
31130        renderNumberCellsHtml: function (a) {
31131            var b, c, d = [];
31132            for (b = 0; b < this.colCnt; b++) c = this.getCellDate(a, b), d.push(this.renderNumberCellHtml(c));
31133            return d.join("")
31134        },
31135        renderNumberCellHtml: function (a) {
31136            var b;
31137            return this.view.dayNumbersVisible ? (b = this.getDayClasses(a), b.unshift("fc-day-number"), '<td class="' + b.join(" ") + '" data-date="' + a.format() + '">' + a.date() + "</td>") : "<td/>"
31138        },
31139        computeEventTimeFormat: function () {
31140            return this.view.opt("extraSmallTimeFormat")
31141        },
31142        computeDisplayEventEnd: function () {
31143            return 1 == this.colCnt
31144        },
31145        rangeUpdated: function () {
31146            this.updateDayTable()
31147        },
31148        spanToSegs: function (a) {
31149            var b, c, d = this.sliceRangeByRow(a);
31150            for (b = 0; b < d.length; b++) c = d[b], this.isRTL ? (c.leftCol = this.daysPerRow - 1 - c.lastRowDayIndex, c.rightCol = this.daysPerRow - 1 - c.firstRowDayIndex) : (c.leftCol = c.firstRowDayIndex, c.rightCol = c.lastRowDayIndex);
31151            return d
31152        },
31153        prepareHits: function () {
31154            this.colCoordCache.build(), this.rowCoordCache.build(), this.rowCoordCache.bottoms[this.rowCnt - 1] += this.bottomCoordPadding
31155        },
31156        releaseHits: function () {
31157            this.colCoordCache.clear(), this.rowCoordCache.clear()
31158        },
31159        queryHit: function (a, b) {
31160            var c = this.colCoordCache.getHorizontalIndex(a), d = this.rowCoordCache.getVerticalIndex(b);
31161            return null != d && null != c ? this.getCellHit(d, c) : void 0
31162        },
31163        getHitSpan: function (a) {
31164            return this.getCellRange(a.row, a.col)
31165        },
31166        getHitEl: function (a) {
31167            return this.getCellEl(a.row, a.col)
31168        },
31169        getCellHit: function (a, b) {
31170            return {
31171                row: a,
31172                col: b,
31173                component: this,
31174                left: this.colCoordCache.getLeftOffset(b),
31175                right: this.colCoordCache.getRightOffset(b),
31176                top: this.rowCoordCache.getTopOffset(a),
31177                bottom: this.rowCoordCache.getBottomOffset(a)
31178            }
31179        },
31180        getCellEl: function (a, b) {
31181            return this.cellEls.eq(a * this.colCnt + b)
31182        },
31183        renderDrag: function (a, b) {
31184            return this.renderHighlight(this.eventToSpan(a)), b && !b.el.closest(this.el).length ? (this.renderEventLocationHelper(a, b), this.applyDragOpacity(this.helperEls), !0) : void 0
31185        },
31186        unrenderDrag: function () {
31187            this.unrenderHighlight(), this.unrenderHelper()
31188        },
31189        renderEventResize: function (a, b) {
31190            this.renderHighlight(this.eventToSpan(a)), this.renderEventLocationHelper(a, b)
31191        },
31192        unrenderEventResize: function () {
31193            this.unrenderHighlight(), this.unrenderHelper()
31194        },
31195        renderHelper: function (b, c) {
31196            var d, e = [], f = this.eventToSegs(b);
31197            f = this.renderFgSegEls(f), d = this.renderSegRows(f), this.rowEls.each(function (b, f) {
31198                var g, h = a(f), i = a('<div class="fc-helper-skeleton"><table/></div>');
31199                g = c && c.row === b ? c.el.position().top : h.find(".fc-content-skeleton tbody").position().top, i.css("top", g).find("table").append(d[b].tbodyEl), h.append(i), e.push(i[0])
31200            }), this.helperEls = a(e)
31201        },
31202        unrenderHelper: function () {
31203            this.helperEls && (this.helperEls.remove(), this.helperEls = null)
31204        },
31205        fillSegTag: "td",
31206        renderFill: function (b, c, d) {
31207            var e, f, g, h = [];
31208            for (c = this.renderFillSegEls(b, c), e = 0; e < c.length; e++) f = c[e], g = this.renderFillRow(b, f, d), this.rowEls.eq(f.row).append(g), h.push(g[0]);
31209            return this.elsByFill[b] = a(h), c
31210        },
31211        renderFillRow: function (b, c, d) {
31212            var e, f, g = this.colCnt, h = c.leftCol, i = c.rightCol + 1;
31213            return d = d || b.toLowerCase(), e = a('<div class="fc-' + d + '-skeleton"><table><tr/></table></div>'), f = e.find("tr"), h > 0 && f.append('<td colspan="' + h + '"/>'), f.append(c.el.attr("colspan", i - h)), g > i && f.append('<td colspan="' + (g - i) + '"/>'), this.bookendCells(f), e
31214        }
31215    });
31216    mb.mixin({
31217        rowStructs: null, unrenderEvents: function () {
31218            this.removeSegPopover(), kb.prototype.unrenderEvents.apply(this, arguments)
31219        }, getEventSegs: function () {
31220            return kb.prototype.getEventSegs.call(this).concat(this.popoverSegs || [])
31221        }, renderBgSegs: function (b) {
31222            var c = a.grep(b, function (a) {
31223                return a.event.allDay
31224            });
31225            return kb.prototype.renderBgSegs.call(this, c)
31226        }, renderFgSegs: function (b) {
31227            var c;
31228            return b = this.renderFgSegEls(b), c = this.rowStructs = this.renderSegRows(b), this.rowEls.each(function (b, d) {
31229                a(d).find(".fc-content-skeleton > table").append(c[b].tbodyEl)
31230            }), b
31231        }, unrenderFgSegs: function () {
31232            for (var a, b = this.rowStructs || []; a = b.pop();) a.tbodyEl.remove();
31233            this.rowStructs = null
31234        }, renderSegRows: function (a) {
31235            var b, c, d = [];
31236            for (b = this.groupSegRows(a), c = 0; c < b.length; c++) d.push(this.renderSegRow(c, b[c]));
31237            return d
31238        }, fgSegHtml: function (a, b) {
31239            var c, d, e = this.view, f = a.event, g = e.isEventDraggable(f),
31240                h = !b && f.allDay && a.isStart && e.isEventResizableFromStart(f),
31241                i = !b && f.allDay && a.isEnd && e.isEventResizableFromEnd(f), j = this.getSegClasses(a, g, h || i),
31242                k = $(this.getEventSkinCss(f)), l = "";
31243            return j.unshift("fc-day-grid-event", "fc-h-event"), a.isStart && (c = this.getEventTimeText(f), c && (l = '<span class="fc-time">' + Y(c) + "</span>")), d = '<span class="fc-title">' + (Y(f.title || "") || "&nbsp;") + "</span>", '<a class="' + j.join(" ") + '"' + (f.url ? ' href="' + Y(f.url) + '"' : "") + (k ? ' style="' + k + '"' : "") + '><div class="fc-content">' + (this.isRTL ? d + " " + l : l + " " + d) + "</div>" + (h ? '<div class="fc-resizer fc-start-resizer" />' : "") + (i ? '<div class="fc-resizer fc-end-resizer" />' : "") + "</a>"
31244        }, renderSegRow: function (b, c) {
31245            function d(b) {
31246                for (; b > g;) k = (r[e - 1] || [])[g], k ? k.attr("rowspan", parseInt(k.attr("rowspan") || 1, 10) + 1) : (k 
31246= a("<td/>"), h.append(k)), q[e][g] = k, r[e][g] = k, g++
31247            }
31248
31249            var e, f, g, h, i, j, k, l = this.colCnt, m = this.buildSegLevels(c), n = Math.max(1, m.length),
31250                o = a("<tbody/>"), p = [], q = [], r = [];
31251            for (e = 0; n > e; e++) {
31252                if (f = m[e], g = 0, h = a("<tr/>"), p.push([]), q.push([]), r.push([]), f) for (i = 0; i < f.length; i++) {
31253                    for (j = f[i], d(j.leftCol), k = a('<td class="fc-event-container"/>').append(j.el), j.leftCol != j.rightCol ? k.attr("colspan", j.rightCol - j.leftCol + 1) : r[e][g] = k; g <= j.rightCol;) q[e][g] = k, p[e][g] = j, g++;
31254                    h.append(k)
31255                }
31256                d(l), this.bookendCells(h), o.append(h)
31257            }
31258            return {row: b, tbodyEl: o, cellMatrix: q, segMatrix: p, segLevels: m, segs: c}
31259        }, buildSegLevels: function (a) {
31260            var b, c, d, e = [];
31261            for (this.sortEventSegs(a), b = 0; b < a.length; b++) {
31262                for (c = a[b], d = 0; d < e.length && Ca(c, e[d]); d++) ;
31263                c.level = d, (e[d] || (e[d] = [])).push(c)
31264            }
31265            for (d = 0; d < e.length; d++) e[d].sort(Da);
31266            return e
31267        }, groupSegRows: function (a) {
31268            var b, c = [];
31269            for (b = 0; b < this.rowCnt; b++) c.push([]);
31270            for (b = 0; b < a.length; b++) c[a[b].row].push(a[b]);
31271            return c
31272        }
31273    }), mb.mixin({
31274        segPopover: null, popoverSegs: null, removeSegPopover: function () {
31275            this.segPopover && this.segPopover.hide()
31276        }, limitRows: function (a) {
31277            var b, c, d = this.rowStructs || [];
31278            for (b = 0; b < d.length; b++) this.unlimitRow(b), c = a ? "number" == typeof a ? a : this.computeRowLevelLimit(b) : !1, c !== !1 && this.limitRow(b, c)
31279        }, computeRowLevelLimit: function (b) {
31280            function c(b, c) {
31281                f = Math.max(f, a(c).outerHeight())
31282            }
31283
31284            var d, e, f, g = this.rowEls.eq(b), h = g.height(), i = this.rowStructs[b].tbodyEl.children();
31285            for (d = 0; d < i.length; d++) if (e = i.eq(d).removeClass("fc-limited"), f = 0, e.find("> td > :first-child").each(c), e.position().top + f > h) return d;
31286            return !1
31287        }, limitRow: function (b, c) {
31288            function d(d) {
31289                for (; d > w;) j = t.getCellSegs(b, w, c), j.length && (m = f[c - 1][w], s = t.renderMoreLink(b, w, j), r = a("<div/>").append(s), m.append(r), v.push(r[0])), w++
31290            }
31291
31292            var e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t = this, u = this.rowStructs[b], v = [], w = 0;
31293            if (c && c < u.segLevels.length) {
31294                for (e = u.segLevels[c - 1], f = u.cellMatrix, g = u.tbodyEl.children().slice(c).addClass("fc-limited").get(), h = 0; h < e.length; h++) {
31295                    for (i = e[h], d(i.leftCol), l = [], k = 0; w <= i.rightCol;) j = this.getCellSegs(b, w, c), l.push(j), k += j.length, w++;
31296                    if (k) {
31297                        for (m = f[c - 1][i.leftCol], n = m.attr("rowspan") || 1, o = [], p = 0; p < l.length; p++) q = a('<td class="fc-more-cell"/>').attr("rowspan", n), j = l[p], s = this.renderMoreLink(b, i.leftCol + p, [i].concat(j)), r = a("<div/>").append(s), q.append(r), o.push(q[0]), v.push(q[0]);
31298                        m.addClass("fc-limited").after(a(o)), g.push(m[0])
31299                    }
31300                }
31301                d(this.colCnt), u.moreEls = a(v), u.limitedEls = a(g)
31302            }
31303        }, unlimitRow: function (a) {
31304            var b = this.rowStructs[a];
31305            b.moreEls && (b.moreEls.remove(), b.moreEls = null), b.limitedEls && (b.limitedEls.removeClass("fc-limited"), b.limitedEls = null)
31306        }, renderMoreLink: function (b, c, d) {
31307            var e = this, f = this.view;
31308            return a('<a class="fc-more"/>').text(this.getMoreLinkText(d.length)).on("click", function (g) {
31309                var h = f.opt("eventLimitClick"), i = e.getCellDate(b, c), j = a(this), k = e.getCellEl(b, c),
31310                    l = e.getCellSegs(b, c), m = e.resliceDaySeg
31310s(l, i), n = e.resliceDaySegs(d, i);
31311                "function" == typeof h && (h = f.trigger("eventLimitClick", null, {
31312                    date: i,
31313                    dayEl: k,
31314                    moreEl: j,
31315                    segs: m,
31316                    hiddenSegs: n
31317                }, g)), "popover" === h ? e.showSegPopover(b, c, j, m) : "string" == typeof h && f.calendar.zoomTo(i, h)
31318            })
31319        }, showSegPopover: function (a, b, c, d) {
31320            var e, f, g = this, h = this.view, i = c.parent();
31321            e = 1 == this.rowCnt ? h.el : this.rowEls.eq(a), f = {
31322                className: "fc-more-popover",
31323                content: this.renderSegPopoverContent(a, b, d),
31324                parentEl: this.el,
31325                top: e.offset().top,
31326                autoHide: !0,
31327                viewportConstrain: h.opt("popoverViewportConstrain"),
31328                hide: function () {
31329                    g.segPopover.removeElement(), g.segPopover = null, g.popoverSegs = null
31330                }
31331            }, this.isRTL ? f.right = i.offset().left + i.outerWidth() + 1 : f.left = i.offset().left - 1, this.segPopover = new fb(f), this.segPopover.show()
31332        }, renderSegPopoverContent: function (b, c, d) {
31333            var e, f = this.view, g = f.opt("theme"), h = this.getCellDate(b, c).format(f.opt("dayPopoverFormat")),
31334                i = a('<div class="fc-header ' + f.widgetHeaderClass + '"><span class="fc-close ' + (g ? "ui-icon ui-icon-closethick" : "fc-icon fc-icon-x") + '"></span><span class="fc-title">' + Y(h) + '</span><div class="fc-clear"/></div><div class="fc-body ' + f.widgetContentClass + '"><div class="fc-event-container"></div></div>'),
31335                j = i.find(".fc-event-container");
31336            for (d = this.renderFgSegEls(d, !0), this.popoverSegs = d, e = 0; e < d.length; e++) this.prepareHits(), d[e].hit = this.getCellHit(b, c), this.releaseHits(), j.append(d[e].el);
31337            return i
31338        }, resliceDaySegs: function (b, c) {
31339            var d = a.map(b, function (a) {
31340                return a.event
31341            }), e = c.clone(), f = e.clone().add(1, "days"), g = {start: e, end: f};
31342            return b = this.eventsToSegs(d, function (a) {
31343                var b = E(a, g);
31344                return b ? [b] : []
31345            }), this.sortEventSegs(b), b
31346        }, getMoreLinkText: function (a) {
31347            var b = this.view.opt("eventLimitText");
31348            return "function" == typeof b ? b(a) : "+" + a + " " + b
31349        }, getCellSegs: function (a, b, c) {
31350            for (var d, e = this.rowStructs[a].segMatrix, f = c || 0, g = []; f < e.length;) d = e[f][b], d && g.push(d), f++;
31351            return g
31352        }
31353    });
31354    var nb = Pa.TimeGrid = kb.extend(lb, {
31355        slotDuration: null,
31356        snapDuration: null,
31357        snapsPerSlot: null,
31358        minTime: null,
31359        maxTime: null,
31360        labelFormat: null,
31361        labelInterval: null,
31362        colEls: null,
31363        slatEls: null,
31364        helperEl: null,
31365        colCoordCache: null,
31366        slatCoordCache: null,
31367        businessHourSegs: null,
31368        constructor: function () {
31369            kb.apply(this, arguments), this.processOptions()
31370        },
31371        renderDates: function () {
31372            this.el.html(this.renderHtml()), this.colEls = this.el.find(".fc-day"), this.slatEls = this.el.find(".fc-slats tr"), this.colCoordCache = new gb({
31373                els: this.colEls,
31374                isHorizontal: !0
31375            }), this.slatCoordCache = new gb({els: this.slatEls, isVertical: !0})
31376        },
31377        renderBusinessHours: function () {
31378            var a = this.view.calendar.getBusinessHoursEvents();
31379            this.businessHourSegs = this.renderFill("businessHours", this.eventsToSegs(a), "bgevent")
31380        },
31381        renderHtml: function () {
31382            return '<div class="fc-bg"><table>' + this.renderBgTrHtml(0) + '</table></div><div class="fc-slats"><table>' + this.renderSlatRowHtml() + "</table></div>"
31383        },
31384        renderSlatRowHtml: function () {
31385            for (var a, c, d, e = this.view, f = this.isRTL, g = "", h = b.duration(+this.minTime); h < this.maxTime;) a = this.start.clone().time(h), c = ba(L(h, this.labelInterval)), d = '<td class="fc-axis fc-time ' + e.widgetContentClass + '" ' + e.axisStyleAttr() + ">" + (c ? "<span>" + Y(a.format(this.labelFormat)) + "</span>" : "") + "</td>", g += "<tr " + (c ? "" : 'class="fc-minor"') + ">" + (f ? "" : d) + '<td class="' + e.widgetContentClass + '"/>' + (f ? d : "") + "</tr>", h.add(this.slotDuration);
31386            return g
31387        },
31388        processOptions: function () {
31389            var c, d = this.view, e = d.opt("slotDuration"), f = d.opt("snapDuration");
31390            e = b.duration(e), f = f ? b.duration(f) : e, this.slotDuration = e, this.snapDuration = f, this.snapsPerSlot = e / f, this.minResizeDuration = f, this.minTime = b.duration(d.opt("minTime")), this.maxTime = b.duration(d.opt("maxTime")), c = d.opt("slotLabelFormat"), a.isArray(c) && (c = c[c.length - 1]), this.labelFormat = c || d.opt("axisFormat") || d.opt("smallTimeFormat"), c = d.opt("slotLabelInterval"), this.labelInterval = c ? b.duration(c) : this.computeLabelInterval(e)
31391        },
31392        computeLabelInterval: function (a) {
31393            var c, d, e;
31394            for (c = Db.length - 1; c >= 0; c--) if (d = b.duration(Db[c]), e = L(d, a), ba(e) && e > 1) return d;
31395            return b.duration(a)
31396        },
31397        computeEventTimeFormat: function () {
31398            return this.view.opt("noMeridiemTimeFormat")
31399        },
31400        computeDisplayEventEnd: function () {
31401            return !0
31402        },
31403        prepareHits: function () {
31404            this.colCoordCache.build(), this.slatCoordCache.build()
31405        },
31406        releaseHits: function () {
31407            this.colCoordCache.clear()
31408        },
31409        queryHit: function (a, b) {
31410            var c = this.snapsPerSlot, d = this.colCoordCache, e = this.slatCoordCache, f = d.getHorizontalIndex(a),
31411                g = e.getVerticalIndex(b);
31412            if (null != f && null != g) {
31413                var h = e.getTopOffset(g), i = e.getHeight(g), j = (b - h) / i, k = Math.floor(j * c), l = g * c + k,
31414                    m = h + k / c * i, n = h + (k + 1) / c * i;
31415                return {
31416                    col: f,
31417                    snap: l,
31418                    component: this,
31419                    left: d.getLeftOffset(f),
31420                    right: d.getRightOffset(f),
31421                    top: m,
31422                    bottom: n
31423                }
31424            }
31425        },
31426        getHitSpan: function (a) {
31427            var b, c = this.getCellDate(0, a.col), d = this.computeSnapTime(a.snap);
31428            return c.time(d), b = c.clone().add(this.snapDuration), {start: c, end: b}
31429        },
31430        getHitEl: function (a) {
31431            return this.colEls.eq(a.col)
31432        },
31433        rangeUpdated: function () {
31434            this.updateDayTable()
31435        },
31436        computeSnapTime: function (a) {
31437            return b.duration(this.minTime + this.snapDuration * a)
31438        },
31439        spanToSegs: function (a) {
31440            var b, c = this.sliceRangeByTimes(a);
31441            for (b = 0; b < c.length; b++) this.isRTL ? c[b].col = this.daysPerRow - 1 - c[b].dayIndex : c[b].col = c[b].dayIndex;
31442            return c
31443        },
31444        sliceRangeByTimes: function (a) {
31445            var b, c, d, e, f = [];
31446            for (c = 0; c < this.daysPerRow; c++) d = this.dayDates[c].clone(), e = {
31447                start: d.clone().time(this.minTime),
31448                end: d.clone().time(this.maxTime)
31449            }, b = E(a, e), b && (b.dayIndex = c, f.push(b));
31450            return f
31451        },
31452        updateSize: function (a) {
31453            this.slatCoordCache.build(), a && this.updateSegVerticals()
31454        },
31455        computeDateTop: function (a, c) {
31456            return this.computeTimeTop(b.duration(a - c.clone().stripTime()))
31457        },
31458        computeTimeTop: function (a) {
31459            var b, c, d = this.slatEls.length, e = (a - this.minTime) / this.slotDuration;
31460            return e = Math.max(0, e), e = Math.min(d, e), b = Math.floor(e), b = Math.min(b, d - 1), c = e - b, this.slatCoordCache.getTopPosition(b) + this.slatCoordCache.getHeight(b) * c
31461        },
31462        renderDrag: function (a, b) {
31463            return b ? (this.renderEventLocationHelper(a, b), this.applyDragOpacity(this.helperEl), !0) : void this.renderHighlight(this.eventToSpan(a))
31464        },
31465        unrenderDrag: function () {
31466            this.unrenderHelper(), this.unrenderHighlight()
31467        },
31468        renderEventResize: function (a, b) {
31469            this.renderEventLocationHelper(a, b)
31470        },
31471        unrenderEventResize: function () {
31472            this.unrenderHelper()
31473        },
31474        renderHelper: function (b, c) {
31475            var d, e, f, g, h = this.eventToSegs(b);
31476            for (h = this.renderFgSegEls(h), d = this.renderSegTable(h), e = 0; e < h.length; e++) f = h[e], c && c.col === f.col && (g = c.el, f.el.css({
31477                left: g.css("left"),
31478                right: g.css("right"),
31479                "margin-left": g.css("margin-left"),
31480                "margin-right": g.css("margin-right")
31481            }));
31482            this.helperEl = a('<div class="fc-helper-skeleton"/>').append(d).appendTo(this.el)
31483        },
31484        unrenderHelper: function () {
31485            this.helperEl && (this.helperEl.remove(), this.helperEl = null)
31486        },
31487        renderSelection: function (a) {
31488            this.view.opt("selectHelper") ? this.renderEventLocationHelper(a) : this.renderHighlight(a)
31489        },
31490        unrenderSelection: function () {
31491            this.unrenderHelper(), this.unrenderHighlight()
31492        },
31493        renderFill: function (b, c, d) {
31494            var e, f, g, h, i, j, k, l, m, n;
31495            if (c.length) {
31496                for (c = this.renderFillSegEls(b, c), e = this.groupSegCols(c), d = d || b.toLowerCase(), f = a('<div class="fc-' 
31496+ d + '-skeleton"><table><tr/></table></div>'), g = f.find("tr"), h = 0; h < e.length; h++) if (i = e[h], j = a("<td/>").appendTo(g), i.length) for (k = a('<div class="fc-' + d + '-container"/>').appendTo(j), l = this.getCellDate(0, h), m = 0; m < i.length; m++) n = i[m], k.append(n.el.css({
31497                    top: this.computeDateTop(n.start, l),
31498                    bottom: -this.computeDateTop(n.end, l)
31499                }));
31500                this.bookendCells(g), this.el.append(f), this.elsByFill[b] = f
31501            }
31502            return c
31503        }
31504    });
31505    nb.mixin({
31506        eventSkeletonEl: null, renderFgSegs: function (b) {
31507            return b = this.renderFgSegEls(b), this.el.append(this.eventSkeletonEl = a('<div class="fc-content-skeleton"/>').append(this.renderSegTable(b))), b
31508        }, unrenderFgSegs: function (a) {
31509            this.eventSkeletonEl && (this.eventSkeletonEl.remove(), this.eventSkeletonEl = null)
31510        }, renderSegTable: function (b) {
31511            var c, d, e, f, g, h, i = a("<table><tr/></table>"), j = i.find("tr");
31512            for (c = this.groupSegCols(b), this.computeSegVerticals(b), f = 0; f < c.length; f++) {
31513                for (g = c[f], this.placeSlotSegs(g), h = a('<div class="fc-event-container"/>'), d = 0; d < g.length; d++) e = g[d], e.el.css(this.generateSegPositionCss(e)), e.bottom - e.top < 30 && e.el.addClass("fc-short"), h.append(e.el);
31514                j.append(a("<td/>").append(h))
31515            }
31516            return this.bookendCells(j), i
31517        }, placeSlotSegs: function (a) {
31518            var b, c, d;
31519            if (this.sortEventSegs(a), b = Ea(a), Fa(b), c = b[0]) {
31520                for (d = 0; d < c.length; d++) Ga(c[d]);
31521                for (d = 0; d < c.length; d++) this.computeSlotSegCoords(c[d], 0, 0)
31522            }
31523        }, computeSlotSegCoords: function (a, b, c) {
31524            var d, e = a.forwardSegs;
31525            if (void 0 === a.forwardCoord) for (e.length ? (this.sortForwardSlotSegs(e), this.computeSlotSegCoords(e[0], b + 1, c), a.forwardCoord = e[0].backwardCoord) : a.forwardCoord = 1, a.backwardCoord = a.forwardCoord - (a.forwardCoord - c) / (b + 1), d = 0; d < e.length; d++) this.computeSlotSegCoords(e[d], 0, a.forwardCoord)
31526        }, updateSegVerticals: function () {
31527            var a, b = (this.segs || []).concat(this.businessHourSegs || []);
31528            for (this.computeSegVerticals(b), a = 0; a < b.length; a++) b[a].el.css(this.generateSegVerticalCss(b[a]))
31529        }, computeSegVerticals: function (a) {
31530            var b, c;
31531            for (b = 0; b < a.length; b++) c = a[b], c.top = this.computeDateTop(c.start, c.start), c.bottom = this.computeDateTop(c.end, c.start)
31532        }, fgSegHtml: function (a, b) {
31533            var c, d, e, f = this.view, g = a.event, h = f.isEventDraggable(g),
31534                i = !b && a.isStart && f.isEventResizableFromStart(g),
31535                j = !b && a.isEnd && f.isEventResizableFromEnd(g), k = this.getSegClasses(a, h, i || j),
31536                l = $(this.getEventSkinCss(g));
31537            return k.unshift("fc-time-grid-event", "fc-v-event"), f.isMultiDayEvent(g) ? (a.isStart || a.isEnd) && (c = this.getEventTimeText(a), d = this.getEventTimeText(a, "LT"), e = this.getEventTimeText(a, null, !1)) : (c = this.getEventTimeText(g), d = this.getEventTimeText(g, "LT"), e = this.getEventTimeText(g, null, !1)), '<a class="' + k.join(" ") + '"' + (g.url ? ' href="' + Y(g.url) + '"' : "") + (l ? ' style="' + l + '"' : "") + '><div class="fc-content">' + (c ? '<div class="fc-time" data-start="' + Y(e) + '" data-full="' + Y(d) + '"><span>' + Y(c) + "</span></div>" : "") + (g.title ? '<div class="fc-title">' + Y(g.title) + "</div>" : "") + '</div><div class="fc-bg"/>' + (j ? '<div class="fc-resizer fc-end-resizer" />' : "") + "</a>"
31538        }, generateSegPositionCss: function (a) {
31539            var b, c, d = this.view.opt("slotEventOverlap"), e = a.backwardCoord, f = a.forwardCoord,
31540                g = this.generateSegVerticalCss(a);
31541            return d && (f = Math.min(1, e + 2 * (f - e))), this.isRTL ? (b = 1 - f, c = e) : (b = e, c = 1 - f), g.zIndex = a.level + 1, g.left = 100 * b + "%", g.right = 100 * c + "%", d && a.forwardPressure && (g[this.isRTL ? "marginLeft" : "marginRight"] = 20), g
31542        }, generateSegVerticalCss: function (a) {
31543            return {top: a.top, bottom: -a.bottom}
31544        }, groupSegCols: function (a) {
31545            var b, c = [];
31546            for (b = 0; b < this.colCnt; b++) c.push([]);
31547            for (b = 0; b < a.length; b++) c[a[b].col].push(a[b]);
31548            return c
31549        }, sortForwardSlotSegs: function (a) {
31550            a.sort(ca(this, "compareForwardSlotSegs"))
31551        }, compareForwardSlotSegs: function (a, b) {
31552            return b.forwardPressure - a.forwardPressure || (a.backwardCoord || 0) - (b.backwardCoord || 0) || this.compareEventSegs(a, b)
31553        }
31554    });
31555    var ob = Pa.View = ra.extend({
31556        type: null,
31557        name: null,
31558        title: null,
31559        calendar: null,
31560        options: null,
31561        el: null,
31562        displaying: null,
31563        isSkeletonRendered: !1,
31564        isEventsRendered: !1,
31565        start: null,
31566        end: null,
31567        intervalStart: null,
31568        intervalEnd: null,
31569        intervalDuration: null,
31570        intervalUnit: null,
31571        isRTL: !1,
31572        isSelected: !1,
31573        eventOrderSpecs: null,
31574        scrollerEl: null,
31575        scrollTop: null,
31576        widgetHeaderClass: null,
31577        widgetContentClass: null,
31578        highlightStateClass: null,
31579        nextDayThreshold: null,
31580        isHiddenDayHash: null,
31581        documentMousedownProxy: null,
31582        constructor: function (a, c, d, e) {
31583            this.calendar = a, this.type = this.name = c, this.options = d, this.intervalDuration = e || b.duration(1, "day"), this.nextDayThreshold = b.duration(this.opt("nextDayThreshold")), this.initThemingProps(), this.initHiddenDays(), this.isRTL = this.opt("isRTL"), this.eventOrderSpecs = A(this.opt("eventOrder")), this.documentMousedownProxy = ca(this, "documentMousedown"), this.initialize()
31584        },
31585        initialize: function () {
31586        },
31587        opt: function (a) {
31588            return this.options[a]
31589        },
31590        trigger: function (a, b) {
31591            var c = this.calendar;
31592            return c.trigger.apply(c, [a, b || this].concat(Array.prototype.slice.call(arguments, 2), [this]))
31593        },
31594        setDate: function (a) {
31595            this.setRange(this.computeRange(a))
31596        },
31597        setRange: function (b) {
31598            a.extend(this, b), this.updateTitle()
31599        },
31600        computeRange: function (a) {
31601            var b, c, d = I(this.intervalDuration), e = a.clone().startOf(d), f = e.clone().add(this.intervalDuration);
31602            return /year|month|week|day/.test(d) ? (e.stripTime(), f.stripTime()) : (e.hasTime() || (e = this.calendar.time(0)), f.hasTime() || (f = this.calendar.time(0))), b = e.clone(), b = this.skipHiddenDays(b), c = f.clone(), c = this.skipHiddenDays(c, -1, !0), {
31603                intervalUnit: d,
31604                intervalStart: e,
31605                intervalEnd: f,
31606                start: b,
31607                end: c
31608            }
31609        },
31610        computePrevDate: function (a) {
31611            return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).subtract(this.intervalDuration), -1)
31612        },
31613        computeNextDate: function (a) {
31614            return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).add(this.intervalDuration))
31615        },
31616        massageCurrentDate: function (a, b) {
31617            return this.intervalDuration.as("days") <= 1 && this.isHiddenDay(a) && (a = this.skipHiddenDays(a, b), a.startOf("day")), a
31618        },
31619        updateTitle: function () {
31620            this.title = this.computeTitle()
31621        },
31622        computeTitle: function () {
31623            return this.formatRange({
31624                start: this.calendar.applyTimezone(this.intervalStart),
31625                end: this.calendar.applyTimezone(this.intervalEnd)
31626            }, this.opt("titleFormat") || this.computeTitleFormat(), this.opt("titleRangeSeparator"))
31627        },
31628        computeTitleFormat: function () {
31629            return "year" == this.intervalUnit ? "YYYY" : "month" == this.intervalUnit ? this.opt("monthYearFormat") : this.intervalDuration.as("days") > 1 ? "ll" : "LL"
31630        },
31631        formatRange: function (a, b, c) {
31632            var d = a.end;
31633            return d.hasTime() || (d = d.clone().subtract(1)), ma(a.start, d, b, c, this.opt("isRTL"))
31634        },
31635        setElement: function (a) {
31636            this.el = a, this.bindGlobalHandlers()
31637        },
31638        removeElement: function () {
31639            this.clear(), this.isSkeletonRendered && (this.unrenderSkeleton(), this.isSkeletonRendered = !1), this.unbindGlobalHandlers(), this.el.remove()
31640        },
31641        display: function (b) {
31642            var c = this, d = null;
31643            return this.displaying && (d = this.queryScroll()), this.calendar.freezeContentHeight(), this.clear().then(function () {
31644                return c.displaying = a.when(c.displayView(b)).then(function () {
31645                    c.forceScroll(c.computeInitialScroll(d)), c.calendar.unfreezeContentHeight(), c.triggerRender()
31646                })
31647            })
31648        },
31649        clear: function () {
31650            var b = this, c = this.displaying;
31651            return c ? c.then(function () {
31652                return b.displaying = null, b.clearEvents(), b.clearView()
31653            }) : a.when()
31654        },
31655        redisplay: function () {
31656            if (this.isSkeletonRendered) {
31657                var a = this.isEventsRendered;
31658                this.clearEvents(), this.clearView(), this.displayView(), a && this.displayEvents()
31659            }
31660        },
31661        displayView: function (a) {
31662            this.isSkeletonRendered || (this.renderSkeleton(), this.isSkeletonRendered = !0), a && this.setDate(a), this.render && this.render(), this.renderDates(), this.updateSize(), this.renderBusinessHours()
31663        },
31664        clearView: function () {
31665            this.unselect(), this.triggerUnrender(), this.unrenderBusinessHours(), this.unrenderDates(), this.destroy && this.destroy()
31666        },
31667        renderSkeleton: function () {
31668        },
31669        unrenderSkeleton: function () {
31670        },
31671        renderDates: function () {
31672        },
31673        unrenderDates: function () {
31674        },
31675        renderBusinessHours: function () {
31676        },
31677        unrenderBusinessHours: function () {
31678        },
31679        triggerRender: function () {
31680            this.trigger("viewRender", this, this, this.el)
31681        },
31682        triggerUnrender: function () {
31683            this.trigger("viewDestroy", this, this, this.el)
31684        },
31685        bindGlobalHandlers: function () {
31686            a(document).on("mousedown", this.documentMousedownProxy)
31687        },
31688        unbindGlobalHandlers: function () {
31689            a(document).off("mousedown", this.documentMousedownProxy)
31690        },
31691        initThemingProps: function () {
31692            var a = this.opt("theme") ? "ui" : "fc";
31693            this.widgetHeaderClass = a + "-widget-header", this.widgetContentClass = a + "-widget-content", this.highlightStateClass = a + "-state-highlight"
31694        },
31695        updateSize: function (a) {
31696            var b;
31697            a && (b = this.queryScroll()), this.updateHeight(a), this.updateWidth(a), a && this.setScroll(b)
31698        },
31699        updateWidth: function (a) {
31700        },
31701        updateHeight: function (a) {
31702            var b = this.calendar;
31703            this.setHeight(b.getSuggestedViewHeight(), b.isHeightAuto())
31704        },
31705        setHeight: function (a, b) {
31706        },
31707        computeScrollerHeight: function (a) {
31708            var b, c, d = this.scrollerEl;
31709            return b = this.el.add(d), b.css({
31710                position: "relative",
31711                left: -1
31712            }), c = this.el.outerHeight() - d.height(), b.css({position: "", left: ""}), a - c
31713        },
31714        computeInitialScroll: function (a) {
31715            return 0
31716        },
31717        queryScroll: function () {
31718            return this.scrollerEl ? this.scrollerEl.scrollTop() : void 0
31719        },
31720        setScroll: function (a) {
31721            return this.scrollerEl ? this.scrollerEl.scrollTop(a) : void 0
31722        },
31723        forceScroll: function (a) {
31724            var b = this;
31725            this.setScroll(a), setTimeout(function () {
31726                b.setScroll(a)
31727            }, 0)
31728        },
31729        displayEvents: function (a) {
31730            var b = this.queryScroll();
31731            this.clearEvents(), this.renderEvents(a), this.isEventsRendered = !0, this.setScroll(b), this.triggerEventRender()
31732        },
31733        clearEvents: function () {
31734            this.isEventsRendered && (this.triggerEventUnrender(), this.destroyEvents && this.destroyEvents(), this.unrenderEvents(), this.isEventsRendered = !1)
31735        },
31736        renderEvents: function (a) {
31737        },
31738        unrenderEvents: function () {
31739        },
31740        triggerEventRender: function () {
31741            this.renderedEventSegEach(function (a) {
31742                this.trigger("eventAfterRender", a.event, a.event, a.el)
31743            }), this.trigger("eventAfterAllRender")
31744        },
31745        triggerEventUnrender: function () {
31746            this.renderedEventSegEach(function (a) {
31747                this.trigger("eventDestroy", a.event, a.event, a.el)
31748            })
31749        },
31750        resolveEventEl: function (b, c) {
31751            var d = this.trigger("eventRender", b, b, c);
31752            return d === !1 ? c = null : d && d !== !0 && (c = a(d)), c
31753        },
31754        showEvent: function (a) {
31755            this.renderedEventSegEach(function (a) {
31756                a.el.css("visibility", "")
31757            }, a)
31758        },
31759        hideEvent: function (a) {
31760            this.renderedEventSegEach(function (a) {
31761                a.el.css("visibility", "hidden")
31762            }, a)
31763        },
31764        renderedEventSegEach: function (a, b) {
31765            var c, d = this.getEventSegs();
31766            for (c = 0; c < d.length; c++) b && d[c].event._id !== b._id || d[c].el && a.call(this, d[c])
31767        },
31768        getEventSegs: function () {
31769            return []
31770        },
31771        isEventDraggable: function (a) {
31772            var b = a.source || {};
31773            return X(a.startEditable, b.startEditable, this.opt("eventStartEditable"), a.editable, b.editable, this.opt("editable"))
31774        },
31775        reportEventDrop: function (a, b, c, d, e) {
31776            var f = this.calendar, g = f.mutateEvent(a, b, c), h = function () {
31777                g.undo(), f.reportEventChange()
31778            };
31779            this.triggerEventDrop(a, g.dateDelta, h, d, e), f.reportEventChange()
31780        },
31781        triggerEventDrop: function (a, b, c, d, e) {
31782            this.trigger("eventDrop", d[0], a, b, c, e, {})
31783        },
31784        reportExternalDrop: function (b, c, d, e, f) {
31785            var g, h, i = b.eventProps;
31786            i && (g = a.extend({}, i, c), h = this.calendar.renderEvent(g, b.stick)[0]), this.triggerExternalDrop(h, c, d, e, f)
31787        },
31788        triggerExternalDrop: function (a, b, c, d, e) {
31789            this.trigger("drop", c[0], b.start, d, e), a && this.trigger("eventReceive", null, a)
31790        },
31791        renderDrag: function (a, b) {
31792        },
31793        unrenderDrag: function () {
31794        },
31795        isEventResizableFromStart: function (a) {
31796            return this.opt("eventResizableFromStart") && this.isEventResizable(a)
31797        },
31798        isEventResizableFromEnd: function (a) {
31799            return this.isEventResizable(a)
31800        },
31801        isEventResizable: function (a) {
31802            var b = a.source || {};
31803            return X(a.durationEditable, b.durationEditable, this.opt("eventDurationEditable"), a.editable, b.editable, this.opt("editable"))
31804        },
31805        reportEventResize: function (a, b, c, d, e) {
31806            var f = this.calendar, g = f.mutateEvent(a, b, c), h = function () {
31807                g.undo(), f.reportEventChange()
31808            };
31809            this.triggerEventResize(a, g.durationDelta, h, d, e), f.reportEventChange()
31810        },
31811        triggerEventResize: function (a, b, c, d, e) {
31812            this.trigger("eventResize", d[0], a, b, c, e, {})
31813        },
31814        select: function (a, b) {
31815            this.unselect(b), this.renderSelection(a), this.reportSelection(a, b)
31816        },
31817        renderSelection: function (a) {
31818        },
31819        reportSelection: function (a, b) {
31820            this.isSelected = !0, this.triggerSelect(a, b)
31821        },
31822        triggerSelect: function (a, b) {
31823            this.trigger("select", null, this.calendar.applyTimezone(a.start), this.calendar.applyTimezone(a.end), b)
31824        },
31825        unselect: function (a) {
31826            this.isSelected && (this.isSelected = !1, this.destroySelection && this.destroySelection(), this.unrenderSelection(), this.trigger("unselect", null, a))
31827        },
31828        unrenderSelection: function () {
31829        },
31830        documentMousedown: function (b) {
31831            var c;
31832            this.isSelected && this.opt("unselectAuto") && v(b) && (c = this.opt("unselectCancel"), c && a(b.target).closest(c).length || this.unselect(b))
31833        },
31834        triggerDayClick: function (a, b, c) {
31835            this.trigger("dayClick", b, this.calendar.applyTimezone(a.start), c)
31836        },
31837        initHiddenDays: function () {
31838            var b, c = this.opt("hiddenDays") || [], d = [], e = 0;
31839            for (this.opt("weekends") === !1 && c.push(0, 6), b = 0; 7 > b; b++) (d[b] = -1 !== a.inArray(b, c)) || e++;
31840            if (!e) throw"invalid hiddenDays";
31841            this.isHiddenDayHash = d
31842        },
31843        isHiddenDay: function (a) {
31844            return b.isMoment(a) && (a = a.day()), this.isHiddenDayHash[a]
31845        },
31846        skipHiddenDays: function (a, b, c) {
31847            var d = a.clone();
31848            for (b = b || 1; this.isHiddenDayHash[(d.day() + (c ? b : 0) + 7) % 7];) d.add(b, "days");
31849            return d
31850        },
31851        computeDayRange: function (a) {
31852            var b, c = a.start.clone().stripTime(), d = a.end, e = null;
31853            return d && (e = d.clone().stripTime(), b = +d.time(), b && b >= this.nextDayThreshold && e.add(1, "days")), (!d || c >= e) && (e = c.clone().add(1, "days")), {
31854                start: c,
31855                end: e
31856            }
31857        },
31858        isMultiDayEvent: function (a) {
31859            var b = this.computeDayRange(a);
31860            return b.end.diff(b.start, "days") > 1
31861        }
31862    }), pb = Pa.Calendar = ra.extend({
31863        dirDefaults: null,
31864        langDefaults: null,
31865        overrides: null,
31866        options: null,
31867        viewSpecCache: null,
31868        view: null,
31869        header: null,
31870        loadingLevel: 0,
31871        constructor: Ja,
31872        initialize: function () {
31873        },
31874        initOptions: function (a) {
31875            var b, e, f, g;
31876            a = d(a), b = a.lang, e = qb[b], e || (b = pb.defaults.lang, e = qb[b] || {}), f = X(a.isRTL, e.isRTL, pb.defaults.isRTL), g = f ? pb.rtlDefaults : {}, this.dirDefaults = g, this.langDefaults = e, this.overrides = a, this.options = c([pb.defaults, g, e, a]), Ka(this.options), this.viewSpecCache = {}
31877        },
31878        getViewSpec: function (a) {
31879            var b = this.viewSpecCache;
31880            return b[a] || (b[a] = this.buildViewSpec(a))
31881        },
31882        getUnitViewSpec: function (b) {
31883            var c, d, e;
31884            if (-1 != a.inArray(b, Ua)) for (c = this.header.getViewsWithButtons(), a.each(Pa.views, function (a) {
31885                c.push(a)
31886            }), d = 0; d < c.length; d++) if (e = this.getViewSpec(c[d]), e && e.singleUnit == b) return e
31887        },
31888        buildViewSpec: function (a) {
31889            for (var d, e, f, g, h = this.overrides.views || {}, i = [], j = [], k = [], l = a; l;) d = Qa[l], e = h[l], l = null, "function" == typeof d && (d = {"class": d}), d && (i.unshift(d), j.unshift(d.defaults || {}), f = f || d.duration, l = l || d.type), e && (k.unshift(e), f = f || e.duration, l = l || e.type);
31890            return d = Q(i), d.type = a, d["class"] ? (f && (f = b.duration(f), f.valueOf() && (d.duration = f, g = I(f), 1 === f.as(g) && (d.singleUnit = g, k.unshift(h[g] || {})))), d.defaults = c(j), d.overrides = c(k), this.buildViewSpecOptions(d), this.buildViewSpecButtonText(d, a), d) : !1
31891        },
31892        buildViewSpecOptions: function (a) {
31893            a.options = c([pb.defaults, a.defaults, this.dirDefaults, this.langDefaults, this.overrides, a.overrides]), Ka(a.options)
31894        },
31895        buildViewSpecButtonText: function (a, b) {
31896            function c(c) {
31897                var d = c.buttonText || {};
31898                return d[b] || (a.singleUnit ? d[a.singleUnit] : null)
31899            }
31900
31901            a.buttonTextOverride = c(this.overrides) || a.overrides.buttonText, a.buttonTextDefault = c(this.langDefaults) || c(this.dirDefaults) || a.defaults.buttonText || c(pb.defaults) || (a.duration ? this.humanizeDuration(a.duration) : null) || b
31902        },
31903        instantiateView: function (a) {
31904            var b = this.getViewSpec(a);
31905            return new b["class"](this, a, b.options, b.duration)
31906        },
31907        isValidViewType: function (a) {
31908            return Boolean(this.getViewSpec(a))
31909        },
31910        pushLoading: function () {
31911            this.loadingLevel++ || this.trigger("loading", null, !0, this.view)
31912        },
31913        popLoading: function () {
31914            --this.loadingLevel || this.trigger("loading", null, !1, this.view)
31915        },
31916        buildSelectSpan: function (a, b) {
31917            var c, d = this.moment(a).stripZone();
31918            return c = b ? this.moment(b).stripZone() : d.hasTime() ? d.clone().add(this.defaultTimedEventDuration) : d.
31918clone().add(this.defaultAllDayEventDuration), {
31919                start: d,
31920                end: c
31921            }
31922        }
31923    });
31924    pb.mixin(eb), pb.defaults = {
31925        titleRangeSeparator: " — ",
31926        monthYearFormat: "MMMM YYYY",
31927        defaultTimedEventDuration: "02:00:00",
31928        defaultAllDayEventDuration: {days: 1},
31929        forceEventDuration: !1,
31930        nextDayThreshold: "09:00:00",
31931        defaultView: "month",
31932        aspectRatio: 1.35,
31933        header: {left: "title", center: "", right: "today prev,next"},
31934        weekends: !0,
31935        weekNumbers: !1,
31936        weekNumberTitle: "W",
31937        weekNumberCalculation: "local",
31938        scrollTime: "06:00:00",
31939        lazyFetching: !0,
31940        startParam: "start",
31941        endParam: "end",
31942        timezoneParam: "timezone",
31943        timezone: !1,
31944        isRTL: !1,
31945        buttonText: {
31946            prev: "prev",
31947            next: "next",
31948            prevYear: "prev year",
31949            nextYear: "next year",
31950            year: "year",
31951            today: "today",
31952            month: "month",
31953            week: "week",
31954            day: "day"
31955        },
31956        buttonIcons: {
31957            prev: "left-single-arrow",
31958            next: "right-single-arrow",
31959            prevYear: "left-double-arrow",
31960            nextYear: "right-double-arrow"
31961        },
31962        theme: !1,
31963        themeButtonIcons: {
31964            prev: "circle-triangle-w",
31965            next: "circle-triangle-e",
31966            prevYear: "seek-prev",
31967            nextYear: "seek-next"
31968        },
31969        dragOpacity: .75,
31970        dragRevertDuration: 500,
31971        dragScroll: !0,
31972        unselectAuto: !0,
31973        dropAccept: "*",
31974        eventOrder: "title",
31975        eventLimit: !1,
31976        eventLimitText: "more",
31977        eventLimitClick: "popover",
31978        dayPopoverFormat: "LL",
31979        handleWindowResize: !0,
31980        windowResizeDelay: 200
31981    }, pb.englishDefaults = {dayPopoverFormat: "dddd, MMMM D"}, pb.rtlDefaults = {
31982        header: {
31983            left: "next,prev today",
31984            center: "",
31985            right: "title"
31986        },
31987        buttonIcons: {
31988            prev: "right-single-arrow",
31989            next: "left-single-arrow",
31990            prevYear: "right-double-arrow",
31991            nextYear: "left-double-arrow"
31992        },
31993        themeButtonIcons: {
31994            prev: "circle-triangle-e",
31995            next: "circle-triangle-w",
31996            nextYear: "seek-prev",
31997            prevYear: "seek-next"
31998        }
31999    };
32000    var qb = Pa.langs = {};
32001    Pa.datepickerLang = function (b, c, d) {
32002        var e = qb[b] || (qb[b] = {});
32003        e.isRTL = d.isRTL, e.weekNumberTitle = d.weekHeader, a.each(rb, function (a, b) {
32004            e[a] = b(d)
32005        }), a.datepicker && (a.datepicker.regional[c] = a.datepicker.regional[b] = d, a.datepicker.regional.en = a.datepicker.regional[""], a.datepicker.setDefaults(d))
32006    }, Pa.lang = function (b, d) {
32007        var e, f;
32008        e = qb[b] || (qb[b] = {}), d && (e = qb[b] = c([e, d])), f = La(b), a.each(sb, function (a, b) {
32009            null == e[a] && (e[a] = b(f, e))
32010        }), pb.defaults.lang = b
32011    };
32012    var rb = {
32013        buttonText: function (a) {
32014            return {prev: Z(a.prevText), next: Z(a.nextText), today: Z(a.currentText)}
32015        }, monthYearFormat: function (a) {
32016            return a.showMonthAfterYear ? "YYYY[" + a.yearSuffix + "] MMMM" : "MMMM YYYY[" + a.yearSuffix + "]"
32017        }
32018    }, sb = {
32019        dayOfMonthFormat: function (a, b) {
32020            var c = a.longDateFormat("l");
32021            return c = c.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g, ""), b.isRTL ? c += " ddd" : c = "ddd " + c, c
32022        }, mediumTimeFormat: function (a) {
32023            return a.longDateFormat("LT").replace(/\s*a$/i, "a")
32024        }, smallTimeFormat: function (a) {
32025            return a.longDateFormat("LT").replace(":mm", "(:mm)").replace(/(\Wmm)$/, "($1)").replace(/\s*a$/i, "a")
32026        }, extraSmallTimeFormat: function (a) {
32027            return a.longDateFormat("LT").replace(":mm", "(:mm)").replace(/(\Wmm)$/, "($1)").replace(/\s*a$/i, "t")
32028        }, hourFormat: function (a) {
32029            return a.longDateFormat("LT").replace(":mm", "").replace(/(\Wmm)$/, "").replace(/\s*a$/i, "a")
32030        }, noMeridiemTimeFormat: function (a) {
32031            return a.longDateFormat("LT").replace(/\s*a$/i, "")
32032        }
32033    }, tb = {
32034        smallDayDateFormat: function (a) {
32035            return a.isRTL ? "D dd" : "dd D"
32036        }, weekFormat: function (a) {
32037            return a.isRTL ? "w[ " + a.weekNumberTitle + "]" : "[" + a.weekNumberTitle + " ]w"
32038        }, smallWeekFormat: function (a) {
32039            return a.isRTL ? "w[" + a.weekNumberTitle + "]" : "[" + a.weekNumberTitle + "]w"
32040        }
32041    };
32042    Pa.lang("en", pb.englishDefaults), Pa.sourceNormalizers = [], Pa.sourceFetchers = [];
32043    var ub = {dataType: "json", cache: !1}, vb = 1;
32044    pb.prototype.getPeerEvents = function (a, b) {
32045        var c, d, e = this.getEventCache(), f = [];
32046        for (c = 0; c < e.length; c++) d = e[c], b && b._id === d._id || f.push(d);
32047        return f
32048    };
32049    var wb = Pa.BasicView = ob.extend({
32050        dayGridClass: mb,
32051        dayGrid: null,
32052        dayNumbersVisible: !1,
32053        weekNumbersVisible: !1,
32054        weekNumberWidth: null,
32055        headContainerEl: null,
32056        headRowEl: null,
32057        initialize: function () {
32058            this.dayGrid = this.instantiateDayGrid()
32059        },
32060        instantiateDayGrid: function () {
32061            var a = this.dayGridClass.extend(xb);
32062            return new a(this)
32063        },
32064        setRange: function (a) {
32065            ob.prototype.setRange.call(this, a), this.dayGrid.breakOnWeeks = /year|month|week/.test(this.intervalUnit), this.dayGrid.setRange(a)
32066        },
32067        computeRange: function (a) {
32068            var b = ob.prototype.computeRange.call(this, a);
32069            return /year|month/.test(b.intervalUnit) && (b.start.startOf("week"), b.start = this.skipHiddenDays(b.start), b.end.weekday() && (b.end.add(1, "week").startOf("week"), b.end = this.skipHiddenDays(b.end, -1, !0))), b
32070        },
32071        renderDates: function () {
32072            this.dayNumbersVisible = this.dayGrid.rowCnt > 1, this.weekNumbersVisible = this.opt("weekNumbers"), this.dayGrid.numbersVisible = this.dayNumbersVisible || this.weekNumbersVisible, this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()), this.renderHead(), this.scrollerEl = this.el.find(".fc-day-grid-container"), this.dayGrid.setElement(this.el.find(".fc-day-grid")), this.dayGrid.renderDates(this.hasRigidRows())
32073        },
32074        renderHead: function () {
32075            this.headContainerEl = this.el.find(".fc-head-container").html(this.dayGrid.renderHeadHtml()), this.headRowEl = this.headContainerEl.find(".fc-row")
32076        },
32077        unrenderDates: function () {
32078            this.dayGrid.unrenderDates(), this.dayGrid.removeElement()
32079        },
32080        renderBusinessHours: function () {
32081            this.dayGrid.renderBusinessHours()
32082        },
32083        renderSkeletonHtml: function () {
32084            return '<table><thead class="fc-head"><tr><td class="fc-head-container ' + this.widgetHeaderClass + '"></td></tr></thead><tbody class="fc-body"><tr><td class="' + this.widgetContentClass + '"><div class="fc-day-grid-container"><div class="fc-day-grid"/></div></td></tr></tbody></table>'
32085        },
32086        weekNumberStyleAttr: function () {
32087            return null !== this.weekNumberWidth ? 'style="width:' + this.weekNumberWidth + 'px"' : ""
32088        },
32089        hasRigidRows: function () {
32090            var a = this.opt("eventLimit");
32091            return a && "number" != typeof a
32092        },
32093        updateWidth: function () {
32094            this.weekNumbersVisible && (this.weekNumberWidth = k(this.el.find(".fc-week-number")))
32095        },
32096        setHeight: function (a, b) {
32097            var c, d = this.opt("eventLimit");
32098            m(this.scrollerEl), f(this.headRowEl), this.dayGrid.removeSegPopover(), d && "number" == typeof d && this.dayGrid.limitRows(d), c = this.computeScrollerHeight(a), this.setGridHeight(c, b), d && "number" != typeof d && this.dayGrid.limitRows(d), !b && l(this.scrollerEl, c) && (e(this.headRowEl, r(this.scrollerEl)), c = this.computeScrollerHeight(a), this.scrollerEl.height(c))
32099        },
32100        setGridHeight: function (a, b) {
32101            b ? j(this.dayGrid.rowEls) : i(this.dayGrid.rowEls, a, !0)
32102        },
32103        prepareHits: function () {
32104            this.dayGrid.prepareHits()
32105        },
32106        releaseHits: function () {
32107            this.dayGrid.releaseHits()
32108        },
32109        queryHit: function (a, b) {
32110            return this.dayGrid.queryHit(a, b)
32111        },
32112        getHitSpan: function (a) {
32113            return this.dayGrid.getHitSpan(a)
32114        },
32115        getHitEl: function (a) {
32116            return this.dayGrid.getHitEl(a)
32117        },
32118        renderEvents: function (a) {
32119            this.dayGrid.renderEvents(a), this.updateHeight()
32120        },
32121        getEventSegs: function () {
32122            return this.dayGrid.getEventSegs()
32123        },
32124        unrenderEvents: function () {
32125            this.dayGrid.unrenderEvents()
32126        },
32127        renderDrag: function (a, b) {
32128            return this.dayGrid.renderDrag(a, b)
32129        },
32130        unrenderDrag: function () {
32131            this.dayGrid.unrenderDrag()
32132        },
32133        renderSelection: function (a) {
32134            this.dayGrid.renderSelection(a)
32135        },
32136        unrenderSelection: function () {
32137            this.dayGrid.unrenderSelection()
32138        }
32139    }), xb = {
32140        renderHeadIntroHtml: function () {
32141            var a = this.view;
32142            return a.weekNumbersVisible ? '<th class="fc-week-number ' + a.widgetHeaderClass + '" ' + a.weekNumberStyleAttr() + "><span>" + Y(a.opt("weekNumberTitle")) + "</span></th>" : ""
32143        }, renderNumberIntroHtml: function (a) {
32144            var b = this.view;
32145            return b.weekNumbersVisible ? '<td class="fc-week-number" ' + b.weekNumberStyleAttr() + "><span>" + this.getCellDate(a, 0).format("w") + "</span></td>" : ""
32146        }, renderBgIntroHtml: function () {
32147            var a = this.view;
32148            return a.weekNumbersVisible ? '<td class="fc-week-number ' + a.widgetContentClass + '" ' + a.weekNumberStyleAttr() + "></td>" : ""
32149        }, renderIntroHtml: function () {
32150            var a = this.view;
32151            return a.weekNumbersVisible ? '<td class="fc-week-number" ' + a.weekNumberStyleAttr() + "></td>" : ""
32152        }
32153    }, yb = Pa.MonthView = wb.extend({
32154        computeRange: function (a) {
32155            var b, c = wb.prototype.computeRange.call(this, a);
32156            return this.isFixedWeeks() && (b = Math.ceil(c.end.diff(c.start, "weeks", !0)), c.end.add(6 - b, "weeks")), c
32157        }, setGridHeight: function (a, b) {
32158            b = b || "variable" === this.opt("weekMode"), b && (a *= this.rowCnt / 6), i(this.dayGrid.rowEls, a, !b)
32159        }, isFixedWeeks: function () {
32160            var a = this.opt("weekMode");
32161            return a ? "fixed" === a : this.opt("fixedWeekCount")
32162        }
32163    });
32164    Qa.basic = {"class": wb}, Qa.basicDay = {type: "basic", duration: {days: 1}}, Qa.basicWeek = {
32165        type: "basic",
32166        duration: {weeks: 1}
32167    }, Qa.month = {"class": yb, duration: {months: 1}, defaults: {fixedWeekCount: !0}};
32168    var zb = Pa.AgendaView = ob.extend({
32169        timeGridClass: nb,
32170        timeGrid: null,
32171        dayGridClass: mb,
32172        dayGrid: null,
32173        axisWidth: null,
32174        headContainerEl: null,
32175        noScrollRowEls: null,
32176        bottomRuleEl: null,
32177        bottomRuleHeight: null,
32178        initialize: function () {
32179            this.timeGrid = this.instantiateTimeGrid(), this.opt("allDaySlot") && (this.dayGrid = this.instantiateDayGrid())
32180        },
32181        instantiateTimeGrid: function () {
32182            var a = this.timeGridClass.extend(Ab);
32183            return new a(this)
32184        },
32185        instantiateDayGrid: function () {
32186            var a = this.dayGridClass.extend(Bb);
32187            return new a(this)
32188        },
32189        setRange: function (a) {
32190            ob.prototype.setRange.call(this, a), this.timeGrid.setRange(a), this.dayGrid && this.dayGrid.setRange(a)
32191        },
32192        renderDates: function () {
32193            this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()), this.renderHead(), this.scrollerEl = this.el.find(".fc-time-grid-container"), this.timeGrid.setElement(this.el.find(".fc-time-grid")), this.timeGrid.renderDates(), this.bottomRuleEl = a('<hr class="fc-divider ' + this.widgetHeaderClass + '"/>').appendTo(this.timeGrid.el), this.dayGrid && (this.dayGrid.setElement(this.el.find(".fc-day-grid")), this.dayGrid.renderDates(), this.dayGrid.bottomCoordPadding = this.dayGrid.el.next("hr").outerHeight()), this.noScrollRowEls = this.el.find(".fc-row:not(.fc-scroller *)")
32194        },
32195        renderHead: function () {
32196            this.headContainerEl = this.el.find(".fc-head-container").html(this.timeGrid.renderHeadHtml())
32197        },
32198        unrenderDates: function () {
32199            this.timeGrid.unrenderDates(), this.timeGrid.removeElement(), this.dayGrid && (this.dayGrid.unrenderDates(), this.dayGrid.removeElement())
32200        },
32201        renderBusinessHours: function () {
32202            this.timeGrid.renderBusinessHours(), this.dayGrid && this.dayGrid.renderBusinessHours()
32203        },
32204        renderSkeletonHtml: function () {
32205            return '<table><thead class="fc-head"><tr><td class="fc-head-container ' + this.widgetHeaderClass + '"></td></tr></thead><tbody class="fc-body"><tr><td class="' + this.widgetContentClass + '">' + (this.dayGrid ? '<div class="fc-day-grid"/><hr class="fc-divider ' + this.widgetHeaderClass + '"/>' : "") + '<div class="fc-time-grid-container"><div class="fc-time-grid"/></div></td></tr></tbody></table>'
32206        },
32207        axisStyleAttr: function () {
32208            return null !== this.axisWidth ? 'style="width:' + this.axisWidth + 'px"' : ""
32209        },
32210        updateSize: function (a) {
32211            this.timeGrid.updateSize(a), ob.prototype.updateSize.call(this, a)
32212        },
32213        updateWidth: function () {
32214            this.axisWidth = k(this.el.find(".fc-axis"))
32215        },
32216        setHeight: function (a, b) {
32217            var c, d;
32218            null === this.bottomRuleHeight && (this.bottomRuleHeight = this.bottomRuleEl.outerHeight()), this.bottomRuleEl.hide(), this.scrollerEl.css("overflow", ""), m(this.scrollerEl), f(this.noScrollRowEls), this.dayGrid && (this.dayGrid.removeSegPopover(), c = this.opt("eventLimit"), c && "number" != typeof c && (c = Cb), c && this.dayGrid.limitRows(c)), b || (d = this.computeScrollerHeight(a), l(this.scrollerEl, d) ? (e(this.noScrollRowEls, r(this.scrollerEl)), d = this.computeScrollerHeight(a), this.scrollerEl.height(d)) : (this.scrollerEl.height(d).css("overflow", "hidden"), this.bottomRuleEl.show()))
32219        },
32220        computeInitialScroll: function () {
32221            var a = b.duration(this.opt("scrollTime")), c = this.timeGrid.computeTimeTop(a);
32222            return c = Math.ceil(c), c && c++, c
32223        },
32224        prepareHits: function () {
32225            this.timeGrid.prepareHits(), this.dayGrid && this.dayGrid.prepareHits()
32226        },
32227        releaseHits: function () {
32228            this.timeGrid.releaseHits(), this.dayGrid && this.dayGrid.releaseHits()
32229        },
32230        queryHit: function (a, b) {
32231            var c = this.timeGrid.queryHit(a, b);
32232            return !c && this.dayGrid && (c = this.dayGrid.queryHit(a, b)), c
32233        },
32234        getHitSpan: function (a) {
32235            return a.component.getHitSpan(a)
32236        },
32237        getHitEl: function (a) {
32238            return a.component.getHitEl(a)
32239        },
32240        renderEvents: function (a) {
32241            var b, c, d = [], e = [], f = [];
32242            for (c = 0; c < a.length; c++) a[c].allDay ? d.push(a[c]) : e.push(a[c]);
32243            b = this.timeGrid.renderEvents(e), this.dayGrid && (f = this.dayGrid.renderEvents(d)), this.updateHeight()
32244        },
32245        getEventSegs: function () {
32246            return this.timeGrid.getEventSegs().concat(this.dayGrid ? this.dayGrid.getEventSegs() : [])
32247        },
32248        unrenderEvents: function () {
32249            this.timeGrid.unrenderEvents(), this.dayGrid && this.dayGrid.unrenderEvents()
32250        },
32251        renderDrag: function (a, b) {
32252            return a.start.hasTime() ? this.timeGrid.renderDrag(a, b) : this.dayGrid ? this.dayGrid.renderDrag(a, b) : void 0
32253        },
32254        unrenderDrag: function () {
32255            this.timeGrid.unrenderDrag(), this.dayGrid && this.dayGrid.unrenderDrag()
32256        },
32257        renderSelection: function (a) {
32258            a.start.hasTime() || a.end.hasTime() ? this.timeGrid.renderSelection(a) : this.dayGrid && this.dayGrid.renderSelection(a)
32259        },
32260        unrenderSelection: function () {
32261            this.timeGrid.unrenderSelection(), this.dayGrid && this.dayGrid.unrenderSelection()
32262        }
32263    }), Ab = {
32264        renderHeadIntroHtml: function () {
32265            var a, b = this.view;
32266            return b.opt("weekNumbers") ? (a = this.start.format(b.opt("smallWeekFormat")), '<th class="fc-axis fc-week-number ' + b.widgetHeaderClass + '" ' + b.axisStyleAttr() + "><span>" + Y(a) + "</span></th>") : '<th class="fc-axis ' + b.widgetHeaderClass + '" ' + b.axisStyleAttr() + "></th>"
32267        }, renderBgIntroHtml: function () {
32268            var a = this.view;
32269            return '<td class="fc-axis ' + a.widgetContentClass + '" ' + a.axisStyleAttr() + "></td>"
32270        }, renderIntroHtml: function () {
32271            var a = this.view;
32272            return '<td class="fc-axis" ' + a.axisStyleAttr() + "></td>"
32273        }
32274    }, Bb = {
32275        renderBgIntroHtml: function () {
32276            var a = this.view;
32277            return '<td class="fc-axis ' + a.widgetContentClass + '" ' + a.axisStyleAttr() + "><span>" + (a.opt("allDayHtml") || Y(a.opt("allDayText"))) + "</span></td>"
32278        }, renderIntroHtml: function () {
32279            var a = this.view;
32280            return '<td class="fc-axis" ' + a.axisStyleAttr() + "></td>"
32281        }
32282    }, Cb = 5, Db = [{hours: 1}, {minutes: 30}, {minutes: 15}, {seconds: 30}, {seconds: 15}];
32283    return Qa.agenda = {
32284        "class": zb,
32285        defaults: {
32286            allDaySlot: !0,
32287            allDayText: "all-day",
32288            slotDuration: "00:30:00",
32289            minTime: "00:00:00",
32290            maxTime: "24:00:00",
32291            slotEventOverlap: !0
32292        }
32293    }, Qa.agendaDay = {type: "agenda", duration: {days: 1}}, Qa.agendaWeek = {type: "agenda", duration: {weeks: 1}}, Pa
32294}), !function (a, b, c, d) {
32295    function e(b, c) {
32296        this.settings = null, this.options = a.extend({}, e.Defaults, c), this.$element = a(b), this._handlers = {}, this._plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = [], this._breakpoint = null, this._width = null, this._items = [], this._clones = [], this._mergers = [], this._widths = [], this._invalidated = {}, this._pipe = [], this._drag = {
32297            time: null,
32298            target: null,
32299            pointer: null,
32300            stage: {start: null, current: null},
32301            direction: null
32302        }, this._states = {
32303            current: {},
32304            tags: {initializing: ["busy"], animating: ["busy"], dragging: ["interacting"]}
32305        }, a.each(["onResize", "onThrottledResize"], a.proxy(function (b, c) {
32306            this._handlers[c] = a.proxy(this[c], this)
32307        }, this)), a.each(e.Plugins, a.proxy(function (a, b) {
32308            this._plugins[a.charAt(0).toLowerCase() + a.slice(1)] = new b(this)
32309        }, this)), a.each(e.Workers, a.proxy(function (b, c) {
32310            this._pipe.push({filter: c.filter, run: a.proxy(c.run, this)})
32311        }, this)), this.setup(), this.initialize()
32312    }
32313
32314    e.Defaults = {
32315        items: 3,
32316        loop: !1,
32317        center: !1,
32318        rewind: !1,
32319        mouseDrag: !0,
32320        touchDrag: !0,
32321        pullDrag: !0,
32322        freeDrag: !1,
32323        margin: 0,
32324        stagePadding: 0,
32325        merge: !1,
32326        mergeFit: !0,
32327        autoWidth: !1,
32328        startPosition: 0,
32329        rtl: !1,
32330        smartSpeed: 250,
32331        fluidSpeed: !1,
32332        dragEndSpeed: !1,
32333        responsive: {},
32334        responsiveRefreshRate: 200,
32335        responsiveBaseElement: b,
32336        fallbackEasing: "swing",
32337        info: !1,
32338        nestedItemSelector: !1,
32339        itemElement: "div",
32340        stageElement: "div",
32341        refreshClass: "owl-refresh",
32342        loadedClass: "owl-loaded",
32343        loadingClass: "owl-loading",
32344        rtlClass: "owl-rtl",
32345        responsiveClass: "owl-responsive",
32346        dragClass: "owl-drag",
32347        itemClass: "owl-item",
32348        stageClass: "owl-stage",
32349        stageOuterClass: "owl-stage-outer",
32350        grabClass: "owl-grab"
32351    }, e.Width = {Default: "default", Inner: "inner", Outer: "outer"}, e.Type = {
32352        Event: "event",
32353        State: "state"
32354    }, e.Plugins = {}, e.Workers = [{
32355        filter: ["width", "settings"], run: function () {
32356            this._width = this.$element.width()
32357        }
32358    }, {
vendor: 9,056 bytes, lines 32359-32476
32359        filter: ["width", "items", "settings"], run: function (a) {
32360            a.current = this._items && this._items[this.relative(this._current)]
32361        }
32362    }, {
32363        filter: ["items", "settings"], run: function () {
32364            this.$stage.children(".cloned").remove()
32365        }
32366    }, {
32367        filter: ["width", "items", "settings"], run: function (a) {
32368            var b = this.settings.margin || "", c = !this.settings.autoWidth, d = this.settings.rtl,
32369                e = {width: "auto", "margin-left": d ? b : "", "margin-right": d ? "" : b};
32370            !c && this.$stage.children().css(e), a.css = e
32371        }
32372    }, {
32373        filter: ["width", "items", "settings"], run: function (a) {
32374            var b = (this.width() / this.settings.items).toFixed(3) - this.settings.margin, c = null,
32375                d = this._items.length, e = !this.settings.autoWidth, f = [];
32376            for (a.items = {
32377                merge: !1,
32378                width: b
32379            }; d--;) c = this._mergers[d], c = this.settings.mergeFit && Math.min(c, this.settings.items) || c, a.items.merge = c > 1 || a.items.merge, f[d] = e ? b * c : this._items[d].width();
32380            this._widths = f
32381        }
32382    }, {
32383        filter: ["items", "settings"], run: function () {
32384            var b = [], c = this._items, d = this.settings, e = Math.max(2 * d.items, 4),
32385                f = 2 * Math.ceil(c.length / 2), g = d.loop && c.length ? d.rewind ? e : Math.max(e, f) : 0, h = "",
32386                i = "";
32387            for (g /= 2; g--;) b.push(this.normalize(b.length / 2, !0)), h += c[b[b.length - 1]][0].outerHTML, b.push(this.normalize(c.length - 1 - (b.length - 1) / 2, !0)), i = c[b[b.length - 1]][0].outerHTML + i;
32388            this._clones = b, a(h).addClass("cloned").appendTo(this.$stage), a(i).addClass("cloned").prependTo(this.$stage)
32389        }
32390    }, {
32391        filter: ["width", "items", "settings"], run: function () {
32392            for (var a = this.settings.rtl ? 1 : -1, b = this._clones.length + this._items.length, c = -1, d = 0, e = 0, f = []; ++c < b;) d = f[c - 1] || 0, e = this._widths[this.relative(c)] + this.settings.margin, f.push(d + e * a);
32393            this._coordinates = f
32394        }
32395    }, {
32396        filter: ["width", "items", "settings"], run: function () {
32397            var a = this.settings.stagePadding, b = this._coordinates, c = {
32398                width: Math.ceil(Math.abs(b[b.length - 1])) + 2 * a,
32399                "padding-left": a || "",
32400                "padding-right": a || ""
32401            };
32402            this.$stage.css(c)
32403        }
32404    }, {
32405        filter: ["width", "items", "settings"], run: function (a) {
32406            var b = this._coordinates.length, c = !this.settings.autoWidth, d = this.$stage.children();
32407            if (c && a.items.merge) for (; b--;) a.css.width = this._widths[this.relative(b)], d.eq(b).css(a.css); else c && (a.css.width = a.items.width, d.css(a.css))
32408        }
32409    }, {
32410        filter: ["items"], run: function () {
32411            this._coordinates.length < 1 && this.$stage.removeAttr("style")
32412        }
32413    }, {
32414        filter: ["width", "items", "settings"], run: function (a) {
32415            a.current = a.current ? this.$stage.children().index(a.current) : 0, a.current = Math.max(this.minimum(), Math.min(this.maximum(), a.current)), this.reset(a.current)
32416        }
32417    }, {
32418        filter: ["position"], run: function () {
32419            this.animate(this.coordinates(this._current))
32420        }
32421    }, {
32422        filter: ["width", "position", "items", "settings"], run: function () {
32423            var a, b, c, d, e = this.settings.rtl ? 1 : -1, f = 2 * this.settings.stagePadding,
32424                g = this.coordinates(this.current()) + f, h = g + this.width() * e, i = [];
32425            for (c = 0, d = this._coordinates.length; d > c; c++) a = this._coordinates[c - 1] || 0, b = Math.abs(this._coordinates[c]) + f * e, (this.op(a, "<=", g) && this.op(a, ">", h) || this.op(b, "<", g) && this.op(b, ">", h)) && i.push(c);
32426            this.$stage.children(".active").removeClass("active"), this.$stage.children(":eq(" + i.join("), :eq(") + ")").addClass("active"), this.settings.center && (this.$stage.children(".center").removeClass("center"), this.$stage.children().eq(this.current()).addClass("center"))
32427        }
32428    }], e.prototype.initialize = function () {
32429        if (this.enter("initializing"), this.trigger("initialize"), this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl), this.settings.autoWidth && !this.is("pre-loading")) {
32430            var b, c, e;
32431            b = this.$element.find("img"), c = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : d, e = this.$element.children(c).width(), b.length && 0 >= e && this.preloadAutoWidthImages(b)
32432        }
32433        this.$element.addClass(this.options.loadingClass), this.$stage = a("<" + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>').wrap('<div class="' + this.settings.stageOuterClass + '"/>'), this.$element.append(this.$stage.parent()), this.replace(this.$element.children().not(this.$stage.parent())), this.$element.is(":visible") ? this.refresh() : this.invalidate("width"), this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass), this.registerEventHandlers(), this.leave("initializing"), this.trigger("initialized")
32434    }, e.prototype.setup = function () {
32435        var b = this.viewport(), c = this.options.responsive, d = -1, e = null;
32436        c ? (a.each(c, function (a) {
32437            b >= a && a > d && (d = Number(a))
32438        }), e = a.extend({}, this.options, c[d]), delete e.responsive, e.responsiveClass && this.$element.attr("class", this.$element.attr("class").replace(new RegExp("(" + this.options.responsiveClass + "-)\\S+\\s", "g"), "$1" + d))) : e = a.extend({}, this.options), (null === this.settings || this._breakpoint !== d) && (this.trigger("change", {
32439            property: {
32440                name: "settings",
32441                value: e
32442            }
32443        }), this._breakpoint = d, this.settings = e, this.invalidate("settings"),
32444            this.trigger("changed", {property: {name: "settings", value: this.settings}}))
32445    }, e.prototype.optionsLogic = function () {
32446        this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1)
32447    }, e.prototype.prepare = function (b) {
32448        var c = this.trigger("prepare", {content: b});
32449        return c.data || (c.data = a("<" + this.settings.itemElement + "/>").addClass(this.options.itemClass).append(b)), this.trigger("prepared", {content: c.data}), c.data
32450    }, e.prototype.update = function () {
32451        for (var b = 0, c = this._pipe.length, d = a.proxy(function (a) {
32452            return this[a]
32453        }, this._invalidated), e = {}; c > b;) (this._invalidated.all || a.grep(this._pipe[b].filter, d).length > 0) && this._pipe[b].run(e), b++;
32454        this._invalidated = {}, !this.is("valid") && this.enter("valid")
32455    }, e.prototype.width = function (a) {
32456        switch (a = a || e.Width.Default) {
32457            case e.Width.Inner:
32458            case e.Width.Outer:
32459                return this._width;
32460            default:
32461                return this._width - 2 * this.settings.stagePadding + this.settings.margin
32462        }
32463    }, e.prototype.refresh = function () {
32464        this.enter("refreshing"), this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$element.addClass(this.options.refreshClass), this.update(), this.$element.removeClass(this.options.refreshClass), this.leave("refreshing"), this.trigger("refreshed")
32465    }, e.prototype.onThrottledResize = function () {
32466        b.clearTimeout(this.resizeTimer), this.resizeTimer = b.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate)
32467    }, e.prototype.onResize = function () {
32468        return this._items.length ? this._width === this.$element.width() ? !1 : this.$element.is(":visible") ? (this.enter("resizing"), this.trigger("resize").isDefaultPrevented() ? (this.leave("resizing"), !1) : (this.invalidate("width"), this.refresh(), this.leave("resizing"), void this.trigger("resized"))) : !1 : !1
32469    }, e.prototype.registerEventHandlers = function () {
32470        a.support.transition && this.$stage.on(a.support.transition.end + ".owl.core", a.proxy(this.onTransitionEnd, this)), this.settings.responsive !== !1 && this.on(b, "resize", this._handlers.onThrottledResize), this.settings.mouseDrag && (this.$element.addClass(this.options.dragClass), this.$stage.on("mousedown.owl.core", a.proxy(this.onDragStart, this)), this.$stage.on("dragstart.owl.core selectstart.owl.core", function () {
32471            return !1
32472        })), this.settings.touchDrag && (this.$stage.on("touchstart.owl.core", a.proxy(this.onDragStart, this)), this.$stage.on("touchcancel.owl.core", a.proxy(this.onDragEnd, this)))
32473    }, e.prototype.onDragStart = function (b) {
32474        var d = null;
32475        3 !== b.which && (a.support.transform ? (d = this.$stage.css("transform").replace(/.*\(|\)| /g, "").split(","), d = {
32476            x: d[16 === d.length ? 12 : 4],
vendor: 4,745 bytes, lines 32477-32526
32477            y: d[16 === d.length ? 13 : 5]
32478        }) : (d = this.$stage.position(), d = {
32479            x: this.settings.rtl ? d.left + this.$stage.width() - this.width() + this.settings.margin : d.left,
32480            y: d.top
32481        }), this.is("animating") && (a.support.transform ? this.animate(d.x) : this.$stage.stop(), this.invalidate("position")), this.$element.toggleClass(this.options.grabClass, "mousedown" === b.type), this.speed(0), this._drag.time = (new Date).getTime(), this._drag.target = a(b.target), this._drag.stage.start = d, this._drag.stage.current = d, this._drag.pointer = this.pointer(b), a(c).on("mouseup.owl.core touchend.owl.core", a.proxy(this.onDragEnd, this)), a(c).one("mousemove.owl.core touchmove.owl.core", a.proxy(function (b) {
32482            var d = this.difference(this._drag.pointer, this.pointer(b));
32483            a(c).on("mousemove.owl.core touchmove.owl.core", a.proxy(this.onDragMove, this)), Math.abs(d.x) < Math.abs(d.y) && this.is("valid") || (b.preventDefault(), this.enter("dragging"), this.trigger("drag"))
32484        }, this)))
32485    }, e.prototype.onDragMove = function (a) {
32486        var b = null, c = null, d = null, e = this.difference(this._drag.pointer, this.pointer(a)),
32487            f = this.difference(this._drag.stage.start, e);
32488        this.is("dragging") && (a.preventDefault(), this.settings.loop ? (b = this.coordinates(this.minimum()), c = this.coordinates(this.maximum() + 1) - b, f.x = ((f.x - b) % c + c) % c + b) : (b = this.coordinates(this.settings.rtl ? this.maximum() : this.minimum()), c = this.coordinates(this.settings.rtl ? this.minimum() : this.maximum()), d = this.settings.pullDrag ? -1 * e.x / 5 : 0, f.x = Math.max(Math.min(f.x, b + d), c + d)), this._drag.stage.current = f, this.animate(f.x))
32489    }, e.prototype.onDragEnd = function (b) {
32490        var d = this.difference(this._drag.pointer, this.pointer(b)), e = this._drag.stage.current,
32491            f = d.x > 0 ^ this.settings.rtl ? "left" : "right";
32492        a(c).off(".owl.core"), this.$element.removeClass(this.options.grabClass), (0 !== d.x && this.is("dragging") || !this.is("valid")) && (this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(this.closest(e.x, 0 !== d.x ? f : this._drag.direction)), this.invalidate("position"), this.update(), this._drag.direction = f, (Math.abs(d.x) > 3 || (new Date).getTime() - this._drag.time > 300) && this._drag.target.one("click.owl.core", function () {
32493            return !1
32494        })), this.is("dragging") && (this.leave("dragging"), this.trigger("dragged"))
32495    }, e.prototype.closest = function (b, c) {
32496        var d = -1, e = 30, f = this.width(), g = this.coordinates();
32497        return this.settings.freeDrag || a.each(g, a.proxy(function (a, h) {
32498            return b > h - e && h + e > b ? d = a : this.op(b, "<", h) && this.op(b, ">", g[a + 1] || h - f) && (d = "left" === c ? a + 1 : a), -1 === d
32499        }, this)), this.settings.loop || (this.op(b, ">", g[this.minimum()]) ? d = b = this.minimum() : this.op(b, "<", g[this.maximum()]) && (d = b = this.maximum())), d
32500    }, e.prototype.animate = function (b) {
32501        var c = this.speed() > 0;
32502        this.is("animating") && this.onTransitionEnd(), c && (this.enter("animating"), this.trigger("translate")), a.support.transform3d && a.support.transition ? this.$stage.css({
32503            transform: "translate3d(" + b + "px,0px,0px)",
32504            transition: this.speed() / 1e3 + "s"
32505        }) : c ? this.$stage.animate({left: b + "px"}, this.speed(), this.settings.fallbackEasing, a.proxy(this.onTransitionEnd, this)) : this.$stage.css({left: b + "px"})
32506    }, e.prototype.is = function (a) {
32507        return this._states.current[a] && this._states.current[a] > 0
32508    }, e.prototype.current = function (a) {
32509        if (a === d) return this._current;
32510        if (0 === this._items.length) return d;
32511        if (a = this.normalize(a), this._current !== a) {
32512            var b = this.trigger("change", {property: {name: "position", value: a}});
32513            b.data !== d && (a = this.normalize(b.data)), this._current = a, this.invalidate("position"), this.trigger("changed", {
32514                property: {
32515                    name: "position",
32516                    value: this._current
32517                }
32518            })
32519        }
32520        return this._current
32521    }, e.prototype.invalidate = function (b) {
32522        return "string" === a.type(b) && (this._invalidated[b] = !0, this.is("valid") && this.leave("valid")), a.map(this._invalidated, function (a, b) {
32523            return b
32524        })
32525    }, e.prototype.reset = function (a) {
32526        a = this.normalize(a), a !== d && (this._speed = 0, this._current = a, this.suppress(["translate", "translated"]), this.animate(this.coordinates(a)
vendor: 9,494 bytes, lines 32526-32655
32526), this.release(["translate", "translated"]))
32527    }, e.prototype.normalize = function (b, c) {
32528        var e = this._items.length, f = c ? 0 : this._clones.length;
32529        return !a.isNumeric(b) || 1 > e ? b = d : (0 > b || b >= e + f) && (b = ((b - f / 2) % e + e) % e + f / 2), b
32530    }, e.prototype.relative = function (a) {
32531        return a -= this._clones.length / 2, this.normalize(a, !0)
32532    }, e.prototype.maximum = function (a) {
32533        var b, c = this.settings, d = this._coordinates.length, e = Math.abs(this._coordinates[d - 1]) - this._width,
32534            f = -1;
32535        if (c.loop) d = this._clones.length / 2 + this._items.length - 1; else if (c.autoWidth || c.merge) for (; d - f > 1;) Math.abs(this._coordinates[b = d + f >> 1]) < e ? f = b : d = b; else d = c.center ? this._items.length - 1 : this._items.length - c.items;
32536        return a && (d -= this._clones.length / 2), Math.max(d, 0)
32537    }, e.prototype.minimum = function (a) {
32538        return a ? 0 : this._clones.length / 2
32539    }, e.prototype.items = function (a) {
32540        return a === d ? this._items.slice() : (a = this.normalize(a, !0), this._items[a])
32541    }, e.prototype.mergers = function (a) {
32542        return a === d ? this._mergers.slice() : (a = this.normalize(a, !0), this._mergers[a])
32543    }, e.prototype.clones = function (b) {
32544        var c = this._clones.length / 2, e = c + this._items.length, f = function (a) {
32545            return a % 2 === 0 ? e + a / 2 : c - (a + 1) / 2
32546        };
32547        return b === d ? a.map(this._clones, function (a, b) {
32548            return f(b)
32549        }) : a.map(this._clones, function (a, c) {
32550            return a === b ? f(c) : null
32551        })
32552    }, e.prototype.speed = function (a) {
32553        return a !== d && (this._speed = a), this._speed
32554    }, e.prototype.coordinates = function (b) {
32555        var c = null;
32556        return b === d ? a.map(this._coordinates, a.proxy(function (a, b) {
32557            return this.coordinates(b)
32558        }, this)) : (this.settings.center ? (c = this._coordinates[b], c += (this.width() - c + (this._coordinates[b - 1] || 0)) / 2 * (this.settings.rtl ? -1 : 1)) : c = this._coordinates[b - 1] || 0, c)
32559    }, e.prototype.duration = function (a, b, c) {
32560        return Math.min(Math.max(Math.abs(b - a), 1), 6) * Math.abs(c || this.settings.smartSpeed)
32561    }, e.prototype.to = function (a, b) {
32562        var c = this.current(), d = null, e = a - this.relative(c), f = (e > 0) - (0 > e), g = this._items.length,
32563            h = this.minimum(), i = this.maximum();
32564        this.settings.loop ? (!this.settings.rewind && Math.abs(e) > g / 2 && (e += -1 * f * g), a = c + e, d = ((a - h) % g + g) % g + h, d !== a && i >= d - e && d - e > 0 && (c = d - e, a = d, this.reset(c))) : this.settings.rewind ? (i += 1, a = (a % i + i) % i) : a = Math.max(h, Math.min(i, a)), this.speed(this.duration(c, a, b)), this.current(a), this.$element.is(":visible") && this.update()
32565    }, e.prototype.next = function (a) {
32566        a = a || !1, this.to(this.relative(this.current()) + 1, a)
32567    }, e.prototype.prev = function (a) {
32568        a = a || !1, this.to(this.relative(this.current()) - 1, a)
32569    }, e.prototype.onTransitionEnd = function (a) {
32570        return a !== d && (a.stopPropagation(), (a.target || a.srcElement || a.originalTarget) !== this.$stage.get(0)) ? !1 : (this.leave("animating"), void this.trigger("translated"))
32571    }, e.prototype.viewport = function () {
32572        var d;
32573        if (this.options.responsiveBaseElement !== b) d = a(this.options.responsiveBaseElement).width(); else if (b.innerWidth) d = b.innerWidth; else {
32574            if (!c.documentElement || !c.documentElement.clientWidth) throw"Can not detect viewport width.";
32575            d = c.documentElement.clientWidth
32576        }
32577        return d
32578    }, e.prototype.replace = function (b) {
32579        this.$stage.empty(), this._items = [], b && (b = b instanceof jQuery ? b : a(b)), this.settings.nestedItemSelector && (b = b.find("." + this.settings.nestedItemSelector)), b.filter(function () {
32580            return 1 === this.nodeType
32581        }).each(a.proxy(function (a, b) {
32582            b = this.prepare(b), this.$stage.append(b), this._items.push(b), this._mergers.push(1 * b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)
32583        }, this)), this.reset(a.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0), this.invalidate("items")
32584    }, e.prototype.add = function (b, c) {
32585        var e = this.relative(this._current);
32586        c = c === d ? this._items.length : this.normalize(c, !0), b = b instanceof jQuery ? b : a(b), this.trigger("add", {
32587            content: b,
32588            position: c
32589        }), b = this.prepare(b), 0 === this._items.length || c === this._items.length ? (0 === this._items.length && this.$stage.append(b), 0 !== this._items.length && this._items[c - 1].after(b), this._items.push(b), this._mergers.push(1 * b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)) : (this._items[c].before(b), this._items.splice(c, 0, b), this._mergers.splice(c, 0, 1 * b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)), this._items[e] && this.reset(this._items[e].index()), this.invalidate("items"), this.trigger("added", {
32590            content: b,
32591            position: c
32592        })
32593    }, e.prototype.remove = function (a) {
32594        a = this.normalize(a, !0), a !== d && (this.trigger("remove", {
32595            content: this._items[a],
32596            position: a
32597        }), this._items[a].remove(), this._items.splice(a, 1), this._mergers.splice(a, 1), this.invalidate("items"), this.trigger("removed", {
32598            content: null,
32599            position: a
32600        }))
32601    }, e.prototype.preloadAutoWidthImages = function (b) {
32602        b.each(a.proxy(function (b, c) {
32603            this.enter("pre-loading"), c = a(c), a(new Image).one("load", a.proxy(function (a) {
32604                c.attr("src", a.target.src), c.css("opacity", 1), this.leave("pre-loading"), !this.is("pre-loading") && !this.is("initializing") && this.refresh()
32605            }, this)).attr("src", c.attr("src") || c.attr("data-src") || c.attr("data-src-retina"))
32606        }, this))
32607    }, e.prototype.destroy = function () {
32608        this.$element.off(".owl.core"), this.$stage.off(".owl.core"), a(c).off(".owl.core"), this.settings.responsive !== !1 && (b.clearTimeout(this.resizeTimer), this.off(b, "resize", this._handlers.onThrottledResize));
32609        for (var d in this._plugins) this._plugins[d].destroy();
32610        this.$stage.children(".cloned").remove(), this.$stage.unwrap(), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class", this.$element.attr("class").replace(new RegExp(this.options.responsiveClass + "-\\S+\\s", "g"), "")).removeData("owl.carousel")
32611    }, e.prototype.op = function (a, b, c) {
32612        var d = this.settings.rtl;
32613        switch (b) {
32614            case"<":
32615                return d ? a > c : c > a;
32616            case">":
32617                return d ? c > a : a > c;
32618            case">=":
32619                return d ? c >= a : a >= c;
32620            case"<=":
32621                return d ? a >= c : c >= a
32622        }
32623    }, e.prototype.on = function (a, b, c, d) {
32624        a.addEventListener ? a.addEventListener(b, c, d) : a.attachEvent && a.attachEvent("on" + b, c)
32625    }, e.prototype.off = function (a, b, c, d) {
32626        a.removeEventListener ? a.removeEventListener(b, c, d) : a.detachEvent && a.detachEvent("on" + b, c)
32627    }, e.prototype.trigger = function (b, c, d, f, g) {
32628        var h = {item: {count: this._items.length, index: this.current()}},
32629            i = a.camelCase(a.grep(["on", b, d], function (a) {
32630                return a
32631            }).join("-").toLowerCase()),
32632            j = a.Event([b, "owl", d || "carousel"].join(".").toLowerCase(), a.extend({relatedTarget: this}, h, c));
32633        return this._supress[b] || (a.each(this._plugins, function (a, b) {
32634            b.onTrigger && b.onTrigger(j)
32635        }), this.register({
32636            type: e.Type.Event,
32637            name: b
32638        }), this.$element.trigger(j), this.settings && "function" == typeof this.settings[i] && this.settings[i].call(this, j)), j
32639    }, e.prototype.enter = function (b) {
32640        a.each([b].concat(this._states.tags[b] || []), a.proxy(function (a, b) {
32641            this._states.current[b] === d && (this._states.current[b] = 0), this._states.current[b]++
32642        }, this))
32643    }, e.prototype.leave = function (b) {
32644        a.each([b].concat(this._states.tags[b] || []), a.proxy(function (a, b) {
32645            this._states.current[b]--
32646        }, this))
32647    }, e.prototype.register = function (b) {
32648        if (b.type === e.Type.Event) {
32649            if (a.event.special[b.name] || (a.event.special[b.name] = {}), !a.event.special[b.name].owl) {
32650                var c = a.event.special[b.name]._default;
32651                a.event.special[b.name]._default = function (a) {
32652                    return !c || !c.apply || a.namespace && -1 !== a.namespace.indexOf("owl") ? a.namespace && a.namespace.indexOf("owl") > -1 : c.apply(this, arguments)
32653                }, a.event.special[b.name].owl = !0
32654            }
32655        } else b.type === e.Type.State && (this._states.tags[b.name] ? this._states.tags[b.name] = this._states.tags[b.name].
vendor: 23,556 bytes, lines 32655-32970
32655concat(b.tags) : this._states.tags[b.name] = b.tags, this._states.tags[b.name] = a.grep(this._states.tags[b.name], a.proxy(function (c, d) {
32656            return a.inArray(c, this._states.tags[b.name]) === d
32657        }, this)))
32658    }, e.prototype.suppress = function (b) {
32659        a.each(b, a.proxy(function (a, b) {
32660            this._supress[b] = !0
32661        }, this))
32662    }, e.prototype.release = function (b) {
32663        a.each(b, a.proxy(function (a, b) {
32664            delete this._supress[b]
32665        }, this))
32666    }, e.prototype.pointer = function (a) {
32667        var c = {x: null, y: null};
32668        return a = a.originalEvent || a || b.event, a = a.touches && a.touches.length ? a.touches[0] : a.changedTouches && a.changedTouches.length ? a.changedTouches[0] : a, a.pageX ? (c.x = a.pageX, c.y = a.pageY) : (c.x = a.clientX, c.y = a.clientY), c
32669    }, e.prototype.difference = function (a, b) {
32670        return {x: a.x - b.x, y: a.y - b.y}
32671    }, a.fn.owlCarousel = function (b) {
32672        var c = Array.prototype.slice.call(arguments, 1);
32673        return this.each(function () {
32674            var d = a(this), f = d.data("owl.carousel");
32675            f || (f = new e(this, "object" == typeof b && b), d.data("owl.carousel", f), a.each(["next", "prev", "to", "destroy", "refresh", "replace", "add", "remove"], function (b, c) {
32676                f.register({
32677                    type: e.Type.Event,
32678                    name: c
32679                }), f.$element.on(c + ".owl.carousel.core", a.proxy(function (a) {
32680                    a.namespace && a.relatedTarget !== this && (this.suppress([c]), f[c].apply(this, [].slice.call(arguments, 1)), this.release([c]))
32681                }, f))
32682            })), "string" == typeof b && "_" !== b.charAt(0) && f[b].apply(f, c)
32683        })
32684    }, a.fn.owlCarousel.Constructor = e
32685}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32686    var e = function (b) {
32687        this._core = b, this._interval = null, this._visible = null, this._handlers = {
32688            "initialized.owl.carousel": a.proxy(function (a) {
32689                a.namespace && this._core.settings.autoRefresh && this.watch()
32690            }, this)
32691        }, this._core.options = a.extend({}, e.Defaults, this._core.options), this._core.$element.on(this._handlers)
32692    };
32693    e.Defaults = {autoRefresh: !0, autoRefreshInterval: 500}, e.prototype.watch = function () {
32694        this._interval || (this._visible = this._core.$element.is(":visible"), this._interval = b.setInterval(a.proxy(this.refresh, this), this._core.settings.autoRefreshInterval))
32695    }, e.prototype.refresh = function () {
32696        this._core.$element.is(":visible") !== this._visible && (this._visible = !this._visible, this._core.$element.toggleClass("owl-hidden", !this._visible), this._visible && this._core.invalidate("width") && this._core.refresh())
32697    }, e.prototype.destroy = function () {
32698        var a, c;
32699        b.clearInterval(this._interval);
32700        for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
32701        for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
32702    }, a.fn.owlCarousel.Constructor.Plugins.AutoRefresh = e
32703}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32704    var e = function (b) {
32705        this._core = b, this._loaded = [], this._handlers = {
32706            "initialized.owl.carousel change.owl.carousel": a.proxy(function (b) {
32707                if (b.namespace && this._core.settings && this._core.settings.lazyLoad && (b.property && "position" == b.property.name || "initialized" == b.type)) for (var c = this._core.settings, d = c.center && Math.ceil(c.items / 2) || c.items, e = c.center && -1 * d || 0, f = (b.property && b.property.value || this._core.current()) + e, g = this._core.clones().length, h = a.proxy(function (a, b) {
32708                    this.load(b)
32709                }, this); e++ < d;) this.load(g / 2 + this._core.relative(f)), g && a.each(this._core.clones(this._core.relative(f)), h), f++
32710            }, this)
32711        }, this._core.options = a.extend({}, e.Defaults, this._core.options), this._core.$element.on(this._handlers)
32712    };
32713    e.Defaults = {lazyLoad: !1}, e.prototype.load = function (c) {
32714        var d = this._core.$stage.children().eq(c), e = d && d.find(".owl-lazy");
32715        !e || a.inArray(d.get(0), this._loaded) > -1 || (e.each(a.proxy(function (c, d) {
32716            var e, f = a(d), g = b.devicePixelRatio > 1 && f.attr("data-src-retina") || f.attr("data-src");
32717            this._core.trigger("load", {
32718                element: f,
32719                url: g
32720            }, "lazy"), f.is("img") ? f.one("load.owl.lazy", a.proxy(function () {
32721                f.css("opacity", 1), this._core.trigger("loaded", {element: f, url: g}, "lazy")
32722            }, this)).attr("src", g) : (e = new Image, e.onload = a.proxy(function () {
32723                f.css({"background-image": "url(" + g + ")", opacity: "1"}), this._core.trigger("loaded", {
32724                    element: f,
32725                    url: g
32726                }, "lazy")
32727            }, this), e.src = g)
32728        }, this)), this._loaded.push(d.get(0)))
32729    }, e.prototype.destroy = function () {
32730        var a, b;
32731        for (a in this.handlers) this._core.$element.off(a, this.handlers[a]);
32732        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
32733    }, a.fn.owlCarousel.Constructor.Plugins.Lazy = e
32734}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32735    var e = function (b) {
32736        this._core = b, this._handlers = {
32737            "initialized.owl.carousel refreshed.owl.carousel": a.proxy(function (a) {
32738                a.namespace && this._core.settings.autoHeight && this.update()
32739            }, this), "changed.owl.carousel": a.proxy(function (a) {
32740                a.namespace && this._core.settings.autoHeight && "position" == a.property.name && this.update()
32741            }, this), "loaded.owl.lazy": a.proxy(function (a) {
32742                a.namespace && this._core.settings.autoHeight && a.element.closest("." + this._core.settings.itemClass).index() === this._core.current() && this.update()
32743            }, this)
32744        }, this._core.options = a.extend({}, e.Defaults, this._core.options), this._core.$element.on(this._handlers)
32745    };
32746    e.Defaults = {autoHeight: !1, autoHeightClass: "owl-height"}, e.prototype.update = function () {
32747        var b = this._core._current, c = b + this._core.settings.items,
32748            d = this._core.$stage.children().toArray().slice(b, c);
32749        heights = [], maxheight = 0, a.each(d, function (b, c) {
32750            heights.push(a(c).height())
32751        }), maxheight = Math.max.apply(null, heights), this._core.$stage.parent().height(maxheight).addClass(this._core.settings.autoHeightClass)
32752    }, e.prototype.destroy = function () {
32753        var a, b;
32754        for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
32755        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
32756    }, a.fn.owlCarousel.Constructor.Plugins.AutoHeight = e
32757}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32758    var e = function (b) {
32759        this._core = b, this._videos = {}, this._playing = null, this._handlers = {
32760            "initialized.owl.carousel": a.proxy(function (a) {
32761                a.namespace && this._core.register({type: "state", name: "playing", tags: ["interacting"]})
32762            }, this), "resize.owl.carousel": a.proxy(function (a) {
32763                a.namespace && this._core.settings.video && this.isInFullScreen() && a.preventDefault()
32764            }, this), "refreshed.owl.carousel": a.proxy(function (a) {
32765                a.namespace && this._core.is("resizing") && this._core.$stage.find(".cloned .owl-video-frame").remove()
32766            }, this), "changed.owl.carousel": a.proxy(function (a) {
32767                a.namespace && "position" === a.property.name && this._playing && this.stop()
32768            }, this), "prepared.owl.carousel": a.proxy(function (b) {
32769                if (b.namespace) {
32770                    var c = a(b.content).find(".owl-video");
32771                    c.length && (c.css("display", "none"), this.fetch(c, a(b.content)))
32772                }
32773            }, this)
32774        }, this._core.options = a.extend({}, e.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", a.proxy(function (a) {
32775            this.play(a)
32776        }, this))
32777    };
32778    e.Defaults = {video: !1, videoHeight: !1, videoWidth: !1}, e.prototype.fetch = function (a, b) {
32779        var c = a.attr("data-vimeo-id") ? "vimeo" : "youtube", d = a.attr("data-vimeo-id") || a.attr("data-youtube-id"),
32780            e = a.attr("data-width") || this._core.settings.videoWidth,
32781            f = a.attr("data-height") || this._core.settings.videoHeight, g = a.attr("href");
32782        if (!g) throw new Error("Missing video URL.");
32783        if (d = g.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/), d[3].indexOf("youtu") > -1) c = "youtube"; else {
32784            if (!(d[3].indexOf("vimeo") > -1)) throw new Error("Video URL not supported.");
32785            c = "vimeo"
32786        }
32787        d = d[6], this._videos[g] = {
32788            type: c,
32789            id: d,
32790            width: e,
32791            height: f
32792        }, b.attr("data-video", g), this.thumbnail(a, this._videos[g])
32793    }, e.prototype.thumbnail = function (b, c) {
32794        var d, e, f, g = c.width && c.height ? 'style="width:' + c.width + "px;height:" + c.height + 'px;"' : "",
32795            h = b.find("img"), i = "src", j = "", k = this._core.settings, l = function (a) {
32796                e = '<div class="owl-video-play-icon"></div>', d = k.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(d), b.after(e)
32797            };
32798        return b.wrap('<div class="owl-video-wrapper"' + g + "></div>"), this._core.settings.lazyLoad && (i = "data-src", j = "owl-lazy"), h.length ? (l(h.attr(i)), h.remove(), !1) : void ("youtube" === c.type ? (f = "http://img.youtube.com/vi/" + c.id + "/hqdefault.jpg", l(f)) : "vimeo" === c.type && a.ajax({
32799            type: "GET",
32800            url: "http://vimeo.com/api/v2/video/" + c.id + ".json",
32801            jsonp: "callback",
32802            dataType: "jsonp",
32803            success: function (a) {
32804                f = a[0].thumbnail_large, l(f)
32805            }
32806        }))
32807    }, e.prototype.stop = function () {
32808        this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing = null, this._core.leave("playing"), this._core.trigger("stopped", null, "video")
32809    }, e.prototype.play = function (b) {
32810        var c, d = a(b.target), e = d.closest("." + this._core.settings.itemClass),
32811            f = this._videos[e.attr("data-video")], g = f.width || "100%", h = f.height || this._core.$stage.height();
32812        this._playing || (this._core.enter("playing"), this._core.trigger("play", null, "video"), e = this._core.items(this._core.relative(e.index())), this._core.reset(e.index()), "youtube" === f.type ? c = '<iframe width="' + g + '" height="' + h + '" src="http://www.youtube.com/embed/' + f.id + "?autoplay=1&v=" + f.id + '" frameborder="0" allowfullscreen></iframe>' : "vimeo" === f.type && (c = '<iframe src="http://player.vimeo.com/video/' + f.id + '?autoplay=1" width="' + g + '" height="' + h + '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'), a('<div class="owl-video-frame">' + c + "</div>").insertAfter(e.find(".owl-video")), this._playing = e.addClass("owl-video-playing"))
32813    }, e.prototype.isInFullScreen = function () {
32814        var b = c.fullscreenElement || c.mozFullScreenElement || c.webkitFullscreenElement;
32815        return b && a(b).parent().hasClass("owl-video-frame")
32816    }, e.prototype.destroy = function () {
32817        var a, b;
32818        this._core.$element.off("click.owl.video");
32819        for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
32820        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
32821    }, a.fn.owlCarousel.Constructor.Plugins.Video = e
32822}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32823    var e = function (b) {
32824        this.core = b, this.core.options = a.extend({}, e.Defaults, this.core.options), this.swapping = !0, this.previous = d, this.next = d, this.handlers = {
32825            "change.owl.carousel": a.proxy(function (a) {
32826                a.namespace && "position" == a.property.name && (this.previous = this.core.current(), this.next = a.property.value)
32827            }, this), "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": a.proxy(function (a) {
32828                a.namespace && (this.swapping = "translated" == a.type)
32829            }, this), "translate.owl.carousel": a.proxy(function (a) {
32830                a.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap()
32831            }, this)
32832        }, this.core.$element.on(this.handlers)
32833    };
32834    e.Defaults = {animateOut: !1, animateIn: !1}, e.prototype.swap = function () {
32835        if (1 === this.core.settings.items && a.support.animation && a.support.transition) {
32836            this.core.speed(0);
32837            var b, c = a.proxy(this.clear, this), d = this.core.$stage.children().eq(this.previous),
32838                e = this.core.$stage.children().eq(this.next), f = this.core.settings.animateIn,
32839                g = this.core.settings.animateOut;
32840            this.core.current() !== this.previous && (g && (b = this.core.coordinates(this.previous) - this.core.coordinates(this.next), d.one(a.support.animation.end, c).css({left: b + "px"}).addClass("animated owl-animated-out").addClass(g)), f && e.one(a.support.animation.end, c).addClass("animated owl-animated-in").addClass(f))
32841        }
32842    }, e.prototype.clear = function (b) {
32843        a(b.target).css({left: ""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.onTransitionEnd()
32844    }, e.prototype.destroy = function () {
32845        var a, b;
32846        for (a in this.handlers) this.core.$element.off(a, this.handlers[a]);
32847        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
32848    }, a.fn.owlCarousel.Constructor.Plugins.Animate = e
32849}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32850    var e = function (b) {
32851        this._core = b, this._interval = null, this._paused = !1, this._handlers = {
32852            "changed.owl.carousel": a.proxy(function (a) {
32853                a.namespace && "settings" === a.property.name && (this._core.settings.autoplay ? this.play() : this.stop())
32854            }, this), "initialized.owl.carousel": a.proxy(function (a) {
32855                a.namespace && this._core.settings.autoplay && this.play()
32856            }, this), "play.owl.autoplay": a.proxy(function (a, b, c) {
32857                a.namespace && this.play(b, c)
32858            }, this), "stop.owl.autoplay": a.proxy(function (a) {
32859                a.namespace && this.stop()
32860            }, this), "mouseover.owl.autoplay": a.proxy(function () {
32861                this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause()
32862            }, this), "mouseleave.owl.autoplay": a.proxy(function () {
32863                this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.play()
32864            }, this)
32865        }, this._core.$element.on(this._handlers), this._core.options = a.extend({}, e.Defaults, this._core.options)
32866    };
32867    e.Defaults = {
32868        autoplay: !1,
32869        autoplayTimeout: 5e3,
32870        autoplayHoverPause: !1,
32871        autoplaySpeed: !1
32872    }, e.prototype.play = function (d, e) {
32873        this._paused = !1, this._core.is("rotating") || (this._core.enter("rotating"), this._interval = b.setInterval(a.proxy(function () {
32874            this._paused || this._core.is("busy") || this._core.is("interacting") || c.hidden || this._core.next(e || this._core.settings.autoplaySpeed)
32875        }, this), d || this._core.settings.autoplayTimeout))
32876    }, e.prototype.stop = function () {
32877        this._core.is("rotating") && (b.clearInterval(this._interval), this._core.leave("rotating"))
32878    }, e.prototype.pause = function () {
32879        this._core.is("rotating") && (this._paused = !0)
32880    }, e.prototype.destroy = function () {
32881        var a, b;
32882        this.stop();
32883        for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
32884        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
32885    }, a.fn.owlCarousel.Constructor.Plugins.autoplay = e
32886}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32887    "use strict";
32888    var e = function (b) {
32889        this._core = b, this._initialized = !1, this._pages = [], this._controls = {}, this._templates = [], this.$element = this._core.$element, this._overrides = {
32890            next: this._core.next,
32891            prev: this._core.prev,
32892            to: this._core.to
32893        }, this._handlers = {
32894            "prepared.owl.carousel": a.proxy(function (b) {
32895                b.namespace && this._core.settings.dotsData && this._templates.push('<div class="' + this._core.settings.dotClass + '">' + a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot") + "</div>")
32896            }, this), "added.owl.carousel": a.proxy(function (a) {
32897                a.namespace && this._core.settings.dotsData && this._templates.splice(a.position, 0, this._templates.pop())
32898            }, this), "remove.owl.carousel": a.proxy(function (a) {
32899                a.namespace && this._core.settings.dotsData && this._templates.splice(a.position, 1)
32900            }, this), "changed.owl.carousel": a.proxy(function (a) {
32901                a.namespace && "position" == a.property.name && this.draw()
32902            }, this), "initialized.owl.carousel": a.proxy(function (a) {
32903                a.namespace && !this._initialized && (this._core.trigger("initialize", null, "navigation"), this.initialize(), this.update(), this.draw(), this._initialized = !0, this._core.trigger("initialized", null, "navigation"))
32904            }, this), "refreshed.owl.carousel": a.proxy(function (a) {
32905                a.namespace && this._initialized && (this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation"))
32906            }, this)
32907        }, this._core.options = a.extend({}, e.Defaults, this._core.options), this.$element.on(this._handlers)
32908    };
32909    e.Defaults = {
32910        nav: !1,
32911        navText: ["prev", "next"],
32912        navSpeed: !1,
32913        navElement: "div",
32914        navContainer: !1,
32915        navContainerClass: "owl-nav",
32916        navClass: ["owl-prev", "owl-next"],
32917        slideBy: 1,
32918        dotClass: "owl-dot",
32919        dotsClass: "owl-dots",
32920        dots: !0,
32921        dotsEach: !1,
32922        dotsData: !1,
32923        dotsSpeed: !1,
32924        dotsContainer: !1
32925    }, e.prototype.initialize = function () {
32926        var b, c = this._core.settings;
32927        this._controls.$relative = (c.navContainer ? a(c.navContainer) : a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"), this._controls.$previous = a("<" + c.navElement + ">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click", a.proxy(function (a) {
32928            this.prev(c.navSpeed)
32929        }, this)), this._controls.$next = a("<" + c.navElement + ">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click", a.proxy(function (a) {
32930            this.next(c.navSpeed)
32931        }, this)), c.dotsData || (this._templates = [a("<div>").addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]), this._controls.$absolute = (c.dotsContainer ? a(c.dotsContainer) : a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"), this._controls.$absolute.on("click", "div", a.proxy(function (b) {
32932            var d = a(b.target).parent().is(this._controls.$absolute) ? a(b.target).index() : a(b.target).parent().index();
32933            b.preventDefault(), this.to(d, c.dotsSpeed)
32934        }, this));
32935        for (b in this._overrides) this._core[b] = a.proxy(this[b], this)
32936    }, e.prototype.destroy = function () {
32937        var a, b, c, d;
32938        for (a in this._handlers) this.$element.off(a, this._handlers[a]);
32939        for (b in this._controls) this._controls[b].remove();
32940        for (d in this.overides) this._core[d] = this._overrides[d];
32941        for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
32942    }, e.prototype.update = function () {
32943        var a, b, c, d = this._core.clones().length / 2, e = d + this._core.items().length, f = this._core.maximum(!0),
32944            g = this._core.settings, h = g.center || g.autoWidth || g.dotsData ? 1 : g.dotsEach || g.items;
32945        if ("page" !== g.slideBy && (g.slideBy = Math.min(g.slideBy, g.items)), g.dots || "page" == g.slideBy) for (this._pages = [], a = d, b = 0, c = 0; e > a; a++) {
32946            if (b >= h || 0 === b) {
32947                if (this._pages.push({start: Math.min(f, a - d), end: a - d + h - 1}), Math.min(f, a - d) === f) break;
32948                b = 0, ++c
32949            }
32950            b += this._core.mergers(this._core.relative(a))
32951        }
32952    }, e.prototype.draw = function () {
32953        var b, c = this._core.settings, d = this._core.items().length <= c.items,
32954            e = this._core.relative(this._core.current()), f = c.loop || c.rewind;
32955        this._controls.$relative.toggleClass("disabled", !c.nav || d), c.nav && (this._controls.$previous.toggleClass("disabled", !f && e <= this._core.minimum(!0)), this._controls.$next.toggleClass("disabled", !f && e >= this._core.maximum(!0))), this._controls.$absolute.toggleClass("disabled", !c.dots || d), c.dots && (b = this._pages.length - this._controls.$absolute.children().length, c.dotsData && 0 !== b ? this._controls.$absolute.html(this._templates.join("")) : b > 0 ? this._controls.$absolute.append(new Array(b + 1).join(this._templates[0])) : 0 > b && this._controls.$absolute.children().slice(b).remove(), this._controls.$absolute.find(".active").removeClass("active"), this._controls.$absolute.children().eq(a.inArray(this.current(), this._pages)).addClass("active"))
32956    }, e.prototype.onTrigger = function (b) {
32957        var c = this._core.settings;
32958        b.page = {
32959            index: a.inArray(this.current(), this._pages),
32960            count: this._pages.length,
32961            size: c && (c.center || c.autoWidth || c.dotsData ? 1 : c.dotsEach || c.items)
32962        }
32963    }, e.prototype.current = function () {
32964        var b = this._core.relative(this._core.current());
32965        return a.grep(this._pages, a.proxy(function (a, c) {
32966            return a.start <= b && a.end >= b
32967        }, this)).pop()
32968    }, e.prototype.getPosition = function (b) {
32969        var c, d, e = this._core.settings;
32970        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.relative(this._core.current()), d = this._core.items().length, b ? c += e.
32970slideBy : c -= e.slideBy), c
32971    }, e.prototype.next = function (b) {
32972        a.proxy(this._overrides.to, this._core)(this.getPosition(!0), b)
32973    }, e.prototype.prev = function (b) {
32974        a.proxy(this._overrides.to, this._core)(this.getPosition(!1), b)
32975    }, e.prototype.to = function (b, c, d) {
32976        var e;
32977        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))
32978    }, a.fn.owlCarousel.Constructor.Plugins.Navigation = e
32979}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
32980    "use strict";
32981    var e = function (c) {
32982        this._core = c, this._hashes = {}, this.$element = this._core.$element, this._handlers = {
32983            "initialized.owl.carousel": a.proxy(function (c) {
32984                c.namespace && "URLHash" === this._core.settings.startPosition && a(b).trigger("hashchange.owl.navigation")
32985            }, this), "prepared.owl.carousel": a.proxy(function (b) {
32986                if (b.namespace) {
32987                    var c = a(b.content).find("[data-hash]").andSelf("[data-hash]").attr("data-hash");
32988                    if (!c) return;
32989                    this._hashes[c] = b.content
32990                }
32991            }, this), "changed.owl.carousel": a.proxy(function (c) {
32992                if (c.namespace && "position" === c.property.name) {
32993                    var d = this._core.items(this._core.relative(this._core.current())),
32994                        e = a.map(this._hashes, function (a, b) {
32995                            return a === d ? b : null
32996                        }).join();
32997                    if (!e || b.location.hash.slice(1) === e) return;
32998                    b.location.hash = e
32999                }
33000            }, this)
33001        }, this._core.options = a.extend({}, e.Defaults, this._core.options), this.$element.on(this._handlers), a(b).on("hashchange.owl.navigation", a.proxy(function (a) {
33002            var c = b.location.hash.substring(1), e = this._core.$stage.children(),
33003                f = this._hashes[c] && e.index(this._hashes[c]);
33004            f !== d && f !== this._core.current() && this._core.to(this._core.relative(f), !1, !0)
33005        }, this))
33006    };
33007    e.Defaults = {URLhashListener: !1}, e.prototype.destroy = function () {
33008        var c, d;
33009        a(b).off("hashchange.owl.navigation");
33010        for (c in this._handlers) this._core.$element.off(c, this._handlers[c]);
33011        for (d in Object.getOwnPropertyNames(this)) "function" != typeof this[d] && (this[d] = null)
33012    }, a.fn.owlCarousel.Constructor.Plugins.Hash = e
33013}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) {
33014    function e(b, c) {
33015        var e = !1, f = b.charAt(0).toUpperCase() + b.slice(1);
33016        return a.each((b + " " + h.join(f + " ") + f).split(" "), function (a, b) {
33017            return g[b] !== d ? (e = c ? b : !0, !1) : void 0
33018        }), e
33019    }
33020
33021    function f(a) {
33022        return e(a, !0)
33023    }
33024
33025    var g = a("<support>").get(0).style, h = "Webkit Moz O ms".split(" "), i = {
33026        transition: {
33027            end: {
33028                WebkitTransition: "webkitTransitionEnd",
33029                MozTransition: "transitionend",
33030                OTransition: "oTransitionEnd",
33031                transition: "transitionend"
33032            }
33033        },
33034        animation: {
33035            end: {
33036                WebkitAnimation: "webkitAnimationEnd",
33037                MozAnimation: "animationend",
33038                OAnimation: "oAnimationEnd",
33039                animation: "animationend"
33040            }
33041        }
33042    }, j = {
33043        csstransforms: function () {
33044            return !!e("transform")
33045        }, csstransforms3d: function () {
33046            return !!e("perspective")
33047        }, csstransitions: function () {
33048            return !!e("transition")
33049        }, cssanimations: function () {
33050            return !!e("animation")
33051        }
33052    };
33053    j.csstransitions() && (a.support.transition = new String(f("transition")), a.support.transition.end = i.transition.end[a.support.transition]), j.cssanimations() && (a.support.animation = new String(f("animation")), a.support.animation.end = i.animation.end[a.support.animation]), j.csstransforms() && (a.support.transform = new String(f("transform")), a.support.transform3d = j.csstransforms3d())
33054}(window.Zepto || window.jQuery, window, document), !function ($) {
33055    $.flexslider = function (e, t) {
33056        var a = $(e);
33057        a.vars = $.extend({}, $.flexslider.defaults, t);
33058        var l, n = a.vars.namespace, i = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
33059            s = ("ontouchstart" in window || i || window.DocumentTouch && document instanceof DocumentTouch) && a.vars.touch,
33060            r = "click touchend MSPointerUp keyup", o = "", c = "vertical" === a.vars.direction, d = a.vars.reverse,
33061            u = a.vars.itemWidth >
vendor: 5,183 bytes, lines 33061-33107
33061 0, v = "fade" === a.vars.animation, p = "" !== a.vars.asNavFor, m = {}, f = !0;
33062        $.data(e, "flexslider", a), m = {
33063            init: function () {
33064                a.animating = !1, a.currentSlide = parseInt(a.vars.startAt ? a.vars.startAt : 0, 10), isNaN(a.currentSlide) && (a.currentSlide = 0), a.animatingTo = a.currentSlide, a.atEnd = 0 === a.currentSlide || a.currentSlide === a.last, a.containerSelector = a.vars.selector.substr(0, a.vars.selector.search(" ")), a.slides = $(a.vars.selector, a), a.container = $(a.containerSelector, a), a.count = a.slides.length, a.syncExists = $(a.vars.sync).length > 0, "slide" === a.vars.animation && (a.vars.animation = "swing"), a.prop = c ? "top" : "marginLeft", a.args = {}, a.manualPause = !1, a.stopped = !1, a.started = !1, a.startTimeout = null, a.transitions = !a.vars.video && !v && a.vars.useCSS && function () {
33065                    var e = document.createElement("div"),
33066                        t = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
33067                    for (var n in t) if (void 0 !== e.style[t[n]]) return a.pfx = t[n].replace("Perspective", "").toLowerCase(), a.prop = "-" + a.pfx + "-transform", !0;
33068                    return !1
33069                }(), a.ensureAnimationEnd = "", "" !== a.vars.controlsContainer && (a.controlsContainer = $(a.vars.controlsContainer).length > 0 && $(a.vars.controlsContainer)), "" !== a.vars.manualControls && (a.manualControls = $(a.vars.manualControls).length > 0 && $(a.vars.manualControls)), "" !== a.vars.customDirectionNav && (a.customDirectionNav = 2 === $(a.vars.customDirectionNav).length && $(a.vars.customDirectionNav)), a.vars.randomize && (a.slides.sort(function () {
33070                    return Math.round(Math.random()) - .5
33071                }), a.container.empty().append(a.slides)), a.doMath(), a.setup("init"), a.vars.controlNav && m.controlNav.setup(), a.vars.directionNav && m.directionNav.setup(), a.vars.keyboard && (1 === $(a.containerSelector).length || a.vars.multipleKeyboard) && $(document).bind("keyup", function (e) {
33072                    var t = e.keyCode;
33073                    if (!a.animating && (39 === t || 37 === t)) {
33074                        var n = 39 === t ? a.getTarget("next") : 37 === t ? a.getTarget("prev") : !1;
33075                        a.flexAnimate(n, a.vars.pauseOnAction)
33076                    }
33077                }), a.vars.mousewheel && a.bind("mousewheel", function (e, t, n, i) {
33078                    e.preventDefault();
33079                    var s = a.getTarget(0 > t ? "next" : "prev");
33080                    a.flexAnimate(s, a.vars.pauseOnAction)
33081                }), a.vars.pausePlay && m.pausePlay.setup(), a.vars.slideshow && a.vars.pauseInvisible && m.pauseInvisible.init(), a.vars.slideshow && (a.vars.pauseOnHover && a.hover(function () {
33082                    a.manualPlay || a.manualPause || a.pause()
33083                }, function () {
33084                    a.manualPause || a.manualPlay || a.stopped || a.play()
33085                }), a.vars.pauseInvisible && m.pauseInvisible.isHidden() || (a.vars.initDelay > 0 ? a.startTimeout = setTimeout(a.play, a.vars.initDelay) : a.play())), p && m.asNav.setup(), s && a.vars.touch && m.touch(), (!v || v && a.vars.smoothHeight) && $(window).bind("resize orientationchange focus", m.resize), a.find("img").attr("draggable", "false"), setTimeout(function () {
33086                    a.vars.start(a)
33087                }, 200)
33088            }, asNav: {
33089                setup: function () {
33090                    a.asNav = !0, a.animatingTo = Math.floor(a.currentSlide / a.move), a.currentItem = a.currentSlide, a.slides.removeClass(n + "active-slide").eq(a.currentItem).addClass(n + "active-slide"), i ? (e._slider = a, a.slides.each(function () {
33091                        var e = this;
33092                        e._gesture = new MSGesture, e._gesture.target = e, e.addEventListener("MSPointerDown", function (e) {
33093                            e.preventDefault(), e.currentTarget._gesture && e.currentTarget._gesture.addPointer(e.pointerId)
33094                        }, !1), e.addEventListener("MSGestureTap", function (e) {
33095                            e.preventDefault();
33096                            var t = $(this), n = t.index();
33097                            $(a.vars.asNavFor).data("flexslider").animating || t.hasClass("active") || (a.direction = a.currentItem < n ? "next" : "prev", a.flexAnimate(n, a.vars.pauseOnAction, !1, !0, !0))
33098                        })
33099                    })) : a.slides.on(r, function (e) {
33100                        e.preventDefault();
33101                        var t = $(this), i = t.index(), s = t.offset().left - $(a).scrollLeft();
33102                        0 >= s && t.hasClass(n + "active-slide") ? a.flexAnimate(a.getTarget("prev"), !0) : $(a.vars.asNavFor).data("flexslider").animating || t.hasClass(n + "active-slide") || (a.direction = a.currentItem < i ? "next" : "prev", a.flexAnimate(i, a.vars.pauseOnAction, !1, !0, !0))
33103                    })
33104                }
33105            }, controlNav: {
33106                setup: function () {
33107                    a.manualControls ? m.controlNav.setupManual() : m.controlNav.setupPaging(
33107)
33108                }, setupPaging: function () {
33109                    var i, s, e = "thumbnails" === a.vars.controlNav ? "control-thumbs" : "control-paging", t = 1;
33110                    if (a.controlNavScaffold = $('<ol class="' + n + "control-nav " + n + e + '"></ol>'), a.pagingCount > 1) for (var l = 0; l < a.pagingCount; l++) {
33111                        if (s = a.slides.eq(l), i = "thumbnails" === a.vars.controlNav ? '<img src="' + s.attr("data-thumb") + '"/>' : "<a>" + t + "</a>", "thumbnails" === a.vars.controlNav && !0 === a.vars.thumbCaptions) {
33112                            var c = s.attr("data-thumbcaption");
33113                            "" !== c && void 0 !== c && (i += '<span class="' + n + 'caption">' + c + "</span>")
33114                        }
33115                        a.controlNavScaffold.append("<li>" + i + "</li>"), t++
33116                    }
33117                    a.controlsContainer ? $(a.controlsContainer).append(a.controlNavScaffold) : a.append(a.controlNavScaffold), m.controlNav.set(), m.controlNav.active(), a.controlNavScaffold.delegate("a, img", r, function (e) {
33118                        if (e.preventDefault(), "" === o || o === e.type) {
33119                            var t = $(this), i = a.controlNav.index(t);
33120                            t.hasClass(n + "active") || (a.direction = i > a.currentSlide ? "next" : "prev", a.flexAnimate(i, a.vars.pauseOnAction))
33121                        }
33122                        "" === o && (o = e.type), m.setToClearWatchedEvent()
33123                    })
33124                }, setupManual: function () {
33125                    a.controlNav = a.manualControls, m.controlNav.active(), a.controlNav.bind(r, function (e) {
33126                        if (e.preventDefault(), "" === o || o === e.type) {
33127                            var t = $(this), i = a.controlNav.index(t);
33128                            t.hasClass(n + "active") || (a.direction = i > a.currentSlide ? "next" : "prev", a.flexAnimate(i, a.vars.pauseOnAction))
33129                        }
33130                        "" === o && (o = e.type), m.setToClearWatchedEvent()
33131                    })
33132                }, set: function () {
33133                    var e = "thumbnails" === a.vars.controlNav ? "img" : "a";
33134                    a.controlNav = $("." + n + "control-nav li " + e, a.controlsContainer ? a.controlsContainer : a)
33135                }, active: function () {
33136                    a.controlNav.removeClass(n + "active").eq(a.animatingTo).addClass(n + "active")
33137                }, update: function (e, t) {
33138                    a.pagingCount > 1 && "add" === e ? a.controlNavScaffold.append($("<li><a>" + a.count + "</a></li>")) : 1 === a.pagingCount ? a.controlNavScaffold.find("li").remove() : a.controlNav.eq(t).closest("li").remove(), m.controlNav.set(), a.pagingCount > 1 && a.pagingCount !== a.controlNav.length ? a.update(t, e) : m.controlNav.active()
33139                }
33140            }, directionNav: {
33141                setup: function () {
33142                    var e = $('<ul class="' + n + 'direction-nav"><li class="' + n + 'nav-prev"><a class="' + n + 'prev" href="#">' + a.vars.prevText + '</a></li><li class="' + n + 'nav-next"><a class="' + n + 'next" href="#">' + a.vars.nextText + "</a></li></ul>");
33143                    a.customDirectionNav ? a.directionNav = a.customDirectionNav : a.controlsContainer ? ($(a.controlsContainer).append(e), a.directionNav = $("." + n + "direction-nav li a", a.controlsContainer)) : (a.append(e), a.directionNav = $("." + n + "direction-nav li a", a)), m.directionNav.update(), a.directionNav.bind(r, function (e) {
33144                        e.preventDefault();
33145                        var t;
33146                        ("" === o || o === e.type) && (t = a.getTarget($(this).hasClass(n + "next") ? "next" : "prev"), a.flexAnimate(t, a.vars.pauseOnAction)), "" === o && (o = e.type), m.setToClearWatchedEvent()
33147                    })
33148                }, update: function () {
33149                    var e = n + "disabled";
33150                    1 === a.pagingCount ? a.directionNav.addClass(e).attr("tabindex", "-1") : a.vars.animationLoop ? a.directionNav.removeClass(e).removeAttr("tabindex") : 0 === a.animatingTo ? a.directionNav.removeClass(e).filter("." + n + "prev").addClass(e).attr("tabindex", "-1") : a.animatingTo === a.last ? a.directionNav.removeClass(e).filter("." + n + "next").addClass(e).attr("tabindex", "-1") : a.directionNav.removeClass(e).removeAttr("tabindex")
33151                }
33152            }, pausePlay: {
33153                setup: function () {
33154                    var e = $('<div class="' + n + 'pauseplay"><a></a></div>');
33155                    a.controlsContainer ? (a.controlsContainer.append(e), a.pausePlay = $("." + n + "pauseplay a", a.controlsContainer)) : (a.append(e), a.pausePlay = $("." + n + "pauseplay a", a)), m.pausePlay.update(a.vars.slideshow ? n + "pause" : n + "play"), a.pausePlay.bind(r, function (e) {
33156                        e.preventDefault(), ("" === o || o === e.type) && ($(this).hasClass(n + "pause") ? (a.manualPause = !0, a.manualPlay 
vendor: 9,180 bytes, lines 33156-33265
33156= !1, a.pause()) : (a.manualPause = !1, a.manualPlay = !0, a.play())), "" === o && (o = e.type), m.setToClearWatchedEvent()
33157                    })
33158                }, update: function (e) {
33159                    "play" === e ? a.pausePlay.removeClass(n + "pause").addClass(n + "play").html(a.vars.playText) : a.pausePlay.removeClass(n + "play").addClass(n + "pause").html(a.vars.pauseText)
33160                }
33161            }, touch: function () {
33162                function t(t) {
33163                    t.stopPropagation(), a.animating ? t.preventDefault() : (a.pause(), e._gesture.addPointer(t.pointerId), w = 0, p = c ? a.h : a.w, f = Number(new Date), l = u && d && a.animatingTo === a.last ? 0 : u && d ? a.limit - (a.itemW + a.vars.itemMargin) * a.move * a.animatingTo : u && a.currentSlide === a.last ? a.limit : u ? (a.itemW + a.vars.itemMargin) * a.move * a.currentSlide : d ? (a.last - a.currentSlide + a.cloneOffset) * p : (a.currentSlide + a.cloneOffset) * p)
33164                }
33165
33166                function n(t) {
33167                    t.stopPropagation();
33168                    var a = t.target._slider;
33169                    if (a) {
33170                        var n = -t.translationX, i = -t.translationY;
33171                        return w += c ? i : n, m = w, y = c ? Math.abs(w) < Math.abs(-n) : Math.abs(w) < Math.abs(-i), t.detail === t.MSGESTURE_FLAG_INERTIA ? void setImmediate(function () {
33172                            e._gesture.stop()
33173                        }) : void ((!y || Number(new Date) - f > 500) && (t.preventDefault(), !v && a.transitions && (a.vars.animationLoop || (m = w / (0 === a.currentSlide && 0 > w || a.currentSlide === a.last && w > 0 ? Math.abs(w) / p + 2 : 1)), a.setProps(l + m, "setTouch"))))
33174                    }
33175                }
33176
33177                function s(e) {
33178                    e.stopPropagation();
33179                    var t = e.target._slider;
33180                    if (t) {
33181                        if (t.animatingTo === t.currentSlide && !y && null !== m) {
33182                            var a = d ? -m : m, n = t.getTarget(a > 0 ? "next" : "prev");
33183                            t.canAdvance(n) && (Number(new Date) - f < 550 && Math.abs(a) > 50 || Math.abs(a) > p / 2) ? t.flexAnimate(n, t.vars.pauseOnAction) : v || t.flexAnimate(t.currentSlide, t.vars.pauseOnAction, !0)
33184                        }
33185                        r = null, o = null, m = null, l = null, w = 0
33186                    }
33187                }
33188
33189                var r, o, l, p, m, f, g, h, S, y = !1, x = 0, b = 0, w = 0;
33190                i ? (e.style.msTouchAction = "none", e._gesture = new MSGesture, e._gesture.target = e, e.addEventListener("MSPointerDown", t, !1), e._slider = a, e.addEventListener("MSGestureChange", n, !1), e.addEventListener("MSGestureEnd", s, !1)) : (g = function (t) {
33191                    a.animating ? t.preventDefault() : (window.navigator.msPointerEnabled || 1 === t.touches.length) && (a.pause(), p = c ? a.h : a.w, f = Number(new Date), x = t.touches[0].pageX, b = t.touches[0].pageY, l = u && d && a.animatingTo === a.last ? 0 : u && d ? a.limit - (a.itemW + a.vars.itemMargin) * a.move * a.animatingTo : u && a.currentSlide === a.last ? a.limit : u ? (a.itemW + a.vars.itemMargin) * a.move * a.currentSlide : d ? (a.last - a.currentSlide + a.cloneOffset) * p : (a.currentSlide + a.cloneOffset) * p, r = c ? b : x, o = c ? x : b, e.addEventListener("touchmove", h, !1), e.addEventListener("touchend", S, !1))
33192                }, h = function (e) {
33193                    x = e.touches[0].pageX, b = e.touches[0].pageY, m = c ? r - b : r - x, y = c ? Math.abs(m) < Math.abs(x - o) : Math.abs(m) < Math.abs(b - o);
33194                    var t = 500;
33195                    (!y || Number(new Date) - f > t) && (e.preventDefault(), !v && a.transitions && (a.vars.animationLoop || (m /= 0 === a.currentSlide && 0 > m || a.currentSlide === a.last && m > 0 ? Math.abs(m) / p + 2 : 1), a.setProps(l + m, "setTouch")))
33196                }, S = function (t) {
33197                    if (e.removeEventListener("touchmove", h, !1), a.animatingTo === a.currentSlide && !y && null !== m) {
33198                        var n = d ? -m : m, i = a.getTarget(n > 0 ? "next" : "prev");
33199                        a.canAdvance(i) && (Number(new Date) - f < 550 && Math.abs(n) > 50 || Math.abs(n) > p / 2) ? a.flexAnimate(i, a.vars.pauseOnAction) : v || a.flexAnimate(a.currentSlide, a.vars.pauseOnAction, !0)
33200                    }
33201                    e.removeEventListener("touchend", S, !1), r = null, o = null, m = null, l = null
33202                }, e.addEventListener("touchstart", g, !1))
33203            }, resize: function () {
33204                !a.animating && a.is(":visible") && (u || a.doMath(), v ? m.smoothHeight() : u ? (a.slides.width(a.computedW), a.update(a.pagingCount), a.setProps()) : c ? (a.viewport.height(a.h), a.setProps(a.h, "setTotal")) : (a.vars.smoothHeight && m.smoothHeight(), a.newSlides.width(a.computedW), a.setProps(a.computedW, "setTotal")))
33205            }, smoothHeight: function (e) {
33206                if (!c || v) {
33207                    var t = v ? a : a.viewport;
33208                    e ? t.animate({height: a.slides.eq(a.animatingTo).height()}, e) : t.height(a.slides.eq(a.animatingTo).height())
33209                }
33210            }, sync: function (e) {
33211                var t = $(a.vars.sync).data("flexslider"), n = a.animatingTo;
33212                switch (e) {
33213                    case"animate":
33214                        t.flexAnimate(n, a.vars.pauseOnAction, !1, !0);
33215                        break;
33216                    case"play":
33217                        t.playing || t.asNav || t.play();
33218                        break;
33219                    case"pause":
33220                        t.pause()
33221                }
33222            }, uniqueID: function (e) {
33223                return e.filter("[id]").add(e.find("[id]")).each(function () {
33224                    var e = $(this);
33225                    e.attr("id", e.attr("id") + "_clone")
33226                }), e
33227            }, pauseInvisible: {
33228                visProp: null, init: function () {
33229                    var e = m.pauseInvisible.getHiddenProp();
33230                    if (e) {
33231                        var t = e.replace(/[H|h]idden/, "") + "visibilitychange";
33232                        document.addEventListener(t, function () {
33233                            m.pauseInvisible.isHidden() ? a.startTimeout ? clearTimeout(a.startTimeout) : a.pause() : a.started ? a.play() : a.vars.initDelay > 0 ? setTimeout(a.play, a.vars.initDelay) : a.play()
33234                        })
33235                    }
33236                }, isHidden: function () {
33237                    var e = m.pauseInvisible.getHiddenProp();
33238                    return e ? document[e] : !1
33239                }, getHiddenProp: function () {
33240                    var e = ["webkit", "moz", "ms", "o"];
33241                    if ("hidden" in document) return "hidden";
33242                    for (var t = 0; t < e.length; t++) if (e[t] + "Hidden" in document) return e[t] + "Hidden";
33243                    return null
33244                }
33245            }, setToClearWatchedEvent: function () {
33246                clearTimeout(l), l = setTimeout(function () {
33247                    o = ""
33248                }, 3e3)
33249            }
33250        }, a.flexAnimate = function (e, t, i, r, o) {
33251            if (a.vars.animationLoop || e === a.currentSlide || (a.direction = e > a.currentSlide ? "next" : "prev"), p && 1 === a.pagingCount && (a.direction = a.currentItem < e ? "next" : "prev"), !a.animating && (a.canAdvance(e, o) || i) && a.is(":visible")) {
33252                if (p && r) {
33253                    var l = $(a.vars.asNavFor).data("flexslider");
33254                    if (a.atEnd = 0 === e || e === a.count - 1, l.flexAnimate(e, !0, !1, !0, o), a.direction = a.currentItem < e ? "next" : "prev", l.direction = a.direction, Math.ceil((e + 1) / a.visible) - 1 === a.currentSlide || 0 === e) return a.currentItem = e, a.slides.removeClass(n + "active-slide").eq(e).addClass(n + "active-slide"), !1;
33255                    a.currentItem = e, a.slides.removeClass(n + "active-slide").eq(e).addClass(n + "active-slide"), e = Math.floor(e / a.visible)
33256                }
33257                if (a.animating = !0, a.animatingTo = e, t && a.pause(), a.vars.before(a), a.syncExists && !o && m.sync("animate"), a.vars.controlNav && m.controlNav.active(), u || a.slides.removeClass(n + "active-slide").eq(e).addClass(n + "active-slide"), a.atEnd = 0 === e || e === a.last, a.vars.directionNav && m.directionNav.update(), e === a.last && (a.vars.end(a), a.vars.animationLoop || a.pause()), v) s ? (a.slides.eq(a.currentSlide).css({
33258                    opacity: 0,
33259                    zIndex: 1
33260                }), a.slides.eq(e).css({
33261                    opacity: 1,
33262                    zIndex: 2
33263                }), a.wrapup(f)) : (a.slides.eq(a.currentSlide).css({zIndex: 1}).animate({opacity: 0}, a.vars.animationSpeed, a.vars.easing), a.slides.eq(e).css({zIndex: 2}).animate({opacity: 1}, a.vars.animationSpeed, a.vars.easing, a.wrapup)); else {
33264                    var g, h, S, f = c ? a.slides.filter(":first").height() : a.computedW;
33265                    u ? (g = a.vars.itemMargin, S = (a.itemW + g) * a.move * a.animatingTo, h 
33265= S > a.limit && 1 !== a.visible ? a.limit : S) : h = 0 === a.currentSlide && e === a.count - 1 && a.vars.animationLoop && "next" !== a.direction ? d ? (a.count + a.cloneOffset) * f : 0 : a.currentSlide === a.last && 0 === e && a.vars.animationLoop && "prev" !== a.direction ? d ? 0 : (a.count + 1) * f : d ? (a.count - 1 - e + a.cloneOffset) * f : (e + a.cloneOffset) * f, a.setProps(h, "", a.vars.animationSpeed), a.transitions ? (a.vars.animationLoop && a.atEnd || (a.animating = !1, a.currentSlide = a.animatingTo), a.container.unbind("webkitTransitionEnd transitionend"), a.container.bind("webkitTransitionEnd transitionend", function () {
33266                        clearTimeout(a.ensureAnimationEnd), a.wrapup(f)
33267                    }), clearTimeout(a.ensureAnimationEnd), a.ensureAnimationEnd = setTimeout(function () {
33268                        a.wrapup(f)
33269                    }, a.vars.animationSpeed + 100)) : a.container.animate(a.args, a.vars.animationSpeed, a.vars.easing, function () {
33270                        a.wrapup(f)
33271                    })
33272                }
33273                a.vars.smoothHeight && m.smoothHeight(a.vars.animationSpeed)
33274            }
33275        }, a.wrapup = function (e) {
33276            v || u || (0 === a.currentSlide && a.animatingTo === a.last && a.vars.animationLoop ? a.setProps(e, "jumpEnd") : a.currentSlide === a.last && 0 === a.animatingTo && a.vars.animationLoop && a.setProps(e, "jumpStart")), a.animating = !1, a.currentSlide = a.animatingTo, a.vars.after(a)
33277        }, a.animateSlides = function () {
33278            !a.animating && f && a.flexAnimate(a.getTarget("next"))
33279        }, a.pause = function () {
33280            clearInterval(a.animatedSlides), a.animatedSlides = null, a.playing = !1, a.vars.pausePlay && m.pausePlay.update("play"), a.syncExists && m.sync("pause")
33281        }, a.play = function () {
33282            a.playing && clearInterval(a.animatedSlides), a.animatedSlides = a.animatedSlides || setInterval(a.animateSlides, a.vars.slideshowSpeed), a.started = a.playing = !0, a.vars.pausePlay && m.pausePlay.update("pause"), a.syncExists && m.sync("play")
33283        }, a.stop = function () {
33284            a.pause(), a.stopped = !0
33285        }, a.canAdvance = function (e, t) {
33286            var n = p ? a.pagingCount - 1 : a.last;
33287            return t ? !0 : p && a.currentItem === a.count - 1 && 0 === e && "prev" === a.direction ? !0 : p && 0 === a.currentItem && e === a.pagingCount - 1 && "next" !== a.direction ? !1 : e !== a.currentSlide || p ? a.vars.animationLoop ? !0 : a.atEnd && 0 === a.currentSlide && e === n && "next" !== a.direction ? !1 : a.atEnd && a.currentSlide === n && 0 === e && "next" === a.direction ? !1 : !0 : !1
33288        }, a.getTarget = function (e) {
33289            return a.direction = e, "next" === e ? a.currentSlide === a.last ? 0 : a.currentSlide + 1 : 0 === a.currentSlide ? a.last : a.currentSlide - 1
33290        }, a.setProps = function (e, t, n) {
33291            var i = function () {
33292                var n = e ? e : (a.itemW + a.vars.itemMargin) * a.move * a.animatingTo, i = function () {
33293                    if (u) return "setTouch" === t ? e : d && a.animatingTo === a.last ? 0 : d ? a.limit - (a.itemW + a.vars.itemMargin) * a.move * a.animatingTo : a.animatingTo === a.last ? a.limit : n;
33294                    switch (t) {
33295                        case"setTotal":
33296                            return d ? (a.count - 1 - a.currentSlide + a.cloneOffset) * e : (a.currentSlide + a.cloneOffset) * e;
33297                        case"setTouch":
33298                            return d ? e : e;
33299                        case"jumpEnd":
33300                            return d ? e : a.count * e;
33301                        case"jumpStart":
33302                            return d ? a.count * e : e;
33303                        default:
33304                            return e
33305                    }
33306                }();
33307                return -1 * i + "px"
33308            }();
33309            a.transitions && (i = c ? "translate3d(0," + i + ",0)" : "translate3d(" + i + ",0,0)", n = void 0 !== n ? n / 1e3 + "s" : "0s", a.container.css("-" + a.pfx + "-transition-duration", n), a.container.css("transition-duration", n)), a.args[a.prop] = i, (a.transitions || void 0 === n) && a.container.css(a.args), a.container.css("transform", i)
33310        }, a.setup = function (e) {
33311            if (v) a.slides.css({
33312                width: "100%",
33313                "float": "left",
33314                marginRight: "-100%",
33315                position: "relative"
33316            }), "init" === e && (s ? a.slides.css({
33317                opacity: 0,
33318                display: "block",
33319                webkitTransition: "opacity " + a.vars.animationSpeed / 1e3 + "s ease",
33320                zIndex: 1
33321            }).eq(a.currentSlide).css({opacity: 1, zIndex: 2}) : 0 == a.vars.fadeFirstSlide ? a.slides.css({
33322                opacity: 0,
33323                display: "block",
33324                zIndex: 1
33325            }).eq(a.currentSlide).css({zIndex: 2}).css({opacity: 1}) : a.slides.css({
33326                opacity: 0,
33327                display: "block",
33328                zIndex: 1
33329            }).eq(a.currentSlide).css({zIndex: 2}).animate({opacity: 1}, a.vars.animationSpeed, a.vars.easing)), a.vars.smoothHeight && m.smoothHeight(); else {
33330                var t, i;
vendor: 4,397 bytes, lines 33331-33373
33331                "init" === e && (a.viewport = $('<div class="' + n + 'viewport"></div>').css({
33332                    overflow: "hidden",
33333                    position: "relative"
33334                }).appendTo(a).append(a.container), a.cloneCount = 0, a.cloneOffset = 0, d && (i = $.makeArray(a.slides).reverse(), a.slides = $(i), a.container.empty().append(a.slides))), a.vars.animationLoop && !u && (a.cloneCount = 2, a.cloneOffset = 1, "init" !== e && a.container.find(".clone").remove(), a.container.append(m.uniqueID(a.slides.first().clone().addClass("clone")).attr("aria-hidden", "true")).prepend(m.uniqueID(a.slides.last().clone().addClass("clone")).attr("aria-hidden", "true"))), a.newSlides = $(a.vars.selector, a), t = d ? a.count - 1 - a.currentSlide + a.cloneOffset : a.currentSlide + a.cloneOffset, c && !u ? (a.container.height(200 * (a.count + a.cloneCount) + "%").css("position", "absolute").width("100%"), setTimeout(function () {
33335                    a.newSlides.css({display: "block"}), a.doMath(), a.viewport.height(a.h), a.setProps(t * a.h, "init")
33336                }, "init" === e ? 100 : 0)) : (a.container.width(200 * (a.count + a.cloneCount) + "%"), a.setProps(t * a.computedW, "init"), setTimeout(function () {
33337                    a.doMath(), a.newSlides.css({
33338                        width: a.computedW,
33339                        "float": "left",
33340                        display: "block"
33341                    }), a.vars.smoothHeight && m.smoothHeight()
33342                }, "init" === e ? 100 : 0))
33343            }
33344            u || a.slides.removeClass(n + "active-slide").eq(a.currentSlide).addClass(n + "active-slide"), a.vars.init(a)
33345        }, a.doMath = function () {
33346            var e = a.slides.first(), t = a.vars.itemMargin, n = a.vars.minItems, i = a.vars.maxItems;
33347            a.w = void 0 === a.viewport ? a.width() : a.viewport.width(), a.h = e.height(), a.boxPadding = e.outerWidth() - e.width(), u ? (a.itemT = a.vars.itemWidth + t, a.minW = n ? n * a.itemT : a.w, a.maxW = i ? i * a.itemT - t : a.w, a.itemW = a.minW > a.w ? (a.w - t * (n - 1)) / n : a.maxW < a.w ? (a.w - t * (i - 1)) / i : a.vars.itemWidth > a.w ? a.w : a.vars.itemWidth, a.visible = Math.floor(a.w / a.itemW), a.move = a.vars.move > 0 && a.vars.move < a.visible ? a.vars.move : a.visible, a.pagingCount = Math.ceil((a.count - a.visible) / a.move + 1), a.last = a.pagingCount - 1, a.limit = 1 === a.pagingCount ? 0 : a.vars.itemWidth > a.w ? a.itemW * (a.count - 1) + t * (a.count - 1) : (a.itemW + t) * a.count - a.w - t) : (a.itemW = a.w, a.pagingCount = a.count, a.last = a.count - 1), a.computedW = a.itemW - a.boxPadding
33348        }, a.update = function (e, t) {
33349            a.doMath(), u || (e < a.currentSlide ? a.currentSlide += 1 : e <= a.currentSlide && 0 !== e && (a.currentSlide -= 1), a.animatingTo = a.currentSlide), a.vars.controlNav && !a.manualControls && ("add" === t && !u || a.pagingCount > a.controlNav.length ? m.controlNav.update("add") : ("remove" === t && !u || a.pagingCount < a.controlNav.length) && (u && a.currentSlide > a.last && (a.currentSlide -= 1, a.animatingTo -= 1), m.controlNav.update("remove", a.last))), a.vars.directionNav && m.directionNav.update()
33350        }, a.addSlide = function (e, t) {
33351            var n = $(e);
33352            a.count += 1, a.last = a.count - 1, c && d ? void 0 !== t ? a.slides.eq(a.count - t).after(n) : a.container.prepend(n) : void 0 !== t ? a.slides.eq(t).before(n) : a.container.append(n), a.update(t, "add"), a.slides = $(a.vars.selector + ":not(.clone)", a), a.setup(), a.vars.added(a)
33353        }, a.removeSlide = function (e) {
33354            var t = isNaN(e) ? a.slides.index($(e)) : e;
33355            a.count -= 1, a.last = a.count - 1, isNaN(e) ? $(e, a.slides).remove() : c && d ? a.slides.eq(a.last).remove() : a.slides.eq(e).remove(), a.doMath(), a.update(t, "remove"), a.slides = $(a.vars.selector + ":not(.clone)", a), a.setup(), a.vars.removed(a)
33356        }, m.init()
33357    }, $(window).blur(function (e) {
33358        focused = !1
33359    }).focus(function (e) {
33360        focused = !0
33361    }), $.flexslider.defaults = {
33362        namespace: "flex-",
33363        selector: ".slides > li",
33364        animation: "fade",
33365        easing: "swing",
33366        direction: "horizontal",
33367        reverse: !1,
33368        animationLoop: !0,
33369        smoothHeight: !1,
33370        startAt: 0,
33371        slideshow: !0,
33372        slideshowSpeed: 7e3,
33373        animationSpeed: 600,
33374        initDelay: 0,
33375        randomize: !1,
33376        fadeFirstSlide: !0,
33377        thumbCaptions: !1,
33378        pauseOnAction: !0,
33379        pauseOnHover: !1,
33380        pauseInvisible: !0,
33381        useCSS: !0,
33382        touch: !0,
33383        video: !1,
33384        controlNav: !0,
33385        directionNav: !0,
33386        prevText: "Previous",
33387        nextText: "Next",
33388        keyboard: !0,
33389        multipleKeyboard: !1,
33390        mousewheel: !1,
33391        pausePlay: !1,
33392        pauseText: "Pause",
33393        playText: "Play",
33394        controlsContainer: "",
33395        manualControls: "",
33396        customDirectionNav: "",
33397        sync: "",
33398        asNavFor: "",
33399        itemWidth: 0,
33400        itemMargin: 0,
33401        minItems: 1,
33402        maxItems: 0,
33403        move: 0,
33404        allowOneSlide: !0,
33405        start: function () {
33406        },
33407        before: function () {
33408        },
33409        after: function () {
33410        },
33411        end: function () {
33412        },
33413        added: function () {
33414        },
33415        removed: function () {
33416        },
33417        init: function () {
33418        }
33419    }, $.fn.flexslider = function (e) {
33420        if (void 0 === e && (e = {}), "object" == typeof e) return this.each(function () {
33421            var t = $(this), a = e.selector ? e.selector : ".slides > li", n = t.find(a);
33422            1 === n.length && e.allowOneSlide === !0 || 0 === n.length ? (n.fadeIn(400), e.start && e.start(t)) : void 0 === t.data("flexslider") && new $.flexslider(this, e)
33423        });
33424        var t = $(this).data("flexslider");
33425        switch (e) {
33426            case"play":
33427                t.play();
33428                break;
33429            case"pause":
33430                t.pause();
33431                break;
33432            case"stop":
33433                t.stop();
33434                break;
33435            case"next":
33436                t.flexAnimate(t.getTarget("next"), !0);
33437                break;
33438            case"prev":
33439            case"previous":
33440                t.flexAnimate(t.getTarget("prev"), !0);
33441                break;
33442            default:
33443                "number" == typeof e && t.flexAnimate(e, !0)
33444        }
33445    }
33446}(jQuery), !function (a) {
33447    var b = {
33448        mode: "horizontal",
33449        slideSelector: "",
33450        infiniteLoop: !0,
33451        hideControlOnEnd: !1,
33452        speed: 500,
33453        easing: null,
33454        slideMargin: 0,
33455        startSlide: 0,
33456        randomStart: !1,
33457        captions: !1,
33458        ticker: !1,
33459        tickerHover: !1,
33460        adaptiveHeight: !1,
33461        adaptiveHeightSpeed: 500,
33462        video: !1,
33463        useCSS: !0,
33464        preloadImages: "visible",
33465        responsive: !0,
33466        slideZIndex: 50,
33467        wrapperClass: "bx-wrapper",
33468        touchEnabled: !0,
33469        swipeThreshold: 50,
33470        oneToOneTouch: !0,
33471        preventDefaultSwipeX: !0,
33472        preventDefaultSwipeY: !1,
33473        ariaLive: !0,
33474        ariaHidden: !0,
33475        keyboardEnabled: !1,
33476        pager: !0,
33477        pagerType: "full",
33478        pagerShortSeparator: " / ",
33479        pagerSelector: null,
33480        buildPager: null,
33481        pagerCustom: null,
33482        controls: !0,
33483        nextText: "Next",
33484        prevText: "Prev",
33485        nextSelector: null,
33486        prevSelector: null,
33487        autoControls: !1,
33488        startText: "Start",
33489        stopText: "Stop",
33490        autoControlsCombine: !1,
33491        autoControlsSelector: null,
33492        auto: !1,
33493        pause: 4e3,
33494        autoStart: !0,
33495        autoDirection: "next",
33496        stopAutoOnClick: !1,
33497        autoHover: !1,
33498        autoDelay: 0,
33499        autoSlideForOnePage: !1,
33500        minSlides: 1,
33501        maxSlides: 1,
33502        moveSlides: 0,
33503        slideWidth: 0,
33504        shrinkItems: !1,
33505        onSliderLoad: function () {
33506            return !0
33507        },
33508        onSlideBefore: function () {
33509            return !0
33510        },
33511        onSlideAfter: function () {
33512            return !0
33513        },
33514        onSlideNext: function () {
33515            return !0
33516        },
33517        onSlidePrev: function () {
33518            return !0
33519        },
33520        onSliderResize: function () {
33521            return !0
33522        }
33523    };
33524    a.fn.bxSlider = function (c) {
33525        if (0 === this.length) return this;
33526        if (this.length > 1) return this.each(function () {
33527            a(this).bxSlider(c)
33528        }), this;
33529        var d = {}, e = this, f = a(window).width(), g = a(window).height();
33530        if (!a(e).data("bxSlider")) {
33531            var h = function () {
33532                a(e).data("bxSlider") || (d.settings = a.extend({}, b, c), d.settings.slideWidth = parseInt(d.settings.slideWidth), d.children = e.children(d.settings.slideSelector), d.children.length < d.settings.minSlides && (d.settings.minSlides = d.children.length), d.children.length < d.settings.maxSlides && (d.settings.maxSlides = d.children.length), d.settings.randomStart && (d.settings.startSlide = Math.floor(Math.random() * d.children.length)), d.active = {index: d.settings.startSlide}, d.carousel = d.settings.minSlides > 1 || d.settings.maxSlides > 1 ? !0 : !1, d.carousel && (d.settings.preloadImages = "all"), d.minThreshold = d.settings.minSlides * d.settings.slideWidth + (d.settings.minSlides - 1) * d.settings.slideMargin, d.maxThreshold = d.settings.maxSlides * d.settings.slideWidth + (d.settings.maxSlides - 1) * d.settings.slideMargin, d.working = !1, d.controls = {}, d.interval = null, d.animProp = "vertical" === d.settings.mode ? "top" : "left", d.usingCSS = d.settings.useCSS && "fade" !== d.settings.mode && function () {
33533                    for (var a = document.createElement("div"), b = ["WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"], c = 0; c < b.length; c++) if (void 0 !== a.style[b[c]]) return d.cssPrefix = b[c].replace("Perspective", "").toLowerCase(), d.animProp = "-" + d.cssPrefix + "-transform", !0;
33534                    return !1
33535                }(), "vertical" === d.settings.mode && (d.settings.maxSlides = d.settings.minSlides), e.data("origStyle", e.attr("style")), e.children(d.settings.slideSelector).each(function () {
33536                    a(this).data("origStyle", a(this).attr("style"))
33537                }), j())
33538            }, j = function () {
33539                var b = d.children.eq(d.settings.startSlide);
vendor: 26,806 bytes, lines 33540-33773
33540                e.wrap('<div class="' + d.settings.wrapperClass + '"><div class="bx-viewport"></div></div>'), d.viewport = e.parent(), d.settings.ariaLive && !d.settings.ticker && d.viewport.attr("aria-live", "polite"), d.loader = a('<div class="bx-loading" />'), d.viewport.prepend(d.loader), e.css({
33541                    width: "horizontal" === d.settings.mode ? 1e3 * d.children.length + 215 + "%" : "auto",
33542                    position: "relative"
33543                }), d.usingCSS && d.settings.easing ? e.css("-" + d.cssPrefix + "-transition-timing-function", d.settings.easing) : d.settings.easing || (d.settings.easing = "swing"), d.viewport.css({
33544                    width: "100%",
33545                    overflow: "hidden",
33546                    position: "relative"
33547                }), d.viewport.parent().css({maxWidth: n()}), d.settings.pager || d.settings.controls || d.viewport.parent().css({margin: "0 auto 0px"}), d.children.css({
33548                    "float": "horizontal" === d.settings.mode ? "left" : "none",
33549                    listStyle: "none",
33550                    position: "relative"
33551                }), d.children.css("width", o()), "horizontal" === d.settings.mode && d.settings.slideMargin > 0 && d.children.css("marginRight", d.settings.slideMargin), "vertical" === d.settings.mode && d.settings.slideMargin > 0 && d.children.css("marginBottom", d.settings.slideMargin), "fade" === d.settings.mode && (d.children.css({
33552                    position: "absolute",
33553                    zIndex: 0,
33554                    display: "none"
33555                }), d.children.eq(d.settings.startSlide).css({
33556                    zIndex: d.settings.slideZIndex,
33557                    display: "block"
33558                })), d.controls.el = a('<div class="bx-controls" />'), d.settings.captions && y(), d.active.last = d.settings.startSlide === q() - 1, d.settings.video && e.fitVids(), ("all" === d.settings.preloadImages || d.settings.ticker) && (b = d.children), d.settings.ticker ? d.settings.pager = !1 : (d.settings.controls && w(), d.settings.auto && d.settings.autoControls && x(), d.settings.pager && v(), (d.settings.controls || d.settings.autoControls || d.settings.pager) && d.viewport.after(d.controls.el)), k(b, l)
33559            }, k = function (b, c) {
33560                var d = b.find('img:not([src=""]), iframe').length, e = 0;
33561                return 0 === d ? void c() : void b.find('img:not([src=""]), iframe').each(function () {
33562                    a(this).one("load error", function () {
33563                        ++e === d && c()
33564                    }).each(function () {
33565                        this.complete && a(this).load()
33566                    })
33567                })
33568            }, l = function () {
33569                if (d.settings.infiniteLoop && "fade" !== d.settings.mode && !d.settings.ticker) {
33570                    var b = "vertical" === d.settings.mode ? d.settings.minSlides : d.settings.maxSlides,
33571                        c = d.children.slice(0, b).clone(!0).addClass("bx-clone"),
33572                        f = d.children.slice(-b).clone(!0).addClass("bx-clone");
33573                    d.settings.ariaHidden && (c.attr("aria-hidden", !0), f.attr("aria-hidden", !0)), e.append(c).prepend(f)
33574                }
33575                d.loader.remove(), s(), "vertical" === d.settings.mode && (d.settings.adaptiveHeight = !0), d.viewport.height(m()), e.redrawSlider(), d.settings.onSliderLoad.call(e, d.active.index), d.initialized = !0, d.settings.responsive && a(window).bind("resize", S), d.settings.auto && d.settings.autoStart && (q() > 1 || d.settings.autoSlideForOnePage) && I(), d.settings.ticker && J(), d.settings.pager && E(d.settings.startSlide), d.settings.controls && H(), d.settings.touchEnabled && !d.settings.ticker && N(), d.settings.keyboardEnabled && !d.settings.ticker && a(document).keydown(M)
33576            }, m = function () {
33577                var b = 0, c = a();
33578                if ("vertical" === d.settings.mode || d.settings.adaptiveHeight) if (d.carousel) {
33579                    var e = 1 === d.settings.moveSlides ? d.active.index : d.active.index * r();
33580                    for (c = d.children.eq(e), i = 1; i <= d.settings.maxSlides - 1; i++) c = e + i >= d.children.length ? c.add(d.children.eq(i - 1)) : c.add(d.children.eq(e + i))
33581                } else c = d.children.eq(d.active.index); else c = d.children;
33582                return "vertical" === d.settings.mode ? (c.each(function (c) {
33583                    b += a(this).outerHeight()
33584                }), d.settings.slideMargin > 0 && (b += d.settings.slideMargin * (d.settings.minSlides - 1))) : b = Math.max.apply(Math, c.map(function () {
33585                    return a(this).outerHeight(!1)
33586                }).get()), "border-box" === d.viewport.css("box-sizing") ? b += parseFloat(d.viewport.css("padding-top")) + parseFloat(d.viewport.css("padding-bottom")) + parseFloat(d.viewport.css("border-top-width")) + parseFloat(d.viewport.css("border-bottom-width")) : "padding-box" === d.viewport.css("box-sizing") && (b += parseFloat(d.viewport.css("padding-top")) + parseFloat(d.viewport.css("padding-bottom"))), b
33587            }, n = function () {
33588                var a = "100%";
33589                return d.settings.slideWidth > 0 && (a = "horizontal" === d.settings.mode ? d.settings.maxSlides * d.settings.slideWidth + (d.settings.maxSlides - 1) * d.settings.slideMargin : d.settings.slideWidth), a
33590            }, o = function () {
33591                var a = d.settings.slideWidth, b = d.viewport.width();
33592                if (0 === d.settings.slideWidth || d.settings.slideWidth > b && !d.carousel || "vertical" === d.settings.mode) a = b; else if (d.settings.maxSlides > 1 && "horizontal" === d.settings.mode) {
33593                    if (b > d.maxThreshold) return a;
33594                    b < d.minThreshold ? a = (b - d.settings.slideMargin * (d.settings.minSlides - 1)) / d.settings.minSlides : d.settings.shrinkItems && (a = Math.floor((b + d.settings.slideMargin) / Math.ceil((b + d.settings.slideMargin) / (a + d.settings.slideMargin)) - d.settings.slideMargin))
33595                }
33596                return a
33597            }, p = function () {
33598                var a = 1, b = null;
33599                return "horizontal" === d.settings.mode && d.settings.slideWidth > 0 ? d.viewport.width() < d.minThreshold ? a = d.settings.minSlides : d.viewport.width() > d.maxThreshold ? a = d.settings.maxSlides : (b = d.children.first().width() + d.settings.slideMargin, a = Math.floor((d.viewport.width() + d.settings.slideMargin) / b)) : "vertical" === d.settings.mode && (a = d.settings.minSlides), a
33600            }, q = function () {
33601                var a = 0, b = 0, c = 0;
33602                if (d.settings.moveSlides > 0) if (d.settings.infiniteLoop) a = Math.ceil(d.children.length / r()); else for (; b < d.children.length;) ++a, b = c + p(), c += d.settings.moveSlides <= p() ? d.settings.moveSlides : p(); else a = Math.ceil(d.children.length / p());
33603                return a
33604            }, r = function () {
33605                return d.settings.moveSlides > 0 && d.settings.moveSlides <= p() ? d.settings.moveSlides : p()
33606            }, s = function () {
33607                var a, b, c;
33608                d.children.length > d.settings.maxSlides && d.active.last && !d.settings.infiniteLoop ? "horizontal" === d.settings.mode ? (b = d.children.last(), a = b.position(), t(-(a.left - (d.viewport.width() - b.outerWidth())), "reset", 0)) : "vertical" === d.settings.mode && (c = d.children.length - d.settings.minSlides, a = d.children.eq(c).position(), t(-a.top, "reset", 0)) : (a = d.children.eq(d.active.index * r()).position(), d.active.index === q() - 1 && (d.active.last = !0), void 0 !== a && ("horizontal" === d.settings.mode ? t(-a.left, "reset", 0) : "vertical" === d.settings.mode && t(-a.top, "reset", 0)))
33609            }, t = function (b, c, f, g) {
33610                var h, i;
33611                d.usingCSS ? (i = "vertical" === d.settings.mode ? "translate3d(0, " + b + "px, 0)" : "translate3d(" + b + "px, 0, 0)", e.css("-" + d.cssPrefix + "-transition-duration", f / 1e3 + "s"), "slide" === c ? (e.css(d.animProp, i), 0 !== f ? e.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function (b) {
33612                    a(b.target).is(e) && (e.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"), F())
33613                }) : F()) : "reset" === c ? e.css(d.animProp, i) : "ticker" === c && (e.css("-" + d.cssPrefix + "-transition-timing-function", "linear"), e.css(d.animProp, i), 0 !== f ? e.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function (b) {
33614                    a(b.target).is(e) && (e.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"), t(g.resetValue, "reset", 0), K())
33615                }) : (t(g.resetValue, "reset", 0), K()))) : (h = {}, h[d.animProp] = b, "slide" === c ? e.animate(h, f, d.settings.easing, function () {
33616                    F()
33617                }) : "reset" === c ? e.css(d.animProp, b) : "ticker" === c && e.animate(h, f, "linear", function () {
33618                    t(g.resetValue, "reset", 0), K()
33619                }))
33620            }, u = function () {
33621                for (var b = "", c = "", e = q(), f = 0; e > f; f++) c = "", d.settings.buildPager && a.isFunction(d.settings.buildPager) || d.settings.pagerCustom ? (c = d.settings.buildPager(f), d.pagerEl.addClass("bx-custom-pager")) : (c = f + 1, d.pagerEl.addClass("bx-default-pager")), b += '<div class="bx-pager-item"><a href="" data-slide-index="' + f + '" class="bx-pager-link">' + c + "</a></div>";
33622                d.pagerEl.html(b)
33623            }, v = function () {
33624                d.settings.pagerCustom ? d.pagerEl = a(d.settings.pagerCustom) : (d.pagerEl = a('<div class="bx-pager" />'), d.settings.pagerSelector ? a(d.settings.pagerSelector).html(d.pagerEl) : d.controls.el.addClass("bx-has-pager").append(d.pagerEl), u()), d.pagerEl.on("click touchend", "a", D)
33625            }, w = function () {
33626                d.controls.next = a('<a class="bx-next" href="">' + d.settings.nextText + "</a>"), d.controls.prev = a('<a class="bx-prev" href="">' + d.settings.prevText + "</a>"), d.controls.next.bind("click touchend", z), d.controls.prev.bind("click touchend", A), d.settings.nextSelector && a(d.settings.nextSelector).append(d.controls.next), d.settings.prevSelector && a(d.settings.prevSelector).append(d.controls.prev), d.settings.nextSelector || d.settings.prevSelector || (d.controls.directionEl = a('<div class="bx-controls-direction" />'), d.controls.directionEl.append(d.controls.prev).append(d.controls.next), d.controls.el.addClass("bx-has-controls-direction").append(d.controls.directionEl))
33627            }, x = function () {
33628                d.controls.start = a('<div class="bx-controls-auto-item"><a class="bx-start" href="">' + d.settings.startText + "</a></div>"), d.controls.stop = a('<div class="bx-controls-auto-item"><a class="bx-stop" href="">' + d.settings.stopText + "</a></div>"), d.controls.autoEl = a('<div class="bx-controls-auto" />'), d.controls.autoEl.on("click", ".bx-start", B), d.controls.autoEl.on("click", ".bx-stop", C), d.settings.autoControlsCombine ? d.controls.autoEl.append(d.controls.start) : d.controls.autoEl.append(d.controls.start).append(d.controls.stop), d.settings.autoControlsSelector ? a(d.settings.autoControlsSelector).html(d.controls.autoEl) : d.controls.el.addClass("bx-has-controls-auto").append(d.controls.autoEl), G(d.settings.autoStart ? "stop" : "start")
33629            }, y = function () {
33630                d.children.each(function (b) {
33631                    var c = a(this).find("img:first").attr("title");
33632                    void 0 !== c && ("" + c).length && a(this).append('<div class="bx-caption"><span>' + c + "</span></div>")
33633                })
33634            }, z = function (a) {
33635                a.preventDefault(), d.controls.el.hasClass("disabled") || (d.settings.auto && d.settings.stopAutoOnClick && e.stopAuto(), e.goToNextSlide())
33636            }, A = function (a) {
33637                a.preventDefault(), d.controls.el.hasClass("disabled") || (d.settings.auto && d.settings.stopAutoOnClick && e.stopAuto(), e.goToPrevSlide())
33638            }, B = function (a) {
33639                e.startAuto(), a.preventDefault()
33640            }, C = function (a) {
33641                e.stopAuto(), a.preventDefault()
33642            }, D = function (b) {
33643                var c, f;
33644                b.preventDefault(), d.controls.el.hasClass("disabled") || (d.settings.auto && d.settings.stopAutoOnClick && e.stopAuto(), c = a(b.currentTarget), void 0 !== c.attr("data-slide-index") && (f = parseInt(c.attr("data-slide-index")), f !== d.active.index && e.goToSlide(f)))
33645            }, E = function (b) {
33646                var c = d.children.length;
33647                return "short" === d.settings.pagerType ? (d.settings.maxSlides > 1 && (c = Math.ceil(d.children.length / d.settings.maxSlides)), void d.pagerEl.html(b + 1 + d.settings.pagerShortSeparator + c)) : (d.pagerEl.find("a").removeClass("active"), void d.pagerEl.each(function (c, d) {
33648                    a(d).find("a").eq(b).addClass("active")
33649                }))
33650            }, F = function () {
33651                if (d.settings.infiniteLoop) {
33652                    var a = "";
33653                    0 === d.active.index ? a = d.children.eq(0).position() : d.active.index === q() - 1 && d.carousel ? a = d.children.eq((q() - 1) * r()).position() : d.active.index === d.children.length - 1 && (a = d.children.eq(d.children.length - 1).position()), a && ("horizontal" === d.settings.mode ? t(-a.left, "reset", 0) : "vertical" === d.settings.mode && t(-a.top, "reset", 0))
33654                }
33655                d.working = !1, d.settings.onSlideAfter.call(e, d.children.eq(d.active.index), d.oldIndex, d.active.index)
33656            }, G = function (a) {
33657                d.settings.autoControlsCombine ? d.controls.autoEl.html(d.controls[a]) : (d.controls.autoEl.find("a").removeClass("active"), d.controls.autoEl.find("a:not(.bx-" + a + ")").addClass("active"))
33658            }, H = function () {
33659                1 === q() ? (d.controls.prev.addClass("disabled"), d.controls.next.addClass("disabled")) : !d.settings.infiniteLoop && d.settings.hideControlOnEnd && (0 === d.active.index ? (d.controls.prev.addClass("disabled"), d.controls.next.removeClass("disabled")) : d.active.index === q() - 1 ? (d.controls.next.addClass("disabled"), d.controls.prev.removeClass("disabled")) : (d.controls.prev.removeClass("disabled"), d.controls.next.removeClass("disabled")))
33660            }, I = function () {
33661                d.settings.autoDelay > 0 ? setTimeout(e.startAuto, d.settings.autoDelay) : (e.startAuto(), a(window).focus(function () {
33662                    e.startAuto()
33663                }).blur(function () {
33664                    e.stopAuto()
33665                })), d.settings.autoHover && e.hover(function () {
33666                    d.interval && (e.stopAuto(!0), d.autoPaused = !0)
33667                }, function () {
33668                    d.autoPaused && (e.startAuto(!0), d.autoPaused = null)
33669                })
33670            }, J = function () {
33671                var b, c, f, g, h, i, j, k, l = 0;
33672                "next" === d.settings.autoDirection ? e.append(d.children.clone().addClass("bx-clone")) : (e.prepend(d.children.clone().addClass("bx-clone")), b = d.children.first().position(), l = "horizontal" === d.settings.mode ? -b.left : -b.top), t(l, "reset", 0), d.settings.pager = !1, d.settings.controls = !1, d.settings.autoControls = !1, d.settings.tickerHover && (d.usingCSS ? (g = "horizontal" === d.settings.mode ? 4 : 5, d.viewport.hover(function () {
33673                    c = e.css("-" + d.cssPrefix + "-transform"), f = parseFloat(c.split(",")[g]), t(f, "reset", 0)
33674                }, function () {
33675                    k = 0, d.children.each(function (b) {
33676                        k += "horizontal" === d.settings.mode ? a(this).outerWidth(!0) : a(this).outerHeight(!0)
33677                    }), h = d.settings.speed / k, i = "horizontal" === d.settings.mode ? "left" : "top", j = h * (k - Math.abs(parseInt(f))), K(j)
33678                })) : d.viewport.hover(function () {
33679                    e.stop()
33680                }, function () {
33681                    k = 0, d.children.each(function (b) {
33682                        k += "horizontal" === d.settings.mode ? a(this).outerWidth(!0) : a(this).outerHeight(!0)
33683                    }), h = d.settings.speed / k, i = "horizontal" === d.settings.mode ? "left" : "top", j = h * (k - Math.abs(parseInt(e.css(i)))), K(j)
33684                })), K()
33685            }, K = function (a) {
33686                var b, c, f, g = a ? a : d.settings.speed, h = {left: 0, top: 0}, i = {left: 0, top: 0};
33687                "next" === d.settings.autoDirection ? h = e.find(".bx-clone").first().position() : i = d.children.first().position(), b = "horizontal" === d.settings.mode ? -h.left : -h.top, c = "horizontal" === d.settings.mode ? -i.left : -i.top, f = {resetValue: c}, t(b, "ticker", g, f)
33688            }, L = function (b) {
33689                var c = a(window), d = {top: c.scrollTop(), left: c.scrollLeft()}, e = b.offset();
33690                return d.right = d.left + c.width(), d.bottom = d.top + c.height(), e.right = e.left + b.outerWidth(), e.bottom = e.top + b.outerHeight(), !(d.right < e.left || d.left > e.right || d.bottom < e.top || d.top > e.bottom)
33691            }, M = function (a) {
33692                var b = document.activeElement.tagName.toLowerCase(), c = "input|textarea", d = new RegExp(b, ["i"]),
33693                    f = d.exec(c);
33694                if (null == f && L(e)) {
33695                    if (39 === a.keyCode) return z(a), !1;
33696                    if (37 === a.keyCode) return A(a), !1
33697                }
33698            }, N = function () {
33699                d.touch = {
33700                    start: {x: 0, y: 0},
33701                    end: {x: 0, y: 0}
33702                }, d.viewport.bind("touchstart MSPointerDown pointerdown", O), d.viewport.on("click", ".bxslider a", function (a) {
33703                    d.viewport.hasClass("click-disabled") && (a.preventDefault(), d.viewport.removeClass("click-disabled"))
33704                })
33705            }, O = function (a) {
33706                if (d.controls.el.addClass("disabled"), d.working) a.preventDefault(), d.controls.el.removeClass("disabled"); else {
33707                    d.touch.originalPos = e.position();
33708                    var b = a.originalEvent, c = "undefined" != typeof b.changedTouches ? b.changedTouches : [b];
33709                    d.touch.start.x = c[0].pageX, d.touch.start.y = c[0].pageY, d.viewport.get(0).setPointerCapture && (d.pointerId = b.pointerId, d.viewport.get(0).setPointerCapture(d.pointerId)), d.viewport.bind("touchmove MSPointerMove pointermove", Q), d.viewport.bind("touchend MSPointerUp pointerup", R), d.viewport.bind("MSPointerCancel pointercancel", P)
33710                }
33711            }, P = function (a) {
33712                t(d.touch.originalPos.left, "reset", 0), d.controls.el.removeClass("disabled"), d.viewport.unbind("MSPointerCancel pointercancel", P), d.viewport.unbind("touchmove MSPointerMove pointermove", Q), d.viewport.unbind("touchend MSPointerUp pointerup", R), d.viewport.get(0).releasePointerCapture && d.viewport.get(0).releasePointerCapture(d.pointerId)
33713            }, Q = function (a) {
33714                var b = a.originalEvent, c = "undefined" != typeof b.changedTouches ? b.changedTouches : [b],
33715                    e = Math.abs(c[0].pageX - d.touch.start.x), f = Math.abs(c[0].pageY - d.touch.start.y), g = 0,
33716                    h = 0;
33717                3 * e > f && d.settings.preventDefaultSwipeX ? a.preventDefault() : 3 * f > e && d.settings.preventDefaultSwipeY && a.preventDefault(), "fade" !== d.settings.mode && d.settings.oneToOneTouch && ("horizontal" === d.settings.mode ? (h = c[0].pageX - d.touch.start.x, g = d.touch.originalPos.left + h) : (h = c[0].pageY - d.touch.start.y, g = d.touch.originalPos.top + h), t(g, "reset", 0))
33718            }, R = function (a) {
33719                d.viewport.unbind("touchmove MSPointerMove pointermove", Q), d.controls.el.removeClass("disabled");
33720                var b = a.originalEvent, c = "undefined" != typeof b.changedTouches ? b.changedTouches : [b], f = 0,
33721                    g = 0;
33722                d.touch.end.x = c[0].pageX, d.touch.end.y = c[0].pageY, "fade" === d.settings.mode ? (g = Math.abs(d.touch.start.x - d.touch.end.x), g >= d.settings.swipeThreshold && (d.touch.start.x > d.touch.end.x ? e.goToNextSlide() : e.goToPrevSlide(), e.stopAuto())) : ("horizontal" === d.settings.mode ? (g = d.touch.end.x - d.touch.start.x, f = d.touch.originalPos.left) : (g = d.touch.end.y - d.touch.start.y, f = d.touch.originalPos.top), !d.settings.infiniteLoop && (0 === d.active.index && g > 0 || d.active.last && 0 > g) ? t(f, "reset", 200) : Math.abs(g) >= d.settings.swipeThreshold ? (0 > g ? e.goToNextSlide() : e.goToPrevSlide(), e.stopAuto()) : t(f, "reset", 200)), d.viewport.unbind("touchend MSPointerUp pointerup", R), d.viewport.get(0).releasePointerCapture && d.viewport.get(0).releasePointerCapture(d.pointerId)
33723            }, S = function (b) {
33724                if (d.initialized) if (d.working) window.setTimeout(S, 10); else {
33725                    var c = a(window).width(), h = a(window).height();
33726                    (f !== c || g !== h) && (f = c, g = h, e.redrawSlider(), d.settings.onSliderResize.call(e, d.active.index))
33727                }
33728            }, T = function (a) {
33729                var b = p();
33730                d.settings.ariaHidden && !d.settings.ticker && (d.children.attr("aria-hidden", "true"), d.children.slice(a, a + b).attr("aria-hidden", "false"))
33731            }, U = function (a) {
33732                return 0 > a ? d.settings.infiniteLoop ? q() - 1 : d.active.index : a >= q() ? d.settings.infiniteLoop ? 0 : d.active.index : a
33733            };
33734            return e.goToSlide = function (b, c) {
33735                var f, g, h, i, j = !0, k = 0, l = {left: 0, top: 0}, n = null;
33736                if (d.oldIndex = d.active.index, d.active.index = U(b), !d.working && d.active.index !== d.oldIndex) {
33737                    if (d.working = !0, j = d.settings.onSlideBefore.call(e, d.children.eq(d.active.index), d.oldIndex, d.active.index), "undefined" != typeof j && !j) return d.active.index = d.oldIndex, void (d.working = !1);
33738                    "next" === c ? d.settings.onSlideNext.call(e, d.children.eq(d.active.index), d.oldIndex, d.active.index) || (j = !1) : "prev" === c && (d.settings.onSlidePrev.call(e, d.children.eq(d.active.index), d.oldIndex, d.active.index) || (j = !1)), d.active.last = d.active.index >= q() - 1, (d.settings.pager || d.settings.pagerCustom) && E(d.active.index), d.settings.controls && H(), "fade" === d.settings.mode ? (d.settings.adaptiveHeight && d.viewport.height() !== m() && d.viewport.animate({height: m()}, d.settings.adaptiveHeightSpeed), d.children.filter(":visible").fadeOut(d.settings.speed).css({zIndex: 0}), d.children.eq(d.active.index).css("zIndex", d.settings.slideZIndex + 1).fadeIn(d.settings.speed, function () {
33739                        a(this).css("zIndex", d.settings.slideZIndex), F()
33740                    })) : (d.settings.adaptiveHeight && d.viewport.height() !== m() && d.viewport.animate({height: m()}, d.settings.adaptiveHeightSpeed), !d.settings.infiniteLoop && d.carousel && d.active.last ? "horizontal" === d.settings.mode ? (n = d.children.eq(d.children.length - 1), l = n.position(), k = d.viewport.width() - n.outerWidth()) : (f = d.children.length - d.settings.minSlides, l = d.children.eq(f).position()) : d.carousel && d.active.last && "prev" === c ? (g = 1 === d.settings.moveSlides ? d.settings.maxSlides - r() : (q() - 1) * r() - (d.children.length - d.settings.maxSlides), n = e.children(".bx-clone").eq(g), l = n.position()) : "next" === c && 0 === d.active.index ? (l = e.find("> .bx-clone").eq(d.settings.maxSlides).position(), d.active.last = !1) : b >= 0 && (i = b * parseInt(r()), l = d.children.eq(i).position()), "undefined" != typeof l ? (h = "horizontal" === d.settings.mode ? -(l.left - k) : -l.top, t(h, "slide", d.settings.speed)) : d.working = !1), d.settings.ariaHidden && T(d.active.index * r())
33741                }
33742            }, e.goToNextSlide = function () {
33743                if (d.settings.infiniteLoop || !d.active.last) {
33744                    var a = parseInt(d.active.index) + 1;
33745                    e.goToSlide(a, "next")
33746                }
33747            }, e.goToPrevSlide = function () {
33748                if (d.settings.infiniteLoop || 0 !== d.active.index) {
33749                    var a = parseInt(d.active.index) - 1;
33750                    e.goToSlide(a, "prev")
33751                }
33752            }, e.startAuto = function (a) {
33753                d.interval || (d.interval = setInterval(function () {
33754                    "next" === d.settings.autoDirection ? e.goToNextSlide() : e.goToPrevSlide()
33755                }, d.settings.pause), d.settings.autoControls && a !== !0 && G("stop"))
33756            }, e.stopAuto = function (a) {
33757                d.interval && (clearInterval(d.interval), d.interval = null, d.settings.autoControls && a !== !0 && G("start"))
33758            }, e.getCurrentSlide = function () {
33759                return d.active.index
33760            }, e.getCurrentSlideElement = function () {
33761                return d.children.eq(d.active.index)
33762            }, e.getSlideElement = function (a) {
33763                return d.children.eq(a)
33764            }, e.getSlideCount = function () {
33765                return d.children.length
33766            }, e.isWorking = function () {
33767                return d.working
33768            }, e.redrawSlider = function () {
33769                d.children.add(e.find(".bx-clone")).outerWidth(o()), d.viewport.css("height", m()), d.settings.ticker || s(), d.active.last && (d.active.index = q() - 1), d.active.index >= q() && (d.active.last = !0), d.settings.pager && !d.settings.pagerCustom && (u(), E(d.active.index)), d.settings.ariaHidden && T(d.active.index * r())
33770            }, e.destroySlider = function () {
33771                d.initialized && (d.initialized = !1, a(".bx-clone", this).remove(), d.children.each(function () {
33772                    void 0 !== a(this).data("origStyle") ? a(this).attr("style", a(this).data("origStyle")) : a(this).removeAttr("style")
33773                }), void 0 !== a(this).data("origStyle") ? this.attr("style", a(this).data("origStyle")) : a(this).removeAttr("style"), a(this).unwrap().unwrap(), d.controls.el && d.controls.el.remove(), d.controls.next && d.controls.next.remove(), d.controls.prev && d.controls.prev.remove(), d.pagerEl && d.settings.controls && !d.settings.pagerCustom && d.pagerEl.remove(), a(".bx-caption", this).remove(), d.controls.autoEl && d.controls.autoEl.remove(), clearInterval(d.interval), d.settings.responsive && a(window).unbind("resize", S), d.settings.keyboardEnabled && a(document).unbind("
vendor: 49,832 bytes, lines 33773-34280
33773keydown", M), a(this).removeData("bxSlider"))
33774            }, e.reloadSlider = function (b) {
33775                void 0 !== b && (c = b), e.destroySlider(), h(), a(e).data("bxSlider", this)
33776            }, h(), a(e).data("bxSlider", this), this
33777        }
33778    }
33779}(jQuery), !function (a) {
33780    "use strict";
33781    "function" == typeof define && define.amd ? define(["jquery"], a) : "undefined" != typeof exports ? module.exports = a(require("jquery")) : a(jQuery)
33782}(function (a) {
33783    "use strict";
33784    var b = window.Slick || {};
33785    b = function () {
33786        function c(c, d) {
33787            var f, e = this;
33788            e.defaults = {
33789                accessibility: !0,
33790                adaptiveHeight: !1,
33791                appendArrows: a(c),
33792                appendDots: a(c),
33793                arrows: !0,
33794                asNavFor: null,
33795                prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
33796                nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
33797                autoplay: !1,
33798                autoplaySpeed: 3e3,
33799                centerMode: !1,
33800                centerPadding: "50px",
33801                cssEase: "ease",
33802                customPaging: function (a, b) {
33803                    return '<button type="button" data-role="none" role="button" aria-required="false" tabindex="0">' + (b + 1) + "</button>"
33804                },
33805                dots: !1,
33806                dotsClass: "slick-dots",
33807                draggable: !0,
33808                easing: "linear",
33809                edgeFriction: .35,
33810                fade: !1,
33811                focusOnSelect: !1,
33812                infinite: !0,
33813                initialSlide: 0,
33814                lazyLoad: "ondemand",
33815                mobileFirst: !1,
33816                pauseOnHover: !0,
33817                pauseOnDotsHover: !1,
33818                respondTo: "window",
33819                responsive: null,
33820                rows: 1,
33821                rtl: !1,
33822                slide: "",
33823                slidesPerRow: 1,
33824                slidesToShow: 1,
33825                slidesToScroll: 1,
33826                speed: 500,
33827                swipe: !0,
33828                swipeToSlide: !1,
33829                touchMove: !0,
33830                touchThreshold: 5,
33831                useCSS: !0,
33832                useTransform: !1,
33833                variableWidth: !1,
33834                vertical: !1,
33835                verticalSwiping: !1,
33836                waitForAnimate: !0,
33837                zIndex: 1e3
33838            }, e.initials = {
33839                animating: !1,
33840                dragging: !1,
33841                autoPlayTimer: null,
33842                currentDirection: 0,
33843                currentLeft: null,
33844                currentSlide: 0,
33845                direction: 1,
33846                $dots: null,
33847                listWidth: null,
33848                listHeight: null,
33849                loadIndex: 0,
33850                $nextArrow: null,
33851                $prevArrow: null,
33852                slideCount: null,
33853                slideWidth: null,
33854                $slideTrack: null,
33855                $slides: null,
33856                sliding: !1,
33857                slideOffset: 0,
33858                swipeLeft: null,
33859                $list: null,
33860                touchObject: {},
33861                transformsEnabled: !1,
33862                unslicked: !1
33863            }, a.extend(e, e.initials), e.activeBreakpoint = null, e.animType = null, e.animProp = null, e.breakpoints = [], e.breakpointSettings = [], e.cssTransitions = !1, e.hidden = "hidden", e.paused = !1, e.positionProp = null, e.respondTo = null, e.rowCount = 1, e.shouldClick = !0, e.$slider = a(c), e.$slidesCache = null, e.transformType = null, e.transitionType = null, e.visibilityChange = "visibilitychange", e.windowWidth = 0, e.windowTimer = null, f = a(c).data("slick") || {}, e.options = a.extend({}, e.defaults, f, d), e.currentSlide = e.options.initialSlide, e.originalSettings = e.options, "undefined" != typeof document.mozHidden ? (e.hidden = "mozHidden", e.visibilityChange = "mozvisibilitychange") : "undefined" != typeof document.webkitHidden && (e.hidden = "webkitHidden", e.visibilityChange = "webkitvisibilitychange"), e.autoPlay = a.proxy(e.autoPlay, e), e.autoPlayClear = a.proxy(e.autoPlayClear, e), e.changeSlide = a.proxy(e.changeSlide, e), e.clickHandler = a.proxy(e.clickHandler, e), e.selectHandler = a.proxy(e.selectHandler, e), e.setPosition = a.proxy(e.setPosition, e), e.swipeHandler = a.proxy(e.swipeHandler, e), e.dragHandler = a.proxy(e.dragHandler, e), e.keyHandler = a.proxy(e.keyHandler, e), e.autoPlayIterator = a.proxy(e.autoPlayIterator, e), e.instanceUid = b++, e.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, e.registerBreakpoints(), e.init(!0), e.checkResponsive(!0)
33864        }
33865
33866        var b = 0;
33867        return c
33868    }(), b.prototype.addSlide = b.prototype.slickAdd = function (b, c, d) {
33869        var e = this;
33870        if ("boolean" == typeof c) d = c, c = null; else if (0 > c || c >= e.slideCount) return !1;
33871        e.unload(), "number" == typeof c ? 0 === c && 0 === e.$slides.length ? a(b).appendTo(e.$slideTrack) : d ? a(b).insertBefore(e.$slides.eq(c)) : a(b).insertAfter(e.$slides.eq(c)) : d === !0 ? a(b).prependTo(e.$slideTrack) : a(b).appendTo(e.$slideTrack), e.$slides = e.$slideTrack.children(this.options.slide), e.$slideTrack.children(this.options.slide).detach(), e.$slideTrack.append(e.$slides), e.$slides.each(function (b, c) {
33872            a(c).attr("data-slick-index", b)
33873        }), e.$slidesCache = e.$slides, e.reinit()
33874    }, b.prototype.animateHeight = function () {
33875        var a = this;
33876        if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) {
33877            var b = a.$slides.eq(a.currentSlide).outerHeight(!0);
33878            a.$list.animate({height: b}, a.options.speed)
33879        }
33880    }, b.prototype.animateSlide = function (b, c) {
33881        var d = {}, e = this;
33882        e.animateHeight(), e.options.rtl === !0 && e.options.vertical === !1 && (b = -b), e.transformsEnabled === !1 ? e.options.vertical === !1 ? e.$slideTrack.animate({left: b}, e.options.speed, e.options.easing, c) : e.$slideTrack.animate({top: b}, e.options.speed, e.options.easing, c) : e.cssTransitions === !1 ? (e.options.rtl === !0 && (e.currentLeft = -e.currentLeft), a({animStart: e.currentLeft}).animate({animStart: b}, {
33883            duration: e.options.speed,
33884            easing: e.options.easing,
33885            step: function (a) {
33886                a = Math.ceil(a), e.options.vertical === !1 ? (d[e.animType] = "translate(" + a + "px, 0px)", e.$slideTrack.css(d)) : (d[e.animType] = "translate(0px," + a + "px)", e.$slideTrack.css(d))
33887            },
33888            complete: function () {
33889                c && c.call()
33890            }
33891        })) : (e.applyTransition(), b = Math.ceil(b), e.options.vertical === !1 ? d[e.animType] = "translate3d(" + b + "px, 0px, 0px)" : d[e.animType] = "translate3d(0px," + b + "px, 0px)", e.$slideTrack.css(d), c && setTimeout(function () {
33892            e.disableTransition(), c.call()
33893        }, e.options.speed))
33894    }, b.prototype.asNavFor = function (b) {
33895        var c = this, d = c.options.asNavFor;
33896        d && null !== d && (d = a(d).not(c.$slider)), null !== d && "object" == typeof d && d.each(function () {
33897            var c = a(this).slick("getSlick");
33898            c.unslicked || c.slideHandler(b, !0)
33899        })
33900    }, b.prototype.applyTransition = function (a) {
33901        var b = this, c = {};
33902        b.options.fade === !1 ? c[b.transitionType] = b.transformType + " " + b.options.speed + "ms " + b.options.cssEase : c[b.transitionType] = "opacity " + b.options.speed + "ms " + b.options.cssEase, b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c)
33903    }, b.prototype.autoPlay = function () {
33904        var a = this;
33905        a.autoPlayTimer && clearInterval(a.autoPlayTimer), a.slideCount > a.options.slidesToShow && a.paused !== !0 && (a.autoPlayTimer = setInterval(a.autoPlayIterator, a.options.autoplaySpeed))
33906    }, b.prototype.autoPlayClear = function () {
33907        var a = this;
33908        a.autoPlayTimer && clearInterval(a.autoPlayTimer)
33909    }, b.prototype.autoPlayIterator = function () {
33910        var a = this;
33911        a.options.infinite === !1 ? 1 === a.direction ? (a.currentSlide + 1 === a.slideCount - 1 && (a.direction = 0), a.slideHandler(a.currentSlide + a.options.slidesToScroll)) : (a.currentSlide - 1 === 0 && (a.direction = 1), a.slideHandler(a.currentSlide - a.options.slidesToScroll)) : a.slideHandler(a.currentSlide + a.options.slidesToScroll)
33912    }, b.prototype.buildArrows = function () {
33913        var b = this;
33914        b.options.arrows === !0 && (b.$prevArrow = a(b.options.prevArrow).addClass("slick-arrow"), b.$nextArrow = a(b.options.nextArrow).addClass("slick-arrow"), b.slideCount > b.options.slidesToShow ? (b.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), b.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.prependTo(b.options.appendArrows), b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.appendTo(b.options.appendArrows), b.options.infinite !== !0 && b.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : b.$prevArrow.add(b.$nextArrow).addClass("slick-hidden").attr({
33915            "aria-disabled": "true",
33916            tabindex: "-1"
33917        }))
33918    }, b.prototype.buildDots = function () {
33919        var c, d, b = this;
33920        if (b.options.dots === !0 && b.slideCount > b.options.slidesToShow) {
33921            for (d = '<ul class="' + b.options.dotsClass + '">', c = 0; c <= b.getDotCount(); c += 1) d += "<li>" + b.options.customPaging.call(this, b, c) + "</li>";
33922            d += "</ul>", b.$dots = a(d).appendTo(b.options.appendDots), b.$dots.find("li").first().addClass("slick-active").attr("aria-hidden", "false")
33923        }
33924    }, b.prototype.buildOut = function () {
33925        var b = this;
33926        b.$slides = b.$slider.children(b.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), b.slideCount = b.$slides.length, b.$slides.each(function (b, c) {
33927            a(c).attr("data-slick-index", b).data("originalStyling", a(c).attr("style") || "")
33928        }), b.$slider.addClass("slick-slider"), b.$slideTrack = 0 === b.slideCount ? a('<div class="slick-track"/>').appendTo(b.$slider) : b.$slides.wrapAll('<div class="slick-track"/>').parent(), b.$list = b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(), b.$slideTrack.css("opacity", 0), (b.options.centerMode === !0 || b.options.swipeToSlide === !0) && (b.options.slidesToScroll = 1), a("img[data-lazy]", b.$slider).not("[src]").addClass("slick-loading"), b.setupInfinite(), b.buildArrows(), b.buildDots(), b.updateDots(), b.setSlideClasses("number" == typeof b.currentSlide ? b.currentSlide : 0), b.options.draggable === !0 && b.$list.addClass("draggable")
33929    }, b.prototype.buildRows = function () {
33930        var b, c, d, e, f, g, h, a = this;
33931        if (e = document.createDocumentFragment(), g = a.$slider.children(), a.options.rows > 1) {
33932            for (h = a.options.slidesPerRow * a.options.rows, f = Math.ceil(g.length / h), b = 0; f > b; b++) {
33933                var i = document.createElement("div");
33934                for (c = 0; c < a.options.rows; c++) {
33935                    var j = document.createElement("div");
33936                    for (d = 0; d < a.options.slidesPerRow; d++) {
33937                        var k = b * h + (c * a.options.slidesPerRow + d);
33938                        g.get(k) && j.appendChild(g.get(k))
33939                    }
33940                    i.appendChild(j)
33941                }
33942                e.appendChild(i)
33943            }
33944            a.$slider.html(e), a.$slider.children().children().children().css({
33945                width: 100 / a.options.slidesPerRow + "%",
33946                display: "inline-block"
33947            })
33948        }
33949    }, b.prototype.checkResponsive = function (b, c) {
33950        var e, f, g, d = this, h = !1, i = d.$slider.width(), j = window.innerWidth || a(window).width();
33951        if ("window" === d.respondTo ? g = j : "slider" === d.respondTo ? g = i : "min" === d.respondTo && (g = Math.min(j, i)), d.options.responsive && d.options.responsive.length && null !== d.options.responsive) {
33952            f = null;
33953            for (e in d.breakpoints) d.breakpoints.hasOwnProperty(e) && (d.originalSettings.mobileFirst === !1 ? g < d.breakpoints[e] && (f = d.breakpoints[e]) : g > d.breakpoints[e] && (f = d.breakpoints[e]));
33954            null !== f ? null !== d.activeBreakpoint ? (f !== d.activeBreakpoint || c) && (d.activeBreakpoint = f, "unslick" === d.breakpointSettings[f] ? d.unslick(f) : (d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f]), b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b)), h = f) : (d.activeBreakpoint = f, "unslick" === d.breakpointSettings[f] ? d.unslick(f) : (d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f]), b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b)), h = f) : null !== d.activeBreakpoint && (d.activeBreakpoint = null, d.options = d.originalSettings, b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b), h = f), b || h === !1 || d.$slider.trigger("breakpoint", [d, h])
33955        }
33956    }, b.prototype.changeSlide = function (b, c) {
33957        var f, g, h, d = this, e = a(b.target);
33958        switch (e.is("a") && b.preventDefault(), e.is("li") || (e = e.closest("li")), h = d.slideCount % d.options.slidesToScroll !== 0, f = h ? 0 : (d.slideCount - d.currentSlide) % d.options.slidesToScroll, b.data.message) {
33959            case"previous":
33960                g = 0 === f ? d.options.slidesToScroll : d.options.slidesToShow - f, d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide - g, !1, c);
33961                break;
33962            case"next":
33963                g = 0 === f ? d.options.slidesToScroll : f, d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide + g, !1, c);
33964                break;
33965            case"index":
33966                var i = 0 === b.data.index ? 0 : b.data.index || e.index() * d.options.slidesToScroll;
33967                d.slideHandler(d.checkNavigable(i), !1, c), e.children().trigger("focus");
33968                break;
33969            default:
33970                return
33971        }
33972    }, b.prototype.checkNavigable = function (a) {
33973        var c, d, b = this;
33974        if (c = b.getNavigableIndexes(), d = 0, a > c[c.length - 1]) a = c[c.length - 1]; else for (var e in c) {
33975            if (a < c[e]) {
33976                a = d;
33977                break
33978            }
33979            d = c[e]
33980        }
33981        return a
33982    }, b.prototype.cleanUpEvents = function () {
33983        var b = this;
33984        b.options.dots && null !== b.$dots && (a("li", b.$dots).off("click.slick", b.changeSlide), b.options.pauseOnDotsHover === !0 && b.options.autoplay === !0 && a("li", b.$dots).off("mouseenter.slick", a.proxy(b.setPaused, b, !0)).off("mouseleave.slick", a.proxy(b.setPaused, b, !1))), b.options.arrows === !0 && b.slideCount > b.options.slidesToShow && (b.$prevArrow && b.$prevArrow.off("click.slick", b.changeSlide), b.$nextArrow && b.$nextArrow.off("click.slick", b.changeSlide)), b.$list.off("touchstart.slick mousedown.slick", b.swipeHandler), b.$list.off("touchmove.slick mousemove.slick", b.swipeHandler), b.$list.off("touchend.slick mouseup.slick", b.swipeHandler), b.$list.off("touchcancel.slick mouseleave.slick", b.swipeHandler), b.$list.off("click.slick", b.clickHandler), a(document).off(b.visibilityChange, b.visibility), b.$list.off("mouseenter.slick", a.proxy(b.setPaused, b, !0)), b.$list.off("mouseleave.slick", a.proxy(b.setPaused, b, !1)), b.options.accessibility === !0 && b.$list.off("keydown.slick", b.keyHandler), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().off("click.slick", b.selectHandler), a(window).off("orientationchange.slick.slick-" + b.instanceUid, b.orientationChange), a(window).off("resize.slick.slick-" + b.instanceUid, b.resize), a("[draggable!=true]", b.$slideTrack).off("dragstart", b.preventDefault), a(window).off("load.slick.slick-" + b.instanceUid, b.setPosition), a(document).off("ready.slick.slick-" + b.instanceUid, b.setPosition)
33985    }, b.prototype.cleanUpRows = function () {
33986        var b, a = this;
33987        a.options.rows > 1 && (b = a.$slides.children().children(), b.removeAttr("style"), a.$slider.html(b))
33988    }, b.prototype.clickHandler = function (a) {
33989        var b = this;
33990        b.shouldClick === !1 && (a.stopImmediatePropagation(), a.stopPropagation(), a.preventDefault())
33991    }, b.prototype.destroy = function (b) {
33992        var c = this;
33993        c.autoPlayClear(), c.touchObject = {}, c.cleanUpEvents(), a(".slick-cloned", c.$slider).detach(), c.$dots && c.$dots.remove(), c.$prevArrow && c.$prevArrow.length && (c.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), c.htmlExpr.test(c.options.prevArrow) && c.$prevArrow.remove()), c.$nextArrow && c.$nextArrow.length && (c.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), c.htmlExpr.test(c.options.nextArrow) && c.$nextArrow.remove()), c.$slides && (c.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function () {
33994            a(this).attr("style", a(this).data("originalStyling"))
33995        }), c.$slideTrack.children(this.options.slide).detach(), c.$slideTrack.detach(), c.$list.detach(), c.$slider.append(c.$slides)), c.cleanUpRows(), c.$slider.removeClass("slick-slider"), c.$slider.removeClass("slick-initialized"), c.unslicked = !0, b || c.$slider.trigger("destroy", [c])
33996    }, b.prototype.disableTransition = function (a) {
33997        var b = this, c = {};
33998        c[b.transitionType] = "", b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c)
33999    }, b.prototype.fadeSlide = function (a, b) {
34000        var c = this;
34001        c.cssTransitions === !1 ? (c.$slides.eq(a).css({zIndex: c.options.zIndex}), c.$slides.eq(a).animate({opacity: 1}, c.options.speed, c.options.easing, b)) : (c.applyTransition(a), c.$slides.eq(a).css({
34002            opacity: 1,
34003            zIndex: c.options.zIndex
34004        }), b && setTimeout(function () {
34005            c.disableTransition(a), b.call()
34006        }, c.options.speed))
34007    }, b.prototype.fadeSlideOut = function (a) {
34008        var b = this;
34009        b.cssTransitions === !1 ? b.$slides.eq(a).animate({
34010            opacity: 0,
34011            zIndex: b.options.zIndex - 2
34012        }, b.options.speed, b.options.easing) : (b.applyTransition(a), b.$slides.eq(a).css({
34013            opacity: 0,
34014            zIndex: b.options.zIndex - 2
34015        }))
34016    }, b.prototype.filterSlides = b.prototype.slickFilter = function (a) {
34017        var b = this;
34018        null !== a && (b.$slidesCache = b.$slides, b.unload(), b.$slideTrack.children(this.options.slide).detach(), b.$slidesCache.filter(a).appendTo(b.$slideTrack), b.reinit())
34019    }, b.prototype.getCurrent = b.prototype.slickCurrentSlide = function () {
34020        var a = this;
34021        return a.currentSlide
34022    }, b.prototype.getDotCount = function () {
34023        var a = this, b = 0, c = 0, d = 0;
34024        if (a.options.infinite === !0) for (; b < a.slideCount;) ++d, b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow; else if (a.options.centerMode === !0) d = a.slideCount; else for (; b < a.slideCount;) ++d, b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow;
34025        return d - 1
34026    }, b.prototype.getLeft = function (a) {
34027        var c, d, f, b = this, e = 0;
34028        return b.slideOffset = 0, d = b.$slides.first().outerHeight(!0), b.options.infinite === !0 ? (b.slideCount > b.options.slidesToShow && (b.slideOffset = b.slideWidth * b.options.slidesToShow * -1, e = d * b.options.slidesToShow * -1), b.slideCount % b.options.slidesToScroll !== 0 && a + b.options.slidesToScroll > b.slideCount && b.slideCount > b.options.slidesToShow && (a > b.slideCount ? (b.slideOffset = (b.options.slidesToShow - (a - b.slideCount)) * b.slideWidth * -1, e = (b.options.slidesToShow - (a - b.slideCount)) * d * -1) : (b.slideOffset = b.slideCount % b.options.slidesToScroll * b.slideWidth * -1, e = b.slideCount % b.options.slidesToScroll * d * -1))) : a + b.options.slidesToShow > b.slideCount && (b.slideOffset = (a + b.options.slidesToShow - b.slideCount) * b.slideWidth,
34029            e = (a + b.options.slidesToShow - b.slideCount) * d), b.slideCount <= b.options.slidesToShow && (b.slideOffset = 0, e = 0), b.options.centerMode === !0 && b.options.infinite === !0 ? b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2) - b.slideWidth : b.options.centerMode === !0 && (b.slideOffset = 0, b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2)), c = b.options.vertical === !1 ? a * b.slideWidth * -1 + b.slideOffset : a * d * -1 + e, b.options.variableWidth === !0 && (f = b.slideCount <= b.options.slidesToShow || b.options.infinite === !1 ? b.$slideTrack.children(".slick-slide").eq(a) : b.$slideTrack.children(".slick-slide").eq(a + b.options.slidesToShow), c = b.options.rtl === !0 ? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0 : f[0] ? -1 * f[0].offsetLeft : 0, b.options.centerMode === !0 && (f = b.slideCount <= b.options.slidesToShow || b.options.infinite === !1 ? b.$slideTrack.children(".slick-slide").eq(a) : b.$slideTrack.children(".slick-slide").eq(a + b.options.slidesToShow + 1), c = b.options.rtl === !0 ? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0 : f[0] ? -1 * f[0].offsetLeft : 0, c += (b.$list.width() - f.outerWidth()) / 2)), c
34030    }, b.prototype.getOption = b.prototype.slickGetOption = function (a) {
34031        var b = this;
34032        return b.options[a]
34033    }, b.prototype.getNavigableIndexes = function () {
34034        var e, a = this, b = 0, c = 0, d = [];
34035        for (a.options.infinite === !1 ? e = a.slideCount : (b = -1 * a.options.slidesToScroll, c = -1 * a.options.slidesToScroll, e = 2 * a.slideCount); e > b;) d.push(b), b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow;
34036        return d
34037    }, b.prototype.getSlick = function () {
34038        return this
34039    }, b.prototype.getSlideCount = function () {
34040        var c, d, e, b = this;
34041        return e = b.options.centerMode === !0 ? b.slideWidth * Math.floor(b.options.slidesToShow / 2) : 0, b.options.swipeToSlide === !0 ? (b.$slideTrack.find(".slick-slide").each(function (c, f) {
34042            return f.offsetLeft - e + a(f).outerWidth() / 2 > -1 * b.swipeLeft ? (d = f, !1) : void 0
34043        }), c = Math.abs(a(d).attr("data-slick-index") - b.currentSlide) || 1) : b.options.slidesToScroll
34044    }, b.prototype.goTo = b.prototype.slickGoTo = function (a, b) {
34045        var c = this;
34046        c.changeSlide({data: {message: "index", index: parseInt(a)}}, b)
34047    }, b.prototype.init = function (b) {
34048        var c = this;
34049        a(c.$slider).hasClass("slick-initialized") || (a(c.$slider).addClass("slick-initialized"), c.buildRows(), c.buildOut(), c.setProps(), c.startLoad(), c.loadSlider(), c.initializeEvents(), c.updateArrows(), c.updateDots()), b && c.$slider.trigger("init", [c]), c.options.accessibility === !0 && c.initADA()
34050    }, b.prototype.initArrowEvents = function () {
34051        var a = this;
34052        a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.on("click.slick", {message: "previous"}, a.changeSlide), a.$nextArrow.on("click.slick", {message: "next"}, a.changeSlide))
34053    }, b.prototype.initDotEvents = function () {
34054        var b = this;
34055        b.options.dots === !0 && b.slideCount > b.options.slidesToShow && a("li", b.$dots).on("click.slick", {message: "index"}, b.changeSlide), b.options.dots === !0 && b.options.pauseOnDotsHover === !0 && b.options.autoplay === !0 && a("li", b.$dots).on("mouseenter.slick", a.proxy(b.setPaused, b, !0)).on("mouseleave.slick", a.proxy(b.setPaused, b, !1))
34056    }, b.prototype.initializeEvents = function () {
34057        var b = this;
34058        b.initArrowEvents(), b.initDotEvents(), b.$list.on("touchstart.slick mousedown.slick", {action: "start"}, b.swipeHandler), b.$list.on("touchmove.slick mousemove.slick", {action: "move"}, b.swipeHandler), b.$list.on("touchend.slick mouseup.slick", {action: "end"}, b.swipeHandler), b.$list.on("touchcancel.slick mouseleave.slick", {action: "end"}, b.swipeHandler), b.$list.on("click.slick", b.clickHandler), a(document).on(b.visibilityChange, a.proxy(b.visibility, b)), b.$list.on("mouseenter.slick", a.proxy(b.setPaused, b, !0)), b.$list.on("mouseleave.slick", a.proxy(b.setPaused, b, !1)), b.options.accessibility === !0 && b.$list.on("keydown.slick", b.keyHandler), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on("click.slick", b.selectHandler), a(window).on("orientationchange.slick.slick-" + b.instanceUid, a.proxy(b.orientationChange, b)), a(window).on("resize.slick.slick-" + b.instanceUid, a.proxy(b.resize, b)), a("[draggable!=true]", b.$slideTrack).on("dragstart", b.preventDefault), a(window).on("load.slick.slick-" + b.instanceUid, b.setPosition), a(document).on("ready.slick.slick-" + b.instanceUid, b.setPosition)
34059    }, b.prototype.initUI = function () {
34060        var a = this;
34061        a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.show(), a.$nextArrow.show()), a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.show(), a.options.autoplay === !0 && a.autoPlay()
34062    }, b.prototype.keyHandler = function (a) {
34063        var b = this;
34064        a.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === a.keyCode && b.options.accessibility === !0 ? b.changeSlide({data: {message: "previous"}}) : 39 === a.keyCode && b.options.accessibility === !0 && b.changeSlide({data: {message: "next"}}))
34065    }, b.prototype.lazyLoad = function () {
34066        function g(b) {
34067            a("img[data-lazy]", b).each(function () {
34068                var b = a(this), c = a(this).attr("data-lazy"), d = document.createElement("img");
34069                d.onload = function () {
34070                    b.animate({opacity: 0}, 100, function () {
34071                        b.attr("src", c).animate({opacity: 1}, 200, function () {
34072                            b.removeAttr("data-lazy").removeClass("slick-loading")
34073                        })
34074                    })
34075                }, d.src = c
34076            })
34077        }
34078
34079        var c, d, e, f, b = this;
34080        b.options.centerMode === !0 ? b.options.infinite === !0 ? (e = b.currentSlide + (b.options.slidesToShow / 2 + 1), f = e + b.options.slidesToShow + 2) : (e = Math.max(0, b.currentSlide - (b.options.slidesToShow / 2 + 1)), f = 2 + (b.options.slidesToShow / 2 + 1) + b.currentSlide) : (e = b.options.infinite ? b.options.slidesToShow + b.currentSlide : b.currentSlide, f = e + b.options.slidesToShow, b.options.fade === !0 && (e > 0 && e--, f <= b.slideCount && f++)), c = b.$slider.find(".slick-slide").slice(e, f), g(c), b.slideCount <= b.options.slidesToShow ? (d = b.$slider.find(".slick-slide"), g(d)) : b.currentSlide >= b.slideCount - b.options.slidesToShow ? (d = b.$slider.find(".slick-cloned").slice(0, b.options.slidesToShow), g(d)) : 0 === b.currentSlide && (d = b.$slider.find(".slick-cloned").slice(-1 * b.options.slidesToShow), g(d))
34081    }, b.prototype.loadSlider = function () {
34082        var a = this;
34083        a.setPosition(), a.$slideTrack.css({opacity: 1}), a.$slider.removeClass("slick-loading"), a.initUI(), "progressive" === a.options.lazyLoad && a.progressiveLazyLoad()
34084    }, b.prototype.next = b.prototype.slickNext = function () {
34085        var a = this;
34086        a.changeSlide({data: {message: "next"}})
34087    }, b.prototype.orientationChange = function () {
34088        var a = this;
34089        a.checkResponsive(), a.setPosition()
34090    }, b.prototype.pause = b.prototype.slickPause = function () {
34091        var a = this;
34092        a.autoPlayClear(), a.paused = !0
34093    }, b.prototype.play = b.prototype.slickPlay = function () {
34094        var a = this;
34095        a.paused = !1, a.autoPlay()
34096    }, b.prototype.postSlide = function (a) {
34097        var b = this;
34098        b.$slider.trigger("afterChange", [b, a]), b.animating = !1, b.setPosition(), b.swipeLeft = null, b.options.autoplay === !0 && b.paused === !1 && b.autoPlay(), b.options.accessibility === !0 && b.initADA()
34099    }, b.prototype.prev = b.prototype.slickPrev = function () {
34100        var a = this;
34101        a.changeSlide({data: {message: "previous"}})
34102    }, b.prototype.preventDefault = function (a) {
34103        a.preventDefault()
34104    }, b.prototype.progressiveLazyLoad = function () {
34105        var c, d, b = this;
34106        c = a("img[data-lazy]", b.$slider).length, c > 0 && (d = a("img[data-lazy]", b.$slider).first(), d.attr("src", null), d.attr("src", d.attr("data-lazy")).removeClass("slick-loading").load(function () {
34107            d.removeAttr("data-lazy"), b.progressiveLazyLoad(), b.options.adaptiveHeight === !0 && b.setPosition()
34108        }).error(function () {
34109            d.removeAttr("data-lazy"), b.progressiveLazyLoad()
34110        }))
34111    }, b.prototype.refresh = function (b) {
34112        var d, e, c = this;
34113        e = c.slideCount - c.options.slidesToShow, c.options.infinite || (c.slideCount <= c.options.slidesToShow ? c.currentSlide = 0 : c.currentSlide > e && (c.currentSlide = e)), d = c.currentSlide, c.destroy(!0), a.extend(c, c.initials, {currentSlide: d}), c.init(), b || c.changeSlide({
34114            data: {
34115                message: "index",
34116                index: d
34117            }
34118        }, !1)
34119    }, b.prototype.registerBreakpoints = function () {
34120        var c, d, e, b = this, f = b.options.responsive || null;
34121        if ("array" === a.type(f) && f.length) {
34122            b.respondTo = b.options.respondTo || "window";
34123            for (c in f) if (e = b.breakpoints.length - 1, d = f[c].breakpoint, f.hasOwnProperty(c)) {
34124                for (; e >= 0;) b.breakpoints[e] && b.breakpoints[e] === d && b.breakpoints.splice(e, 1), e--;
34125                b.breakpoints.push(d), b.breakpointSettings[d] = f[c].settings
34126            }
34127            b.breakpoints.sort(function (a, c) {
34128                return b.options.mobileFirst ? a - c : c - a
34129            })
34130        }
34131    }, b.prototype.reinit = function () {
34132        var b = this;
34133        b.$slides = b.$slideTrack.children(b.options.slide).addClass("slick-slide"), b.slideCount = b.$slides.length, b.currentSlide >= b.slideCount && 0 !== b.currentSlide && (b.currentSlide = b.currentSlide - b.options.slidesToScroll), b.slideCount <= b.options.slidesToShow && (b.currentSlide = 0), b.registerBreakpoints(), b.setProps(), b.setupInfinite(), b.buildArrows(), b.updateArrows(), b.initArrowEvents(), b.buildDots(), b.updateDots(), b.initDotEvents(), b.checkResponsive(!1, !0), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on("click.slick", b.selectHandler), b.setSlideClasses(0), b.setPosition(), b.$slider.trigger("reInit", [b]), b.options.autoplay === !0 && b.focusHandler()
34134    }, b.prototype.resize = function () {
34135        var b = this;
34136        a(window).width() !== b.windowWidth && (clearTimeout(b.windowDelay), b.windowDelay = window.setTimeout(function () {
34137            b.windowWidth = a(window).width(), b.checkResponsive(), b.unslicked || b.setPosition()
34138        }, 50))
34139    }, b.prototype.removeSlide = b.prototype.slickRemove = function (a, b, c) {
34140        var d = this;
34141        return "boolean" == typeof a ? (b = a, a = b === !0 ? 0 : d.slideCount - 1) : a = b === !0 ? --a : a, d.slideCount < 1 || 0 > a || a > d.slideCount - 1 ? !1 : (d.unload(), c === !0 ? d.$slideTrack.children().remove() : d.$slideTrack.children(this.options.slide).eq(a).remove(), d.$slides = d.$slideTrack.children(this.options.slide), d.$slideTrack.children(this.options.slide).detach(), d.$slideTrack.append(d.$slides), d.$slidesCache = d.$slides, void d.reinit())
34142    }, b.prototype.setCSS = function (a) {
34143        var d, e, b = this, c = {};
34144        b.options.rtl === !0 && (a = -a), d = "left" == b.positionProp ? Math.ceil(a) + "px" : "0px", e = "top" == b.positionProp ? Math.ceil(a) + "px" : "0px", c[b.positionProp] = a, b.transformsEnabled === !1 ? b.$slideTrack.css(c) : (c = {}, b.cssTransitions === !1 ? (c[b.animType] = "translate(" + d + ", " + e + ")", b.$slideTrack.css(c)) : (c[b.animType] = "translate3d(" + d + ", " + e + ", 0px)", b.$slideTrack.css(c)))
34145    }, b.prototype.setDimensions = function () {
34146        var a = this;
34147        a.options.vertical === !1 ? a.options.centerMode === !0 && a.$list.css({padding: "0px " + a.options.centerPadding}) : (a.$list.height(a.$slides.first().outerHeight(!0) * a.options.slidesToShow), a.options.centerMode === !0 && a.$list.css({padding: a.options.centerPadding + " 0px"})), a.listWidth = a.$list.width(), a.listHeight = a.$list.height(), a.options.vertical === !1 && a.options.variableWidth === !1 ? (a.slideWidth = Math.ceil(a.listWidth / a.options.slidesToShow), a.$slideTrack.width(Math.ceil(a.slideWidth * a.$slideTrack.children(".slick-slide").length))) : a.options.variableWidth === !0 ? a.$slideTrack.width(5e3 * a.slideCount) : (a.slideWidth = Math.ceil(a.listWidth), a.$slideTrack.height(Math.ceil(a.$slides.first().outerHeight(!0) * a.$slideTrack.children(".slick-slide").length)));
34148        var b = a.$slides.first().outerWidth(!0) - a.$slides.first().width();
34149        a.options.variableWidth === !1 && a.$slideTrack.children(".slick-slide").width(a.slideWidth - b)
34150    }, b.prototype.setFade = function () {
34151        var c, b = this;
34152        b.$slides.each(function (d, e) {
34153            c = b.slideWidth * d * -1, b.options.rtl === !0 ? a(e).css({
34154                position: "relative",
34155                right: c,
34156                top: 0,
34157                zIndex: b.options.zIndex - 2,
34158                opacity: 0
34159            }) : a(e).css({position: "relative", left: c, top: 0, zIndex: b.options.zIndex - 2, opacity: 0})
34160        }), b.$slides.eq(b.currentSlide).css({zIndex: b.options.zIndex - 1, opacity: 1})
34161    }, b.prototype.setHeight = function () {
34162        var a = this;
34163        if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) {
34164            var b = a.$slides.eq(a.currentSlide).outerHeight(!0);
34165            a.$list.css("height", b)
34166        }
34167    }, b.prototype.setOption = b.prototype.slickSetOption = function (b, c, d) {
34168        var f, g, e = this;
34169        if ("responsive" === b && "array" === a.type(c)) for (g in c) if ("array" !== a.type(e.options.responsive)) e.options.responsive = [c[g]]; else {
34170            for (f = e.options.responsive.length - 1; f >= 0;) e.options.responsive[f].breakpoint === c[g].breakpoint && e.options.responsive.splice(f, 1), f--;
34171            e.options.responsive.push(c[g])
34172        } else e.options[b] = c;
34173        d === !0 && (e.unload(), e.reinit())
34174    }, b.prototype.setPosition = function () {
34175        var a = this;
34176        a.setDimensions(), a.setHeight(), a.options.fade === !1 ? a.setCSS(a.getLeft(a.currentSlide)) : a.setFade(), a.$slider.trigger("setPosition", [a])
34177    }, b.prototype.setProps = function () {
34178        var a = this, b = document.body.style;
34179        a.positionProp = a.options.vertical === !0 ? "top" : "left", "top" === a.positionProp ? a.$slider.addClass("slick-vertical") : a.$slider.removeClass("slick-vertical"), (void 0 !== b.WebkitTransition || void 0 !== b.MozTransition || void 0 !== b.msTransition) && a.options.useCSS === !0 && (a.cssTransitions = !0), a.options.fade && ("number" == typeof a.options.zIndex ? a.options.zIndex < 3 && (a.options.zIndex = 3) : a.options.zIndex = a.defaults.zIndex), void 0 !== b.OTransform && (a.animType = "OTransform", a.transformType = "-o-transform", a.transitionType = "OTransition", void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)), void 0 !== b.MozTransform && (a.animType = "MozTransform", a.transformType = "-moz-transform", a.transitionType = "MozTransition", void 0 === b.perspectiveProperty && void 0 === b.MozPerspective && (a.animType = !1)), void 0 !== b.webkitTransform && (a.animType = "webkitTransform", a.transformType = "-webkit-transform", a.transitionType = "webkitTransition", void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)), void 0 !== b.msTransform && (a.animType = "msTransform", a.transformType = "-ms-transform", a.transitionType = "msTransition", void 0 === b.msTransform && (a.animType = !1)), void 0 !== b.transform && a.animType !== !1 && (a.animType = "transform", a.transformType = "transform", a.transitionType = "transition"), a.transformsEnabled = a.options.useTransform && null !== a.animType && a.animType !== !1
34180    }, b.prototype.setSlideClasses = function (a) {
34181        var c, d, e, f, b = this;
34182        d = b.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), b.$slides.eq(a).addClass("slick-current"), b.options.centerMode === !0 ? (c = Math.floor(b.options.slidesToShow / 2), b.options.infinite === !0 && (a >= c && a <= b.slideCount - 1 - c ? b.$slides.slice(a - c, a + c + 1).addClass("slick-active").attr("aria-hidden", "false") : (e = b.options.slidesToShow + a, d.slice(e - c + 1, e + c + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === a ? d.eq(d.length - 1 - b.options.slidesToShow).addClass("slick-center") : a === b.slideCount - 1 && d.eq(b.options.slidesToShow).addClass("slick-center")), b.$slides.eq(a).addClass("slick-center")) : a >= 0 && a <= b.slideCount - b.options.slidesToShow ? b.$slides.slice(a, a + b.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : d.length <= b.options.slidesToShow ? d.addClass("slick-active").attr("aria-hidden", "false") : (f = b.slideCount % b.options.slidesToShow, e = b.options.infinite === !0 ? b.options.slidesToShow + a : a, b.options.slidesToShow == b.options.slidesToScroll && b.slideCount - a < b.options.slidesToShow ? d.slice(e - (b.options.slidesToShow - f), e + f).addClass("slick-active").attr("aria-hidden", "false") : d.slice(e, e + b.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")), "ondemand" === b.options.lazyLoad && b.lazyLoad()
34183    }, b.prototype.setupInfinite = function () {
34184        var c, d, e, b = this;
34185        if (b.options.fade === !0 && (b.options.centerMode = !1), b.options.infinite === !0 && b.options.fade === !1 && (d = null, b.slideCount > b.options.slidesToShow)) {
34186            for (e = b.options.centerMode === !0 ? b.options.slidesToShow + 1 : b.options.slidesToShow, c = b.slideCount; c > b.slideCount - e; c -= 1) d = c - 1, a(b.$slides[d]).clone(!0).attr("id", "").attr("data-slick-index", d - b.slideCount).prependTo(b.$slideTrack).addClass("slick-cloned");
34187            for (c = 0; e > c; c += 1) d = c, a(b.$slides[d]).clone(!0).attr("id", "").attr("data-slick-index", d + b.slideCount).appendTo(b.$slideTrack).addClass("slick-cloned");
34188            b.$slideTrack.find(".slick-cloned").find("[id]").each(function () {
34189                a(this).attr("id", "")
34190            })
34191        }
34192    }, b.prototype.setPaused = function (a) {
34193        var b = this;
34194        b.options.autoplay === !0 && b.options.pauseOnHover === !0 && (b.paused = a, a ? b.autoPlayClear() : b.autoPlay())
34195    }, b.prototype.selectHandler = function (b) {
34196        var c = this, d = a(b.target).is(".slick-slide") ? a(b.target) : a(b.target).parents(".slick-slide"),
34197            e = parseInt(d.attr("data-slick-index"));
34198        return e || (e = 0), c.slideCount <= c.options.slidesToShow ? (c.setSlideClasses(e), void c.asNavFor(e)) : void c.slideHandler(e)
34199    }, b.prototype.slideHandler = function (a, b, c) {
34200        var d, e, f, g, h = null, i = this;
34201        return b = b || !1, i.animating === !0 && i.options.waitForAnimate === !0 || i.options.fade === !0 && i.currentSlide === a || i.slideCount <= i.options.slidesToShow ? void 0 : (b === !1 && i.asNavFor(a), d = a, h = i.getLeft(d), g = i.getLeft(i.currentSlide), i.currentLeft = null === i.swipeLeft ? g : i.swipeLeft, i.options.infinite === !1 && i.options.centerMode === !1 && (0 > a || a > i.getDotCount() * i.options.slidesToScroll) ? void (i.options.fade === !1 && (d = i.currentSlide, c !== !0 ? i.animateSlide(g, function () {
34202            i.postSlide(d)
34203        }) : i.postSlide(d))) : i.options.infinite === !1 && i.options.centerMode === !0 && (0 > a || a > i.slideCount - i.options.slidesToScroll) ? void (i.options.fade === !1 && (d = i.currentSlide, c !== !0 ? i.animateSlide(g, function () {
34204            i.postSlide(d)
34205        }) : i.postSlide(d))) : (i.options.autoplay === !0 && clearInterval(i.autoPlayTimer), e = 0 > d ? i.slideCount % i.options.slidesToScroll !== 0 ? i.slideCount - i.slideCount % i.options.slidesToScroll : i.slideCount + d : d >= i.slideCount ? i.slideCount % i.options.slidesToScroll !== 0 ? 0 : d - i.slideCount : d, i.animating = !0, i.$slider.trigger("beforeChange", [i, i.currentSlide, e]), f = i.currentSlide, i.currentSlide = e, i.setSlideClasses(i.currentSlide), i.updateDots(), i.updateArrows(), i.options.fade === !0 ? (c !== !0 ? (i.fadeSlideOut(f), i.fadeSlide(e, function () {
34206            i.postSlide(e)
34207        })) : i.postSlide(e), void i.animateHeight()) : void (c !== !0 ? i.animateSlide(h, function () {
34208            i.postSlide(e)
34209        }) : i.postSlide(e))))
34210    }, b.prototype.startLoad = function () {
34211        var a = this;
34212        a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.hide(), a.$nextArrow.hide()), a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.hide(), a.$slider.addClass("slick-loading")
34213    }, b.prototype.swipeDirection = function () {
34214        var a, b, c, d, e = this;
34215        return a = e.touchObject.startX - e.touchObject.curX, b = e.touchObject.startY - e.touchObject.curY, c = Math.atan2(b, a), d = Math.round(180 * c / Math.PI), 0 > d && (d = 360 - Math.abs(d)), 45 >= d && d >= 0 ? e.options.rtl === !1 ? "left" : "right" : 360 >= d && d >= 315 ? e.options.rtl === !1 ? "left" : "right" : d >= 135 && 225 >= d ? e.options.rtl === !1 ? "right" : "left" : e.options.verticalSwiping === !0 ? d >= 35 && 135 >= d ? "left" : "right" : "vertical"
34216    }, b.prototype.swipeEnd = function (a) {
34217        var c, b = this;
34218        if (b.dragging = !1, b.shouldClick = b.touchObject.swipeLength > 10 ? !1 : !0, void 0 === b.touchObject.curX) return !1;
34219        if (b.touchObject.edgeHit === !0 && b.$slider.trigger("edge", [b, b.swipeDirection()]), b.touchObject.swipeLength >= b.touchObject.minSwipe) switch (b.swipeDirection()) {
34220            case"left":
34221                c = b.options.swipeToSlide ? b.checkNavigable(b.currentSlide + b.getSlideCount()) : b.currentSlide + b.getSlideCount(), b.slideHandler(c), b.currentDirection = 0, b.touchObject = {}, b.$slider.trigger("swipe", [b, "left"]);
34222                break;
34223            case"right":
34224                c = b.options.swipeToSlide ? b.checkNavigable(b.currentSlide - b.getSlideCount()) : b.currentSlide - b.getSlideCount(), b.slideHandler(c), b.currentDirection = 1, b.touchObject = {}, b.$slider.trigger("swipe", [b, "right"])
34225        } else b.touchObject.startX !== b.touchObject.curX && (b.slideHandler(b.currentSlide), b.touchObject = {})
34226    }, b.prototype.swipeHandler = function (a) {
34227        var b = this;
34228        if (!(b.options.swipe === !1 || "ontouchend" in document && b.options.swipe === !1 || b.options.draggable === !1 && -1 !== a.type.indexOf("mouse"))) switch (b.touchObject.fingerCount = a.originalEvent && void 0 !== a.originalEvent.touches ? a.originalEvent.touches.length : 1, b.touchObject.minSwipe = b.listWidth / b.options.touchThreshold, b.options.verticalSwiping === !0 && (b.touchObject.minSwipe = b.listHeight / b.options.touchThreshold), a.data.action) {
34229            case"start":
34230                b.swipeStart(a);
34231                break;
34232            case"move":
34233                b.swipeMove(a);
34234                break;
34235            case"end":
34236                b.swipeEnd(a)
34237        }
34238    }, b.prototype.swipeMove = function (a) {
34239        var d, e, f, g, h, b = this;
34240        return h = void 0 !== a.originalEvent ? a.originalEvent.touches : null, !b.dragging || h && 1 !== h.length ? !1 : (d = b.getLeft(b.currentSlide), b.touchObject.curX = void 0 !== h ? h[0].pageX : a.clientX, b.touchObject.curY = void 0 !== h ? h[0].pageY : a.clientY, b.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(b.touchObject.curX - b.touchObject.startX, 2))), b.options.verticalSwiping === !0 && (b.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(b.touchObject.curY - b.touchObject.startY, 2)))), e = b.swipeDirection(), "vertical" !== e ? (void 0 !== a.originalEvent && b.touchObject.swipeLength > 4 && a.preventDefault(), g = (b.options.rtl === !1 ? 1 : -1) * (b.touchObject.curX > b.touchObject.startX ? 1 : -1), b.options.verticalSwiping === !0 && (g = b.touchObject.curY > b.touchObject.startY ? 1 : -1), f = b.touchObject.swipeLength, b.touchObject.edgeHit = !1, b.options.infinite === !1 && (0 === b.currentSlide && "right" === e || b.currentSlide >= b.getDotCount() && "left" === e) && (f = b.touchObject.swipeLength * b.options.edgeFriction, b.touchObject.edgeHit = !0), b.options.vertical === !1 ? b.swipeLeft = d + f * g : b.swipeLeft = d + f * (b.$list.height() / b.listWidth) * g, b.options.verticalSwiping === !0 && (b.swipeLeft = d + f * g), b.options.fade === !0 || b.options.touchMove === !1 ? !1 : b.animating === !0 ? (b.swipeLeft = null, !1) : void b.setCSS(b.swipeLeft)) : void 0)
34241    }, b.prototype.swipeStart = function (a) {
34242        var c, b = this;
34243        return 1 !== b.touchObject.fingerCount || b.slideCount <= b.options.slidesToShow ? (b.touchObject = {}, !1) : (void 0 !== a.originalEvent && void 0 !== a.originalEvent.touches && (c = a.originalEvent.touches[0]), b.touchObject.startX = b.touchObject.curX = void 0 !== c ? c.pageX : a.clientX, b.touchObject.startY = b.touchObject.curY = void 0 !== c ? c.pageY : a.clientY, void (b.dragging = !0))
34244    }, b.prototype.unfilterSlides = b.prototype.slickUnfilter = function () {
34245        var a = this;
34246        null !== a.$slidesCache && (a.unload(), a.$slideTrack.children(this.options.slide).detach(), a.$slidesCache.appendTo(a.$slideTrack), a.reinit())
34247    }, b.prototype.unload = function () {
34248        var b = this;
34249        a(".slick-cloned", b.$slider).remove(), b.$dots && b.$dots.remove(), b.$prevArrow && b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.remove(), b.$nextArrow && b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.remove(), b.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
34250    }, b.prototype.unslick = function (a) {
34251        var b = this;
34252        b.$slider.trigger("unslick", [b, a]), b.destroy()
34253    }, b.prototype.updateArrows = function () {
34254        var b, a = this;
34255        b = Math.floor(a.options.slidesToShow / 2), a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && !a.options.infinite && (a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === a.currentSlide ? (a.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : a.currentSlide >= a.slideCount - a.options.slidesToShow && a.options.centerMode === !1 ? (a.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : a.currentSlide >= a.slideCount - 1 && a.options.centerMode === !0 && (a.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
34256    }, b.prototype.updateDots = function () {
34257        var a = this;
34258        null !== a.$dots && (a.$dots.find("li").removeClass("slick-active").attr("aria-hidden", "true"), a.$dots.find("li").eq(Math.floor(a.currentSlide / a.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden", "false"))
34259    }, b.prototype.visibility = function () {
34260        var a = this;
34261        document[a.hidden] ? (a.paused = !0, a.autoPlayClear()) : a.options.autoplay === !0 && (a.paused = !1, a.autoPlay())
34262    }, b.prototype.initADA = function () {
34263        var b = this;
34264        b.$slides.add(b.$slideTrack.find(".slick-cloned")).attr({
34265            "aria-hidden": "true",
34266            tabindex: "-1"
34267        }).find("a, input, button, select").attr({tabindex: "-1"}), b.$slideTrack.attr("role", "listbox"), b.$slides.not(b.$slideTrack.find(".slick-cloned")).each(function (c) {
34268            a(this).attr({role: "option", "aria-describedby": "slick-slide" + b.instanceUid + c})
34269        }), null !== b.$dots && b.$dots.attr("role", "tablist").find("li").each(function (c) {
34270            a(this).attr({
34271                role: "presentation",
34272                "aria-selected": "false",
34273                "aria-controls": "navigation" + b.instanceUid + c,
34274                id: "slick-slide" + b.instanceUid + c
34275            })
34276        }).first().attr("aria-selected", "true").end().find("button").attr("role", "button").end().closest("div").attr("role", "toolbar"), b.activateADA()
34277    }, b.prototype.activateADA = function () {
34278        var a = this;
34279        a.$slideTrack.find(".slick-active").attr({"aria-hidden": "false"}).find("a, input, button, select").attr({tabindex: "0"})
34280    }
34280, b.prototype.focusHandler = function () {
34281        var b = this;
34282        b.$slider.on("focus.slick blur.slick", "*", function (c) {
34283            c.stopImmediatePropagation();
34284            var d = a(this);
34285            setTimeout(function () {
34286                b.isPlay && (d.is(":focus") ? (b.autoPlayClear(), b.paused = !0) : (b.paused = !1, b.autoPlay()))
34287            }, 0)
34288        })
34289    }, a.fn.slick = function () {
34290        var f, g, a = this, c = arguments[0], d = Array.prototype.slice.call(arguments, 1), e = a.length;
34291        for (f = 0; e > f; f++) if ("object" == typeof c || "undefined" == typeof c ? a[f].slick = new b(a[f], c) : g = a[f].slick[c].apply(a[f].slick, d), "undefined" != typeof g) return g;
34292        return a
34293    }
34294}), !function (a) {
34295    "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : window.jQuery || window.Zepto)
34296}(function (a) {
34297    var b, c, d, e, f, g, h = "Close", i = "BeforeClose", j = "AfterClose", k = "BeforeAppend", l = "MarkupParse",
34298        m = "Open", n = "Change", o = "mfp", p = "." + o, q = "mfp-ready", r = "mfp-removing", s = "mfp-prevent-close",
34299        t = function () {
34300        }, u = !!window.jQuery, v = a(window), w = function (a, c) {
34301            b.ev.on(o + a + p, c)
34302        }, x = function (b, c, d, e) {
34303            var f = document.createElement("div");
34304            return f.className = "mfp-" + b, d && (f.innerHTML = d), e ? c && c.appendChild(f) : (f = a(f), c && f.appendTo(c)), f
34305        }, y = function (c, d) {
34306            b.ev.triggerHandler(o + c, d), b.st.callbacks && (c = c.charAt(0).toLowerCase() + c.slice(1), b.st.callbacks[c] && b.st.callbacks[c].apply(b, a.isArray(d) ? d : [d]))
34307        }, z = function (c) {
34308            return c === g && b.currTemplate.closeBtn || (b.currTemplate.closeBtn = a(b.st.closeMarkup.replace("%title%", b.st.tClose)), g = c), b.currTemplate.closeBtn
34309        }, A = function () {
34310            a.magnificPopup.instance || (b = new t, b.init(), a.magnificPopup.instance = b)
34311        }, B = function () {
34312            var a = document.createElement("p").style, b = ["ms", "O", "Moz", "Webkit"];
34313            if (void 0 !== a.transition) return !0;
34314            for (; b.length;) if (b.pop() + "Transition" in a) return !0;
34315            return !1
34316        };
34317    t.prototype = {
34318        constructor: t, init: function () {
34319            var c = navigator.appVersion;
34320            b.isIE7 = -1 !== c.indexOf("MSIE 7."), b.isIE8 = -1 !== c.indexOf("MSIE 8."), b.isLowIE = b.isIE7 || b.isIE8, b.isAndroid = /android/gi.test(c), b.isIOS = /iphone|ipad|ipod/gi.test(c), b.supportsTransition = B(), b.probablyMobile = b.isAndroid || b.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), d = a(document), b.popupsCache = {}
34321        }, open: function (c) {
34322            var e;
34323            if (c.isObj === !1) {
34324                b.items = c.items.toArray(), b.index = 0;
34325                var g, h = c.items;
34326                for (e = 0; e < h.length; e++) if (g = h[e], g.parsed && (g = g.el[0]), g === c.el[0]) {
34327                    b.index = e;
34328                    break
34329                }
34330            } else b.items = a.isArray(c.items) ? c.items : [c.items], b.index = c.index || 0;
34331            if (b.isOpen) return void b.updateItemHTML();
34332            b.types = [], f = "", c.mainEl && c.mainEl.length ? b.ev = c.mainEl.eq(0) : b.ev = d, c.key ? (b.popupsCache[c.key] || (b.popupsCache[c.key] = {}), b.currTemplate = b.popupsCache[c.key]) : b.currTemplate = {}, b.st = a.extend(!0, {}, a.magnificPopup.defaults, c), b.fixedContentPos = "auto" === b.st.fixedContentPos ? !b.probablyMobile : b.st.fixedContentPos, b.st.modal && (b.st.closeOnContentClick = !1, b.st.closeOnBgClick = !1, b.st.showCloseBtn = !1, b.st.enableEscapeKey = !1), b.bgOverlay || (b.bgOverlay = x("bg").on("click" + p, function () {
34333                b.close()
34334            }), b.wrap = x("wrap").attr("tabindex", -1).on("click" + p, function (a) {
34335                b._checkIfClose(a.target) && b.close()
34336            }), b.container = x("container", b.wrap)), b.contentContainer = x("content"), b.st.preloader && (b.preloader = x("preloader", b.container, b.st.tLoading));
34337            var i = a.magnificPopup.modules;
34338            for (e = 0; e < i.length; e++) {
34339                var j = i[e];
34340                j = j.charAt(0).toUpperCase() + j.slice(1), b["init" + j].call(b)
34341            }
34342            y("BeforeOpen"), b.st.showCloseBtn && (b.st.closeBtnInside ? (w(l, function (a, b, c, d) {
34343                c.close_replaceWith = z(d.type)
34344            }), f += " mfp-close-btn-in") : b.wrap.append(z())), b.st.alignTop && (f += " mfp-align-top"), b.fixedContentPos ? b.wrap.css({
34345                overflow: b.st.overflowY,
34346                overflowX: "hidden",
34347                overflowY: b.st.overflowY
34348            }) : b.wrap.css({
34349                top: v.scrollTop(),
34350                position: "absolute"
34351            }), (b.st.fixedBgPos === !1 || "auto" === b.st.fixedBgPos && !b.fixedContentPos) && b.bgOverlay.css({
34352                height: d.height(),
34353                position: "absolute"
34354            }), b.st.enableEscapeKey && d.on("keyup" + p, function (a) {
34355                27 === a.keyCode && b.close()
34356            }), v.on("resize" + p, function () {
34357                b.updateSize()
34358            }), b.st.closeOnContentClick || (f += " mfp-auto-cursor"), f && b.wrap.addClass(f);
34359            var k = b.wH = v.height(), n = {};
34360            if (b.fixedContentPos && b._hasScrollBar(k)) {
34361                var o = b._getScrollbarSize();
34362                o && (n.marginRight = o)
34363            }
34364            b.fixedContentPos && (b.isIE7 ? a("body, html").css("overflow", "hidden") : n.overflow = "hidden");
34365            var r = b.st.mainClass;
34366            return b.isIE7 && (r += " mfp-ie7"), r && b._addClassToMFP(r), b.updateItemHTML(), y("BuildControls"), a("html").css(n), b.bgOverlay.add(b.
34366wrap).prependTo(b.st.prependTo || a(document.body)), b._lastFocusedEl = document.activeElement, setTimeout(function () {
34367                b.content ? (b._addClassToMFP(q), b._setFocus()) : b.bgOverlay.addClass(q), d.on("focusin" + p, b._onFocusIn)
34368            }, 16), b.isOpen = !0, b.updateSize(k), y(m), c
34369        }, close: function () {
34370            b.isOpen && (y(i), b.isOpen = !1, b.st.removalDelay && !b.isLowIE && b.supportsTransition ? (b._addClassToMFP(r), setTimeout(function () {
34371                b._close()
34372            }, b.st.removalDelay)) : b._close())
34373        }, _close: function () {
34374            y(h);
34375            var c = r + " " + q + " ";
34376            if (b.bgOverlay.detach(), b.wrap.detach(), b.container.empty(), b.st.mainClass && (c += b.st.mainClass + " "), b._removeClassFromMFP(c), b.fixedContentPos) {
34377                var e = {marginRight: ""};
34378                b.isIE7 ? a("body, html").css("overflow", "") : e.overflow = "", a("html").css(e)
34379            }
34380            d.off("keyup" + p + " focusin" + p), b.ev.off(p), b.wrap.attr("class", "mfp-wrap").removeAttr("style"), b.bgOverlay.attr("class", "mfp-bg"), b.container.attr("class", "mfp-container"), !b.st.showCloseBtn || b.st.closeBtnInside && b.currTemplate[b.currItem.type] !== !0 || b.currTemplate.closeBtn && b.currTemplate.closeBtn.detach(), b.st.autoFocusLast && b._lastFocusedEl && a(b._lastFocusedEl).focus(), b.currItem = null, b.content = null, b.currTemplate = null, b.prevHeight = 0, y(j)
34381        }, updateSize: function (a) {
34382            if (b.isIOS) {
34383                var c = document.documentElement.clientWidth / window.innerWidth, d = window.innerHeight * c;
34384                b.wrap.css("height", d), b.wH = d
34385            } else b.wH = a || v.height();
34386            b.fixedContentPos || b.wrap.css("height", b.wH), y("Resize")
34387        }, updateItemHTML: function () {
34388            var c = b.items[b.index];
34389            b.contentContainer.detach(), b.content && b.content.detach(), c.parsed || (c = b.parseEl(b.index));
34390            var d = c.type;
34391            if (y("BeforeChange", [b.currItem ? b.currItem.type : "", d]), b.currItem = c, !b.currTemplate[d]) {
34392                var f = b.st[d] ? b.st[d].markup : !1;
34393                y("FirstMarkupParse", f), f ? b.currTemplate[d] = a(f) : b.currTemplate[d] = !0
34394            }
34395            e && e !== c.type && b.container.removeClass("mfp-" + e + "-holder");
34396            var g = b["get" + d.charAt(0).toUpperCase() + d.slice(1)](c, b.currTemplate[d]);
34397            b.appendContent(g, d), c.preloaded = !0, y(n, c), e = c.type, b.container.prepend(b.contentContainer), y("AfterChange")
34398        }, appendContent: function (a, c) {
34399            b.content = a, a ? b.st.showCloseBtn && b.st.closeBtnInside && b.currTemplate[c] === !0 ? b.content.find(".mfp-close").length || b.content.append(z()) : b.content = a : b.content = "", y(k), b.container.addClass("mfp-" + c + "-holder"), b.contentContainer.append(b.content)
34400        }, parseEl: function (c) {
34401            var d, e = b.items[c];
34402            if (e.tagName ? e = {el: a(e)} : (d = e.type, e = {data: e, src: e.src}), e.el) {
34403                for (var f = b.types, g = 0; g < f.length; g++) if (e.el.hasClass("mfp-" + f[g])) {
34404                    d = f[g];
34405                    break
34406                }
34407                e.src = e.el.attr("data-mfp-src"), e.src || (e.src = e.el.attr("href"))
34408            }
34409            return e.type = d || b.st.type || "inline", e.index = c, e.parsed = !0, b.items[c] = e, y("ElementParse", e), b.items[c]
34410        }, addGroup: function (a, c) {
34411            var d = function (d) {
34412                d.mfpEl = this, b._openClick(d, a, c)
34413            };
34414            c || (c = {});
34415            var e = "click.magnificPopup";
34416            c.mainEl = a, c.items ? (c.isObj = !0, a.off(e).on(e, d)) : (c.isObj = !1, c.delegate ? a.off(e).on(e, c.delegate, d) : (c.items = a, a.off(e).on(e, d)))
34417        }, _openClick: function (c, d, e) {
34418            var f = void 0 !== e.midClick ? e.midClick : a.magnificPopup.defaults.midClick;
34419            if (f || !(2 === c.which || c.ctrlKey || c.metaKey || c.altKey || c.shift
34419Key)) {
34420                var g = void 0 !== e.disableOn ? e.disableOn : a.magnificPopup.defaults.disableOn;
34421                if (g) if (a.isFunction(g)) {
34422                    if (!g.call(b)) return !0
34423                } else if (v.width() < g) return !0;
34424                c.type && (c.preventDefault(), b.isOpen && c.stopPropagation()), e.el = a(c.mfpEl), e.delegate && (e.items = d.find(e.delegate)), b.open(e)
34425            }
34426        }, updateStatus: function (a, d) {
34427            if (b.preloader) {
34428                c !== a && b.container.removeClass("mfp-s-" + c), d || "loading" !== a || (d = b.st.tLoading);
34429                var e = {status: a, text: d};
34430                y("UpdateStatus", e), a = e.status, d = e.text, b.preloader.html(d), b.preloader.find("a").on("click", function (a) {
34431                    a.stopImmediatePropagation()
34432                }), b.container.addClass("mfp-s-" + a), c = a
34433            }
34434        }, _checkIfClose: function (c) {
34435            if (!a(c).hasClass(s)) {
34436                var d = b.st.closeOnContentClick, e = b.st.closeOnBgClick;
34437                if (d && e) return !0;
34438                if (!b.content || a(c).hasClass("mfp-close") || b.preloader && c === b.preloader[0]) return !0;
34439                if (c === b.content[0] || a.contains(b.content[0], c)) {
34440                    if (d) return !0
34441                } else if (e && a.contains(document, c)) return !0;
34442                return !1
34443            }
34444        }, _addClassToMFP: function (a) {
34445            b.bgOverlay.addClass(a), b.wrap.addClass(a)
34446        }, _removeClassFromMFP: function (a) {
34447            this.bgOverlay.removeClass(a), b.wrap.removeClass(a)
34448        }, _hasScrollBar: function (a) {
34449            return (b.isIE7 ? d.height() : document.body.scrollHeight) > (a || v.height())
34450        }, _setFocus: function () {
34451            (b.st.focus ? b.content.find(b.st.focus).eq(0) : b.wrap).focus()
34452        }, _onFocusIn: function (c) {
34453            return c.target === b.wrap[0] || a.contains(b.wrap[0], c.target) ? void 0 : (b._setFocus(), !1)
34454        }, _parseMarkup: function (b, c, d) {
34455            var e;
34456            d.data && (c = a.extend(d.data, c)), y(l, [b, c, d]), a.each(c, function (a, c) {
34457                if (void 0 === c || c === !1) return !0;
34458                if (e = a.split("_"), e.length > 1) {
34459                    var d = b.find(p + "-" + e[0]);
34460                    if (d.length > 0) {
34461                        var f = e[1];
34462                        "replaceWith" === f ? d[0] !== c[0] && d.replaceWith(c) : "img" === f ? d.is("img") ? d.attr("src", c) : d.replaceWith('<img src="' + c + '" class="' + d.attr("class") + '" />') : d.attr(e[1], c)
34463                    }
34464                } else b.find(p + "-" + a).html(c)
34465            })
34466        }, _getScrollbarSize: function () {
34467            if (void 0 === b.scrollbarSize) {
34468                var a = document.createElement("div");
34469                a.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(a), b.scrollbarSize = a.offsetWidth - a.clientWidth, document.body.removeChild(a)
34470            }
34471            return b.scrollbarSize
34472        }
34473    }, a.magnificPopup = {
34474        instance: null,
34475        proto: t.prototype,
34476        modules: [],
34477        open: function (b, c) {
34478            return A(), b = b ? a.extend(!0, {}, b) : {}, b.isObj = !0, b.index = c || 0, this.instance.open(b)
34479        },
34480        close: function () {
34481            return a.magnificPopup.instance && a.magnificPopup.instance.close()
34482        },
34483        registerModule: function (b, c) {
34484            c.options && (a.magnificPopup.defaults[b] = c.options), a.extend(this.proto, c.proto), this.modules.push(b)
34485        },
34486        defaults: {
34487            disableOn: 0,
34488            key: null,
34489            midClick: !1,
34490            mainClass: "",
34491            preloader: !0,
34492            focus: "",
34493            closeOnContentClick: !1,
34494            closeOnBgClick: !0,
34495            closeBtnInside: !0,
34496            showCloseBtn: !0,
34497            enableEscapeKey: !0,
34498            modal: !1,
34499            alignTop: !1,
34500            removalDelay: 0,
34501            prependTo: null,
34502            fixedContentPos: "auto",
34503            fixedBgPos: "auto",
34504            overflowY: "auto",
34505            closeMarkup: '<button title="%title%" type="button" class="mfp-close">&#215;</button>',
34506            tClose: "Close (Esc)",
34507            tLoading: "Loading...",
34508            autoFocusLast: !0
34509        }
34510    }, a.fn.magnificPopup = function (c) {
34511        A();
34512        var d = a(this);
34513        if ("string" == typeof c) if ("open" === c) {
34514            var e, f = u ? d.data("magnificPopup") : d[0].magnificPopup, g = parseInt(arguments[1], 10) || 0;
34515            f.items ? e = f.items[g] : (e = d, f.delegate && (e = e.find(f.delegate)), e = e.eq(g)), b._openClick({mfpEl: e}, d, f)
34516        } else b.isOpen && b[c].apply(b, Array.prototype.slice.call(arguments, 1)); else c = a.extend(!0, {}, c), u ? d.data("magnificPopup", c) : d[0].magnificPopup = c, b.addGroup(d, c);
34517        return d
34518    };
34519    var C, D, E, F = "inline", G = function () {
34520        E && (D.after(E.addClass(C)).detach(), E = null)
34521    };
34522    a.magnificPopup.registerModule(F, {
34523        options: {hiddenClass: "hide", markup: "", tNotFound: "Content not found"},
34524        proto: {
34525            initInline: function () {
34526                b.types.push(F), w(h + "." + F, function () {
34527                    G()
34528                })
34529            }, getInline: function (c, d) {
34530                if (G(), c.src) {
34531                    var e = b.st.inline, f = a(c.src);
34532                    if (f.length) {
34533                        var g = f[0].parentNode;
34534                        g && g.tagName && (D || (C = e.hiddenClass, D = x(C), C = "mfp-" + C), E = f.after(D).detach().removeClass(C)), b.updateStatus("ready")
34535                    } else b.updateStatus("error", e.tNotFound), f = a("<div>");
34536                    return c.inlineElement = f, f
34537                }
34538                return b.updateStatus("ready"), b._parseMarkup(d, {}, c), d
34539            }
34540        }
34541    });
34542    var H, I = "ajax", J = function () {
34543        H && a(document.body).removeClass(H)
34544    }, K = function () {
34545        J(), b.req && b.req.abort()
34546    };
34547    a.magnificPopup.registerModule(I, {
34548        options: {
34549            settings: null,
34550            cursor: "mfp-ajax-cur",
34551            tError: '<a href="%url%">The content</a> could not be loaded.'
34552        }, proto: {
34553            initAjax: function () {
34554                b.types.push(I), H = b.st.ajax.cursor, w(h + "." + I, K), w("BeforeChange." + I, K)
34555            }, getAjax: function (c) {
34556                H && a(document.body).addClass(H), b.updateStatus("loading");
34557                var d = a.extend({
34558                    url: c.src, success: function (d, e, f) {
34559                        var g = {data: d, xhr: f};
34560                        y("ParseAjax", g), b.appendContent(a(g.data), I), c.finished = !0, J(), b._setFocus(), setTimeout(function () {
34561                            b.wrap.addClass(q)
34562                        }, 16), b.updateStatus("ready"), y("AjaxContentAdded")
34563                    }, error: function () {
34564                        J(), c.finished = c.loadError = !0, b.updateStatus("error", b.st.ajax.tError.replace("%url%", c.src))
34565                    }
34566                }, b.st.ajax.settings);
34567                return b.req = a.ajax(d), ""
34568            }
34569        }
34570    });
34571    var L, M = function (c) {
34572        if (c.data && void 0 !== c.data.title) return c.data.title;
34573        var d = b.st.image.titleSrc;
34574        if (d) {
34575            if (a.isFunction(d)) return d.call(b, c);
34576            if (c.el) return c.el.attr(d) || ""
34577        }
34578        return ""
34579    };
34580    a.magnificPopup.registerModule("image", {
34581        options: {
34582            markup: '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',
34583            cursor: "mfp-zoom-out-cur",
34584            titleSrc: "title",
34585            verticalFit: !0,
34586            tError: '<a href="%url%">The image</a> could not be loaded.'
34587        }, proto: {
34588            initImage: function () {
34589                var c = b.st.image, d = ".image";
34590                b.types.push("image"), w(m + d, function () {
34591                    "image" === b.currItem.type && c.cursor && a(document.body).addClass(c.cursor)
34592                }), w(h + d, function () {
34593                    c.cursor && a(document.body).removeClass(c.cursor), v.off("resize" + p)
34594                }), w("Resize" + d, b.resizeImage), b.isLowIE && w("AfterChange", b.resizeImage)
34595            }, resizeImage: function () {
34596                var a = b.currItem;
34597                if (a && a.img && b.st.image.verticalFit) {
34598                    var c = 0;
34599                    b.isLowIE && (c = parseInt(a.img.css("padding-top"), 10) + parseInt(a.img.css("padding-bottom"), 10)), a.img.css("max-height", b.wH - c)
34600                }
34601            }, _onImageHasSize: function (a) {
34602                a.img && (a.hasSize = !0, L && clearInterval(L), a.isCheckingImgSize = !1, y("ImageHasSize", a), a.imgHidden && (b.content && b.content.removeClass("mfp-loading"), a.imgHidden = !1))
34603            }, findImageSize: function (a) {
34604                var c = 0, d = a.img[0], e = function (f) {
34605                    L && clearInterval(L), L = setInterval(function () {
34606                        return d.naturalWidth > 0 ? void b._onImageHasSize(a) : (c > 200 && clearInterval(L), c++, void (3 === c ? e(10) : 40 === c ? e(50) : 100 === c && e(500)))
34607                    }, f)
34608                };
34609                e(1)
34610            }, getImage: function (c, d) {
34611                var e = 0, f = function () {
34612                    c && (c.img[0].complete ? (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("ready")), c.hasSize = !0, c.loaded = !0, y("ImageLoadComplete")) : (e++, 200 > e ? setTimeout(f, 100) : g()))
34613                }, g = function () {
34614                    c && (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("error", h.tError.replace("%url%", c.src))), c.hasSize = !0, c.loaded = !0, c.loadError = !0)
34615                }, h = b.st.image, i = d.find(".mfp-img");
34616                if (i.length) {
34617                    var j = document.createElement("img");
34618                    j.className = "mfp-img", c.el && c.el.find("img").length && (j.alt = c.el.find("img").attr("alt")), c.img = a(j).on("load.mfploader", f).on("error.mfploader", g), j.src = c.src, i.is("img") && (c.img = c.img.clone()), j = c.img[0], j.naturalWidth > 0 ? c.hasSize = !0 : j.width || (c.hasSize = !1)
34619                }
34620                return b._parseMarkup(d, {
34621                    title: M(c),
34622                    img_replaceWith: c.img
34623                }, c), b.resizeImage(), c.hasSize ? (L && clearInterval(L), c.loadError ? (d.addClass("mfp-loading"), b.updateStatus("error", h.tError.replace("%url%", c.src))) : (d.removeClass("mfp-loading"), b.updateStatus("ready")), d) : (b.updateStatus("loading"), c.loading = !0, c.hasSize || (c.imgHidden = !0, d.addClass("mfp-loading"), b.findImageSize(c)), d)
34624            }
34625        }
34626    });
34627    var N, O = function () {
34628        return void 0 === N && (N = void 0 !== document.createElement("p").style.MozTransform), N
34629    };
34630    a.magnificPopup.registerModule("zoom", {
34631        options: {
34632            enabled: !1, easing: "ease-in-out", duration: 300, opener: function (a) {
34633                return a.is("img") ? a : a.find("img")
34634            }
34635        }, proto: {
34636            initZoom: function () {
34637                var a, c = b.st.zoom, d = ".zoom";
34638                if (c.enabled && b.supportsTransition) {
34639                    var e, f, g = c.duration, j = function (a) {
34640                        var b = a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),
34641                            d = "all " + c.duration / 1e3 + "s " + c.easing, e = {
34642                                position: "fixed",
34643                                zIndex: 9999,
34644                                left: 0,
34645                                top: 0,
34646                                "-webkit-backface-visibility": "hidden"
34647                            }, f = "transition";
34648                        return e["-webkit-" + f] = e["-moz-" + f] = e["-o-" + f] = e[f] = d, b.css(e), b
34649                    }, k = function () {
34650                        b.content.css("visibility", "visible")
34651                    };
34652                    w("BuildControls" + d, function () {
34653                        if (b._allowZoom()) {
34654                            if (clearTimeout(e), b.content.css("visibility", "hidden"), a = b._getItemToZoom(), !a) return void k();
34655                            f = j(a), f.css(b._getOffset()), b.wrap.append(f), e = setTimeout(function () {
34656                                f.css(b._getOffset(!0)), e = setTimeout(function () {
34657                                    k(), setTimeout(function () {
34658                                        f.remove(), a = f = null, y("ZoomAnimationEnded")
34659                                    }, 16)
34660                                }, g)
34661                            }, 16)
34662                        }
34663                    }), w(i + d, function () {
34664                        if (b._allowZoom()) {
34665                            if (clearTimeout(e), b.st.removalDelay = g, !a) {
34666                                if (a = b._getItemToZoom(), !a) return;
34667                                f = j(a)
34668                            }
34669                            f.css(b._getOffset(!0)), b.wrap.append(f), b.content.css("visibility", "hidden"), setTimeout(function () {
34670                                f.css(b._getOffset())
34671                            }, 16)
34672                        }
34673                    }), w(h + d, function () {
34674                        b._allowZoom() && (k(), f && f.remove(), a = null)
34675                    })
34676                }
34677            }, _allowZoom: function () {
34678                return "image" === b.currItem.type
34679            }, _getItemToZoom: function () {
34680                return b.currItem.hasSize ? b.currItem.img : !1
34681            }, _getOffset: function (c) {
34682                var d;
34683                d = c ? b.currItem.img : b.st.zoom.opener(b.currItem.el || b.currItem);
34684                var e = d.offset(), f = parseInt(d.css("padding-top"), 10), g = parseInt(d.css("padding-bottom"), 10);
34685                e.top -= a(window).scrollTop() - f;
34686                var h = {width: d.width(), height: (u ? d.innerHeight() : d[0].offsetHeight) - g - f};
34687                return O() ? h["-moz-transform"] = h.transform = "translate(" + e.left + "px," + e.top + "px)" : (h.left = e.left, h.top = e.top), h
34688            }
34689        }
34690    });
34691    var P = "iframe", Q = "//about:blank", R = function (a) {
34692        if (b.currTemplate[P]) {
34693            var c = b.currTemplate[P].find("iframe");
34694            c.length && (a || (c[0].src = Q), b.isIE8 && c.css("display", a ? "block" : "none"))
34695        }
34696    };
34697    a.magnificPopup.registerModule(P, {
34698        options: {
34699            markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',
34700            srcAction: "iframe_src",
34701            patterns: {
34702                youtube: {index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1"},
34703                vimeo: {index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1"},
34704                gmaps: {index: "//maps.google.", src: "%id%&output=embed"}
34705            }
34706        }, proto: {
34707            initIframe: function () {
34708                b.types.push(P), w("BeforeChange", function (a, b, c) {
34709                    b !== c && (b === P ? R() : c === P && R(!0))
34710                }), w(h + "." + P, function () {
34711                    R()
34712                })
34713            }, getIframe: function (c, d) {
34714                var e = c.src, f = b.st.iframe;
34715                a.each(f.patterns, function () {
34716                    return e.indexOf(this.index) > -1 ? (this.id && (e = "string" == typeof this.id ? e.substr(e.lastIndexOf(this.id
34716) + this.id.length, e.length) : this.id.call(this, e)), e = this.src.replace("%id%", e), !1) : void 0
34717                });
34718                var g = {};
34719                return f.srcAction && (g[f.srcAction] = e), b._parseMarkup(d, g, c), b.updateStatus("ready"), d
34720            }
34721        }
34722    });
34723    var S = function (a) {
34724        var c = b.items.length;
34725        return a > c - 1 ? a - c : 0 > a ? c + a : a
34726    }, T = function (a, b, c) {
34727        return a.replace(/%curr%/gi, b + 1).replace(/%total%/gi, c)
34728    };
34729    a.magnificPopup.registerModule("gallery", {
34730        options: {
34731            enabled: !1,
34732            arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
34733            preload: [0, 2],
34734            navigateByImgClick: !0,
34735            arrows: !0,
34736            tPrev: "Previous (Left arrow key)",
34737            tNext: "Next (Right arrow key)",
34738            tCounter: "%curr% of %total%"
34739        }, proto: {
34740            initGallery: function () {
34741                var c = b.st.gallery, e = ".mfp-gallery", g = Boolean(a.fn.mfpFastClick);
34742                return b.direction = !0, c && c.enabled ? (f += " mfp-gallery", w(m + e, function () {
34743                    c.navigateByImgClick && b.wrap.on("click" + e, ".mfp-img", function () {
34744                        return b.items.length > 1 ? (b.next(), !1) : void 0
34745                    }), d.on("keydown" + e, function (a) {
34746                        37 === a.keyCode ? b.prev() : 39 === a.keyCode && b.next()
34747                    })
34748                }), w("UpdateStatus" + e, function (a, c) {
34749                    c.text && (c.text = T(c.text, b.currItem.index, b.items.length))
34750                }), w(l + e, function (a, d, e, f) {
34751                    var g = b.items.length;
34752                    e.counter = g > 1 ? T(c.tCounter, f.index, g) : ""
34753                }), w("BuildControls" + e, function () {
34754                    if (b.items.length > 1 && c.arrows && !b.arrowLeft) {
34755                        var d = c.arrowMarkup,
34756                            e = b.arrowLeft = a(d.replace(/%title%/gi, c.tPrev).replace(/%dir%/gi, "left")).addClass(s),
34757                            f = b.arrowRight = a(d.replace(/%title%/gi, c.tNext).replace(/%dir%/gi, "right")).addClass(s),
34758                            h = g ? "mfpFastClick" : "click";
34759                        e[h](function () {
34760                            b.prev()
34761                        }), f[h](function () {
34762                            b.next()
34763                        }), b.isIE7 && (x("b", e[0], !1, !0), x("a", e[0], !1, !0), x("b", f[0], !1, !0), x("a", f[0], !1, !0)), b.container.append(e.add(f))
34764                    }
34765                }), w(n + e, function () {
34766                    b._preloadTimeout && clearTimeout(b._preloadTimeout), b._preloadTimeout = setTimeout(function () {
34767                        b.preloadNearbyImages(), b._preloadTimeout = null
34768                    }, 16)
34769                }), void w(h + e, function () {
34770                    d.off(e), b.wrap.off("click" + e), b.arrowLeft && g && b.arrowLeft.add(b.arrowRight).destroyMfpFastClick(), b.arrowRight = b.arrowLeft = null
34771                })) : !1
34772            }, next: function () {
34773                b.direction = !0, b.index = S(b.index + 1), b.updateItemHTML()
34774            }, prev: function () {
34775                b.direction = !1, b.index = S(b.index - 1), b.updateItemHTML()
34776            }, goTo: function (a) {
34777                b.direction = a >= b.index, b.index = a, b.updateItemHTML()
34778            }, preloadNearbyImages: function () {
34779                var a, c = b.st.gallery.preload, d = Math.min(c[0], b.items.length), e = Math.min(c[1], b.items.length);
34780                for (a = 1; a <= (b.direction ? e : d); a++) b._preloadItem(b.index + a);
34781                for (a = 1; a <= (b.direction ? d : e); a++) b._preloadItem(b.index - a)
34782            }, _preloadItem: function (c) {
34783                if (c = S(c), !b.items[c].preloaded) {
34784                    var d = b.items[c];
34785                    d.parsed || (d = b.parseEl(c)), y("LazyLoad", d), "image" === d.type && (d.img = a('<img class="mfp-img" />').on("load.mfploader", function () {
34786                        d.hasSize = !0
34787                    }).on("error.mfploader", function () {
34788                        d.hasSize = !0, d.loadError = !0, y("LazyLoadError", d)
34789                    }).attr("src", d.src)), d.preloaded = !0
34790                }
34791            }
34792        }
34793    });
34794    var U = "retina";
34795    a.magnificPopup.registerModule(U, {
34796        options: {
34797            replaceSrc: function (a) {
34798                return a.src.replace(/\.\w+$/, function (a) {
34799                    return "@2x" + a
34800                })
34801            }, ratio: 1
34802        }, proto: {
34803            initRetina: function () {
34804                if (window.devicePixelRatio > 1) {
34805                    var a = b.st.retina, c = a.ratio;
34806                    c = isNaN(c) ? c() : c, c > 1 && (w("ImageHasSize." + U, function (a, b) {
34807                        b.img.css({"max-width": b.img[0].naturalWi
34807dth / c, width: "100%"})
34808                    }), w("ElementParse." + U, function (b, d) {
34809                        d.src = a.replaceSrc(d, c)
34810                    }))
34811                }
34812            }
34813        }
34814    }), function () {
34815        var b = 1e3, c = "ontouchstart" in window, d = function () {
34816            v.off("touchmove" + f + " touchend" + f)
34817        }, e = "mfpFastClick", f = "." + e;
34818        a.fn.mfpFastClick = function (e) {
34819            return a(this).each(function () {
34820                var g, h = a(this);
34821                if (c) {
34822                    var i, j, k, l, m, n;
34823                    h.on("touchstart" + f, function (a) {
34824                        l = !1, n = 1, m = a.originalEvent ? a.originalEvent.touches[0] : a.touches[0], j = m.clientX, k = m.clientY, v.on("touchmove" + f, function (a) {
34825                            m = a.originalEvent ? a.originalEvent.touches : a.touches, n = m.length, m = m[0], (Math.abs(m.clientX - j) > 10 || Math.abs(m.clientY - k) > 10) && (l = !0, d())
34826                        }).on("touchend" + f, function (a) {
34827                            d(), l || n > 1 || (g = !0, a.preventDefault(), clearTimeout(i), i = setTimeout(function () {
34828                                g = !1
34829                            }, b), e())
34830                        })
34831                    })
34832                }
34833                h.on("click" + f, function () {
34834                    g || e()
34835                })
34836            })
34837        }, a.fn.destroyMfpFastClick = function () {
34838            a(this).off("touchstart" + f + " click" + f), c && v.off("touchmove" + f + " touchend" + f)
34839        }
34840    }(), A()
34841}), !function (o) {
34842    o.fn.slickModals = function (i) {
34843        var n = o.extend({
34844            popupType: null,
34845            delayTime: null,
34846            exitTopDistance: null,
34847            scrollTopDistance: null,
34848            setCookie: !1,
34849            cookieDays: null,
34850            cookieTriggerClass: "setSlickCookie",
34851            cookieName: "slickCookie",
34852            overlayBg: !1,
34853            overlayBgColor: null,
34854            overlayTransition: null,
34855            overlayTransitionSpeed: null,
34856            bgEffect: null,
34857            blurBgRadius: null,
34858            scaleBgValue: null,
34859            windowWidth: null,
34860            windowHeight: null,
34861            windowLocation: null,
34862            windowTransition: null,
34863            windowTransitionSpeed: null,
34864            windowTransitionEffect: null,
34865            windowShadowOffsetX: null,
34866            windowShadowOffsetY: null,
34867            windowShadowBlurRadius: null,
34868            windowShadowSpreadRadius: null,
34869            windowShadowColor: null,
34870            windowBackground: null,
34871            windowRadius: null,
34872            windowMargin: null,
34873            windowPadding: null,
34874            closeButton: null,
34875            reopenClass: null
34876        }, i);
34877        return this.each(function () {
34878            function i() {
34879                o(r).addClass("isActive")
34880            }
34881
34882            function e() {
34883                o(r).removeClass("isActive")
34884            }
34885
34886            function a() {
34887                function i() {
34888                    o(c).not(".slickModal").addClass("blurred").css({
34889                        "-webkit-filter": "blur(" + n.blurBgRadius + ")",
34890                        "-moz-filter": "blur(" + n.blurBgRadius + ")",
34891                        "-ms-filter": "blur(" + n.blurBgRadius + ")",
34892                        filter: "blur(" + n.blurBgRadius + ")"
34893                    })
34894                }
34895
34896                function e() {
34897                    o(c).not(".slickModal").addClass("scaled").css({
34898                        "-webkit-transform": "scale(" + n.scaleBgValue + ")",
34899                        "-moz-transform": "scale(" + n.scaleBgValue + ")",
34900                        "-ms-transform": "scale(" + n.scaleBgValue + ")",
34901                        transform: "scale(" + n.scaleBgValue + ")"
34902                    })
34903                }
34904
34905                "blur" === n.bgEffect && i(), "scale" === n.bgEffect && e(), "both" === n.bgEffect && (i(), e()), o(c).not(".slickModal").css({
34906                    "-webkit-transition-duration": n.overlayTransitionSpeed + "s",
34907                    "-moz-transition-duration": n.overlayTransitionSpeed + "s",
34908                    "-ms-transition-duration": n.overlayTransitionSpeed + "s",
34909                    "transition-duration": n.overlayTransitionSpeed + "s"
34910                })
34911            }
34912
34913            function l() {
34914                o(c).removeClass("blurred scaled").css({
34915                    "-webkit-transform": "",
34916                    "-moz-transform": "",
34917                    "-ms-transform": "",
34918                    transform: "",
34919                    "-webkit-filter": "",
34920                    "-moz-filter": "",
34921                    "-ms-filter": "",
34922                    filter: ""
34923                })
34924            }
34925
34926            function s() {
34927                o(r).prepend("<div class='overlay closeModal'></div>"), o(r).children(".overlay").addClass(n.overlayTransition + " " + n.cookieTriggerClass).css({
34928                    background: n.overlayBgColor,
34929                    "-webkit-transition-duration": n.overlayTransitionSpeed + "s",
34930                    "-moz-transition-duration": n.overlayTransitionSpeed + "s",
34931                    "-ms-transition-duration": n.overlayTransitionSpeed + "s",
34932                    "transition-duration": n.overlayTransitionSpeed + "s"
34933                })
34934            }
34935
34936            function t() {
34937                o(r).children(".window").addClass(n.windowLocation + " " + n.windowTransitionEffect + " " + n.windowTransition).css({
34938                    width: n.windowWidth,
34939                    height: n.windowHeight,
34940                    "box-shadow": n.windowShadowOffsetX + " " + n.windowShadowOffsetY + " " + n.windowShadowBlurRadius + " " + n.windowShadowSpreadRadius + " " + n.windowShadowColor,
34941                    background: n.windowBackground,
34942                    "border-radius": n.windowRadius,
34943                    margin: n.windowMargin,
34944                    padding: n.windowPadding,
34945                    "-webkit-transition-duration": n.windowTransitionSpeed + "s",
34946                    "-moz-transition-duration": n.windowTransitionSpeed + "s",
34947                    "-ms-transition-duration": n.windowTransitionSpeed + "s",
34948                    "transition-duration": n.windowTransitionSpeed + "s"
34949                }), "center" === n.windowLocation && o(r).children(".window").css({margin: "auto"})
34950            }
34951
34952            function d() {
34953                days = n.cookieDays, CookieDate = new Date, days > 0 && (CookieDate.setTime(CookieDate.getTime() + 24 * days * 60 * 60 * 1e3), document.cookie = n.cookieName + "=true; expires=" + CookieDate.toGMTString()), 0 === days && (document.cookie = n.cookieName + "=true;")
34954            }
34955
34956            var r = this;
34957            "delayed" === n.popupType && document.cookie.indexOf(n.cookieName) < 0 && (setTimeout(i, n.delayTime + 200), setTimeout(a, n.delayTime)), "exit" === n.popupType && o(document).mousemove(function (o) {
34958                document.cookie.indexOf(n.cookieName) < 0 && o.clientY <= n.exitTopDistance && (i(), a())
34959            }), "scrolled" === n.popupType && o(document).scroll(function () {
34960                var e = o(this).scrollTop();
34961                document.cookie.indexOf(n.cookieName) < 0 && e > n.scrollTopDistance && (i(), a())
34962            }), document.cookie.indexOf(n.cookieName) >= 0 && (e(), l());
34963            var c = "body > *";
34964            n.overlayBg === !0 && s(), o(r).children(".window").prepend("<div class='close closeModal'></div>"), o(r).find(".window").children(".closeModal").addClass(n.closeButton + " " + n.cookieTriggerClass), t(), n.setCookie === !0 && (document.cookie.split(";").map(function (o) {
34965                return o.trim().split("=")
34966            }).filter(function (o) {
34967                return o[0] === n.cookieName
34968            }).pop(), o("." + n.cookieTriggerClass).on("click", function () {
34969                d()
34970            })), o(".closeModal").on("click", function () {
34971                e(), l()
34972            }), o("." + n.reopenClass).on("click", function () {
34973                i(), a()
34974            })
34975        })
34976    }
34977}(jQuery), function (a) {
34978    "function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], a) : a(jQuery)
34979}(function (f) {
34980    function w(F) {
34981        return !F || void 0 !== F.allowPageScroll || void 0 === F.swipe && void 0 === F.swipeStatus || (F.allowPageScroll = m), void 0 !== F.click && void 0 === F.tap && (F.tap = F.click), F || (F = {}), F = f.extend({}, f.fn.swipetp.defaults, F), this.each(function () {
34982            var H = f(this), G = H.data(C);
34983            G || (G = new D(this, F), H.data(C, G))
34984        })
34985    }
34986
34987    function D(a5, aw) {
34988        function aO(be) {
34989            if (!(aC() || f(be.target).closest(aw.excludedElements, aS).length > 0)) {
34990                var bd, bf = be.originalEvent ? be.originalEvent : be, bg = bf.touches, bc = bg ? bg[0] : bf;
34991                return aa = g, bg ? X = bg.length : be.preventDefault(), ah = 0, aQ = null, aK = null, ac = 0, a2 = 0, a0 = 0, H = 1, ar = 0, aR = ak(), N = ab(), S(), !bg || X === aw.fingers || aw.fingers === i || aY() ? (aj(0, bc), U = au(), 2 == X && (aj(1, bg[1]), a2 = a0 = av(aR[0].start, aR[1].start)), (aw.swipeStatus || aw.pinchStatus) && (bd = P(bf, aa))) : bd = !1, bd === !1 ? (aa = q, P(bf, aa), bd) : (aw.hold && (ag = setTimeout(f.proxy(function () {
34992                    aS.trigger("hold", [bf.target]), aw.hold && (bd = aw.hold.call(aS, bf, bf.target))
34993                }, this), aw.longTapThreshold)), ap(!0), null)
34994            }
34995        }
34996
34997        function a4(bf) {
34998            var bi = bf.originalEvent ? bf.originalEvent : bf;
34999            if (aa !== h && aa !== q && !an()) {
35000                var be, bj = bi.touches, bd = bj ? bj[0] : bi, bg = aI(bd);
35001                if (a3 = au(), bj && (X = bj.length), aw.hold && clearTimeout(ag), aa = k, 2 == X && (0 == a2 ? (aj(1, bj[1]), a2 = a0 = av(aR[0].start, aR[1].start)) : (aI(bj[1]), a0 = av(aR[0].end, aR[1].end), aK = at(aR[0].end, aR[1].end)), H = a8(a2, a0), ar = Math.abs(a2 - a0)), X === aw.fingers || aw.fingers === i || !bj || aY()) {
35002                    if (aQ = aM(bg.start, bg.end), am(bf, aQ), ah = aT(bg.start, bg.end), ac = aN(), aJ(aQ, ah), (aw.swipeStatus || aw.pinchStatus) && (be = P(bi, aa)), !aw.triggerOnTouchEnd || aw.triggerOnTouchLeave) {
35003                        var bc = !0;
35004                        if (aw.triggerOnTouchLeave) {
35005                            var bh = aZ(this);
35006                            bc = F(bg.end, bh)
35007                        }
35008                        !aw.triggerOnTouchEnd && bc ? aa = aD(k) : aw.triggerOnTouchLeave && !bc && (aa = aD(h)), (aa == q || aa == h) && P(bi, aa)
35009                    }
35010                } else aa = q, P(bi, aa);
35011                be === !1 && (aa = q, P(bi, aa))
35012            }
35013        }
35014
35015        function M(bc) {
35016            var bd = bc.originalEvent ? bc.originalEvent : bc, be = bd.touches;
35017            return be && be.length ? (G(), !0) : (an() && (X = ae), a3 = au(), ac = aN(), bb() || !ao() ? (aa = q, P(bd, aa)) : aw.triggerOnTouchEnd || 0 == aw.triggerOnTouchEnd && aa === k ? (bc.preventDefault(), aa = h, P(bd, aa)) : !aw.triggerOnTouchEnd && a7() ? (aa = h, aG(bd, aa, B)) : aa === k && (aa = q, P(bd, aa)), ap(!1), null)
35018        }
35019
35020        function ba() {
35021            X = 0, a3 = 0, U = 0, a2 = 0, a0 = 0, H = 1, S(), ap(!1)
35022        }
35023
35024        function L(bc) {
35025            var bd = bc.originalEvent ? bc.originalEvent : bc;
35026            aw.triggerOnTouchLeave && (aa = aD(h), P(bd, aa))
35027        }
35028
35029        function aL() {
35030            aS.unbind(K, aO), aS.unbind(aE, ba), aS.unbind(az, a4), aS.unbind(V, M), T && aS.unbind(T, L), ap(!1)
35031        }
35032
35033        function aD(bg) {
35034            var bf = bg, be = aB(), bd = ao(), bc = bb();
35035            return !be || bc ? bf = q : !bd || bg != k || aw.triggerOnTouchEnd && !aw.triggerOnTouchLeave ? !bd && bg == h && aw.triggerOnTouchLeave && (bf = q) : bf = h, bf
35036        }
35037
35038        function P(be, bc) {
35039            var bd, bf = be.touches;
35040            return J() || W() || Q() || aY() ? ((J() || W()) && (bd = aG(be, bc, l)), (Q() || aY()) && bd !== !1 && (bd = aG(be, bc, t))) : aH() && bd !== !1 ? bd = aG(be, bc, j) : aq() && bd !== !1 ? bd = aG(be, bc, b) : ai() && bd !== !1 && (bd = aG(be, bc, B)), bc === q && ba(be), bc === h && (bf ? bf.length || ba(be) : ba(be)), bd
35041        }
35042
35043        function aG(bf, bc, be) {
35044            var bd;
35045            if (be == l) {
35046                if (aS.trigger("swipeStatus", [bc, aQ || null, ah || 0, ac || 0, X, aR]), aw.swipeStatus && (bd = aw.swipeStatus.call(aS, bf, bc, aQ || null, ah || 0, ac || 0, X, aR), bd === !1)) return !1;
35047                if (bc == h && aW()) {
35048                    if (aS.trigger("swipe", [aQ, ah, ac, X, aR]), aw.swipe && (bd = aw.swipe.call(aS, bf, aQ, ah, ac, X, aR), bd === !1)) return !1;
35049                    switch (aQ) {
35050                        case p:
35051                            aS.trigger("swipeLeft", [aQ, ah, ac, X, aR]), aw.swipeLeft && (bd = aw.swipeLeft.call(aS, bf, aQ, ah, ac, X, aR));
35052                            break;
35053                        case o:
35054                            aS.trigger("swipeRight", [aQ, ah, ac, X, aR]), aw.swipeRight && (bd = aw.swipeRight.call(aS, bf, aQ, ah, ac, X, aR));
35055                            break;
35056                        case e:
35057                            aS.trigger("swipeUp", [aQ, ah, ac, X, aR]), aw.swipeUp && (bd = aw.swipeUp.call(aS, bf, aQ, ah, ac, X, aR));
35058                            break;
35059                        case x:
35060                            aS.trigger("swipeDown", [aQ, ah, ac, X, aR]), aw.swipeDown && (bd = aw.swipeDown.call(aS, bf, aQ, ah, ac, X, aR))
35061                    }
35062                }
35063            }
35064            if (be == t) {
35065                if (aS.trigger("pinchStatus", [bc, aK || null, ar || 0, ac || 0, X, H, aR]), aw.pinchStatus && (bd = aw.pinchStatus.call(aS, bf, bc, aK || null, ar || 0, ac || 0, X, H, aR), bd === !1)) return !1;
35066                if (bc == h && a9()) switch (aK) {
35067                    case c:
35068                        aS.trigger("pinchIn", [aK || null, ar || 0, ac || 0, X, H, aR]), aw.pinchIn && (bd = aw.pinchIn.call(aS, bf, aK || null, ar || 0, ac || 0, X, H, aR));
35069                        break;
35070                    case A:
35071                        aS.trigger("pinchOut", [aK || null, ar || 0, ac || 0, X, H, aR]), aw.pinchOut && (bd = aw.pinchOut.call(aS, bf, aK || null, ar || 0, ac || 0, X, H, aR))
35072                }
35073            }
35074            return be == B ? (bc === q || bc === h) && (clearTimeout(aX), clearTimeout(ag), Z() && !I() ? (O = au(), aX = setTimeout(f.proxy(function () {
35075                O = null, aS.trigger("tap", [bf.target]), aw.tap && (bd = aw.tap.call(aS, bf, bf.target))
35076            }, this), aw.doubleTapThreshold)) : (O = null, aS.trigger("tap", [bf.target]), aw.tap && (bd = aw.tap.call(aS, bf, bf.target)))) : be == j ? (bc === q || bc === h) && (clearTimeout(aX), O = null, aS.trigger("doubletap", [bf.target]), aw.doubleTap && (bd = aw.doubleTap.call(aS, bf, bf.target))) : be == b && (bc === q || bc === h) && (clearTimeout(aX), O = null, aS.trigger("longtap", [bf.target]), aw.longTap && (bd = aw.longTap.call(aS, bf, bf.target))), bd
35077        }
35078
35079        function ao() {
35080            var bc = !0;
35081            return null !== aw.threshold && (bc = ah >= aw.threshold), bc
35082        }
35083
35084        function bb() {
35085            var bc = !1;
35086            return null !== aw.cancelThreshold && null !== aQ && (bc = aU(aQ) - ah >= aw.cancelThreshold), bc
35087        }
35088
35089        function af() {
35090            return null !== aw.pinchThreshold ? ar >= aw.pinchThreshold : !0
35091        }
35092
35093        function aB() {
35094            var bc;
35095            return bc = aw.maxTimeThreshold && ac >= aw.maxTimeThreshold ? !1 : !0
35096        }
35097
35098        function am(bc, bd) {
35099            if (aw.preventDefaultEvents !== !1) if (aw.allowPageScroll === m) bc.preventDefault(); else {
35100                var be = aw.allowPageScroll === s;
35101                switch (bd) {
35102                    case p:
35103                        (aw.swipeLeft && be || !be && aw.allowPageScroll != E) && bc.preventDefault();
35104                        break;
35105                    case o:
35106                        (aw.swipeRight && be || !be && aw.allowPageScroll != E) && bc.preventDefault();
35107                        break;
35108                    case e:
35109                        (aw.swipeUp && be || !be && aw.allowPageScroll != u) && bc.preventDefault();
35110                        break;
35111                    case x:
35112                        (aw.swipeDown && be || !be && aw.allowPageScroll != u) && bc.preventDefault()
35113                }
35114            }
35115        }
35116
35117        function a9() {
35118            var bd = aP(), bc = Y(), be = af();
35119            return bd && bc && be
35120        }
35121
35122        function aY() {
35123            return !!(aw.pinchStatus || aw.pinchIn || aw.pinchOut)
35124        }
35125
35126        function Q() {
35127            return !(!a9() || !aY())
35128        }
35129
35130        function aW() {
35131            var bf = aB(), bh = ao(), be = aP(), bc = Y(), bd = bb(), bg = !bd && bc && be && bh && bf;
35132            return bg
35133        }
35134
35135        function W() {
35136            return !!(aw.swipe || aw.swipeStatus || aw.swipeLeft || aw.swipeRight || aw.swipeUp || aw.swipeDown)
35137        }
35138
35139        function J() {
35140            return !(!aW() || !W())
35141        }
35142
35143        function aP() {
35144            return X === aw.fingers || aw.fingers === i || !a
35145        }
35146
35147        function Y() {
35148            return 0 !== aR[0].end.x
35149        }
35150
35151        function a7() {
35152            return !!aw.tap
35153        }
35154
35155        function Z() {
35156            return !!aw.doubleTap
35157        }
35158
35159        function aV() {
35160            return !!aw.longTap
35161        }
35162
35163        function R() {
35164            if (null == O) return !1;
35165            var bc = au();
35166            return Z() && bc - O <= aw.doubleTapThreshold
35167        }
35168
35169        function I() {
35170            return R()
35171        }
35172
35173        function ay() {
35174            return (1 === X || !a) && (isNaN(ah) || ah < aw.threshold)
35175        }
35176
35177        function a1() {
35178            return ac > aw.longTapThreshold && r > ah
35179        }
35180
35181        function ai() {
35182            return !(!ay() || !a7())
35183        }
35184
35185        function aH() {
35186            return !(!R() || !Z())
35187        }
35188
35189        function aq() {
35190            return !(!a1() || !aV())
35191        }
35192
35193        function G() {
35194            a6 = au(), ae = event.touches.length + 1
35195        }
35196
35197        function S() {
35198            a6 = 0, ae = 0
35199        }
35200
35201        function an() {
35202            var bc = !1;
35203            if (a6) {
35204                var bd = au() - a6;
35205                bd <= aw.fingerReleaseThreshold && (bc = !0)
35206            }
35207            return bc
35208        }
35209
35210        function aC() {
35211            return !(aS.data(C + "_intouch") !== !0)
35212        }
35213
35214        function ap(bc) {
35215            bc === !0 ? (aS.bind(az, a4), aS.bind(V, M), T && aS.bind(T, L)) : (aS.unbind(az, a4, !1), aS.unbind(V, M, !1), T && aS.unbind(T, L, !1)), aS.data(C + "_intouch", bc === !0)
35216        }
35217
35218        function aj(bd, bc) {
35219            var be = void 0 !== bc.identifier ? bc.identifier : 0;
35220            return aR[bd].identifier = be, aR[bd].start.x = aR[bd].end.x = bc.pageX || bc.clientX, aR[bd].start.y = aR[bd].end.y = bc.pageY || bc.clientY, aR[bd]
35221        }
35222
35223        function aI(bc) {
35224            var be = void 0 !== bc.identifier ? bc.identifier : 0, bd = ad(be);
35225            return bd.end.x = bc.pageX || bc.clientX, bd.end.y = bc.pageY || bc.clientY, bd
35226        }
35227
35228        function ad(bd) {
35229            for (var bc = 0; bc < aR.length; bc++) if (aR[bc].identifier == bd) return aR[bc]
35230        }
35231
35232        function ak() {
35233            for (var bc = [], bd = 0; 5 >= bd; bd++) bc.push({start: {x: 0, y: 0}, end: {x: 0, y: 0}, identifier: 0});
35234            return bc
35235        }
35236
35237        function aJ(bc, bd) {
35238            bd = Math.max(bd, aU(bc)), N[bc].distance = bd
35239        }
35240
35241        function aU(bc) {
35242            return N[bc] ? N[bc].distance : void 0
35243        }
35244
35245        function ab() {
35246            var bc = {};
35247            return bc[p] = ax(p), bc[o] = ax(o), bc[e] = ax(e), bc[x] = ax(x), bc
35248        }
35249
35250        function ax(bc) {
35251            return {direction: bc, distance: 0}
35252        }
35253
35254        function aN() {
35255            return a3 - U
35256        }
35257
35258        function av(bf, be) {
35259            var bd = Math.abs(bf.x - be.x), bc = Math.abs(bf.y - be.y);
35260            return Math.round(Math.sqrt(bd * bd + bc * bc))
35261        }
35262
35263        function a8(bc, bd) {
35264            var be = bd / bc * 1;
35265            return be.toFixed(2)
35266        }
35267
35268        function at() {
35269            return 1 > H ? A : c
35270        }
35271
35272        function aT(bd, bc) {
35273            return Math.round(Math.sqrt(Math.pow(bc.x - bd.x, 2) + Math.pow(bc.y - bd.y, 2)))
35274        }
35275
35276        function aF(bf, bd) {
35277            var bc = bf.x - bd.x, bh = bd.y - bf.y, be = Math.atan2(bh, bc), bg = Math.round(180 * be / Math.PI);
35278            return 0 > bg && (bg = 360 - Math.abs(bg)), bg
35279        }
35280
35281        function aM(bd, bc) {
35282            var be = aF(bd, bc);
35283            return 45 >= be && be >= 0 ? p : 360 >= be && be >= 315 ? p : be >= 135 && 225 >= be ? o : be > 45 && 135 > be ? x : e
35284        }
35285
35286        function au() {
35287            var bc = new Date;
35288            return bc.getTime()
35289        }
35290
35291        function aZ(bc) {
35292            bc = f(bc);
35293            var be = bc.offset(),
35294                bd = {left: be.left, right: be.left + bc.outerWidth(), top: be.top, bottom: be.top + bc.outerHeight()};
35295            return bd
35296        }
35297
35298        function F(bc, bd) {
35299            return bc.x > bd.left && bc.x < bd.right && bc.y > bd.top && bc.y < bd.bottom
35300        }
35301
35302        var aA = a || d || !aw.fallbackToMouseEvents,
35303            K = aA ? d ? v ? "MSPointerDown" : "pointerdown" : "touchstart" : "mousedown",
35304            az = aA ? d ? v ? "MSPointerMove" : "pointermove" : "touchmove" : "mousemove",
35305            V = aA ? d ? v ? "MSPointerUp" : "pointerup" : "touchend" : "mouseup", T = aA ? null : "mouseleave",
35306            aE = d ? v ? "MSPointerCancel" : "pointercancel" : "touchcancel", ah = 0, aQ = null, ac = 0, a2 = 0, a0 = 0,
35307            H = 1, ar = 0, aK = 0, N = null, aS = f(a5), aa = "start", X = 0, aR = null, U = 0, a3 = 0, a6 = 0, ae = 0,
35308            O = 0, aX = null, ag = null;
35309        try {
35310            aS.bind(K, aO), aS.bind(aE, ba)
35311        } catch (al) {
35312            f.error("events not supported " + K + "," + aE + " on jQuery.swipetp")
35313        }
35314        this.enable = function () {
35315            return aS.bind(K, aO), aS.bind(aE, ba), aS
35316        }, this.disable = function () {
35317            return aL(), aS
35318        }, this.destroy = function () {
35319            aL(), aS.data(C, null), aS = null
35320        }, this.option = function (bd, bc) {
35321            if (void 0 !== aw[bd]) {
35322                if (void 0 === bc) return aw[bd];
35323                aw[bd] = bc
35324            } else f.error("Option " + bd + " does not exist on jQuery.swipetp.options");
35325            return null
35326        }
35327    }
35328
35329    var y = "1.6.9", p = "left", o = "right", e = "up", x = "down", c = "in", A = "out", m = "none", s = "auto",
35330        l = "swipe", t = "pinch", B = "tap", j = "doubletap", b = "longtap", E = "horizontal", u = "vertical",
35331        i = "all", r = 10, g = "start", k = "move", h = "end", q = "cancel", a = "ontouchstart" in window,
35332        v = window.navigator.msPointerEnabled && !window.navigator.pointerEnabled,
35333        d = window.navigator.pointerEnabled || window.navigator.msPointerEnabled, C = "TouchSwipe", n = {
35334            fingers: 1,
35335            threshold: 75,
35336            cancelThreshold: null,
35337            pinchThreshold: 20,
35338            maxTimeThreshold: null,
35339            fingerReleaseThreshold: 250,
35340            longTapThreshold: 500,
35341            doubleTapThreshold: 200,
35342            swipe: null,
35343            swipeLeft: null,
35344            swipeRight: null,
35345            swipeUp: null,
35346            swipeDown: null,
35347            swipeStatus: null,
35348            pinchIn: null,
35349            pinchOut: null,
35350            pinchStatus: null,
35351            click: null,
35352            tap: null,
35353            doubleTap: null,
35354            longTap: null,
35355            hold: null,
35356            triggerOnTouchEnd: !0,
35357            triggerOnTouchLeave: !1,
35358            allowPageScroll: "auto",
35359            fallbackToMouseEvents: !0,
35360            excludedElements: "label, button, input, select, textarea, a, .noSwipe",
35361            preventDefaultEvents: !0
35362        };
35363    f.fn.swipetp = function (H) {
35364        var G = f(this), F = G.data(C);
35365        if (F && "string" == typeof H) {
35366            if (F[H]) return F[H].apply(this, Array.prototype.slice.call(arguments, 1));
35367            f.error("Method " + H + " does not exist on jQuery.swipetp")
35368        } else if (!(F || "object" != typeof H && H)) return w.apply(this, arguments);
35369        return G
35370    }, f.fn.swipetp.version = y, f.fn.swipetp.defaults = n, f.fn.swipetp.phases = {
35371        PHASE_START: g,
35372        PHASE_MOVE: k,
35373        PHASE_END: h,
35374        PHASE_CANCEL: q
35375    }, f.fn.swipetp.directions = {LEFT: p, RIGHT: o, UP: e, DOWN: x, IN: c, OUT: A}, f.fn.swipetp.pageScroll = {
35376        NONE: m,
35377        HORIZONTAL: E,
35378        VERTICAL: u,
35379        AUTO: s
35380    }, f.fn.swipetp.fingers = {ONE: 1, TWO: 2, THREE: 3, ALL: i}
35381}), "undefined" == typeof console) {
35382    var console = {};
35383    console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = console.groupCollapsed = function () {
35384    }
35385}
35386if (1 == window.tplogs) try {
35387    console.groupCollapsed("ThemePunch GreenSocks Logs")
35388} catch (e) {
35389}
35390var oldgs = window.GreenSockGlobals;
35391oldgs_queue = window._gsQueue;
35392var punchgs = window.GreenSockGlobals = {};
35393if (1 == window.tplogs) try {
35394    console.info("Build GreenSock SandBox for ThemePunch Plugins"), console.info("GreenSock TweenLite Engine Initalised by ThemePunch Plugin")
35395}
vendor: 21,664 bytes, lines 35395-35687
35395 catch (e) {
35396}
35397!function (t, e) {
35398    "use strict";
35399    var i = t.GreenSockGlobals = t.GreenSockGlobals || t;
35400    if (!i.TweenLite) {
35401        var s, r, n, a, o, l = function (t) {
35402            var e, s = t.split("."), r = i;
35403            for (e = 0; s.length > e; e++) r[s[e]] = r = r[s[e]] || {};
35404            return r
35405        }, h = l("com.greensock"), _ = 1e-10, u = function (t) {
35406            var e, i = [], s = t.length;
35407            for (e = 0; e !== s; i.push(t[e++])) ;
35408            return i
35409        }, f = function () {
35410        }, c = function () {
35411            var t = Object.prototype.toString, e = t.call([]);
35412            return function (i) {
35413                return null != i && (i instanceof Array || "object" == typeof i && !!i.push && t.call(i) === e)
35414            }
35415        }(), m = {}, p = function (s, r, n, a) {
35416            this.sc = m[s] ? m[s].sc : [], m[s] = this, this.gsClass = null, this.func = n;
35417            var o = [];
35418            this.check = function (h) {
35419                for (var _, u, f, c, d, v = r.length, g = v; --v > -1;) (_ = m[r[v]] || new p(r[v], [])).gsClass ? (o[v] = _.gsClass, g--) : h && _.sc.push(this);
35420                if (0 === g && n) for (u = ("com.greensock." + s).split("."), f = u.pop(), c = l(u.join("."))[f] = this.gsClass = n.apply(n, o), a && (i[f] = c, d = "undefined" != typeof module && module.exports, !d && "function" == typeof define && define.amd ? define((t.GreenSockAMDPath ? t.GreenSockAMDPath + "/" : "") + s.split(".").pop(), [], function () {
35421                    return c
35422                }) : s === e && d && (module.exports = c)), v = 0; this.sc.length > v; v++) this.sc[v].check()
35423            }, this.check(!0)
35424        }, d = t._gsDefine = function (t, e, i, s) {
35425            return new p(t, e, i, s)
35426        }, v = h._class = function (t, e, i) {
35427            return e = e || function () {
35428            }, d(t, [], function () {
35429                return e
35430            }, i), e
35431        };
35432        d.globals = i;
35433        var g = [0, 0, 1, 1], T = [], y = v("easing.Ease", function (t, e, i, s) {
35434            this._func = t, this._type = i || 0, this._power = s || 0, this._params = e ? g.concat(e) : g
35435        }, !0), w = y.map = {}, P = y.register = function (t, e, i, s) {
35436            for (var r, n, a, o, l = e.split(","), _ = l.length, u = (i || "easeIn,easeOut,easeInOut").split(","); --_ > -1;) for (n = l[_], r = s ? v("easing." + n, null, !0) : h.easing[n] || {}, a = u.length; --a > -1;) o = u[a], w[n + "." + o] = w[o + n] = r[o] = t.getRatio ? t : t[o] || new t
35437        };
35438        for (n = y.prototype, n._calcEnd = !1, n.getRatio = function (t) {
35439            if (this._func) return this._params[0] = t, this._func.apply(null, this._params);
35440            var e = this._type, i = this._power, s = 1 === e ? 1 - t : 2 === e ? t : .5 > t ? 2 * t : 2 * (1 - t);
35441            return 1 === i ? s *= s : 2 === i ? s *= s * s : 3 === i ? s *= s * s * s : 4 === i && (s *= s * s * s * s), 1 === e ? 1 - s : 2 === e ? s : .5 > t ? s / 2 : 1 - s / 2
35442        }, s = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], r = s.length; --r > -1;) n = s[r] + ",Power" + r, P(new y(null, null, 1, r), n, "easeOut", !0), P(new y(null, null, 2, r), n, "easeIn" + (0 === r ? ",easeNone" : "")), P(new y(null, null, 3, r), n, "easeInOut");
35443        w.linear = h.easing.Linear.easeIn, w.swing = h.easing.Quad.easeInOut;
35444        var b = v("events.EventDispatcher", function (t) {
35445            this._listeners = {}, this._eventTarget = t || this
35446        });
35447        n = b.prototype, n.addEventListener = function (t, e, i, s, r) {
35448            r = r || 0;
35449            var n, l, h = this._listeners[t], _ = 0;
35450            for (null == h && (this._listeners[t] = h = []), l = h.length; --l > -1;) n = h[l], n.c === e && n.s === i ? h.splice(l, 1) : 0 === _ && r > n.pr && (_ = l + 1);
35451            h.splice(_, 0, {c: e, s: i, up: s, pr: r}), this !== a || o || a.wake()
35452        }, n.removeEventListener = function (t, e) {
35453            var i, s = this._listeners[t];
35454            if (s) for (i = s.length; --i > -1;) if (s[i].c === e) return void s.splice(i, 1)
35455        }, n.dispatchEvent = function (t) {
35456            var e, i, s, r = this._listeners[t];
35457            if (r) for (e = r.length, i = this._eventTarget; --e > -1;) s = r[e], s && (s.up ? s.c.call(s.s || i, {
35458                type: t,
35459                target: i
35460            }) : s.c.call(s.s || i))
35461        };
35462        var k = t.requestAnimationFrame, A = t.cancelAnimationFrame, S = Date.now || function () {
35463            return (new Date).getTime()
35464        }, x = S();
35465        for (s = ["ms", "moz", "webkit", "o"], r = s.length; --r > -1 && !k;) k = t[s[r] + "RequestAnimationFrame"], A = t[s[r] + "CancelAnimationFrame"] || t[s[r] + "CancelRequestAnimationFrame"];
35466        v("Ticker", function (t, e) {
35467            var i, s, r, n, l, h = this, u = S(), c = e !== !1 && k, m = 500, p = 33, d = "tick", v = function (t) {
35468                var e, a, o = S() - x;
35469                o > m && (u += o - p), x += o, h.time = (x - u) / 1e3, e = h.time - l, (!i || e > 0 || t === !0) && (h.frame++, l += e + (e >= n ? .004 : n - e), a = !0), t !== !0 && (r = s(v)), a && h.dispatchEvent(d)
35470            };
35471            b.call(h), h.time = h.frame = 0, h.tick = function () {
35472                v(!0)
35473            }, h.lagSmoothing = function (t, e) {
35474                m = t || 1 / _, p = Math.min(e, m, 0)
35475            }, h.sleep = function () {
35476                null != r && (c && A ? A(r) : clearTimeout(r), s = f, r = null, h === a && (o = !1))
35477            }, h.wake = function () {
35478                null !== r ? h.sleep() : h.frame > 10 && (x = S() - m + 5), s = 0 === i ? f : c && k ? k : function (t) {
35479                    return setTimeout(t, 0 | 1e3 * (l - h.time) + 1)
35480                }, h === a && (o = !0), v(2)
35481            }, h.fps = function (t) {
35482                return arguments.length ? (i = t, n = 1 / (i || 60), l = this.time + n, void h.wake()) : i
35483            }, h.useRAF = function (t) {
35484                return arguments.length ? (h.sleep(), c = t, void h.fps(i)) : c
35485            }, h.fps(t), setTimeout(function () {
35486                c && 5 > h.frame && h.useRAF(!1)
35487            }, 1500)
35488        }), n = h.Ticker.prototype = new h.events.EventDispatcher, n.constructor = h.Ticker;
35489        var R = v("core.Animation", function (t, e) {
35490            if (this.vars = e = e || {}, this._duration = this._totalDuration = t || 0, this._delay = Number(e.delay) || 0, this._timeScale = 1, this._active = e.immediateRender === !0, this.data = e.data, this._reversed = e.reversed === !0, H) {
35491                o || a.wake();
35492                var i = this.vars.useFrames ? K : H;
35493                i.add(this, i._time), this.vars.paused && this.paused(!0)
35494            }
35495        });
35496        a = R.ticker = new h.Ticker, n = R.prototype, n._dirty = n._gc = n._initted = n._paused = !1, n._totalTime = n._time = 0, n._rawPrevTime = -1, n._next = n._last = n._onUpdate = n._timeline = n.timeline = null, n._paused = !1;
35497        var C = function () {
35498            o && S() - x > 2e3 && a.wake(), setTimeout(C, 2e3)
35499        };
35500        C(), n.play = function (t, e) {
35501            return null != t && this.seek(t, e), this.reversed(!1).paused(!1)
35502        }, n.pause = function (t, e) {
35503            return null != t && this.seek(t, e), this.paused(!0)
35504        }, n.resume = function (t, e) {
35505            return null != t && this.seek(t, e), this.paused(!1)
35506        }, n.seek = function (t, e) {
35507            return this.totalTime(Number(t), e !== !1)
35508        }, n.restart = function (t, e) {
35509            return this.reversed(!1).paused(!1).totalTime(t ? -this._delay : 0, e !== !1, !0)
35510        }, n.reverse = function (t, e) {
35511            return null != t && this.seek(t || this.totalDuration(), e), this.reversed(!0).paused(!1)
35512        }, n.render = function () {
35513        }, n.invalidate = function () {
35514            return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this
35515        }, n.isActive = function () {
35516            var t, e = this._timeline, i = this._startTime;
35517            return !e || !this._gc && !this._paused && e.isActive() && (t = e.rawTime()) >= i && i + this.totalDuration() / this._timeScale > t
35518        }, n._enabled = function (t, e) {
35519            return o || a.wake(), this._gc = !t, this._active = this.isActive(), e !== !0 && (t && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !t && this.timeline && this._timeline._remove(this, !0)), !1
35520        }, n._kill = function () {
35521            return this._enabled(!1, !1)
35522        }, n.kill = function (t, e) {
35523            return this._kill(t, e), this
35524        }, n._uncache = function (t) {
35525            for (var e = t ? this : this.timeline; e;) e._dirty = !0, e = e.timeline;
35526            return this
35527        }, n._swapSelfInParams = function (t) {
35528            for (var e = t.length, i = t.concat(); --e > -1;) "{self}" === t[e] && (i[e] = this);
35529            return i
35530        }, n._callback = function (t) {
35531            var e = this.vars;
35532            e[t].apply(e[t + "Scope"] || e.callbackScope || this, e[t + "Params"] || T)
35533        }, n.eventCallback = function (t, e, i, s) {
35534            if ("on" === (t || "").substr(0, 2)) {
35535                var r = this.vars;
35536                if (1 === arguments.length) return r[t];
35537                null == e ? delete r[t] : (r[t] = e, r[t + "Params"] = c(i) && -1 !== i.join("").indexOf("{self}") ? this._swapSelfInParams(i) : i, r[t + "Scope"] = s), "onUpdate" === t && (this._onUpdate = e)
35538            }
35539            return this
35540        }, n.delay = function (t) {
35541            return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + t - this._delay), this._delay = t, this) : this._delay
35542        }, n.duration = function (t) {
35543            return arguments.length ? (this._duration = this._totalDuration = t, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== t && this.totalTime(this._totalTime * (t / this._duration), !0), this) : (this._dirty = !1, this._duration)
35544        }, n.totalDuration = function (t) {
35545            return this._dirty = !1, arguments.length ? this.duration(t) : this._totalDuration
35546        }, n.time = function (t, e) {
35547            return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(t > this._duration ? this._duration : t, e)) : this._time
35548        }, n.totalTime = function (t, e, i) {
35549            if (o || a.wake(), !arguments.length) return this._totalTime;
35550            if (this._timeline) {
35551                if (0 > t && !i && (t += this.totalDuration()), this._timeline.smoothChildTiming) {
35552                    this._dirty && this.totalDuration();
35553                    var s = this._totalDuration, r = this._timeline;
35554                    if (t > s && !i && (t = s), this._startTime = (this._paused ? this._pauseTime : r._time) - (this._reversed ? s - t : t) / this._timeScale, r._dirty || this._uncache(!1), r._timeline) for (; r._timeline;) r._timeline._time !== (r._startTime + r._totalTime) / r._timeScale && r.totalTime(r._totalTime, !0), r = r._timeline
35555                }
35556                this._gc && this._enabled(!0, !1), (this._totalTime !== t || 0 === this._duration) && (z.length && V(), this.render(t, e, !1), z.length && V())
35557            }
35558            return this
35559        }, n.progress = n.totalProgress = function (t, e) {
35560            var i = this.duration();
35561            return arguments.length ? this.totalTime(i * t, e) : i ? this._time / i : this.ratio
35562        }, n.startTime = function (t) {
35563            return arguments.length ? (t !== this._startTime && (this._startTime = t, this.timeline && this.timeline._sortChildren && this.timeline.add(this, t - this._delay)), this) : this._startTime
35564        }, n.endTime = function (t) {
35565            return this._startTime + (0 != t ? this.totalDuration() : this.duration()) / this._timeScale
35566        }, n.timeScale = function (t) {
35567            if (!arguments.length) return this._timeScale;
35568            if (t = t || _, this._timeline && this._timeline.smoothChildTiming) {
35569                var e = this._pauseTime, i = e || 0 === e ? e : this._timeline.totalTime();
35570                this._startTime = i - (i - this._startTime) * this._timeScale / t
35571            }
35572            return this._timeScale = t, this._uncache(!1)
35573        }, n.reversed = function (t) {
35574            return arguments.length ? (t != this._reversed && (this._reversed = t, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed
35575        }, n.paused = function (t) {
35576            if (!arguments.length) return this._paused;
35577            var e, i, s = this._timeline;
35578            return t != this._paused && s && (o || t || a.wake(), e = s.rawTime(), i = e - this._pauseTime, !t && s.smoothChildTiming && (this._startTime += i, this._uncache(!1)), this._pauseTime = t ? e : null, this._paused = t, this._active = this.isActive(), !t && 0 !== i && this._initted && this.duration() && (e = s.smoothChildTiming ? this._totalTime : (e - this._startTime) / this._timeScale, this.render(e, e === this._totalTime, !0))), this._gc && !t && this._enabled(!0, !1), this
35579        };
35580        var D = v("core.SimpleTimeline", function (t) {
35581            R.call(this, 0, t), this.autoRemoveChildren = this.smoothChildTiming = !0
35582        });
35583        n = D.prototype = new R, n.constructor = D, n.kill()._gc = !1, n._first = n._last = n._recent = null, n._sortChildren = !1, n.add = n.insert = function (t, e) {
35584            var i, s;
35585            if (t._startTime = Number(e || 0) + t._delay, t._paused && this !== t._timeline && (t._pauseTime = t._startTime + (this.rawTime() - t._startTime) / t._timeScale), t.timeline && t.timeline._remove(t, !0), t.timeline = t._timeline = this, t._gc && t._enabled(!0, !0), i = this._last, this._sortChildren) for (s = t._startTime; i && i._startTime > s;) i = i._prev;
35586            return i ? (t._next = i._next, i._next = t) : (t._next = this._first, this._first = t), t._next ? t._next._prev = t : this._last = t, t._prev = i, this._recent = t, this._timeline && this._uncache(!0), this
35587        }, n._remove = function (t, e) {
35588            return t.timeline === this && (e || t._enabled(!1, !0), t._prev ? t._prev._next = t._next : this._first === t && (this._first = t._next), t._next ? t._next._prev = t._prev : this._last === t && (this._last = t._prev), t._next = t._prev = t.timeline = null, t === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this
35589        }, n.render = function (t, e, i) {
35590            var s, r = this._first;
35591            for (this._totalTime = this._time = this._rawPrevTime = t; r;) s = r._next, (r._active || t >= r._startTime && !r._paused) && (r._reversed ? r.render((r._dirty ? r.totalDuration() : r._totalDuration) - (t - r._startTime) * r._timeScale, e, i) : r.render((t - r._startTime) * r._timeScale, e, i)), r = s
35592        }, n.rawTime = function () {
35593            return o || a.wake(), this._totalTime
35594        };
35595        var I = v("TweenLite", function (e, i, s) {
35596            if (R.call(this, i, s), this.render = I.prototype.render, null == e) throw"Cannot tween a null target.";
35597            this.target = e = "string" != typeof e ? e : I.selector(e) || e;
35598            var r, n, a,
35599                o = e.jquery || e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType),
35600                l = this.vars.overwrite;
35601            if (this._overwrite = l = null == l ? $[I.defaultOverwrite] : "number" == typeof l ? l >> 0 : $[l], (o || e instanceof Array || e.push && c(e)) && "number" != typeof e[0]) for (this._targets = a = u(e), this._propLookup = [], this._siblings = [], r = 0; a.length > r; r++) n = a[r], n ? "string" != typeof n ? n.length && n !== t && n[0] && (n[0] === t || n[0].nodeType && n[0].style && !n.nodeType) ? (a.splice(r--, 1), this._targets = a = a.concat(u(n))) : (this._siblings[r] = W(n, this, !1), 1 === l && this._siblings[r].length > 1 && Y(n, this, null, 1, this._siblings[r])) : (n = a[r--] = I.selector(n), "string" == typeof n && a.splice(r + 1, 1)) : a.splice(r--, 1); else this._propLookup = {}, this._siblings = W(e, this, !1), 1 === l && this._siblings.length > 1 && Y(e, this, null, 1, this._siblings);
35602            (this.vars.immediateRender || 0 === i && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -_, this.render(-this._delay))
35603        }, !0), E = function (e) {
35604            return e && e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType)
35605        }, O = function (t, e) {
35606            var i, s = {};
35607            for (i in t) M[i] || i in e && "transform" !== i && "x" !== i && "y" !== i && "width" !== i && "height" !== i && "className" !== i && "border" !== i || !(!Q[i] || Q[i] && Q[i]._autoCSS) || (s[i] = t[i], delete t[i]);
35608            t.css = s
35609        };
35610        n = I.prototype = new R, n.constructor = I, n.kill()._gc = !1, n.ratio = 0, n._firstPT = n._targets = n._overwrittenProps = n._startAt = null, n._notifyPluginsOfEnabled = n._lazy = !1, I.version = "1.18.0", I.defaultEase = n._ease = new y(null, null, 1, 1), I.defaultOverwrite = "auto", I.ticker = a, I.autoSleep = 120, I.lagSmoothing = function (t, e) {
35611            a.lagSmoothing(t, e)
35612        }, I.selector = t.$ || t.jQuery || function (e) {
35613            var i = t.$ || t.jQuery;
35614            return i ? (I.selector = i, i(e)) : "undefined" == typeof document ? e : document.querySelectorAll ? document.querySelectorAll(e) : document.getElementById("#" === e.charAt(0) ? e.substr(1) : e)
35615        };
35616        var z = [], F = {}, L = /(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, N = function (t) {
35617                for (var e, i = this._firstPT, s = 1e-6; i;) e = i.blob ? t ? this.join("") : this.start : i.c * t + i.s, i.r ? e = Math.round(e) : s > e && e > -s && (e = 0), i.f ? i.fp ? i.t[i.p](i.fp, e) : i.t[i.p](e) : i.t[i.p] = e, i = i._next
35618            }, U = function (t, e, i, s) {
35619                var r, n, a, o, l, h, _, u = [t, e], f = 0, c = "", m = 0;
35620                for (u.start = t, i && (i(u), t = u[0], e = u[1]), u.length = 0, r = t.match(L) || [], n = e.match(L) || [], s && (s._next = null, s.blob = 1, u._firstPT = s), l = n.length, o = 0; l > o; o++) _ = n[o], h = e.substr(f, e.indexOf(_, f) - f), c += h || !o ? h : ",", f += h.length, m ? m = (m + 1) % 5 : "rgba(" === h.substr(-5) && (m = 1), _ === r[o] || o >= r.length ? c += _ : (c && (u.push(c), c = ""), a = parseFloat(r[o]), u.push(a), u._firstPT = {
35621                    _next: u._firstPT,
35622                    t: u,
35623                    p: u.length - 1,
35624                    s: a,
35625                    c: ("=" === _.charAt(1) ? parseInt(_.charAt(0) + "1", 10) * parseFloat(_.substr(2)) : parseFloat(_) - a) || 0,
35626                    f: 0,
35627                    r: m && 4 > m
35628                }), f += _.length;
35629                return c += e.substr(f), c && u.push(c), u.setRatio = N, u
35630            }, j = function (t, e, i, s, r, n, a, o) {
35631                var l, h, _ = "get" === i ? t[e] : i, u = typeof t[e], f = "string" == typeof s && "=" === s.charAt(1),
35632                    c = {
35633                        t: t,
35634                        p: e,
35635                        s: _,
35636                        f: "function" === u,
35637                        pg: 0,
35638                        n: r || e,
35639                        r: n,
35640                        pr: 0,
35641                        c: f ? parseInt(s.charAt(0) + "1", 10) * parseFloat(s.substr(2)) : parseFloat(s) - _ || 0
35642                    };
35643                return "number" !== u && ("function" === u && "get" === i && (h = e.indexOf("set") || "function" != typeof t["get" + e.substr(3)] ? e : "get" + e.substr(3), c.s = _ = a ? t[h](a) : t[h]()), "string" == typeof _ && (a || isNaN(_)) ? (c.fp = a, l = U(_, s, o || I.defaultStringFilter, c), c = {
35644                    t: l,
35645                    p: "setRatio",
35646                    s: 0,
35647                    c: 1,
35648                    f: 2,
35649                    pg: 0,
35650                    n: r || e,
35651                    pr: 0
35652                }) : f || (c.c = parseFloat(s) - parseFloat(_) || 0)), c.c ? ((c._next = this._firstPT) && (c._next._prev = c), this._firstPT = c, c) : void 0
35653            }, G = I._internals = {isArray: c, isSelector: E, lazyTweens: z, blobDif: U}, Q = I._plugins = {},
35654            q = G.tweenLookup = {}, B = 0, M = G.reservedProps = {
35655                ease: 1,
35656                delay: 1,
35657                overwrite: 1,
35658                onComplete: 1,
35659                onCompleteParams: 1,
35660                onCompleteScope: 1,
35661                useFrames: 1,
35662                runBackwards: 1,
35663                startAt: 1,
35664                onUpdate: 1,
35665                onUpdateParams: 1,
35666                onUpdateScope: 1,
35667                onStart: 1,
35668                onStartParams: 1,
35669                onStartScope: 1,
35670                onReverseComplete: 1,
35671                onReverseCompleteParams: 1,
35672                onReverseCompleteScope: 1,
35673                onRepeat: 1,
35674                onRepeatParams: 1,
35675                onRepeatScope: 1,
35676                easeParams: 1,
35677                yoyo: 1,
35678                immediateRender: 1,
35679                repeat: 1,
35680                repeatDelay: 1,
35681                data: 1,
35682                paused: 1,
35683                reversed: 1,
35684                autoCSS: 1,
35685                lazy: 1,
35686                onOverwrite: 1,
35687                callbackScope: 1,
vendor: 2,324 bytes, lines 35688-35726
35688                stringFilter: 1
35689            }, $ = {none: 0, all: 1, auto: 2, concurrent: 3, allOnStart: 4, preexisting: 5, "true": 1, "false": 0},
35690            K = R._rootFramesTimeline = new D, H = R._rootTimeline = new D, J = 30, V = G.lazyRender = function () {
35691                var t, e = z.length;
35692                for (F = {}; --e > -1;) t = z[e], t && t._lazy !== !1 && (t.render(t._lazy[0], t._lazy[1], !0), t._lazy = !1);
35693                z.length = 0
35694            };
35695        H._startTime = a.time, K._startTime = a.frame, H._active = K._active = !0, setTimeout(V, 1), R._updateRoot = I.render = function () {
35696            var t, e, i;
35697            if (z.length && V(), H.render((a.time - H._startTime) * H._timeScale, !1, !1), K.render((a.frame - K._startTime) * K._timeScale, !1, !1), z.length && V(), a.frame >= J) {
35698                J = a.frame + (parseInt(I.autoSleep, 10) || 120);
35699                for (i in q) {
35700                    for (e = q[i].tweens, t = e.length; --t > -1;) e[t]._gc && e.splice(t, 1);
35701                    0 === e.length && delete q[i]
35702                }
35703                if (i = H._first, (!i || i._paused) && I.autoSleep && !K._first && 1 === a._listeners.tick.length) {
35704                    for (; i && i._paused;) i = i._next;
35705                    i || a.sleep()
35706                }
35707            }
35708        }, a.addEventListener("tick", R._updateRoot);
35709        var W = function (t, e, i) {
35710            var s, r, n = t._gsTweenID;
35711            if (q[n || (t._gsTweenID = n = "t" + B++)] || (q[n] = {
35712                target: t,
35713                tweens: []
35714            }), e && (s = q[n].tweens, s[r = s.length] = e, i)) for (; --r > -1;) s[r] === e && s.splice(r, 1);
35715            return q[n].tweens
35716        }, X = function (t, e, i, s) {
35717            var r, n, a = t.vars.onOverwrite;
35718            return a && (r = a(t, e, i, s)), a = I.onOverwrite, a && (n = a(t, e, i, s)), r !== !1 && n !== !1
35719        }, Y = function (t, e, i, s, r) {
35720            var n, a, o, l;
35721            if (1 === s || s >= 4) {
35722                for (l = r.length, n = 0; l > n; n++) if ((o = r[n]) !== e) o._gc || o._kill(null, t, e) && (a = !0); else if (5 === s) break;
35723                return a
35724            }
35725            var h, u = e._startTime + _, f = [], c = 0, m = 0 === e._duration;
35726            for (n = r.length; --n > -1;
vendor: 6,443 bytes, lines 35726-35784
35726) (o = r[n]) === e || o._gc || o._paused || (o._timeline !== e._timeline ? (h = h || Z(e, 0, m), 0 === Z(o, h, m) && (f[c++] = o)) : u >= o._startTime && o._startTime + o.totalDuration() / o._timeScale > u && ((m || !o._initted) && 2e-10 >= u - o._startTime || (f[c++] = o)));
35727            for (n = c; --n > -1;) if (o = f[n], 2 === s && o._kill(i, t, e) && (a = !0), 2 !== s || !o._firstPT && o._initted) {
35728                if (2 !== s && !X(o, e)) continue;
35729                o._enabled(!1, !1) && (a = !0)
35730            }
35731            return a
35732        }, Z = function (t, e, i) {
35733            for (var s = t._timeline, r = s._timeScale, n = t._startTime; s._timeline;) {
35734                if (n += s._startTime, r *= s._timeScale, s._paused) return -100;
35735                s = s._timeline
35736            }
35737            return n /= r, n > e ? n - e : i && n === e || !t._initted && 2 * _ > n - e ? _ : (n += t.totalDuration() / t._timeScale / r) > e + _ ? 0 : n - e - _
35738        };
35739        n._init = function () {
35740            var t, e, i, s, r, n = this.vars, a = this._overwrittenProps, o = this._duration, l = !!n.immediateRender,
35741                h = n.ease;
35742            if (n.startAt) {
35743                this._startAt && (this._startAt.render(-1, !0), this._startAt.kill()), r = {};
35744                for (s in n.startAt) r[s] = n.startAt[s];
35745                if (r.overwrite = !1, r.immediateRender = !0, r.lazy = l && n.lazy !== !1, r.startAt = r.delay = null, this._startAt = I.to(this.target, 0, r), l) if (this._time > 0) this._startAt = null; else if (0 !== o) return
35746            } else if (n.runBackwards && 0 !== o) if (this._startAt) this._startAt.render(-1, !0), this._startAt.kill(), this._startAt = null; else {
35747                0 !== this._time && (l = !1), i = {};
35748                for (s in n) M[s] && "autoCSS" !== s || (i[s] = n[s]);
35749                if (i.overwrite = 0, i.data = "isFromStart", i.lazy = l && n.lazy !== !1, i.immediateRender = l, this._startAt = I.to(this.target, 0, i), l) {
35750                    if (0 === this._time) return
35751                } else this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null)
35752            }
35753            if (this._ease = h = h ? h instanceof y ? h : "function" == typeof h ? new y(h, n.easeParams) : w[h] || I.defaultEase : I.defaultEase, n.easeParams instanceof Array && h.config && (this._ease = h.config.apply(h, n.easeParams)), this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets) for (t = this._targets.length; --t > -1;) this._initProps(this._targets[t], this._propLookup[t] = {}, this._siblings[t], a ? a[t] : null) && (e = !0); else e = this._initProps(this.target, this._propLookup, this._siblings, a);
35754            if (e && I._onPluginEvent("_onInitAllProps", this), a && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), n.runBackwards) for (i = this._firstPT; i;) i.s += i.c, i.c = -i.c, i = i._next;
35755            this._onUpdate = n.onUpdate, this._initted = !0
35756        }, n._initProps = function (e, i, s, r) {
35757            var n, a, o, l, h, _;
35758            if (null == e) return !1;
35759            F[e._gsTweenID] && V(), this.vars.css || e.style && e !== t && e.nodeType && Q.css && this.vars.autoCSS !== !1 && O(this.vars, e);
35760            for (n in this.vars) if (_ = this.vars[n], M[n]) _ && (_ instanceof Array || _.push && c(_)) && -1 !== _.join("").indexOf("{self}") && (this.vars[n] = _ = this._swapSelfInParams(_, this)); else if (Q[n] && (l = new Q[n])._onInitTween(e, this.vars[n], this)) {
35761                for (this._firstPT = h = {
35762                    _next: this._firstPT,
35763                    t: l,
35764                    p: "setRatio",
35765                    s: 0,
35766                    c: 1,
35767                    f: 1,
35768                    n: n,
35769                    pg: 1,
35770                    pr: l._priority
35771                }, a = l._overwriteProps.length; --a > -1;) i[l._overwriteProps[a]] = this._firstPT;
35772                (l._priority || l._onInitAllProps) && (o = !0), (l._onDisable || l._onEnable) && (this._notifyPluginsOfEnabled = !0), h._next && (h._next._prev = h)
35773            } else i[n] = j.call(this, e, n, "get", _, n, 0, null, this.vars.stringFilter);
35774            return r && this._kill(r, e) ? this._initProps(e, i, s, r) : this._overwrite > 1 && this._firstPT && s.length > 1 && Y(e, this, i, this._overwrite, s) ? (this._kill(i, e), this._initProps(e, i, s, r)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (F[e._gsTweenID] = !0), o)
35775        }, n.render = function (t, e, i) {
35776            var s, r, n, a, o = this._time, l = this._duration, h = this._rawPrevTime;
35777            if (t >= l) this._totalTime = this._time = l, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1, this._reversed || (s = !0, r = "onComplete", i = i || this._timeline.autoRemoveChildren), 0 === l && (this._initted || !this.vars.lazy || i) && (this._startTime === this._timeline._duration && (t = 0), (0 === t || 0 > h || h === _ && "isPause" !== this.data) && h !== t && (i = !0, h > _ && (r = "onReverseComplete")), this._rawPrevTime = a = !e || t || h === t ? t : _); else if (1e-7 > t) this._totalTime = this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== o || 0 === l && h > 0) && (r = "onReverseComplete", s = this._reversed), 0 > t && (this._active = !1, 0 === l && (this._initted || !this.vars.lazy || i) && (h >= 0 && (h !== _ || "isPause" !== this.data) && (i = !0), this._rawPrevTime = a = !e || t || h === t ? t : _)), this._initted || (i = !0); else if (this._totalTime = this._time = t, this._easeType) {
35778                var u = t / l, f = this._easeType, c = this._easePower;
35779                (1 === f || 3 === f && u >= .5) && (u = 1 - u), 3 === f && (u *= 2), 1 === c ? u *= u : 2 === c ? u *= u * u : 3 === c ? u *= u * u * u : 4 === c && (u *= u * u * u * u), this.ratio = 1 === f ? 1 - u : 2 === f ? u : .5 > t / l ? u / 2 : 1 - u / 2
35780            } else this.ratio = this._ease.getRatio(t / l);
35781            if (this._time !== o || i) {
35782                if (!this._initted) {
35783                    if (this._init(), !this._initted || this._gc) return;
35784                    if (!i && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = this._totalTime = o, this._rawPrevTime = h, z.pu
vendor: 4,383 bytes, lines 35784-35828
35784sh(this), void (this._lazy = [t, e]);
35785                    this._time && !s ? this.ratio = this._ease.getRatio(this._time / l) : s && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
35786                }
35787                for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== o && t >= 0 && (this._active = !0), 0 === o && (this._startAt && (t >= 0 ? this._startAt.render(t, e, i) : r || (r = "_dummyGS")), this.vars.onStart && (0 !== this._time || 0 === l) && (e || this._callback("onStart"))), n = this._firstPT; n;) n.f ? n.t[n.p](n.c * this.ratio + n.s) : n.t[n.p] = n.c * this.ratio + n.s, n = n._next;
35788                this._onUpdate && (0 > t && this._startAt && t !== -1e-4 && this._startAt.render(t, e, i), e || (this._time !== o || s) && this._callback("onUpdate")), r && (!this._gc || i) && (0 > t && this._startAt && !this._onUpdate && t !== -1e-4 && this._startAt.render(t, e, i), s && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !e && this.vars[r] && this._callback(r), 0 === l && this._rawPrevTime === _ && a !== _ && (this._rawPrevTime = 0))
35789            }
35790        }, n._kill = function (t, e, i) {
35791            if ("all" === t && (t = null), null == t && (null == e || e === this.target)) return this._lazy = !1, this._enabled(!1, !1);
35792            e = "string" != typeof e ? e || this._targets || this.target : I.selector(e) || e;
35793            var s, r, n, a, o, l, h, _, u,
35794                f = i && this._time && i._startTime === this._startTime && this._timeline === i._timeline;
35795            if ((c(e) || E(e)) && "number" != typeof e[0]) for (s = e.length; --s > -1;) this._kill(t, e[s], i) && (l = !0); else {
35796                if (this._targets) {
35797                    for (s = this._targets.length; --s > -1;) if (e === this._targets[s]) {
35798                        o = this._propLookup[s] || {}, this._overwrittenProps = this._overwrittenProps || [], r = this._overwrittenProps[s] = t ? this._overwrittenProps[s] || {} : "all";
35799                        break
35800                    }
35801                } else {
35802                    if (e !== this.target) return !1;
35803                    o = this._propLookup, r = this._overwrittenProps = t ? this._overwrittenProps || {} : "all"
35804                }
35805                if (o) {
35806                    if (h = t || o, _ = t !== r && "all" !== r && t !== o && ("object" != typeof t || !t._tempKill), i && (I.onOverwrite || this.vars.onOverwrite)) {
35807                        for (n in h) o[n] && (u || (u = []), u.push(n));
35808                        if ((u || !t) && !X(this, i, e, u)) return !1
35809                    }
35810                    for (n in h) (a = o[n]) && (f && (a.f ? a.t[a.p](a.s) : a.t[a.p] = a.s, l = !0), a.pg && a.t._kill(h) && (l = !0), a.pg && 0 !== a.t._overwriteProps.length || (a._prev ? a._prev._next = a._next : a === this._firstPT && (this._firstPT = a._next), a._next && (a._next._prev = a._prev), a._next = a._prev = null), delete o[n]), _ && (r[n] = 1);
35811                    !this._firstPT && this._initted && this._enabled(!1, !1)
35812                }
35813            }
35814            return l
35815        }, n.invalidate = function () {
35816            return this._notifyPluginsOfEnabled && I._onPluginEvent("_onDisable", this), this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], R.prototype.invalidate.call(this), this.vars.immediateRender && (this._time = -_, this.render(-this._delay)), this
35817        }, n._enabled = function (t, e) {
35818            if (o || a.wake(), t && this._gc) {
35819                var i, s = this._targets;
35820                if (s) for (i = s.length; --i > -1;) this._siblings[i] = W(s[i], this, !0); else this._siblings = W(this.target, this, !0)
35821            }
35822            return R.prototype._enabled.call(this, t, e), this._notifyPluginsOfEnabled && this._firstPT ? I._onPluginEvent(t ? "_onEnable" : "_onDisable", this) : !1
35823        }, I.to = function (t, e, i) {
35824            return new I(t, e, i)
35825        }, I.from = function (t, e, i) {
35826            return i.runBackwards = !0, i.immediateRender = 0 != i.immediateRender, new I(t, e, i)
35827        }, I.fromTo = function (t, e, i, s) {
35828            return s.startAt = i, s.immediateRender = 0 != s.immediateRender && 0 != 
vendor: 4,779 bytes, lines 35828-35907
35828i.immediateRender, new I(t, e, s)
35829        }, I.delayedCall = function (t, e, i, s, r) {
35830            return new I(e, 0, {
35831                delay: t,
35832                onComplete: e,
35833                onCompleteParams: i,
35834                callbackScope: s,
35835                onReverseComplete: e,
35836                onReverseCompleteParams: i,
35837                immediateRender: !1,
35838                lazy: !1,
35839                useFrames: r,
35840                overwrite: 0
35841            })
35842        }, I.set = function (t, e) {
35843            return new I(t, 0, e)
35844        }, I.getTweensOf = function (t, e) {
35845            if (null == t) return [];
35846            t = "string" != typeof t ? t : I.selector(t) || t;
35847            var i, s, r, n;
35848            if ((c(t) || E(t)) && "number" != typeof t[0]) {
35849                for (i = t.length, s = []; --i > -1;) s = s.concat(I.getTweensOf(t[i], e));
35850                for (i = s.length; --i > -1;) for (n = s[i], r = i; --r > -1;) n === s[r] && s.splice(i, 1)
35851            } else for (s = W(t).concat(), i = s.length; --i > -1;) (s[i]._gc || e && !s[i].isActive()) && s.splice(i, 1);
35852            return s
35853        }, I.killTweensOf = I.killDelayedCallsTo = function (t, e, i) {
35854            "object" == typeof e && (i = e, e = !1);
35855            for (var s = I.getTweensOf(t, e), r = s.length; --r > -1;) s[r]._kill(i, t)
35856        };
35857        var te = v("plugins.TweenPlugin", function (t, e) {
35858            this._overwriteProps = (t || "").split(","), this._propName = this._overwriteProps[0], this._priority = e || 0, this._super = te.prototype
35859        }, !0);
35860        if (n = te.prototype, te.version = "1.18.0", te.API = 2, n._firstPT = null, n._addTween = j, n.setRatio = N, n._kill = function (t) {
35861            var e, i = this._overwriteProps, s = this._firstPT;
35862            if (null != t[this._propName]) this._overwriteProps = []; else for (e = i.length; --e > -1;) null != t[i[e]] && i.splice(e, 1);
35863            for (; s;) null != t[s.n] && (s._next && (s._next._prev = s._prev), s._prev ? (s._prev._next = s._next, s._prev = null) : this._firstPT === s && (this._firstPT = s._next)), s = s._next;
35864            return !1
35865        }, n._roundProps = function (t, e) {
35866            for (var i = this._firstPT; i;) (t[this._propName] || null != i.n && t[i.n.split(this._propName + "_").join("")]) && (i.r = e), i = i._next
35867        }, I._onPluginEvent = function (t, e) {
35868            var i, s, r, n, a, o = e._firstPT;
35869            if ("_onInitAllProps" === t) {
35870                for (; o;) {
35871                    for (a = o._next, s = r; s && s.pr > o.pr;) s = s._next;
35872                    (o._prev = s ? s._prev : n) ? o._prev._next = o : r = o, (o._next = s) ? s._prev = o : n = o, o = a
35873                }
35874                o = e._firstPT = r
35875            }
35876            for (; o;) o.pg && "function" == typeof o.t[t] && o.t[t]() && (i = !0), o = o._next;
35877            return i
35878        }, te.activate = function (t) {
35879            for (var e = t.length; --e > -1;) t[e].API === te.API && (Q[(new t[e])._propName] = t[e]);
35880            return !0
35881        }, d.plugin = function (t) {
35882            if (!(t && t.propName && t.init && t.API)) throw"illegal plugin definition.";
35883            var e, i = t.propName, s = t.priority || 0, r = t.overwriteProps, n = {
35884                init: "_onInitTween",
35885                set: "setRatio",
35886                kill: "_kill",
35887                round: "_roundProps",
35888                initAll: "_onInitAllProps"
35889            }, a = v("plugins." + i.charAt(0).toUpperCase() + i.substr(1) + "Plugin", function () {
35890                te.call(this, i, s), this._overwriteProps = r || []
35891            }, t.global === !0), o = a.prototype = new te(i);
35892            o.constructor = a, a.API = t.API;
35893            for (e in n) "function" == typeof t[e] && (o[n[e]] = t[e]);
35894            return a.version = t.version, te.activate([a]), a
35895        }, s = t._gsQueue) {
35896            for (r = 0; s.length > r; r++) s[r]();
35897            for (n in m) m[n].func || t.console.log("GSAP encountered missing dependency: com.greensock." + n)
35898        }
35899        o = !1
35900    }
35901}("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window, "TweenLite");
35902var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
35903(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () {
35904    "use strict";
35905    _gsScope._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function (t, e, i) {
35906        var s = function (t) {
35907                e.call(this, t), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUp
vendor: 6,275 bytes, lines 35907-35994
35907date;
35908                var i, s, r = this.vars;
35909                for (s in r) i = r[s], l(i) && -1 !== i.join("").indexOf("{self}") && (r[s] = this._swapSelfInParams(i));
35910                l(r.tweens) && this.add(r.tweens, 0, r.align, r.stagger)
35911            }, r = 1e-10, n = i._internals, a = s._internals = {}, o = n.isSelector, l = n.isArray, h = n.lazyTweens,
35912            _ = n.lazyRender, u = _gsScope._gsDefine.globals, f = function (t) {
35913                var e, i = {};
35914                for (e in t) i[e] = t[e];
35915                return i
35916            }, c = function (t, e, i) {
35917                var s, r, n = t.cycle;
35918                for (s in n) r = n[s], t[s] = "function" == typeof r ? r.call(e[i], i) : r[i % r.length];
35919                delete t.cycle
35920            }, p = a.pauseCallback = function () {
35921            }, m = function (t) {
35922                var e, i = [], s = t.length;
35923                for (e = 0; e !== s; i.push(t[e++])) ;
35924                return i
35925            }, d = s.prototype = new e;
35926        return s.version = "1.18.0", d.constructor = s, d.kill()._gc = d._forcingPlayhead = d._hasPause = !1, d.to = function (t, e, s, r) {
35927            var n = s.repeat && u.TweenMax || i;
35928            return e ? this.add(new n(t, e, s), r) : this.set(t, s, r)
35929        }, d.from = function (t, e, s, r) {
35930            return this.add((s.repeat && u.TweenMax || i).from(t, e, s), r)
35931        }, d.fromTo = function (t, e, s, r, n) {
35932            var a = r.repeat && u.TweenMax || i;
35933            return e ? this.add(a.fromTo(t, e, s, r), n) : this.set(t, r, n)
35934        }, d.staggerTo = function (t, e, r, n, a, l, h, _) {
35935            var u, p, d = new s({
35936                onComplete: l,
35937                onCompleteParams: h,
35938                callbackScope: _,
35939                smoothChildTiming: this.smoothChildTiming
35940            }), g = r.cycle;
35941            for ("string" == typeof t && (t = i.selector(t) || t), t = t || [], o(t) && (t = m(t)), n = n || 0, 0 > n && (t = m(t), t.reverse(), n *= -1), p = 0; t.length > p; p++) u = f(r), u.startAt && (u.startAt = f(u.startAt), u.startAt.cycle && c(u.startAt, t, p)), g && c(u, t, p), d.to(t[p], e, u, p * n);
35942            return this.add(d, a)
35943        }, d.staggerFrom = function (t, e, i, s, r, n, a, o) {
35944            return i.immediateRender = 0 != i.immediateRender, i.runBackwards = !0, this.staggerTo(t, e, i, s, r, n, a, o)
35945        }, d.staggerFromTo = function (t, e, i, s, r, n, a, o, l) {
35946            return s.startAt = i, s.immediateRender = 0 != s.immediateRender && 0 != i.immediateRender, this.staggerTo(t, e, s, r, n, a, o, l)
35947        }, d.call = function (t, e, s, r) {
35948            return this.add(i.delayedCall(0, t, e, s), r)
35949        }, d.set = function (t, e, s) {
35950            return s = this._parseTimeOrLabel(s, 0, !0), null == e.immediateRender && (e.immediateRender = s === this._time && !this._paused), this.add(new i(t, 0, e), s)
35951        }, s.exportRoot = function (t, e) {
35952            t = t || {}, null == t.smoothChildTiming && (t.smoothChildTiming = !0);
35953            var r, n, a = new s(t), o = a._timeline;
35954            for (null == e && (e = !0), o._remove(a, !0), a._startTime = 0, a._rawPrevTime = a._time = a._totalTime = o._time, r = o._first; r;) n = r._next, e && r instanceof i && r.target === r.vars.onComplete || a.add(r, r._startTime - r._delay), r = n;
35955            return o.add(a, 0), a
35956        }, d.add = function (r, n, a, o) {
35957            var h, _, u, f, c, p;
35958            if ("number" != typeof n && (n = this._parseTimeOrLabel(n, 0, !0, r)), !(r instanceof t)) {
35959                if (r instanceof Array || r && r.push && l(r)) {
35960                    for (a = a || "normal", o = o || 0, h = n, _ = r.length, u = 0; _ > u; u++) l(f = r[u]) && (f = new s({tweens: f})), this.add(f, h), "string" != typeof f && "function" != typeof f && ("sequence" === a ? h = f._startTime + f.totalDuration() / f._timeScale : "start" === a && (f._startTime -= f.delay())), h += o;
35961                    return this._uncache(!0)
35962                }
35963                if ("string" == typeof r) return this.addLabel(r, n);
35964                if ("function" != typeof r) throw"Cannot add " + r + " into the timeline; it is not a tween, timeline, function, or string.";
35965                r = i.delayedCall(0, r)
35966            }
35967            if (e.prototype.add.call(this, r, n), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration()) for (c = this, p = c.rawTime() > r._startTime; c._timeline;) p && c._timeline.smoothChildTiming ? c.totalTime(c._totalTime, !0) : c._gc && c._enabled(!0, !1), c = c._timeline;
35968            return this
35969        }, d.remove = function (e) {
35970            if (e instanceof t) {
35971                this._remove(e, !1);
35972                var i = e._timeline = e.vars.useFrames ? t._rootFramesTimeline : t._rootTimeline;
35973                return e._startTime = (e._paused ? e._pauseTime : i._time) - (e._reversed ? e.totalDuration() - e._totalTime : e._totalTime) / e._timeScale, this
35974            }
35975            if (e instanceof Array || e && e.push && l(e)) {
35976                for (var s = e.length; --s > -1;) this.remove(e[s]);
35977                return this
35978            }
35979            return "string" == typeof e ? this.removeLabel(e) : this.kill(null, e)
35980        }, d._remove = function (t, i) {
35981            e.prototype._remove.call(this, t, i);
35982            var s = this._last;
35983            return s ? this._time > s._startTime + s._totalDuration / s._timeScale && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this
35984        }, d.append = function (t, e) {
35985            return this.add(t, this._parseTimeOrLabel(null, e, !0, t))
35986        }, d.insert = d.insertMultiple = function (t, e, i, s) {
35987            return this.add(t, e || 0, i, s)
35988        }, d.appendMultiple = function (t, e, i, s) {
35989            return this.add(t, this._parseTimeOrLabel(null, e, !0, t), i, s)
35990        }, d.addLabel = function (t, e) {
35991            return this._labels[t] = this._parseTimeOrLabel(e), this
35992        }, d.addPause = function (t, e, s, r) {
35993            var n = i.delayedCall(0, p, s, r || this);
35994            return n.vars.onComplete = n.vars.onReverseComplete = e, n.data = "isPau
vendor: 23,751 bytes, lines 35994-36292
35994se", this._hasPause = !0, this.add(n, t)
35995        }, d.removeLabel = function (t) {
35996            return delete this._labels[t], this
35997        }, d.getLabelTime = function (t) {
35998            return null != this._labels[t] ? this._labels[t] : -1
35999        }, d._parseTimeOrLabel = function (e, i, s, r) {
36000            var n;
36001            if (r instanceof t && r.timeline === this) this.remove(r); else if (r && (r instanceof Array || r.push && l(r))) for (n = r.length; --n > -1;) r[n] instanceof t && r[n].timeline === this && this.remove(r[n]);
36002            if ("string" == typeof i) return this._parseTimeOrLabel(i, s && "number" == typeof e && null == this._labels[i] ? e - this.duration() : 0, s);
36003            if (i = i || 0, "string" != typeof e || !isNaN(e) && null == this._labels[e]) null == e && (e = this.duration()); else {
36004                if (n = e.indexOf("="), -1 === n) return null == this._labels[e] ? s ? this._labels[e] = this.duration() + i : i : this._labels[e] + i;
36005                i = parseInt(e.charAt(n - 1) + "1", 10) * Number(e.substr(n + 1)), e = n > 1 ? this._parseTimeOrLabel(e.substr(0, n - 1), 0, s) : this.duration()
36006            }
36007            return Number(e) + i
36008        }, d.seek = function (t, e) {
36009            return this.totalTime("number" == typeof t ? t : this._parseTimeOrLabel(t), e !== !1)
36010        }, d.stop = function () {
36011            return this.paused(!0)
36012        }, d.gotoAndPlay = function (t, e) {
36013            return this.play(t, e)
36014        }, d.gotoAndStop = function (t, e) {
36015            return this.pause(t, e)
36016        }, d.render = function (t, e, i) {
36017            this._gc && this._enabled(!0, !1);
36018            var s, n, a, o, l, u, f = this._dirty ? this.totalDuration() : this._totalDuration, c = this._time,
36019                p = this._startTime, m = this._timeScale, d = this._paused;
36020            if (t >= f) this._totalTime = this._time = f, this._reversed || this._hasPausedChild() || (n = !0, o = "onComplete", l = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 === t || 0 > this._rawPrevTime || this._rawPrevTime === r) && this._rawPrevTime !== t && this._first && (l = !0, this._rawPrevTime > r && (o = "onReverseComplete"))), this._rawPrevTime = this._duration || !e || t || this._rawPrevTime === t ? t : r, t = f + 1e-4; else if (1e-7 > t) if (this._totalTime = this._time = 0, (0 !== c || 0 === this._duration && this._rawPrevTime !== r && (this._rawPrevTime > 0 || 0 > t && this._rawPrevTime >= 0)) && (o = "onReverseComplete", n = this._reversed), 0 > t) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (l = n = !0, o = "onReverseComplete") : this._rawPrevTime >= 0 && this._first && (l = !0), this._rawPrevTime = t; else {
36021                if (this._rawPrevTime = this._duration || !e || t || this._rawPrevTime === t ? t : r, 0 === t && n) for (s = this._first; s && 0 === s._startTime;) s._duration || (n = !1), s = s._next;
36022                t = 0, this._initted || (l = !0)
36023            } else {
36024                if (this._hasPause && !this._forcingPlayhead && !e) {
36025                    if (t >= c) for (s = this._first; s && t >= s._startTime && !u;) s._duration || "isPause" !== s.data || s.ratio || 0 === s._startTime && 0 === this._rawPrevTime || (u = s), s = s._next; else for (s = this._last; s && s._startTime >= t && !u;) s._duration || "isPause" === s.data && s._rawPrevTime > 0 && (u = s), s = s._prev;
36026                    u && (this._time = t = u._startTime, this._totalTime = t + this._cycle * (this._totalDuration + this._repeatDelay))
36027                }
36028                this._totalTime = this._time = this._rawPrevTime = t
36029            }
36030            if (this._time !== c && this._first || i || l || u) {
36031                if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== c && t > 0 && (this._active = !0), 0 === c && this.vars.onStart && 0 !== this._time && (e || this._callback("onStart")), this._time >= c) for (s = this._first; s && (a = s._next, !this._paused || d);) (s._active || s._startTime <= this._time && !s._paused && !s._gc) && (u === s && this.pause(), s._reversed ? s.render((s._dirty ? s.totalDuration() : s._totalDuration) - (t - s._startTime) * s._timeScale, e, i) : s.render((t - s._startTime) * s._timeScale, e, i)), s = a; else for (s = this._last; s && (a = s._prev, !this._paused || d);) {
36032                    if (s._active || c >= s._startTime && !s._paused && !s._gc) {
36033                        if (u === s) {
36034                            for (u = s._prev; u && u.endTime() > this._time;) u.render(u._reversed ? u.totalDuration() - (t - u._startTime) * u._timeScale : (t - u._startTime) * u._timeScale, e, i), u = u._prev;
36035                            u = null, this.pause()
36036                        }
36037                        s._reversed ? s.render((s._dirty ? s.totalDuration() : s._totalDuration) - (t - s._startTime) * s._timeScale, e, i) : s.render((t - s._startTime) * s._timeScale, e, i);
36038                    }
36039                    s = a
36040                }
36041                this._onUpdate && (e || (h.length && _(), this._callback("onUpdate"))), o && (this._gc || (p === this._startTime || m !== this._timeScale) && (0 === this._time || f >= this.totalDuration()) && (n && (h.length && _(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !e && this.vars[o] && this._callback(o)))
36042            }
36043        }, d._hasPausedChild = function () {
36044            for (var t = this._first; t;) {
36045                if (t._paused || t instanceof s && t._hasPausedChild()) return !0;
36046                t = t._next
36047            }
36048            return !1
36049        }, d.getChildren = function (t, e, s, r) {
36050            r = r || -9999999999;
36051            for (var n = [], a = this._first, o = 0; a;) r > a._startTime || (a instanceof i ? e !== !1 && (n[o++] = a) : (s !== !1 && (n[o++] = a), t !== !1 && (n = n.concat(a.getChildren(!0, e, s)), o = n.length))), a = a._next;
36052            return n
36053        }, d.getTweensOf = function (t, e) {
36054            var s, r, n = this._gc, a = [], o = 0;
36055            for (n && this._enabled(!0, !0), s = i.getTweensOf(t), r = s.length; --r > -1;) (s[r].timeline === this || e && this._contains(s[r])) && (a[o++] = s[r]);
36056            return n && this._enabled(!1, !0), a
36057        }, d.recent = function () {
36058            return this._recent
36059        }, d._contains = function (t) {
36060            for (var e = t.timeline; e;) {
36061                if (e === this) return !0;
36062                e = e.timeline
36063            }
36064            return !1
36065        }, d.shiftChildren = function (t, e, i) {
36066            i = i || 0;
36067            for (var s, r = this._first, n = this._labels; r;) r._startTime >= i && (r._startTime += t), r = r._next;
36068            if (e) for (s in n) n[s] >= i && (n[s] += t);
36069            return this._uncache(!0)
36070        }, d._kill = function (t, e) {
36071            if (!t && !e) return this._enabled(!1, !1);
36072            for (var i = e ? this.getTweensOf(e) : this.getChildren(!0, !0, !1), s = i.length, r = !1; --s > -1;) i[s]._kill(t, e) && (r = !0);
36073            return r
36074        }, d.clear = function (t) {
36075            var e = this.getChildren(!1, !0, !0), i = e.length;
36076            for (this._time = this._totalTime = 0; --i > -1;) e[i]._enabled(!1, !1);
36077            return t !== !1 && (this._labels = {}), this._uncache(!0)
36078        }, d.invalidate = function () {
36079            for (var e = this._first; e;) e.invalidate(), e = e._next;
36080            return t.prototype.invalidate.call(this)
36081        }, d._enabled = function (t, i) {
36082            if (t === this._gc) for (var s = this._first; s;) s._enabled(t, !0), s = s._next;
36083            return e.prototype._enabled.call(this, t, i)
36084        }, d.totalTime = function () {
36085            this._forcingPlayhead = !0;
36086            var e = t.prototype.totalTime.apply(this, arguments);
36087            return this._forcingPlayhead = !1, e
36088        }, d.duration = function (t) {
36089            return arguments.length ? (0 !== this.duration() && 0 !== t && this.timeScale(this._duration / t), this) : (this._dirty && this.totalDuration(), this._duration)
36090        }, d.totalDuration = function (t) {
36091            if (!arguments.length) {
36092                if (this._dirty) {
36093                    for (var e, i, s = 0, r = this._last, n = 999999999999; r;) e = r._prev, r._dirty && r.totalDuration(), r._startTime > n && this._sortChildren && !r._paused ? this.add(r, r._startTime - r._delay) : n = r._startTime, 0 > r._startTime && !r._paused && (s -= r._startTime, this._timeline.smoothChildTiming && (this._startTime += r._startTime / this._timeScale), this.shiftChildren(-r._startTime, !1, -9999999999), n = 0), i = r._startTime + r._totalDuration / r._timeScale, i > s && (s = i), r = e;
36094                    this._duration = this._totalDuration = s, this._dirty = !1
36095                }
36096                return this._totalDuration
36097            }
36098            return 0 !== this.totalDuration() && 0 !== t && this.timeScale(this._totalDuration / t), this
36099        }, d.paused = function (e) {
36100            if (!e) for (var i = this._first, s = this._time; i;) i._startTime === s && "isPause" === i.data && (i._rawPrevTime = 0), i = i._next;
36101            return t.prototype.paused.apply(this, arguments)
36102        }, d.usesFrames = function () {
36103            for (var e = this._timeline; e._timeline;) e = e._timeline;
36104            return e === t._rootFramesTimeline
36105        }, d.rawTime = function () {
36106            return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale
36107        }, s
36108    }, !0)
36109}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function (t) {
36110    "use strict";
36111    var e = function () {
36112        return (_gsScope.GreenSockGlobals || _gsScope)[t]
36113    };
36114    "function" == typeof define && define.amd ? define(["TweenLite"], e) : "undefined" != typeof module && module.exports && (require("./TweenLite.js"), module.exports = e())
36115}("TimelineLite");
36116var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
36117(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () {
36118    "use strict";
36119    _gsScope._gsDefine("easing.Back", ["easing.Ease"], function (t) {
36120        var e, i, s, r = _gsScope.GreenSockGlobals || _gsScope, n = r.com.greensock, a = 2 * Math.PI, o = Math.PI / 2,
36121            h = n._class, l = function (e, i) {
36122                var s = h("easing." + e, function () {
36123                }, !0), r = s.prototype = new t;
36124                return r.constructor = s, r.getRatio = i, s
36125            }, _ = t.register || function () {
36126            }, u = function (t, e, i, s) {
36127                var r = h("easing." + t, {easeOut: new e, easeIn: new i, easeInOut: new s}, !0);
36128                return _(r, t), r
36129            }, c = function (t, e, i) {
36130                this.t = t, this.v = e, i && (this.next = i, i.prev = this, this.c = i.v - e, this.gap = i.t - t)
36131            }, f = function (e, i) {
36132                var s = h("easing." + e, function (t) {
36133                    this._p1 = t || 0 === t ? t : 1.70158, this._p2 = 1.525 * this._p1
36134                }, !0), r = s.prototype = new t;
36135                return r.constructor = s, r.getRatio = i, r.config = function (t) {
36136                    return new s(t)
36137                }, s
36138            }, p = u("Back", f("BackOut", function (t) {
36139                return (t -= 1) * t * ((this._p1 + 1) * t + this._p1) + 1
36140            }), f("BackIn", function (t) {
36141                return t * t * ((this._p1 + 1) * t - this._p1)
36142            }), f("BackInOut", function (t) {
36143                return 1 > (t *= 2) ? .5 * t * t * ((this._p2 + 1) * t - this._p2) : .5 * ((t -= 2) * t * ((this._p2 + 1) * t + this._p2) + 2)
36144            })), m = h("easing.SlowMo", function (t, e, i) {
36145                e = e || 0 === e ? e : .7, null == t ? t = .7 : t > 1 && (t = 1), this._p = 1 !== t ? e : 0, this._p1 = (1 - t) / 2, this._p2 = t, this._p3 = this._p1 + this._p2, this._calcEnd = i === !0
36146            }, !0), d = m.prototype = new t;
36147        return d.constructor = m, d.getRatio = function (t) {
36148            var e = t + (.5 - t) * this._p;
36149            return this._p1 > t ? this._calcEnd ? 1 - (t = 1 - t / this._p1) * t : e - (t = 1 - t / this._p1) * t * t * t * e : t > this._p3 ? this._calcEnd ? 1 - (t = (t - this._p3) / this._p1) * t : e + (t - e) * (t = (t - this._p3) / this._p1) * t * t * t : this._calcEnd ? 1 : e
36150        }, m.ease = new m(.7, .7), d.config = m.config = function (t, e, i) {
36151            return new m(t, e, i)
36152        }, e = h("easing.SteppedEase", function (t) {
36153            t = t || 1, this._p1 = 1 / t, this._p2 = t + 1
36154        }, !0), d = e.prototype = new t, d.constructor = e, d.getRatio = function (t) {
36155            return 0 > t ? t = 0 : t >= 1 && (t = .999999999), (this._p2 * t >> 0) * this._p1
36156        }, d.config = e.config = function (t) {
36157            return new e(t)
36158        }, i = h("easing.RoughEase", function (e) {
36159            e = e || {};
36160            for (var i, s, r, n, a, o, h = e.taper || "none", l = [], _ = 0, u = 0 | (e.points || 20), f = u, p = e.randomize !== !1, m = e.clamp === !0, d = e.template instanceof t ? e.template : null, g = "number" == typeof e.strength ? .4 * e.strength : .4; --f > -1;) i = p ? Math.random() : 1 / u * f, s = d ? d.getRatio(i) : i, "none" === h ? r = g : "out" === h ? (n = 1 - i, r = n * n * g) : "in" === h ? r = i * i * g : .5 > i ? (n = 2 * i, r = .5 * n * n * g) : (n = 2 * (1 - i), r = .5 * n * n * g), p ? s += Math.random() * r - .5 * r : f % 2 ? s += .5 * r : s -= .5 * r, m && (s > 1 ? s = 1 : 0 > s && (s = 0)), l[_++] = {
36161                x: i,
36162                y: s
36163            };
36164            for (l.sort(function (t, e) {
36165                return t.x - e.x
36166            }), o = new c(1, 1, null), f = u; --f > -1;) a = l[f], o = new c(a.x, a.y, o);
36167            this._prev = new c(0, 0, 0 !== o.t ? o : o.next)
36168        }, !0), d = i.prototype = new t, d.constructor = i, d.getRatio = function (t) {
36169            var e = this._prev;
36170            if (t > e.t) {
36171                for (; e.next && t >= e.t;) e = e.next;
36172                e = e.prev
36173            } else for (; e.prev && e.t >= t;) e = e.prev;
36174            return this._prev = e, e.v + (t - e.t) / e.gap * e.c
36175        }, d.config = function (t) {
36176            return new i(t)
36177        }, i.ease = new i, u("Bounce", l("BounceOut", function (t) {
36178            return 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375
36179        }), l("BounceIn", function (t) {
36180            return 1 / 2.75 > (t = 1 - t) ? 1 - 7.5625 * t * t : 2 / 2.75 > t ? 1 - (7.5625 * (t -= 1.5 / 2.75) * t + .75) : 2.5 / 2.75 > t ? 1 - (7.5625 * (t -= 2.25 / 2.75) * t + .9375) : 1 - (7.5625 * (t -= 2.625 / 2.75) * t + .984375)
36181        }), l("BounceInOut", function (t) {
36182            var e = .5 > t;
36183            return t = e ? 1 - 2 * t : 2 * t - 1, t = 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375, e ? .5 * (1 - t) : .5 * t + .5
36184        })), u("Circ", l("CircOut", function (t) {
36185            return Math.sqrt(1 - (t -= 1) * t)
36186        }), l("CircIn", function (t) {
36187            return -(Math.sqrt(1 - t * t) - 1)
36188        }), l("CircInOut", function (t) {
36189            return 1 > (t *= 2) ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1)
36190        })), s = function (e, i, s) {
36191            var r = h("easing." + e, function (t, e) {
36192                this._p1 = t >= 1 ? t : 1, this._p2 = (e || s) / (1 > t ? t : 1), this._p3 = this._p2 / a * (Math.asin(1 / this._p1) || 0), this._p2 = a / this._p2
36193            }, !0), n = r.prototype = new t;
36194            return n.constructor = r, n.getRatio = i, n.config = function (t, e) {
36195                return new r(t, e)
36196            }, r
36197        }, u("Elastic", s("ElasticOut", function (t) {
36198            return this._p1 * Math.pow(2, -10 * t) * Math.sin((t - this._p3) * this._p2) + 1
36199        }, .3), s("ElasticIn", function (t) {
36200            return -(this._p1 * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - this._p3) * this._p2))
36201        }, .3), s("ElasticInOut", function (t) {
36202            return 1 > (t *= 2) ? -.5 * this._p1 * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - this._p3) * this._p2) : .5 * this._p1 * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - this._p3) * this._p2) + 1
36203        }, .45)), u("Expo", l("ExpoOut", function (t) {
36204            return 1 - Math.pow(2, -10 * t)
36205        }), l("ExpoIn", function (t) {
36206            return Math.pow(2, 10 * (t - 1)) - .001
36207        }), l("ExpoInOut", function (t) {
36208            return 1 > (t *= 2) ? .5 * Math.pow(2, 10 * (t - 1)) : .5 * (2 - Math.pow(2, -10 * (t - 1)))
36209        })), u("Sine", l("SineOut", function (t) {
36210            return Math.sin(t * o)
36211        }), l("SineIn", function (t) {
36212            return -Math.cos(t * o) + 1
36213        }), l("SineInOut", function (t) {
36214            return -.5 * (Math.cos(Math.PI * t) - 1)
36215        })), h("easing.EaseLookup", {
36216            find: function (e) {
36217                return t.map[e]
36218            }
36219        }, !0), _(r.SlowMo, "SlowMo", "ease,"), _(i, "RoughEase", "ease,"), _(e, "SteppedEase", "ease,"), p
36220    }, !0)
36221}), _gsScope._gsDefine && _gsScope._gsQueue.pop()();
36222var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
36223(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () {
36224    "use strict";
36225    _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function (t, e) {
36226        var i, r, s, n, a = function () {
36227            t.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = a.prototype.setRatio
36228        }, o = _gsScope._gsDefine.globals, l = {}, h = a.prototype = new t("css");
36229        h.constructor = a, a.version = "1.18.0", a.API = 2, a.defaultTransformPerspective = 0, a.defaultSkewType = "compensated", a.defaultSmoothOrigin = !0, h = "px", a.suffixMap = {
36230            top: h,
36231            right: h,
36232            bottom: h,
36233            left: h,
36234            width: h,
36235            height: h,
36236            fontSize: h,
36237            padding: h,
36238            margin: h,
36239            perspective: h,
36240            lineHeight: ""
36241        };
36242        var u, f, c, _, p, d, m = /(?:\d|\-\d|\.\d|\-\.\d)+/g,
36243            g = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,
36244            v = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, y = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,
36245            x = /(?:\d|\-|\+|=|#|\.)*/g, T = /opacity *= *([^)]*)/i, w = /opacity:([^;]*)/i,
36246            b = /alpha\(opacity *=.+?\)/i, P = /^(rgb|hsl)/, S = /([A-Z])/g, O = /-([a-z])/gi,
36247            C = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, k = function (t, e) {
36248                return e.toUpperCase()
36249            }, R = /(?:Left|Right|Width)/i, A = /(M11|M12|M21|M22)=[\d\-\.e]+/gi,
36250            M = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, D = /,(?=[^\)]*(?:\(|$))/gi, L = Math.PI / 180,
36251            N = 180 / Math.PI, F = {}, X = document, z = function (t) {
36252                return X.createElementNS ? X.createElementNS("http://www.w3.org/1999/xhtml", t) : X.createElement(t)
36253            }, B = z("div"), I = z("img"), E = a._internals = {_specialProps: l}, Y = navigator.userAgent, W = function () {
36254                var t = Y.indexOf("Android"), e = z("a");
36255                return c = -1 !== Y.indexOf("Safari") && -1 === Y.indexOf("Chrome") && (-1 === t || Number(Y.substr(t + 8, 1)) > 3), p = c && 6 > Number(Y.substr(Y.indexOf("Version/") + 8, 1)), _ = -1 !== Y.indexOf("Firefox"), (/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Y) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Y)) && (d = parseFloat(RegExp.$1)), e ? (e.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(e.style.opacity)) : !1
36256            }(), V = function (t) {
36257                return T.test("string" == typeof t ? t : (t.currentStyle ? t.currentStyle.filter : t.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1
36258            }, j = function (t) {
36259                window.console && console.log(t)
36260            }, G = "", U = "", q = function (t, e) {
36261                e = e || B;
36262                var i, r, s = e.style;
36263                if (void 0 !== s[t]) return t;
36264                for (t = t.charAt(0).toUpperCase() + t.substr(1), i = ["O", "Moz", "ms", "Ms", "Webkit"], r = 5; --r > -1 && void 0 === s[i[r] + t];) ;
36265                return r >= 0 ? (U = 3 === r ? "ms" : i[r], G = "-" + U.toLowerCase() + "-", U + t) : null
36266            }, H = X.defaultView ? X.defaultView.getComputedStyle : function () {
36267            }, Q = a.getStyle = function (t, e, i, r, s) {
36268                var n;
36269                return W || "opacity" !== e ? (!r && t.style[e] ? n = t.style[e] : (i = i || H(t)) ? n = i[e] || i.getPropertyValue(e) || i.getPropertyValue(e.replace(S, "-$1").toLowerCase()) : t.currentStyle && (n = t.currentStyle[e]), null == s || n && "none" !== n && "auto" !== n && "auto auto" !== n ? n : s) : V(t)
36270            }, Z = E.convertToPixels = function (t, i, r, s, n) {
36271                if ("px" === s || !s) return r;
36272                if ("auto" === s || !r) return 0;
36273                var o, l, h, u = R.test(i), f = t, c = B.style, _ = 0 > r;
36274                if (_ && (r = -r), "%" === s && -1 !== i.indexOf("border")) o = r / 100 * (u ? t.clientWidth : t.clientHeight); else {
36275                    if (c.cssText = "border:0 solid red;position:" + Q(t, "position") + ";line-height:0;", "%" !== s && f.appendChild && "v" !== s.charAt(0) && "rem" !== s) c[u ? "borderLeftWidth" : "borderTopWidth"] = r + s; else {
36276                        if (f = t.parentNode || X.body, l = f._gsCache, h = e.ticker.frame, l && u && l.time === h) return l.width * r / 100;
36277                        c[u ? "width" : "height"] = r + s
36278                    }
36279                    f.appendChild(B), o = parseFloat(B[u ? "offsetWidth" : "offsetHeight"]), f.removeChild(B), u && "%" === s && a.cacheWidths !== !1 && (l = f._gsCache = f._gsCache || {}, l.time = h, l.width = 100 * (o / r)), 0 !== o || n || (o = Z(t, i, r, s, !0))
36280                }
36281                return _ ? -o : o
36282            }, $ = E.calculateOffset = function (t, e, i) {
36283                if ("absolute" !== Q(t, "position", i)) return 0;
36284                var r = "left" === e ? "Left" : "Top", s = Q(t, "margin" + r, i);
36285                return t["offset" + r] - (Z(t, e, parseFloat(s), s.replace(x, "")) || 0)
36286            }, K = function (t, e) {
36287                var i, r, s, n = {};
36288                if (e = e || H(t, null)) if (i = e.length) for (; --i > -1;) s = e[i], (-1 === s.indexOf("-transform") || Se === s) && (n[s.replace(O, k)] = e.getPropertyValue(s)); else for (i in e) (-1 === i.indexOf("Transform") || Pe === i) && (n[i] = e[i]); else if (e = t.currentStyle || t.style) for (i in e) "string" == typeof i && void 0 === n[i] && (n[i.replace(O, k)] = e[i]);
36289                return W || (n.opacity = V(t)), r = ze(t, e, !1), n.rotation = r.rotation, n.skewX = r.skewX, n.scaleX = r.scaleX, n.scaleY = r.scaleY, n.x = r.x, n.y = r.y, Ce && (n.z = r.z, n.rotationX = r.rotationX, n.rotationY = r.rotationY, n.scaleZ = r.scaleZ), n.filters && delete n.filters, n
36290            }, J = function (t, e, i, r, s) {
36291                var n, a, o, l = {}, h = t.style;
36292                for (a in i) "cssText" !== a && "length" !== a && isNaN(a) && (e[a] !== (n = i[a]) || s && s[a]) && -1 === a.indexOf("Origin") && ("number" == typeof n || "string" == typeof n) && (l[a] = "auto" !== n || "left" !== a && "top" !== a ? "" !== n && "auto" !== n && "n
vendor: 4,587 bytes, lines 36292-36341
36292one" !== n || "string" != typeof e[a] || "" === e[a].replace(y, "") ? n : 0 : $(t, a), void 0 !== h[a] && (o = new pe(h, a, h[a], o)));
36293                if (r) for (a in r) "className" !== a && (l[a] = r[a]);
36294                return {difs: l, firstMPT: o}
36295            }, te = {width: ["Left", "Right"], height: ["Top", "Bottom"]},
36296            ee = ["marginLeft", "marginRight", "marginTop", "marginBottom"], ie = function (t, e, i) {
36297                var r = parseFloat("width" === e ? t.offsetWidth : t.offsetHeight), s = te[e], n = s.length;
36298                for (i = i || H(t, null); --n > -1;) r -= parseFloat(Q(t, "padding" + s[n], i, !0)) || 0, r -= parseFloat(Q(t, "border" + s[n] + "Width", i, !0)) || 0;
36299                return r
36300            }, re = function (t, e) {
36301                if ("contain" === t || "auto" === t || "auto auto" === t) return t + " ";
36302                (null == t || "" === t) && (t = "0 0");
36303                var i = t.split(" "), r = -1 !== t.indexOf("left") ? "0%" : -1 !== t.indexOf("right") ? "100%" : i[0],
36304                    s = -1 !== t.indexOf("top") ? "0%" : -1 !== t.indexOf("bottom") ? "100%" : i[1];
36305                return null == s ? s = "center" === r ? "50%" : "0" : "center" === s && (s = "50%"), ("center" === r || isNaN(parseFloat(r)) && -1 === (r + "").indexOf("=")) && (r = "50%"), t = r + " " + s + (i.length > 2 ? " " + i[2] : ""), e && (e.oxp = -1 !== r.indexOf("%"), e.oyp = -1 !== s.indexOf("%"), e.oxr = "=" === r.charAt(1), e.oyr = "=" === s.charAt(1), e.ox = parseFloat(r.replace(y, "")), e.oy = parseFloat(s.replace(y, "")), e.v = t), e || t
36306            }, se = function (t, e) {
36307                return "string" == typeof t && "=" === t.charAt(1) ? parseInt(t.charAt(0) + "1", 10) * parseFloat(t.substr(2)) : parseFloat(t) - parseFloat(e)
36308            }, ne = function (t, e) {
36309                return null == t ? e : "string" == typeof t && "=" === t.charAt(1) ? parseInt(t.charAt(0) + "1", 10) * parseFloat(t.substr(2)) + e : parseFloat(t)
36310            }, ae = function (t, e, i, r) {
36311                var s, n, a, o, l, h = 1e-6;
36312                return null == t ? o = e : "number" == typeof t ? o = t : (s = 360, n = t.split("_"), l = "=" === t.charAt(1), a = (l ? parseInt(t.charAt(0) + "1", 10) * parseFloat(n[0].substr(2)) : parseFloat(n[0])) * (-1 === t.indexOf("rad") ? 1 : N) - (l ? 0 : e), n.length && (r && (r[i] = e + a), -1 !== t.indexOf("short") && (a %= s, a !== a % (s / 2) && (a = 0 > a ? a + s : a - s)), -1 !== t.indexOf("_cw") && 0 > a ? a = (a + 9999999999 * s) % s - (0 | a / s) * s : -1 !== t.indexOf("ccw") && a > 0 && (a = (a - 9999999999 * s) % s - (0 | a / s) * s)), o = e + a), h > o && o > -h && (o = 0), o
36313            }, oe = {
36314                aqua: [0, 255, 255],
36315                lime: [0, 255, 0],
36316                silver: [192, 192, 192],
36317                black: [0, 0, 0],
36318                maroon: [128, 0, 0],
36319                teal: [0, 128, 128],
36320                blue: [0, 0, 255],
36321                navy: [0, 0, 128],
36322                white: [255, 255, 255],
36323                fuchsia: [255, 0, 255],
36324                olive: [128, 128, 0],
36325                yellow: [255, 255, 0],
36326                orange: [255, 165, 0],
36327                gray: [128, 128, 128],
36328                purple: [128, 0, 128],
36329                green: [0, 128, 0],
36330                red: [255, 0, 0],
36331                pink: [255, 192, 203],
36332                cyan: [0, 255, 255],
36333                transparent: [255, 255, 255, 0]
36334            }, le = function (t, e, i) {
36335                return t = 0 > t ? t + 1 : t > 1 ? t - 1 : t, 0 | 255 * (1 > 6 * t ? e + 6 * (i - e) * t : .5 > t ? i : 2 > 3 * t ? e + 6 * (i - e) * (2 / 3 - t) : e) + .5
36336            }, he = a.parseColor = function (t, e) {
36337                var i, r, s, n, a, o, l, h, u, f, c;
36338                if (t) if ("number" == typeof t) i = [t >> 16, 255 & t >> 8, 255 & t]; else {
36339                    if ("," === t.charAt(t.length - 1) && (t = t.substr(0, t.length - 1)), oe[t]) i = oe[t]; else if ("#" === t.charAt(0)) 4 === t.length && (r = t.charAt(1), s = t.charAt(2), n = t.charAt(3), t = "#" + r + r + s + s + n + n), t = parseInt(t.substr(1), 16), i = [t >> 16, 255 & t >> 8, 255 & t]; else if ("hsl" === t.substr(0, 3)) if (i = c = t.match(m), e) {
36340                        if (-1 !== t.indexOf("=")) return t.match(g)
36341                    } else a = Number(i[0]) % 360 / 360, o = Number(i[1]) / 100, l = Number(i[2]) / 100, s = .5 >= l ? l * (o + 1) : l + o - l * o, r = 2 * l - s, i.length > 3 && (i[3] = Number(t[3])), i[0] = le(a + 1 / 3, r, s), i[1] = le(a, r, s), i[2] = le(
36341a - 1 / 3, r, s); else i = t.match(m) || oe.transparent;
36342                    i[0] = Number(i[0]), i[1] = Number(i[1]), i[2] = Number(i[2]), i.length > 3 && (i[3] = Number(i[3]))
36343                } else i = oe.black;
36344                return e && !c && (r = i[0] / 255, s = i[1] / 255, n = i[2] / 255, h = Math.max(r, s, n), u = Math.min(r, s, n), l = (h + u) / 2, h === u ? a = o = 0 : (f = h - u, o = l > .5 ? f / (2 - h - u) : f / (h + u), a = h === r ? (s - n) / f + (n > s ? 6 : 0) : h === s ? (n - r) / f + 2 : (r - s) / f + 4, a *= 60), i[0] = 0 | a + .5, i[1] = 0 | 100 * o + .5, i[2] = 0 | 100 * l + .5), i
36345            }, ue = function (t, e) {
36346                var i, r, s, n = t.match(fe) || [], a = 0, o = n.length ? "" : t;
36347                for (i = 0; n.length > i; i++) r = n[i], s = t.substr(a, t.indexOf(r, a) - a), a += s.length + r.length, r = he(r, e), 3 === r.length && r.push(1), o += s + (e ? "hsla(" + r[0] + "," + r[1] + "%," + r[2] + "%," + r[3] : "rgba(" + r.join(",")) + ")";
36348                return o
36349            }, fe = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";
36350        for (h in oe) fe += "|" + h + "\\b";
36351        fe = RegExp(fe + ")", "gi"), a.colorStringFilter = function (t) {
36352            var e, i = t[0] + t[1];
36353            fe.lastIndex = 0, fe.test(i) && (e = -1 !== i.indexOf("hsl(") || -1 !== i.indexOf("hsla("), t[0] = ue(t[0], e), t[1] = ue(t[1], e))
36354        }, e.defaultStringFilter || (e.defaultStringFilter = a.colorStringFilter);
36355        var ce = function (t, e, i, r) {
36356            if (null == t) return function (t) {
36357                return t
36358            };
36359            var s, n = e ? (t.match(fe) || [""])[0] : "", a = t.split(n).join("").match(v) || [],
36360                o = t.substr(0, t.indexOf(a[0])), l = ")" === t.charAt(t.length - 1) ? ")" : "",
36361                h = -1 !== t.indexOf(" ") ? " " : ",", u = a.length, f = u > 0 ? a[0].replace(m, "") : "";
36362            return u ? s = e ? function (t) {
36363                var e, c, _, p;
36364                if ("number" == typeof t) t += f; else if (r && D.test(t)) {
36365                    for (p = t.replace(D, "|").split("|"), _ = 0; p.length > _; _++) p[_] = s(p[_]);
36366                    return p.join(",")
36367                }
36368                if (e = (t.match(fe) || [n])[0], c = t.split(e).join("").match(v) || [], _ = c.length, u > _--) for (; u > ++_;) c[_] = i ? c[0 | (_ - 1) / 2] : a[_];
36369                return o + c.join(h) + h + e + l + (-1 !== t.indexOf("inset") ? " inset" : "")
36370            } : function (t) {
36371                var e, n, c;
36372                if ("number" == typeof t) t += f; else if (r && D.test(t)) {
36373                    for (n = t.replace(D, "|").split("|"), c = 0; n.length > c; c++) n[c] = s(n[c]);
36374                    return n.join(",")
36375                }
36376                if (e = t.match(v) || [], c = e.length, u > c--) for (; u > ++c;) e[c] = i ? e[0 | (c - 1) / 2] : a[c];
36377                return o + e.join(h) + l
36378            } : function (t) {
36379                return t
36380            }
36381        }, _e = function (t) {
36382            return t = t.split(","), function (e, i, r, s, n, a, o) {
36383                var l, h = (i + "").split(" ");
36384                for (o = {}, l = 0; 4 > l; l++) o[t[l]] = h[l] = h[l] || h[(l - 1) / 2 >> 0];
36385                return s.parse(e, o, n, a)
36386            }
36387        }, pe = (E._setPluginRatio = function (t) {
36388            this.plugin.setRatio(t);
36389            for (var e, i, r, s, n = this.data, a = n.proxy, o = n.firstMPT, l = 1e-6; o;) e = a[o.v], o.r ? e = Math.round(e) : l > e && e > -l && (e = 0), o.t[o.p] = e, o = o._next;
36390            if (n.autoRotate && (n.autoRotate.rotation = a.rotation), 1 === t) for (o = n.firstMPT; o;) {
36391                if (i = o.t, i.type) {
36392                    if (1 === i.type) {
36393                        for (s = i.xs0 + i.s + i.xs1, r = 1; i.l > r; r++) s += i["xn" + r] + i["xs" + (r + 1)];
36394                        i.e = s
36395                    }
36396                } else i.e = i.s + i.xs0;
36397                o = o._next
36398            }
36399        }, function (t, e, i, r, s) {
36400            this.t = t, this.p = e, this.v = i, this.r = s, r && (r._prev = this, this._next = r)
36401        }), de = (E._parseToProxy = function (t, e, i, r, s, n) {
36402            var a, o, l, h, u, f = r, c = {}, _ = {}, p = i._transform, d = F;
36403            for (i._transform = null, F = e, r = u = i.parse(t, e, r, s), F = d, n && (i._transform = p, f && (f._prev = null, f._prev && (f._prev._next = null))); r && r !== f;) {
36404                if (1 >
vendor: 5,514 bytes, lines 36404-36453
36404= r.type && (o = r.p, _[o] = r.s + r.c, c[o] = r.s, n || (h = new pe(r, "s", o, h, r.r), r.c = 0), 1 === r.type)) for (a = r.l; --a > 0;) l = "xn" + a, o = r.p + "_" + l, _[o] = r.data[l], c[o] = r[l], n || (h = new pe(r, l, o, h, r.rxp[l]));
36405                r = r._next
36406            }
36407            return {proxy: c, end: _, firstMPT: h, pt: u}
36408        }, E.CSSPropTween = function (t, e, r, s, a, o, l, h, u, f, c) {
36409            this.t = t, this.p = e, this.s = r, this.c = s, this.n = l || e, t instanceof de || n.push(this.n), this.r = h, this.type = o || 0, u && (this.pr = u, i = !0), this.b = void 0 === f ? r : f, this.e = void 0 === c ? r + s : c, a && (this._next = a, a._prev = this)
36410        }), me = function (t, e, i, r, s, n) {
36411            var a = new de(t, e, i, r - i, s, -1, n);
36412            return a.b = i, a.e = a.xs0 = r, a
36413        }, ge = a.parseComplex = function (t, e, i, r, s, n, a, o, l, h) {
36414            i = i || n || "", a = new de(t, e, 0, 0, a, h ? 2 : 1, null, !1, o, i, r), r += "";
36415            var f, c, _, p, d, v, y, x, T, w, b, P, S, O = i.split(", ").join(",").split(" "),
36416                C = r.split(", ").join(",").split(" "), k = O.length, R = u !== !1;
36417            for ((-1 !== r.indexOf(",") || -1 !== i.indexOf(",")) && (O = O.join(" ").replace(D, ", ").split(" "), C = C.join(" ").replace(D, ", ").split(" "), k = O.length), k !== C.length && (O = (n || "").split(" "), k = O.length), a.plugin = l, a.setRatio = h, fe.lastIndex = 0, f = 0; k > f; f++) if (p = O[f], d = C[f], x = parseFloat(p), x || 0 === x) a.appendXtra("", x, se(d, x), d.replace(g, ""), R && -1 !== d.indexOf("px"), !0); else if (s && fe.test(p)) P = "," === d.charAt(d.length - 1) ? ")," : ")", S = -1 !== d.indexOf("hsl") && W, p = he(p, S), d = he(d, S), T = p.length + d.length > 6, T && !W && 0 === d[3] ? (a["xs" + a.l] += a.l ? " transparent" : "transparent", a.e = a.e.split(C[f]).join("transparent")) : (W || (T = !1), S ? a.appendXtra(T ? "hsla(" : "hsl(", p[0], se(d[0], p[0]), ",", !1, !0).appendXtra("", p[1], se(d[1], p[1]), "%,", !1).appendXtra("", p[2], se(d[2], p[2]), T ? "%," : "%" + P, !1) : a.appendXtra(T ? "rgba(" : "rgb(", p[0], d[0] - p[0], ",", !0, !0).appendXtra("", p[1], d[1] - p[1], ",", !0).appendXtra("", p[2], d[2] - p[2], T ? "," : P, !0), T && (p = 4 > p.length ? 1 : p[3], a.appendXtra("", p, (4 > d.length ? 1 : d[3]) - p, P, !1))), fe.lastIndex = 0; else if (v = p.match(m)) {
36418                if (y = d.match(g), !y || y.length !== v.length) return a;
36419                for (_ = 0, c = 0; v.length > c; c++) b = v[c], w = p.indexOf(b, _), a.appendXtra(p.substr(_, w - _), Number(b), se(y[c], b), "", R && "px" === p.substr(w + b.length, 2), 0 === c), _ = w + b.length;
36420                a["xs" + a.l] += p.substr(_)
36421            } else a["xs" + a.l] += a.l ? " " + p : p;
36422            if (-1 !== r.indexOf("=") && a.data) {
36423                for (P = a.xs0 + a.data.s, f = 1; a.l > f; f++) P += a["xs" + f] + a.data["xn" + f];
36424                a.e = P + a["xs" + f]
36425            }
36426            return a.l || (a.type = -1, a.xs0 = a.e), a.xfirst || a
36427        }, ve = 9;
36428        for (h = de.prototype, h.l = h.pr = 0; --ve > 0;) h["xn" + ve] = 0, h["xs" + ve] = "";
36429        h.xs0 = "", h._next = h._prev = h.xfirst = h.data = h.plugin = h.setRatio = h.rxp = null, h.appendXtra = function (t, e, i, r, s, n) {
36430            var a = this, o = a.l;
36431            return a["xs" + o] += n && o ? " " + t : t || "", i || 0 === o || a.plugin ? (a.l++, a.type = a.setRatio ? 2 : 1, a["xs" + a.l] = r || "", o > 0 ? (a.data["xn" + o] = e + i, a.rxp["xn" + o] = s, a["xn" + o] = e, a.plugin || (a.xfirst = new de(a, "xn" + o, e, i, a.xfirst || a, 0, a.n, s, a.pr), a.xfirst.xs0 = 0), a) : (a.data = {s: e + i}, a.rxp = {}, a.s = e, a.c = i, a.r = s, a)) : (a["xs" + o] += e + (r || ""), a)
36432        };
36433        var ye = function (t, e) {
36434            e = e || {}, this.p = e.prefix ? q(t) || t : t, l[t] = l[this.p] = this, this.format = e.formatter || ce(e.defaultValue, e.color, e.collapsible, e.multi), e.parser && (this.parse = e.parser), this.clrs = e.color, this.multi = e.multi, this.keyword = e.keyword, this.dflt = e.defaultValue, this.pr = e.priority || 0
36435        }, xe = E._registerComplexSpecialProp = function (t, e, i) {
36436            "object" != typeof e && (e = {parser: i});
36437            var r, s, n = t.split(","), a = e.defaultValue;
36438            for (i = i || [a], r = 0; n.length > r; r++) e.prefix = 0 === r && e.prefix, e.defaultValue = i[r] || a, s = new ye(n[r], e)
36439        }, Te = function (t) {
36440            if (!l[t]) {
36441                var e = t.charAt(0).toUpperCase() + t.substr(1) + "Plugin";
36442                xe(t, {
36443                    parser: function (t, i, r, s, n, a, h) {
36444                        var u = o.com.greensock.plugins[e];
36445                        return u ? (u._cssRegister(), l[r].parse(t, i, r, s, n, a, h)) : (j("Error: " + e + " js file not loaded."), n)
36446                    }
36447                })
36448            }
36449        };
36450        h = ye.prototype, h.parseComplex = function (t, e, i, r, s, n) {
36451            var a, o, l, h, u, f, c = this.keyword;
36452            if (this.multi && (D.test(i) || D.test(e) ? (o = e.replace(D, "|").split("|"), l = i.replace(D, "|").split("|")) : c && (o = [e], l = [i])), l) {
36453                for (h = l.length > o.length ? l.length : o.length, a = 0; h > a; a++) e = o[a] = o[a] || this.dflt, i = l[a] = l[a] || this.dflt, c && (u = e.indexOf(c), f = i.indexOf(c), u !== f && (-1 === f ? o[a] = o[a].split(c).join("") : -1 
36453=== u && (o[a] += " " + c)));
36454                e = o.join(", "), i = l.join(", ")
36455            }
36456            return ge(t, this.p, e, i, this.clrs, this.dflt, r, this.pr, s, n)
36457        }, h.parse = function (t, e, i, r, n, a) {
36458            return this.parseComplex(t.style, this.format(Q(t, this.p, s, !1, this.dflt)), this.format(e), n, a)
36459        }, a.registerSpecialProp = function (t, e, i) {
36460            xe(t, {
36461                parser: function (t, r, s, n, a, o) {
36462                    var l = new de(t, s, 0, 0, a, 2, s, !1, i);
36463                    return l.plugin = o, l.setRatio = e(t, r, n._tween, s), l
36464                }, priority: i
36465            })
36466        }, a.useSVGTransformAttr = c || _;
36467        var we,
36468            be = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),
36469            Pe = q("transform"), Se = G + "transform", Oe = q("transformOrigin"), Ce = null !== q("perspective"),
36470            ke = E.Transform = function () {
36471                this.perspective = parseFloat(a.defaultTransformPerspective) || 0, this.force3D = a.defaultForce3D !== !1 && Ce ? a.defaultForce3D || "auto" : !1
36472            }, Re = window.SVGElement, Ae = function (t, e, i) {
36473                var r, s = X.createElementNS("http://www.w3.org/2000/svg", t), n = /([a-z])([A-Z])/g;
36474                for (r in i) s.setAttributeNS(null, r.replace(n, "$1-$2").toLowerCase(), i[r]);
36475                return e.appendChild(s), s
36476            }, Me = X.documentElement, De = function () {
36477                var t, e, i, r = d || /Android/i.test(Y) && !window.chrome;
36478                return X.createElementNS && !r && (t = Ae("svg", Me), e = Ae("rect", t, {
36479                    width: 100,
36480                    height: 50,
36481                    x: 100
36482                }), i = e.getBoundingClientRect().width, e.style[Oe] = "50% 50%", e.style[Pe] = "scaleX(0.5)", r = i === e.getBoundingClientRect().width && !(_ && Ce), Me.removeChild(t)), r
36483            }(), Le = function (t, e, i, r, s) {
36484                var n, o, l, h, u, f, c, _, p, d, m, g, v, y, x = t._gsTransform, T = Xe(t, !0);
36485                x && (v = x.xOrigin, y = x.yOrigin), (!r || 2 > (n = r.split(" ")).length) && (c = t.getBBox(), e = re(e).split(" "), n = [(-1 !== e[0].indexOf("%") ? parseFloat(e[0]) / 100 * c.width : parseFloat(e[0])) + c.x, (-1 !== e[1].indexOf("%") ? parseFloat(e[1]) / 100 * c.height : parseFloat(e[1])) + c.y]), i.xOrigin = h = parseFloat(n[0]), i.yOrigin = u = parseFloat(n[1]), r && T !== Fe && (f = T[0], c = T[1], _ = T[2], p = T[3], d = T[4], m = T[5], g = f * p - c * _, o = h * (p / g) + u * (-_ / g) + (_ * m - p * d) / g, l = h * (-c / g) + u * (f / g) - (f * m - c * d) / g, h = i.xOrigin = n[0] = o, u = i.yOrigin = n[1] = l), x && (s || s !== !1 && a.defaultSmoothOrigin !== !1 ? (o = h - v, l = u - y, x.xOffset += o * T[0] + l * T[2] - o, x.yOffset += o * T[1] + l * T[3] - l) : x.xOffset = x.yOffset = 0), t.setAttribute("data-svg-origin", n.join(" "))
36486            }, Ne = function (t) {
36487                return !!(Re && "function" == typeof t.getBBox && t.getCTM && (!t.parentNode || t.parentNode.getBBox && t.parentNode.getCTM))
36488            }, Fe = [1, 0, 0, 1, 0, 0], Xe = function (t, e) {
36489                var i, r, s, n, a, o = t._gsTransform || new ke, l = 1e5;
36490                if (Pe ? r = Q(t, Se, null, !0) : t.currentStyle && (r = t.currentStyle.filter.match(A), r = r && 4 === r.length ? [r[0].substr(4), Number(r[2].substr(4)), Number(r[1].substr(4)), r[3].substr(4), o.x || 0, o.y || 0].join(",") : ""), i = !r || "none" === r || "matrix(1, 0, 0, 1, 0, 0)" === r, (o.svg || t.getBBox && Ne(t)) && (i && -1 !== (t.style[Pe] + "").indexOf("matrix") && (r = t.style[Pe], i = 0), s = t.getAttribute("transform"), i && s && (-1 !== s.indexOf("matrix") ? (r = s, i = 0) : -1 !== s.indexOf("translate") && (r = "matrix(1,0,0,1," + s.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",") + ")", i = 0))), i) return Fe;
36491                for (s = (r || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [], ve = s.length; --ve > -1;) n = Number(s[ve]), s[ve] = (a = n - (n |= 0)) ? (0 | a * l + (0 > a ? -.5 : .5)) / l + n : n;
36492                return e && s.length > 6 ? [s[0], s[1], s[4], s[5], s[12], s[13]] : s
36493            }, ze = E.getTransform = function (t, i, r, n) {
36494                if (t._gsTransform && r && !n) return t._gsTransform;
36495                var o, l, h, u, f, c, _ = r ? t._gsTransform || new ke : new ke, p = 0 > _.scaleX, d = 2e-5, m = 1e5,
36496                    g = Ce ? parseFloat(Q(t, Oe, i, !1, "0 0 0").split(" ")[2]) || _.zOrigin || 0 : 0,
36497                    v = parseFloat(a.defaultTransformPerspective) || 0;
36498                if (_.svg = !(!t.getBBox || !Ne(t)), _.svg && (Le(t, Q(t, Oe, s, !1, "50% 50%") + "", _, t.getAttribute("data-svg-origin")), we = a.useSVGTransformAttr || De), o = Xe(t), o !== Fe) {
36499                    if (16 === o.length) {
36500                        var y, x, T, w, b, P = o[0], S = o[1], O = o[2], C = o[3], k = o[4], R = o[5], A = o[6], M = o[7],
36501                            D = o[8], L = o[9], F = o[10], X = o[12], z = o[13], B = o[14], I = o[11], E = Math.atan2(A, F);
36502                        _.zOrigin && (B = -_.zOrigin, X = D * B - o[12], z = L * B - o[13], B = F * B + _.zOrigin - o[14]), _.rotationX = E * N, E && (w = Math.cos(-E), b = Math.sin(-E), y = k * w + D * b, x = R * w + L * b, T = A * w + F * b, D = k * -b + D * w, L = R * -b + L * w, F = A * -b + F * w, I = M * -b + I * w, k = y, R = x, A = T), E = Math.atan2(D, F), _.rotationY = E * N, E && (w = Math.cos(-E), b = Math.sin(-E), y = P * w - D * b, x = S * w - L * b, T = O * w - F * b, L = S * b + L * w, F = O * b + F * w, I = C * b + I * w, P = y, S = x, O = T), E = Math.atan2(S, P), _.rotation = E * N, E && (w = Math.cos(-E), b = Math.sin(-E), P = P * w + k * b, x = S * w + R * b, R = S * -b + R * w, A = O * -b + A * w, S = x), _.rotationX && Math.abs(_.rotationX) + Math.abs(_.rotation) > 359.9 && (_.rotationX = _.rotation = 0, _.rotationY += 180), _.scaleX = (0 | Math.sqrt(P * P + S * S) * m + .5) / m, _.scaleY = (0 | Math.sqrt(R * R + L * L) * m + .5) / m, _.scaleZ = (0 | Math.sqrt(A * A + F * F) * m + .5) / m, _.skewX = 0, _.perspective = I ? 1 / (0 > I ? -I : I) : 0, _.x = X, _.y = z, _.z = B, _.svg && (_.x -= _.xOrigin - (_.xOrigin * P - _.yOrigin * k), _.y -= _.yOrigin - (_.yOrigin * S - _.xOrigin * R))
36503                    } else if (!(Ce && !n && o.length && _.x === o[4] && _.y === o[5] && (_.rotationX || _.rotationY) || void 0 !== _.x && "none" === Q(t, "dis
36503play", i))) {
36504                        var Y = o.length >= 6, W = Y ? o[0] : 1, V = o[1] || 0, j = o[2] || 0, G = Y ? o[3] : 1;
36505                        _.x = o[4] || 0, _.y = o[5] || 0, h = Math.sqrt(W * W + V * V), u = Math.sqrt(G * G + j * j), f = W || V ? Math.atan2(V, W) * N : _.rotation || 0, c = j || G ? Math.atan2(j, G) * N + f : _.skewX || 0, Math.abs(c) > 90 && 270 > Math.abs(c) && (p ? (h *= -1, c += 0 >= f ? 180 : -180, f += 0 >= f ? 180 : -180) : (u *= -1, c += 0 >= c ? 180 : -180)), _.scaleX = h, _.scaleY = u, _.rotation = f, _.skewX = c, Ce && (_.rotationX = _.rotationY = _.z = 0, _.perspective = v, _.scaleZ = 1), _.svg && (_.x -= _.xOrigin - (_.xOrigin * W + _.yOrigin * j), _.y -= _.yOrigin - (_.xOrigin * V + _.yOrigin * G))
36506                    }
36507                    _.zOrigin = g;
36508                    for (l in _) d > _[l] && _[l] > -d && (_[l] = 0)
36509                }
36510                return r && (t._gsTransform = _, _.svg && (we && t.style[Pe] ? e.delayedCall(.001, function () {
36511                    Ye(t.style, Pe)
36512                }) : !we && t.getAttribute("transform") && e.delayedCall(.001, function () {
36513                    t.removeAttribute("transform")
36514                }))), _
36515            }, Be = function (t) {
36516                var e, i, r = this.data, s = -r.rotation * L, n = s + r.skewX * L, a = 1e5,
36517                    o = (0 | Math.cos(s) * r.scaleX * a) / a, l = (0 | Math.sin(s) * r.scaleX * a) / a,
36518                    h = (0 | Math.sin(n) * -r.scaleY * a) / a, u = (0 | Math.cos(n) * r.scaleY * a) / a, f = this.t.style,
36519                    c = this.t.currentStyle;
36520                if (c) {
36521                    i = l, l = -h, h = -i, e = c.filter, f.filter = "";
36522                    var _, p, m = this.t.offsetWidth, g = this.t.offsetHeight, v = "absolute" !== c.position,
36523                        y = "progid:DXImageTransform.Microsoft.Matrix(M11=" + o + ", M12=" + l + ", M21=" + h + ", M22=" + u,
36524                        w = r.x + m * r.xPercent / 100, b = r.y + g * r.yPercent / 100;
36525                    if (null != r.ox && (_ = (r.oxp ? .01 * m * r.ox : r.ox) - m / 2, p = (r.oyp ? .01 * g * r.oy : r.oy) - g / 2, w += _ - (_ * o + p * l), b += p - (_ * h + p * u)), v ? (_ = m / 2, p = g / 2, y += ", Dx=" + (_ - (_ * o + p * l) + w) + ", Dy=" + (p - (_ * h + p * u) + b) + ")") : y += ", sizingMethod='auto expand')", f.filter = -1 !== e.indexOf("DXImageTransform.Microsoft.Matrix(") ? e.replace(M, y) : y + " " + e, (0 === t || 1 === t) && 1 === o && 0 === l && 0 === h && 1 === u && (v && -1 === y.indexOf("Dx=0, Dy=0") || T.test(e) && 100 !== parseFloat(RegExp.$1) || -1 === e.indexOf(e.indexOf("Alpha")) && f.removeAttribute("filter")), !v) {
36526                        var P, S, O, C = 8 > d ? 1 : -1;
36527                        for (_ = r.ieOffsetX || 0, p = r.ieOffsetY || 0, r.ieOffsetX = Math.round((m - ((0 > o ? -o : o) * m + (0 > l ? -l : l) * g)) / 2 + w), r.ieOffsetY = Math.round((g - ((0 > u ? -u : u) * g + (0 > h ? -h : h) * m)) / 2 + b), ve = 0; 4 > ve; ve++) S = ee[ve], P = c[S], i = -1 !== P.indexOf("px") ? parseFloat(P) : Z(this.t, S, parseFloat(P), P.replace(x, "")) || 0, O = i !== r[S] ? 2 > ve ? -r.ieOffsetX : -r.ieOffsetY : 2 > ve ? _ - r.ieOffsetX : p - r.ieOffsetY, f[S] = (r[S] = Math.round(i - O * (0 === ve || 2 === ve ? 1 : C))) + "px"
36528                    }
36529                }
36530            }, Ie = E.set3DTransformRatio = E.setTransformRatio = function (t) {
36531                var e, i, r, s, n, a, o, l, h, u, f, c, p, d, m, g, v, y, x, T, w, b, P, S = this.data, O = this.t.style,
36532                    C = S.rotation, k = S.rotationX, R = S.rotationY, A = S.scaleX, M = S.scaleY, D = S.scaleZ, N = S.x,
36533                    F = S.y, X = S.z, z = S.svg, B = S.perspective, I = S.force3D;
36534                if (!((1 !== t && 0 !== t || "auto" !== I || this.tween._totalTime !== this.tween._totalDuration && this.tween._totalTime) && I || X || B || R || k) || we && z || !Ce) return void (C || S.skewX || z ? (C *= L, b = S.skewX * L, P = 1e5, e = Math.cos(C) * A, s = Math.sin(C) * A, i = Math.sin(C - b) * -M, n = Math.cos(C - b) * M, b && "simple" === S.skewType && (v = Math.tan(b), v = Math.sqrt(1 + v * v), i *= v, n *= v, S.skewY && (e *= v, s *= v)), z && (N += S.xOrigin - (S.xOrigin * e + S.yOrigin * i) + S.xOffset, F += S.yOrigin - (S.xOrigin * s + S.yOrigin * n) + S.yOffset, we && (S.xPercent || S.yPercent) && (d = this.t.getBBox(), N += .01 * S.xPercent * d.width, F += .01 * S.yPercent * d.height), d = 1e-6, d > N && N > -d && (N = 0), d > F && F > -d && (F = 0)), x = (0 | e * P) / P + "," + (0 | s * P) / P + "," + (0 | i * P) / P + "," + (0 | n * P) / P + "," + N + "," + F + ")", z && we ? this.t.setAttribute("transform", "matrix(" 
vendor: 14,681 bytes, lines 36534-36649
36534+ x) : O[Pe] = (S.xPercent || S.yPercent ? "translate(" + S.xPercent + "%," + S.yPercent + "%) matrix(" : "matrix(") + x) : O[Pe] = (S.xPercent || S.yPercent ? "translate(" + S.xPercent + "%," + S.yPercent + "%) matrix(" : "matrix(") + A + ",0,0," + M + "," + N + "," + F + ")");
36535                if (_ && (d = 1e-4, d > A && A > -d && (A = D = 2e-5), d > M && M > -d && (M = D = 2e-5), !B || S.z || S.rotationX || S.rotationY || (B = 0)), C || S.skewX) C *= L, m = e = Math.cos(C), g = s = Math.sin(C), S.skewX && (C -= S.skewX * L, m = Math.cos(C), g = Math.sin(C), "simple" === S.skewType && (v = Math.tan(S.skewX * L), v = Math.sqrt(1 + v * v), m *= v, g *= v, S.skewY && (e *= v, s *= v))), i = -g, n = m; else {
36536                    if (!(R || k || 1 !== D || B || z)) return void (O[Pe] = (S.xPercent || S.yPercent ? "translate(" + S.xPercent + "%," + S.yPercent + "%) translate3d(" : "translate3d(") + N + "px," + F + "px," + X + "px)" + (1 !== A || 1 !== M ? " scale(" + A + "," + M + ")" : ""));
36537                    e = n = 1, i = s = 0
36538                }
36539                h = 1, r = a = o = l = u = f = 0, c = B ? -1 / B : 0, p = S.zOrigin, d = 1e-6, T = ",", w = "0", C = R * L, C && (m = Math.cos(C), g = Math.sin(C), o = -g, u = c * -g, r = e * g, a = s * g, h = m, c *= m, e *= m, s *= m), C = k * L, C && (m = Math.cos(C), g = Math.sin(C), v = i * m + r * g, y = n * m + a * g, l = h * g, f = c * g, r = i * -g + r * m, a = n * -g + a * m, h *= m, c *= m, i = v, n = y), 1 !== D && (r *= D, a *= D, h *= D, c *= D), 1 !== M && (i *= M, n *= M, l *= M, f *= M), 1 !== A && (e *= A, s *= A, o *= A, u *= A), (p || z) && (p && (N += r * -p, F += a * -p, X += h * -p + p), z && (N += S.xOrigin - (S.xOrigin * e + S.yOrigin * i) + S.xOffset, F += S.yOrigin - (S.xOrigin * s + S.yOrigin * n) + S.yOffset), d > N && N > -d && (N = w), d > F && F > -d && (F = w), d > X && X > -d && (X = 0)), x = S.xPercent || S.yPercent ? "translate(" + S.xPercent + "%," + S.yPercent + "%) matrix3d(" : "matrix3d(", x += (d > e && e > -d ? w : e) + T + (d > s && s > -d ? w : s) + T + (d > o && o > -d ? w : o), x += T + (d > u && u > -d ? w : u) + T + (d > i && i > -d ? w : i) + T + (d > n && n > -d ? w : n), k || R ? (x += T + (d > l && l > -d ? w : l) + T + (d > f && f > -d ? w : f) + T + (d > r && r > -d ? w : r), x += T + (d > a && a > -d ? w : a) + T + (d > h && h > -d ? w : h) + T + (d > c && c > -d ? w : c) + T) : x += ",0,0,0,0,1,0,", x += N + T + F + T + X + T + (B ? 1 + -X / B : 1) + ")", O[Pe] = x
36540            };
36541        h = ke.prototype, h.x = h.y = h.z = h.skewX = h.skewY = h.rotation = h.rotationX = h.rotationY = h.zOrigin = h.xPercent = h.yPercent = h.xOffset = h.yOffset = 0, h.scaleX = h.scaleY = h.scaleZ = 1, xe("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {
36542            parser: function (t, e, i, r, n, o, l) {
36543                if (r._lastParsedTransform === l) return n;
36544                r._lastParsedTransform = l;
36545                var h, u, f, c, _, p, d, m, g, v, y = t._gsTransform, x = t.style, T = 1e-6, w = be.length, b = l,
36546                    P = {}, S = "transformOrigin";
36547                if (l.display ? (c = Q(t, "display"), x.display = "block", h = ze(t, s, !0, l.parseTransform), x.display = c) : h = ze(t, s, !0, l.parseTransform), r._transform = h, "string" == typeof b.transform && Pe) c = B.style, c[Pe] = b.transform, c.display = "block", c.position = "absolute", X.body.appendChild(B), u = ze(B, null, !1), X.body.removeChild(B), u.perspective || (u.perspective = h.perspective), null != b.xPercent && (u.xPercent = ne(b.xPercent, h.xPercent)), null != b.yPercent && (u.yPercent = ne(b.yPercent, h.yPercent)); else if ("object" == typeof b) {
36548                    if (u = {
36549                        scaleX: ne(null != b.scaleX ? b.scaleX : b.scale, h.scaleX),
36550                        scaleY: ne(null != b.scaleY ? b.scaleY : b.scale, h.scaleY),
36551                        scaleZ: ne(b.scaleZ, h.scaleZ),
36552                        x: ne(b.x, h.x),
36553                        y: ne(b.y, h.y),
36554                        z: ne(b.z, h.z),
36555                        xPercent: ne(b.xPercent, h.xPercent),
36556                        yPercent: ne(b.yPercent, h.yPercent),
36557                        perspective: ne(b.transformPerspective, h.perspective)
36558                    }, m = b.directionalRotation, null != m) if ("object" == typeof m) for (c in m) b[c] = m[c]; else b.rotation = m;
36559                    "string" == typeof b.x && -1 !== b.x.indexOf("%") && (u.x = 0, u.xPercent = ne(b.x, h.xPercent)), "string" == typeof b.y && -1 !== b.y.indexOf("%") && (u.y = 0, u.yPercent = ne(b.y, h.yPercent)), u.rotation = ae("rotation" in b ? b.rotation : "shortRotation" in b ? b.shortRotation + "_short" : "rotationZ" in b ? b.rotationZ : h.rotation, h.rotation, "rotation", P), Ce && (u.rotationX = ae("rotationX" in b ? b.rotationX : "shortRotationX" in b ? b.shortRotationX + "_short" : h.rotationX || 0, h.rotationX, "rotationX", P), u.rotationY = ae("rotationY" in b ? b.rotationY : "shortRotationY" in b ? b.shortRotationY + "_short" : h.rotationY || 0, h.rotationY, "rotationY", P)), u.skewX = null == b.skewX ? h.skewX : ae(b.skewX, h.skewX), u.skewY = null == b.skewY ? h.skewY : ae(b.skewY, h.skewY), (f = u.skewY - h.skewY) && (u.skewX += f, u.rotation += f)
36560                }
36561                for (Ce && null != b.force3D && (h.force3D = b.force3D, d = !0), h.skewType = b.skewType || h.skewType || a.defaultSkewType, p = h.force3D || h.z || h.rotationX || h.rotationY || u.z || u.rotationX || u.rotationY || u.perspective, p || null == b.scale || (u.scaleZ = 1); --w > -1;) i = be[w], _ = u[i] - h[i], (_ > T || -T > _ || null != b[i] || null != F[i]) && (d = !0, n = new de(h, i, h[i], _, n), i in P && (n.e = P[i]), n.xs0 = 0, n.plugin = o, r._overwriteProps.push(n.n));
36562                return _ = b.transformOrigin, h.svg && (_ || b.svgOrigin) && (g = h.xOffset, v = h.yOffset, Le(t, re(_), u, b.svgOrigin, b.smoothOrigin), n = me(h, "xOrigin", (y ? h : u).xOrigin, u.xOrigin, n, S), n = me(h, "yOrigin", (y ? h : u).yOrigin, u.yOrigin, n, S), (g !== h.xOffset || v !== h.yOffset) && (n = me(h, "xOffset", y ? g : h.xOffset, h.xOffset, n, S), n = me(h, "yOffset", y ? v : h.yOffset, h.yOffset, n, S)), _ = we ? null : "0px 0px"), (_ || Ce && p && h.zOrigin) && (Pe ? (d = !0, i = Oe, _ = (_ || Q(t, i, s, !1, "50% 50%")) + "", n = new de(x, i, 0, 0, n, -1, S), n.b = x[i], n.plugin = o, Ce ? (c = h.zOrigin, _ = _.split(" "), h.zOrigin = (_.length > 2 && (0 === c || "0px" !== _[2]) ? parseFloat(_[2]) : c) || 0, n.xs0 = n.e = _[0] + " " + (_[1] || "50%") + " 0px", n = new de(h, "zOrigin", 0, 0, n, -1, n.n), n.b = c, n.xs0 = n.e = h.zOrigin) : n.xs0 = n.e = _) : re(_ + "", h)), d && (r._transformType = h.svg && we || !p && 3 !== this._transformType ? 2 : 3), n
36563            }, prefix: !0
36564        }), xe("boxShadow", {
36565            defaultValue: "0px 0px 0px 0px #999",
36566            prefix: !0,
36567            color: !0,
36568            multi: !0,
36569            keyword: "inset"
36570        }), xe("borderRadius", {
36571            defaultValue: "0px", parser: function (t, e, i, n, a) {
36572                e = this.format(e);
36573                var o, l, h, u, f, c, _, p, d, m, g, v, y, x, T, w,
36574                    b = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"],
36575                    P = t.style;
36576                for (d = parseFloat(t.offsetWidth), m = parseFloat(t.offsetHeight), o = e.split(" "), l = 0; b.length > l; l++) this.p.indexOf("border") && (b[l] = q(b[l])), f = u = Q(t, b[l], s, !1, "0px"), -1 !== f.indexOf(" ") && (u = f.split(" "), f = u[0], u = u[1]), c = h = o[l], _ = parseFloat(f), v = f.substr((_ + "").length), y = "=" === c.charAt(1), y ? (p = parseInt(c.charAt(0) + "1", 10), c = c.substr(2), p *= parseFloat(c), g = c.substr((p + "").length - (0 > p ? 1 : 0)) || "") : (p = parseFloat(c), g = c.substr((p + "").length)), "" === g && (g = r[i] || v), g !== v && (x = Z(t, "borderLeft", _, v), T = Z(t, "borderTop", _, v), "%" === g ? (f = 100 * (x / d) + "%", u = 100 * (T / m) + "%") : "em" === g ? (w = Z(t, "borderLeft", 1, "em"), f = x / w + "em", u = T / w + "em") : (f = x + "px", u = T + "px"), y && (c = parseFloat(f) + p + g, h = parseFloat(u) + p + g)), a = ge(P, b[l], f + " " + u, c + " " + h, !1, "0px", a);
36577                return a
36578            }, prefix: !0, formatter: ce("0px 0px 0px 0px", !1, !0)
36579        }), xe("backgroundPosition", {
36580            defaultValue: "0 0", parser: function (t, e, i, r, n, a) {
36581                var o, l, h, u, f, c, _ = "background-position", p = s || H(t, null),
36582                    m = this.format((p ? d ? p.getPropertyValue(_ + "-x") + " " + p.getPropertyValue(_ + "-y") : p.getPropertyValue(_) : t.currentStyle.backgroundPositionX + " " + t.currentStyle.backgroundPositionY) || "0 0"),
36583                    g = this.format(e);
36584                if (-1 !== m.indexOf("%") != (-1 !== g.indexOf("%")) && (c = Q(t, "backgroundImage").replace(C, ""), c && "none" !== c)) {
36585                    for (o = m.split(" "), l = g.split(" "), I.setAttribute("src", c), h = 2; --h > -1;) m = o[h], u = -1 !== m.indexOf("%"), u !== (-1 !== l[h].indexOf("%")) && (f = 0 === h ? t.offsetWidth - I.width : t.offsetHeight - I.height, o[h] = u ? parseFloat(m) / 100 * f + "px" : 100 * (parseFloat(m) / f) + "%");
36586                    m = o.join(" ")
36587                }
36588                return this.parseComplex(t.style, m, g, n, a)
36589            }, formatter: re
36590        }), xe("backgroundSize", {defaultValue: "0 0", formatter: re}), xe("perspective", {
36591            defaultValue: "0px",
36592            prefix: !0
36593        }), xe("perspectiveOrigin", {
36594            defaultValue: "50% 50%",
36595            prefix: !0
36596        }), xe("transformStyle", {prefix: !0}), xe("backfaceVisibility", {prefix: !0}), xe("userSelect", {prefix: !0}), xe("margin", {parser: _e("marginTop,marginRight,marginBottom,marginLeft")}), xe("padding", {parser: _e("paddingTop,paddingRight,paddingBottom,paddingLeft")}), xe("clip", {
36597            defaultValue: "rect(0px,0px,0px,0px)",
36598            parser: function (t, e, i, r, n, a) {
36599                var o, l, h;
36600                return 9 > d ? (l = t.currentStyle, h = 8 > d ? " " : ",", o = "rect(" + l.clipTop + h + l.clipRight + h + l.clipBottom + h + l.clipLeft + ")", e = this.format(e).split(",").join(h)) : (o = this.format(Q(t, this.p, s, !1, this.dflt)), e = this.format(e)), this.parseComplex(t.style, o, e, n, a)
36601            }
36602        }), xe("textShadow", {
36603            defaultValue: "0px 0px 0px #999",
36604            color: !0,
36605            multi: !0
36606        }), xe("autoRound,strictUnits", {
36607            parser: function (t, e, i, r, s) {
36608                return s
36609            }
36610        }), xe("border", {
36611            defaultValue: "0px solid #000", parser: function (t, e, i, r, n, a) {
36612                return this.parseComplex(t.style, this.format(Q(t, "borderTopWidth", s, !1, "0px") + " " + Q(t, "borderTopStyle", s, !1, "solid") + " " + Q(t, "borderTopColor", s, !1, "#000")), this.format(e), n, a)
36613            }, color: !0, formatter: function (t) {
36614                var e = t.split(" ");
36615                return e[0] + " " + (e[1] || "solid") + " " + (t.match(fe) || ["#000"])[0]
36616            }
36617        }), xe("borderWidth", {parser: _e("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}), xe("float,cssFloat,styleFloat", {
36618            parser: function (t, e, i, r, s) {
36619                var n = t.style, a = "cssFloat" in n ? "cssFloat" : "styleFloat";
36620                return new de(n, a, 0, 0, s, -1, i, !1, 0, n[a], e)
36621            }
36622        });
36623        var Ee = function (t) {
36624            var e, i = this.t, r = i.filter || Q(this.data, "filter") || "", s = 0 | this.s + this.c * t;
36625            100 === s && (-1 === r.indexOf("atrix(") && -1 === r.indexOf("radient(") && -1 === r.indexOf("oader(") ? (i.removeAttribute("filter"), e = !Q(this.data, "filter")) : (i.filter = r.replace(b, ""), e = !0)), e || (this.xn1 && (i.filter = r = r || "alpha(opacity=" + s + ")"), -1 === r.indexOf("pacity") ? 0 === s && this.xn1 || (i.filter = r + " alpha(opacity=" + s + ")") : i.filter = r.replace(T, "opacity=" + s))
36626        };
36627        xe("opacity,alpha,autoAlpha", {
36628            defaultValue: "1", parser: function (t, e, i, r, n, a) {
36629                var o = parseFloat(Q(t, "opacity", s, !1, "1")), l = t.style, h = "autoAlpha" === i;
36630                return "string" == typeof e && "=" === e.charAt(1) && (e = ("-" === e.charAt(0) ? -1 : 1) * parseFloat(e.substr(2)) + o), h && 1 === o && "hidden" === Q(t, "visibility", s) && 0 !== e && (o = 0), W ? n = new de(l, "opacity", o, e - o, n) : (n = new de(l, "opacity", 100 * o, 100 * (e - o), n), n.xn1 = h ? 1 : 0, l.zoom = 1, n.type = 2, n.b = "alpha(opacity=" + n.s + ")", n.e = "alpha(opacity=" + (n.s + n.c) + ")", n.data = t, n.plugin = a, n.setRatio = Ee), h && (n = new de(l, "visibility", 0, 0, n, -1, null, !1, 0, 0 !== o ? "inherit" : "hidden", 0 === e ? "hidden" : "inherit"), n.xs0 = "inherit", r._overwriteProps.push(n.n), r._overwriteProps.push(i)), n
36631            }
36632        });
36633        var Ye = function (t, e) {
36634            e && (t.removeProperty ? (("ms" === e.substr(0, 2) || "webkit" === e.substr(0, 6)) && (e = "-" + e), t.removeProperty(e.replace(S, "-$1").toLowerCase())) : t.removeAttribute(e))
36635        }, We = function (t) {
36636            if (this.t._gsClassPT = this, 1 === t || 0 === t) {
36637                this.t.setAttribute("class", 0 === t ? this.b : this.e);
36638                for (var e = this.data, i = this.t.style; e;) e.v ? i[e.p] = e.v : Ye(i, e.p), e = e._next;
36639                1 === t && this.t._gsClassPT === this && (this.t._gsClassPT = null)
36640            } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e)
36641        };
36642        xe("className", {
36643            parser: function (t, e, r, n, a, o, l) {
36644                var h, u, f, c, _, p = t.getAttribute("class") || "", d = t.style.cssText;
36645                if (a = n._classNamePT = new de(t, r, 0, 0, a, 2), a.setRatio = We, a.pr = -11, i = !0, a.b = p, u = K(t, s), f = t._gsClassPT) {
36646                    for (c = {}, _ = f.data; _;) c[_.p] = 1, _ = _._next;
36647                    f.setRatio(1)
36648                }
36649                return t._gsClassPT = a, a.e = "=" !== e.charAt(1) ? e : p.replace(RegExp("\\s*\\b" + e.substr(2) + "\\b"), "") + ("+" === e.charAt(0) ? " " + e.substr(2) : ""), t.setAttribute("class", a.e), h 
vendor: 10,513 bytes, lines 36649-36766
36649= J(t, u, K(t), l, c), t.setAttribute("class", p), a.data = h.firstMPT, t.style.cssText = d, a = a.xfirst = n.parse(t, h.difs, a, o)
36650            }
36651        });
36652        var Ve = function (t) {
36653            if ((1 === t || 0 === t) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) {
36654                var e, i, r, s, n, a = this.t.style, o = l.transform.parse;
36655                if ("all" === this.e) a.cssText = "", s = !0; else for (e = this.e.split(" ").join("").split(","), r = e.length; --r > -1;) i = e[r], l[i] && (l[i].parse === o ? s = !0 : i = "transformOrigin" === i ? Oe : l[i].p), Ye(a, i);
36656                s && (Ye(a, Pe), n = this.t._gsTransform, n && (n.svg && this.t.removeAttribute("data-svg-origin"), delete this.t._gsTransform))
36657            }
36658        };
36659        for (xe("clearProps", {
36660            parser: function (t, e, r, s, n) {
36661                return n = new de(t, r, 0, 0, n, 2), n.setRatio = Ve, n.e = e, n.pr = -10, n.data = s._tween, i = !0, n
36662            }
36663        }), h = "bezier,throwProps,physicsProps,physics2D".split(","), ve = h.length; ve--;) Te(h[ve]);
36664        h = a.prototype, h._firstPT = h._lastParsedTransform = h._transform = null, h._onInitTween = function (t, e, o) {
36665            if (!t.nodeType) return !1;
36666            this._target = t, this._tween = o, this._vars = e, u = e.autoRound, i = !1, r = e.suffixMap || a.suffixMap, s = H(t, ""), n = this._overwriteProps;
36667            var h, _, d, m, g, v, y, x, T, b = t.style;
36668            if (f && "" === b.zIndex && (h = Q(t, "zIndex", s), ("auto" === h || "" === h) && this._addLazySet(b, "zIndex", 0)), "string" == typeof e && (m = b.cssText, h = K(t, s), b.cssText = m + ";" + e, h = J(t, h, K(t)).difs, !W && w.test(e) && (h.opacity = parseFloat(RegExp.$1)), e = h, b.cssText = m), this._firstPT = _ = e.className ? l.className.parse(t, e.className, "className", this, null, null, e) : this.parse(t, e, null), this._transformType) {
36669                for (T = 3 === this._transformType, Pe ? c && (f = !0, "" === b.zIndex && (y = Q(t, "zIndex", s), ("auto" === y || "" === y) && this._addLazySet(b, "zIndex", 0)), p && this._addLazySet(b, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (T ? "visible" : "hidden"))) : b.zoom = 1, d = _; d && d._next;) d = d._next;
36670                x = new de(t, "transform", 0, 0, null, 2), this._linkCSSP(x, null, d), x.setRatio = Pe ? Ie : Be, x.data = this._transform || ze(t, s, !0), x.tween = o, x.pr = -1, n.pop()
36671            }
36672            if (i) {
36673                for (; _;) {
36674                    for (v = _._next, d = m; d && d.pr > _.pr;) d = d._next;
36675                    (_._prev = d ? d._prev : g) ? _._prev._next = _ : m = _, (_._next = d) ? d._prev = _ : g = _, _ = v
36676                }
36677                this._firstPT = m
36678            }
36679            return !0
36680        }, h.parse = function (t, e, i, n) {
36681            var a, o, h, f, c, _, p, d, m, g, v = t.style;
36682            for (a in e) _ = e[a], o = l[a], o ? i = o.parse(t, _, a, this, i, n, e) : (c = Q(t, a, s) + "", m = "string" == typeof _, "color" === a || "fill" === a || "stroke" === a || -1 !== a.indexOf("Color") || m && P.test(_) ? (m || (_ = he(_), _ = (_.length > 3 ? "rgba(" : "rgb(") + _.join(",") + ")"), i = ge(v, a, c, _, !0, "transparent", i, 0, n)) : !m || -1 === _.indexOf(" ") && -1 === _.indexOf(",") ? (h = parseFloat(c), p = h || 0 === h ? c.substr((h + "").length) : "", ("" === c || "auto" === c) && ("width" === a || "height" === a ? (h = ie(t, a, s), p = "px") : "left" === a || "top" === a ? (h = $(t, a, s), p = "px") : (h = "opacity" !== a ? 0 : 1, p = "")), g = m && "=" === _.charAt(1), g ? (f = parseInt(_.charAt(0) + "1", 10), _ = _.substr(2), f *= parseFloat(_), d = _.replace(x, "")) : (f = parseFloat(_), d = m ? _.replace(x, "") : ""), "" === d && (d = a in r ? r[a] : p), _ = f || 0 === f ? (g ? f + h : f) + d : e[a], p !== d && "" !== d && (f || 0 === f) && h && (h = Z(t, a, h, p), "%" === d ? (h /= Z(t, a, 100, "%") / 100, e.strictUnits !== !0 && (c = h + "%")) : "em" === d || "rem" === d ? h /= Z(t, a, 1, d) : "px" !== d && (f = Z(t, a, f, d), d = "px"), g && (f || 0 === f) && (_ = f + h + d)), g && (f += h), !h && 0 !== h || !f && 0 !== f ? void 0 !== v[a] && (_ || "NaN" != _ + "" && null != _) ? (i = new de(v, a, f || h || 0, 0, i, -1, a, !1, 0, c, _), i.xs0 = "none" !== _ || "display" !== a && -1 === a.indexOf("Style") ? _ : c) : j("invalid " + a + " tween value: " + e[a]) : (i = new de(v, a, h, f - h, i, 0, a, u !== !1 && ("px" === d || "zIndex" === a), 0, c, _), i.xs0 = d)) : i = ge(v, a, c, _, !0, null, i, 0, n)), n && i && !i.plugin && (i.plugin = n);
36683            return i
36684        }, h.setRatio = function (t) {
36685            var e, i, r, s = this._firstPT, n = 1e-6;
36686            if (1 !== t || this._tween._time !== this._tween._duration && 0 !== this._tween._time) if (t || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6) for (; s;) {
36687                if (e = s.c * t + s.s, s.r ? e = Math.round(e) : n > e && e > -n && (e = 0), s.type) if (1 === s.type) if (r = s.l, 2 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2; else if (3 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3; else if (4 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3 + s.xn3 + s.xs4; else if (5 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3 + s.xn3 + s.xs4 + s.xn4 + s.xs5; else {
36688                    for (i = s.xs0 + e + s.xs1, r = 1; s.l > r; r++) i += s["xn" + r] + s["xs" + (r + 1)];
36689                    s.t[s.p] = i
36690                } else -1 === s.type ? s.t[s.p] = s.xs0 : s.setRatio && s.setRatio(t); else s.t[s.p] = e + s.xs0;
36691                s = s._next
36692            } else for (; s;) 2 !== s.type ? s.t[s.p] = s.b : s.setRatio(t), s = s._next; else for (; s;) {
36693                if (2 !== s.type) if (s.r && -1 !== s.type) if (e = Math.round(s.s + s.c), s.type) {
36694                    if (1 === s.type) {
36695                        for (r = s.l, i = s.xs0 + e + s.xs1, r = 1; s.l > r; r++) i += s["xn" + r] + s["xs" + (r + 1)];
36696                        s.t[s.p] = i
36697                    }
36698                } else s.t[s.p] = e + s.xs0; else s.t[s.p] = s.e; else s.setRatio(t);
36699                s = s._next
36700            }
36701        }, h._enableTransforms = function (t) {
36702            this._transform = this._transform || ze(this._target, s, !0), this._transformType = this._transform.svg && we || !t && 3 !== this._transformType ? 2 : 3
36703        };
36704        var je = function () {
36705            this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0)
36706        };
36707        h._addLazySet = function (t, e, i) {
36708            var r = this._firstPT = new de(t, e, 0, 0, this._firstPT, 2);
36709            r.e = i, r.setRatio = je, r.data = this
36710        }, h._linkCSSP = function (t, e, i, r) {
36711            return t && (e && (e._prev = t), t._next && (t._next._prev = t._prev), t._prev ? t._prev._next = t._next : this._firstPT === t && (this._firstPT = t._next, r = !0), i ? i._next = t : r || null !== this._firstPT || (this._firstPT = t), t._next = e, t._prev = i), t
36712        }, h._kill = function (e) {
36713            var i, r, s, n = e;
36714            if (e.autoAlpha || e.alpha) {
36715                n = {};
36716                for (r in e) n[r] = e[r];
36717                n.opacity = 1, n.autoAlpha && (n.visibility = 1)
36718            }
36719            return e.className && (i = this._classNamePT) && (s = i.xfirst, s && s._prev ? this._linkCSSP(s._prev, i._next, s._prev._prev) : s === this._firstPT && (this._firstPT = i._next), i._next && this._linkCSSP(i._next, i._next._next, s._prev), this._classNamePT = null), t.prototype._kill.call(this, n)
36720        };
36721        var Ge = function (t, e, i) {
36722            var r, s, n, a;
36723            if (t.slice) for (s = t.length; --s > -1;) Ge(t[s], e, i); else for (r = t.childNodes, s = r.length; --s > -1;) n = r[s], a = n.type, n.style && (e.push(K(n)), i && i.push(n)), 1 !== a && 9 !== a && 11 !== a || !n.childNodes.length || Ge(n, e, i)
36724        };
36725        return a.cascadeTo = function (t, i, r) {
36726            var s, n, a, o, l = e.to(t, i, r), h = [l], u = [], f = [], c = [], _ = e._internals.reservedProps;
36727            for (t = l._targets || l.target, Ge(t, u, c), l.render(i, !0, !0), Ge(t, f), l.render(0, !0, !0), l._enabled(!0), s = c.length; --s > -1;) if (n = J(c[s], u[s], f[s]), n.firstMPT) {
36728                n = n.difs;
36729                for (a in r) _[a] && (n[a] = r[a]);
36730                o = {};
36731                for (a in n) o[a] = u[s][a];
36732                h.push(e.fromTo(c[s], i, o, n))
36733            }
36734            return h
36735        }, t.activate([a]), a
36736    }, !0)
36737}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function (t) {
36738    "use strict";
36739    var e = function () {
36740        return (_gsScope.GreenSockGlobals || _gsScope)[t]
36741    };
36742    "function" == typeof define && define.amd ? define(["TweenLite"], e) : "undefined" != typeof module && module.exports && (require("../TweenLite.js"), module.exports = e())
36743}("CSSPlugin");
36744var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
36745!function (t) {
36746    "use strict";
36747    var e = t.GreenSockGlobals || t, i = function (t) {
36748            var i, s = t.split("."), r = e;
36749            for (i = 0; s.length > i; i++) r[s[i]] = r = r[s[i]] || {};
36750            return r
36751        }, s = i("com.greensock.utils"), r = function (t) {
36752            var e = t.nodeType, i = "";
36753            if (1 === e || 9 === e || 11 === e) {
36754                if ("string" == typeof t.textContent) return t.textContent;
36755                for (t = t.firstChild; t; t = t.nextSibling) i += r(t)
36756            } else if (3 === e || 4 === e) return t.nodeValue;
36757            return i
36758        }, n = document, a = n.defaultView ? n.defaultView.getComputedStyle : function () {
36759        }, o = /([A-Z])/g, l = function (t, e, i, s) {
36760            var r;
36761            return (i = i || a(t, null)) ? (t = i.getPropertyValue(e.replace(o, "-$1").toLowerCase()), r = t || i.length ? t : i[e]) : t.currentStyle && (i = t.currentStyle, r = i[e]), s ? r : parseInt(r, 10) || 0
36762        }, h = function (t) {
36763            return t.length && t[0] && (t[0].nodeType && t[0].style && !t.nodeType || t[0].length && t[0][0]) ? !0 : !1
36764        }, _ = function (t) {
36765            var e, i, s, r = [], n = t.length;
36766            for (e = 0; n > e; e++) if (i = t[e], h(i)) for (s = i.length, s = 0; i.length > s;
36766 s++) r.push(i[s]); else r.push(i);
36767            return r
36768        }, u = ")eefec303079ad17405c", c = /(?:<br>|<br\/>|<br \/>)/gi, f = n.all && !n.addEventListener,
36769        p = "<div style='position:relative;display:inline-block;" + (f ? "*display:inline;*zoom:1;'" : "'"),
36770        m = function (t) {
36771            t = t || "";
36772            var e = -1 !== t.indexOf("++"), i = 1;
36773            return e && (t = t.split("++").join("")), function () {
36774                return p + (t ? " class='" + t + (e ? i++ : "") + "'>" : ">")
36775            }
36776        }, d = s.SplitText = e.SplitText = function (t, e) {
36777            if ("string" == typeof t && (t = d.selector(t)), !t) throw"cannot split a null element.";
36778            this.elements = h(t) ? _(t) : [t], this.chars = [], this.words = [], this.lines = [], this._originals = [], this.vars = e || {}, this.split(e)
36779        }, g = function (t, e, i) {
36780            var s = t.nodeType;
36781            if (1 === s || 9 === s || 11 === s) for (t = t.firstChild; t; t = t.nextSibling) g(t, e, i); else (3 === s || 4 === s) && (t.nodeValue = t.nodeValue.split(e).join(i))
36782        }, v = function (t, e) {
36783            for (var i = e.length; --i > -1;) t.push(e[i])
36784        }, y = function (t, e, i, s, o) {
36785            c.test(t.innerHTML) && (t.innerHTML = t.innerHTML.replace(c, u));
36786            var h, _, f, p, d, y, T, w, b, x, P, S, k, C, R = r(t), O = e.type || e.split || "chars,words,lines",
36787                A = -1 !== O.indexOf("lines") ? [] : null, D = -1 !== O.indexOf("words"), M = -1 !== O.indexOf("chars"),
36788                L = "absolute" === e.position || e.absolute === !0, F = L ? "&#173; " : " ", z = -999, I = a(t),
36789                E = l(t, "paddingLeft", I), N = l(t, "borderBottomWidth", I) + l(t, "borderTopWidth", I),
36790                X = l(t, "borderLeftWidth", I) + l(t, "borderRightWidth", I),
36791                B = l(t, "paddingTop", I) + l(t, "paddingBottom", I), j = l(t, "paddingLeft", I) + l(t, "paddingRight", I),
36792                U = l(t, "textAlign", I, !0), Y = t.clientHeight, q = t.clientWidth, V = "</div>", G = m(e.wordsClass),
36793                Q = m(e.charsClass), W = -1 !== (e.linesClass || "").indexOf("++"), Z = e.linesClass,
36794                H = -1 !== R.indexOf("<"), $ = !0, K = [], J = [], te = [];
36795            for (W && (Z = Z.split("++").join("")), H && (R = R.split("<").join("{{LT}}")), h = R.length, p = G(), d = 0; h > d; d++) if (T = R.charAt(d), ")" === T && R.substr(d, 20) === u) p += ($ ? V : "") + "<BR/>", $ = !1, d !== h - 20 && R.substr(d + 20, 20) !== u && (p += " " + G(), $ = !0), d += 19; else if (" " === T && " " !== R.charAt(d - 1) && d !== h - 1 && R.substr(d - 20, 20) !== u) {
36796                for (p += $ ? V : "", $ = !1; " " === R.charAt(d + 1);) p += F, d++;
36797                (")" !== R.charAt(d + 1) || R.substr(d + 1, 20) !== u) && (p += F + G(), $ = !0)
36798            } else "{" === T && "{{LT}}" === R.substr(d, 6) ? (p += M ? Q() + "{{LT}}</div>" : "{{LT}}", d += 5) : p += M && " " !== T ? Q() + T + "</div>" : T;
36799            for (t.innerHTML = p + ($ ? V : ""), H && g(t, "{{LT}}", "<"), y = t.getElementsByTagName("*"), h = y.length, w = [], d = 0; h > d; d++) w[d] = y[d];
36800            if (A || L) for (d = 0; h > d; d++) b = w[d], f = b.parentNode === t, (f || L || M && !D) && (x = b.offsetTop, A && f && x !== z && "BR" !== b.nodeName && (_ = [], A.push(_), z = x), L && (b._x = b.offsetLeft, b._y = x, b._w = b.offsetWidth, b._h = b.offsetHeight), A && (D !== f && M || (_.push(b), b._x -= E), f && d && (w[d - 1]._wordEnd = !0), "BR" === b.nodeName && b.nextSibling && "BR" === b.nextSibling.nodeName && A.push([])));
36801            for (d = 0; h > d; d++) b = w[d], f = b.parentNode === t, "BR" !== b.nodeName ? (L && (S = b.style, D || f || (b._x += b.parentNode._x, b._y += b.parentNode._y), S.left = b._x + "px", S.top = b._y + "px", S.position = "absolute", S.display = "block", S.width = b._w + 1 + "px", S.height = b._h + "px"), D ? f && "" !== b.innerHTML ? J.push(b) : M && K.push(b) : f ? (t.removeChild(b), w.splice(d--, 1), h--) : !f && M && (x = !A && !L && b.nextSibling, t.appendChild(b), x || t.appendChild(n.createTextNode(" ")), K.push(b))) : A || L ? (t.removeChild(b), w.splice(d--, 1), h--) : D || t.appendChild(b);
36802            if (A) {
36803                for (L && (P = n.createElement("div"), t.appendChild(P), k = P.offsetWidth + "px", x = P.offsetParent === t ? 0 : t.offsetLeft, t.removeChild(P)), S = t.style.cssText, t.style.cssText = "display:none;"; t.firstChild;) t.removeChild(t.firstChild);
36804                for (C = !L || !D && !M, d = 0; A.length > d; d++) {
36805                    for (_ = A[d], P = n.createElement("div"), P.style.cssText = "display:block;
36805text-align:" + U + ";position:" + (L ? "absolute;" : "relative;"), Z && (P.className = Z + (W ? d + 1 : "")), te.push(P), h = _.length, y = 0; h > y; y++) "BR" !== _[y].nodeName && (b = _[y], P.appendChild(b), C && (b._wordEnd || D) && P.appendChild(n.createTextNode(" ")), L && (0 === y && (P.style.top = b._y + "px", P.style.left = E + x + "px"), b.style.top = "0px", x && (b.style.left = b._x - x + "px")));
36806                    0 === h && (P.innerHTML = "&nbsp;"), D || M || (P.innerHTML = r(P).split(String.fromCharCode(160)).join(" ")), L && (P.style.width = k, P.style.height = b._h + "px"), t.appendChild(P)
36807                }
36808                t.style.cssText = S
36809            }
36810            L && (Y > t.clientHeight && (t.style.height = Y - B + "px", Y > t.clientHeight && (t.style.height = Y + N + "px")), q > t.clientWidth && (t.style.width = q - j + "px", q > t.clientWidth && (t.style.width = q + X + "px"))), v(i, K), v(s, J), v(o, te)
36811        }, T = d.prototype;
36812    T.split = function (t) {
36813        this.isSplit && this.revert(), this.vars = t || this.vars, this._originals.length = this.chars.length = this.words.length = this.lines.length = 0;
36814        for (var e = this.elements.length; --e > -1;) this._originals[e] = this.elements[e].innerHTML, y(this.elements[e], this.vars, this.chars, this.words, this.lines);
36815        return this.chars.reverse(), this.words.reverse(), this.lines.reverse(), this.isSplit = !0, this
36816    }, T.revert = function () {
36817        if (!this._originals) throw"revert() call wasn't scoped properly.";
36818        for (var t = this._originals.length; --t > -1;) this.elements[t].innerHTML = this._originals[t];
36819        return this.chars = [], this.words = [], this.lines = [], this.isSplit = !1, this
36820    }, d.selector = t.$ || t.jQuery || function (e) {
36821        var i = t.$ || t.jQuery;
36822        return i ? (d.selector = i, i(e)) : "undefined" == typeof document ? e : document.querySelectorAll ? document.querySelectorAll(e) : document.getElementById("#" === e.charAt(0) ? e.substr(1) : e)
36823    }, d.version = "0.3.4"
36824}(_gsScope), function (t) {
36825    "use strict";
36826    var e = function () {
36827        return (_gsScope.GreenSockGlobals || _gsScope)[t]
36828    };
36829    "function" == typeof define && define.amd ? define(["TweenLite"], e) : "undefined" != typeof module && module.exports && (module.exports = e())
36830}("SplitText");
36831try {
36832    window.GreenSockGlobals = null, window._gsQueue = null, window._gsDefine = null, delete window.GreenSockGlobals, delete window._gsQueue, delete window._gsDefine
36833} catch (e) {
36834}
36835try {
36836    window.GreenSockGlobals = oldgs, window._gsQueue = oldgs_queue
36837} catch (e) {
36838}
36839if (1 == window.tplogs) try {
36840    console.groupEnd()
36841} catch (e) {
36842}
36843!function (e, t) {
36844    e.waitForImages = {hasImageProperties: ["backgroundImage", "listStyleImage", "borderImage", "borderCornerImage"]}, e.expr[":"].uncached = function (t) {
36845        var n = document.createElement("img");
36846        return n.src = t.src, e(t).is('img[src!=""]') && !n.complete
36847    }, e.fn.waitForImages = function (t, n, r) {
36848        if (e.isPlainObject(arguments[0]) && (n = t.each, r = t.waitForAll, t = t.finished), t = t || e.noop, n = n || e.noop, r = !!r, !e.isFunction(t) || !e.isFunction(n)) throw new TypeError("An invalid callback was supplied.");
36849        return this.each(function () {
36850            var i = e(this), s = [];
36851            if (r) {
36852                var o = e.waitForImages.hasImageProperties || [], u = /url\((['"]?)(.*?)\1\)/g;
36853                i.find("*").each(function () {
36854                    var t = e(this);
36855                    t.is("img:uncached") && s.push({src: t.attr("src"), element: t[0]}), e.each(o, function (e, n) {
36856                        var r = t.css(n);
36857                        if (!r) return !0;
36858                        for (var i; i = u.exec(r);) s.push({src: i[2], element: t[0]})
36859                    })
36860                })
36861            } else i.find("img:uncached").each(function () {
36862                s.push({src: this.src, element: this})
36863            });
36864            var f = s.length, l = 0;
36865            0 == f && t.call(i[0]), e.each(s, function (r, s) {
36866                var o = new Image;
36867                e(o).bind("load error", function (e) {
36868                    return l++, n.call(s.element, l, f, "load" == e.type), l == f ? (t.call(i[0]), !1) : void 0
36869                }), o.src = s.src
36870            })
36871        })
36872    }
36873}(jQuery), !function (e, t) {
36874    "use strict";
36875    e.fn.extend({
36876        revolution: function (a) {
36877            var n = {
36878                delay: 9e3,
36879                responsiveLevels: 4064,
36880                visibilityLevels: [2048, 1024, 778, 480],
36881                gridwidth: 960,
36882                gridheight: 500,
36883                minHeight: 0,
36884                autoHeight: "off",
36885                sliderType: "standard",
36886                sliderLayout: "auto",
36887                fullScreenAutoWidth: "off",
36888                fullScreenAlignForce: "off",
36889                fullScreenOffsetContainer: "",
36890                fullScreenOffset: "0",
36891                hideCaptionAtLimit: 0,
36892                hideAllCaptionAtLimit: 0,
36893                hideSliderAtLimit: 0,
36894                disableProgressBar: "off",
36895                stopAtSlide: -1,
36896                stopAfterLoops: -1,
36897                shadow: 0,
36898                dottedOverlay: "none",
36899                startDelay: 0,
36900                lazyType: "smart",
36901                spinner: "spinner0",
36902                shuffle: "off",
36903                viewPort: {enable: !1, outof: "wait", visible_area: "60%"},
36904                fallbacks: {
36905                    isJoomla: !1,
36906                    panZoomDisableOnMobile: "off",
36907                    simplifyAll: "on",
36908                    nextSlideOnWindowFocus: "off",
36909                    disableFocusListener: !0
36910                },
36911                parallax: {
36912                    type: "off",
36913                    levels: [10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85
36913],
36914                    origo: "enterpoint",
36915                    speed: 400,
36916                    bgparallax: "on",
36917                    opacity: "on",
36918                    disable_onmobile: "off",
36919                    ddd_shadow: "on",
36920                    ddd_bgfreeze: "off",
36921                    ddd_overflow: "visible",
36922                    ddd_layer_overflow: "visible",
36923                    ddd_z_correction: 65,
36924                    ddd_path: "mouse"
36925                },
36926                carousel: {
36927                    horizontal_align: "center",
36928                    vertical_align: "center",
36929                    infinity: "on",
36930                    space: 0,
36931                    maxVisibleItems: 3,
36932                    stretch: "off",
36933                    fadeout: "on",
36934                    maxRotation: 0,
36935                    minScale: 0,
36936                    vary_fade: "off",
36937                    vary_rotation: "on",
36938                    vary_scale: "off",
36939                    border_radius: "0px",
36940                    padding_top: 0,
36941                    padding_bottom: 0
36942                },
36943                navigation: {
36944                    keyboardNavigation: "on",
36945                    keyboard_direction: "horizontal",
36946                    mouseScrollNavigation: "off",
36947                    onHoverStop: "on",
36948                    touch: {
36949                        touchenabled: "off",
36950                        swipe_treshold: 75,
36951                        swipe_min_touches: 1,
36952                        drag_block_vertical: !1,
36953                        swipe_direction: "horizontal"
36954                    },
36955                    arrows: {
36956                        style: "",
36957                        enable: !1,
36958                        hide_onmobile: !1,
36959                        hide_onleave: !0,
36960                        hide_delay: 200,
36961                        hide_delay_mobile: 1200,
36962                        hide_under: 0,
36963                        hide_over: 9999,
36964                        tmp: "",
36965                        left: {h_align: "left", v_align: "center", h_offset: 20, v_offset: 0},
36966                        right: {h_align: "right", v_align: "center", h_offset: 20, v_offset: 0}
36967                    },
36968                    bullets: {
36969                        style: "",
36970                        enable: !1,
36971                        hide_onmobile: !1,
36972                        hide_onleave: !0,
36973                        hide_delay: 200,
36974                        hide_delay_mobile: 1200,
36975                        hide_under: 0,
36976                        hide_over: 9999,
36977                        direction: "horizontal",
36978                        h_align: "left",
36979                        v_align: "center",
36980                        space: 0,
36981                        h_offset: 20,
36982                        v_offset: 0,
36983                        tmp: '<span class="tp-bullet-image"></span><span class="tp-bullet-title"></span>'
36984                    },
36985                    thumbnails: {
36986                        style: "",
36987                        enable: !1,
36988                        width: 100,
36989                        height: 50,
36990                        min_width: 100,
36991                        wrapper_padding: 2,
36992                        wrapper_color: "#f5f5f5",
36993                        wrapper_opacity: 1,
36994                        tmp: '<span class="tp-thumb-image"></span><span class="tp-thumb-title"></span>',
36995                        visibleAmount: 5,
36996                        hide_onmobile: !1,
36997                        hide_onleave: !0,
36998                        hide_delay: 200,
36999                        hide_delay_mobile: 1200,
37000                        hide_under: 0,
37001                        hide_over: 9999,
37002                        direction: "horizontal",
37003                        span: !1,
37004                        position: "inner",
37005                        space: 2,
37006                        h_align: "left",
37007                        v_align: "center",
37008                        h_offset: 20,
37009                        v_offset: 0
37010                    },
37011                    tabs: {
37012                        style: "",
37013                        enable: !1,
37014                        width: 100,
37015                        min_width: 100,
37016                        height: 50,
37017                        wrapper_padding: 10,
37018                        wrapper_color: "#f5f5f5",
37019                        wrapper_opacity: 1,
37020                        tmp: '<span class="tp-tab-image"></span>',
37021                        visibleAmount: 5,
37022                        hide_onmobile: !1,
37023                        hide_onleave: !0,
37024                        hide_delay: 200,
37025                        hide_delay_mobile: 1200,
37026                        hide_under: 0,
37027                        hide_over: 9999,
37028                        direction: "horizontal",
37029                        span: !1,
37030                        space: 0,
37031                        position: "inner",
37032                        h_align: "left",
37033                        v_align: "center",
37034                        h_offset: 20,
37035                        v_offset: 0
37036                    }
37037                },
37038                extensions: "extensions/",
37039                extensions_suffix: ".min.js",
37040                debugMode: !1
37041            };
37042            return a = e.extend(!0, {}, n, a), this.each(function () {
37043                var n = e(this);
37044                "hero" == a.sliderType && n.find(">ul>li").each(function (t) {
37045                    t > 0 && e(this).remove()
37046                }), a.jsFileLocation = a.jsFileLocation || d("themepunch.revolution.min.js"), a.jsFileLocation = a.jsFileLocation + a.extensions, a.scriptsneeded = s(a, n), a.curWinRange = 0, a.navigation != t && a.navigation.touch != t && (a.navigation.touch.swipe_min_touches = a.navigation.touch.swipe_min_touches > 5 ? 1 : a.navigation.touch.swipe_min_touches), e(this).on("scriptsloaded", function () {
37047                    return a.modulesfailing ? (n.html('<div style="margin:auto;line-height:40px;font-size:14px;color:#fff;padding:15px;background:#e74c3c;margin:20px 0px;">!! Error at loading Slider Revolution 5.0 Extrensions.' + a.errorm + "</div>").show(), !1) : (i.migration != t && (a = i.migration(n, a)), punchgs.force3D = !0, "on" !== a.simplifyAll && punchgs.TweenLite.lagSmoothing(1e3, 16), u(n, a), void h(n, a))
37048                }), l(n, a.scriptsneeded)
37049            })
37050        }, revremoveslide: function (a) {
37051            return this.each(function () {
37052                var r = e(this);
37053                if (r != t && r.length > 0 && e("body").find("#" + r.attr("id")).length > 0) {
37054                    var s = r.parent().find(".tp-bannertimer"), l = s.data("opt");
37055                    if (l && l.li.length > 0 && (a > 0 || a <= l.li.length)) {
37056                        var d = e(l.li[a]), c = d.data("index"), u = !1;
37057                        l.slideamount = l.slideamount - 1, o(".tp-bullet", c, l), o(".tp-tab", c, l), o(".tp-thumb", c, l), d.hasClass("active-revslide") && (u = !0), d.remove(), l.li = n(l.li, a), l.carousel && l.carousel.slides && (l.carousel.slides = n(l.carousel.slides, a)), l.thumbs = n(l.thumbs, a), i.updateNavIndexes && i.updateNavIndexes(l), u && r.revnext()
37058                    }
37059                }
37060            })
37061        }, revaddcallback: function (i) {
37062            return this.each(function () {
37063                var a = e(this);
37064                if (a != t && a.length > 0 && e("body").find("#" + a.attr("id")).length > 0) {
37065                    var n = a.parent().find(".tp-bannertimer"), o = n.data("opt");
37066                    o.callBackArray === t && (o.callBackArray = new Array), o.callBackArray.push(i)
37067                }
37068            })
37069        }, revgetparallaxproc: function () {
37070            var i = e(this);
37071            if (i != t && i.length > 0 && e("body").find("#" + i.attr("id")).length > 0) {
37072                var a = i.parent().find(".tp-bannertimer"), n = a.data("opt");
37073                return n.scrollproc
37074            }
37075        }, revdebugmode: function () {
37076            return this.each(function () {
37077                var i = e(this);
37078                if (i != t && i.length > 0 && e("body").find("#" + i.attr("id")).length > 0) {
37079                    var a = i.parent().find(".tp-bannertimer"), n = a.data("opt");
37080                    n.debugMode = !0, b(i, n)
37081                }
37082            })
37083        }, revscroll: function (i) {
37084            return this.each(function () {
37085                var a = e(this);
37086                a != t && a.length > 0 && e("body").find("#" + a.attr("id")).length > 0 && e("body,html").animate({scrollTop: a.offset().top + a.height() - i + "px"}, {duration: 400})
37087            })
37088        }, revredraw: function (i) {
37089            return this.each(function () {
37090                var i = e(this);
37091                if (i != t && i.length > 0 && e("body").find("#" + i.attr("id")).length > 0) {
37092                    var a = i.parent().find(".tp-bannertimer"), n = a.data("opt");
37093                    b(i, n)
37094                }
37095            })
37096        }, revkill: function (a) {
37097            var n = this, o = e(this);
37098            if (punchgs.TweenLite.killDelayedCallsTo(i.showHideNavElements), i.endMoveCaption && punchgs.TweenLite.killDelayedCallsTo(i.endMoveCaption), o != t && o.length > 0 && e("body").find("#" + o.attr("id")).length > 0) {
37099                o.data("conthover", 1), o.data("conthover-changed", 1), o.trigger("revolution.slide.onpause");
37100                var r = o.parent().find(".tp-bannertimer"), s = r.data("opt");
37101                s.tonpause = !0, o.trigger("stoptimer"), punchgs.TweenLite.killTweensOf(o.find("*"), !1), punchgs.TweenLite.killTweensOf(o, !1), o.unbind("hover, mouseover, mouseenter,mouseleave, resize");
37102                var l = "resize.revslider-" + o.attr("id");
37103                e(window).off(l), o.find("*").each(function () {
37104                    var i = e(this);
37105                    i.unbind("on, hover, mouseenter,mouseleave,mouseover, resize,restarttimer, stoptimer"), i.off("on, hover, mouseenter,mouseleave,mouseover, resize"), i.data("mySplitText", null), i.data("ctl", null), i.data("tween") != t && i.data("tween").kill(), i.data("kenburn") != t && i.data("kenburn").kill(), i.data("timeline_out") != t && i.data("timeline_out").kill(), i.data("timeline") != t && i.data("timeline").kill(), i.remove(), i.empty(), i = null
37106                }), punchgs.TweenLite.killTweensOf(o.find("*"), !1), punchgs.TweenLite.killTweensOf(o, !1), r.remove();
37107                try {
37108                    o.closest(".forcefullwidth_wrapper_tp_banner").remove()
37109                } catch (d) {
37110                }
37111                try {
37112                    o.closest(".rev_slider_wrapper").remove()
37113                } catch (d) {
37114                }
37115                try {
37116                    o.remove()
37117                } catch (d) {
37118                }
37119                return o.empty(), o.html(), o = null, s = null, delete n.c, delete n.opt, !0
37120            }
37121            return !1
37122        }, revpause: function () {
37123            return this.each(function () {
37124                var i = e(this);
37125                if (i != t && i.length > 0 && e("body").find("#" + i.attr("id")).length > 0) {
37126                    i.data("conthover", 1), i.data("conthover-changed", 1), i.trigger("revolution.slide.onpause");
37127                    var a = i.parent().find(".tp-bannertimer"), n = a.data("opt");
37128                    n.tonpause = !0, i.trigger("stoptimer")
37129                }
37130            })
37131        }, revresume: function () {
37132            return this.each(function () {
37133                var i = e(this);
37134                if (i != t && i.length > 0 && e("body").find("#" + i.attr("id")).length > 0) {
37135                    i.data("conthover", 0), i.data("conthover-changed", 1), i.trigger("revolution.slide.onresume");
37136                    var a = i.parent().find(".tp-bannertimer"), n = a.data("opt");
37137                    n.tonpause = !1, i.trigger("starttimer")
37138                }
37139            })
37140        }, revnext: function () {
37141            return this.each(function () {
37142                var a = e(this);
37143                if (a != t && a.length > 0 && e("body").find("#" + a.attr("id")).length > 0) {
37144                    var n = a.parent().find(".tp-bannertimer"), o = n.data("opt");
37145                    i.callingNewSlide(o, a, 1)
37146                }
37147            })
37148        }, revprev: function () {
37149            return this.each(function () {
37150                var a = e(this);
37151                if (a != t && a.length > 0 && e("body").find("#" + a.attr("id")).length > 0) {
37152                    var n = a.parent().find(".tp-bannertimer"), o = n.data("opt");
37153                    i.callingNewSlide(o, a, -1)
37154                }
37155            })
37156        }, revmaxslide: function () {
37157            return e(this).find(".tp-revslider-mainul >li").length
37158        }, revcurrentslide: function () {
37159            var i = e(this);
37160            if (i != t && i.length > 0 && e("body").find("#" + i.attr("id")).length > 0) {
37161                var a = i.parent().find(".tp-bannertimer"), n = a.data("opt");
37162                return parseInt(n.act, 0) + 1
37163            }
37164        }, revlastslide: function () {
37165            return e(this).find(".tp-revslider-mainul >li").length
37166        }, revshowslide: function (a) {
37167            return this.each(function () {
37168                var n = e(this);
37169                if (n != t && n.length > 0 && e("body").find("#" + n.attr("id")).length > 0) {
37170                    var o = n.parent().find(".tp-bannertimer"), r = o.data("opt");
37171                    i.callingNewSlide(r, n, "to" + (a - 1))
37172                }
37173            })
37174        }, revcallslidewithid: function (a) {
37175            return this.each(function () {
37176                var n = e(this);
37177                if (n != t && n.length > 0 && e("body").find("#" + n.attr("id")).length > 0) {
37178                    var o = n.parent().find(".tp-bannertimer"), r = o.data("opt");
37179                    i.callingNewSlide(r, n, a)
37180                }
37181            })
37182        }
37183    });
37184    var i = e.fn.revolution;
37185    e.extend(!0, i, {
37186        simp: function (e, t, i) {
37187            var a = Math.abs(e) - Math.floor(Math.abs(e / t)) * t;
37188            return i ? a : 0 >
37188 e ? -1 * a : a
37189        }, iOSVersion: function () {
37190            var e = !1;
37191            return navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i) ? navigator.userAgent.match(/OS 4_\d like Mac OS X/i) && (e = !0) : e = !1, e
37192        }, isIE: function (t, i) {
37193            var a = e('<div style="display:none;"/>').appendTo(e("body"));
37194            a.html("<!--[if " + (i || "") + " IE " + (t || "") + "]><a>&nbsp;</a><![endif]-->");
37195            var n = a.find("a").length;
37196            return a.remove(), n
37197        }, is_mobile: function () {
37198            var e = ["android", "webos", "iphone", "ipad", "blackberry", "Android", "webos", , "iPod", "iPhone", "iPad", "Blackberry", "BlackBerry"],
37199                t = !1;
37200            for (var i in e) navigator.userAgent.split(e[i]).length > 1 && (t = !0);
37201            return t
37202        }, callBackHandling: function (t, i, a) {
37203            try {
37204                t.callBackArray && e.each(t.callBackArray, function (e, t) {
37205                    t && t.inmodule && t.inmodule === i && t.atposition && t.atposition === a && t.callback && t.callback.call();
37206                })
37207            } catch (n) {
37208                console.log("Call Back Failed")
37209            }
37210        }, get_browser: function () {
37211            var e, t = navigator.appName, i = navigator.userAgent,
37212                a = i.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
37213            return a && null != (e = i.match(/version\/([\.\d]+)/i)) && (a[2] = e[1]), a = a ? [a[1], a[2]] : [t, navigator.appVersion, "-?"], a[0]
37214        }, get_browser_version: function () {
37215            var e, t = navigator.appName, i = navigator.userAgent,
37216                a = i.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
37217            return a && null != (e = i.match(/version\/([\.\d]+)/i)) && (a[2] = e[1]), a = a ? [a[1], a[2]] : [t, navigator.appVersion, "-?"], a[1]
37218        }, getHorizontalOffset: function (e, t) {
37219            var i = p(e, ".outer-left"), a = p(e, ".outer-right");
37220            switch (t) {
37221                case"left":
37222                    return i;
37223                case"right":
37224                    return a;
37225                case"both":
37226                    return i + a
37227            }
37228        }, callingNewSlide: function (t, i, a) {
37229            var n = i.find(".next-revslide").length > 0 ? i.find(".next-revslide").index() : i.find(".processing-revslide").length > 0 ? i.find(".processing-revslide").index() : i.find(".active-revslide").index(),
37230                o = 0;
37231            i.find(".next-revslide").removeClass("next-revslide"), a && e.isNumeric(a) || a.match(/to/g) ? (1 === a || -1 === a ? (o = n + a, o = 0 > o ? t.slideamount - 1 : o >= t.slideamount ? 0 : o) : (a = e.isNumeric(a) ? a : parseInt(a.split("to")[1], 0), o = 0 > a ? 0 : a > t.slideamount - 1 ? t.slideamount - 1 : a), i.find(".tp-revslider-slidesli:eq(" + o + ")").addClass("next-revslide")) : a && i.find(".tp-revslider-slidesli").each(function () {
37232                var t = e(this);
37233                t.data("index") === a && t.addClass("next-revslide")
37234            }), o = i.find(".next-revslide").index(), i.trigger("revolution.nextslide.waiting"), o !== n && -1 != o ? H(i, t) : i.find(".next-revslide").removeClass("next-revslide")
37235        }, slotSize: function (i, a) {
37236            a.slotw = Math.ceil(a.width / a.slots), "fullscreen" == a.sliderLayout ? a.sloth = Math.ceil(e(window).height() / a.slots) : a.sloth = Math.ceil(a.height / a.slots), "on" == a.autoHeight && i !== t && "" !== i && (a.sloth = Math.ceil(i.height() / a.slots))
37237        }, setSize: function (i) {
37238            var a = (i.top_outer || 0) + (i.bottom_outer || 0), n = parseInt(i.carousel.padding_top || 0, 0),
37239                o = parseInt(i.carousel.padding_bottom || 0, 0), r = i.gridheight[i.curWinRange];
37240            if (r = r < i.minHeight ? i.minHeight : r, "fullwidth" == i.sliderLayout && "off" == i.autoHeight && punchgs.TweenLite.set(i.c, {maxHeight: r + "px"}), i.c.css({
37241                marginTop: n,
37242                marginBottom: o
37243            }), i.width = i.ul.width(), i.height = i.ul.height(), y(i), i.height = Math.round(i.gridheight[i.curWinRange] * (i.width / i.gridwidth[i.curWinRange])), i.height > i.gridheight[i.curWinRange] && "on" != i.autoHeight && (i.height = i.gridheight[i.curWinRange]), "fullscreen" == i.sliderLayout || i.infullscreenmode) {
37244                i.height = i.bw * i.gridheight[i.curWinRange];
37245                var s = (i.c.parent().width(), e(window).height());
37246                if (i.fullScreenOffsetContainer != t) {
37247                    try {
37248                        var l = i.fullScreenOffsetContainer.split(",");
37249                        l && e.each(l, function (t, i) {
37250                            s = e(i).length > 0 ? s - e(i).outerHeight(!0) : s
37251                        })
37252                    } catch (d) {
37253                    }
37254                    try {
37255                        i.fullScreenOffset.split("%").length > 1 && i.fullScreenOffset != t && i.fullScreenOffset.length > 0 ? s -= e(window).height() * parseInt(i.fullScreenOffset, 0) / 100 : i.fullScreenOffset != t && i.fullScreenOffset.length > 0 && (s -= parseInt(i.fullScreenOffset, 0))
37256                    } catch (d) {
37257                    }
37258                }
37259                s = s < i.minHeight ? i.minHeight : s, s -= a, i.c.parent().height(s), i.c.closest(".rev_slider_wrapper").height(s), i.c.css({height: "100%"}), i.height = s, i.minHeight != t && i.height < i.minHeight && (i.height = i.minHeight)
37260            } else i.minHeight != t && i.height < i.minHeight && (i.height = i.minHeight), i.c.height(i.height);
37261            var c = {height: n + o + a + i.height};
37262            i.c.closest(".forcefullwidth_wrapper_tp_banner").find(".tp-fullwidth-forcer").css(c), i.c.closest(".rev_slider_wrapper").css(c), y(i)
37263        }, enterInViewPort: function (a) {
37264            a.waitForCountDown && (M(a.c, a), a.waitForCountDown = !1), a.waitForFirstSlide && (H(a.c, a), a.waitForFirstSlide = !1), ("playing" == a.sliderlaststatus || a.sliderlaststatus == t) && a.c.trigger("starttimer"), a.lastplayedvideos != t && a.lastplayedvideos.length > 0 && e.each(a.lastplayedvideos, function (e, t) {
37265                i.playVideo(t, a)
37266            })
37267        }, leaveViewPort: function (a) {
37268            a.sliderlaststatus = a.sliderstatus, a.c.trigger("stoptimer"), a.playingvideos != t && a.playingvideos.length >
37268 0 && (a.lastplayedvideos = e.extend(!0, [], a.playingvideos), a.playingvideos && e.each(a.playingvideos, function (e, t) {
37269                i.stopVideo && i.stopVideo(t, a)
37270            }))
37271        }, unToggleState: function (i) {
37272            i != t && i.length > 0 && e.each(i, function (e, t) {
37273                t.removeClass("rs-toggle-content-active")
37274            })
37275        }, toggleState: function (i) {
37276            i != t && i.length > 0 && e.each(i, function (e, t) {
37277                t.addClass("rs-toggle-content-active")
37278            })
37279        }, lastToggleState: function (i) {
37280            var a = 0;
37281            return i != t && i.length > 0 && e.each(i, function (e, t) {
37282                a = t.hasClass("rs-toggle-content-active")
37283            }), a
37284        }
37285    });
37286    var a = i.is_mobile(), n = function (t, i) {
37287        var a = [];
37288        return e.each(t, function (e, t) {
37289            e != i && a.push(t)
37290        }), a
37291    }, o = function (t, i, a) {
37292        a.c.find(t).each(function () {
37293            var t = e(this);
37294            t.data("liref") === i && t.remove()
37295        })
37296    }, r = function (i, a) {
37297        return e("body").data(i) ? !1 : a.filesystem ? (a.errorm === t && (a.errorm = "<br>Local Filesystem Detected !<br>Put this to your header:"), console.warn("Local Filesystem detected !"), a.errorm = a.errorm + '<br>&lt;script type="text/javascript" src="' + a.jsFileLocation + i + a.extensions_suffix + '"&gt;&lt;/script&gt;', console.warn(a.jsFileLocation + i + a.extensions_suffix + " could not be loaded !"), console.warn("Please use a local Server or work online or make sure that you load all needed Libraries manually in your Document."), console.log(" "), a.modulesfailing = !0, !1) : (e.ajax({
37298            url: a.jsFileLocation + i + a.extensions_suffix,
37299            dataType: "script",
37300            cache: !0,
37301            error: function (e) {
37302                console.warn("Slider Revolution 5.0 Error !"), console.error("Failure at Loading:" + i + a.extensions_suffix + " on Path:" + a.jsFileLocation), console.info(e)
37303            }
37304        }), void e("body").data(i, !0))
37305    }, s = function (a, n) {
37306        var o = new Object, s = a.navigation;
37307        return o.kenburns = !1, o.parallax = !1, o.carousel = !1, o.navigation = !1, o.videos = !1, o.actions = !1, o.layeranim = !1, o.migration = !1, n.data("version") && n.data("version").toString().match(/5./gi) ? (n.find("img").each(function () {
37308            "on" == e(this).data("kenburns") && (o.kenburns = !0)
37309        }), ("carousel" == a.sliderType || "on" == s.keyboardNavigation || "on" == s.mouseScrollNavigation || "on" == s.touch.touchenabled || s.arrows.enable || s.bullets.enable || s.thumbnails.enable || s.tabs.enable) && (o.navigation = !0), n.find(".tp-caption, .tp-static-layer, .rs-background-video-layer").each(function () {
37310            var i = e(this);
37311            (i.data("ytid") != t || i.find("iframe").length > 0 && i.find("iframe").attr("src").toLowerCase().indexOf("youtube") > 0) && (o.videos = !0), (i.data("vimeoid") != t || i.find("iframe").length > 0 && i.find("iframe").attr("src").toLowerCase().indexOf("vimeo") > 0) && (o.videos = !0), i.data("actions") !== t && (o.actions = !0), o.layeranim = !0
37312        }), n.find("li").each(function () {
37313            e(this).data("link") && e(this).data("link") != t && (o.layeranim = !0, o.actions = !0)
37314        }), !o.videos && (n.find(".rs-background-video-layer").length > 0 || n.find(".tp-videolayer").length > 0 || n.find("iframe").length > 0 || n.find("video").length > 0) && (o.videos = !0), "carousel" == a.sliderType && (o.carousel = !0), ("off" 
37314!== a.parallax.type || a.viewPort.enable || "true" == a.viewPort.enable) && (o.parallax = !0)) : (o.kenburns = !0, o.parallax = !0, o.carousel = !1, o.navigation = !0, o.videos = !0, o.actions = !0, o.layeranim = !0, o.migration = !0), "hero" == a.sliderType && (o.carousel = !1, o.navigation = !1), window.location.href.match(/file:/gi) && (o.filesystem = !0, a.filesystem = !0), o.videos && "undefined" == typeof i.isVideoPlaying && r("revolution.extension.video", a), o.carousel && "undefined" == typeof i.prepareCarousel && r("revolution.extension.carousel", a), o.carousel || "undefined" != typeof i.animateSlide || r("revolution.extension.slideanims", a), o.actions && "undefined" == typeof i.checkActions && r("revolution.extension.actions", a), o.layeranim && "undefined" == typeof i.handleStaticLayers && r("revolution.extension.layeranimation", a), o.kenburns && "undefined" == typeof i.stopKenBurn && r("revolution.extension.kenburn", a), o.navigation && "undefined" == typeof i.createNavigation && r("revolution.extension.navigation", a), o.migration && "undefined" == typeof i.migration && r("revolution.extension.migration", a), o.parallax && "undefined" == typeof i.checkForParallax && r("revolution.extension.parallax", a), o
37315    }, l = function (e, t) {
37316        t.filesystem || "undefined" != typeof punchgs && (!t.kenburns || t.kenburns && "undefined" != typeof i.stopKenBurn) && (!t.navigation || t.navigation && "undefined" != typeof i.createNavigation) && (!t.carousel || t.carousel && "undefined" != typeof i.prepareCarousel) && (!t.videos || t.videos && "undefined" != typeof i.resetVideo) && (!t.actions || t.actions && "undefined" != typeof i.checkActions) && (!t.layeranim || t.layeranim && "undefined" != typeof i.handleStaticLayers) && (!t.migration || t.migration && "undefined" != typeof i.migration) && (!t.parallax || t.parallax && "undefined" != typeof i.checkForParallax) && (t.carousel || !t.carousel && "undefined" != typeof i.animateSlide) ? e.trigger("scriptsloaded") : setTimeout(function () {
37317            l(e, t)
37318        }, 50)
37319    }, d = function (t) {
37320        var i = new RegExp("themepunch.revolution.min.js", "gi"), a = "";
37321        return e("script").each(function () {
37322            var t = e(this).attr("src");
37323            t && t.match(i) && (a = t)
37324        }), a = a.replace("jquery.themepunch.revolution.min.js", ""), a = a.replace("jquery.themepunch.revolution.js", ""), a = a.split("?")[0]
37325    }, c = function (t, i) {
37326        var a = 9999, n = 0, o = 0, r = 0, s = e(window).width(),
37327            l = i && 9999 == t.responsiveLevels ? t.visibilityLevels : t.responsiveLevels;
37328        l && l.length && e.each(l, function (e, t) {
37329            t > s && (0 == n || n > t) && (a = t, r = e, n = t), s > t && t > n && (n = t, o = e)
37330        }), a > n && (r = o), i ? t.forcedWinRange = r : t.curWinRange = r
37331    }, u = function (e, t) {
37332        t.carousel.maxVisibleItems = t.carousel.maxVisibleItems < 1 ? 999 : t.carousel.maxVisibleItems, t.carousel.vertical_align = "top" === t.carousel.vertical_align ? "0%" : "bottom" === t.carousel.vertical_align ? "100%" : "50%"
37333    }, p = function (t, i) {
37334        var a = 0;
37335        return t.find(i).each(function () {
37336            var t = e(this);
37337            !t.hasClass("tp-forcenotvisible") && a < t.outerWidth() && (a = t.outerWidth())
37338        }), a
37339    }, h = function (n, o) {
37340        if (n == t) return !1;
37341        if (n.data("aimg") != t && ("enabled" == n.data("aie8") && i.isIE(8) || "enabled" == n.data("amobile") && a) && n.html('<img class="tp-slider-alternative-image" src="' + n.data("aimg") + '">'), n.find(">ul").addClass("tp-revslider-mainul"), o.c = n, o.ul = n.find(".tp-revslider-mainul"), o.ul.find(">li").each(function (t) {
37342            var i = e(this);
37343            "on" == i.data("hideslideonmobile") && a && i.remove()
37344        }), o.cid = n.attr("id"), o.ul.css({visibility: "visible"}), o.slideamount = o.ul.find(">li").length, o.slayers = n.find(".tp-static-layers"), o.ul.find(">li").each(function (t) {
37345            e(this).data("originalindex", t)
37346        }), "on" == o.shuffle) {
37347            var r = new Object, s = o.ul.find(">li:first-child");
37348            r.fstransition = s.data("fstransition"), r.fsmasterspeed = s.data("fsmasterspeed"), r.fsslotamount = s.data("fsslotamount");
37349            for (var l = 0; l < o.slideamount; l++) {
37350                var d = Math.round(Math.random() * o.slideamount);
37351                o.ul.find(">li:eq(" + d + ")").prependTo(o.ul)
37352            }
37353            var u = o.ul.find(">li:first-child");
37354            u.data("fstransition", r.fstransition), u.data("fsmasterspeed", r.fsmasterspeed), u.data("fsslotamount", r.fsslotamount), o.li = o.ul.find(">li")
37355        }
37356        if (o.li = o.ul.find(">li"), o.thumbs = new Array, o.slots = 4, o.act = -1, o.firststart = 1, o.loadqueue = new Array, o.syncload = 0, o.conw = n.width(), o.conh = n.height(), o.responsiveLevels.length > 1 ? o.responsiveLevels[0] = 9999 : o.responsiveLevels = 9999, e.each(o.li, function (i, a) {
37357            var a = e(a), n = a.find(".rev-slidebg") || a.find("img").first(), r = 0;
37358            a.addClass("tp-revslider-slidesli"), a.data("index") === t && a.data("index", "rs-" + Math.round(999999 * Math.random()));
37359            var s = new Object;
37360            s.params = new Array, s.id = a.data("index"), s.src = a.data("thumb") !== t ? a.data("thumb") : n.data("lazyload") !== t ? n.data("lazyload") : n.attr("src"), a.data("title") !== t && s.params.push({
37361                from: RegExp("\\{\\{title\\}\\}", "g"),
37362                to: a.data("title")
37363            }), a.data("description") !== t && s.params.push({
37364                from: RegExp("\\{\\{description\\}\\}", "g"),
37365                to: a.data("description")
37366            });
37367            for (var r = 1; 10 >= r; r++) a.data("param" + r) !== t && s.params.push({
37368                from: RegExp("\\{\\{param" + r + "\\}\\}", "g"),
37369                to: a.data("param" + r)
37370            });
37371            if (o.thumbs.push(s), a.data("origindex", a.index()), a.data("link") != t) {
37372                var l = a.data("link"), d = a.data("target") || "_self", c = "back" === a.data("slideindex") ? 0 : 60,
37373                    u = a.data("linktoslide"), p = u;
37374                u != t && "next" != u && "prev" != u && o.li.each(function () {
37375                    var t = e(this);
37376                    t.data("origindex") + 1 == p && (u = t.data("index"))
37377                }), "slide" != l && (u = "no");
37378                var h = '<div class="tp-caption sft slidelink" style="cursor:pointer;width:100%;height:100%;z-index:' + c + ';" data-x="center" data-y="center" ',
37379                    f = "scroll_under" === u ? '[{"event":"click","action":"scrollbelow","offset":"100px","delay":"0"}]' : "prev" === u ? '[{"event":"click","action":"jumptoslide","slide":"prev","delay":"0.2"}]' : "next" === u ? '[{"event":"click","action":"jumptoslide","slide":"next","delay":"0.2"}]' : '[{"event":"click","action":"jumptoslide","slide":"' + u + '","delay":"0.2"}]';
37380                h = "no" == u ? h + ' data-start="0">' : h + "data-actions='" + f + '\' data-start="0">', h += '<a style="width:100%;height:100%;display:block"', h = "slide" != l ? h + ' target="' + d + '" href="' + l + '"' : h, h += '><span style="width:100%;height:100%;display:block"></span></a></div>', a.append(h)
37381            }
37382        }), o.rle = o.responsiveLevels.length || 1, o.gridwidth = f(o.gridwidth, o.rle), o.gridheight = f(o.gridheight, o.rle), "on" == o.simplifyAll && (i.isIE(8) || i.iOSVersion()) && (n.find(".tp-caption").each(function () {
37383            var t = e(this);
37384            t.removeClass("customin customout").addClass("fadein fadeout"), t.data("splitin", ""), t.data("speed", 400)
37385        }), o.li.each(function () {
37386            var t = e(this);
37387            t.data("transition", "fade"), t.data("masterspeed", 500), t.data("slotamount", 1);
37388            var i = t.find(".rev-slidebg") || t.find(">img").first();
37389            i.data("kenburns", "off")
37390        })), o.desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i), o.autoHeight = "fullscreen" == o.sliderLayout ? "on" : o.autoHeight, "fullwidth" == o.sliderLayout && "off" == o.autoHeight && n.css({maxHeight: o.gridheight[o.curWinRange] + "px"}), "auto" != o.sliderLayout && 0 == n.closest(".forcefullwidth_wrapper_tp_banner").length && ("fullscreen" !== o.sliderLayout || "on" != o.fullScreenAutoWidth)) {
37391            var p = n.parent(), h = p.css("marginBottom"), y = p.css("marginTop");
37392            h = h === t ? 0 : h, y = y === t ? 0 : y, p.wrap('<div class="forcefullwidth_wrapper_tp_banner" style="position:relative;width:100%;height:auto;margin-top:' + y + ";margin-bottom:" + h + '"></div>'), n.closest(".forcefullwidth_wrapper_tp_banner").append('<div class="tp-fullwidth-forcer" style="width:100%;height:' + n.height() + 'px"></div>'), n.parent().css({
37393                marginTop: "0px",
37394                marginBottom: "0px"
37395            }), n.parent().css({position: "absolute"})
37396        }
37397        if (o.shadow !== t && o.shadow > 0 && (n.parent().addClass("tp-shadow" + o.shadow), n.parent().append('<div class="tp-s
37397hadowcover"></div>'), n.parent().find(".tp-shadowcover").css({
37398            backgroundColor: n.parent().css("backgroundColor"),
37399            backgroundImage: n.parent().css("backgroundImage")
37400        })), c(o), c(o, !0), !n.hasClass("revslider-initialised")) {
37401            n.addClass("revslider-initialised"), n.addClass("tp-simpleresponsive"), n.attr("id") == t && n.attr("id", "revslider-" + Math.round(1e3 * Math.random() + 5)), o.firefox13 = !1, o.ie = !e.support.opacity, o.ie9 = 9 == document.documentMode, o.origcd = o.delay;
37402            var x = e.fn.jquery.split("."), _ = parseFloat(x[0]), k = parseFloat(x[1]);
37403            parseFloat(x[2] || "0"), 1 == _ && 7 > k && n.html('<div style="text-align:center; padding:40px 0px; font-size:20px; color:#992222;"> The Current Version of jQuery:' + x + " <br>Please update your jQuery Version to min. 1.7 in Case you wish to use the Revolution Slider Plugin</div>"), _ > 1 && (o.ie = !1);
37404            var T = new Object;
37405            T.addedyt = 0, T.addedvim = 0, T.addedvid = 0, n.find(".tp-caption, .rs-background-video-layer").each(function (n) {
37406                var r = e(this), s = r.data("autoplayonlyfirsttime"), l = r.data("autoplay");
37407                r.hasClass("tp-static-layer") && i.handleStaticLayers && i.handleStaticLayers(r, o);
37408                var d = r.data("noposteronmobile") || r.data("noPosterOnMobile") || r.data("posteronmobile") || r.data("posterOnMobile") || r.data("posterOnMObile");
37409                r.data("noposteronmobile", d);
37410                var c = 0;
37411                if (r.find("iframe").each(function () {
37412                    punchgs.TweenLite.set(e(this), {autoAlpha: 0}), c++
37413                }), c > 0 && r.data("iframes", !0), r.hasClass("tp-caption")) {
37414                    var u = r.hasClass("slidelink") ? "width:100% !important;height:100% !important;" : "";
37415                    r.wrap('<div class="tp-parallax-wrap" style="' + u + 'position:absolute;visibility:hidden"><div class="tp-loop-wrap" style="' + u + 'position:absolute;"><div class="tp-mask-wrap" style="' + u + 'position:absolute" ></div></div></div>');
37416                    var p = ["pendulum", "rotate", "slideloop", "pulse", "wave"], h = r.closest(".tp-loop-wrap");
37417                    e.each(p, function (e, t) {
37418                        var i = r.find(".rs-" + t), a = i.data() || "";
37419                        "" != a && (h.data(a), h.addClass("rs-" + t), i.children(0).unwrap(), r.data("loopanimation", "on"))
37420                    }), punchgs.TweenLite.set(r, {visibility: "hidden"})
37421                }
37422                var f = r.data("actions");
37423                f !== t && i.checkActions(r, o, f), g(r, o), i.checkVideoApis && (T = i.checkVideoApis(r, o, T)), a && ((1 == s || "true" == s) && (r.data("autoplayonlyfirsttime", "false"), s = !1), (1 == l || "true" == l || "on" == l || "1sttime" == l) && (r.data("autoplay", "off"), l = "off")), (1 == s || "true" == s || "1sttime" == l) && r.closest("li.tp-revslider-slidesli").addClass("rs-pause-timer-once"), (1 == l || "true" == l || "on" == l || "no1sttime" == l) && r.closest("li.tp-revslider-slidesli").addClass("rs-pause-timer-always")
37424            }), n.hover(function () {
37425                n.trigger("tp-mouseenter"), o.overcontainer = !0
37426            }, function () {
37427                n.trigger("tp-mouseleft"), o.overcontainer = !1
37428            }), n.on("mouseover", function () {
37429                n.trigger("tp-mouseover"), o.overcontainer = !0
37430            }), n.find(".tp-caption video").each(function (t) {
37431                var i = e(this);
37432                i.removeClass("video-js vjs-default-skin"), i.attr("preload", ""), i.css({display: "none"})
37433            }), "standard" !== o.sliderType && (o.lazyType = "all"), S(n.find(".tp-static-layers"), o, 0), z(n.find(".tp-static-layers img"), o, function () {
37434                n.find(".tp-static-layers img").each(function () {
37435                    var i = e(this), a = i.data("lazyload") != t ? i.data("lazyload") : i.attr("src"), n = A(o, a);
37436                    i.attr("src", n.src)
37437                })
37438            }), o.li.each(function (t) {
37439                var i = e(this);
37440                ("all" == o.lazyType || "smart" == o.lazyType && (0 == t || 1 == t || t == o.slideamount || t == o.slideamount - 1)) && (S(i, o, t), z(i, o, function () {
37441                    "carousel" == o.sliderType && punchgs.TweenLite.to(i, 1, {
37442                        autoAlpha: 1,
37443                        ease: punchgs.Power3.easeInOut
37444                    })
37445                }))
37446            });
37447            var C = R("#")[0];
37448            if (C.length < 9 && C.split("slide").length > 1) {
37449                var L = parseInt(C.split("slide")[1], 0);
37450                1 > L && (L = 1), L > o.slideamount && (L = o.slideamount), o.startWithSlide = L - 1
37451            }
37452            n.append('<div class="tp-loader ' + o.spinner + '"><div class="dot1"></div><div class="dot2"></div><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>'), 0 === n.find(".tp-bannertimer").length && n.append('<div class="tp-bannertimer" style="visibility:hidden"></div>'), n.find(".tp-bannertimer").css({width: "0%"}), n.find(".tp-bannertimer").data("opt", o), o.ul.css({display: "block"}), w(n, o), "off" !== o.parallax.type && i.checkForParallax(n, o), i.setSize(o), "hero" !== o.sliderType && i.createNavigation(n, o), i.resizeThumbsTabs && i.resizeThumbsTabs(o), v(o);
37453            var O = o.viewPort;
37454            o.inviewport = !1, O != t && O.enable && (e.isNumeric(O.visible_area) || -1 !== O.visible_area.indexOf("%") && (O.visible_area = parseInt(O.visible_area) / 100), i.scrollTicker && i.scrollTicker(o, n)), setTimeout(function () {
37455                "carousel" == o.sliderType && i.prepareCarousel(o), !O.enable || O.enable && o.inviewport || O.enable && !o.inviewport && "wait" == !O.outof ? H(n, o) : o.waitForFirstSlide = !0, i.manageNavigation && i.manageNavigation(o), o.slideamount > 1 && (!O.enable || O.enable && o.inviewport ? M(n, o) : o.waitForCountDown = !0), setTimeout(function () {
37456                    n.trigger("revolution.slide.onloaded")
37457                }, 100)
37458            }, o.startDelay), o.startDelay = 0, e("body").data("rs-fullScreenMode", !1), e(window).on("mozfullscreenchange webkitfullscreenchange fullscreenchange", function () {
37459                e("body").data("rs-fullScreenMode", !e("body").data("rs-fullScreenMode")), e("body").data("rs-fullScreenMode") && setTimeout(function () {
37460                    e(window).trigger("resize")
37461                }, 200)
37462            });
37463            var I = "resize.revslider-" + n.attr("id");
37464            e(window).on(I, function () {
37465                return n == t ? !1 : (0 != e("body").find(n) && v(o), void ((n.outerWidth(!0) != o.width || n.is(":hidden") || "fullscreen" == o.sliderLayout && e(window).height() != o.lastwindowheight) && (o.lastwindowheight = e(window).height(), b(n, o))))
37466            }
37466), m(n, o), v(o), o.fallbacks.disableFocusListener || "true" == o.fallbacks.disableFocusListener || o.fallbacks.disableFocusListener === !0 || N(n, o)
37467        }
37468    }, f = function (t, i) {
37469        if (!e.isArray(t)) {
37470            var a = t;
37471            t = new Array, t.push(a)
37472        }
37473        if (t.length < i) for (var a = t[t.length - 1], n = 0; n < i - t.length + 2; n++) t.push(a);
37474        return t
37475    }, g = function (a, n) {
37476        "sliderenter" === a.data("start") && (n.layersonhover === t && (n.c.on("tp-mouseenter", function () {
37477            n.layersonhover && e.each(n.layersonhover, function (e, a) {
37478                a.data("animdirection", "in");
37479                var o = a.data("timeline_out"),
37480                    r = "carousel" === n.sliderType ? 0 : n.width / 2 - n.gridwidth[n.curWinRange] * n.bw / 2, s = 0,
37481                    l = a.closest(".tp-revslider-slidesli");
37482                if (l.hasClass("active-revslide") || l.hasClass("processing-revslide")) {
37483                    o != t && (o.pause(0), o.kill()), i.animateSingleCaption(a, n, r, s, 0, !1, !0);
37484                    var d = a.data("timeline");
37485                    a.data("triggerstate", "on"), d.play(0)
37486                }
37487            })
37488        }), n.c.on("tp-mouseleft", function () {
37489            n.layersonhover && e.each(n.layersonhover, function (e, t) {
37490                t.data("animdirection", "out"), t.data("triggered", !0), t.data("triggerstate", "off"), i.stopVideo && i.stopVideo(t, n), i.endMoveCaption && i.endMoveCaption(t, null, null, n)
37491            })
37492        }), n.layersonhover = new Array), n.layersonhover.push(a))
37493    }, v = function (t) {
37494        var a = i.getHorizontalOffset(t.c, "left");
37495        if ("auto" == t.sliderLayout || "fullscreen" === t.sliderLayout && "on" == t.fullScreenAutoWidth) "fullscreen" == t.sliderLayout && "on" == t.fullScreenAutoWidth ? punchgs.TweenLite.set(t.ul, {
37496            left: 0,
37497            width: t.c.width()
37498        }) : punchgs.TweenLite.set(t.ul, {left: a, width: t.c.width() - i.getHorizontalOffset(t.c, "both")}); else {
37499            var n = Math.ceil(t.c.closest(".forcefullwidth_wrapper_tp_banner").offset().left - a);
37500            punchgs.TweenLite.set(t.c.parent(), {
37501                left: 0 - n + "px",
37502                width: e(window).width() - i.getHorizontalOffset(t.c, "both")
37503            })
37504        }
37505        t.slayers && "fullwidth" != t.sliderLayout && "fullscreen" != t.sliderLayout && punchgs.TweenLite.set(t.slayers, {left: a})
37506    }, m = function (a, n, o) {
37507        var r = a.parent();
37508        e(window).width() < n.hideSliderAtLimit ? (a.trigger("stoptimer"), "none" != r.css("display") && r.data("olddisplay", r.css("display")), r.css({display: "none"})) : a.is(":hidden") && o && (r.data("olddisplay") != t && "undefined" != r.data("olddisplay") && "none" != r.data("olddisplay") ? r.css({display: r.data("olddisplay")}) : r.css({display: "block"}), a.trigger("restarttimer"), setTimeout(function () {
37509            b(a, n)
37510        }, 150)), i.hideUnHideNav && i.hideUnHideNav(n)
37511    }, b = function (a, n) {
37512        if (1 == n.infullscreenmode && (n.minHeight = e(window).height()), c(n), c(n, !0), !i.resizeThumbsTabs || i.resizeThumbsTabs(n) === !0) {
37513            if (m(a, n, !0), v(n), "carousel" == n.sliderType && i.prepareCarousel(n, !0), a === t) return !1;
37514            i.setSize(n), n.conw = n.c.width(), n.conh = n.infullscreenmode ? n.minHeight : n.c.height();
37515            var o = a.find(".active-revslide .slotholder"), r = a.find(".processing-revslide .slotholder");
37516            x(a, n, a, 2), "standard" === n.sliderType && (punchgs.TweenLite.set(r.find(".defaultimg"), {opacity: 0}), o.find(".defaultimg").css({opacity: 1})), "carousel" == n.sliderType && n.lastconw != n.conw && (clearTimeout(n.pcartimer), n.pcartimer = setTimeout(function () {
37517                i.prepareCarousel(n, !0)
37518            }, 100), n.lastconw = n.conw), i.manageNavigation && i.manageNavigation(n), i.animateTheCaptions && i.animateTheCaptions(a.find(".active-revslide"), n, !0), "on" == r.data("kenburns") && i.startKenBurn(r, n, r.data("kbtl").progress()), "on" == o.data("kenburns") && i.startKenBurn(o, n, o.data("kbtl").progress()), i.animateTheCaptions && i.animateTheCaptions(r.closest("li"), n, !0), i.manageNavigation && i.manageNavigation(n)
37519        }
37520    }, y = function (e) {
37521        e.bw = e.width / e.gridwidth[e.curWinRange], e.bh = e.height / e.gridheight[e.curWinRange], e.bh > e.bw ? e.bh = e.bw : e.bw = e.bh, (e.bh > 1 || e.bw > 1) && (e.bw = 1, e.bh = 1)
37522    }, w = function (n, o) {
37523        if (n.find(".tp-caption").each(function () {
37524            var i = e(this);
37525            i.data("transition") !== t && i.addClass(i.data("transition"))
37526        }), o.ul.css({
37527            overflow: "hidden",
37528            width: "100%",
37529            height: "100%",
37530            maxHeight: n.parent().css("maxHeight")
37531        }), "on" == o.autoHeight && (o.ul.css({
37532            overflow: "hidden",
37533            width: "100%",
37534            height: "100%",
37535            maxHeight: "none"
37536        }), n.css({maxHeight: "none"}), n.parent().css({maxHeight: "none"})), o.li.each(function (i) {
37537            var a = e(this), n = a.data("originalindex");
37538            (o.startWithSlide != t && n == o.startWithSlide || o.startWithSlide === t && 0 == i) && a.addClass("next-revslide"), a.css({
37539                width: "100%",
37540                height: "100%",
37541                overflow: "hidden"
37542            })
37543        }), "carousel" === o.sliderType) {
37544            o.ul.css({overflow: "visible"}).wrap('<div class="tp-carousel-wrapper" style="width:100%;height:100%;position:absolute;top:0px;left:0px;overflow:hidden;"></div>');
37545            var r = '<div style="clear:both;display:block;width:100%;height:1px;position:relative;margin-bottom:-1px"></div>';
37546            o.c.parent().prepend(r), o.c.parent().append(r), i.prepareCarousel(o)
37547        }
37548        n.parent().css({overflow: "visible"}), o.li.find(">img").each(function (i) {
37549            var n = e(this), r = n.closest("li").find(".rs-background-video-layer");
37550            r.addClass("defaultvid").css({zIndex: 30}
37550), n.addClass("defaultimg"), "on" == o.fallbacks.panZoomDisableOnMobile && a && (n.data("kenburns", "off"), n.data("bgfit", "cover")), n.wrap('<div class="slotholder" style="width:100%;height:100%;"></div>'), r.appendTo(n.closest("li").find(".slotholder"));
37551            var s = n.data();
37552            n.closest(".slotholder").data(s), r.length > 0 && s.bgparallax != t && r.data("bgparallax", s.bgparallax), "none" != o.dottedOverlay && o.dottedOverlay != t && n.closest(".slotholder").append('<div class="tp-dottedoverlay ' + o.dottedOverlay + '"></div>');
37553            var l = n.attr("src");
37554            s.src = l, s.bgfit = s.bgfit || "cover", s.bgrepeat = s.bgrepeat || "no-repeat", s.bgposition = s.bgposition || "center center";
37555            var d = n.closest(".slotholder");
37556            n.parent().append('<div class="tp-bgimg defaultimg" style="background-color:' + n.css("backgroundColor") + ";background-repeat:" + s.bgrepeat + ";background-image:url(" + l + ");background-size:" + s.bgfit + ";background-position:" + s.bgposition + ';width:100%;height:100%;"></div>');
37557            var c = document.createComment("Runtime Modification - Img tag is Still Available for SEO Goals in Source - " + n.get(0).outerHTML);
37558            n.replaceWith(c), n = d.find(".tp-bgimg"), n.data(s), n.attr("src", l), ("standard" === o.sliderType || "undefined" === o.sliderType) && n.css({opacity: 0})
37559        })
37560    }, x = function (t, i, a, n) {
37561        i.removePrepare = i.removePrepare + n, a.find(".slot, .slot-circle-wrapper").each(function () {
37562            e(this).remove()
37563        }), i.transition = 0, i.removePrepare = 0
37564    }, _ = function (e) {
37565        var i = e;
37566        return e != t && e.length > 0 && (i = e.split("?")[0]), i
37567    }, k = function (e, t) {
37568        var i = e.split("/"), a = t.split("/");
37569        i.pop();
37570        for (var n = 0; n < a.length; n++) "." != a[n] && (".." == a[n] ? i.pop() : i.push(a[n]));
37571        return i.join("/")
37572    }, T = function (t, i, a) {
37573        i.syncload--, i.loadqueue && e.each(i.loadqueue, function (e, i) {
37574            var n = i.src.replace(/\.\.\/\.\.\//gi, ""), o = self.location.href, r = document.location.origin,
37575                s = o.substring(0, o.length - 1) + "/" + n, l = r + "/" + n, d = k(self.location.href, i.src);
37576            o = o.substring(0, o.length - 1) + n, r += n, (_(r) === _(decodeURIComponent(t.src)) || _(o) === _(decodeURIComponent(t.src)) || _(d) === _(decodeURIComponent(t.src)) || _(l) === _(decodeURIComponent(t.src)) || _(s) === _(decodeURIComponent(t.src)) || _(i.src) === _(decodeURIComponent(t.src)) || _(i.src).replace(/^.*\/\/[^\/]+/, "") === _(decodeURIComponent(t.src)).replace(/^.*\/\/[^\/]+/, "") || "file://" === window.location.origin && _(t.src).match(new RegExp(n))) && (i.progress = a, i.width = t.width, i.height = t.height)
37577        }), C(i)
37578    }, C = function (t) {
37579        3 != t.syncload && t.loadqueue && e.each(t.loadqueue, function (e, i) {
37580            if (i.progress.match(/prepared/g) && t.syncload <= 3) {
37581                t.syncload++;
37582                var a = new Image;
37583                a.onload = function () {
37584                    T(this, t, "loaded")
37585                }, a.onerror = function () {
37586                    T(this, t, "failed")
37587                }, a.src = i.src, i.progress = "inload"
37588            }
37589        })
37590    }, L = function (t, i, a) {
37591        var n = !1;
37592        if (i.loadqueue && e.each(i.loadqueue, function (e, i) {
37593            i.src === t && (n = !0)
37594        }), !n) {
37595            var o = new Object;
37596            o.src = t, o.prio = a, o.progress = "prepared", i.loadqueue.push(o)
37597        }
37598    }, S = function (i, a, n) {
37599        i.find("img,.defaultimg").each(function () {
37600            var i = e(this),
37601                o = i.data("lazyload") !== t && "undefined" !== i.data("lazyload") ? i.data("lazyload") : i.attr("src");
37602            i.data("start-to-load", e.now()), L(o, a, n)
37603        }), C(a)
37604    }, A = function (t, i) {
37605        var a = new Object;
37606        return t.loadqueue && e.each(t.loadqueue, function (e, t) {
37607            t.src == i && (a = t)
37608        }), a
37609    }, z = function (a, n, o) {
37610        var r = !1;
37611        a.find("img,.defaultimg").each(function () {
37612            var o = e(this), s = o.data("lazyload") != t ? o.data("lazyload") : o.attr("src"), l = A(n, s);
37613            if (o.data("loaded") === t && l !== t && l.progress && l.progress.match(/loaded/g)) {
37614                if (o.attr("src", l.src), o.hasClass("defaultimg")) i.isIE(8) ? defimg.attr("src", l.src) : o.css({backgroundImage: 'url("' + l.src + '")'}), a.data("owidth", l.width), a.data("oheight", l.height), a.find(".slotholder").data("owidth", l.width), a.find(".slotholder").data("oheight", l.height); else {
37615                    var d = o.data("ww"), c = o.data("hh");
37616                    o.data("owidth", l.width), o.data("oheight", l.height), d = d == t || "auto" == d || "" == d ? l.width : d, c = c == t || "auto" == c || "" == c ? l.height : c, o.data("ww", d), o.data("hh", c)
37617                }
37618                o.data("loaded", !0)
37619            }
37620            if (l && l.progress && l.progress.match(/inprogress|inload|prepared/g) && (e.now() - o.data("start-to-load") < 5e3 ? r = !0 : console.error(s + "  Could not be loaded !")), 1 == n.youtubeapineeded && (!window.YT || YT.Player == t) && (r = !0, e.now() - n.youtubestarttime > 5e3 && 1 != n.youtubewarning)) {
37621                n.youtubewarning = !0;
37622                var u = "YouTube Api Could not be loaded !";
37623                "https:" === location.protocol && (u += " Please Check and Renew SSL Certificate !"), console.error(u), n.c.append('<div style="position:absolute;top:50%;width:100%;
37623color:#e74c3c;  font-size:16px; text-align:center; padding:15px;background:#000; display:block;"><strong>' + u + "</strong></div>")
37624            }
37625            if (1 == n.vimeoapineeded && !window.Froogaloop && (r = !0, e.now() - n.vimeostarttime > 5e3 && 1 != n.vimeowarning)) {
37626                n.vimeowarning = !0;
37627                var u = "Vimeo Froogaloop Api Could not be loaded !";
37628                "https:" === location.protocol && (u += " Please Check and Renew SSL Certificate !"), console.error(u), n.c.append('<div style="position:absolute;top:50%;width:100%;color:#e74c3c;  font-size:16px; text-align:center; padding:15px;background:#000; display:block;"><strong>' + u + "</strong></div>")
37629            }
37630        }), r ? setTimeout(function () {
37631            z(a, n, o)
37632        }, 19) : o()
37633    }, H = function (t, a) {
37634        if (clearTimeout(a.waitWithSwapSlide), t.find(".processing-revslide").length > 0) return a.waitWithSwapSlide = setTimeout(function () {
37635            H(t, a)
37636        }, 150), !1;
37637        var n = t.find(".active-revslide"), o = t.find(".next-revslide"), r = o.find(".defaultimg");
37638        return o.index() === n.index() ? (o.removeClass("next-revslide"), !1) : (o.removeClass("next-revslide").addClass("processing-revslide"), o.data("slide_on_focus_amount", o.data("slide_on_focus_amount") + 1 || 1), "on" == a.stopLoop && o.index() == a.lastslidetoshow - 1 && (t.find(".tp-bannertimer").css({visibility: "hidden"}), t.trigger("revolution.slide.onstop"), a.noloopanymore = 1), o.index() === a.slideamount - 1 && (a.looptogo = a.looptogo - 1, a.looptogo <= 0 && (a.stopLoop = "on")), a.tonpause = !0, t.trigger("stoptimer"), a.cd = 0, "off" === a.spinner ? t.find(".tp-loader").css({display: "none"}) : t.find(".tp-loader").css({display: "block"}), S(o, a, 1), void z(o, a, function () {
37639            o.find(".rs-background-video-layer").each(function () {
37640                var t = e(this);
37641                t.hasClass("HasListener") || (t.data("bgvideo", 1), i.manageVideoLayer(t, a)), 0 == t.find(".rs-fullvideo-cover").length && t.append('<div class="rs-fullvideo-cover"></div>')
37642            }), O(a, r, t)
37643        }))
37644    }, O = function (e, a, n) {
37645        var o = n.find(".active-revslide"), r = n.find(".processing-revslide"), s = o.find(".slotholder"),
37646            l = r.find(".slotholder");
37647        e.tonpause = !1, e.cd = 0, n.trigger("nulltimer"), n.find(".tp-loader").css({display: "none"}), i.setSize(e), i.slotSize(a, e), i.manageNavigation && i.manageNavigation(e);
37648        var d = {};
37649        d.nextslide = r, d.currentslide = o, n.trigger("revolution.slide.onbeforeswap", d), e.transition = 1, e.videoplaying = !1, r.data("delay") != t ? (e.cd = 0, e.delay = r.data("delay")) : e.delay = e.origcd;
37650        var c = o.index(), u = r.index();
37651        e.sdir = c > u ? 1 : 0, "arrow" == e.sc_indicator && (0 == c && u == e.slideamount - 1 && (e.sdir = 1), c == e.slideamount - 1 && 0 == u && (e.sdir = 0)), e.lsdir = e.lsdir === t ? e.sdir : e.lsdir, e.dirc = e.lsdir != e.sdir, e.lsdir = e.sdir, o.index() != r.index() && 1 != e.firststart && i.removeTheCaptions && i.removeTheCaptions(o, e), r.hasClass("rs-pause-timer-once") || r.hasClass("rs-pause-timer-always") ? e.videoplaying = !0 : n.trigger("restarttimer"), r.removeClass("rs-pause-timer-once");
37652        var p, h;
37653        if ("carousel" == e.sliderType) h = new punchgs.TimelineLite, i.prepareCarousel(e, h), I(n, e, l, s, r, o, h), e.transition = 0, e.firststart = 0; else {
37654            h = new punchgs.TimelineLite({
37655                onComplete: function () {
37656                    I(n, e, l, s, r, o, h)
37657                }
37658            }), h.add(punchgs.TweenLite.set(l.find(".defaultimg"), {opacity: 0})), h.pause(), 1 == e.firststart && (punchgs.TweenLite.set(o, {autoAlpha: 0}), e.firststart = 0), punchgs.TweenLite.set(o, {zIndex: 18}), punchgs.TweenLite.set(r, {
37659                autoAlpha: 0,
37660                zIndex: 20
37661            }), "prepared" == r.data("differentissplayed") && (r.data("differentissplayed", "done"), r.data("transition", r.data("savedtransition")), r.data("slotamount", r.data("savedslotamount")), r.data("masterspeed", r.data("savedmasterspeed"))), r.data("fstransition") != t && "done" != r.data("differentissplayed") && (r.data("savedtransition", r.data("transition")), r.data("savedslotamount", r.data("slotamount")), r.data("savedmasterspeed", r.data("masterspeed")), r.data("transition", r.data("fstransition")), r.data("slotamount", r.data("fsslotamount")), r.data("masterspeed", r.data("fsmasterspeed")), r.data("differentissplayed", "prepared")), r.data("transition") == t && r.data("transition", "random"), p = 0;
37662            var f = r.data("transition") !== t ? r.data("transition").split(",") : "fade",
37663                g = r.data("nexttransid") == t ? -1 : r.data("nexttransid");
37664            "on" == r.data("randomtransition") ? g = Math.round(Math.random() * f.length) : g += 1, g == f.length && (g = 0), r.data("nexttransid", g);
37665            var v = f[g];
37666            e.ie && ("boxfade" == v && (v = "boxslide"),
37667            "slotfade-vertical" == v && (v = "slotzoom-vertical"), "slotfade-horizontal" == v && (v = "slotzoom-horizontal")), i.isIE(8) && (v = 11), h = i.animateSlide(p, v, n, e, r, o, l, s, h), "on" == l.data("kenburns") && (i.startKenBurn(l, e), h.add(punchgs.TweenLite.set(l, {autoAlpha: 0}))), h.pause()
37668        }
37669        i.scrollHandling && (i.scrollHandling(e, !0), h.eventCallback("onUpdate", function () {
37670            i.scrollHandling(e, !0)
37671        })), "off" != e.parallax.type && e.parallax.firstgo == t && i.scrollHandling && (e.parallax.firstgo = !0, e.lastscrolltop = -999, i.scrollHandling(e, !0), setTimeout(function () {
37672            e.lastscrolltop = -999, i.scrollHandling(e, !0)
37673        }, 210), setTimeout(function () {
37674            e.lastscrolltop = -999, i.scrollHandling(e, !0)
37675        }, 420)), i.animateTheCaptions ? i.animateTheCaptions(r, e, null, h) : h != t && setTimeout(function () {
37676            h.resume()
37677        }, 30), punchgs.TweenLite.to(r, .001, {autoAlpha: 1})
37678    }, I = function (n, o, r, s, l, d, c) {
37679        "carousel" === o.sliderType || (o.removePrepare = 0, punchgs.TweenLite.to(r.find(".defaultimg"), .001, {
37680            zIndex: 20,
37681            autoAlpha: 1,
37682            onComplete: function () {
37683                x(n, o, l, 1)
37684            }
37685        }), l.index() != d.index() && punchgs.TweenLite.to(d, .2, {
37686            zIndex: 18, autoAlpha: 0, onComplete: function () {
37687                x(n, o, d, 1)
37688            }
37689        })), n.find(".active-revslide").removeClass("active-revslide"), n.find(".processing-revslide").removeClass("processing-revslide").addClass("active-revslide"), o.act = l.index(), ("scroll" == o.parallax.type || "scroll+mouse" == o.parallax.type || "mouse+scroll" == o.parallax.type) && (o.lastscrolltop = -999, i.scrollHandling(o)), c.clear(), s.data("kbtl") != t && (s.data("kbtl").reverse(), s.data("kbtl").timeScale(25)), "on" == r.data("kenburns") && (r.data("kbtl") != t ? (r.data("kbtl").timeScale(1), r.data("kbtl").play()) : i.startKenBurn(r, o)), l.find(".rs-background-video-layer").each(function (t) {
37690            if (a) return !1;
37691            var n = e(this);
37692            i.resetVideo(n, o), punchgs.TweenLite.fromTo(n, 1, {autoAlpha: 0}, {
37693                autoAlpha: 1,
37694                ease: punchgs.Power3.easeInOut,
37695                delay: .2,
37696                onComplete: function () {
37697                    i.animcompleted && i.animcompleted(n, o)
37698                }
37699            })
37700        }), d.find(".rs-background-video-layer").each(function (t) {
37701            if (a) return !1;
37702            var n = e(this);
37703            i.stopVideo && (i.resetVideo(n, o), i.stopVideo(n, o)), punchgs.TweenLite.to(n, 1, {
37704                autoAlpha: 0,
37705                ease: punchgs.Power3.easeInOut,
37706                delay: .2
37707            })
37708        });
37709        var u = {};
37710        u.slideIndex = l.index() + 1, u.slideLIIndex = l.index(), u.slide = l, u.currentslide = l, u.prevslide = d, n.trigger("revolution.slide.onchange", u), n.trigger("revolution.slide.onafterswap", u), o.duringslidechange = !1;
37711        var p = d.data("slide_on_focus_amount"), h = d.data("hideafterloop");
37712        0 != h && p >= h && o.c.revremoveslide(d.index())
37713    }, P = function (t, i) {
37714        t.children().each(function () {
37715            try {
37716                e(this).die("click")
37717            } catch (t) {
37718            }
37719            try {
37720                e(this).die("mouseenter")
37721            } catch (t) {
37722            }
37723            try {
37724                e(this).die("mouseleave")
37725            } catch (t) {
37726            }
37727            try {
37728                e(this).unbind("hover")
37729            } catch (t) {
37730            }
37731        });
37732        try {
37733            t.die("click", "mouseenter", "mouseleave")
37734        } catch (a) {
37735        }
37736        clearInterval(i.cdint), t = null
37737    }, M = function (n, o) {
37738        o.cd = 0, o.loop = 0, o.stopAfterLoops != t && o.stopAfterLoops > -1 ? o.looptogo = o.stopAfterLoops : o.looptogo = 9999999, o.stopAtSlide != t && o.stopAtSlide > -1 ? o.lastslidetoshow = o.stopAtSlide : o.lastslidetoshow = 999, o.stopLoop = "off", 0 == o.looptogo && (o.stopLoop = "on");
37739        var r = n.find(".tp-bannertimer");
37740        n.on("stoptimer", function () {
37741            var t = e(this).find(".tp-bannertimer");
37742            t.data("tween").pause(), "on" == o.disableProgressBar && t.css({visibility: "hidden"}), o.sliderstatus = "paused", i.unToggleState(o.slidertoggledby)
37743        }), n.on("starttimer", function () {
37744            1 != o.conthover && 1 != o.videoplaying && o.width > o.hideSliderAtLimit && 1 != o.tonpause && 1 != o.overnav && (1 === o.noloopanymore || o.viewPort.enable && !o.inviewport || (r.css({visibility: "visible"}), r.data("tween").resume(), o.sliderstatus = "playing")), "on" == o.disableProgressBar && r.css({visibility: "hidden"}), i.toggleState(o.slidertoggledby)
37745        }), n.on("restarttimer", function () {
37746            var t = e(this).find(".tp-bannertimer");
37747            return o.mouseoncontainer && "on" == o.navigation.onHoverStop && !a ? !1 : (1 === o.noloopanymore || o.viewPort.enable && !o.inviewport || (t.css({visibility: "visible"}), t.data("tween").kill(), t.data("tween", punchgs.TweenLite.fromTo(t, o.delay / 1e3, {width: "0%"}, {
37748                force3D: "auto",
37749                width: "100%",
37750                ease: punchgs.Linear.easeNone,
37751                onComplete: s,
37752                delay: 1
37753            })), o.sliderstatus = "playing"), "on" == o.disableProgressBar && t.css({visibility: "hidden"}), void i.toggleState(o.slidertoggledby))
37754        }), n.on("nulltimer", function () {
37755            r.data("tween").pause(0), "on" == o.disableProgressBar && r.css({visibility: "hidden"}), o.sliderstatus = "paused"
37756        });
37757        var s = function () {
37758            0 == e("body").find(n).length && (P(n, o), clearInterval(o.cdint)), n.trigger("revolution.slide.slideatend"), 1 == n.data("conthover-changed") && (o.conthover = n.data("conthover"), n.data("conthover-changed", 0)), i.callingNewSlide(o, n, 1)
37759        };
37760        r.data("tween", punchgs.TweenLite.fromTo(r, o.delay / 1e3, {width: "0%"}, {
37761            force3D: "auto",
37762            width: "100%",
37763            ease: punchgs.Linear.easeNone,
37764            onComplete: s,
37765            delay: 1
37766        })), r.data("opt", o), o.slideamount > 1 && (0 != o.stopAfterLoops || 1 != o.stopAtSlide) ? n.trigger("starttimer") : (o.noloopanymore = 1, n.trigger("nulltimer")), n.on("tp-mouseenter", function () {
37767            o.mouseoncontainer = !0, "on" != o.navigation.onHoverStop || a || (n.trigger("stoptimer"), n.trigger("revolution.slide.onpause"))
37768        }), n.on("tp-mouseleft", function () {
37769            o.mouseoncontainer = !1, 1 != n.data("conthover") && "on" == o.navigation.onHoverStop && (1 == o.viewPort.enable && o.inviewport || 0 == o.viewPort.enable) && (n.trigger("revolution.slide.onresume"), n.trigger("starttimer"))
37770        })
37771    }, F = (function () {
37772        var e, t, i = {
37773            hidden: "visibilitychange",
37774            webkitHidden: "webkitvisibilitychange",
37775            mozHidden: "mozvisibilitychange",
37776            msHidden: "msvisibilitychange"
37777        };
37778        for (e in i) if (e in document) {
37779            t = i[e];
37780            break
37781        }
37782        return function (i) {
37783            return i && document.addEventListener(t, i), !document[e]
37784        }
37785    }(), function (e) {
37786        return e == t || e.c == t ? !1 : void (1 != e.windowfocused && (e.windowfocused = !0, punchgs.TweenLite.delayedCall(.3, function () {
37787            "on" == e.fallbacks.nextSlideOnWindowFocus && e.c.revnext(), e.c.revredraw(), "playing" == e.lastsliderstatus && e.c.revresume()
37788        })))
37789    }), j = function (e) {
37790        e.windowfocused = !1, e.lastsliderstatus = e.sliderstatus, e.c.revpause();
37791        var t = e.c.find(".active-revslide .slotholder"), a = e.c.find(".processing-revslide .slotholder");
37792        "on" == a.data("kenburns") && i.stopKenBurn(a, e), "on" == t.data("kenburns") && i.stopKenBurn(t, e)
37793    }, N = function (i, a) {
37794        var n = document.documentMode === t, o = window.chrome;
37795        n && !o ? e(window).on("focusin", function () {
37796            F(a)
37797        }).on("focusout", function () {
37798            j(a)
37799        }) : window.addEventListener ? (window.addEventListener("focus", function (e) {
37800            F(a)
37801        }, !1), window.addEventListener("blur", function (e) {
37802            j(a)
37803        }, !1)) : (window.attachEvent("focus", function (e) {
37804            F(a)
37805        }), window.attachEvent("blur", function (e) {
37806            j(a)
37807        }))
37808    }, R = function (e) {
37809        for (var t, i = [], a = window.location.href.slice(window.location.href.indexOf(e) + 1).split("_"), n = 0; n < a.length; n++) a[n] = a[n].replace("%3D", "="), t = a[n].split("="), i.push(t[0]), i[t[0]] = t[1];
37810        return i
37811    }
37812}(jQuery), !function () {
37813    var t = jQuery.fn.revolution;
37814    jQuery.extend(!0, t, {
37815        animateSlide: function (t, e, o, a, n, r, s, l, d) {
37816            return i(t, e, o, a, n, r, s, l, d)
37817        }
37818    });
37819    var e = function (e, o, a, i) {
37820        var n = e, r = n.find(".defaultimg"), s = n.data("zoomstart"), l = n.data("rotationstart");
37821        void 0 != r.data("currotate") && (l = r.data("currotate")), void 0 != r.data("curscale") && "box" == i ? s = 100 * r.data("curscale") : void 0 != r.data("curscale") && (s = r.data("curscale")), t.slotSize(r, o);
37822        var d = r.attr("src"), h = r.css("backgroundColor"), f = o.width, c = o.height, p = r.data("fxof"), u = 0;
37823        "on" == o.autoHeight && (c = o.c.height()), void 0 == p && (p = 0);
37824        var g = 0, w = r.data("bgfit"), v = r.data("bgrepeat"), m = r.data("bgposition");
37825        switch (void 0 == w && (w = "cover"), void 0 == v && (v = "no-repeat"), void 0 == m && (m = "center center"), i) {
37826            case"box":
37827                for (var x = 0, y = 0, T = 0; T < o.slots; T++) {
37828                    y = 0;
37829                    for (var z = 0; z < o.slots; z++) n.append('<div class="slot" style="position:absolute;top:' + (u + y) + "px;left:" + (p + x) + "px;
37829width:" + o.slotw + "px;height:" + o.sloth + 'px;overflow:hidden;"><div class="slotslide" data-x="' + x + '" data-y="' + y + '" style="position:absolute;top:0px;left:0px;width:' + o.slotw + "px;height:" + o.sloth + 'px;overflow:hidden;"><div style="position:absolute;top:' + (0 - y) + "px;left:" + (0 - x) + "px;width:" + f + "px;height:" + c + "px;background-color:" + h + ";background-image:url(" + d + ");background-repeat:" + v + ";background-size:" + w + ";background-position:" + m + ';"></div></div></div>'), y += o.sloth, void 0 != s && void 0 != l && punchgs.TweenLite.set(n.find(".slot").last(), {rotationZ: l});
37830                    x += o.slotw
37831                }
37832                break;
37833            case"vertical":
37834            case"horizontal":
37835                if ("horizontal" == i) {
37836                    if (!a) var g = 0 - o.slotw;
37837                    for (var z = 0; z < o.slots; z++) n.append('<div class="slot" style="position:absolute;top:' + (0 + u) + "px;left:" + (p + z * o.slotw) + "px;overflow:hidden;width:" + (o.slotw + .6) + "px;height:" + c + 'px"><div class="slotslide" style="position:absolute;top:0px;left:' + g + "px;width:" + (o.slotw + .6) + "px;height:" + c + 'px;overflow:hidden;"><div style="background-color:' + h + ";position:absolute;top:0px;left:" + (0 - z * o.slotw) + "px;width:" + f + "px;height:" + c + "px;background-image:url(" + d + ");background-repeat:" + v + ";background-size:" + w + ";background-position:" + m + ';"></div></div></div>'), void 0 != s && void 0 != l && punchgs.TweenLite.set(n.find(".slot").last(), {rotationZ: l})
37838                } else {
37839                    if (!a) var g = 0 - o.sloth;
37840                    for (var z = 0; z < o.slots + 2; z++) n.append('<div class="slot" style="position:absolute;top:' + (u + z * o.sloth) + "px;left:" + p + "px;overflow:hidden;width:" + f + "px;height:" + o.sloth + 'px"><div class="slotslide" style="position:absolute;top:' + g + "px;left:0px;width:" + f + "px;height:" + o.sloth + 'px;overflow:hidden;"><div style="background-color:' + h + ";position:absolute;top:" + (0 - z * o.sloth) + "px;left:0px;width:" + f + "px;height:" + c + "px;background-image:url(" + d + ");background-repeat:" + v + ";background-size:" + w + ";background-position:" + m + ';"></div></div></div>'), void 0 != s && void 0 != l && punchgs.TweenLite.set(n.find(".slot").last(), {rotationZ: l})
37841                }
37842        }
37843    }, o = function (t, e, o, a, i) {
37844        function n() {
37845            jQuery.each(y, function (t, e) {
37846                (e[0] == o || e[8] == o) && (w = e[1], v = e[2], m = x), x += 1
37847            })
37848        }
37849
37850        var r = punchgs.Power1.easeIn, s = punchgs.Power1.easeOut, l = punchgs.Power1.easeInOut,
37851            d = punchgs.Power2.easeIn, h = punchgs.Power2.easeOut, f = punchgs.Power2.easeInOut,
37852            c = (punchgs.Power3.easeIn, punchgs.Power3.easeOut), p = punchgs.Power3.easeInOut,
37853            u = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45],
37854            g = [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27], w = 0, v = 1, m = 0, x = 0,
37855            y = (new Array, [["boxslide", 0, 1, 10, 0, "box", !1, null, 0, s, s, 500, 6], ["boxfade", 1, 0, 10, 0, "box", !1, null, 1, l, l, 700, 5], ["slotslide-horizontal", 2, 0, 0, 200, "horizontal", !0, !1, 2, f, f, 700, 3], ["slotslide-vertical", 3, 0, 0, 200, "vertical", !0, !1, 3, f, f, 700, 3], ["curtain-1", 4, 3, 0, 0, "horizontal", !0, !0, 4, s, s, 300, 5], ["curtain-2", 5, 3, 0, 0, "horizontal", !0, !0, 5, s, s, 300, 5], ["curtain-3", 6, 3, 25, 0, "horizontal", !0, !0, 6, s, s, 300, 5], ["slotzoom-horizontal", 7, 0, 0, 400, "horizontal", !0, !0, 7, s, s, 300, 7], ["slotzoom-vertical", 8, 0, 0, 0, "vertical", !0, !0, 8, h, h, 500, 8], ["slotfade-horizontal", 9, 0, 0, 500, "horizontal", !0, null, 9, h, h, 500, 25], ["slotfade-vertical", 10, 0, 0, 500, "vertical", !0, null, 10, h, h, 500, 25], ["fade", 11, 0, 1, 300, "horizontal", !0, null, 11, f, f, 1e3, 1], ["crossfade", 11, 1, 1, 300, "horizontal", !0, null, 11, f, f, 1e3, 1], ["fadethroughdark", 11, 2, 1, 300, "horizontal", !0, null, 11, f, f, 1e3, 1], ["fadethroughlight", 11, 3, 1, 300, "horizontal", !0, null, 11, f, f, 1e3, 1], ["fadethroughtransparent", 11, 4, 1, 300, "horizontal", !0, null, 11, f, f, 1e3, 1], ["slideleft", 12, 0, 1, 0, "horizontal", !0, !0, 12, p, p, 1e3, 1], ["slideup", 13, 0, 1, 0, "horizontal", !0, !0, 13, p, p, 1e3, 1], ["slidedown", 14, 0, 1, 0, "horizontal", !0, !0, 14, p, p, 1e3, 1], ["slideright", 15, 0, 1, 0, "horizontal", !0, !0, 15, p, p, 1e3, 1], ["slideoverleft", 12, 7, 1, 0, "horizontal", !0, !0, 12, p, p, 1e3, 1], ["slideoverup", 13, 7, 1, 0, "horizontal", !0, !0, 13, p, p, 1e3, 1], ["slideoverdown", 14, 7, 1, 0, "horizontal", !0, !0, 14, p, p, 1e3, 1], ["slideoverright", 15, 7, 1, 0, "horizontal", !0, !0, 15, p, p, 1e3, 1], ["slideremoveleft", 
3785512, 8, 1, 0, "horizontal", !0, !0, 12, p, p, 1e3, 1], ["slideremoveup", 13, 8, 1, 0, "horizontal", !0, !0, 13, p, p, 1e3, 1], ["slideremovedown", 14, 8, 1, 0, "horizontal", !0, !0, 14, p, p, 1e3, 1], ["slideremoveright", 15, 8, 1, 0, "horizontal", !0, !0, 15, p, p, 1e3, 1], ["papercut", 16, 0, 0, 600, "", null, null, 16, p, p, 1e3, 2], ["3dcurtain-horizontal", 17, 0, 20, 100, "vertical", !1, !0, 17, l, l, 500, 7], ["3dcurtain-vertical", 18, 0, 10, 100, "horizontal", !1, !0, 18, l, l, 500, 5], ["cubic", 19, 0, 20, 600, "horizontal", !1, !0, 19, p, p, 500, 1], ["cube", 19, 0, 20, 600, "horizontal", !1, !0, 20, p, p, 500, 1], ["flyin", 20, 0, 4, 600, "vertical", !1, !0, 21, c, p, 500, 1], ["turnoff", 21, 0, 1, 500, "horizontal", !1, !0, 22, p, p, 500, 1], ["incube", 22, 0, 20, 200, "horizontal", !1, !0, 23, f, f, 500, 1], ["cubic-horizontal", 23, 0, 20, 500, "vertical", !1, !0, 24, h, h, 500, 1], ["cube-horizontal", 23, 0, 20, 500, "vertical", !1, !0, 25, h, h, 500, 1], ["incube-horizontal", 24, 0, 20, 500, "vertical", !1, !0, 26, f, f, 500, 1], ["turnoff-vertical", 25, 0, 1, 200, "horizontal", !1, !0, 27, f, f, 500, 1], ["fadefromright", 12, 1, 1, 0, "horizontal", !0, !0, 28, f, f, 1e3, 1], ["fadefromleft", 15, 1, 1, 0, "horizontal", !0, !0, 29, f, f, 1e3, 1], ["fadefromtop", 14, 1, 1, 0, "horizontal", !0, !0, 30, f, f, 1e3, 1], ["fadefrombottom", 13, 1, 1, 0, "horizontal", !0, !0, 31, f, f, 1e3, 1], ["fadetoleftfadefromright", 12, 2, 1, 0, "horizontal", !0, !0, 32, f, f, 1e3, 1], ["fadetorightfadefromleft", 15, 2, 1, 0, "horizontal", !0, !0, 33, f, f, 1e3, 1], ["fadetobottomfadefromtop", 14, 2, 1, 0, "horizontal", !0, !0, 34, f, f, 1e3, 1], ["fadetotopfadefrombottom", 13, 2, 1, 0, "horizontal", !0, !0, 35, f, f, 1e3, 1], ["parallaxtoright", 12, 3, 1, 0, "horizontal", !0, !0, 36, f, d, 1500, 1], ["parallaxtoleft", 15, 3, 1, 0, "horizontal", !0, !0, 37, f, d, 1500, 1], ["parallaxtotop", 14, 3, 1, 0, "horizontal", !0, !0, 38, f, r, 1500, 1], ["parallaxtobottom", 13, 3, 1, 0, "horizontal", !0, !0, 39, f, r, 1500, 1], ["scaledownfromright", 12, 4, 1, 0, "horizontal", !0, !0, 40, f, d, 1e3, 1], ["scaledownfromleft", 15, 4, 1, 0, "horizontal", !0, !0, 41, f, d, 1e3, 1], ["scaledownfromtop", 14, 4, 1, 0, "horizontal", !0, !0, 42, f, d, 1e3, 1], ["scaledownfrombottom", 13, 4, 1, 0, "horizontal", !0, !0, 43, f, d, 1e3, 1], ["zoomout", 13, 5, 1, 0, "horizontal", !0, !0, 44, f, d, 1e3, 1], ["zoomin", 13, 6, 1, 0, "horizontal", !0, !0, 45, f, d, 1e3, 1], ["slidingoverlayup", 27, 0, 1, 0, "horizontal", !0, !0, 47, l, s, 2e3, 1], ["slidingoverlaydown", 28, 0, 1, 0, "horizontal", !0, !0, 48, l, s, 2e3, 1], ["slidingoverlayright", 30, 0, 1, 0, "horizontal", !0, !0, 49, l, s, 2e3, 1], ["slidingoverlayleft", 29, 0, 1, 0, "horizontal", !0, !0, 50, l, s, 2e3, 1], ["parallaxcirclesup", 31, 0, 1, 0, "horizontal", !0, !0, 51, f, r, 1500, 1], ["parallaxcirclesdown", 32, 0, 1, 0, "horizontal", !0, !0, 52, f, r, 1500, 1], ["parallaxcirclesright", 33, 0, 1, 0, "horizontal", !0, !0, 53, f, r, 1500, 1], ["parallaxcirclesleft", 34, 0, 1, 0, "horizontal", !0, !0, 54, f, r, 1500, 1], ["notransition", 26, 0, 1, 0, "horizontal", !0, null, 46, f, d, 1e3, 1], ["parallaxright", 12, 3, 1, 0, "horizontal", !0, !0, 55, f, d, 1500, 1], ["parallaxleft", 15, 3, 1, 0, "horizontal", !0, !0, 56, f, d, 1500, 1], ["parallaxup", 14, 3, 1, 0, "horizontal", !0, !0, 57, f, r, 1500, 1], ["parallaxdown", 13, 3, 1, 0, "horizontal", !0, !0, 58, f, r, 1500, 1]]);
37856        e.duringslidechange = !0, e.testanims = !1, 1 == e.testanims && (e.nexttesttransform = void 0 === e.nexttesttransform ? 34 : e.nexttesttransform + 1, e.nexttesttransform = e.nexttesttransform > 70 ? 0 : e.nexttesttransform, o = y[e.nexttesttransform][0], console.log(o + "  " + e.nexttesttransform + "  " + y[e.nexttesttransform][1] + "  " + y[e.nexttesttransform][2])), jQuery.each(["parallaxcircles", "slidingoverlay", "slide", "slideover", "slideremove", "parallax"], function (t, e) {
37857            o == e + "horizontal" && (o = 1 != i ? e + "left" : e + "right"), o == e + "vertical" && (o = 1 != i ? e + "up" : e + "down")
37858        }), "random" == o && (o = Math.round(Math.random() * y.length - 1), o > y.length - 1 && (o = y.length - 1)), "random-static" == o && (o = Math.round(Math.random() * u.length - 1), o > u.length - 1 && (o = u.length - 1), o = u[o]), "random-premium" == o && (o = Math.round(Math.random() * g.length - 1), o > g.length - 1 && (o = g.length - 1), o = g[o]);
37859        var T = [12, 13, 14, 15, 16, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45];
37860        if (1 == e.isJoomla && void 0 != window.MooTools && -1 != T.indexOf(o)) {
37861            var z = Math.round(Math.random() * (g.length - 2)) + 1;
37862            z > g.length - 1 && (z = g.length - 1), 0 == z && (z = 1), o = g[z]
37863        }
37864        n(), w > 30 && (w = 30), 0 > w && (w = 0);
37865        var L = new Object;
37866        return L.nexttrans = w, L.STA = y[m], L.specials = v, L
37867    }, a = function (t, e) {
37868        return void 0 == e || jQuery.isNumeric(t) ? t : void 0 == t ? t : t.split(",")[e]
37869    }, i = function (t, i, n, r, s, l, d, h, f) {
37870        function c(t, e, o, a, i) {
37871            var n = t.find(".slot"), r = 6, s = [2, 1.2, .9, .7, .55, .42], l = t.width(), h = t.height();
37872            n.wrap('<div class="slot-circle-wrapper" style="overflow:hidden;position:absolute;border:1px solid #fff"></div>');
37873            for (var c = 0; r > c; c++) n.parent().clone(!1).appendTo(d);
37874            t.find(".slot-circle-wrapper").each(function (t) {
37875                if (r > t) {
37876                    var a = jQuery(this), n = a.find(".slot"), d = l > h ? s[t] * l : s[t] * h, c = d,
37877                        p = 0 + (c / 2 - l / 2), u = 0 + (d / 2 - h / 2), g = 0 != t ? "50%" : "0",
37878                        w = 31 == o ? h / 2 - d / 2 : 32 == o ? h / 2 - d / 2 : h / 2 - d / 2,
37879                        v = 33 == o ? l / 2 - c / 2 : 34 == o ? l - c : l / 2 - c / 2, m = {
37880                            scale: 1,
37881                            transformOrigo: "50% 50%",
37882                            width: c + "px",
37883                            height: d + "px",
37884                            top: w + "px",
37885                            left: v + "px",
37886                            borderRadius: g
37887                        }, x = {scale: 1, top: h / 2 - d / 2, left: l / 2 - c / 2, ease: i},
37888                        y = 31 == o ? u : 32 == o ? u : u, T = 33 == o ? p 
vendor: 11,817 bytes, lines 37888-38134
37888: 34 == o ? p + l / 2 : p,
37889                        z = {width: l, height: h, autoAlpha: 1, top: y + "px", position: "absolute", left: T + "px"},
37890                        L = {top: u + "px", left: p + "px", ease: i}, b = e, D = 0;
37891                    f.add(punchgs.TweenLite.fromTo(a, b, m, x), D), f.add(punchgs.TweenLite.fromTo(n, b, z, L), D), f.add(punchgs.TweenLite.fromTo(a, .001, {autoAlpha: 0}, {autoAlpha: 1}), 0)
37892                }
37893            })
37894        }
37895
37896        var p = l.index(), u = s.index(), g = p > u ? 1 : 0;
37897        "arrow" == r.sc_indicator && (g = r.sc_indicator_dir);
37898        var w = o(n, r, i, d, g), v = w.STA, m = w.specials, t = w.nexttrans;
37899        "on" == d.data("kenburns") && (t = 11);
37900        var x = s.data("nexttransid") || 0, y = a(s.data("masterspeed"), x);
37901        y = "default" === y ? v[11] : "random" === y ? Math.round(1e3 * Math.random() + 300) : void 0 != y ? parseInt(y, 0) : v[11], y = y > r.delay ? r.delay : y, y += v[4], r.slots = a(s.data("slotamount"), x), r.slots = void 0 == r.slots || "default" == r.slots ? v[12] : "random" == r.slots ? Math.round(12 * Math.random() + 4) : r.slots, r.slots = r.slots < 1 ? "boxslide" == i ? Math.round(6 * Math.random() + 3) : "flyin" == i ? Math.round(4 * Math.random() + 1) : r.slots : r.slots, r.slots = (4 == t || 5 == t || 6 == t) && r.slots < 3 ? 3 : r.slots, r.slots = 0 != v[3] ? Math.min(r.slots, v[3]) : r.slots, r.slots = 9 == t ? r.width / 20 : 10 == t ? r.height / 20 : r.slots, r.rotate = a(s.data("rotate"), x), r.rotate = void 0 == r.rotate || "default" == r.rotate ? 0 : 999 == r.rotate || "random" == r.rotate ? Math.round(360 * Math.random()) : r.rotate, r.rotate = !jQuery.support.transition || r.ie || r.ie9 ? 0 : r.rotate, 11 != t && (null != v[7] && e(h, r, v[7], v[5]), null != v[6] && e(d, r, v[6], v[5])), f.add(punchgs.TweenLite.set(d.find(".defaultvid"), {
37902            y: 0,
37903            x: 0,
37904            top: 0,
37905            left: 0,
37906            scale: 1
37907        }), 0), f.add(punchgs.TweenLite.set(h.find(".defaultvid"), {
37908            y: 0,
37909            x: 0,
37910            top: 0,
37911            left: 0,
37912            scale: 1
37913        }), 0), f.add(punchgs.TweenLite.set(d.find(".defaultvid"), {
37914            y: "+0%",
37915            x: "+0%"
37916        }), 0), f.add(punchgs.TweenLite.set(h.find(".defaultvid"), {
37917            y: "+0%",
37918            x: "+0%"
37919        }), 0), f.add(punchgs.TweenLite.set(d, {
37920            autoAlpha: 1,
37921            y: "+0%",
37922            x: "+0%"
37923        }), 0), f.add(punchgs.TweenLite.set(h, {
37924            autoAlpha: 1,
37925            y: "+0%",
37926            x: "+0%"
37927        }), 0), f.add(punchgs.TweenLite.set(d.parent(), {backgroundColor: "transparent"}), 0), f.add(punchgs.TweenLite.set(h.parent(), {backgroundColor: "transparent"}), 0);
37928        var T = a(s.data("easein"), x), z = a(s.data("easeout"), x);
37929        if (T = "default" === T ? v[9] || punchgs.Power2.easeInOut : T || v[9] || punchgs.Power2.easeInOut, z = "default" === z ? v[10] || punchgs.Power2.easeInOut : z || v[10] || punchgs.Power2.easeInOut, 0 == t) {
37930            var L = Math.ceil(r.height / r.sloth), b = 0;
37931            d.find(".slotslide").each(function (t) {
37932                var e = jQuery(this);
37933                b += 1, b == L && (b = 0), f.add(punchgs.TweenLite.from(e, y / 600, {
37934                    opacity: 0,
37935                    top: 0 - r.sloth,
37936                    left: 0 - r.slotw,
37937                    rotation: r.rotate,
37938                    force3D: "auto",
37939                    ease: T
37940                }), (15 * t + 30 * b) / 1500)
37941            })
37942        }
37943        if (1 == t) {
37944            var D, A = 0;
37945            d.find(".slotslide").each(function (t) {
37946                var e = jQuery(this), o = Math.random() * y + 300, a = 500 * Math.random() + 200;
37947                o + a > D && (D = a + a, A = t), f.add(punchgs.TweenLite.from(e, o / 1e3, {
37948                    autoAlpha: 0,
37949                    force3D: "auto",
37950                    rotation: r.rotate,
37951                    ease: T
37952                }), a / 1e3)
37953            })
37954        }
37955        if (2 == t) {
37956            var j = new punchgs.TimelineLite;
37957            h.find(".slotslide").each(function () {
37958                var t = jQuery(this);
37959                j.add(punchgs.TweenLite.to(t, y / 1e3, {
37960                    left: r.slotw,
37961                    ease: T,
37962                    force3D: "auto",
37963                    rotation: 0 - r.rotate
37964                }), 0), f.add(j, 0)
37965            }), d.find(".slotslide").each(function () {
37966                var t = jQuery(this);
37967                j.add(punchgs.TweenLite.from(t, y / 1e3, {
37968                    left: 0 - r.slotw,
37969                    ease: T,
37970                    force3D: "auto",
37971                    rotation: r.rotate
37972                }), 0), f.add(j, 0)
37973            })
37974        }
37975        if (3 == t) {
37976            var j = new punchgs.TimelineLite;
37977            h.find(".slotslide").each(function () {
37978                var t = jQuery(this);
37979                j.add(punchgs.TweenLite.to(t, y / 1e3, {
37980                    top: r.sloth,
37981                    ease: T,
37982                    rotation: r.rotate,
37983                    force3D: "auto",
37984                    transformPerspective: 600
37985                }), 0), f.add(j, 0)
37986            }), d.find(".slotslide").each(function () {
37987                var t = jQuery(this);
37988                j.add(punchgs.TweenLite.from(t, y / 1e3, {
37989                    top: 0 - r.sloth,
37990                    rotation: r.rotate,
37991                    ease: z,
37992                    force3D: "auto",
37993                    transformPerspective: 600
37994                }), 0), f.add(j, 0)
37995            })
37996        }
37997        if (4 == t || 5 == t) {
37998            setTimeout(function () {
37999                h.find(".defaultimg").css({opacity: 0})
38000            }, 100);
38001            var k = y / 1e3, j = new punchgs.TimelineLite;
38002            h.find(".slotslide").each(function (e) {
38003                var o = jQuery(this), a = e * k / r.slots;
38004                5 == t && (a = (r.slots - e - 1) * k / r.slots / 1.5), j.add(punchgs.TweenLite.to(o, 3 * k, {
38005                    transformPerspective: 600,
38006                    force3D: "auto",
38007                    top: 0 + r.height,
38008                    opacity: .5,
38009                    rotation: r.rotate,
38010                    ease: T,
38011                    delay: a
38012                }), 0), f.add(j, 0)
38013            }), d.find(".slotslide").each(function (e) {
38014                var o = jQuery(this), a = e * k / r.slots;
38015                5 == t && (a = (r.slots - e - 1) * k / r.slots / 1.5), j.add(punchgs.TweenLite.from(o, 3 * k, {
38016                    top: 0 - r.height,
38017                    opacity: .5,
38018                    rotation: r.rotate,
38019                    force3D: "auto",
38020                    ease: punchgs.eo,
38021                    delay: a
38022                }), 0), f.add(j, 0)
38023            })
38024        }
38025        if (6 == t) {
38026            r.slots < 2 && (r.slots = 2), r.slots % 2 && (r.slots = r.slots + 1);
38027            var j = new punchgs.TimelineLite;
38028            setTimeout(function () {
38029                h.find(".defaultimg").css({opacity: 0})
38030            }, 100), h.find(".slotslide").each(function (t) {
38031                var e = jQuery(this);
38032                if (t + 1 < r.slots / 2) var o = 90 * (t + 2); else var o = 90 * (2 + r.slots - t);
38033                j.add(punchgs.TweenLite.to(e, (y + o) / 1e3, {
38034                    top: 0 + r.height,
38035                    opacity: 1,
38036                    force3D: "auto",
38037                    rotation: r.rotate,
38038                    ease: T
38039                }), 0), f.add(j, 0)
38040            }), d.find(".slotslide").each(function (t) {
38041                var e = jQuery(this);
38042                if (t + 1 < r.slots / 2) var o = 90 * (t + 2); else var o = 90 * (2 + r.slots - t);
38043                j.add(punchgs.TweenLite.from(e, (y + o) / 1e3, {
38044                    top: 0 - r.height,
38045                    opacity: 1,
38046                    force3D: "auto",
38047                    rotation: r.rotate,
38048                    ease: z
38049                }), 0), f.add(j, 0)
38050            })
38051        }
38052        if (7 == t) {
38053            y = 2 * y, y > r.delay && (y = r.delay);
38054            var j = new punchgs.TimelineLite;
38055            setTimeout(function () {
38056                h.find(".defaultimg").css({opacity: 0})
38057            }, 100), h.find(".slotslide").each(function () {
38058                var t = jQuery(this).find("div");
38059                j.add(punchgs.TweenLite.to(t, y / 1e3, {
38060                    left: 0 - r.slotw / 2 + "px",
38061                    top: 0 - r.height / 2 + "px",
38062                    width: 2 * r.slotw + "px",
38063                    height: 2 * r.height + "px",
38064                    opacity: 0,
38065                    rotation: r.rotate,
38066                    force3D: "auto",
38067                    ease: T
38068                }), 0), f.add(j, 0)
38069            }), d.find(".slotslide").each(function (t) {
38070                var e = jQuery(this).find("div");
38071                j.add(punchgs.TweenLite.fromTo(e, y / 1e3, {
38072                    left: 0,
38073                    top: 0,
38074                    opacity: 0,
38075                    transformPerspective: 600
38076                }, {
38077                    left: 0 - t * r.slotw + "px",
38078                    ease: z,
38079                    force3D: "auto",
38080                    top: "0px",
38081                    width: r.width,
38082                    height: r.height,
38083                    opacity: 1,
38084                    rotation: 0,
38085                    delay: .1
38086                }), 0), f.add(j, 0)
38087            })
38088        }
38089        if (8 == t) {
38090            y = 3 * y, y > r.delay && (y = r.delay);
38091            var j = new punchgs.TimelineLite;
38092            h.find(".slotslide").each(function () {
38093                var t = jQuery(this).find("div");
38094                j.add(punchgs.TweenLite.to(t, y / 1e3, {
38095                    left: 0 - r.width / 2 + "px",
38096                    top: 0 - r.sloth / 2 + "px",
38097                    width: 2 * r.width + "px",
38098                    height: 2 * r.sloth + "px",
38099                    force3D: "auto",
38100                    ease: T,
38101                    opacity: 0,
38102                    rotation: r.rotate
38103                }), 0), f.add(j, 0)
38104            }), d.find(".slotslide").each(function (t) {
38105                var e = jQuery(this).find("div");
38106                j.add(punchgs.TweenLite.fromTo(e, y / 1e3, {left: 0, top: 0, opacity: 0, force3D: "auto"}, {
38107                    left: "0px",
38108                    top: 0 - t * r.sloth + "px",
38109                    width: d.find(".defaultimg").data("neww") + "px",
38110                    height: d.find(".defaultimg").data("newh") + "px",
38111                    opacity: 1,
38112                    ease: z,
38113                    rotation: 0
38114                }), 0), f.add(j, 0)
38115            })
38116        }
38117        if (9 == t || 10 == t) {
38118            var M = 0;
38119            d.find(".slotslide").each(function (t) {
38120                var e = jQuery(this);
38121                M++, f.add(punchgs.TweenLite.fromTo(e, y / 1e3, {
38122                    autoAlpha: 0,
38123                    force3D: "auto",
38124                    transformPerspective: 600
38125                }, {autoAlpha: 1, ease: T, delay: 5 * t / 1e3}), 0)
38126            })
38127        }
38128        if (27 == t || 28 == t || 29 == t || 30 == t) {
38129            var P = d.find(".slot"), Q = 27 == t || 28 == t ? 1 : 2, O = 27 == t || 29 == t ? "-100%" : "+100%",
38130                I = 27 == t || 29 == t ? "+100%" : "-100%", X = 27 == t || 29 == t ? "-80%" : "80%",
38131                Y = 27 == t || 29 == t ? "80%" : "-80%", S = 27 == t || 29 == t ? "10%" : "-10%",
38132                _ = {overwrite: "all"}, C = {autoAlpha: 0, zIndex: 1, force3D: "auto", ease: T},
38133                V = {position: "inherit", autoAlpha: 0, overwrite: "all", zIndex: 1},
38134                Z = {autoAlpha: 1, force3D: "auto", ease: z}
38134, H = {overwrite: "all", zIndex: 2},
38135                J = {autoAlpha: 1, force3D: "auto", overwrite: "all", ease: T}, N = {overwrite: "all", zIndex: 2},
38136                R = {autoAlpha: 1, force3D: "auto", ease: T}, q = 1 == Q ? "y" : "x";
38137            _[q] = "0px", C[q] = O, V[q] = S, Z[q] = "0%", H[q] = I, J[q] = O, N[q] = X, R[q] = Y, P.append('<span style="background-color:rgba(0,0,0,0.6);width:100%;height:100%;position:absolute;top:0px;left:0px;display:block;z-index:2"></span>'), f.add(punchgs.TweenLite.fromTo(h, y / 1e3, _, C), 0), f.add(punchgs.TweenLite.fromTo(d.find(".defaultimg"), y / 2e3, V, Z), y / 2e3), f.add(punchgs.TweenLite.fromTo(P, y / 1e3, H, J), 0), f.add(punchgs.TweenLite.fromTo(P.find(".slotslide div"), y / 1e3, N, R), 0)
38138        }
38139        if (31 == t || 32 == t || 33 == t || 34 == t) {
38140            y = 6e3, T = punchgs.Power3.easeInOut;
38141            var B = y / 1e3;
38142            mas = B - B / 5, _nt = t, fy = 31 == _nt ? "+100%" : 32 == _nt ? "-100%" : "0%", fx = 33 == _nt ? "+100%" : 34 == _nt ? "-100%" : "0%", ty = 31 == _nt ? "-100%" : 32 == _nt ? "+100%" : "0%", tx = 33 == _nt ? "-100%" : 34 == _nt ? "+100%" : "0%", f.add(punchgs.TweenLite.fromTo(h, B - .2 * B, {
38143                y: 0,
38144                x: 0
38145            }, {y: ty, x: tx, ease: z}), .2 * B), f.add(punchgs.TweenLite.fromTo(d, B, {y: fy, x: fx}, {
38146                y: "0%",
38147                x: "0%",
38148                ease: T
38149            }), 0), d.find(".slot").remove(), d.find(".defaultimg").clone().appendTo(d).addClass("slot"), c(d, B, _nt, "in", T)
38150        }
38151        if (11 == t) {
38152            m > 4 && (m = 0);
38153            var M = 0, E = 2 == m ? "#000000" : 3 == m ? "#ffffff" : "transparent";
38154            switch (m) {
38155                case 0:
38156                    f.add(punchgs.TweenLite.fromTo(d, y / 1e3, {autoAlpha: 0}, {
38157                        autoAlpha: 1,
38158                        force3D: "auto",
38159                        ease: T
38160                    }), 0);
38161                    break;
38162                case 1:
38163                    f.add(punchgs.TweenLite.fromTo(d, y / 1e3, {autoAlpha: 0}, {
38164                        autoAlpha: 1,
38165                        force3D: "auto",
38166                        ease: T
38167                    }), 0), f.add(punchgs.TweenLite.fromTo(h, y / 1e3, {autoAlpha: 1}, {
38168                        autoAlpha: 0,
38169                        force3D: "auto",
38170                        ease: T
38171                    }), 0);
38172                    break;
38173                case 2:
38174                case 3:
38175                case 4:
38176                    f.add(punchgs.TweenLite.set(h.parent(), {
38177                        backgroundColor: E,
38178                        force3D: "auto"
38179                    }), 0), f.add(punchgs.TweenLite.set(d.parent(), {
38180                        backgroundColor: "transparent",
38181                        force3D: "auto"
38182                    }), 0), f.add(punchgs.TweenLite.to(h, y / 2e3, {
38183                        autoAlpha: 0,
38184                        force3D: "auto",
38185                        ease: T
38186                    }), 0), f.add(punchgs.TweenLite.fromTo(d, y / 2e3, {autoAlpha: 0}, {
38187                        autoAlpha: 1,
38188                        force3D: "auto",
38189                        ease: T
38190                    }), y / 2e3)
38191            }
38192            f.add(punchgs.TweenLite.set(d.find(".defaultimg"), {autoAlpha: 1}), 0), f.add(punchgs.TweenLite.set(h.find("defaultimg"), {autoAlpha: 1}), 0)
38193        }
38194        if (26 == t) {
38195            var M = 0;
38196            y = 0, f.add(punchgs.TweenLite.fromTo(d, y / 1e3, {autoAlpha: 0}, {
38197                autoAlpha: 1,
38198                force3D: "auto",
38199                ease: T
38200            }), 0), f.add(punchgs.TweenLite.to(h, y / 1e3, {
38201                autoAlpha: 0,
38202                force3D: "auto",
38203                ease: T
38204            }), 0), f.add(punchgs.TweenLite.set(d.find(".defaultimg"), {autoAlpha: 1}), 0), f.add(punchgs.TweenLite.set(h.find("defaultimg"), {autoAlpha: 1}), 0)
38205        }
38206        if (12 == t || 13 == t || 14 == t || 15 == t) {
38207            y = y, y > r.delay && (y = r.delay), setTimeout(function () {
38208                punchgs.TweenLite.set(h.find(".defaultimg"), {autoAlpha: 0})
38209            }, 100);
38210            var F = r.width, G = r.height, K = d.find(".slotslide, .defaultvid"), U = 0, W = 0, $ = 1, te = 1, ee = 1,
38211                oe = y / 1e3, ae = oe;
38212            ("fullwidth" == r.sliderLayout || "fullscreen" == r.sliderLayout) && (F = K.width(), G = K.height()), 12 == t ? U = F : 15 == t ? U = 0 - F : 13 == t ? W = G : 14 == t && (W = 0 - G), 1 == m && ($ = 0), 2 == m && ($ = 0), 3 == m && (oe = y / 1300), (4 == m || 5 == m) && (te = .6), 6 == m && (te = 1.4), (5 == m || 6 == m) && (ee = 1.4, $ = 0, F = 0, G = 0, U = 0, W = 0), 6 == m && (ee = .6), 7 == m && (F = 0, G = 0);
38213            var ie = d.find(".slotslide"), ne = h.find(".slotslide, .defaultvid");
38214            if (f.add(punchgs.TweenLite.set(l, {zIndex: 15}), 0), f.add(punchgs.TweenLite.set(s, {zIndex: 20}), 0), 8 == m ? (f.add(punchgs.TweenLite.set(l, {zIndex: 20}), 0), f.add(punchgs.TweenLite.set(s, {zIndex: 15}), 0), f.add(punchgs.TweenLite.set(ie, {
38215                left: 0,
38216                top: 0,
38217                scale: 1,
38218                opacity: 1,
38219                rotation: 0,
38220                ease: T,
38221                force3D: "auto"
38222            }), 0)) : f.add(punchgs.TweenLite.from(ie, oe, {
38223                left: U,
38224                top: W,
38225                scale: ee,
38226                opacity: $,
38227                rotation: r.rotate,
38228                ease: T,
38229                force3D: "auto"
38230            }), 0), (4 == m || 5 == m) && (F = 0, G = 0), 1 != m) switch (t) {
38231                case 12:
38232                    f.add(punchgs.TweenLite.to(ne, ae, {
38233                        left: 0 - F + "px",
38234                        force3D: "auto",
38235                        scale: te,
38236                        opacity: $,
38237                        rotation: r.rotate,
38238                        ease: z
38239                    }), 0);
38240                    break;
38241                case 15:
38242                    f.add(punchgs.TweenLite.to(ne, ae, {
38243                        left: F + "px",
38244                        force3D: "auto",
38245                        scale: te,
38246                        opacity: $,
38247                        rotation: r.rotate,
38248                        ease: z
38249                    }), 0);
38250                    break;
38251                case 13:
38252                    f.add(punchgs.TweenLite.to(ne, ae, {
38253                        top: 0 - G + "px",
38254                        force3D: "auto",
38255                        scale: te,
38256                        opacity: $,
38257                        rotation: r.rotate,
38258                        ease: z
38259                    }), 0);
38260                    break;
38261                case 14:
38262                    f.add(punchgs.TweenLite.to(ne, ae, {
38263                        top: G + "px",
38264                        force3D: "auto",
38265                        scale: te,
38266                        opacity: $,
38267                        rotation: r.rotate,
38268                        ease: z
38269                    }), 0)
38270            }
38271        }
38272        if (16 == t) {
38273            var j = new punchgs.TimelineLite;
38274            f.add(punchgs.TweenLite.set(l, {
38275                position: "absolute",
38276                "z-index": 20
38277            }), 0), f.add(punchgs.TweenLite.set(s, {
38278                position: "absolute",
38279                "z-index": 15
38280            }), 0), l.wrapInner('<div class="tp-half-one" style="position:relative; width:100%;height:100%"></div>'), l.find(".tp-half-one").clone(!0).appendTo(l).addClass("tp-half-two"), l.find(".tp-half-two").removeClass("tp-half-one");
38281            var F = r.width, G = r.height;
38282            "on" == r.autoHeight && (G = n.height()), l.find(".tp-half-one .defaultimg").wrap('<div class="tp-papercut" style="width:' + F + "px;height:" + G + 'px;"></div>'), l.find(".tp-half-two .defaultimg").wrap('<div class="tp-papercut" style="width:' + F + "px;height:" + G + 'px;"></div>'), l.find(".tp-half-two .defaultimg").css({
38283                position: "absolute",
38284                top: "-50%"
38285            }), l.find(".tp-half-two .tp-caption").wrapAll('<div style="position:absolute;top:-50%;left:0px;"></div>'), f.add(punchgs.TweenLite.set(l.find(".tp-half-two"), {
38286                width: F,
38287                height: G,
38288                overflow: "hidden",
38289                zIndex: 15,
38290                position: "absolute",
38291                top: G / 2,
38292                left: "0px",
38293                transformPerspective: 600,
38294                transformOrigin: "center bottom"
38295            }), 0), f.add(punchgs.TweenLite.set(l.find(".tp-half-one"), {
38296                width: F,
38297                height: G / 2,
38298                overflow: "visible",
38299                zIndex: 10,
38300                position: "absolute",
38301                top: "0px",
38302                left: "0px",
38303                transformPerspective: 600,
38304                transformOrigin: "center top"
38305            }), 0);
38306            var re = (l.find(".defaultimg"), Math.round(20 * Math.random() - 10)),
38307                se = Math.round(20 * Math.random() - 10), le = Math.round(20 * Math.random() - 10),
38308                de = .4 * Math.random() - .2, he = .4 * Math.random() - .2, fe = 1 * Math.random() + 1,
38309                ce = 1 * Math.random() + 1, pe = .3 * Math.random() + .3;
38310            f.add(punchgs.TweenLite.set(l.find(".tp-half-one"), {overflow: "hidden"}
vendor: 6,466 bytes, lines 38310-38468
38310), 0), f.add(punchgs.TweenLite.fromTo(l.find(".tp-half-one"), y / 800, {
38311                width: F,
38312                height: G / 2,
38313                position: "absolute",
38314                top: "0px",
38315                left: "0px",
38316                force3D: "auto",
38317                transformOrigin: "center top"
38318            }, {
38319                scale: fe,
38320                rotation: re,
38321                y: 0 - G - G / 4,
38322                autoAlpha: 0,
38323                ease: T
38324            }), 0), f.add(punchgs.TweenLite.fromTo(l.find(".tp-half-two"), y / 800, {
38325                width: F,
38326                height: G,
38327                overflow: "hidden",
38328                position: "absolute",
38329                top: G / 2,
38330                left: "0px",
38331                force3D: "auto",
38332                transformOrigin: "center bottom"
38333            }, {
38334                scale: ce, rotation: se, y: G + G / 4, ease: T, autoAlpha: 0, onComplete: function () {
38335                    punchgs.TweenLite.set(l, {
38336                        position: "absolute",
38337                        "z-index": 15
38338                    }), punchgs.TweenLite.set(s, {
38339                        position: "absolute",
38340                        "z-index": 20
38341                    }), l.find(".tp-half-one").length > 0 && (l.find(".tp-half-one .defaultimg").unwrap(), l.find(".tp-half-one .slotholder").unwrap()), l.find(".tp-half-two").remove()
38342                }
38343            }), 0), j.add(punchgs.TweenLite.set(d.find(".defaultimg"), {autoAlpha: 1}), 0), null != l.html() && f.add(punchgs.TweenLite.fromTo(s, (y - 200) / 1e3, {
38344                scale: pe,
38345                x: r.width / 4 * de,
38346                y: G / 4 * he,
38347                rotation: le,
38348                force3D: "auto",
38349                transformOrigin: "center center",
38350                ease: z
38351            }, {autoAlpha: 1, scale: 1, x: 0, y: 0, rotation: 0}), 0), f.add(j, 0)
38352        }
38353        if (17 == t && d.find(".slotslide").each(function (t) {
38354            var e = jQuery(this);
38355            f.add(punchgs.TweenLite.fromTo(e, y / 800, {
38356                opacity: 0,
38357                rotationY: 0,
38358                scale: .9,
38359                rotationX: -110,
38360                force3D: "auto",
38361                transformPerspective: 600,
38362                transformOrigin: "center center"
38363            }, {
38364                opacity: 1,
38365                top: 0,
38366                left: 0,
38367                scale: 1,
38368                rotation: 0,
38369                rotationX: 0,
38370                force3D: "auto",
38371                rotationY: 0,
38372                ease: T,
38373                delay: .06 * t
38374            }), 0)
38375        }), 18 == t && d.find(".slotslide").each(function (t) {
38376            var e = jQuery(this);
38377            f.add(punchgs.TweenLite.fromTo(e, y / 500, {
38378                autoAlpha: 0,
38379                rotationY: 110,
38380                scale: .9,
38381                rotationX: 10,
38382                force3D: "auto",
38383                transformPerspective: 600,
38384                transformOrigin: "center center"
38385            }, {
38386                autoAlpha: 1,
38387                top: 0,
38388                left: 0,
38389                scale: 1,
38390                rotation: 0,
38391                rotationX: 0,
38392                force3D: "auto",
38393                rotationY: 0,
38394                ease: T,
38395                delay: .06 * t
38396            }), 0)
38397        }), 19 == t || 22 == t) {
38398            var j = new punchgs.TimelineLite;
38399            f.add(punchgs.TweenLite.set(l, {zIndex: 20}), 0), f.add(punchgs.TweenLite.set(s, {zIndex: 20}), 0), setTimeout(function () {
38400                h.find(".defaultimg").css({opacity: 0})
38401            }, 100);
38402            var ue = 90, $ = 1, ge = "center center ";
38403            1 == g && (ue = -90), 19 == t ? (ge = ge + "-" + r.height / 2, $ = 0) : ge += r.height / 2, punchgs.TweenLite.set(n, {
38404                transformStyle: "flat",
38405                backfaceVisibility: "hidden",
38406                transformPerspective: 600
38407            }), d.find(".slotslide").each(function (t) {
38408                var e = jQuery(this);
38409                j.add(punchgs.TweenLite.fromTo(e, y / 1e3, {
38410                    transformStyle: "flat",
38411                    backfaceVisibility: "hidden",
38412                    left: 0,
38413                    rotationY: r.rotate,
38414                    z: 10,
38415                    top: 0,
38416                    scale: 1,
38417                    force3D: "auto",
38418                    transformPerspective: 600,
38419                    transformOrigin: ge,
38420                    rotationX: ue
38421                }, {
38422                    left: 0,
38423                    rotationY: 0,
38424                    top: 0,
38425                    z: 0,
38426                    scale: 1,
38427                    force3D: "auto",
38428                    rotationX: 0,
38429                    delay: 50 * t / 1e3,
38430                    ease: T
38431                }), 0), j.add(punchgs.TweenLite.to(e, .1, {autoAlpha: 1, delay: 50 * t / 1e3}), 0), f.add(j)
38432            }), h.find(".slotslide").each(function (t) {
38433                var e = jQuery(this), o = -90;
38434                1 == g && (o = 90), j.add(punchgs.TweenLite.fromTo(e, y / 1e3, {
38435                    transformStyle: "flat",
38436                    backfaceVisibility: "hidden",
38437                    autoAlpha: 1,
38438                    rotationY: 0,
38439                    top: 0,
38440                    z: 0,
38441                    scale: 1,
38442                    force3D: "auto",
38443                    transformPerspective: 600,
38444                    transformOrigin: ge,
38445                    rotationX: 0
38446                }, {
38447                    autoAlpha: 1,
38448                    rotationY: r.rotate,
38449                    top: 0,
38450                    z: 10,
38451                    scale: 1,
38452                    rotationX: o,
38453                    delay: 50 * t / 1e3,
38454                    force3D: "auto",
38455                    ease: z
38456                }), 0), f.add(j)
38457            }), f.add(punchgs.TweenLite.set(l, {zIndex: 18}), 0)
38458        }
38459        if (20 == t) {
38460            if (setTimeout(function () {
38461                h.find(".defaultimg").css({opacity: 0})
38462            }, 100), 1 == g) var we = -r.width, ue = 80, ge = "20% 70% -" + r.height / 2; else var we = r.width,
38463                ue = -80, ge = "80% 70% -" + r.height / 2;
38464            d.find(".slotslide").each(function (t) {
38465                var e = jQuery(this), o = 50 * t / 1e3;
38466                f.add(punchgs.TweenLite.fromTo(e, y / 1e3, {
38467                    left: we,
38468                    rotationX: 40,
38469                    z: -600,
38470                    opacity: $,
38471                    top: 0,
38472                    scale: 1,
38473                    force3D: "auto",
38474                    transformPerspective: 600,
38475                    transformOrigin: ge,
38476                    transformStyle: "flat",
38477                    rotationY: ue
38478                }, {left: 0, rotationX: 0, opacity: 1, top: 0, z: 0, scale: 1, rotationY: 0, delay: o, ease: T}), 0)
38479            }), h.find(".slotslide").each(function (t) {
38480                var e = jQuery(this), o = 50 * t / 1e3;
38481                if (o = t > 0 ? o + y / 9e3 : 0, 1 != g) var a = -r.width / 2, i = 30,
38482                    n = "20% 70% -" + r.height / 2; else var a = r.width / 2, i = -30, n = "80% 70% -" + r.height / 2;
38483                z = punchgs.Power2.easeInOut, f.add(punchgs.TweenLite.fromTo(e, y / 1e3, {
38484                    opacity: 1,
38485                    rotationX: 0,
38486                    top: 0,
38487                    z: 0,
38488                    scale: 1,
38489                    left: 0,
38490                    force3D: "auto",
38491                    transformPerspective: 600,
38492                    transformOrigin: n,
38493                    transformStyle: "flat",
38494                    rotationY: 0
38495                }, {
38496                    opacity: 1, rotationX: 20, top: 0, z: -600, left: a, force3D: "auto", rotationY: i,
38497                    delay: o, ease: z
38498                }), 0)
38499            })
38500        }
38501        if (21 == t || 25 == t) {
38502            setTimeout(function () {
38503                h.find(".defaultimg").css({opacity: 0})
38504            }, 100);
38505            var ue = 90, we = -r.width, ve = -ue;
38506            if (1 == g) if (25 == t) {
38507                var ge = "center top 0";
38508                ue = r.rotate
38509            } else {
38510                var ge = "left center 0";
38511                ve = r.rotate
38512            } else if (we = r.width, ue = -90, 25 == t) {
38513                var ge = "center bottom 0";
38514                ve = -ue, ue = r.rotate
38515            } else {
38516                var ge = "right center 0";
38517                ve = r.rotate
38518            }
38519            d.find(".slotslide").each(function () {
38520                var t = jQuery(this), e = y / 1.5 / 3;
38521                f.add(punchgs.TweenLite.fromTo(t, 2 * e / 1e3, {
38522                    left: 0,
38523                    transformStyle: "flat",
38524                    rotationX: ve,
38525                    z: 0,
38526                    autoAlpha: 0,
38527                    top: 0,
38528                    scale: 1,
38529                    force3D: "auto",
38530                    transformPerspective: 1200,
38531                    transformOrigin: ge,
38532                    rotationY: ue
38533                }, {
38534                    left: 0,
38535                    rotationX: 0,
38536                    top: 0,
38537                    z: 0,
38538                    autoAlpha: 1,
38539                    scale: 1,
38540                    rotationY: 0,
38541                    force3D: "auto",
38542                    delay: e / 1e3,
38543                    ease: T
38544                }), 0)
38545            }), 1 != g ? (we = -r.width, ue = 90, 25 == t ? (ge = "center top 0", ve = -ue, ue = r.rotate) : (ge = "left center 0", ve = r.rotate)) : (we = r.width, ue = -90, 25 == t ? (ge = "center bottom 0", ve = -ue, ue = r.rotate) : (ge = "right center 0", ve = r.rotate)), h.find(".slotslide").each(function () {
38546                var t = jQuery(this);
38547                f.add(punchgs.TweenLite.fromTo(t, y / 1e3, {
38548                    left: 0,
38549                    transformStyle: "flat",
38550                    rotationX: 0,
38551                    z: 0,
38552                    autoAlpha: 1,
38553                    top: 0,
38554                    scale: 1,
38555                    force3D: "auto",
38556                    transformPerspective: 1200,
38557                    transformOrigin: ge,
38558                    rotationY: 0
38559                }, {
38560                    left: 0,
38561                    rotationX: ve,
38562                    top: 0,
38563                    z: 0,
38564                    autoAlpha: 1,
38565                    force3D: "auto",
38566                    scale: 1,
38567                    rotationY: ue,
38568                    ease: z
38569                }), 0)
38570            })
38571        }
38572        if (23 == t || 24 == t) {
38573            setTimeout(function () {
38574                h.find(".defaultimg").css({opacity: 0})
38575            }, 100);
38576            var ue = -90, $ = 1, me = 0;
38577            if (1 == g && (ue = 90), 23 == t) {
38578                var ge = "center center -" + r.width / 2;
38579                $ = 0
38580            } else var ge = "center center " + r.width / 2;
38581            punchgs.TweenLite.set(n, {
38582                transformStyle: "preserve-3d",
38583                backfaceVisibility: "hidden",
38584                perspective: 2500
38585            }), d.find(".slotslide").each(function (t) {
38586                var e = jQuery(this);
38587                f.add(punchgs.TweenLite.fromTo(e, y / 1e3, {
38588                    left: me,
38589                    rotationX: r.rotate,
38590                    force3D: "auto",
38591                    opacity: $,
38592                    top: 0,
38593                    scale: 1,
38594                    transformPerspective: 1200,
38595                    transformOrigin: ge,
38596                    rotationY: ue
38597                }, {
38598                    left: 0,
38599                    rotationX: 0,
38600                    autoAlpha: 1,
38601                    top: 0,
38602                    z: 0,
38603                    scale: 1,
38604                    rotationY: 0,
38605                    delay: 50 * t / 500,
38606                    ease: T
38607                }), 0)
38608            }), ue = 90, 1 == g && (ue = -90), h.find(".slotslide").each(function (e) {
38609                var o = jQuery(this);
38610                f.add(punchgs.TweenLite.fromTo(o, y / 1e3, {
38611                    left: 0,
38612                    rotationX: 0,
38613                    top: 0,
38614                    z: 0,
38615                    scale: 1,
38616                    force3D: "auto",
38617                    transformStyle: "flat",
38618                    transformPerspective: 1200,
38619                    transformOrigin: ge,
38620                    rotationY: 0
38621                }, {
38622                    left: me,
38623                    rotationX: r.rotate,
38624                    top: 0,
38625                    scale: 1,
38626                    rotationY: ue,
38627                    delay: 50 * e / 500,
38628                    ease: z
38629                }), 0), 23 == t && f.add(punchgs.TweenLite.fromTo(o, y / 2e3, {autoAlpha: 1}, {
38630                    autoAlpha: 0,
38631                    delay: 50 * e / 500 + y / 3e3,
38632                    ease: z
38633                }), 0)
38634            })
38635        }
38636        return f
38637    }
38638}(jQuery), !function (a) {
38639    function e(a, e, t, i, n, o, r) {
38640        var d = a.find(e);
38641        d.css("borderWidth", o + "px"), d.css(t, 0 - o + "px"), d.css(i, "0px solid transparent"), d.css(n, r)
38642    }
38643
38644    var t = jQuery.fn.revolution;
38645    t.is_mobile(), jQuery.extend(!0, t, {
38646        animcompleted: function (a, e) {
38647            var i = a.data("videotype"), n = a.data("autoplay"), o = a.data("autoplayonlyfirsttime");
38648            void 0 != i && "none" != i && (1 == n || "true" == n || "on" == n || "1sttime" == n || o ? (t.playVideo(a, e), t.toggleState(a.data("videotoggledby")), (o || "1sttime" == n) && (a.data("autoplayonlyfirsttime", !1), a.data("autoplay", "off"))) : ("no1sttime" == n && a.data("autoplay", "on"), t.unToggleState(a.data("videotoggledby"))))
38649        }, handleStaticLayers: function (a, e) {
38650            var t = parseInt(a.data("startslide"), 0), i = parseInt(a.data("endslide"), 0);
38651            0 > t && (t = 0), 0 > i && (i = e.slideamount), 0 === t && i === e.slideamount - 1 && (i = e.slideamount + 1), a.data("startslide", t), a.data("endslide", i)
38652        }, animateTheCaptions: function (a, e, i, n) {
38653            var o = "carousel" === e.sliderType ? 0 : e.width / 2 - e.gridwidth[e.curWinRange] * e.bw / 2, r = 0,
38654                d = a.data("index");
38655            e.layers = e.layers || new Object, e.layers[d] = e.layers[d] || a.find(".tp-caption"), e.layers["static"] = e.layers["static"] || e.c.find(".tp-static-layers").find(".tp-caption");
38656            var s = new Array;
38657            if (e.conh = e.c.height(), e.conw = e.c.width(), e.ulw = e.ul.width(), e.ulh = e.ul.height(), e.debugMode) {
38658                a.addClass("indebugmode"), a.find(".helpgrid").remove(), e.c.find(".hglayerinfo").remove(), a.append('<div class="helpgrid" style="width:' + e.gridwidth[e.curWinRange] * e.bw + "px;height:" + e.gridheight[e.curWinRange] * e.bw + 'px;"></div>');
38659                var l = a.find(".helpgrid");
38660                l.append('<div class="hginfo">Zoom:' + Math.round(100 * e.bw) + "% &nbsp;&nbsp;&nbsp; Device Level:" + e.curWinRange + "&nbsp;&nbsp;&nbsp; Grid Preset:" + e.gridwidth[e.curWinRange] + "x" + e.gridheight[e.curWinRange] + "</div>"), e.c.append('<div class="hglayerinfo"></div>'), l.append('<div class="tlhg"></div>')
38661            }
38662            s && jQuery.each(s, function (a) {
38663                var e = jQuery(this);
38664                punchgs.TweenLite.set(e.find(".tp-videoposter"), {autoAlpha: 1}), punchgs.TweenLite.set(e.find("iframe"), {autoAlpha: 0})
38665            }), e.layers[d] && jQuery.each(e.layers[d], function (a, e) {
38666                s.push(e)
38667            }), e.layers["static"] && jQuery.each(e.layers["static"], function (a, e) {
38668                s.push(e)
38669            }), s && jQuery.each(s, function (a) {
38670                t.animateSingleCaption(jQuery(this), e, o, r, a, i)
38671            });
38672            var p = jQuery("body").find("#" + e.c.attr("id")).find(".tp-bannertimer");
38673            p.data("opt", e), void 0 != n && setTimeout(function () {
38674                n.resume()
38675            }, 30)
38676        }, animateSingleCaption: function (a, n, r, u, w, y, b) {
38677            var x = y, T = h(a, n, "in", !0), L = a.data("_pw") || a.closest(".tp-parallax-wrap"),
38678                W = a.data("_lw") || a.closest(".tp-loop-wrap"), C = a.data("_mw") || a.closest(".tp-mask-wrap"),
38679                j = a.data("responsive") || "on", I = a.data("responsive_offset") || "on",
38680                R = a.data("basealign") || "grid", k = "grid" === R ? n.width : n.ulw,
38681                _ = "grid" === R ? n.height : n.ulh, S = jQuery("body").hasClass("rtl");
38682            if (a.data("_pw") || (a.data("_pw", L), a.data("_lw", W), a.data("_mw", C)), "fullscreen" == n.sliderLayout && (u = _ / 2 - n.gridheight[n.curWinRange] * n.bh / 2), ("on" == n.autoHeight || void 0 != n.minHeight && n.minHeight > 0) && (u = n.conh / 2 - n.gridheight[n.curWinRange] * n.bh / 2), 0 > u && (u = 0), n.debugMode) {
38683                a.closest("li").find(".helpgrid").css({top: u + "px", left: r + "px"});
38684                var z = n.c.find(".hglayerinfo");
38685                a.on("hover, mouseenter", function () {
38686                    var e = "";
38687                    a.data() && jQuery.each(a.data(), function (a, t) {
38688                        "object" != typeof t && (e = e + '<span style="white-space:nowrap"><span style="color:#27ae60">' + a + ":</span>" + t + "</span>&nbsp; &nbsp; ")
38689                    }), z.html(e)
38690                })
38691            }
38692            var Q = p(a.data("visibility"), n)[n.forcedWinRange] || p(a.data("visibility"), n) || "on";
38693            if ("off" == Q || k < n.hideCaptionAtLimit && "on" == a.data("captionhidden") || k < n.hideAllCaptionAtLimit ? a.addClass("tp-hidden-caption") : a.removeClass("tp-hidden-caption"), a.data("layertype", "html"), 0 > r && (r = 0), void 0 != a.data("thumbimage") && void 0 == a.data("videoposter") && a.data("videoposter", a.data("thumbimage")), a.find("img").length > 0) {
38694                var M = a.find("img");
38695                a.data("layertype", "image"), 0 == M.width() && M.css({width: "auto"}), 0 == M.height() && M.css({height: "auto"}), void 0 == M.data("ww") && M.width() > 0 && M.data("ww", M.width()), void 0 == M.data("hh") && M.height() > 0 && M.data("hh", M.height());
38696                var O = M.data("ww"), H = M.data("hh"), B = "slide" == R ? n.ulw : n.gridwidth[n.curWinRange],
38697                    A = "slide" == R ? n.ulh : n.gridheight[n.curWinRange],
38698                    O = p(M.data("ww"), n)[n.curWinRange] || p(M.data("ww"), n) || "auto",
38699                    H = p(M.data("hh"), n)[n.curWinRange] || p(M.data("hh"), n) || "auto",
38700                    F = "full" === O || "full-proportional" === O, D = "full" === H || "full-proportional" === H;
38701                if ("full-proportional" === O) {
38702                    var P = M.data("owidth"), X = M.data("oheight");
38703                    X / A > P / B ? (O = B, H = X * (B / P)) : (H = A, O = P * (A / X))
38704                } else O = F ? B : parseFloat(O), H = D ? A : parseFloat(H);
38705                void 0 == O && (O = 0), void 0 == H && (H = 0), "off" !== j ? ("grid" != R && F ? M.width(O) : M.width(O * n.bw), "grid" != R && D ? M.height(H) : M.height(H * n.bh)) : (M.width(O), M.height(H))
38706            }
38707            if ("slide" === R && (r = 0, u = 0), a.hasClass("tp-videolayer") || a.find("iframe").length > 0 || a.find("video").length > 0) {
38708                a.data("layertype", "video"), t.manageVideoLayer(a, n, y, x), y || x || (a.data("videotype"), t.resetVideo(a, n));
38709                var Y = a.data("aspectratio");
38710                void 0 != Y && Y.split(":").length > 1 && t.prepareCoveredVideo(Y, n, a);
38711                var M = a.find("iframe") ? a.find("iframe") : M 
38711= a.find("video"), V = a.find("iframe") ? !1 : !0,
38712                    N = a.hasClass("coverscreenvideo");
38713                M.css({display: "block"}), void 0 == a.data("videowidth") && (a.data("videowidth", M.width()), a.data("videoheight", M.height()));
38714                var Z, O = p(a.data("videowidth"), n)[n.curWinRange] || p(a.data("videowidth"), n) || "auto",
38715                    H = p(a.data("videoheight"), n)[n.curWinRange] || p(a.data("videoheight"), n) || "auto";
38716                O = parseFloat(O), H = parseFloat(H), void 0 === a.data("cssobj") && (Z = g(a, 0), a.data("cssobj", Z));
38717                var $ = m(a.data("cssobj"), n);
38718                if ("auto" == $.lineHeight && ($.lineHeight = $.fontSize + 4), a.hasClass("fullscreenvideo") || N) {
38719                    r = 0, u = 0, a.data("x", 0), a.data("y", 0);
38720                    var G = _;
38721                    "on" == n.autoHeight && (G = n.conh), a.css({width: k, height: G})
38722                } else punchgs.TweenLite.set(a, {
38723                    paddingTop: Math.round($.paddingTop * n.bh) + "px",
38724                    paddingBottom: Math.round($.paddingBottom * n.bh) + "px",
38725                    paddingLeft: Math.round($.paddingLeft * n.bw) + "px",
38726                    paddingRight: Math.round($.paddingRight * n.bw) + "px",
38727                    marginTop: $.marginTop * n.bh + "px",
38728                    marginBottom: $.marginBottom * n.bh + "px",
38729                    marginLeft: $.marginLeft * n.bw + "px",
38730                    marginRight: $.marginRight * n.bw + "px",
38731                    borderTopWidth: Math.round($.borderTopWidth * n.bh) + "px",
38732                    borderBottomWidth: Math.round($.borderBottomWidth * n.bh) + "px",
38733                    borderLeftWidth: Math.round($.borderLeftWidth * n.bw) + "px",
38734                    borderRightWidth: Math.round($.borderRightWidth * n.bw) + "px",
38735                    width: O * n.bw + "px",
38736                    height: H * n.bh + "px"
38737                });
38738                (0 == V && !N || 1 != a.data("forcecover") && !a.hasClass("fullscreenvideo") && !N) && (M.width(O * n.bw), M.height(H * n.bh))
38739            }
38740            a.find(".tp-resizeme, .tp-resizeme *").each(function () {
38741                v(jQuery(this), n, "rekursive", j)
38742            }), a.hasClass("tp-resizeme") && a.find("*").each(function () {
38743                v(jQuery(this), n, "rekursive", j)
38744            }), v(a, n, 0, j);
38745            var U = a.outerHeight(), q = a.css("backgroundColor");
38746            e(a, ".frontcorner", "left", "borderRight", "borderTopColor", U, q), e(a, ".frontcornertop", "left", "borderRight", "borderBottomColor", U, q), e(a, ".backcorner", "right", "borderLeft", "borderBottomColor", U, q), e(a, ".backcornertop", "right", "borderLeft", "borderTopColor", U, q), "on" == n.fullScreenAlignForce && (r = 0, u = 0);
38747            var E = a.data("arrobj");
38748            if (void 0 === E) {
38749                var E = new Object;
38750                E.voa = p(a.data("voffset"), n)[n.curWinRange] || p(a.data("voffset"), n)[0], E.hoa = p(a.data("hoffset"), n)[n.curWinRange] || p(a.data("hoffset"), n)[0], E.elx = p(a.data("x"), n)[n.curWinRange] || p(a.data("x"), n)[0], E.ely = p(a.data("y"), n)[n.curWinRange] || p(a.data("y"), n)[0]
38751            }
38752            var J = 0 == E.voa.length ? 0 : E.voa, K = 0 == E.hoa.length ? 0 : E.hoa,
38753                aa = 0 == E.elx.length ? 0 : E.elx, ea = 0 == E.ely.length ? 0 : E.ely, ta = a.outerWidth(!0),
38754                ia = a.outerHeight(!0);
38755            0 == ta && 0 == ia && (ta = n.ulw, ia = n.ulh);
38756            var na = "off" !== I ? parseInt(J, 0) * n.bw : parseInt(J, 0),
38757                oa = "off" !== I ? parseInt(K, 0) * n.bw : parseInt(K, 0),
38758                ra = "grid" === R ? n.gridwidth[n.curWinRange] * n.bw : k,
38759                da = "grid" === R ? n.gridheight[n.curWinRange] * n.bw : _;
38760            "on" == n.fullScreenAlignForce && (ra = n.ulw, da = n.ulh), aa = "center" === aa || "middle" === aa ? ra / 2 - ta / 2 + oa : "left" === aa ? oa : "right" === aa ? ra - ta - oa : "off" !== I ? aa * n.bw : aa, ea = "center" == ea || "middle" == ea ? da / 2 - ia / 2 + na : "top" == ea ? na : "bottom" == ea ? da - ia - na : "off" !== I ? ea * n.bw : ea, S && (aa += ta);
38761            var sa = a.data("lasttriggerstate"), la = a.data("triggerstate"), pa = a.data("start") || 100,
38762                ha = a.data("end"), ca = b ? 0 : "bytrigger" === pa || "sliderenter" === pa ? 0 : parseFloat(pa) / 1e3,
38763                ga = aa + r, ma = ea + u, ua = a.css("z-Index");
38764            b || ("reset" == sa && "bytrigger" != pa ? (a.data("triggerstate", "on"), a.data("animdirection", "in"), la = "on") : "reset" == sa && "bytrigger" == pa && (a.data("triggerstate", "off"), a.data("animdirection", "out"), la = "off")), punchgs.TweenLite.set(L, {
38765                zIndex: ua,
38766                top: ma,
38767                left: ga,
38768                overwrite: "auto"
38769            }), 0 == T && (x = !0), void 0 == a.data("timeline") || x || (2 != T && a.data("timeline").gotoAndPlay(0), x = !0), !y && a.data("timeline_out") && 2 != T && 0 != T && (a.data("timeline_out").kill(), a.data("outstarted", 0)), b && void 0 != a.data("timeline") && (a.removeData("$anims"), a.data("timeline").pause(0), a.data("timeline").kill(), void 0 != a.data("newhoveranim") && (a.data("newhoveranim").progress(0), a.data("newhoveranim").kill()), a.removeData("timeline"), punchgs.TweenLite.killTweensOf(a), a.unbind("hover"), a.removeClass("rs-hover-ready"), a.removeData("newhoveranim"));
38770            var va = a.data("timeline") ? a.data("timeline").time() : 0,
38771                fa = void 0 !== a.data("timeline") ? a.data("timeline").progress() : 0,
38772                wa = a.data("timeline") || new punchgs.TimelineLite({smoothChildTiming: !0});
38773            if (fa = jQuery.isNumeric(fa) ? fa : 0, wa.pause(), 1 > fa && 1 != a.data("outstarted") || 2 == T || b) {
38774                var ya = a;
38775                if (void 0 != a.data("mySplitText") && a.data("mySplitText").revert(), void 0 != a.data("splitin") && a.data("splitin").match(/chars|words|lines/g) || void 0 != a.data("splitout") && a.data("splitout").match(/chars|words|lines/g)) {
38776                    var ba = a.find("a").length > 0 ? a.find("a") : a;
38777                    a.data("mySplitText", new punchgs.SplitText(ba, {
38778                        type: "lines,words,chars",
38779                        charsClass: "tp-splitted",
38780                        wordsClass: "tp-splitted",
38781                        linesClass: "tp-splitted"
38782                    })), a.addClass("splitted")
38783                }
38784                void 0 !== a.data("mySplitText") && a.data("splitin") && a.data("splitin").match(/chars|words|lines/g) && (ya = a.data("mySplitText")[a.data("splitin")]);
38785                var xa = new Object,
38786                    Ta = void 0 != a.data("transform_in") ? a.data("transform_in").match(/\(R\)/gi) : !1;
38787                if (!a.data("$anims") || b || Ta) {
38788                    var La = i(), Wa = i(), Ca = o(),
38789                        ja = void 0 !== a.data("transform_hover") || void 0 !== a.data("style_hover");
38790                    Wa = s(Wa, a.data("transform_idle")), La = s(Wa, a.data("transform_in"), 1 == n.sdir), ja && (Ca = s(Ca, a.data("transform_hover")), Ca = c(Ca, a.data("style_hover")), a.data("hover", Ca)), La.elemdelay = void 0 == a.data("elementdelay") ? 0 : a.data("elementdelay"), Wa.anim.ease = La.anim.ease = La.anim.ease || punchgs.Power1.easeInOut, ja && !a.hasClass("rs-hover-ready") && (a.addClass("rs-hover-ready"), a.hover(function (a) {
38791                        var e = jQuery(a.currentTarget), t = e.data("hover"), i = e.data("timeline");
38792                        i && 1 == i.progress() && (void 0 === e.data("newhoveranim") || "none" === e.data("newhoveranim") ? e.data("newhoveranim", punchgs.TweenLite.to(e, t.speed, t.anim)) : (e.data("newhoveranim").progress(0), e.data("newhoveranim").play()))
38793                    }, function (a) {
38794                        var e = jQuery(a.currentTarget), t = e.data("timeline");
38795                        t && 1 == t.progress() && void 0 != e.data("newhoveranim") && e.data("newhoveranim").reverse()
38796                    })), xa = new Object, xa.f = La, xa.r = Wa, a.data("$anims")
38797                } else xa = a.data("$anims");
38798                var Ia = l(a.data("mask_in")), Ra = new punchgs.TimelineLite;
38799                if (xa.f.anim.x = xa.f.anim.x * n.bw || d(xa.f.anim.x, n, ta, ia, ma, ga, "horizontal"), xa.f.anim.y = xa.f.anim.y * n.bw || d(xa.f.anim.y, n, ta, ia, ma, ga, "vertical"), 2 != T || b) {
38800                    if (ya != a) {
38801                        var ka = xa.r.anim.ease;
38802                        wa.add(punchgs.TweenLite.set(a, xa.r.anim)), xa.r = i(), xa.r.anim.ease = ka
38803                    }
38804                    if (xa.f.anim.visibility = "hidden", Ra.eventCallback("onStart", function () {
38805                        punchgs.TweenLite.set(a, {visibility: "visible"}), a.data("iframes") && a.find("iframe").each(function () {
38806                            punchgs.TweenLite.set(jQuery(this), {autoAlpha: 1})
38807                        }), punchgs.TweenLite.set(L, {visibility: "visible"});
38808                        var e = {};
38809                        e.layer = a, e.eventtype = "enterstage", e.layertype = a.data("layertype"), e.layersettings = a.data(), n.c.trigger("revolution.layeraction", e)
38810                    }), Ra.eventCallback("onComplete", function () {
38811                        var e = {};
38812                        e.layer = a, e.eventtype = "enteredstage", e.layertype = a.data("layertype"), e.layersettings = a.data(), n.c.trigger("revolution.layeraction", e), t.animcompleted(a, n)
38813                    }), "sliderenter" == pa && n.overcontainer && (ca = .6), wa.add(Ra.staggerFromTo(ya, xa.f.speed, xa.f.anim, xa.r.anim, xa.f.elemdelay), ca), Ia) {
38814                        var _a = new Object;
38815                        _a.ease = xa.r.anim.ease, _a.overflow = Ia.anim.overflow = "hidden", _a.x = _a.y = 0, Ia.anim.x = Ia.anim.x * n.bw || d(Ia.anim.x, n, ta, ia, ma, ga, "horizontal"), Ia.anim.y = Ia.anim.y * n.bw || d(Ia.anim.y, n, ta, ia, ma, ga, "vertical"), wa.add(punchgs.TweenLite.fromTo(C, xa.f.speed, Ia.anim, _a, La.elemdelay), ca)
38816                    } else wa.add(punchgs.TweenLite.set(C, {overflow: "visible"}, La.elemdelay), 0)
38817                }
38818                a.data("timeline", wa), n.sliderscrope = void 0 === n.sliderscrope ? Math.round(99999 * Math.random()) : n.sliderscrope, T = h(a, n, "in"), 0 !== fa && 2 != T || "bytrigger" === ha || b || "sliderleave" == ha || (void 0 == ha || -1 != T && 2 != T || "bytriger" === ha ? punchgs.TweenLite.delayedCall(999999, t.endMoveCaption, [a, C, L, n], n.sliderscrope) : punchgs.TweenLite.delayedCall(parseInt(a.data("end"), 0) / 1e3, t.endMoveCaption, [a, C, L, n], n.sliderscrope)), wa = a.data("timeline"), "on" == a.data("loopanimation") && f(W, n.bw), ("sliderenter" != pa || "sliderenter" == pa && n.overcontainer) && (-1 == T || 1 == T || b || 0 == T && 1 > fa && a.hasClass("rev-static-visbile")) && (1 > fa && fa > 0 || 0 == fa && "bytrigger" != pa && "keep" != sa || 0 == fa && "bytrigger" != pa && "keep" == sa && "on" == la || "bytrigger" == pa && "keep" == sa && "on" == la) && (wa.resume(va), t.toggleState(a.data("layertoggledby")))
38819            }
38820            "on" == a.data("loopanimation") && punchgs.TweenLite.set(W, {
38821                minWidth: ta,
38822                minHeight: ia
38823            }), 0 == a.data("slidelink") || 1 != a.data("slidelink") && !a.hasClass("slidelink") ? (punchgs.TweenLite.set(C, {
38824                width: "auto",
38825                height: "auto"
38826            }), a.data("slidelink", 0)) : (punchgs.TweenLite.set(C, {
38827                width: "100%",
38828                height: "100%"
38829            }), a.data("slidelink", 1))
38830        }, endMoveCaption: function (a, e, t, o) {
38831            if (e = e || a.data("_mw"), t = t || a.data("_pw"), a.data("outstarted", 1), a.data("timeline")) a.data("timeline").pause(); else if (void 0 === a.data("_pw")) return;
38832            var r = new punchgs.TimelineLite, p = new punchgs.TimelineLite, h = new punchgs.TimelineLite,
38833                c = s(i(), a.data("transform_in"), 1 == o.sdir),
38834                g = a.data("transform_out") ? s(n(), a.data("transform_out"), 1 == o.sdir) : s(n(), a.data("transform_in"), 1 == o.sdir),
38835                m = a.data("splitout") && a.data("splitout").match(/words|chars|lines/g) ? a.data("mySplitText")[a.data("splitout")] : a,
38836                u = void 0 == a.data("endelementdelay") ? 0 : a.data("endelementdelay"), v = a.innerWidth(),
38837                f = a.innerHeight(), w = t.position();
38838            a.data("transform_out") && a.data("transform_out").match(/auto:auto/g) && (c.speed = g.speed, c.anim.ease = g.anim.ease, g = c);
38839            var y = l(a.data("mask_out"));
38840            g.anim.x = g.anim.x * o.bw || d(g.anim.x, o, v, f, w.top, w.left, "horizontal"), g.anim.y = g.anim.y * o.bw || d(g.anim.y, o, v, f, w.top, w.left, "vertical"), p.eventCallback("onStart", function () {
38841                var e = {};
38842                e.layer = a, e.eventtype = "leavestage", e.layertype = a.data("layertype"), e.layersettings = a.data(), o.c.trigger("revolution.layeraction", e)
38843            }), p.eventCallback("onComplete", function () {
38844                punchgs.TweenLite.set(a, {visibility: "hidden"}), punchgs.TweenLite.set(t, {visibility: "hidden"});
38845                var e = {};
38846                e.layer = a, e.eventtype = "leftstage", e.layertype = a.data("layertype"), e.layersettings = a.data(), o.c.trigger("revolution.layeraction", e)
38847            }), r.add(p.staggerTo(m, g.speed, g.anim, u), 0), y ? (y.anim.ease = g.anim.ease, y.anim.overflow = "hidden", y.anim.x = y.anim.x * o.bw || d(y.anim.x, o, v, f, w.top, w.left, "horizontal"), y.anim.y = y.anim.y * o.bw || d(y.anim.y, o, v, f, w.top, w.left, "vertical"), r.add(h.to(e, g.speed, y.anim, u), 0)) : r.add(h.set(e, {
38848                overflow: "visible",
38849                overwrite: "auto"
38850            }, u), 0), a.data("timeline_out", r)
38851        }, removeTheCaptions: function (a, e) {
38852            var i = a.data("index"), n = new Array;
38853            e.layers[i] && jQuery.each(e.layers[i], function (a, e) {
38854                n.push(e)
38855            }), e.layers["static"] && jQuery.each(e.layers["static"], function (a, e) {
38856                n.push(e)
38857            }), punchgs.TweenLite.killDelayedCallsTo(t.endMoveCaption, !1, e.sliderscrope), n && jQuery.each(n, function (a) {
38858                var i = jQuery(this), n = h(i, e, "out");
38859                0 != n && (w(i), clearTimeout(i.data("videoplaywait")), t.stopVideo && t.stopVideo(i, e), t.endMoveCaption(i, null, null, e), e.playingvideos = [], e.lastplayedvideos 
38859= [])
38860            })
38861        }
38862    });
38863    var i = function () {
38864        var a = new Object;
38865        return a.anim = new Object, a.anim.x = 0, a.anim.y = 0, a.anim.z = 0, a.anim.rotationX = 0, a.anim.rotationY = 0, a.anim.rotationZ = 0, a.anim.scaleX = 1, a.anim.scaleY = 1, a.anim.skewX = 0, a.anim.skewY = 0, a.anim.opacity = 1, a.anim.transformOrigin = "50% 50%", a.anim.transformPerspective = 600, a.anim.rotation = 0, a.anim.ease = punchgs.Power3.easeOut, a.anim.force3D = "auto", a.speed = .3, a.anim.autoAlpha = 1, a.anim.visibility = "visible", a.anim.overwrite = "all", a
38866    }, n = function () {
38867        var a = new Object;
38868        return a.anim = new Object, a.anim.x = 0, a.anim.y = 0, a.anim.z = 0, a
38869    }, o = function () {
38870        var a = new Object;
38871        return a.anim = new Object, a.speed = .2, a
38872    }, r = function (a, e) {
38873        if (jQuery.isNumeric(parseFloat(a))) return parseFloat(a);
38874        if (void 0 === a || "inherit" === a) return e;
38875        if (a.split("{").length > 1) {
38876            var t = a.split(","), i = parseFloat(t[1].split("}")[0]);
38877            t = parseFloat(t[0].split("{")[1]), a = Math.random() * (i - t) + t
38878        }
38879        return a
38880    }, d = function (a, e, t, i, n, o, r) {
38881        return !jQuery.isNumeric(a) && a.match(/%]/g) ? (a = a.split("[")[1].split("]")[0], "horizontal" == r ? a = (t + 2) * parseInt(a, 0) / 100 : "vertical" == r && (a = (i + 2) * parseInt(a, 0) / 100)) : (a = "layer_left" === a ? 0 - t : "layer_right" === a ? t : a, a = "layer_top" === a ? 0 - i : "layer_bottom" === a ? i : a, a = "left" === a || "stage_left" === a ? 0 - t - o : "right" === a || "stage_right" === a ? e.conw - o : "center" === a || "stage_center" === a ? e.conw / 2 - t / 2 - o : a, a = "top" === a || "stage_top" === a ? 0 - i - n : "bottom" === a || "stage_bottom" === a ? e.conh - n : "middle" === a || "stage_middle" === a ? e.conh / 2 - i / 2 - n : a), a
38882    }, s = function (a, e, t) {
38883        var i = new Object;
38884        if (i = jQuery.extend(!0, {}, i, a), void 0 === e) return i;
38885        var n = e.split(";");
38886        return n && jQuery.each(n, function (a, e) {
38887            var n = e.split(":"), o = n[0], d = n[1];
38888            t && void 0 != d && d.length > 0 && d.match(/\(R\)/) && (d = d.replace("(R)", ""), d = "right" === d ? "left" : "left" === d ? "right" : "top" === d ? "bottom" : "bottom" === d ? "top" : d, "[" === d[0] && "-" === d[1] ? d = d.replace("[-", "[") : "[" === d[0] && "-" !== d[1] ? d = d.replace("[", "[-") : "-" === d[0] ? d = d.replace("-", "") : d[0].match(/[1-9]/) && (d = "-" + d)), void 0 != d && (d = d.replace(/\(R\)/, ""), ("rotationX" == o || "rX" == o) && (i.anim.rotationX = r(d, i.anim.rotationX) + "deg"), ("rotationY" == o || "rY" == o) && (i.anim.rotationY = r(d, i.anim.rotationY) + "deg"), ("rotationZ" == o || "rZ" == o) && (i.anim.rotation = r(d, i.anim.rotationZ) + "deg"), ("scaleX" == o || "sX" == o) && (i.anim.scaleX = r(d, i.anim.scaleX)), ("scaleY" == o || "sY" == o) && (i.anim.scaleY = r(d, i.anim.scaleY)), ("opacity" == o || "o" == o) && (i.anim.opacity = r(d, i.anim.opacity)), ("skewX" == o || "skX" == o) && (i.anim.skewX = r(d, i.anim.skewX)), ("skewY" == o || "skY" == o) && (i.anim.skewY = r(d, i.anim.skewY)), "x" == o && (i.anim.x = r(d, i.anim.x)), "y" == o && (i.anim.y = r(d, i.anim.y)), "z" == o && (i.anim.z = r(d, i.anim.z)), ("transformOrigin" == o || "tO" == o) && (i.anim.transformOrigin = d.toString()), ("transformPerspective" == o || "tP" == o) && (i.anim.transformPerspective = parseInt(d, 0)), ("speed" == o || "s" == o) && (i.speed = parseFloat(d) / 1e3), ("ease" == o || "e" == o) && (i.anim.ease = d))
38889        }), i
38890    }, l = function (a) {
38891        if (void 0 === a) return !1;
38892        var e = new Object;
38893        e.anim = new Object;
38894        var t = a.split(";");
38895        return t && jQuery.each(t, function (a, t) {
38896            t = t.split(":");
38897            var i = t[0], n = t[1];
38898            "x" == i && (e.anim.x = n), "y" == i && (e.anim.y = n), "s" == i && (e.speed = parseFloat(n) / 1e3), ("e" == i || "ease" == 
38898i) && (e.anim.ease = n)
38899        }), e
38900    }, p = function (a, e, t) {
38901        if (void 0 == a && (a = 0), !jQuery.isArray(a) && "string" === jQuery.type(a) && (a.split(",").length > 1 || a.split("[").length > 1)) {
38902            a = a.replace("[", ""), a = a.replace("]", "");
38903            var i = a.match(/'/g) ? a.split("',") : a.split(",");
38904            a = new Array, i && jQuery.each(i, function (e, t) {
38905                t = t.replace("'", ""), t = t.replace("'", ""), a.push(t)
38906            })
38907        } else {
38908            var n = a;
38909            jQuery.isArray(a) || (a = new Array, a.push(n))
38910        }
38911        var n = a[a.length - 1];
38912        if (a.length < e.rle) for (var o = 1; o <= e.curWinRange; o++) a.push(n);
38913        return a
38914    }, h = function (a, e, t, i) {
38915        var n = -1;
38916        if (a.hasClass("tp-static-layer")) {
38917            var o = parseInt(a.data("startslide"), 0), r = parseInt(a.data("endslide"), 0),
38918                d = e.c.find(".processing-revslide").index(), s = -1 != d ? d : e.c.find(".active-revslide").index();
38919            s = -1 == s ? 0 : s, "in" === t ? a.hasClass("rev-static-visbile") ? n = r == s || o > s || s > r ? 2 : 0 : s >= o && r >= s || o == s || r == s ? (i || (a.addClass("rev-static-visbile"), a.removeClass("rev-static-hidden")), n = 1) : n = 0 : a.hasClass("rev-static-visbile") ? o > s || s > r ? (n = 2, i || (a.removeClass("rev-static-visbile"), a.addClass("rev-static-hidden"))) : n = 0 : n = 2
38920        }
38921        return n
38922    }, c = function (a, e) {
38923        if (void 0 === e) return a;
38924        e = e.replace("c:", "color:"), e = e.replace("bg:", "background-color:"), e = e.replace("bw:", "border-width:"), e = e.replace("bc:", "border-color:"), e = e.replace("br:", "borderRadius:"), e = e.replace("bs:", "border-style:"), e = e.replace("td:", "text-decoration:");
38925        var t = e.split(";");
38926        return t && jQuery.each(t, function (e, t) {
38927            var i = t.split(":");
38928            i[0].length > 0 && (a.anim[i[0]] = i[1])
38929        }), a
38930    }, g = function (a, e) {
38931        var t, i = new Object, n = !1;
38932        if ("rekursive" == e && (t = a.closest(".tp-caption"), t && a.css("fontSize") === t.css("fontSize") && (n = !0)), i.basealign = a.data("basealign") || "grid", i.fontSize = n ? void 0 === t.data("fontsize") ? parseInt(t.css("fontSize"), 0) || 0 : t.data("fontsize") : void 0 === a.data("fontsize") ? parseInt(a.css("fontSize"), 0) || 0 : a.data("fontsize"), i.fontWeight = n ? void 0 === t.data("fontweight") ? parseInt(t.css("fontWeight"), 0) || 0 : t.data("fontweight") : void 0 === a.data("fontweight") ? parseInt(a.css("fontWeight"), 0) || 0 : a.data("fontweight"), i.whiteSpace = n ? void 0 === t.data("whitespace") ? t.css("whitespace") || "normal" : t.data("whitespace") : void 0 === a.data("whitespace") ? a.css("whitespace") || "normal" : a.data("whitespace"), i.lineHeight = n ? void 0 === t.data("lineheight") ? parseInt(t.css("lineHeight"), 0) || 0 : t.data("lineheight") : void 0 === a.data("lineheight") ? parseInt(a.css("lineHeight"), 0) || 0 : a.data("lineheight"), i.letterSpacing = n ? void 0 === t.data("letterspacing") ? parseFloat(t.css("letterSpacing"), 0) || 0 : t.data("letterspacing") : void 0 === a.data("letterspacing") ? parseFloat(a.css("letterSpacing")) || 0 : a.data("letterspacing"), i.paddingTop = void 0 === a.data("paddingtop") ? parseInt(a.css("paddingTop"), 0) || 0 : a.data("paddingtop"), i.paddingBottom = void 0 === a.data("paddingbottom") ? parseInt(a.css("paddingBottom"), 0) || 0 : a.data("paddingbottom"), i.paddingLeft = void 0 === a.data("paddingleft") ? parseInt(a.css("paddingLeft"), 0) || 0 : a.data("paddingleft"), i.paddingRight = void 0 === a.data("paddingright") ? parseInt(a.css("paddingRight"), 0) || 0 : a.data("paddingright"), i.marginTop = void 0 === a.data("margintop") ? parseInt(a.css("marginTop"), 0) || 0 : a.data("margintop"), i.marginBottom = void 0 === a.data("marginbottom") ? parseInt(a.css("marginBottom"), 0) || 0 : a.data("marginbottom"), i.marginLeft = void 0 === a.data("marginleft") ? parseInt(a.css("marginLeft"), 0) || 0 : a.data("marginleft"), i.marginRight = void 0 === a.data("marginright") ? parseInt(a.css("marginRight"), 0) || 0 : a.data("marginright"), i.borderTopWidth = void 0 === a.data("bordertopwidth") ? parseInt(a.css("borderTopWidth"), 0) || 0 : a.data("bordertopwidth"), i.borderBottomWidth = void 0 === a.data("borderbottomwidth") ? parseInt(a.css("borderBottomWidth"), 0) || 0 : a.data("borderbottomwidth"), i.borderLeftWidth = void 0 === a.data("borderleftwidth") ? parseInt(a.css("borderLeftWidth"), 0) || 0 : a.data("borderleftwidth"), i.borderRightWidth = void 0 === a.data("borderrightwidth") ? parseInt(a.css("borderRightWidth"), 0) || 0 : a.data("borderrightwidth"), "rekursive" != e) {
38933            if (i.color = void 0 === a.data("color") ? "nopredefinedcolor" : a.data("color"), i.whiteSpace = n ? void 0 === t.data("whitespace") ? t.css("whiteSpace") || "nowrap" : t.data("whitespace") : void 0 === a.data("whitespace") ? a.css("whiteSpace") || "nowrap" : a.data("whitespace"), i.minWidth = void 0 === a.data("width") ? parseInt(a.css("minWidth"), 0) || 0 : a.data("width"), i.minHeight = void 0 === a.data("height") ? parseInt(a.css("minHeight"), 0) || 0 : a.data("height"), void 0 != a.data("videowidth") && void 0 != a.data("videoheight")) {
38934                var o = a.data("videowidth"), r = a.data("videoheight");
38935                o = "100%" === o ? "none" : o, r = "100%" === r ? "none" : r, a.data("width", o), a.data("height", r)
38936            }
38937            i.maxWidth = void 0 === a.data("width") ? parseInt(a.css("maxWidth"), 0) || "none" : a.data("width"), i.maxHeight = void 0 === a.data("height") ? parseInt(a.css("maxHeight"), 0) || "none" : a.data("height"), i.wan = void 0 === a.data("wan") ? parseInt(a.css("-webkit-transition"), 0) || "none" : a.data("wan"), i.moan = void 0 === a.data("moan") ? parseInt(a.css("-moz-animation-transition"), 0) || "none" : a.data("moan"), i.man = void 0 === a.data("man") ? parseInt(a.css("-ms-animation-transition"), 0) || "none" : a.data("man"), i.ani = void 0 === a.data("ani") ? parseInt(a.css("transition"), 0) || "none" : a.data("ani")
38938        }
38939        return i.styleProps = a.css(["background-color", "border-top-color", "border-bottom-color", "border-right-color", "border-left-color", "border-top-style", "border-bottom-style", "border-left-style", "border-right-style", "border-left-width", "border-right-width", "border-bottom-width", "border-top-width", "color", "text-decoration", "font-style", "border-radius"]), i
38940    }, m = function (a, e) {
38941        var t = new Object;
38942        return a && jQuery.each(a, function (i, n) {
38943            t[i] = p(n, e)[e.curWinRange] || a[i]
38944        }), t
38945    }, u = function (a, e, t, i) {
38946        return a = jQuery.isNumeric(a) ? a * e + "px" : a, a = "full" === a ? i : "auto" === a || "none" === a ? t : a
38947    }, v = function (a, e, t, i) {
38948        var n;
38949        void 0 === a.data("cssobj") ? (n = g(a, t), a.data("cssobj", n)) : n = a.data("cssobj");
38950        var o = m(n, e), r = e.bw, d = e.bh;
38951        if ("off" === i && (r = 1, d = 1), "auto" == o.lineHeight && (o.lineHeight = o.fontSize + 4), !a.hasClass("tp-splitted")) {
38952            a.css("-webkit-transition", "none"), a.css("-moz-transition", "none"), a.css("-ms-transition", "none"), a.css("transition", "none");
38953            var s = void 0 !== a.data("transform_hover") || void 0 !== a.data("style_hover");
38954            if (s && punchgs.TweenLite.set(a, o.styleProps), punchgs.TweenLite.set(a, {
38955                fontSize: Math.round(o.fontSize * r) + "px",
38956                fontWeight: o.fontWeight,
38957                letterSpacing: Math.floor(o.letterSpacing * r) + "px",
38958                paddingTop: Math.round(o.paddingTop * d) + "px",
38959                paddingBottom: Math.round(o.paddingBottom * d) + "px",
38960                paddingLeft: Math.round(o.paddingLeft * r) + "px",
38961                paddingRight: Math.round(o.paddingRight * r) + "px",
38962                marginTop: o.marginTop * d + "px",
38963                marginBottom: o.marginBottom * d + "px",
38964                marginLeft: o.marginLeft * r + "px",
38965                marginRight: o.marginRight * r + "px",
38966                borderTopWidth: Math.round(o.borderTopWidth * d) + "px",
38967                borderBottomWidth: Math.round(o.borderBottomWidth * d) + "px",
38968                borderLeftWidth: Math.round(o.borderLeftWidth * r) + "px",
38969                borderRightWidth: Math.round(o.borderRightWidth * r) + "px",
38970                lineHeight: Math.round(o.lineHeight * d) + "px",
38971                overwrite: "auto"
38972            }), "rekursive" != t) {
38973                var l = "slide" == o.basealign ? e.ulw : e.gridwidth[e.curWinRange],
38974                    p = "slide" == o.basealign ? e.ulh : e.gridheight[e.curWinRange], h = u(o.maxWidth, r, "none", l),
38975                    c = u(o.maxHeight, d, "none", p), v = u(o.minWidth, r, "0px", l), f = u
38975(o.minHeight, d, "0px", p);
38976                punchgs.TweenLite.set(a, {
38977                    maxWidth: h,
38978                    maxHeight: c,
38979                    minWidth: v,
38980                    minHeight: f,
38981                    whiteSpace: o.whiteSpace,
38982                    overwrite: "auto"
38983                }), "nopredefinedcolor" != o.color && punchgs.TweenLite.set(a, {color: o.color, overwrite: "auto"})
38984            }
38985            setTimeout(function () {
38986                a.css("-webkit-transition", a.data("wan")), a.css("-moz-transition", a.data("moan")), a.css("-ms-transition", a.data("man")), a.css("transition", a.data("ani"))
38987            }, 30)
38988        }
38989    }, f = function (a, e) {
38990        if (a.hasClass("rs-pendulum") && void 0 == a.data("loop-timeline")) {
38991            a.data("loop-timeline", new punchgs.TimelineLite);
38992            var t = void 0 == a.data("startdeg") ? -20 : a.data("startdeg"),
38993                i = void 0 == a.data("enddeg") ? 20 : a.data("enddeg"),
38994                n = void 0 == a.data("speed") ? 2 : a.data("speed"),
38995                o = void 0 == a.data("origin") ? "50% 50%" : a.data("origin"),
38996                r = void 0 == a.data("easing") ? punchgs.Power2.easeInOut : a.data("ease");
38997            t *= e, i *= e, a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a, n, {
38998                force3D: "auto",
38999                rotation: t,
39000                transformOrigin: o
39001            }, {
39002                rotation: i,
39003                ease: r
39004            })), a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a, n, {
39005                force3D: "auto",
39006                rotation: i,
39007                transformOrigin: o
39008            }, {
39009                rotation: t, ease: r, onComplete: function () {
39010                    a.data("loop-timeline").restart()
39011                }
39012            }))
39013        }
39014        if (a.hasClass("rs-rotate") && void 0 == a.data("loop-timeline")) {
39015            a.data("loop-timeline", new punchgs.TimelineLite);
39016            var t = void 0 == a.data("startdeg") ? 0 : a.data("startdeg"),
39017                i = void 0 == a.data("enddeg") ? 360 : a.data("enddeg");
39018            n = void 0 == a.data("speed") ? 2 : a.data("speed"), o = void 0 == a.data("origin") ? "50% 50%" : a.data("origin"), r = void 0 == a.data("easing") ? punchgs.Power2.easeInOut : a.data("easing"), t *= e, i *= e, a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a, n, {
39019                force3D: "auto",
39020                rotation: t,
39021                transformOrigin: o
39022            }, {
39023                rotation: i, ease: r, onComplete: function () {
39024                    a.data("loop-timeline").restart()
39025                }
39026            }))
39027        }
39028        if (a.hasClass("rs-slideloop") && void 0 == a.data("loop-timeline")) {
39029            a.data("loop-timeline", new punchgs.TimelineLite);
39030            var d = void 0 == a.data("xs") ? 0 : a.data("xs"), s = void 0 == a.data("ys") ? 0 : a.data("ys"),
39031                l = void 0 == a.data("xe") ? 0 : a.data("xe"), p = void 0 == a.data("ye") ? 0 : a.data("ye"),
39032                n = void 0 == a.data("speed") ? 2 : a.data("speed"),
39033                r = void 0 == a.data("easing") ? punchgs.Power2.easeInOut : a.data("easing");
39034            d *= e, s *= e, l *= e, p *= e, a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a, n, {
39035                force3D: "auto",
39036                x: d,
39037                y: s
39038            }, {
39039                x: l,
39040                y: p,
39041                ease: r
39042            })), a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a, n, {force3D: "auto", x: l, y: p}, {
39043                x: d,
39044                y: s,
39045                onComplete: function () {
39046                    a.data("loop-timeline").restart()
39047                }
39048            }))
39049        }
39050        if (a.hasClass("rs-pulse") && void 0 == a.data("loop-timeline")) {
39051            a.data("loop-timeline", new punchgs.TimelineLite);
39052            var h = void 0 == a.data("zoomstart") ? 0 : a.data("zoomstart"),
39053                c = void 0 == a.data("zoomend") ? 0 : a.data("zoomend"),
39054                n = void 0 == a.data("speed") ? 2 : a.data("speed"),
39055                r = void 0 == a.data("easing") ? punchgs.Power2.easeInOut : a.data("easing");
39056            a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a, n, {force3D: "auto", scale: h}, {
39057                scale: c,
39058                ease: r
39059            })), a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(a, n, {
39060                force3D: "auto",
39061                scale: c
39062            }, {
39063                scale: h, onComplete: function () {
39064                    a.data("loop-timeline").restart()
39065                }
39066            }))
39067        }
39068        if (a.hasClass("rs-wave") && void 0 == a.data("loop-timeline")) {
39069            a.data("loop-timeline", new punchgs.TimelineLite);
39070            var g = void 0 == a.data("angle") ? 10 : parseInt(a.data("angle"), 0),
39071                m = void 0 == a.data("radius") ? 10 : parseInt(a.data("radius"), 0),
39072                n = void 0 == a.data("speed") ? -20 : a.data("speed"),
39073                o = void 0 == a.data("origin") ? "50% 50%" : a.data("origin"), u = o.split(" "), v = new Object;
39074            u.length >= 1 ? (v.x = u[0], v.y = u[1]) : (v.x = "50%", v.y = "50%"), g *= e, m *= e;
39075            var f = 0 - a.height() / 2 + m * (-1 + parseInt(v.y, 0
39075) / 100),
39076                w = a.width() * (-.5 + parseInt(v.x, 0) / 100),
39077                y = {a: 0, ang: g, element: a, unit: m, xoffset: w, yoffset: f};
39078            a.data("loop-timeline").append(new punchgs.TweenLite.fromTo(y, n, {a: 360}, {
39079                a: 0,
39080                force3D: "auto",
39081                ease: punchgs.Linear.easeNone,
39082                onUpdate: function () {
39083                    var a = y.a * (Math.PI / 180);
39084                    punchgs.TweenLite.to(y.element, .1, {
39085                        force3D: "auto",
39086                        x: y.xoffset + Math.cos(a) * y.unit,
39087                        y: y.yoffset + y.unit * (1 - Math.sin(a))
39088                    })
39089                },
39090                onComplete: function () {
39091                    a.data("loop-timeline").restart()
39092                }
39093            }))
39094        }
39095    }, w = function (a) {
39096        a.find(".rs-pendulum, .rs-slideloop, .rs-pulse, .rs-wave").each(function () {
39097            var a = jQuery(this);
39098            void 0 != a.data("loop-timeline") && (a.data("loop-timeline").pause(), a.data("loop-timeline", null))
39099        });
39100    }
39101}(jQuery), !function () {
39102    var t = jQuery.fn.revolution;
39103    jQuery.extend(!0, t, {
39104        stopKenBurn: function (t) {
39105            void 0 != t.data("kbtl") && t.data("kbtl").pause()
39106        }, startKenBurn: function (t, e, a) {
39107            var r = t.data(), n = t.find(".defaultimg"), s = n.data("lazyload") || n.data("src"),
39108                i = (r.owidth / r.oheight, "carousel" === e.sliderType ? e.carousel.slide_width : e.ul.width()),
39109                o = e.ul.height();
39110            t.data("kbtl") && t.data("kbtl").kill(), a = a || 0, 0 == t.find(".tp-kbimg").length && (t.append('<div class="tp-kbimg-wrap" style="z-index:2;width:100%;height:100%;top:0px;left:0px;position:absolute;"><img class="tp-kbimg" src="' + s + '" style="position:absolute;" width="' + r.owidth + '" height="' + r.oheight + '"></div>'), t.data("kenburn", t.find(".tp-kbimg")));
39111            var d = function (t, e, a, r, n, s, i) {
39112                var o = t * a, d = e * a, l = Math.abs(r - o), h = Math.abs(n - d), p = new Object;
39113                return p.l = (0 - s) * l, p.r = p.l + o, p.t = (0 - i) * h, p.b = p.t + d, p.h = s, p.v = i, p
39114            }, l = function (t, e, a, r, n) {
39115                var s = t.bgposition.split(" ") || "center center",
39116                    i = "center" == s[0] ? "50%" : "left" == s[0] || "left" == s[1] ? "0%" : "right" == s[0] || "right" == s[1] ? "100%" : s[0],
39117                    o = "center" == s[1] ? "50%" : "top" == s[0] || "top" == s[1] ? "0%" : "bottom" == s[0] || "bottom" == s[1] ? "100%" : s[1];
39118                i = parseInt(i, 0) / 100 || 0, o = parseInt(o, 0) / 100 || 0;
39119                var l = new Object;
39120                return l.start = d(n.start.width, n.start.height, n.start.scale, e, a, i, o), l.end = d(n.start.width, n.start.height, n.end.scale, e, a, i, o), l
39121            }, h = function (t, e, a) {
39122                var r = a.scalestart / 100, n = a.scaleend / 100,
39123                    s = void 0 != a.oofsetstart ? a.offsetstart.split(" ") || [0, 0] : [0, 0],
39124                    i = void 0 != a.offsetend ? a.offsetend.split(" ") || [0, 0] : [0, 0];
39125                a.bgposition = "center center" == a.bgposition ? "50% 50%" : a.bgposition;
39126                var o = new Object, d = t * r, h = (d / a.owidth * a.oheight, t * n);
39127                if (h / a.owidth * a.oheight, o.start = new Object, o.starto = new Object, o.end = new Object, o.endo = new Object, o.start.width = t, o.start.height = o.start.width / a.owidth * a.oheight, o.start.height < e) {
39128                    var p = e / o.start.height;
39129                    o.start.height = e, o.start.width = o.start.width * p
39130                }
39131                o.start.transformOrigin = a.bgposition, o.start.scale = r, o.end.scale = n, o.start.rotation = a.rotatestart + "deg", o.end.rotation = a.rotateend + "deg";
39132                var g = l(a, t, e, s, o);
39133                s[0] = parseFloat(s[0]) + g.start.l, i[0] = parseFloat(i[0]) + g.end.l, s[1] = parseFloat(s[1]) + g.start.t, i[1] = parseFloat(i[1]) + g.end.t;
39134                var c = g.start.r - g.start.l, b = g.start.b - g.start.t, u = g.end.r - g.end.l, f = g.end.b - g.end.t;
39135                return s[0] = s[0] > 0 ? 0 : c + s[0] < t ? t - c : s[0], i[0] = i[0] > 0 ? 0 : u + i[0] < t ? t - u : i[0], s[1] = s[1] >
vendor: 30,234 bytes, lines 39135-39465
39135 0 ? 0 : b + s[1] < e ? e - b : s[1], i[1] = i[1] > 0 ? 0 : f + i[1] < e ? e - f : i[1], o.starto.x = s[0] + "px", o.starto.y = s[1] + "px", o.endo.x = i[0] + "px", o.endo.y = i[1] + "px", o.end.ease = o.endo.ease = a.ease, o.end.force3D = o.endo.force3D = !0, o
39136            };
39137            void 0 != t.data("kbtl") && (t.data("kbtl").kill(), t.removeData("kbtl"));
39138            var p = t.data("kenburn"), g = p.parent(), c = h(i, o, r), b = new punchgs.TimelineLite;
39139            b.pause(), c.start.transformOrigin = "0% 0%", c.starto.transformOrigin = "0% 0%", b.add(punchgs.TweenLite.fromTo(p, r.duration / 1e3, c.start, c.end), 0), b.add(punchgs.TweenLite.fromTo(g, r.duration / 1e3, c.starto, c.endo), 0), b.progress(a), b.play(), t.data("kbtl", b)
39140        }
39141    })
39142}(jQuery), !function (t) {
39143    var e = jQuery.fn.revolution, i = e.is_mobile();
39144    jQuery.extend(!0, e, {
39145        hideUnHideNav: function (t) {
39146            var e = t.c.width(), i = t.navigation.arrows, a = t.navigation.bullets, n = t.navigation.thumbnails,
39147                s = t.navigation.tabs;
39148            p(i) && T(t.c.find(".tparrows"), i.hide_under, e, i.hide_over), p(a) && T(t.c.find(".tp-bullets"), a.hide_under, e, a.hide_over), p(n) && T(t.c.parent().find(".tp-thumbs"), n.hide_under, e, n.hide_over), p(s) && T(t.c.parent().find(".tp-tabs"), s.hide_under, e, s.hide_over), y(t)
39149        }, resizeThumbsTabs: function (t, e) {
39150            if (t.navigation && t.navigation.tabs.enable || t.navigation && t.navigation.thumbnails.enable) {
39151                var i = (jQuery(window).width() - 480) / 500, a = new punchgs.TimelineLite, s = t.navigation.tabs,
39152                    r = t.navigation.thumbnails, o = t.navigation.bullets;
39153                if (a.pause(), i = i > 1 ? 1 : 0 > i ? 0 : i, p(s) && (e || s.width > s.min_width) && n(i, a, t.c, s, t.slideamount, "tab"), p(r) && (e || r.width > r.min_width) && n(i, a, t.c, r, t.slideamount, "thumb"), p(o) && e) {
39154                    var d = t.c.find(".tp-bullets");
39155                    d.find(".tp-bullet").each(function (t) {
39156                        var e = jQuery(this), i = t + 1,
39157                            a = e.outerWidth() + parseInt(void 0 === o.space ? 0 : o.space, 0),
39158                            n = e.outerHeight() + parseInt(void 0 === o.space ? 0 : o.space, 0);
39159                        "vertical" === o.direction ? (e.css({
39160                            top: (i - 1) * n + "px",
39161                            left: "0px"
39162                        }), d.css({
39163                            height: (i - 1) * n + e.outerHeight(),
39164                            width: e.outerWidth()
39165                        })) : (e.css({
39166                            left: (i - 1) * a + "px",
39167                            top: "0px"
39168                        }), d.css({width: (i - 1) * a + e.outerWidth(), height: e.outerHeight()}))
39169                    })
39170                }
39171                a.play(), y(t)
39172            }
39173            return !0
39174        }, updateNavIndexes: function (t) {
39175            function i(t) {
39176                a.find(t).lenght > 0 && a.find(t).each(function (t) {
39177                    jQuery(this).data("liindex", t)
39178                })
39179            }
39180
39181            var a = t.c;
39182            i(".tp-tab"), i(".tp-bullet"), i(".tp-thumb"), e.resizeThumbsTabs(t, !0), e.manageNavigation(t)
39183        }, manageNavigation: function (t) {
39184            var i = e.getHorizontalOffset(t.c.parent(), "left"), n = e.getHorizontalOffset(t.c.parent(), "right");
39185            p(t.navigation.bullets) && ("fullscreen" != t.sliderLayout && "fullwidth" != t.sliderLayout && (t.navigation.bullets.h_offset_old = void 0 === t.navigation.bullets.h_offset_old ? t.navigation.bullets.h_offset : t.navigation.bullets.h_offset_old, t.navigation.bullets.h_offset = "center" === t.navigation.bullets.h_align ? t.navigation.bullets.h_offset_old + i / 2 - n / 2 : t.navigation.bullets.h_offset_old + i - n), b(t.c.find(".tp-bullets"), t.navigation.bullets)), p(t.navigation.thumbnails) && b(t.c.parent().find(".tp-thumbs"), t.navigation.thumbnails), p(t.navigation.tabs) && b(t.c.parent().find(".tp-tabs"), t.navigation.tabs), p(t.navigation.arrows) && ("fullscreen" != t.sliderLayout && "fullwidth" != t.sliderLayout && (t.navigation.arrows.left.h_offset_old = void 0 === t.navigation.arrows.left.h_offset_old ? t.navigation.arrows.left.h_offset : t.navigation.arrows.left.h_offset_old, t.navigation.arrows.left.h_offset = "right" === t.navigation.arrows.left.h_align ? t.navigation.arrows.left.h_offset_old + n : t.navigation.arrows.left.h_offset_old + i, t.navigation.arrows.right.h_offset_old = void 0 === t.navigation.arrows.right.h_offset_old ? t.navigation.arrows.right.h_offset : t.navigation.arrows.right.h_offset_old, t.navigation.arrows.right.h_offset = "right" === t.navigation.arrows.right.h_align ? t.navigation.arrows.right.h_offset_old + n : t.navigation.arrows.right.h_offset_old + i), b(t.c.find(".tp-leftarrow.tparrows"), t.navigation.arrows.left), b(t.c.find(".tp-rightarrow.tparrows"), t.navigation.arrows.right)), p(t.navigation.thumbnails) && a(t.c.parent().find(".tp-thumbs"), t.navigation.thumbnails), p(t.navigation.tabs) && a(t.c.parent().find(".tp-tabs"), t.navigation.tabs)
39186        }, createNavigation: function (t, e) {
39187            var n = t.parent(), s = e.navigation.arrows, d = e.navigation.bullets, u = e.navigation.thumbnails,
39188                v = e.navigation.tabs, m = p(s), b = p(d), _ = p(u), y = p(v);
39189            r(t, e), o(t, e), m && f(t, s, e), e.li.each(function (i) {
39190                var a = jQuery(this);
39191                b && w(t, d, a, e), _ && x(t, u, a, "tp-thumb", e), y && x(t, v, a, "tp-tab", e)
39192            }), t.bind("revolution.slide.onafterswap revolution.nextslide.waiting", function () {
39193                var i = 0 == t.find(".next-revslide").length ? t.find(".active-revslide").data("index") : t.find(".next-revslide").data("index");
39194                t.find(".tp-bullet").each(function () {
39195                    var t = jQuery(this);
39196                    t.data("liref") === i ? t.addClass("selected") : t.removeClass("selected")
39197                }), n.find(".tp-thumb, .tp-tab").each(function () {
39198                    var t = jQuery(this);
39199                    t.data("liref") === i ? (t.addClass("selected"), t.hasClass("tp-tab") ? a(n.find(".tp-tabs"), v) : a(n.find(".tp-thumbs"), u)) : t.removeClass("selected")
39200                });
39201                var r = 0, o = !1;
39202                e.thumbs && jQuery.each(e.thumbs, function (t, e) {
39203                    r = o === !1 ? t : r, o = e.id === i || t === i ? !0 : o
39204                });
39205                var d = r > 0 ? r - 1 : e.slideamount - 1, l = r + 1 == e.slideamount ? 0 : r + 1;
39206                if (s.enable === !0) {
39207                    var h = s.tmp;
39208                    jQuery.each(e.thumbs[d].params, function (t, e) {
39209                        h = h.replace(e.from, e.to)
39210                    }), s.left.j.html(h), h = s.tmp, jQuery.each(e.thumbs[l].params, function (t, e) {
39211                        h = h.replace(e.from, e.to)
39212                    }), s.right.j.html(h), punchgs.TweenLite.set(s.left.j.find(".tp-arr-imgholder"), {backgroundImage: "url(" + e.thumbs[d].src + ")"}), punchgs.TweenLite.set(s.right.j.find(".tp-arr-imgholder"), {backgroundImage: "url(" + e.thumbs[l].src + ")"})
39213                }
39214            }), h(s), h(d), h(u), h(v), n.on("mouseenter mousemove", function () {
39215                n.hasClass("tp-mouseover") || (n.addClass("tp-mouseover"), punchgs.TweenLite.killDelayedCallsTo(g), m && s.hide_onleave && g(n.find(".tparrows"), s, "show"), b && d.hide_onleave && g(n.find(".tp-bullets"), d, "show"), _ && u.hide_onleave && g(n.find(".tp-thumbs"), u, "show"), y && v.hide_onleave && g(n.find(".tp-tabs"), v, "show"), i && (n.removeClass("tp-mouseover"), c(t, e)))
39216            }), n.on("mouseleave", function () {
39217                n.removeClass("tp-mouseover"), c(t, e)
39218            }), m && s.hide_onleave && g(n.find(".tparrows"), s, "hide", 0), b && d.hide_onleave && g(n.find(".tp-bullets"), d, "hide", 0), _ && u.hide_onleave && g(n.find(".tp-thumbs"), u, "hide", 0), y && v.hide_onleave && g(n.find(".tp-tabs"), v, "hide", 0), _ && l(n.find(".tp-thumbs"), e), y && l(n.find(".tp-tabs"), e), "carousel" === e.sliderType && l(t, e, !0), "on" == e.navigation.touch.touchenabled && l(t, e, "swipebased")
39219        }
39220    });
39221    var a = function (t, e) {
39222        var i = (t.hasClass("tp-thumbs") ? ".tp-thumbs" : ".tp-tabs", t.hasClass("tp-thumbs") ? ".tp-thumb-mask" : ".tp-tab-mask"),
39223            a = t.hasClass("tp-thumbs") ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper",
39224            n = t.hasClass("tp-thumbs") ? ".tp-thumb" : ".tp-tab", s = t.find(i), r = s.find(a), o = e.direction,
39225            d = "vertical" === o ? s.find(n).first().outerHeight(!0) + e.space : s.find(n).first().outerWidth(!0) + e.space,
39226            l = "vertical" === o ? s.height() : s.width(), h = parseInt(s.find(n + ".selected").data("liindex"), 0),
39227            p = l / d, u = "vertical" === o ? s.height() : s.width(), c = 0 - h * d,
39228            g = "vertical" === o ? r.height() : r.width(), f = 0 - (g - u) > c ? 0 - (g - u) : f > 0 ? 0 : c,
39229            v = r.data("offset");
39230        p > 2 && (f = 0 >= c - (v + d) ? 0 - d > c - (v + d) ? v : f + d : f, f = d > c - d + v + l && c + (Math.round(p) - 2) * d < v ? c + (Math.round(p) - 2) * d : f), f = 0 - (g - u) > f ? 0 - (g - u) : f > 0 ? 0 : f, "vertical" !== o && s.width() >= r.width() && (f = 0), "vertical" === o && s.height() >= r.height() && (f = 0), t.hasClass("dragged") || ("vertical" === o ? r.data("tmmove", punchgs.TweenLite.to(r, .5, {
39231            top: f + "px",
39232            ease: punchgs.Power3.easeInOut
39233        })) : r.data("tmmove", punchgs.TweenLite.to(r, .5, {
39234            left: f + "px",
39235            ease: punchgs.Power3.easeInOut
39236        })), r.data("offset", f))
39237    }, n = function (t, e, i, a, n, s) {
39238        var r = i.parent().find(".tp-" + s + "s"), o = r.find(".tp-" + s + "s-inner-wrapper"),
39239            d = r.find(".tp-" + s + "-mask"), l = a.width * t < a.min_width ? a.min_width : Math.round(a.width * t),
39240            h = Math.round(l / a.width * a.height), p = "vertical" === a.direction ? l : l * n + a.space * (n - 1),
39241            u = "vertical" === a.direction ? h * n + a.space * (n - 1) : h,
39242            c = "vertical" === a.direction ? {width: l + "px"} : {height: h + "px"};
39243        e.add(punchgs.TweenLite.set(r, c)), e.add(punchgs.TweenLite.set(o, {
39244            width: p + "px",
39245            height: u + "px"
39246        })), e.add(punchgs.TweenLite.set(d, {width: p + "px", height: u + "px"}));
39247        var g = o.find(".tp-" + s);
39248        return g && jQuery.each(g, function (t, i) {
39249            "vertical" === a.direction ? e.add(punchgs.TweenLite.set(i, {
39250                top: t * (h + parseInt(void 0 === a.space ? 0 : a.space, 0)),
39251                width: l + "px",
39252                height: h + "px"
39253            })) : "horizontal" === a.direction && e.add(punchgs.TweenLite.set(i, {
39254                left: t * (l + parseInt(void 0 === a.space ? 0 : a.space, 0)),
39255                width: l + "px",
39256                height: h + "px"
39257            }))
39258        }), e
39259    }, s = function (t) {
39260        var e = 0, i = 0, a = 0, n = 0, s = 1, r = 1, o = 1;
39261        return "detail" in t && (i = t.detail), "wheelDelta" in t && (i = -t.wheelDelta / 120), "wheelDeltaY" in t && (i = -t.wheelDeltaY / 120), "wheelDeltaX" in t && (e = -t.wheelDeltaX / 120), "axis" in t && t.axis === t.HORIZONTAL_AXIS && (e = i, i = 0), a = e * s, n = i * s, "deltaY" in t && (n = t.deltaY), "deltaX" in t && (a = t.deltaX), (a || n) && t.deltaMode && (1 == t.deltaMode ? (a *= r, n *= r) : (a *= o, n *= o)), a && !e && (e = 1 > a ? -1 : 1), n && !i && (i = 1 > n ? -1 : 1), n = navigator.userAgent.match(/mozilla/i) ? 10 * n : n, (n > 300 || -300 > n) && (n /= 10), {
39262            spinX: e,
39263            spinY: i,
39264            pixelX: a,
39265            pixelY: n
39266        }
39267    }, r = function (t, i) {
39268        "on" === i.navigation.keyboardNavigation && jQuery(document).keydown(function (a) {
39269            ("horizontal" == i.navigation.keyboard_direction && 39 == a.keyCode || "vertical" == i.navigation.keyboard_direction && 40 == a.keyCode) && (i.sc_indicator = "arrow", i.sc_indicator_dir = 0, e.callingNewSlide(i, t, 1)), ("horizontal" == i.navigation.keyboard_direction && 37 == a.keyCode || "vertical" == i.navigation.keyboard_direction && 38 == a.keyCode) && (i.sc_indicator = "arrow", i.sc_indicator_dir = 1, e.callingNewSlide(i, t, -1))
39270        })
39271    }, o = function (t, i) {
39272        if ("on" === i.navigation.mouseScrollNavigation || "carousel" === i.navigation.mouseScrollNavigation) {
39273            i.isIEEleven = !!navigator.userAgent.match(/Trident.*rv\:11\./), i.isSafari = !!navigator.userAgent.match(/safari/i), i.ischrome = !!navigator.userAgent.match(/chrome/i);
39274            var a = i.ischrome ? -49 : i.isIEEleven || i.isSafari ? -9 : navigator.userAgent.match(/mozilla/i) ? -29 : -49,
39275                n = i.ischrome ? 49 : i.isIEEleven || i.isSafari ? 9 : navigator.userAgent.match(/mozilla/i) ? 29 : 49;
39276            t.on("mousewheel DOMMouseScroll", function (r) {
39277                var o = s(r.originalEvent), d = t.find(".tp-revslider-slidesli.active-revslide").index(),
39278                    l = t.find(".tp-revslider-slidesli.processing-revslide").index(),
39279                    h = -1 != d && 0 == d || -1 != l && 0 == l ? !0 : !1,
39280                    p = -1 != d && d == i.slideamount - 1 || 1 != l && l == i.slideamount - 1 ? !0 : !1, u = !0;
39281                return "carousel" == i.navigation.mouseScrollNavigation && (h = p = !1), -1 == l ? o.pixelY < a ? h || (i.sc_indicator = "arrow", i.sc_indicator_dir = 0, e.callingNewSlide(i, t, -1), u = !1) : o.pixelY > n && (p || (i.sc_indicator = "arrow", i.sc_indicator_dir = 1, e.callingNewSlide(i, t, 1), u = !1)) : u = !p && o.spinY > 0 || !h && o.spinY <= 0 ? !1 : !0, 0 == u ? (r.preventDefault(r), !1) : void 0
39282            })
39283        }
39284    }, d = function (t, e, a) {
39285        return t = i ? jQuery(a.target).closest("." + t).length || jQuery(a.srcElement).closest("." + t).length : jQuery(a.toElement).closest("." + t).length || jQuery(a.originalTarget).closest("." + t).length, t === !0 || 1 === t ? 1 : 0
39286    }, l = function (t, a, n) {
39287        t.data("opt", a);
39288        var s = a.carousel;
39289        jQuery(".bullet, .bullets, .tp-bullets, .tparrows").addClass("noSwipe"), s.Limit = "endless";
39290        var r = (i || "Firefox" === e.get_browser(), t),
39291            o = "vertical" === a.navigation.thumbnails.direction || "vertical" === a.navigation.tabs.direction ? "none" : "vertical",
39292            l = a.navigation.touch.swipe_direction || "horizontal";
39293        o = "swipebased" == n && "vertical" == l ? "none" : n ? "vertical" : o, jQuery.fn.swipetp || (jQuery.fn.swipetp = jQuery.fn.swipe), jQuery.fn.swipetp.defaults && jQuery.fn.swipetp.defaults.excludedElements || jQuery.fn.swipetp.defaults || (jQuery.fn.swipetp.defaults = new Object), jQuery.fn.swipetp.defaults.excludedElements = "label, button, input, select, textarea, .noSwipe", r.swipetp({
39294            allowPageScroll: o,
39295            triggerOnTouchLeave: !0,
39296            treshold: a.navigation.touch.swipe_treshold,
39297            fingers: a.navigation.touch.swipe_min_touches,
39298            excludeElements: jQuery.fn.swipetp.defaults.excludedElements,
39299            swipeStatus: function (i, n, r, o, h, p, u) {
39300                var c = d("rev_slider_wrapper", t, i), g = d("tp-thumbs", t, i), f = d("tp-tabs", t, i),
39301                    v = jQuery(this).attr("class"), m = v.match(/tp-tabs|tp-thumb/gi) ? !0 : !1;
39302                if ("carousel" === a.sliderType && (("move" === n || "end" === n || "cancel" == n) && a.dragStartedOverSlider && !a.dragStartedOverThumbs && !a.dragStartedOverTabs || "start" === n && c > 0 && 0 === g && 0 === f)) switch (a.dragStartedOverSlider = !0, o = r && r.match(/left|up/g) ? Math.round(-1 * o) : o = Math.round(1 * o), n) {
39303                    case"start":
39304                        void 0 !== s.positionanim && (s.positionanim.kill(), s.slide_globaloffset = "off" === s.infinity ? s.slide_offset : e.simp(s.slide_offset, s.maxwidth)), s.overpull = "none", s.wrap.addClass("dragged");
39305                        break;
39306                    case"move":
39307                        if (s.slide_offset = "off" === s.infinity ? s.slide_globaloffset + o : e.simp(s.slide_globaloffset + o, s.maxwidth), "off" === s.infinity) {
39308                            var b = "center" === s.horizontal_align ? (s.wrapwidth / 2 - s.slide_width / 2 - s.slide_offset) / s.slide_width : (0 - s.slide_offset) / s.slide_width;
39309                            "none" !== s.overpull && 0 !== s.overpull || !(0 > b || b > a.slideamount - 1) ? b >= 0 && b <= a.slideamount - 1 && (b >= 0 && o > s.overpull || b <= a.slideamount - 1 && o < s.overpull) && (s.overpull = 0) : s.overpull = o, s.slide_offset = 0 > b ? s.slide_offset + (s.overpull - o) / 1.1 + Math.sqrt(Math.abs((s.overpull - o) / 1.1)) : b > a.slideamount - 1 ? s.slide_offset + (s.overpull - o) / 1.1 - Math.sqrt(Math.abs((s.overpull - o) / 1.1)) : s.slide_offset
39310                        }
39311                        e.organiseCarousel(a, r, !0, !0);
39312                        break;
39313                    case"end":
39314                    case"cancel":
39315                        s.slide_globaloffset = s.slide_offset, s.wrap.removeClass("dragged"), e.carouselToEvalPosition(a, r), a.dragStartedOverSlider = !1, a.dragStartedOverThumbs = !1, a.dragStartedOverTabs = !1
39316                } else {
39317                    if (("move" !== n && "end" !== n && "cancel" != n || a.dragStartedOverSlider || !a.dragStartedOverThumbs && !a.dragStartedOverTabs) && !("start" === n && c > 0 && (g > 0 || f > 0))) {
39318                        if ("end" == n && !m) {
39319                            if (a.sc_indicator = "arrow", "horizontal" == l && "left" == r || "vertical" == l && "up" == r) return a.sc_indicator_dir = 0, e.callingNewSlide(a, a.c, 1), !1;
39320                            if ("horizontal" == l && "right" == r || "vertical" == l && "down" == r) return a.sc_indicator_dir = 1, e.callingNewSlide(a, a.c, -1), !1
39321                        }
39322                        return a.dragStartedOverSlider = !1, a.dragStartedOverThumbs = !1, a.dragStartedOverTabs = !1, !0
39323                    }
39324                    g > 0 && (a.dragStartedOverThumbs = !0), f > 0 && (a.dragStartedOverTabs = !0);
39325                    var w = a.dragStartedOverThumbs ? ".tp-thumbs" : ".tp-tabs",
39326                        _ = a.dragStartedOverThumbs ? ".tp-thumb-mask" : ".tp-tab-mask",
39327                        x = a.dragStartedOverThumbs ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper",
39328                        y = a.dragStartedOverThumbs ? ".tp-thumb" : ".tp-tab",
39329                        T = a.dragStartedOverThumbs ? a.navigation.thumbnails : a.navigation.tabs;
39330                    o = r && r.match(/left|up/g) ? Math.round(-1 * o) : o = Math.round(1 * o);
39331                    var j = t.parent().find(_), L = j.find(x), S = T.direction,
39332                        C = "vertical" === S ? L.height() : L.width(), I = "vertical" === S ? j.height() : j.width(),
39333                        k = "vertical" === S ? j.find(y).first().outerHeight(!0) + T.space : j.find(y).first().outerWidth(!0) + T.space,
39334                        O = void 0 === L.data("offset") ? 0 : parseInt(L.data("offset"), 0), Q = 0;
39335                    switch (n) {
39336                        case"start":
39337                            t.parent().find(w).addClass("dragged"), O = "vertical" === S ? L.position().top : L.position().left, L.data("offset", O), L.data("tmmove") && L.data("tmmove").pause();
39338                            break;
39339                        case"move":
39340                            if (I >= C) return !1;
39341                            Q = O + o, Q = Q > 0 ? "horizontal" === S ? Q - L.width() * (Q / L.width() * Q / L.width()) : Q - L.height() * (Q / L.height() * Q / L.height()) : Q;
39342                            var M = "vertical" === S ? 0 - (L.height() - j.height()) : 0 - (L.width() - j.width());
39343                            Q = M > Q ? "horizontal" === S ? Q + L.width() * (Q - M) / L.width() * (Q - M) / L.width() : Q + L.height() * (Q - M) / L.height() * (Q - M) / L.height() : Q, "vertical" === S ? punchgs.TweenLite.set(L, {top: Q + "px"}) : punchgs.TweenLite.set(L, {left: Q + "px"});
39344                            break;
39345                        case"end":
39346                        case"cancel":
39347                            if (m) return Q = O + o, Q = "vertical" === S ? Q < 0 - (L.height() - j.height()) ? 0 - (L.height() - j.height()) : Q : Q < 0 - (L.width() - j.width()) ? 0 - (L.width() - j.width()) : Q, Q = Q > 0 ? 0 : Q, Q = Math.abs(o) > k / 10 ? 0 >= o ? Math.floor(Q / k) * k : Math.ceil(Q / k) * k : 0 > o ? Math.ceil(Q / k) * k : Math.floor(Q / k) * k, Q = "vertical" === S ? Q < 0 - (L.height() - j.height()) ? 0 - (L.height() - j.height()) : Q : Q < 0 - (L.width() - j.width()) ? 0 - (L.width() - j.width()) : Q, Q = Q > 0 ? 0 : Q, "vertical" === S ? punchgs.TweenLite.to(L, .5, {
39348                                top: Q + "px",
39349                                ease: punchgs.Power3.easeOut
39350                            }) : punchgs.TweenLite.to(L, .5, {
39351                                left: Q + "px",
39352                                ease: punchgs.Power3.easeOut
39353                            }), Q = Q ? Q : "vertical" === S ? L.position().top : L.position().left, L.data("offset", Q), L.data("distance", o), setTimeout(function () {
39354                                a.dragStartedOverSlider = !1, a.dragStartedOverThumbs = !1, a.dragStartedOverTabs = !1
39355                            }, 100), t.parent().find(w).removeClass("dragged"), !1
39356                    }
39357                }
39358            }
39359        })
39360    }, h = function (t) {
39361        t.hide_delay = jQuery.isNumeric(parseInt(t.hide_delay, 0)) ? t.hide_delay / 1e3 : .2, t.hide_delay_mobile = jQuery.isNumeric(parseInt(t.hide_delay_mobile, 0)) ? t.hide_delay_mobile / 1e3 : .2
39362    }, p = function (t) {
39363        return t && t.enable
39364    }, u = function (t) {
39365        return t && t.enable && t.hide_onleave === !0 && (void 0 === t.position ? !0 : !t.position.match(/outer/g))
39366    }, c = function (t, e) {
39367        var a = t.parent();
39368        u(e.navigation.arrows) && punchgs.TweenLite.delayedCall(i ? e.navigation.arrows.hide_delay_mobile : e.navigation.arrows.hide_delay, g, [a.find(".tparrows"), e.navigation.arrows, "hide"]), u(e.navigation.bullets) && punchgs.TweenLite.delayedCall(i ? e.navigation.bullets.hide_delay_mobile : e.navigation.bullets.hide_delay, g, [a.find(".tp-bullets"), e.navigation.bullets, "hide"]), u(e.navigation.thumbnails) && punchgs.TweenLite.delayedCall(i ? e.navigation.thumbnails.hide_delay_mobile : e.navigation.thumbnails.hide_delay, g, [a.find(".tp-thumbs"), e.navigation.thumbnails, "hide"]), u(e.navigation.tabs) && punchgs.TweenLite.delayedCall(i ? e.navigation.tabs.hide_delay_mobile : e.navigation.tabs.hide_delay, g, [a.find(".tp-tabs"), e.navigation.tabs, "hide"])
39369    }, g = function (t, e, i, a) {
39370        switch (a = void 0 === a ? .5 : a, i) {
39371            case"show":
39372                punchgs.TweenLite.to(t, a, {autoAlpha: 1, ease: punchgs.Power3.easeInOut, overwrite: "auto"});
39373                break;
39374            case"hide":
39375                punchgs.TweenLite.to(t, a, {autoAlpha: 0, ease: punchgs.Power3.easeInOu, overwrite: "auto"})
39376        }
39377    }, f = function (t, e, i) {
39378        e.style = void 0 === e.style ? "" : e.style, e.left.style = void 0 === e.left.style ? "" : e.left.style, e.right.style = void 0 === e.right.style ? "" : e.right.style, 0 === t.find(".tp-leftarrow.tparrows").length && t.append('<div class="tp-leftarrow tparrows ' + e.style + " " + e.left.style + '">' + e.tmp + "</div>"), 0 === t.find(".tp-rightarrow.tparrows").length && t.append('<div class="tp-rightarrow tparrows ' + e.style + " " + e.right.style + '">' + e.tmp + "</div>");
39379        var a = t.find(".tp-leftarrow.tparrows"), n = t.find(".tp-rightarrow.tparrows");
39380        n.click(function () {
39381            i.sc_indicator = "arrow", i.sc_indicator_dir = 0, t.revnext()
39382        }), a.click(function () {
39383            i.sc_indicator = "arrow", i.sc_indicator_dir = 1, t.revprev()
39384        }), e.right.j = t.find(".tp-rightarrow.tparrows"), e.left.j = t.find(".tp-leftarrow.tparrows"), e.padding_top = parseInt(i.carousel.padding_top || 0, 0), e.padding_bottom = parseInt(i.carousel.padding_bottom || 0, 0), b(a, e.left), b(n, e.right), ("outer-left" == e.position || "outer-right" == e.position) && (i.outernav = !0)
39385    }, v = function (t, e) {
39386        var i = t.outerHeight(!0), a = (t.outerWidth(!0), "top" === e.v_align ? {
39387            top: "0px",
39388            y: Math.round(e.v_offset) + "px"
39389        } : "center" === e.v_align ? {top: "50%", y: Math.round(0 - i / 2 + e.v_offset) + "px"} : {
39390            top: "100%",
39391            y: Math.round(0 - (i + e.v_offset)) + "px"
39392        });
39393        t.hasClass("outer-bottom") || punchgs.TweenLite.set(t, a)
39394    }, m = function (t, e) {
39395        var i = (t.outerHeight(!0), t.outerWidth(!0)), a = "left" === e.h_align ? {
39396            left: "0px",
39397            x: Math.round(e.h_offset) + "px"
39398        } : "center" === e.h_align ? {left: "50%", x: Math.round(0 - i / 2 + e.h_offset) + "px"} : {
39399            left: "100%",
39400            x: Math.round(0 - (i + e.h_offset)) + "px"
39401        };
39402        punchgs.TweenLite.set(t, a)
39403    }, b = function (t, e) {
39404        var i = t.closest(".tp-simpleresponsive").length > 0 ? t.closest(".tp-simpleresponsive") : t.closest(".tp-revslider-mainul").length > 0 ? t.closest(".tp-revslider-mainul") : t.closest(".rev_slider_wrapper").length > 0 ? t.closest(".rev_slider_wrapper") : t.parent().find(".tp-revslider-mainul"),
39405            a = i.width(), n = i.height();
39406        if (v(t, e), m(t, e), "outer-left" !== e.position || "fullwidth" != e.sliderLayout && "fullscreen" != e.sliderLayout ? "outer-right" !== e.position || "fullwidth" != e.sliderLayout && "fullscreen" != e.sliderLayout || punchgs.TweenLite.set(t, {
39407            right: 0 - t.outerWidth() + "px",
39408            x: e.h_offset + "px"
39409        }) : punchgs.TweenLite.set(t, {
39410            left: 0 - t.outerWidth() + "px",
39411            x: e.h_offset + "px"
39412        }), t.hasClass("tp-thumbs") || t.hasClass("tp-tabs")) {
39413            var s = t.data("wr_padding"), r = t.data("maxw"), o = t.data("maxh"),
39414                d = t.hasClass("tp-thumbs") ? t.find(".tp-thumb-mask") : t.find(".tp-tab-mask"),
39415                l = parseInt(e.padding_top || 0, 0), h = parseInt(e.padding_bottom || 0, 0);
39416            r > a && "outer-left" !== e.position && "outer-right" !== e.position ? (punchgs.TweenLite.set(t, {
39417                left: "0px",
39418                x: 0,
39419                maxWidth: a - 2 * s + "px"
39420            }), punchgs.TweenLite.set(d, {maxWidth: a - 2 * s + "px"})) : (punchgs.TweenLite.set(t, {maxWidth: r + "px"}), punchgs.TweenLite.set(d, {maxWidth: r + "px"})), o + 2 * s > n && "outer-bottom" !== e.position && "outer-top" !== e.position ? (punchgs.TweenLite.set(t, {
39421                top: "0px",
39422                y: 0,
39423                maxHeight: l + h + (n - 2 * s) + "px"
39424            }), punchgs.TweenLite.set(d, {maxHeight: l + h + (n - 2 * s) + "px"})) : (punchgs.TweenLite.set(t, {maxHeight: o + "px"}), punchgs.TweenLite.set(d, {maxHeight: o + "px"})), "outer-left" !== e.position && "outer-right" !== e.position && (l = 0, h = 0), e.span === !0 && "vertical" === e.direction ? (punchgs.TweenLite.set(t, {
39425                maxHeight: l + h + (n - 2 * s) + "px",
39426                height: l + h + (n - 2 * s) + "px",
39427                top: 0 - l,
39428                y: 0
39429            }), v(d, e)) : e.span === !0 && "horizontal" === e.direction && (punchgs.TweenLite.set(t, {
39430                maxWidth: "100%",
39431                width: a - 2 * s + "px",
39432                left: 0,
39433                x: 0
39434            }), m(d, e))
39435        }
39436    }, w = function (t, e, i, a) {
39437        0 === t.find(".tp-bullets").length && (e.style = void 0 === e.style ? "" : e.style, t.append('<div class="tp-bullets ' + e.style + " " + e.direction + '"></div>'));
39438        var n = t.find(".tp-bullets"), s = i.data("index"), r = e.tmp;
39439        jQuery.each(a.thumbs[i.index()].params, function (t, e) {
39440            r = r.replace(e.from, e.to)
39441        }), n.append('<div class="justaddedbullet tp-bullet">' + r + "</div>");
39442        var o = t.find(".justaddedbullet"), d = t.find(".tp-bullet").length,
39443            l = o.outerWidth() + parseInt(void 0 === e.space ? 0 : e.space, 0),
39444            h = o.outerHeight() + parseInt(void 0 === e.space ? 0 : e.space, 0);
39445        "vertical" === e.direction ? (o.css({
39446            top: (d - 1) * h + "px",
39447            left: "0px"
39448        }), n.css({height: (d - 1) * h + o.outerHeight(), width: o.outerWidth()})) : (o.css({
39449            left: (d - 1) * l + "px",
39450            top: "0px"
39451        }), n.css({
39452            width: (d - 1) * l + o.outerWidth(),
39453            height: o.outerHeight()
39454        })), o.find(".tp-bullet-image").css({backgroundImage: "url(" + a.thumbs[i.index()].src + ")"}), o.data("liref", s), o.click(function () {
39455            a.sc_indicator = "bullet", t.revcallslidewithid(s), t.find(".tp-bullet").removeClass("selected"), jQuery(this).addClass("selected")
39456        }), o.removeClass("justaddedbullet"), e.padding_top = parseInt(a.carousel.padding_top || 0, 0), e.padding_bottom = parseInt(a.carousel.padding_bottom || 0, 0), ("outer-left" == e.position || "outer-right" == e.position) && (a.outernav = !0), b(n, e)
39457    }, _ = function (t, e) {
39458        e = parseFloat(e), t = t.replace("#", "");
39459        var i = parseInt(t.substring(0, 2), 16), a = parseInt(t.substring(2, 4), 16),
39460            n = parseInt(t.substring(4, 6), 16), s = "rgba(" + i + "," + a + "," + n + "," + e + ")";
39461        return s
39462    }, x = function (t, e, i, a, n) {
39463        var s = "tp-thumb" === a ? ".tp-thumbs" : ".tp-tabs", r = "tp-thumb" === a ? ".tp-thumb-mask" : ".tp-tab-mask",
39464            o = "tp-thumb" === a ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper",
39465            d = "tp-thumb" === a ? ".tp-thumb" : ".tp-tab", l = "tp-thumb" === a ? ".tp-thumb-image" : ".tp-tab-image";
39466        if (e.visibleAmount = e.visibleAmount > n.slideamount ? n.slideamount : e.visibleAmount, e.sliderLayout = n.sliderLayout, 0 === t.parent().find(s).length) {
39467            e.style = void 0 === e.style ? "" : e.style;
39468            var h = e.span === !0 ? "tp-span-wrapper" : "",
39469                p = '<div class="' + a + "s " + h + " " + e.position + " " + e.style + '"><div class="' + a + '-mask"><div class="' + a + 's-inner-wrapper" style="position:relative;"></div></div></div>';
39470            "outer-top" === e.position ? t.parent().prepend(p) : "outer-bottom" === e.position ? t.after(p) : t.append(p), e.padding_top = parseInt(n.carousel.padding_top || 0, 0), e.padding_bottom = parseInt(n.carousel.padding_bottom || 0, 0), ("outer-left" == e.position || "outer-right" == e.position) && (n.outernav = !0)
39471        }
39472        var u = i.data("index"), c = t.parent().find(s), g = c.find(r), f = g.find(o),
39473            v = "horizontal" === e.direction ? e.width * e.visibleAmount + e.space * (e.visibleAmount - 1) : e.width,
39474            m = "horizontal" === e.direction ? e.height : e.height * e.visibleAmount + e.space * (e.visibleAmount - 1),
39475            w = e.tmp;
39476        jQuery.each(n.thumbs[i.index()].params, function (t, e) {
39477            w = w.replace(e.from, e.to)
39478        }), f.append('<div data-liindex="' + i.index() + '" data-liref="' + u + '" class="justaddedthumb ' + a + '" style="width:' + e.width + "px;height:" + e.height + 'px;">' + w + "</div>");
39479        var x = c.find(".justaddedthumb"), y = c.find(d).length,
39480            T = x.outerWidth() + parseInt(void 0 === e.space ? 0 : e.space, 0),
39481            j = x.outerHeight() + parseInt(void 0 === e.space ? 0 : e.space, 0);
39482        x.find(l).css({backgroundImage: "url(" + n.thumbs[i.index()].src + ")"}), "vertical" === e.direction ? (x.css({
39483            top: (y - 1) * j + "px",
39484            left: "0px"
39485        }), f.css({height: (y - 1) * j + x.outerHeight(), width: x.outerWidth()})) : (x.css({
39486            left: (y - 1) * T + "px",
39487            top: "0px"
39488        }), f.css({
39489            width: (y - 1) * T + x.outerWidth(),
39490            height: x.outerHeight()
39491        })), c.data("maxw", v), c.data("maxh", m), c.data("wr_padding", e.wrapper_padding);
39492        var L = "outer-top" === e.position || "outer-bottom" === e.position ? "relative" : "absolute";
39493        "outer-top" !== e.position && "outer-bottom" !== e.position || "center" !== e.h_align ? "0" : "auto", g.css({
39494            maxWidth: v + "px",
39495            maxHeight: m + "px",
39496            overflow: "hidden",
39497            position: "relative"
39498        }), c.css({
39499            maxWidth: v + "px",
39500            maxHeight: m + "px",
39501            overflow: "visible",
39502            position: L,
39503            background: _(e.wrapper_color, e.wrapper_opacity),
39504            padding: e.wrapper_padding + "px",
39505            boxSizing: "contet-box"
39506        }), x.click(function () {
39507            n.sc_indicator = "bullet";
39508            var e = t.parent().find(o).data("distance");
39509            e = void 0 === e ? 0 : e, Math.abs(e) < 10 && (t.revcallslidewithid(u), t.parent().find(s).removeClass("selected"), jQuery(this).addClass("selected"))
39510        }), x.removeClass("justaddedthumb"), b(c, e)
39511    }, y = function (t) {
39512        var e = t.c.parent().find(".outer-top"), i = t.c.parent().find(".outer-bottom");
39513        t.top_outer = e.hasClass("tp-forcenotvisible") ? 0 : e.outerHeight() || 0, t.bottom_outer = i.hasClass("tp-forcenotvisible") ? 0 : i.outerHeight() || 0
39514    }, T = function (t, e, i, a) {
39515        e > i || i > a ? t.addClass("tp-forcenotvisible") : t.removeClass("tp-forcenotvisible")
39516    }
39517}(jQuery), !function (e) {
39518    var a = jQuery.fn.revolution, r = a.is_mobile();
39519    jQuery.extend(!0, a, {
39520        checkForParallax: function (e, t) {
39521            var o = t.parallax;
39522            if (r && "on" == o.disable_onmobile) return !1;
39523            ("3D" == o.type || "3d" == o.type) && (punchgs.TweenLite.set(t.c, {overflow: o.ddd_overflow}), punchgs.TweenLite.set(t.ul, {overflow: o.ddd_overflow}), "carousel" != t.sliderType && "on" == o.ddd_shadow && (t.c.prepend('<div class="dddwrappershadow"></div>'), punchgs.TweenLite.set(t.c.find(".dddwrappershadow"), {
39524                force3D: "auto",
39525                transformPerspective: 1600,
39526                transformOrigin: "50% 50%",
39527                width: "100%",
39528                height: "100%",
39529                position: "absolute",
39530                top: 0,
39531                left: 0,
39532                zIndex: 0
39533            }))), t.li.each(function () {
39534                var e = jQuery(this);
39535                if ("3D" == o.type || "3d" == o.type) {
39536                    e.find(".slotholder").wrapAll('<div class="dddwrapper" style="width:100%;height:100%;position:absolute;top:0px;left:0px;overflow:hidden"></div>
vendor: 6,690 bytes, lines 39536-39635
39536'), e.find(".tp-parallax-wrap").wrapAll('<div class="dddwrapper-layer" style="width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:5;overflow:' + o.ddd_layer_overflow + ';"></div>'), e.find(".rs-parallaxlevel-tobggroup").closest(".tp-parallax-wrap").wrapAll('<div class="dddwrapper-layertobggroup" style="position:absolute;top:0px;left:0px;z-index:50;width:100%;height:100%"></div>');
39537                    var a = e.find(".dddwrapper"), r = e.find(".dddwrapper-layer"),
39538                        l = e.find(".dddwrapper-layertobggroup");
39539                    l.appendTo(a), "carousel" == t.sliderType && ("on" == o.ddd_shadow && a.addClass("dddwrappershadow"), punchgs.TweenLite.set(a, {borderRadius: t.carousel.border_radius})), punchgs.TweenLite.set(e, {
39540                        overflow: "visible",
39541                        transformStyle: "preserve-3d",
39542                        perspective: 1600
39543                    }), punchgs.TweenLite.set(a, {
39544                        force3D: "auto",
39545                        transformOrigin: "50% 50%"
39546                    }), punchgs.TweenLite.set(r, {
39547                        force3D: "auto",
39548                        transformOrigin: "50% 50%",
39549                        zIndex: 5
39550                    }), punchgs.TweenLite.set(t.ul, {transformStyle: "preserve-3d", transformPerspective: 1600})
39551                }
39552            });
39553            for (var l = 1; l <= o.levels.length; l++) t.c.find(".rs-parallaxlevel-" + l).each(function () {
39554                var e = jQuery(this), a = e.closest(".tp-parallax-wrap");
39555                a.data("parallaxlevel", o.levels[l - 1]), a.addClass("tp-parallax-container")
39556            });
39557            ("mouse" == o.type || "scroll+mouse" == o.type || "mouse+scroll" == o.type || "3D" == o.type || "3d" == o.type) && (e.mouseenter(function (a) {
39558                var r = e.find(".active-revslide"), t = e.offset().top, o = e.offset().left, l = a.pageX - o,
39559                    i = a.pageY - t;
39560                r.data("enterx", l), r.data("entery", i)
39561            }), e.on("mousemove.hoverdir, mouseleave.hoverdir, trigger3dpath", function (a, r) {
39562                var l = r && r.li ? r.li : e.find(".active-revslide");
39563                if ("enterpoint" == o.origo) {
39564                    var i = e.offset().top, s = e.offset().left;
39565                    void 0 == l.data("enterx") && l.data("enterx", a.pageX - s), void 0 == l.data("entery") && l.data("entery", a.pageY - i);
39566                    var n = l.data("enterx") || a.pageX - s, d = l.data("entery") || a.pageY - i, p = n - (a.pageX - s),
39567                        c = d - (a.pageY - i), u = o.speed / 1e3 || .4
39568                } else var i = e.offset().top, s = e.offset().left, p = t.conw / 2 - (a.pageX - s),
39569                    c = t.conh / 2 - (a.pageY - i), u = o.speed / 1e3 || 3;
39570                "mouseleave" == a.type && (p = o.ddd_lasth || 0, c = o.ddd_lastv || 0, u = 1.5);
39571                var h = [];
39572                if (l.find(".tp-parallax-container").each(function (e) {
39573                    h.push(jQuery(this))
39574                }), e.find(".tp-static-layers .tp-parallax-container").each(function () {
39575                    h.push(jQuery(this))
39576                }), jQuery.each(h, function () {
39577                    var e = jQuery(this), a = parseInt(e.data("parallaxlevel"), 0),
39578                        r = "3D" == o.type || "3d" == o.type ? a / 200 : a / 100, t = p * r, l = c * r;
39579                    "scroll+mouse" == o.type || "mouse+scroll" == o.type ? punchgs.TweenLite.to(e, u, {
39580                        force3D: "auto",
39581                        x: t,
39582                        ease: punchgs.Power3.easeOut,
39583                        overwrite: "all"
39584                    }) : punchgs.TweenLite.to(e, u, {
39585                        force3D: "auto",
39586                        x: t,
39587                        y: l,
39588                        ease: punchgs.Power3.easeOut,
39589                        overwrite: "all"
39590                    })
39591                }), "3D" == o.type || "3d" == o.type) {
39592                    var f = ".tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer";
39593                    "carousel" === t.sliderType && (f = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer"), t.c.find(f).each(function () {
39594                        var e = jQuery(this), r = o.levels[o.levels.length - 1] / 200, l = p * r, i = c * r,
39595                            s = 0 == t.conw ? 0 : Math.round(p / t.conw * r * 100) || 0,
39596                            n = 0 == t.conh ? 0 : Math.round(c / t.conh * r * 100) || 0, d = e.closest("li"), h = 0,
39597                            f = !1;
39598                        e.hasClass("dddwrapper-layer") && (h = o.ddd_z_correction || 65, f = !0), e.hasClass("dddwrapper-layer") && (l = 0, i = 0), d.hasClass("active-revslide") || "carousel" != t.sliderType ? "on" != o.ddd_bgfreeze || f ? punchgs.TweenLite.to(e, u, {
39599                            rotationX: n,
39600                            rotationY: -s,
39601                            x: l,
39602                            z: h,
39603                            y: i,
39604                            ease: punchgs.Power3.easeOut,
39605                            overwrite: "all"
39606                        }) : punchgs.TweenLite.to(e, .5, {
39607                            force3D: "auto",
39608                            rotationY: 0,
39609                            rotationX: 0,
39610                            z: 0,
39611                            ease: punchgs.Power3.easeOut,
39612                            overwrite: "all"
39613                        }) : punchgs.TweenLite.to(e, .5, {
39614                            force3D: "auto",
39615                            rotationY: 0,
39616                            z: 0,
39617                            x: 0,
39618                            y: 0,
39619                            rotationX: 0,
39620                            z: 0,
39621                            ease: punchgs.Power3.easeOut,
39622                            overwrite: "all"
39623                        }), "mouseleave" == a.type && punchgs.TweenLite.to(jQuery(this), 3.8, {
39624                            z: 0,
39625                            ease: punchgs.Power3.easeOut
39626                        })
39627                    })
39628                }
39629            }), r && (window.ondeviceorientation = function (a) {
39630                var r = Math.round(a.beta || 0) - 70, l = Math.round(a.gamma || 0), i = e.find(".active-revslide");
39631                if (jQuery(window).width() > jQuery(window).height()) {
39632                    var s = l;
39633                    l = r, r = s
39634                }
39635                var n = e.width(), d = e.height(), p = 360 / n * l, c = 180 / d * r, u = o.speed / 1e3 || 3, h = [];
39636                if (i.find(".tp-parallax-container").each(function (e) {
39637                    h.push(jQuery(this))
39638                }), e.find(".tp-static-layers .tp-parallax-container").each(function () {
39639                    h.push(jQuery(this))
39640                }), jQuery.each(h, function () {
39641                    var e = jQuery(this), a = parseInt(e.data("parallaxlevel"), 0), r = a / 100, t = p * r * 2,
39642                        o = c * r * 4;
39643                    punchgs.TweenLite.to(e, u, {
39644                        force3D: "auto",
39645                        x: t,
39646                        y: o,
39647                        ease: punchgs.Power3.easeOut,
39648                        overwrite: "all"
39649                    })
39650                }), "3D" == o.type || "3d" == o.type) {
39651                    var f = ".tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer";
39652                    "carousel" === t.sliderType && (f = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer"), t.c.find(f).each(function () {
39653                        var e = jQuery(this), r = o.levels[o.levels.length - 1] / 200;
39654                        offsh = p * r, offsv = c * r * 3, offrv = 0 == t.conw ? 0 : Math.round(p / t.conw * r * 500) || 0, offrh = 0 == t.conh ? 0 : Math.round(c / t.conh * r * 700) || 0, li = e.closest("li"), zz = 0, itslayer = !1, e.hasClass("dddwrapper-layer") && (zz = o.ddd_z_correction || 65, itslayer = !0), e.hasClass("dddwrapper-layer") && (offsh = 0, offsv = 0), li.hasClass("active-revslide") || "carousel" != t.sliderType ? "on" != o.ddd_bgfreeze || itslayer ? punchgs.TweenLite.to(e, u, {
39655                            rotationX: offrh,
39656                            rotationY: -offrv,
39657                            x: offsh,
39658                            z: zz,
39659                            y: offsv,
39660                            ease: punchgs.Power3.easeOut,
39661                            overwrite: "all"
39662                        }) : punchgs.TweenLite.to(e, .5, {
39663                            force3D: "auto",
39664                            rotationY: 0,
39665                            rotationX: 0,
39666                            z: 0,
39667                            ease: punchgs.Power3.easeOut,
39668                            overwrite: "all"
39669                        }) : punchgs.TweenLite.to(e, .5, {
39670                            force3D: "auto",
39671                            rotationY: 0,
39672                            z: 0,
39673                            x: 0,
39674                            y: 0,
39675                            rotationX: 0,
39676                            z: 0,
39677                            ease: punchgs.Power3.easeOut,
39678                            overwrite: "all"
39679                        }), "mouseleave" == a.type && punchgs.TweenLite.to(jQuery(this), 3.8, {
39680                            z: 0,
39681                            ease: punchgs.Power3.easeOut
39682                        })
39683                    })
39684                }
39685            })), a.scrollTicker(t, e)
39686        }, scrollTicker: function (e, t) {
39687            1 != e.scrollTicker && (e.scrollTicker = !0, r ? (punchgs.TweenLite.ticker.fps(150), punchgs.TweenLite.ticker.addEventListener("tick", function () {
39688                a.scrollHandling(e)
39689            }, t, !1, 1)) : jQuery(window).on("scroll mousewheel DOMMouseScroll", function () {
39690                a.scrollHandling(e, !0)
39691            })), a.scrollHandling(e, !0)
39692        }, scrollHandling: function (e, t) {
39693            function o(e, a) {
39694                e.lastscrolltop = a
39695            }
39696
39697            e.lastwindowheight = e.lastwindowheight || jQuery(window).height();
39698            var l = e.c.offset().top, i = jQuery(window).scrollTop(), s = new Object, n = e.viewPort, d = e.parallax;
39699            if (e.lastscrolltop == i && !e.duringslidechange && !t) return !1;
39700            punchgs.TweenLite.delayedCall(.2, o, [e, i]), s.top = l - i, s.h = 0 == e.conh ? e.c.height() : e.conh, s.bottom = l - i + s.h;
39701            var p = s.top < 0 ? s.top / s.h : s.bottom > e.lastwindowheight ? (s.bottom - e.lastwindowheight) / s.h : 0;
39702            if (e.scrollproc = p, a.callBackHandling && a.callBackHandling(e, "parallax", "start"), n.enable) {
39703                var c = 1 - Math.abs(p);
39704                c = 0 > c ? 0 : c, jQuery.isNumeric(n.visible_area) || -1 !== n.visible_area.indexOf("%") && (n.visible_area = parseInt(n.visible_area) / 100), 1 - n.visible_area <= c ? e.inviewport || (e.inviewport = !0, a.enterInViewPort(e)) : e.inviewport && (e.inviewport = !1, a.leaveViewPort(e))
39705            }
39706            if (r && "on" == e.parallax.disable_onmobile) return !1;
39707            var u = new punchgs.TimelineLite;
39708            u.pause(), "3d" != d.type && "3D" != d.type && (("scroll" == d.type || "scroll+mouse" == d.type || "mouse+scroll" == d.type) && e.c.find(".tp-
39708parallax-container").each(function (a) {
39709                var r = jQuery(this), t = parseInt(r.data("parallaxlevel"), 0) / 100, o = p * -(t * e.conh) || 0;
39710                r.data("parallaxoffset", o), u.add(punchgs.TweenLite.set(r, {force3D: "auto", y: o}), 0)
39711            }), e.c.find(".tp-revslider-slidesli .slotholder, .tp-revslider-slidesli .rs-background-video-layer").each(function () {
39712                var a = jQuery(this), r = a.data("bgparallax") || e.parallax.bgparallax;
39713                if (r = "on" == r ? 1 : r, void 0 !== r || "off" !== r) {
39714                    var t = e.parallax.levels[parseInt(r, 0) - 1] / 100, o = p * -(t * e.conh) || 0;
39715                    jQuery.isNumeric(o) && u.add(punchgs.TweenLite.set(a, {
39716                        position: "absolute",
39717                        top: "0px",
39718                        left: "0px",
39719                        backfaceVisibility: "hidden",
39720                        force3D: "true",
39721                        y: o + "px"
39722                    }), 0)
39723                }
39724            })), a.callBackHandling && a.callBackHandling(e, "parallax", "end"), u.play(0)
39725        }
39726    })
39727}(jQuery), function ($) {
39728    $.fn.jflickrfeed = function (settings, callback) {
39729        settings = $.extend(!0, {
39730            flickrbase: "http://api.flickr.com/services/feeds/",
39731            feedapi: "photos_public.gne",
39732            limit: 20,
39733            qstrings: {lang: "en-us", format: "json", jsoncallback: "?"},
39734            cleanDescription: !0,
39735            useTemplate: !0,
39736            itemTemplate: "",
39737            itemCallback: function () {
39738            }
39739        }, settings);
39740        var url = settings.flickrbase + settings.feedapi + "?", first = !0;
39741        for (var key in settings.qstrings) first || (url += "&"), url += key + "=" + settings.qstrings[key], first = !1;
39742        return $(this).each(function () {
39743            var $container = $(this), container = this;
39744            $.getJSON(url, function (data) {
39745                $.each(data.items, function (i, item) {
39746                    if (i < settings.limit) {
39747                        if (settings.cleanDescription) {
39748                            var regex = /<p>(.*?)<\/p>/g, input = item.description;
39749                            regex.test(input) && (item.description = input.match(regex)[2], void 0 != item.description && (item.description = item.description.replace("<p>", "").replace("</p>", "")))
39750                        }
39751                        if (item.image_s = item.media.m.replace("_m", "_s"), item.image_t = item.media.m.replace("_m", "_t"), item.image_m = item.media.m.replace("_m", "_m"), item.image = item.media.m.replace("_m", ""), item.image_b = item.media.m.replace("_m", "_b"), delete item.media, settings.useTemplate) {
39752                            var template = settings.itemTemplate;
39753                            for (var key in item) {
39754                                var rgx = new RegExp("{{" + key + "}}", "g");
39755                                template = template.replace(rgx, item[key])
39756                            }
39757                            $container.append(template)
39758                        }
39759                        settings.itemCallback.call(container, item)
39760                    }
39761                }), $.isFunction(callback) && callback.call(container, data)
39762            })
39763        })
39764    }
39765}(jQuery), !function (e, t, r, s) {
39766    "use strict";
39767    e.jribbble = {};
39768    var n = null, o = "https://api.dribbble.com/v1",
39769        i = ["animated", "attachments", "debuts", "playoffs", "rebounds", "teams"], u = {
39770            token: "Jribbble: Missing Dribbble access token. Set one with $.jribbble.accessToken = YOUR_ACCESS_TOKEN. If you do not have an access token, you must register a new application at https://dribbble.com/account/applications/new",
39771            singular: function (e) {
39772                return e.substr(0, e.length - 1)
39773            },
39774            idRequired: function (e) {
39775                return "Jribbble: You have to provide a " + this.singular(e) + ' ID. ex: $.jribbble.%@("1234").'.replace(/%@/g, e)
39776            },
39777            subResource: function (e) {
39778                return "Jribbble: You have to provide a " + this.singular(e) + ' ID to get %@. ex: $.jribbble.%@("1234").%@()'.replace(/%@/g, e)
39779            },
39780            shotId: function (e) {
39781                return "Jribbble: You have to provide a shot ID to get %@. ex: " + ' $.jribbble.shots("1234").%@()'.replace(/%@/g, e)
39782            },
39783            commentLikes: 'Jribbble: You have to provide a comment ID to get likes. ex:  $.jribbble.shots("1234").comments("456").likes()'
39784        }, c = function (e, t) {
39785            if (e && "object" != typeof e) return e;
39786            throw new Error(u.idRequired(t))
39787        }, l = function (e) {
39788            var t = {};
39789            return e.forEach(function (e) {
39790                t[e] = d.call(this, e)
39791            }.bind(this)), t
39792        }, h = function (t) {
39793            var r = e.param(t);
39794            return r ? "?" + r : ""
39795        }, a = function (e) {
39796            if (0 !== e.length) {
39797                var t = e[0], r = typeof t, s = {};
39798                if ("number" === r || "string" === r) {
39799                    var n = i.indexOf(t);
39800                    n > -1 ? s.list = t : s.resource = t
39801                } else "object" === r && (s = t);
39802                return s
39803            }
39804        }, b = function () {
39805            var t = e.extend({}, e.Deferred()), r = function () {
39806                return this.methods = [], this.response = null, this.flushed = !1, this.add = function (e) {
39807                    this.flushed ? e(this.scope) : this.methods.push(e)
39808                }, this.flush = function (e) {
39809                    if (!this.flushed) {
39810                        for (this.scope = e, this.flushed = !0; this.methods[0];) this.methods.shift()(e);
39811                        return e
39812                    }
39813                }, this
39814            };
39815            return t.queue = new r, t.url = o, t.get = function () {
39816                return n ? (e.ajax({
39817                    type: "GET", url: this.url, beforeSend: function (e) {
39818                        e.setRequestHeader("Authorization", "Bearer " + n
39818)
39819                    }, success: function (e) {
39820                        this.resolve(e)
39821                    }.bind(this), error: function (e) {
39822                        this.reject(e)
39823                    }.bind(this)
39824                }), this) : (console.error(u.token), !1)
39825            }, t
39826        }, f = function (t) {
39827            return function (r) {
39828                return e.extend(this, b()), this.queue.add(function (e) {
39829                    e.url += "/" + t + "/" + r
39830                }), setTimeout(function () {
39831                    this.queue.flush(this).get()
39832                }.bind(this)), this
39833            }
39834        }, d = function (e) {
39835            return function (t) {
39836                return this.queue.add(function (r) {
39837                    r.url += "/" + e + "/" + h(t || {})
39838                }), this
39839            }
39840        };
39841    e.jribbble.shots = function (t, r) {
39842        var s = a([].slice.call(arguments)) || {}, n = r || {}, o = function (t) {
39843            return function (r, s) {
39844                var n = a([].slice.call(arguments)) || {}, o = s || {};
39845                return this.queue.add(function (r) {
39846                    if (!r.shotId) throw new Error(u.shotId(t));
39847                    r.url += "/" + t + "/", n.resource && (r.url += n.resource, delete n.resource), r.url += h(e.extend(n, o))
39848                }), this
39849            }
39850        }, i = function () {
39851            return e.extend(this, b()), this.url += "/shots/", this.queue.add(function (t) {
39852                s.resource && (t.shotId = s.resource, t.url += s.resource, delete s.resource), t.url += h(e.extend(s, n))
39853            }), setTimeout(function () {
39854                this.queue.flush(this).get()
39855            }.bind(this)), this
39856        };
39857        return i.prototype.attachments = o("attachments"), i.prototype.buckets = o("buckets"), i.prototype.likes = o("likes"), i.prototype.projects = o("projects"), i.prototype.rebounds = o("rebounds"), i.prototype.comments = function (t, r) {
39858            var s = a([].slice.call(arguments)) || {}, n = r || {};
39859            return this.queue.add(function (t) {
39860                if (!t.shotId) throw new Error(u.shotId("comments"));
39861                t.url += "/comments/", s.resource && (t.commentId = s.resource, t.url += s.resource + "/", delete s.resource), t.url += h(e.extend(s, n))
39862            }), this.likes = function (e) {
39863                var t = e || {};
39864                return this.queue.add(function (e) {
39865                    if (!e.commentId) throw new Error(u.commentLikes);
39866                    e.url += "likes/" + h(t)
39867                }), this
39868            }, this
39869        }, new i
39870    }, e.jribbble.teams = function (e) {
39871        var t = "teams", r = c(e, t), s = f.call(this, t);
39872        return s.prototype = l.call(this, ["members", "shots"]), new s(r)
39873    }, e.jribbble.users = function (e) {
39874        var t = "users", r = c(e, t), s = f.call(this, t);
39875        return s.prototype = l.call(this, ["buckets", "followers", "following", "likes", "projects", "shots", "teams"]), s.prototype.isFollowing = function (e) {
39876            return this.queue.add(function (t) {
39877                t.url += "/following/" + e
39878            }), this
39879        }, new s(r)
39880    }, e.jribbble.buckets = function (e) {
39881        var t = "buckets", r = c(e, t), s = f.call(this, t);
39882        return s.prototype = l.call(this, ["shots"]), new s(r)
39883    }, e.jribbble.projects = function (e) {
39884        var t = "projects", r = c(e, t), s = f.call(this, t);
39885        return s.prototype = l.call(this, ["shots"]), new s(r)
39886    }, e.jribbble.setToken = function (e) {
39887        return n = e, this
39888    }
39889}(jQuery, window, document), function () {
39890    "use strict";
39891    var t = this, i = t.Chart, e = function (t) {
39892        this.canvas = t.canvas, this.ctx = t;
39893        var i = function (t, i) {
39894            return t["offset" + i] ? t["offset" + i] : document.defaultView.getComputedStyle(t).getPropertyValue(i)
39895        }, e = this.width = i(t.canvas, "Width"), n = this.height = i(t.canvas, "Height");
39896        t.canvas.width = e, t.canvas.height = n;
39897        var e = this.width = t.canvas.width, n = this.height = t.canvas.height;
39898        return this.aspectRatio = this.width / this.height, s.retinaScale(this), this
39899    };
39900    e.defaults = {
39901        global: {
39902            animation: !0,
39903            animationSteps: 60,
39904            animationEasing: "easeOutQuart",
39905            showScale: !0,
39906            scaleOverride: !1,
39907            scaleSteps: null,
39908            scaleStepWidth: null,
39909            scaleStartValue: null,
39910            scaleLineColor: "rgba(0,0,0,.1)",
39911            scaleLineWidth: 1,
39912            scaleShowLabels: !0,
39913            scaleLabel: "<%=value%>",
39914            scaleIntegersOnly: !0,
39915            scaleBeginAtZero: !1,
39916            scaleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
39917            scaleFontSize: 12,
39918            scaleFontStyle: "normal",
39919            scaleFontColor: "#666",
39920            responsive: !1,
39921            maintainAspectRatio: !0,
39922            showTooltips: !0,
39923            customTooltips: !1,
39924            tooltipEvents: ["mousemove", "touchstart", "touchmove", "mouseout"],
39925            tooltipFillColor: "rgba(0,0,0,0.8)",
39926            tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
39927            tooltipFontSize: 14,
39928            tooltipFontStyle: "normal",
39929            tooltipFontColor: "#fff",
39930            tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
39931            tooltipTitleFontSize: 14,
39932            tooltipTitleFontStyle: "bold",
39933            tooltipTitleFontColor: "#fff",
39934            tooltipYPadding: 6,
39935            tooltipXPadding: 6,
39936            tooltipCaretSize: 8,
39937            tooltipCornerRadius: 6,
39938            tooltipXOffset: 10,
39939            tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>",
39940            multiTooltipTemplate: "<%= value %>",
39941            multiTooltipKeyBackground: "#fff",
39942            onAnimationProgress: function () {
39943            },
39944            onAnimationComplete: function () {
39945            }
39946        }
39947    }, e.types = {};
39948    var s = e.helpers = {}, n = s.each = function (t, i, e) {
39949        var s = Array.prototype.slice.call(arguments, 3);
39950        if (t) if (t.length === +t.length) {
39951            var n;
39952            for (n = 0; n < t.length; n++) i.apply(e, [t[n], n].concat(s))
39953        } else for (var o in t) i.apply(e, [t[o], o].concat(s))
39954    }, o = s.clone = function (t) {
39955        var i = {};
39956        return n(t, function (e, s) {
39957            t.hasOwnProperty(s) && (i[s] = e)
39958        }), i
39959    }, a = s.extend = function (t) {
39960        return n(Array.prototype.slice.call(arguments, 1), function (i) {
39961            n(i, function (e, s) {
39962                i.hasOwnProperty(s) && (t[s] = e)
39963            })
39964        }), t
39965    }, h = s.merge = function () {
39966        var t = Array.prototype.slice.call(arguments, 0);
39967        return t.unshift({}), a.apply(null, t)
39968    }, l = s.indexOf = function (t, i) {
39969        if (Array.prototype.indexOf) return t.indexOf(i);
39970        for (var e = 0; e < t.length; e++) if (t[e] === i) return e;
39971        return -1
39972    }, r = (s.where = function (t, i) {
39973        var e = [];
39974        return s.each(t, function (t) {
39975            i(t) && e.push(t)
39976        }), e
39977    }, s.findNextWhere = function (t, i, e) {
39978        e || (e = -1);
39979        for (var s = e + 1; s < t.length; s++) {
39980            var n = t[s];
39981            if (i(n)) return n
39982        }
39983    }, s.findPreviousWhere = function (t, i, e) {
39984        e || (e = t.length);
39985        for (var s = e - 1; s >= 0; s--) {
39986            var n = t[s];
39987            if (i(n)) return n
39988        }
39989    }, s.inherits = function (t) {
39990        var i = this, e = t && t.hasOwnProperty("constructor") ? t.constructor : function () {
39991            return i.apply(this, arguments)
39992        }, s = function () {
39993            this.constructor = e
39994        };
39995        return s.prototype = i.prototype, e.prototype = new s, e.extend = r, t && a(e.prototype, t), e.__super__ = i.prototype, e
39996    }), c = s.noop = function () {
39997    }, u = s.uid = function () {
39998        var t = 0;
39999        return function () {
40000            return "chart-" + t++
40001        }
40002    }(), d = s.warn = function (t) {
40003        window.console && "function" == typeof window.console.warn && console.warn(t)
40004    }, p = s.amd = "function" == typeof define && define.amd, f = s.isNumber = function (t) {
40005        return !isNaN(parseFloat(t)) && isFinite(t)
40006    }, g = s.max = function (t) {
40007        return Math.max.apply(Math, t)
40008    }, m = s.min = function (t) {
40009        return Math.min.apply(Math, t)
40010    }, v = (s.cap = function (t, i, e) {
40011        if (f(i)) {
40012            if (t > i) return i
40013        } else if (f(e) && e > t) return e;
40014        return t
40015    }, s.getDecimalPlaces = function (t) {
40016        return t % 1 !== 0 && f(t) ? t.toString().split(".")[1].length : 0
40017    }), S = s.radians = function (t) {
40018        return t * (Math.PI / 180)
40019    }, x = (s.getAngleFromPoint = function (t, i) {
40020        var e = i.x - t.x, s = i.y - t.y, n = Math.sqrt(e * e + s * s), o = 2 * Math.PI + Math.atan2(s, e);
40021        return 0 > e && 0 > s && (o += 2 * Math.PI), {angle: o, distance: n}
40022    }, s.aliasPixel = function (t) {
40023        return t % 2 === 0 ? 0 : .5
40024    }), y = (s.splineCurve = function (t, i, e, s) {
40025        var n = Math.sqrt(Math.pow(i.x - t.x, 2) + Math.pow(i.y - t.y, 2)),
40026            o = Math.sqrt(Math.pow(e.x - i.x, 2) + Math.pow(e.y - i.y, 2)), a = s * n / (n + o), h = s * o / (n + o);
40027        return {
40028            inner: {x: i.x - a * (e.x - t.x), y: i.y - a * (e.y - t.y)},
40029            outer: {x: i.x + h * (e.x - t.x), y: i.y + h * (e.y - t.y)}
40030        }
40031    }, s.calculateOrderOfMagnitude = function (t) {
40032        return Math.floor(Math.log(t) / Math.LN10)
40033    }), C = (s.calculateScaleRange = function (t, i, e, s, n) {
40034        var o = 2, a = Math.floor(i / (1.5 * e)), h = o >= a, l = g(t), r = m(t);
40035        l === r && (l += .5, r >= .5 && !s ? r -= .5 : l += .5);
40036        for (var c = Math.abs(l - r), u = y(c), d = Math.ceil(l / (1 * Math.pow(10, u))) * Math.pow(10, u), p = s ? 0 : Math.floor(r / (1 * Math.pow(10, u))) * Math.pow(10, u), f = d - p, v = Math.pow(10, u), S = Math.round(f / v); (S > a || a > 2 * S) && !h;) if (S > a) v *= 2, S = Math.round(f / v), S % 1 !== 0 && (h = !0); else if (n && u >= 0) {
40037            if (v / 2 % 1 !== 0) break;
40038            v /= 2, S = Math.round(f / v)
40039        } else v /= 2, S = Math.round(f / v);
40040        return h && (S = o, v = f / S), {steps: S, stepValue: v, min: p, max: p + S * v}
40041    }, s.template = function (t, i) {
40042        function e(t, i) {
40043            var e = /\W/.test(t) ? new Function("obj", "var p=[],print=function(){p.push.apply(
40043p,arguments);};with(obj){p.push('" + t.replace(/[\r\t\n]/g, " ").split("<%").join("	").replace(/((^|%>)[^\t]*)'/g, "$1\r").replace(/\t=(.*?)%>/g, "',$1,'").split("	").join("');").split("%>").join("p.push('").split("\r").join("\\'") + "');}return p.join('');") : s[t] = s[t];
40044            return i ? e(i) : e
40045        }
40046
40047        if (t instanceof Function) return t(i);
40048        var s = {};
40049        return e(t, i)
40050    }), w = (s.generateLabels = function (t, i, e, s) {
40051        var o = new Array(i);
40052        return labelTemplateString && n(o, function (i, n) {
40053            o[n] = C(t, {value: e + s * (n + 1)})
40054        }), o
40055    }, s.easingEffects = {
40056        linear: function (t) {
40057            return t
40058        }, easeInQuad: function (t) {
40059            return t * t
40060        }, easeOutQuad: function (t) {
40061            return -1 * t * (t - 2)
40062        }, easeInOutQuad: function (t) {
40063            return (t /= .5) < 1 ? .5 * t * t : -.5 * (--t * (t - 2) - 1)
40064        }, easeInCubic: function (t) {
40065            return t * t * t
40066        }, easeOutCubic: function (t) {
40067            return 1 * ((t = t / 1 - 1) * t * t + 1)
40068        }, easeInOutCubic: function (t) {
40069            return (t /= .5) < 1 ? .5 * t * t * t : .5 * ((t -= 2) * t * t + 2)
40070        }, easeInQuart: function (t) {
40071            return t * t * t * t
40072        }, easeOutQuart: function (t) {
40073            return -1 * ((t = t / 1 - 1) * t * t * t - 1)
40074        }, easeInOutQuart: function (t) {
40075            return (t /= .5) < 1 ? .5 * t * t * t * t : -.5 * ((t -= 2) * t * t * t - 2)
40076        }, easeInQuint: function (t) {
40077            return 1 * (t /= 1) * t * t * t * t
40078        }, easeOutQuint: function (t) {
40079            return 1 * ((t = t / 1 - 1) * t * t * t * t + 1)
40080        }, easeInOutQuint: function (t) {
40081            return (t /= .5) < 1 ? .5 * t * t * t * t * t : .5 * ((t -= 2) * t * t * t * t + 2)
40082        }, easeInSine: function (t) {
40083            return -1 * Math.cos(t / 1 * (Math.PI / 2)) + 1
40084        }, easeOutSine: function (t) {
40085            return 1 * Math.sin(t / 1 * (Math.PI / 2))
40086        }, easeInOutSine: function (t) {
40087            return -.5 * (Math.cos(Math.PI * t / 1) - 1)
40088        }, easeInExpo: function (t) {
40089            return 0 === t ? 1 : 1 * Math.pow(2, 10 * (t / 1 - 1))
40090        }, easeOutExpo: function (t) {
40091            return 1 === t ? 1 : 1 * (-Math.pow(2, -10 * t / 1) + 1)
40092        }, easeInOutExpo: function (t) {
40093            return 0 === t ? 0 : 1 === t ? 1 : (t /= .5) < 1 ? .5 * Math.pow(2, 10 * (t - 1)) : .5 * (-Math.pow(2, -10 * --t) + 2)
40094        }, easeInCirc: function (t) {
40095            return t >= 1 ? t : -1 * (Math.sqrt(1 - (t /= 1) * t) - 1)
40096        }, easeOutCirc: function (t) {
40097            return 1 * Math.sqrt(1 - (t = t / 1 - 1) * t)
40098        }, easeInOutCirc: function (t) {
40099            return (t /= .5) < 1 ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1)
40100        }, easeInElastic: function (t) {
40101            var i = 1.70158, e = 0, s = 1;
40102            return 0 === t ? 0 : 1 == (t /= 1) ? 1 : (e || (e = .3), s < Math.abs(1) ? (s = 1, i = e / 4) : i = e / (2 * Math.PI) * Math.asin(1 / s), -(s * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (1 * t - i) * Math.PI / e)))
40103        }, easeOutElastic: function (t) {
40104            var i = 1.70158, e = 0, s = 1;
40105            return 0 === t ? 0 : 1 == (t /= 1) ? 1 : (e || (e = .3), s < Math.abs(1) ? (s = 1, i = e / 4) : i = e / (2 * Math.PI) * Math.asin(1 / s), s * Math.pow(2, -10 * t) * Math.sin(2 * (1 * t - i) * Math.PI / e) + 1)
40106        }, easeInOutElastic: function (t) {
40107            var i = 1.70158, e = 0, s = 1;
40108            return 0 === t ? 0 : 2 == (t /= .5) ? 1 : (e || (e = .3 * 1.5), s < Math.abs(1) ? (s = 1, i = e / 4) : i = e / (2 * Math.PI) * Math.asin(1 / s), 1 > t ? -.5 * s * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (1 * t - i) * Math.PI / e) : s * Math.pow(2, -10 * (t -= 1)) * Math.sin(2 * (1 * t - i) * Math.PI / e) * .5 + 1)
40109        }, easeInBack: function (t) {
40110            var i = 1.70158;
40111            return 1 * (t /= 1) * t * ((i + 1) * t - i)
40112        }, easeOutBack: function (t) {
40113            var i = 1.70158;
40114            return 1 * ((t = t / 1 - 1) * t * ((i + 1) * t + i) + 1)
40115        }, easeInOutBack: function (t) {
40116            var i = 1.70158;
40117            return (t /= .5) < 1 ? .5 * t * t * (((i *= 1.525) + 1) * t - i) : .5 * ((t -= 2) * t * (((i *= 1.525) + 1) * t + i) + 2)
40118        }, easeInBounce: function (t) {
40119            return 1 - w.easeOutBounce(1 - t)
40120        }, easeOutBounce: function (t) {
40121            return (t /= 1) < 1 / 2.75 ? 7.5625 * t * t : 2 / 2.75 > t ? 1 * (7.5625 * (t -= 1.5 / 2.75) * t + .75) : 2.5 / 2.75 > t ? 1 * (7.5625 * (t -= 2.25 / 2.75) * t + .9375) : 1 * (7.5625 * (t -= 2.625 / 2.75) * t + .984375)
40122        }, easeInOutBounce: function (t) {
40123            return .5 > t ? .5 * w.easeInBounce(2 * t) : .5 * w.easeOutBounce(2 * t - 1) + .5
40124        }
40125    }), b = s.requestAnimFrame = function () {
40126        return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (t) {
40127            return window.setTimeout(t, 1e3 / 60)
40128        }
40129    }(), P = s.cancelAnimFrame = function () {
40130        return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame || function (t) {
40131            return window.clearTimeout(t, 1e3 / 60)
40132        }
40133    }(), L = (s.animationLoop = function (t, i, e, s, n, o) {
40134        var a = 0, h = w[e] || w.linear, l = function () {
40135            a++;
40136            var e = a / i, r = h(e);
40137            t.call(o, r, e, a), s.call(o, r, e), i > a ? o.animationFrame = b(l) : n.apply(o)
40138        };
40139        b(l)
40140    }, s.getRelativePosition = function (t) {
40141        var i, e, s = t.originalEvent || t, n = t.currentTarget || t.srcElement, o = n.getBoundingClientRect();
40142        return s.touches ? (i = s.touches[0].clientX - o.left, e = s.touches[0].clientY - o.top) : (i = s.clientX - o.left, e = s.clientY - o.top), {
40143            x: i,
40144            y: e
40145        }
40146    }, s.addEvent = function (t, i, e) {
40147        t.addEventListener ? t.addEventListener(i, e) : t.attachEvent ? t.attachEvent("on" + i, e) : t["on" + i] = e
40148    }), k = s.removeEvent = function (t, i, e) {
40149        t.removeEventListener ? t.removeEventListener(i, e, !1) : t.detachEvent ? t.detachEvent("on" + i, e) : t["on" + i] = c
40150    }, F = (s.bindEvents = function (t, i, e) {
40151        t.events || (t.events = {}), n(i, function (i) {
40152            t.events[i] = function () {
40153                e.apply(t, arguments)
40154            }, L(t.chart.canvas, i, t.events[i])
40155        })
40156    }, s.unbindEvents = function (t, i) {
40157        n(i, function (i, e) {
40158            k(t.chart.canvas, e, i)
40159        })
40160    }), R = s.getMaximumWidth = function (t) {
40161        var i = t.parentNode;
40162        return i.clientWidth
40163    }, T = s.getMaximumHeight = function (t) {
40164        var i = t.parentNode;
40165        return i.clientHeight
40166    }, A = (s.getMaximumSize = s.getMaximumWidth, s.retinaScale = function (t) {
40167        var i = t.ctx, e = t.canvas.width, s = t.canvas.height;
40168        window.devicePixelRatio && (i.canvas.style.width = e + "px", i.canvas.style.height = s + "px", i.canvas.height = s * window.devicePixelRatio, i.canvas.width = e * window.devicePixelRatio, i.scale(window.devicePixelRatio, window.devicePixelRatio))
40169    }), M = s.clear = function (t) {
40170        t.ctx.clearRect(0, 0, t.width, t.height)
40171    }, W = s.fontString = function (t, i, e) {
40172        return i + " " + t + "px " + e
40173    }, z = s.longestText = function (t, i, e) {
40174        t.font = i;
40175        var s = 0;
40176        return n(e, function (i) {
40177            var e = t.measureText(i).width;
40178            s = e >
40178 s ? e : s
40179        }), s
40180    }, B = s.drawRoundedRectangle = function (t, i, e, s, n, o) {
40181        t.beginPath(), t.moveTo(i + o, e), t.lineTo(i + s - o, e), t.quadraticCurveTo(i + s, e, i + s, e + o), t.lineTo(i + s, e + n - o), t.quadraticCurveTo(i + s, e + n, i + s - o, e + n), t.lineTo(i + o, e + n), t.quadraticCurveTo(i, e + n, i, e + n - o), t.lineTo(i, e + o), t.quadraticCurveTo(i, e, i + o, e), t.closePath()
40182    };
40183    e.instances = {}, e.Type = function (t, i, s) {
40184        this.options = i, this.chart = s, this.id = u(), e.instances[this.id] = this, i.responsive && this.resize(), this.initialize.call(this, t)
40185    }, a(e.Type.prototype, {
40186        initialize: function () {
40187            return this
40188        }, clear: function () {
40189            return M(this.chart), this
40190        }, stop: function () {
40191            return P(this.animationFrame), this
40192        }, resize: function (t) {
40193            this.stop();
40194            var i = this.chart.canvas, e = R(this.chart.canvas),
40195                s = this.options.maintainAspectRatio ? e / this.chart.aspectRatio : T(this.chart.canvas);
40196            return i.width = this.chart.width = e, i.height = this.chart.height = s, A(this.chart), "function" == typeof t && t.apply(this, Array.prototype.slice.call(arguments, 1)), this
40197        }, reflow: c, render: function (t) {
40198            return t && this.reflow(), this.options.animation && !t ? s.animationLoop(this.draw, this.options.animationSteps, this.options.animationEasing, this.options.onAnimationProgress, this.options.onAnimationComplete, this) : (this.draw(), this.options.onAnimationComplete.call(this)), this
40199        }, generateLegend: function () {
40200            return C(this.options.legendTemplate, this)
40201        }, destroy: function () {
40202            this.clear(), F(this, this.events);
40203            var t = this.chart.canvas;
40204            t.width = this.chart.width, t.height = this.chart.height, t.style.removeProperty ? (t.style.removeProperty("width"), t.style.removeProperty("height")) : (t.style.removeAttribute("width"), t.style.removeAttribute("height")), delete e.instances[this.id]
40205        }, showTooltip: function (t, i) {
40206            "undefined" == typeof this.activeElements && (this.activeElements = []);
40207            var o = function (t) {
40208                var i = !1;
40209                return t.length !== this.activeElements.length ? i = !0 : (n(t, function (t, e) {
40210                    t !== this.activeElements[e] && (i = !0)
40211                }, this), i)
40212            }.call(this, t);
40213            if (o || i) {
40214                if (this.activeElements = t, this.draw(), this.options.customTooltips && this.options.customTooltips(!1), t.length > 0) if (this.datasets && this.datasets.length > 1) {
40215                    for (var a, h, r = this.datasets.length - 1; r >= 0 && (a = this.datasets[r].points || this.datasets[r].bars || this.datasets[r].segments, h = l(a, t[0]), -1 === h); r--) ;
40216                    var c = [], u = [], d = function () {
40217                        var t, i, e, n, o, a = [], l = [], r = [];
40218                        return s.each(this.datasets, function (i) {
40219                            t = i.points || i.bars || i.segments, t[h] && t[h].hasValue() && a.push(t[h])
40220                        }), s.each(a, function (t) {
40221                            l.push(t.x), r.push(t.y), c.push(s.template(this.options.multiTooltipTemplate, t)), u.push({
40222                                fill: t._saved.fillColor || t.fillColor,
40223                                stroke: t._saved.strokeColor || t.strokeColor
40224                            })
40225                        }, this), o = m(r), e = g(r), n = m(l), i = g(l), {
40226                            x: n > this.chart.width / 2 ? n : i,
40227                            y: (o + e) / 2
40228                        }
40229                    }.call(this, h);
40230                    new e.MultiTooltip({
40231                        x: d.x,
40232                        y: d.y,
40233                        xPadding: this.options.tooltipXPadding,
40234                        yPadding: this.options.tooltipYPadding,
40235                        xOffset: this.options.tooltipXOffset,
40236                        fillColor: this.options.tooltipFillColor,
40237                        textColor: this.options.tooltipFontColor,
40238                        fontFamily: this.options.tooltipFontFamily,
40239                        fontStyle: this.options.tooltipFontStyle,
40240                        fontSize: this.options.tooltipFontSize,
40241                        titleTextColor: this.options.tooltipTitleFontColor,
40242                        titleFontFamily: this.options.tooltipTitleFontFamily,
40243                        titleFontStyle: this.options.tooltipTitleFontStyle,
40244                        titleFontSize: this.options.tooltipTitleFontSize,
40245                        cornerRadius: this.options.tooltipCornerRadius,
40246                        labels: c,
40247                        legendColors: u,
40248                        legendColorBackground: this.options.multiTooltipKeyBackground,
40249                        title: t[0].label,
40250                        chart: this.chart,
40251                        ctx: this.chart.ctx,
40252                        custom: this.options.customTooltips
40253                    }).draw()
40254                } else n(t, function (t) {
40255                    var i = t.tooltipPosition();
40256                    new e.Tooltip({
40257                        x: Math.round(i.x),
40258                        y: Math.round(i.y),
40259                        xPadding: this.options.tooltipXPadding,
40260                        yPadding: this.options.tooltipYPadding,
40261                        fillColor: this.options.tooltipFillColor,
40262                        textColor: this.options.tooltipFontColor,
40263                        fontFamily: this.options.tooltipFontFamily,
40264                        fontStyle: this.options.tooltipFontStyle,
40265                        fontSize: this.options.tooltipFontSize,
40266                        caretHeight: this.options.tooltipCaretSize,
40267                        cornerRadius: this.options.tooltipCornerRadius,
40268                        text: C(this.options.tooltipTemplate, t),
40269                        chart: this.chart,
40270                        custom: this.options.customTooltips
40271                    }).draw()
40272                }, this);
40273                return this
40274            }
40275        }, toBase64Image: function () {
40276            return this.chart.canvas.toDataURL.apply(this.chart.canvas, arguments)
40277        }
40278    }), e.Type.extend = function (t) {
40279        var i = this, s = function () {
40280            return i.apply(this, arguments)
40281        };
40282        if (s.prototype = o(i.prototype), a(s.prototype, t), s.extend = e.Type.extend, t.name || i.prototype.name) {
40283            var n = t.name || i.prototype.name, l = e.defaults[i.prototype.name] ? o(e.defaults[i.prototype.name]) : {};
40284            e.defaults[n] = a(l, t.defaults), e.types[n] = s, e.prototype[n] = function (t, i) {
40285                var o = h(e.defaults.global, e.defaults[n], i || {});
40286                return new s(t, o, this)
40287            }
40288        } else d("Name not provided for this chart, so it hasn't been registered");
40289        return i
40290    }, e.Element = function (t) {
40291        a(this, t), this.initialize.apply(this, arguments), this.save()
40292    }, a(e.Element.prototype, {
40293        initialize: function () {
40294        }, restore: function (t) {
40295            return t ? n(t, function (t) {
40296                this[t] = this._saved[t]
40297            }, this) : a(this, this._saved), this
40298        }, save: function () {
40299            return this._saved = o(this), delete this._saved._saved, this
40300        }, update: function (t) {
40301            return n(t, function (t, i) {
40302                this._saved[i] = this[i], this[i] = t
40303            }, this), this
40304        }, transition: function (t, i) {
40305            return n(t, function (t, e) {
40306                this[e] = (t - this._saved[e]) * i + this._saved[e]
40307            }, this), this
40308        }, tooltipPosition: function () {
40309            return {x: this.x, y: this.y}
40310        }, hasValue: function () {
40311            return f(this.value)
40312        }
40313    }), e.Element.extend = r, e.Point = e.Element.extend({
40314        display: !0, inRange: function (t, i) {
40315            var e = this.hitDetectionRadius + this.radius;
40316            return Math.pow(t - this.x, 2) + Math.pow(i - this.y, 2) < Math.pow(e, 2)
40317        }, draw: function () {
40318            if (this.display) {
40319                var t = this.ctx;
40320                t.beginPath(), t.arc(this.x, this.y, this.radius, 0, 2 * Math.PI), t.closePath(), t.strokeStyle = this.strokeColor, t.lineWidth = this.strokeWidth, t.fillStyle = this.fillColor, t.fill(), t.stroke()
40321            }
40322        }
40323    }), e.Arc = e.Element.extend({
40324        inRange: function (t, i) {
40325            var e = s.getAngleFromPoint(this, {x: t, y: i}), n = e.angle >= this.startAngle && e.angle <= this.endAngle,
40326                o = e.distance >= this.innerRadius && e.distance <= this.outerRadius;
40327            return n && o
40328        }, tooltipPosition: function () {
40329            var t = this.startAngle + (this.endAngle - this.startAngle) / 2,
40330                i = (this.outerRadius - this.innerRadius) / 2 + this.innerRadius;
40331            return {x: this.x + Math.cos(t) * i, y: this.y + Math.sin(t) * i}
40332        }, draw: function (t) {
40333            var i = this.ctx;
40334            i.beginPath(), i.arc(this.x, this.y, this.outerRadius, this.startAngle, this.endAngle), i.arc(this.x, this.y, this.innerRadius, this.endAngle, this.startAngle, !0), i.closePath(), i.strokeStyle = this.strokeColor, i.lineWidth = this.strokeWidth, i.fillStyle = this.fillColor, i.fill(), i.lineJoin = "bevel", this.showStroke && i.stroke()
40335        }
40336    }), e.Rectangle = e.Element.extend({
40337        draw: function () {
40338            var t = this.ctx, i = this.width / 2, e = this.x - i, s = this.x + i, n = this.base - (this.base - this.y),
40339                o = this.strokeWidth / 2;
40340            this.showStroke && (e += o, s -= o, n += o), t.beginPath(), t.fillStyle = this.fillColor, t.strokeStyle = this.strokeColor, t.lineWidth = this.strokeWidth, t.moveTo(e, this.base), t.lineTo(e, n), t.lineTo(s, n), t.lineTo(s, this.base), t.fill(), this.showStroke && t.stroke()
40341        }, height: function () {
40342            return this.base - this.y
40343        }, inRange: function (t, i) {
40344            return t >= this.x - this.width / 2 && t <= this.x + this.width / 2 && i >= this.y && i <= this.base
40345        }
40346    }), e.Tooltip = e.Element.extend({
40347        draw: function () {
40348            var t = this.chart.ctx;
40349            t.font = W(this.fontSize, this.fontStyle, this.fontFamily), this.xAlign = "center", this.yAlign = "above";
40350            var i = this.caretPadding = 2, e = t.measureText(this.text).width + 2 * this.xPadding,
40351                s = this.fontSize + 2 * this.yPadding, n = s + this.caretHeight + i;
40352            this.x + e / 2 > this.chart.width ? this.xAlign = "left" : this.x - e / 2 < 0 && (this.xAlign = "right"), this.y - n < 0 && (this.yAlign = "below");
40353            var o = this.x - e / 2, a = this.y - n;
40354            if (t.fillStyle = this.fillColor, this.custom) this.custom(this); else {
40355                switch (this.yAlign) {
40356                    case"above":
40357                        t.beginPath(), t.moveTo(this.x, this.y - i), t.lineTo(this.x + this.caretHeight, this.y - (i + this.caretHeight)), t.lineTo(this.x - this.caretHeight, this.y - (i + this.caretHeight)), t.closePath(), t.fill();
40358                        break;
40359                    case"below":
40360                        a = this.y + i + this.caretHeight, t.beginPath(), t.moveTo(this.x, this.y + i), t.lineTo(this.x + this.caretHeight, this.y + i + this.caretHeight), t.lineTo(this.x - this.caretHeight, this.y + i + this.caretHeight), t.closePath(), t.fill()
40361                }
40362                switch (this.xAlign) {
40363                    case"left":
40364                        o = this.x - e + (this.cornerRadius + this.caretHeight);
40365                        break;
40366                    case"right":
40367                        o = this.x - (this.cornerRadius + this.caretHeight)
40368                }
40369                B(t, o, a, e, s, this.cornerRadius), t.fill(), t.fillStyle = this.textColor, t.textAlign = "center", t.textBaseline = "middle", t.fillText(this.text, o + e / 2, a + s / 2)
40370            }
40371        }
40372    }), e.MultiTooltip = e.Element.extend({
40373        initialize: function () {
40374            this.font = W(this.fontSize, this.fontStyle, this.fontFamily), this.titleFont = W(this.titleFontSize, this.titleFontStyle, this.titleFontFamily), this.height = this.labels.length * this.fontSize + (this.labels.length - 1) * (this.fontSize / 2) + 2 * this.yPadding + 1.5 * this.titleFontSize, this.ctx.font = this.titleFont;
40375            var t = this.ctx.measureText(this.title).width, i = z(this.ctx, this.font, this.labels) + this.fontSize + 3,
40376                e = g([i, t]);
40377            this.width = e + 2 * this.xPadding;
40378            var s = this.height / 2;
40379            this.y - s < 0 ? this.y = s : this.y + s > this.chart.height && (this.y = this.chart.height - s), this.x > this.chart.width / 2 ? this.x -= this.xOffset + this.width : this.x += this.xOffset
40380        }, getLineHeight: function (t) {
40381            var i = this.y - this.height / 2 + this.yPadding, e = t - 1;
40382            return 0 === t ? i + this.titleFontSize / 2 : i + (1.5 * this.fontSize * e + this.fontSize / 2) + 1.5 * this.titleFontSize
40383        }, draw: function () {
40384            if (this.custom) this.custom(this); else {
40385                B(this.ctx, this.x, this.y - this.height / 2, this.width, this.height, this.cornerRadius);
40386                var t = this.ctx;
40387                t.fillStyle = this.fillColor, t.fill(), t.closePath(), t.textAlign = "left", t.textBaseline = "middle", t.fillStyle = this.titleTextColor, t.font = this.titleFont, t.fillText(this.title, this.x + this.xPadding, this.getLineHeight(0)), t.font = this.font, s.each(this.labels, function (i, e) {
40388                    t.fillStyle = this.textColor, t.fillText(i, this.x + this.xPadding + this.fontSize + 3, this.getLineHeight(e + 1)), t.fillStyle = this.legendColorBackgroun
40388d, t.fillRect(this.x + this.xPadding, this.getLineHeight(e + 1) - this.fontSize / 2, this.fontSize, this.fontSize), t.fillStyle = this.legendColors[e].fill, t.fillRect(this.x + this.xPadding, this.getLineHeight(e + 1) - this.fontSize / 2, this.fontSize, this.fontSize)
40389                }, this)
40390            }
40391        }
40392    }), e.Scale = e.Element.extend({
40393        initialize: function () {
40394            this.fit()
40395        }, buildYLabels: function () {
40396            this.yLabels = [];
40397            for (var t = v(this.stepValue), i = 0; i <= this.steps; i++) this.yLabels.push(C(this.templateString, {value: (this.min + i * this.stepValue).toFixed(t)}));
40398            this.yLabelWidth = this.display && this.showLabels ? z(this.ctx, this.font, this.yLabels) : 0
40399        }, addXLabel: function (t) {
40400            this.xLabels.push(t), this.valuesCount++, this.fit()
40401        }, removeXLabel: function () {
40402            this.xLabels.shift(), this.valuesCount--, this.fit()
40403        }, fit: function () {
40404            this.startPoint = this.display ? this.fontSize : 0, this.endPoint = this.display ? this.height - 1.5 * this.fontSize - 5 : this.height, this.startPoint += this.padding, this.endPoint -= this.padding;
40405            var t, i = this.endPoint - this.startPoint;
40406            for (this.calculateYRange(i), this.buildYLabels(), this.calculateXLabelRotation(); i > this.endPoint - this.startPoint;) i = this.endPoint - this.startPoint, t = this.yLabelWidth, this.calculateYRange(i), this.buildYLabels(), t < this.yLabelWidth && this.calculateXLabelRotation()
40407        }, calculateXLabelRotation: function () {
40408            this.ctx.font = this.font;
40409            var t, i, e = this.ctx.measureText(this.xLabels[0]).width,
40410                s = this.ctx.measureText(this.xLabels[this.xLabels.length - 1]).width;
40411            if (this.xScalePaddingRight = s / 2 + 3, this.xScalePaddingLeft = e / 2 > this.yLabelWidth + 10 ? e / 2 : this.yLabelWidth + 10, this.xLabelRotation = 0, this.display) {
40412                var n, o = z(this.ctx, this.font, this.xLabels);
40413                this.xLabelWidth = o;
40414                for (var a = Math.floor(this.calculateX(1) - this.calculateX(0)) - 6; this.xLabelWidth > a && 0 === this.xLabelRotation || this.xLabelWidth > a && this.xLabelRotation <= 90 && this.xLabelRotation > 0;) n = Math.cos(S(this.xLabelRotation)), t = n * e, i = n * s, t + this.fontSize / 2 > this.yLabelWidth + 8 && (this.xScalePaddingLeft = t + this.fontSize / 2), this.xScalePaddingRight = this.fontSize / 2, this.xLabelRotation++, this.xLabelWidth = n * o;
40415                this.xLabelRotation > 0 && (this.endPoint -= Math.sin(S(this.xLabelRotation)) * o + 3)
40416            } else this.xLabelWidth = 0, this.xScalePaddingRight = this.padding, this.xScalePaddingLeft = this.padding
40417        }, calculateYRange: c, drawingArea: function () {
40418            return this.startPoint - this.endPoint
40419        }, calculateY: function (t) {
40420            var i = this.drawingArea() / (this.min - this.max);
40421            return this.endPoint - i * (t - this.min)
40422        }, calculateX: function (t) {
40423            var i = (this.xLabelRotation > 0, this.width - (this.xScalePaddingLeft + this.xScalePaddingRight)),
40424                e = i / Math.max(this.valuesCount - (this.offsetGridLines ? 0 : 1), 1),
40425                s = e * t + this.xScalePaddingLeft;
40426            return this.offsetGridLines && (s += e / 2), Math.round(s)
40427        }, update: function (t) {
40428            s.extend(this, t), this.fit()
40429        }, draw: function () {
40430            var t = this.ctx, i = (this.endPoint - this.startPoint) / this.steps,
40431                e = Math.round(this.xScalePaddingLeft);
40432            this.display && (t.fillStyle = this.textColor, t.font = this.font, n(this.yLabels, function (n, o) {
40433                var a = this.endPoint - i * o, h = Math.round(a), l = this.showHorizontalLines;
40434                t.textAlign = "right", t.textBaseline = "middle", this.showLabels && t.fillText(n, e - 10, a), 0 !== o || l || (l = !0), l && t.beginPath(), o > 0 ? (t.lineWidth = this.gridLineWidth, t.strokeStyle = this.gridLineColor) : (t.lineWidth = this.lineWidth, t.strokeStyle = this.lineColor), h += s.aliasPixel(t.lineWidth), l && (t.moveTo(e, h), t.lineTo(this.width, h), t.stroke(), t.closePath()), t.lineWidth = this.lineWidth, t.strokeStyle = this.lineColor, t.beginPath(), t.moveTo(e - 5, h), t.lineTo(e, h), t.stroke(), t.closePath()
40435            }, this), n(this.xLabels, function (i, e) {
40436                var s = this.calculateX(e) + x(this.lineWidth),
40437                    n = this.calculateX(e - (this.offsetGridLines ? .5 : 0)) + x(this.lineWidth),
40438                    o = this.xLabelRotation > 0, a = this.showVerticalLines;
40439                0 !== e || a || (a = !0), a && t.beginPath(), e > 0 ? (t.lineWidth = this.gridLineWidth, t.strokeStyle = this.gridLineColor) : (t.lineWidth = this.lineWidth, t.strokeStyle = this.lineColor), a && (t.moveTo(n, this.endPoint), t.lineTo(n, this.startPoint - 3), t.stroke(), t.closePath()), t.lineWidth = this.lineWidth,
40440                    t.strokeStyle = this.lineColor, t.beginPath(), t.moveTo(n, this.endPoint), t.lineTo(n, this.endPoint + 5), t.stroke(), t.closePath(), t.save(), t.translate(s, o ? this.endPoint + 12 : this.endPoint + 8), t.rotate(-1 * S(this.xLabelRotation)), t.font = this.font, t.textAlign = o ? "right" : "center", t.textBaseline = o ? "middle" : "top", t.fillText(i, 0, 0), t.restore(
40440)
40441            }, this))
40442        }
40443    }), e.RadialScale = e.Element.extend({
40444        initialize: function () {
40445            this.size = m([this.height, this.width]), this.drawingArea = this.display ? this.size / 2 - (this.fontSize / 2 + this.backdropPaddingY) : this.size / 2
40446        }, calculateCenterOffset: function (t) {
40447            var i = this.drawingArea / (this.max - this.min);
40448            return (t - this.min) * i
40449        }, update: function () {
40450            this.lineArc ? this.drawingArea = this.display ? this.size / 2 - (this.fontSize / 2 + this.backdropPaddingY) : this.size / 2 : this.setScaleSize(), this.buildYLabels()
40451        }, buildYLabels: function () {
40452            this.yLabels = [];
40453            for (var t = v(this.stepValue), i = 0; i <= this.steps; i++) this.yLabels.push(C(this.templateString, {value: (this.min + i * this.stepValue).toFixed(t)}))
40454        }, getCircumference: function () {
40455            return 2 * Math.PI / this.valuesCount
40456        }, setScaleSize: function () {
40457            var t, i, e, s, n, o, a, h, l, r, c, u,
40458                d = m([this.height / 2 - this.pointLabelFontSize - 5, this.width / 2]), p = this.width, g = 0;
40459            for (this.ctx.font = W(this.pointLabelFontSize, this.pointLabelFontStyle, this.pointLabelFontFamily), i = 0; i < this.valuesCount; i++) t = this.getPointPosition(i, d), e = this.ctx.measureText(C(this.templateString, {value: this.labels[i]})).width + 5, 0 === i || i === this.valuesCount / 2 ? (s = e / 2, t.x + s > p && (p = t.x + s, n = i), t.x - s < g && (g = t.x - s, a = i)) : i < this.valuesCount / 2 ? t.x + e > p && (p = t.x + e, n = i) : i > this.valuesCount / 2 && t.x - e < g && (g = t.x - e, a = i);
40460            l = g, r = Math.ceil(p - this.width), o = this.getIndexAngle(n), h = this.getIndexAngle(a), c = r / Math.sin(o + Math.PI / 2), u = l / Math.sin(h + Math.PI / 2), c = f(c) ? c : 0, u = f(u) ? u : 0, this.drawingArea = d - (u + c) / 2, this.setCenterPoint(u, c)
40461        }, setCenterPoint: function (t, i) {
40462            var e = this.width - i - this.drawingArea, s = t + this.drawingArea;
40463            this.xCenter = (s + e) / 2, this.yCenter = this.height / 2
40464        }, getIndexAngle: function (t) {
40465            var i = 2 * Math.PI / this.valuesCount;
40466            return t * i - Math.PI / 2
40467        }, getPointPosition: function (t, i) {
40468            var e = this.getIndexAngle(t);
40469            return {x: Math.cos(e) * i + this.xCenter, y: Math.sin(e) * i + this.yCenter}
40470        }, draw: function () {
40471            if (this.display) {
40472                var t = this.ctx;
40473                if (n(this.yLabels, function (i, e) {
40474                    if (e > 0) {
40475                        var s, n = e * (this.drawingArea / this.steps), o = this.yCenter - n;
40476                        if (this.lineWidth > 0) if (t.strokeStyle = this.lineColor, t.lineWidth = this.lineWidth, this.lineArc) t.beginPath(), t.arc(this.xCenter, this.yCenter, n, 0, 2 * Math.PI), t.closePath(), t.stroke(); else {
40477                            t.beginPath();
40478                            for (var a = 0; a < this.valuesCount; a++) s = this.getPointPosition(a, this.calculateCenterOffset(this.min + e * this.stepValue)), 0 === a ? t.moveTo(s.x, s.y) : t.lineTo(s.x, s.y);
40479                            t.closePath(), t.stroke()
40480                        }
40481                        if (this.showLabels) {
40482                            if (t.font = W(this.fontSize, this.fontStyle, this.fontFamily), this.showLabelBackdrop) {
40483                                var h = t.measureText(i).width;
40484                                t.fillStyle = this.backdropColor, t.fillRect(this.xCenter - h / 2 - this.backdropPaddingX, o - this.fontSize / 2 - this.backdropPaddingY, h + 2 * this.backdropPaddingX, this.fontSize + 2 * this.backdropPaddingY)
40485                            }
40486                            t.textAlign = "center", t.textBaseline = "middle", t.fillStyle = this.fontColor, t.fillText(i, this.xCenter, o)
40487                        }
40488                    }
40489                }, this), !this.lineArc) {
40490                    t.lineWidth = this.angleLineWidth, t.strokeStyle = this.angleLineColor;
40491                    for (var i = this.valuesCount - 1; i >= 0; i--) {
40492                        if (this.angleLineWidth > 0) {
40493                            var e = this.getPointPosition(i, this.calculateCenterOffset(this.max));
40494                            t.beginPath(), t.moveTo(this.xCenter, this.yCenter), t.lineTo(e.x, e.y), t.stroke(), t.closePath()
40495                        }
40496                        var s = this.getPointPosition(i, this.calculateCenterOffset(this.max) + 5);
40497                        t.font = W(this.pointLabelFontSize, this.pointLabelFontStyle, this.pointLabelFontFamily), t.fillStyle = this.pointLabelFontColor;
40498                        var o = this.labels.length, a = this.labels.length / 2, h = a / 2, l = h > i || i > o - h,
40499                            r = i === h || i === o - h;
40500                        t.textAlign = 0 === i ? "center" : i === a ? "center" : a > i ? "left" : "right", t.textBaseline = r ? "middle" : l ? "bottom" : "top", t.fillText(this.labels[i], s.x, s.y)
40501                    }
40502                }
40503            }
40504        }
40505    }), s.addEvent(window, "resize", function () {
40506        var t;
40507        return function () {
40508            clearTimeout(t), t = setTimeout(function () {
40509                n(e.instances, function (t) {
40510                    t.options.responsive && t.resize(t.render, !0)
40511                })
40512            }, 50)
40513        }
40514    }()), p ? define(function () {
40515        return e
40516    }) : "object" == typeof module && module.exports && (module.exports = e), t.Chart = e, e.noConflict = function () {
40517        return t.Chart = i, e
40518    }
40519}.call(this), function () {
40520    "use strict";
40521    var t = this, i = t.Chart, e = i.helpers, s = {
40522        scaleBeginAtZero: !0,
40523        scaleShowGridLines: !0,
40524        scaleGridLineColor: "rgba(0,0,0,.05)",
40525        scaleGridLineWidth: 1,
40526        scaleShowHorizontalLines: !0,
40527        scaleShowVerticalLines: !0,
40528        barShowStroke: !0,
40529        barStrokeWidth: 2,
40530        barValueSpacing: 5,
40531        barDatasetSpacing: 1,
40532        legendTemplate: '<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].fillColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'
40533    };
40534    i.Type.extend({
40535        name: "Bar", defaults: s, initialize: function (t) {
40536            var s = this.options;
40537            this.ScaleClass = i.Scale.extend({
40538                offsetGridLines: !0, calculateBarX: function (t, i, e) {
40539                    var n = this.calculateBaseWidth(), o = this.calculateX(e) - n / 2, a = this.calculateBarWidth(t);
40540                    return o + a * i + i * s.barDatasetSpacing + a / 2
40541                }, calculateBaseWidth: function () {
40542                    return this.calculateX(1) - this.calculateX(0) - 2 * s.barValueSpacing
40543                }, calculateBarWidth: function (t) {
40544                    var i = this.calculateBaseWidth() - (t - 1) * s.barDatasetSpacing;
40545                    return i / t
40546                }
40547            }), this.datasets = [], this.options.showTooltips && e.bindEvents(this, this.options.tooltipEvents, function (t) {
40548                var i = "mouseout" !== t.type ? this.getBarsAtEvent(t) : [];
40549                this.eachBars(function (t) {
40550                    t.restore(["fillColor", "strokeColor"])
40551                }), e.each(i, function (t) {
40552                    t.fillColor = t.highlightFill, t.strokeColor = t.highlightStroke
40553                }), this.showTooltip(i)
40554            }), this.BarClass = i.Rectangle.extend({
40555                strokeWidth: this.options.barStrokeWidth,
40556                showStroke: this.options.barShowStroke,
40557                ctx: this.chart.ctx
40558            }), e.each(t.datasets, function (i) {
40559                var s = {label: i.label || null, fillColor: i.fillColor, strokeColor: i.strokeColor, bars: []};
40560                this.datasets.push(s), e.each(i.data, function (e, n) {
40561                    s.bars.push(new this.BarClass({
40562                        value: e,
40563                        label: t.labels[n],
40564                        datasetLabel: i.label,
40565                        strokeColor: i.strokeColor,
40566                        fillColor: i.fillColor,
40567                        highlightFill: i.highlightFill || i.fillColor,
40568                        highlightStroke: i.highlightStroke || i.strokeColor
40569                    }))
40570                }, this)
40571            }, this), this.buildScale(t.labels), this.BarClass.prototype.base = this.scale.endPoint, this.eachBars(function (t, i, s) {
40572                e.extend(t, {
40573                    width: this.scale.calculateBarWidth(this.datasets.length),
40574                    x: this.scale.calculateBarX(this.datasets.length, s, i),
40575                    y: this.scale.endPoint
40576                }), t.save()
40577            }, this), this.render()
40578        }, update: function () {
40579            this.scale.update(), e.each(this.activeElements, function (t) {
40580                t.restore(["fillColor", "strokeColor"])
40581            }), this.eachBars(function (t) {
40582                t.save()
40583            }), this.render()
40584        }, eachBars: function (t) {
40585            e.each(this.datasets, function (i, s) {
40586                e.each(i.bars, t, this, s)
40587            }, this)
40588        }, getBarsAtEvent: function (t) {
40589            for (var i, s = [], n = e.getRelativePosition(t), o = function (t) {
40590                s.push(t.bars[i])
40591            }, a = 0; a < this.datasets.length; a++) for (i = 0; i < this.datasets[a].bars.length; i++) if (this.datasets[a].bars[i].inRange(n.x, n.y)) return e.each(this.datasets, o), s;
40592            return s
40593        }, buildScale: function (t) {
40594            var i = this, s = function () {
40595                var t = [];
40596                return i.eachBars(function (i) {
40597                    t.push(i.value)
40598                }), t
40599            }, n = {
40600                templateString: this.options.scaleLabel,
40601                height: this.chart.height,
40602                width: this.chart.width,
40603                ctx: this.chart.ctx,
40604                textColor: this.options.scaleFontColor,
40605                fontSize: this.options.scaleFontSize,
40606                fontStyle: this.options.scaleFontStyle,
40607                fontFamily: this.options.scaleFontFamily,
40608                valuesCount: t.length,
40609                beginAtZero: this.options.scaleBeginAtZero,
40610                integersOnly: this.options.scaleIntegersOnly,
40611                calculateYRange: function (t) {
40612                    var i = e.calculateScaleRange(s(), t, this.fontSize, this.beginAtZero, this.integersOnly);
40613                    e.extend(this, i)
40614                },
40615                xLabels: t,
40616                font: e.fontString(this.options.scaleFontSize, this.options.scaleFontStyle, this.options.scaleFontFamily),
40617                lineWidth: this.options.scaleLineWidth,
40618                lineColor: this.options.scaleLineColor,
40619                showHorizontalLines: this.options.scaleShowHorizontalLines,
40620                showVerticalLines: this.options.scaleShowVerticalLines,
40621                gridLineWidth: this.options.scaleShowGridLines ? this.options.scaleGridLineWidth : 0,
40622                gridLineColor: this.options.scaleShowGridLines ? this.options.scaleGridLineColor : "rgba(0,0,0,0)",
40623                padding: this.options.showScale ? 0 : this.options.barShowStroke ? this.options.barStrokeWidth : 0,
40624                showLabels: this.options.scaleShowLabels,
40625                display: this.options.showScale
40626            };
40627            this.options.scaleOverride && e.extend(n, {
40628                calculateYRange: e.noop,
40629                steps: this.options.scaleSteps,
40630                stepValue: this.options.scaleStepWidth,
40631                min: this.options.scaleStartValue,
40632                max: this.options.scaleStartValue + this.options.scaleSteps * this.options.scaleStepWidth
40633            }), this.scale = new this.ScaleClass(n)
40634        }, addData: function (t, i) {
40635            e.each(t, function (t, e) {
40636                this.datasets[e].bars.push(new this.BarClass({
40637                    value: t,
40638                    label: i,
40639                    x: this.scale.calculateBarX(this.datasets.length, e, this.scale.valuesCount + 1),
40640                    y: this.scale.endPoint,
40641                    width: this.scale.calculateBarWidth(this.datasets.length),
40642                    base: this.scale.endPoint,
40643                    strokeColor: this.datasets[e].strokeColor,
40644                    fillColor: this.datasets[e].fillColor
40645                }))
40646            }, this), this.scale.addXLabel(i), this.update()
40647        }, removeData: function () {
40648            this.scale.removeXLabel(), e.each(this.datasets, function (t) {
40649                t.bars.shift()
40650            }, this), this.update()
40651        }, reflow: function () {
40652            e.extend(this.BarClass.prototype, {y: this.scale.endPoint, base: this.scale.endPoint});
40653            var t = e.extend({height: this.chart.height, width: this.chart.width});
40654            this.scale.update(t)
40655        }, draw: function (t) {
40656            var i = t || 1;
40657            this.clear(), this.chart.ctx, this.scale.draw(i), e.each(this.datasets, function (t, s) {
40658                e.each(t.bars, function (t, e) {
40659                    t.hasValue() && (t.base = this.scale.endPoint, t.transition({
40660                        x: this.scale.calculateBarX(this.datasets.length, s, e),
40661                        y: this.scale.calculateY(t.value),
40662                        width: this.scale.calculateBarWidth(this.datasets.length)
40663                    }, i).draw())
40664                }, this)
40665            }, this)
40666        }
40667    })
40668}.call(this), function () {
40669    "use strict";
40670    var t = this, i = t.Chart, e = i.helpers, s = {
40671        segmentShowStroke: !0,
40672        segmentStrokeColor: "#fff",
40673        segmentStrokeWidth: 2,
40674        percentageInnerCutout: 50,
40675        animationSteps: 100,
40676        animationEasing: "easeOutBounce",
40677        animateRotate: !0,
40678        animateScale: !1,
40679        legendTemplate: '<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>'
40680    };
40681    i.Type.extend({
40682        name: "Doughnut", defaults: s, initialize: function (t) {
40683            this.segments = [], this.outerRadius = (e.min([this.chart.width, this.chart.height]) - this.options.segmentStrokeWidth / 2) / 2, this.SegmentArc = i.Arc.extend({
40684                ctx: this.chart.ctx,
40685                x: this.chart.width / 2,
40686                y: this.chart.height / 2
40687            }), this.options.showTooltips && e.bindEvents(this, this.options.tooltipEvents, function (t) {
40688                var i = "mouseout" !== t.type ? this.getSegmentsAtEvent(t) : [];
40689                e.each(this.segments, function (t) {
40690                    t.restore(["fillColor"])
40691                }), e.each(i, function (t) {
40692                    t.fillColor = t.highlightColor
40693                }), this.showTooltip(i)
40694            }), this.calculateTotal(t), e.each(t, function (t, i) {
40695                this.addData(t, i, !0)
40696            }, this), this.render()
40697        }, getSegmentsAtEvent: function (t) {
40698            var i = [], s = e.getRelativePosition(t);
40699            return e.each(this.segments, function (t) {
40700                t.inRange(s.x, s.y) && i.push(t)
40701            }, this), i
40702        }, addData: function (t, i, e) {
40703            var s = i || this.segments.length;
40704            this.segments.splice(s, 0, new this.SegmentArc({
40705                value: t.value,
40706                outerRadius: this.options.animateScale ? 0 : this.outerRadius,
40707                innerRadius: this.options.animateScale ? 0 : this.outerRadius / 100 * this.options.percentageInnerCutout,
40708                fillColor: t.color,
40709                highlightColor: t.highlight || t.color,
40710                showStroke: this.options.segmentShowStroke,
40711                strokeWidth: this.options.segmentStrokeWidth,
40712                strokeColor: this.options.segmentStrokeColor,
40713                startAngle: 1.5 * Math.PI,
40714                circumference: this.options.animateRotate ? 0 : this.calculateCircumference(t.value),
40715                label: t.label
40716            })), e || (this.reflow(), this.update())
40717        }, calculateCircumference: function (t) {
40718            return 2 * Math.PI * (Math.abs(t) / this.total)
40719        }, calculateTotal: function (t) {
40720            this.total = 0, e.each(t, function (t) {
40721                this.total += Math.abs(t.value)
40722            }, this)
40723        }, update: function () {
40724            this.calculateTotal(this.segments), e.each(this.activeElements, function (t) {
40725                t.restore(["fillColor"])
40726            }), e.each(this.segments, function (t) {
40727                t.save()
40728            }), this.render()
40729        }, removeData: function (t) {
40730            var i = e.isNumber(t) ? t : this.segments.length - 1;
40731            this.segments.splice(i, 1), this.reflow(), this.update()
40732        }, reflow: function () {
40733            e.extend(this.SegmentArc.prototype, {
40734                x: this.chart.width / 2,
40735                y: this.chart.height / 2
40736            }), this.outerRadius = (e.min([this.chart.width, this.chart.height]) - this.options.segmentStrokeWidth / 2) / 2, e.each(this.segments, function (t) {
40737                t.update({
40738                    outerRadius: this.outerRadius,
40739                    innerRadius: this.outerRadius / 100 * this.options.percentageInnerCutout
40740                })
40741            }, this)
40742        }, draw: function (t) {
40743            var i = t ? t : 1;
40744            this.clear(), e.each(this.segments, function (t, e) {
40745                t.transition({
40746                    circumference: this.calculateCircumference(t.value),
40747                    outerRadius: this.outerRadius,
40748                    innerRadius: this.outerRadius / 100 * this.options.percentageInnerCutout
40749                }, i), t.endAngle = t.startAngle + t.circumference, t.draw(), 0 === e && (t.startAngle = 1.5 * Math.PI), e < this.segments.length - 1 && (this.segments[e + 1].startAngle = t.endAngle)
40750            }, this)
40751        }
40752    }), i.types.Doughnut.extend({name: "Pie", defaults: e.merge(s, {percentageInnerCutout: 0})})
40753}.call(this), function () {
40754    "use strict";
40755    var t = this, i = t.Chart, e = i.helpers, s = {
40756        scaleShowGridLines: !0,
40757        scaleGridLineColor: "rgba(0,0,0,.05)",
40758        scaleGridLineWidth: 1,
40759        scaleShowHorizontalLines: !0,
40760        scaleShowVerticalLines: !0,
40761        bezierCurve: !0,
40762        bezierCurveTension: .4,
40763        pointDot: !0,
40764        pointDotRadius: 4,
40765        pointDotStrokeWidth: 1,
40766        pointHitDetectionRadius: 20,
40767        datasetStroke: !0,
40768        datasetStrokeWidth: 2,
40769        datasetFill: !0,
40770        legendTemplate: '<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'
40771    };
40772    i.Type.extend({
40773        name: "Line", defaults: s, initialize: function (t) {
40774            this.PointClass = i.Point.extend({
40775                strokeWidth: this.options.pointDotStrokeWidth,
40776                radius: this.options.pointDotRadius,
40777                display: this.options.pointDot,
40778                hitDetectionRadius: this.options.pointHitDetectionRadius,
40779                ctx: this.chart.ctx,
40780                inRange: function (t) {
40781                    return Math.pow(t - this.x, 2) < Math.pow(this.radius + this.hitDetectionRadius, 2)
40782                }
40783            }), this.datasets = [], this.options.showTooltips && e.bindEvents(this, this.options.tooltipEvents, function (t) {
40784                var i = "mouseout" !== t.type ? this.getPointsAtEvent(t) : [];
40785                this.eachPoints(function (t) {
40786                    t.restore(["fillColor", "strokeColor"])
40787                }), e.each(i, function (t) {
40788                    t.fillColor = t.highlightFill, t.strokeColor = t.highlightStroke
40789                }), this.showTooltip(i)
40790            }), e.each(t.datasets, function (i) {
40791                var s = {
40792                    label: i.label || null,
40793                    fillColor: i.fillColor,
40794                    strokeColor: i.strokeColor,
40795                    pointColor: i.pointColor,
40796                    pointStrokeColor: i.pointStrokeColor,
40797                    points: []
40798                };
40799                this.datasets.push(s), e.each(i.data, function (e, n) {
40800                    s.points.push(new this.PointClass({
40801                        value: e,
40802                        label: t.labels[n],
40803                        datasetLabel: i.label,
40804                        strokeColor: i.pointStrokeColor,
40805                        fillColor: i.pointColor,
40806                        highlightFill: i.pointHighlightFill || i.pointColor,
40807                        highlightStroke: i.pointHighlightStroke || i.pointStrokeColor
40808                    }))
40809                }, this), this.buildScale(t.labels), this.eachPoints(function (t, i) {
40810                    e.extend(t, {x: this.scale.calculateX(i), y: this.scale.endPoint}), t.save()
40811                }, this)
40812            }, this), this.render()
40813        }, update: function () {
40814            this.scale.update(), e.each(this.activeElements, function (t) {
40815                t.restore(["fillColor", "strokeColor"])
40816            }), this.eachPoints(function (t) {
40817                t.save()
40818            }), this.render()
40819        }, eachPoints: function (t) {
40820            e.each(this.datasets, function (i) {
40821                e.each(i.points, t, this)
40822            }, this)
40823        }, getPointsAtEvent: function (t) {
40824            var i = [], s = e.getRelativePosition(t);
40825            return e.each(this.datasets, function (t) {
40826                e.each(t.points, function (t) {
40827                    t.inRange(s.x, s.y) && i.push(t)
40828                })
40829            }, this), i
40830        }, buildScale: function (t) {
40831            var s = this, n = function () {
40832                var t = [];
40833                return s.eachPoints(function (i) {
40834                    t.push(i.value)
40835                }), t
40836            }, o = {
40837                templateString: this.options.scaleLabel,
40838                height: this.chart.height,
40839                width: this.chart.width,
40840                ctx: this.chart.ctx,
40841                textColor: this.options.scaleFontColor,
40842                fontSize: this.options.scaleFontSize,
40843                fontStyle: this.options.scaleFontStyle,
40844                fontFamily: this.options.scaleFontFamily,
40845                valuesCount: t.length,
40846                beginAtZero: this.options.scaleBeginAtZero,
40847                integersOnly: this.options.scaleIntegersOnly,
40848                calculateYRange: function (t) {
40849                    var i = e.calculateScaleRange(n(), t, this.fontSize, this.beginAtZero, this.integersOnly);
40850                    e.extend(this, i)
40851                },
40852                xLabels: t,
40853                font: e.fontString(this.options.scaleFontSize, this.options.scaleFontStyle, this.options.scaleFontFamily),
40854                lineWidth: this.options.scaleLineWidth,
40855                lineColor: this.options.scaleLineColor,
40856                showHorizontalLines: this.options.scaleShowHorizontalLines,
40857                showVerticalLines: this.options.scaleShowVerticalLines,
40858                gridLineWidth: this.options.scaleShowGridLines ? this.options.scaleGridLineWidth : 0,
40859                gridLineColor: this.options.scaleShowGridLines ? this.options.scaleGridLineColor : "rgba(0,0,0,0)",
40860                padding: this.options.showScale ? 0 : this.options.pointDotRadius + this.options.pointDotStrokeWidth,
40861                showLabels: this.options.scaleShowLabels,
40862                display: this.options.showScale
40863            };
40864            this.options.scaleOverride && e.extend(o, {
40865                calculateYRange: e.noop,
40866                steps: this.options.scaleSteps,
40867                stepValue: this.options.scaleStepWidth,
40868                min: this.options.scaleStartValue,
40869                max: this.options.scaleStartValue + this.options.scaleSteps * this.options.scaleStepWidth
40870            }), this.scale = new i.Scale(o)
40871        }, addData: function (t, i) {
40872            e.each(t, function (t, e) {
40873                this.datasets[e].points.push(new this.PointClass({
40874                    value: t,
40875                    label: i,
40876                    x: this.scale.calculateX(this.scale.valuesCount + 1),
40877                    y: this.scale.endPoint,
40878                    strokeColor: this.datasets[e].pointStrokeColor,
40879                    fillColor: this.datasets[e].pointColor
40880                }))
40881            }, this), this.scale.addXLabel(i), this.update()
40882        }, removeData: function () {
40883            this.scale.removeXLabel(), e.each(this.datasets, function (t) {
40884                t.points.shift()
40885            }, this), this.update()
40886        }, reflow: function () {
40887            var t = e.extend({height: this.chart.height, width: this.chart.width});
40888            this.scale.update(t)
40889        }, draw: function (t) {
40890            var i = t || 1;
40891            this.clear();
40892            var s = this.chart.ctx, n = function (t) {
40893                return null !== t.value
40894            }, o = function (t, i, s) {
40895                return e.findNextWhere(i, n, s) || t
40896            }, a = function (t, i, s) {
40897                return e.findPreviousWhere(i, n, s) || t
40898            };
40899            this.scale.draw(i), e.each(this.datasets, function (t) {
40900                var h = e.where(t.points, n);
40901                e.each(t.points, function (t, e) {
40902                    t.hasValue() && t.transition({y: this.scale.calculateY(t.value), x: this.scale.calculateX(e)}, i)
40903                }, this), this.options.bezierCurve && e.each(h, function (t, i) {
40904                    var s = i > 0 && i < h.length - 1 ? this.options.bezierCurveTension : 0;
40905                    t.controlPoints = e.splineCurve(a(t, h, i), t, o(t, h, i), s), t.controlPoints.outer.y > this.scale.endPoint ? t.controlPoints.outer.y = this.scale.endPoint : t.controlPoints.outer.y < this.scale.startPoint && (t.controlPoints.outer.y = this.scale.startPoint), t.controlPoints.inner.y > this.scale.endPoint ? t.controlPoints.inner.y = this.scale.endPoint : t.controlPoints.inner.y < this.scale.startPoint && (t.controlPoints.inner.y = this.scale.startPoint)
40906                }, this), s.lineWidth = this.options.datasetStrokeWidth, s.strokeStyle = t.strokeColor, s.beginPath(), e.each(h, function (t, i) {
40907                    if (0 === i) s.moveTo(t.x, t.y); else if (this.options.bezierCurve) {
40908                        var e = a(t, h, i);
40909                        s.bezierCurveTo(e.controlPoints.outer.x, e.controlPoints.outer.y, t.controlPoints.inner.x, t.controlPoints.inner.y, t.x, t.y)
40910                    } else s.lineTo(t.x, t.y)
40911                }, this), s.stroke(), this.options.datasetFill && h.length > 0 && (s.lineTo(h[h.length - 1].x, this.scale.endPoint), s.lineTo(h[0].x, this.scale.endPoint), s.fillStyle = t.fillColor, s.closePath(), s.fill()), e.each(h, function (t) {
40912                    t.draw()
40913                })
40914            }, this)
40915        }
40916    })
40917}.call(this), function () {
40918    "use strict";
40919    var t = this, i = t.Chart, e = i.helpers, s = {
40920        scaleShowLabelBackdrop: !0,
40921        scaleBackdropColor: "rgba(255,255,255,0.75)",
40922        scaleBeginAtZero: !0,
40923        scaleBackdropPaddingY: 2,
40924        scaleBackdropPaddingX: 2,
40925        scaleShowLine: !0,
40926        segmentShowStroke: !0,
40927        segmentStrokeColor: "#fff",
40928        segmentStrokeWidth: 2,
40929        animationSteps: 100,
40930        animationEasing: "easeOutBounce",
40931        animateRotate: !0,
40932        animateScale: !1,
40933        legendTemplate: '<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>'
40934    };
40935    i.Type.extend({
40936        name: "PolarArea", defaults: s, initialize: function (t) {
40937            this.segments = [], this.SegmentArc = i.Arc.extend({
40938                showStroke: this.options.segmentShowStroke,
40939                strokeWidth: this.options.segmentStrokeWidth,
40940                strokeColor: this.options.segmentStrokeColor,
40941                ctx: this.chart.ctx,
40942                innerRadius: 0,
40943                x: this.chart.width / 2,
40944                y: this.chart.height / 2
40945            }), this.scale = new i.RadialScale({
40946                display: this.options.showScale,
40947                fontStyle: this.options.scaleFontStyle,
40948                fontSize: this.options.scaleFontSize,
40949                fontFamily: this.options.scaleFontFamily,
40950                fontColor: this.options.scaleFontColor,
40951                showLabels: this.options.scaleShowLabels,
40952                showLabelBackdrop: this.options.scaleShowLabelBackdrop,
40953                backdropColor: this.options.scaleBackdropColor,
40954                backdropPaddingY: this.options.scaleBackdropPaddingY,
40955                backdropPaddingX: this.options.scaleBackdropPaddingX,
40956                lineWidth: this.options.scaleShowLine ? this.options.scaleLineWidth : 0,
40957                lineColor: this.options.scaleLineColor,
40958                lineArc: !0,
40959                width: this.chart.width,
40960                height: this.chart.height,
40961                xCenter: this.chart.width / 2,
40962                yCenter: this.chart.height / 2,
40963                ctx: this.chart.ctx,
40964                templateString: this.options.scaleLabel,
40965                valuesCount: t.length
40966            }
40966), this.updateScaleRange(t), this.scale.update(), e.each(t, function (t, i) {
40967                this.addData(t, i, !0)
40968            }, this), this.options.showTooltips && e.bindEvents(this, this.options.tooltipEvents, function (t) {
40969                var i = "mouseout" !== t.type ? this.getSegmentsAtEvent(t) : [];
40970                e.each(this.segments, function (t) {
40971                    t.restore(["fillColor"])
40972                }), e.each(i, function (t) {
40973                    t.fillColor = t.highlightColor
40974                }), this.showTooltip(i)
40975            }), this.render()
40976        }, getSegmentsAtEvent: function (t) {
40977            var i = [], s = e.getRelativePosition(t);
40978            return e.each(this.segments, function (t) {
40979                t.inRange(s.x, s.y) && i.push(t)
40980            }, this), i
40981        }, addData: function (t, i, e) {
40982            var s = i || this.segments.length;
40983            this.segments.splice(s, 0, new this.SegmentArc({
40984                fillColor: t.color,
40985                highlightColor: t.highlight || t.color,
40986                label: t.label,
40987                value: t.value,
40988                outerRadius: this.options.animateScale ? 0 : this.scale.calculateCenterOffset(t.value),
40989                circumference: this.options.animateRotate ? 0 : this.scale.getCircumference(),
40990                startAngle: 1.5 * Math.PI
40991            })), e || (this.reflow(), this.update())
40992        }, removeData: function (t) {
40993            var i = e.isNumber(t) ? t : this.segments.length - 1;
40994            this.segments.splice(i, 1), this.reflow(), this.update()
40995        }, calculateTotal: function (t) {
40996            this.total = 0, e.each(t, function (t) {
40997                this.total += t.value
40998            }, this), this.scale.valuesCount = this.segments.length
40999        }, updateScaleRange: function (t) {
41000            var i = [];
41001            e.each(t, function (t) {
41002                i.push(t.value)
41003            });
41004            var s = this.options.scaleOverride ? {
41005                steps: this.options.scaleSteps,
41006                stepValue: this.options.scaleStepWidth,
41007                min: this.options.scaleStartValue,
41008                max: this.options.scaleStartValue + this.options.scaleSteps * this.options.scaleStepWidth
41009            } : e.calculateScaleRange(i, e.min([this.chart.width, this.chart.height]) / 2, this.options.scaleFontSize, this.options.scaleBeginAtZero, this.options.scaleIntegersOnly);
41010            e.extend(this.scale, s, {
41011                size: e.min([this.chart.width, this.chart.height]),
41012                xCenter: this.chart.width / 2,
41013                yCenter: this.chart.height / 2
41014            })
41015        }, update: function () {
41016            this.calculateTotal(this.segments), e.each(this.segments, function (t) {
41017                t.save()
41018            }), this.reflow(), this.render()
41019        }, reflow: function () {
41020            e.extend(this.SegmentArc.prototype, {
41021                x: this.chart.width / 2,
41022                y: this.chart.height / 2
41023            }), this.updateScaleRange(this.segments), this.scale.update(), e.extend(this.scale, {
41024                xCenter: this.chart.width / 2,
41025                yCenter: this.chart.height / 2
41026            }), e.each(this.segments, function (t) {
41027                t.update({outerRadius: this.scale.calculateCenterOffset(t.value)})
41028            }, this)
41029        }, draw: function (t) {
41030            var i = t || 1;
41031            this.clear(), e.each(this.segments, function (t, e) {
41032                t.transition({
41033                    circumference: this.scale.getCircumference(),
41034                    outerRadius: this.scale.calculateCenterOffset(t.value)
41035                }, i), t.endAngle = t.startAngle + t.circumference, 0 === e && (t.startAngle = 1.5 * Math.PI), e < this.segments.length - 1 && (this.segments[e + 1].startAngle = t.endAngle), t.draw()
41036            }, this), this.scale.draw()
41037        }
41038    })
41039}.call(this), function () {
41040    "use strict";
41041    var t = this, i = t.Chart, e = i.helpers;
41042    i.Type.extend({
41043        name: "Radar",
41044        defaults: {
41045            scaleShowLine: !0,
41046            angleShowLineOut: !0,
41047            scaleShowLabels: !1,
41048            scaleBeginAtZero: !0,
41049            angleLineColor: "rgba(0,0,0,.1)",
41050            angleLineWidth: 1,
41051            pointLabelFontFamily: "'Arial'",
41052            pointLabelFontStyle: "normal",
41053            pointLabelFontSize: 10,
41054            pointLabelFontColor: "#666",
41055            pointDot: !0,
41056            pointDotRadius: 3,
41057            pointDotStrokeWidth: 1,
41058            pointHitDetectionRadius: 20,
41059            datasetStroke: !0,
41060            datasetStrokeWidth: 2,
41061            datasetFill: !0,
41062            legendTemplate: '<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'
41063        },
41064        initialize: function (t) {
41065            this.PointClass = i.Point.extend({
41066                strokeWidth: this.options.pointDotStrokeWidth,
41067                radius: this.options.pointDotRadius,
41068                display: this.options.pointDot,
41069                hitDetectionRadius: this.options.pointHitDetectionRadius,
41070                ctx: this.chart.ctx
41071            }), this.datasets = [], this.buildScale(t), this.options.showTooltips && e.bindEvents(this, this.options.tooltipEvents, function (t) {
41072                var i = "mouseout" !== t.type ? this.getPointsAtEvent(t) : [];
41073                this.eachPoints(function (t) {
41074                    t.restore(["fillColor", "strokeColor"])
41075                }), e.each(i, function (t) {
41076                    t.fillColor = t.highlightFill, t.strokeColor = t.highlightStroke
41077                }), this.showTooltip(i)
41078            }), e.each(t.datasets, function (i) {
41079                var s = {
41080                    label: i.label || null,
41081                    fillColor: i.fillColor,
41082                    strokeColor: i.strokeColor,
41083                    pointColor: i.pointColor,
41084                    pointStrokeColor: i.pointStrokeColor,
41085                    points: []
41086                };
41087                this.datasets.push(s), e.each(i.data, function (e, n) {
41088                    var o;
41089                    this.scale.animation || (o = this.scale.getPointPosition(n, this.scale.calculateCenterOffset(e))), s.points.push(new this.PointClass({
41090                        value: e,
41091                        label: t.labels[n],
41092                        datasetLabel: i.label,
41093                        x: this.options.animation ? this.scale.xCenter : o.x,
41094                        y: this.options.animation ? this.scale.yCenter : o.y,
41095                        strokeColor: i.pointStrokeColor,
41096                        fillColor: i.pointColor,
41097                        highlightFill: i.pointHighlightFill || i.pointColor,
41098                        highlightStroke: i.pointHighlightStroke || i.pointStrokeColor
41099                    }))
41100                }, this)
41101            }, this), this.render()
41102        },
41103        eachPoints: function (t) {
41104            e.each(this.datasets, function (i) {
41105                e.each(i.points, t, this)
41106            }, this)
41107        },
41108        getPointsAtEvent: function (t) {
41109            var i = e.getRelativePosition(t),
41110                s = e.getAngleFromPoint({x: this.scale.xCenter, y: this.scale.yCenter}, i),
41111                n = 2 * Math.PI / this.scale.valuesCount, o = Math.round((s.angle - 1.5 * Math.PI) / n), a = [];
41112            return (o >= this.scale.valuesCount || 0 > o) && (o = 0), s.distance <= this.scale.drawingArea && e.each(this.datasets, function (t) {
41113                a.push(t.points[o])
41114            }), a
41115        },
41116        buildScale: function (t) {
41117            this.scale = new i.RadialScale({
41118                display: this.options.showScale,
41119                fontStyle: this.options.scaleFontStyle,
41120                fontSize: this.options.scaleFontSize,
41121                fontFamily: this.options.scaleFontFamily,
41122                fontColor: this.options.scaleFontColor,
41123                showLabels: this.options.scaleShowLabels,
41124                showLabelBackdrop: this.options.scaleShowLabelBackdrop,
41125                backdropColor: this.options.scaleBackdropColor,
41126                backdropPaddingY: this.options.scaleBackdropPaddingY,
41127                backdropPaddingX: this.options.scaleBackdropPaddingX,
41128                lineWidth: this.options.scaleShowLine ? this.options.scaleLineWidth : 0,
41129                lineColor: this.options.scaleLineColor,
41130                angleLineColor: this.options.angleLineColor,
41131                angleLineWidth: this.options.angleShowLineOut ? this.options.angleLineWidth : 0,
41132                pointLabelFontColor: this.options.pointLabelFontColor,
41133                pointLabelFontSize: this.options.pointLabelFontSize,
41134                pointLabelFontFamily: this.options.pointLabelFontFamily,
41135                pointLabelFontStyle: this.options.pointLabelFontStyle,
41136                height: this.chart.height,
41137                width: this.chart.width,
41138                xCenter: this.chart.width / 2,
41139                yCenter: this.chart.height / 2,
41140                ctx: this.chart.ctx,
41141                templateString: this.options.scaleLabel,
41142                labels: t.labels,
41143                valuesCount: t.datasets[0].data.length
41144            }), this.scale.setScaleSize(), this.updateScaleRange(t.datasets), this.scale.buildYLabels()
41145        },
41146        updateScaleRange: function (t) {
41147            var i = function () {
41148                var i = [];
41149                return e.each(t, function (t) {
41150                    t.data ? i = i.concat(t.data) : e.each(t.points, function (t) {
41151                        i.push(t.value)
41152                    })
41153                }), i
41154            }(), s = this.options.scaleOverride ? {
41155                steps: this.options.scaleSteps,
41156                stepValue: this.options.scaleStepWidth,
41157                min: this.options.scaleStartValue,
41158                max: this.options.scaleStartValue + this.options.scaleSteps * this.options.scaleStepWidth
41159            } : e.calculateScaleRange(i, e.min([this.chart.width, this.chart.height]) / 2, this.options.scaleFontSize, this.options.scaleBeginAtZero, this.options.scaleIntegersOnly);
41160            e.extend(this.scale, s)
41161        },
41162        addData: function (t, i) {
41163            this.scale.valuesCount++, e.each(t, function (t, e) {
41164                var s = this.scale.getPointPosition(this.scale.valuesCount, this.scale.calculateCenterOffset(t));
41165                this.datasets[e].points.push(new this.PointClass({
41166                    value: t,
41167                    label: i,
41168                    x: s.x,
41169                    y: s.y,
41170                    strokeColor: this.datasets[e].pointStrokeColor,
41171                    fillColor: this.datasets[e].pointColor
41172                }))
41173            }, this), this.scale.labels.push(i), this.reflow(), this.update()
41174        },
41175        removeData: function () {
41176            this.scale.valuesCount--, this.scale.labels.shift(), e.each(this.datasets, function (t) {
41177                t.points.shift()
41178            }, this), this.reflow(), this.update()
41179        },
41180        update: function () {
41181            this.eachPoints(function (t) {
41182                t.save()
41183            }), this.reflow(), this.render()
41184        },
41185        reflow: function () {
41186            e.extend(this.scale, {
41187                width: this.chart.width,
41188                height: this.chart.height,
41189                size: e.min([this.chart.width, this.chart.height]),
41190                xCenter: this.chart.width / 2,
41191                yCenter: this.chart.height / 2
41192            }), this.updateScaleRange(this.datasets), this.scale.setScaleSize(), this.scale.buildYLabels()
41193        },
41194        draw: function (t) {
41195            var i = t || 1, s = this.chart.ctx;
41196            this.clear(), this.scale.draw(), e.each(this.datasets, function (t) {
41197                e.each(t.points, function (t, e) {
41198                    t.hasValue() && t.transition(this.scale.getPointPosition(e, this.scale.calculateCenterOffset(t.value)), i)
41199                }, this), s.lineWidth = this.options.datasetStrokeWidth, s.strokeStyle = t.strokeColor, s.beginPath(), e.each(t.points, function (t, i) {
41200                    0 === i ? s.moveTo(t.x, t.y) : s.lineTo(t.x, t.y)
41201                }, this), s.closePath(), s.stroke(), s.fillStyle = t.fillColor, s.fill(), e.each(t.points, function (t) {
41202                    t.hasValue() && t.draw()
41203                })
41204            }, this)
41205        }
41206    })
41207}.call(this), function (e) {
41208    "function" == typeof define && define.amd ? define(["jquery"], e) : e(jQuery)
41209}(function (e) {
41210    "use strict";
41211    var t = {}, n = Math.max, r = Math.min;
41212    t.c = {}, t.c.d = e(document), t.c.t = function (e) {
41213        return e.originalEvent.touches.length - 1
41214    }, t.o = function () {
41215        var n = this;
41216        this.o = null, this.$ = null, this.i = null, this.g = null, this.v = null, this.cv = null, this.x = 0, this.y = 0, this.w = 0, this.h = 0, this.$c = null, this.c = null, this.t = 0, this.isInit = !1, this.fgColor = null, this.pColor = null, this.dH = null, this.cH = null, this.eH = null, this.rH = null, this.scale = 1, this.relative = !1, this.relativeWidth = !1, this.relativeHeight = !1, this.$div = null, this.run = function () {
41217            var t = function (e, t) {
41218                var r;
41219                for (r in t) n.o[r] = t[r];
41220                n._carve().init(), n._configure()._draw()
41221            };
41222            if (!this.$.data("kontroled")) {
41223                if (this.$.data("kontroled", !0), this.extend(), this.o = e.extend({
41224                    min: void 0 !== this.$.data("min") ? this.$.data("min") : 0,
41225                    max: void 0 !== this.$.data("max") ? this.$.data("max") : 100,
41226                    stopper: !0,
41227                    readOnly: this.$.data("readonly") || "readonly" === this.$.attr("readonly"),
41228                    cursor: this.$.data("cursor") === !0 && 30 || this.$.data("cursor") || 0,
41229                    thickness: this.$.data("thickness") && Math.max(Math.min(this.$.data("thickness"), 1), .01) || .35,
41230                    lineCap: this.$.data("linecap") || "butt",
41231                    width: this.$.data("width") || 200,
41232                    height: this.$.data("height") || 200,
41233                    displayInput: null == this.$.data("displayinput") || this.$.data("displayinput"),
41234                    displayPrevious: this.$.data("displayprevious"),
41235                    fgColor: this.$.data("fgcolor") || "#87CEEB",
41236                    inputColor: this.$.data("inputcolor"),
41237                    font: this.$.data("font") || "Arial",
41238                    fontWeight: this.$.data("font-weight") || "bold",
41239                    inline: !1,
41240                    step: this.$.data("step") || 1,
41241                    rotation: this.$.data("rotation"),
41242                    draw: null,
41243                    change: null,
41244                    cancel: null,
41245                    release: null,
41246                    format: function (e) {
41247                        return e
41248                    },
41249                    parse: function (e) {
41250                        return parseFloat(e)
41251                    }
41252                }, this.o), this.o.flip = "anticlockwise" === this.o.rotation || "acw" === this.o.rotation, this.o.inputColor || (this.o.inputColor = this.o.fgColor), this.$.is("fieldset") ? (this.v = {}, this.i = this.$.find("input"), this.i.each(function (t) {
41253                    var r = e(this);
41254                    n.i[t] = r, n.v[t] = n.o.parse(r.val()), r.bind("change blur", function () {
41255                        var e = {};
41256                        e[t] = r.val(), n.val(n._validate(e))
41257                    })
41258                }), this.$.find("legend").remove()) : (this.i = this.$, this.v = this.o.parse(this.$.val()), "" === this.v && (this.v = this.o.min), this.$.bind("change blur", function () {
41259                    n.val(n._validate(n.o.parse(n.$.val())))
41260                }
41260)), !this.o.displayInput && this.$.hide(), this.$c = e(document.createElement("canvas")).attr({
41261                    width: this.o.width,
41262                    height: this.o.height
41263                }), this.$div = e('<div style="' + (this.o.inline ? "display:inline;" : "") + "width:" + this.o.width + "px;height:" + this.o.height + 'px;"></div>'), this.$.wrap(this.$div).before(this.$c), this.$div = this.$.parent(), "undefined" != typeof G_vmlCanvasManager && G_vmlCanvasManager.initElement(this.$c[0]), this.c = this.$c[0].getContext ? this.$c[0].getContext("2d") : null, !this.c) throw{
41264                    name: "CanvasNotSupportedException",
41265                    message: "Canvas not supported. Please use excanvas on IE8.0.",
41266                    toString: function () {
41267                        return this.name + ": " + this.message
41268                    }
41269                };
41270                return this.scale = (window.devicePixelRatio || 1) / (this.c.webkitBackingStorePixelRatio || this.c.mozBackingStorePixelRatio || this.c.msBackingStorePixelRatio || this.c.oBackingStorePixelRatio || this.c.backingStorePixelRatio || 1), this.relativeWidth = this.o.width % 1 !== 0 && this.o.width.indexOf("%"), this.relativeHeight = this.o.height % 1 !== 0 && this.o.height.indexOf("%"), this.relative = this.relativeWidth || this.relativeHeight, this._carve(), this.v instanceof Object ? (this.cv = {}, this.copy(this.v, this.cv)) : this.cv = this.v, this.$.bind("configure", t).parent().bind("configure", t),
41271                    this._listen()._configure()._xy().init(), this.isInit = !0, this.$.val(this.o.format(this.v)), this._draw(), this
41272            }
41273        }, this._carve = function () {
41274            if (this.relative) {
41275                var e = this.relativeWidth ? this.$div.parent().width() * parseInt(this.o.width) / 100 : this.$div.parent().width(),
41276                    t = this.relativeHeight ? this.$div.parent().height() * parseInt(this.o.height) / 100 : this.$div.parent().height();
41277                this.w = this.h = Math.min(e, t)
41278            } else this.w = this.o.width, this.h = this.o.height;
41279            return this.$div.css({width: this.w + "px", height: this.h + "px"}), this.$c.attr({
41280                width: this.w,
41281                height: this.h
41282            }), 1 !== this.scale && (this.$c[0].width = this.$c[0].width * this.scale, this.$c[0].height = this.$c[0].height * this.scale, this.$c.width(this.w), this.$c.height(this.h)), this
41283        }, this._draw = function () {
41284            var e = !0;
41285            n.g = n.c, n.clear(), n.dH && (e = n.dH()), e !== !1 && n.draw()
41286        }, this._touch = function (e) {
41287            var r = function (e) {
41288                var t = n.xy2val(e.originalEvent.touches[n.t].pageX, e.originalEvent.touches[n.t].pageY);
41289                t != n.cv && (n.cH && n.cH(t) === !1 || (n.change(n._validate(t)), n._draw()))
41290            };
41291            return this.t = t.c.t(e), r(e), t.c.d.bind("touchmove.k", r).bind("touchend.k", function () {
41292                t.c.d.unbind("touchmove.k touchend.k"), n.val(n.cv)
41293            }), this
41294        }, this._mouse = function (e) {
41295            var r = function (e) {
41296                var t = n.xy2val(e.pageX, e.pageY);
41297                t != n.cv && (n.cH && n.cH(t) === !1 || (n.change(n._validate(t)), n._draw()))
41298            };
41299            return r(e), t.c.d.bind("mousemove.k", r).bind("keyup.k", function (e) {
41300                if (27 === e.keyCode) {
41301                    if (t.c.d.unbind("mouseup.k mousemove.k keyup.k"), n.eH && n.eH() === !1) return;
41302                    n.cancel()
41303                }
41304            }).bind("mouseup.k", function (e) {
41305                t.c.d.unbind("mousemove.k mouseup.k keyup.k"), n.val(n.cv)
41306            }), this
41307        }, this._xy = function () {
41308            var e = this.$c.offset();
41309            return this.x = e.left, this.y = e.top, this
41310        }, this._listen = function () {
41311            return this.o.readOnly ? this.$.attr("readonly", "readonly") : (this.$c.bind("mousedown", function (e) {
41312                e.preventDefault(), n._xy()._mouse(e)
41313            }).bind("touchstart", function (e) {
41314                e.preventDefault(), n._xy()._touch(e)
41315            }), this.listen()), this.relative && e(window).resize(function () {
41316                n._carve().init(), n._draw()
41317            }), this
41318        }, this._configure = function () {
41319            return this.o.draw && (this.dH = this.o.draw), this.o.change && (this.cH = this.o.change), this.o.cancel && (this.eH = this.o.cancel), this.o.release && (this.rH = this.o.release), this.o.displayPrevious ? (this.pColor = this.h2rgba(this.o.fgColor, "0.4"), this.fgColor = this.h2rgba(this.o.fgColor, "0.6")) : this.fgColor = this.o.fgColor, this
41320        }, this._clear = function () {
41321            this.$c[0].width = this.$c[0].width
41322        }
41322, this._validate = function (e) {
41323            var t = ~~((0 > e ? -.5 : .5) + e / this.o.step) * this.o.step;
41324            return Math.round(100 * t) / 100
41325        }, this.listen = function () {
41326        }, this.extend = function () {
41327        }, this.init = function () {
41328        }, this.change = function (e) {
41329        }, this.val = function (e) {
41330        }, this.xy2val = function (e, t) {
41331        }, this.draw = function () {
41332        }, this.clear = function () {
41333            this._clear()
41334        }, this.h2rgba = function (e, t) {
41335            var n;
41336            return e = e.substring(1, 7), n = [parseInt(e.substring(0, 2), 16), parseInt(e.substring(2, 4), 16), parseInt(e.substring(4, 6), 16)], "rgba(" + n[0] + "," + n[1] + "," + n[2] + "," + t + ")"
41337        }, this.copy = function (e, t) {
41338            for (var n in e) t[n] = e[n]
41339        }
41340    }, t.Dial = function () {
41341        t.o.call(this), this.startAngle = null, this.xy = null, this.radius = null, this.lineWidth = null, this.cursorExt = null, this.w2 = null, this.PI2 = 2 * Math.PI, this.extend = function () {
41342            this.o = e.extend({
41343                bgColor: this.$.data("bgcolor") || "#EEEEEE",
41344                angleOffset: this.$.data("angleoffset") || 0,
41345                angleArc: this.$.data("anglearc") || 360,
41346                inline: !0
41347            }, this.o)
41348        }, this.val = function (e, t) {
41349            return null == e ? this.v : (e = this.o.parse(e), void (t !== !1 && e != this.v && this.rH && this.rH(e) === !1 || (this.cv = this.o.stopper ? n(r(e, this.o.max), this.o.min) : e, this.v = this.cv, this.$.val(this.o.format(this.v)), this._draw())))
41350        }, this.xy2val = function (e, t) {
41351            var i, s;
41352            return i = Math.atan2(e - (this.x + this.w2), -(t - this.y - this.w2)) - this.angleOffset, this.o.flip && (i = this.angleArc - i - this.PI2), this.angleArc != this.PI2 && 0 > i && i > -.5 ? i = 0 : 0 > i && (i += this.PI2), s = i * (this.o.max - this.o.min) / this.angleArc + this.o.min, this.o.stopper && (s = n(r(s, this.o.max), this.o.min)), s
41353        }, this.listen = function () {
41354            var i, s, u, a, t = this, o = function (e) {
41355                e.preventDefault();
41356                var o = e.originalEvent, u = o.detail || o.wheelDeltaX, a = o.detail || o.wheelDeltaY,
41357                    f = t._validate(t.o.parse(t.$.val())) + (u > 0 || a > 0 ? t.o.step : 0 > u || 0 > a ? -t.o.step : 0);
41358                f = n(r(f, t.o.max), t.o.min), t.val(f, !1), t.rH && (clearTimeout(i), i = setTimeout(function () {
41359                    t.rH(f), i = null
41360                }, 100), s || (s = setTimeout(function () {
41361                    i && t.rH(f), s = null
41362                }, 200)))
41363            }, f = 1, l = {37: -t.o.step, 38: t.o.step, 39: t.o.step, 40: -t.o.step};
41364            this.$.bind("keydown", function (i) {
41365                var s = i.keyCode;
41366                if (s >= 96 && 105 >= s && (s = i.keyCode = s - 48), u = parseInt(String.fromCharCode(s)), isNaN(u) && (13 !== s && 8 !== s && 9 !== s && 189 !== s && (190 !== s || t.$.val().match(/\./)) && i.preventDefault(), e.inArray(s, [37, 38, 39, 40]) > -1)) {
41367                    i.preventDefault();
41368                    var o = t.o.parse(t.$.val()) + l[s] * f;
41369                    t.o.stopper && (o = n(r(o, t.o.max), t.o.min)), t.change(t._validate(o)), t._draw(), a = window.setTimeout(function () {
41370                        f *= 2
41371                    }, 30)
41372                }
41373            }).bind("keyup", function (e) {
41374                isNaN(u) ? a && (window.clearTimeout(a), a = null, f = 1, t.val(t.$.val())) : t.$.val() > t.o.max && t.$.val(t.o.max) || t.$.val() < t.o.min && t.$.val(t.o.min)
41375            }), this.$c.bind("mousewheel DOMMouseScroll", o), this.$.bind("mousewheel DOMMouseScroll", o)
41376        }, this.init = function () {
41377            (this.v < this.o.min || this.v > this.o.max) && (this.v = this.o.min), this.$.val(this.v), this.w2 = this.w / 2, this.cursorExt = this.o.cursor / 100, this.xy = this.w2 * this.scale, this.lineWidth = this.xy * this.o.thickness, this.lineCap = this.o.lineCap, this.radius = this.xy - this.lineWidth / 2, this.o.angleOffset && (this.o.angleOffset = isNaN(this.o.angleOffset) ? 0 : this.o.angleOffset), this.o.angleArc && (this.o.angleArc = isNaN(this.o.angleArc) ? this.PI2 : this.o.angleArc), this.angleOffset = this.o.angleOffset * Math.PI / 180, this.angleArc = this.o.angleArc * Math.PI / 180, this.startAngle = 1.5 * Math.PI + this.angleOffset, this.endAngle = 1.5 * Math.PI + this.angleOffset + this.angleArc;
41378            var e = n(String(Math.abs(this.o.max)).length, String(Math.abs(this.o.min)).length, 2) + 2;
41379            this.o.displayInput && this.i.css({
41380                width: (this.w / 2 + 4 >> 0) + "px",
41381                height: (this.w / 3 >> 0) + "px",
41382                position: "absolute",
41383                "vertical-align": "middle",
41384                "margin-top": (this.w / 3 >> 0) + "px",
41385                "margin-left": "-" + (3 * this.w / 4 + 2 >> 0) + "px",
41386                border: 0,
41387                background: "none",
41388                font: this.o.fontWeight + " " + (this.w / e >> 0) + "px " + this.o.font,
41389                "text-align": "center",
41390                color: this.o.inputColor || this.o.fgColor,
41391                padding: "0px",
41392                "-webkit-appearance": "none"
41393            }) || this.i.css({width: "0px", visibility: "hidden"})
41394        }, this.change = function (e) {
41395            this.cv = e, this.$.val(this.o.format(e))
41396        }, this.angle = function (e) {
41397            return (e - this.o.min) * this.angleArc / (this.o.max - this.o.min)
41398        }, this.arc = function (e) {
41399            var t, n;
41400            return e = this.angle(e), this.o.flip ? (t = this.endAngle + 1e-5, n = t - e - 1e-5) : (t = this.startAngle - 1e-5, n = t + e + 1e-5), this.o.cursor && (t = n - this.cursorExt) && (n += this.cursorExt), {
41401                s: t,
41402                e: n,
41403                d: this.o.flip && !this.o.cursor
41404            }
41405        }, this.draw = function () {
41406            var n, e = this.g, t = this.arc(this.cv), r = 1;
41407            e.lineWidth = this.lineWidth, e.lineCap = this.lineCap, "none" !== this.o.bgColor && (e.beginPath(), e.strokeStyle = this.o.bgColor, e.arc(this.xy, this.xy, this.radius, this.endAngle - 1e-5, this.startAngle + 1e-5, !0), e.stroke()), this.o.displayPrevious && (n = this.arc(this.v), e.beginPath(), e.strokeStyle = this.pColor, e.arc(this.xy, this.xy, this.radius, n.s, n.e, n.d), e.stroke(), r = this.cv == this.v), e.beginPath(), e.strokeStyle = r ? this.o.fgColor : this.fgColor, e.arc(this.xy, this.xy, this.radius, t.s, t.e, t.d), e.stroke()
41408        }, this.cancel = function () {
41409            this.val(this.v)
41410        }
41411    }, e.fn.dial = e.fn.knob = function (n) {
41412        return this.each(function () {
41413            var r = new t.Dial;
41414            r.o = n, r.$ = e(this), r.run()
41415        }).parent()
41416    }
41417}), function (root, factory) {
41418    "function" == typeof define && define.amd ? define(["jquery"], function (a0) {
41419        return factory(a0)
41420    }) : "object" == typeof exports ? module.exports = factory(require("jquery")) : factory(jQuery)
41421}(this, function (jQuery) {
41422    !function ($) {
41423        "use strict";
41424
41425        function normalizeToBase(text) {
41426            var rExps = [{re: /[\xC0-\xC6]/g, ch: "A"}, {re: /[\xE0-\xE6]/g, ch: "a"}, {
41427                re: /[\xC8-\xCB]/g,
41428                ch: "E"
41429            }, {re: /[\xE8-\xEB]/g, ch: "e"}, {re: /[\xCC-\xCF]/g, ch: "I"}, {
41430                re: /[\xEC-\xEF]/g,
41431                ch: "i"
41432            }, {re: /[\xD2-\xD6]/g, ch: "O"}, {re: /[\xF2-\xF6]/g, ch: "o"}, {
41433                re: /[\xD9-\xDC]/g,
41434                ch: "U"
41435            }, {re: /[\xF9-\xFC]/g, ch: "u"}, {re: /[\xC7-\xE7]/g, ch: "c"}, {re: /[\xD1]/g, ch: "N"}, {
41436                re: /[\xF1]/g,
41437                ch: "n"
41438            }];
41439            return $.each(rExps, function () {
41440                text = text.replace(this.re, this.ch)
41441            }), text
41442        }
41443
41444        function htmlEscape(html) {
41445            var escapeMap = {"&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;"},
41446                source = "(?:" + Object.keys(escapeMap).join("|") + ")", testRegexp = new RegExp(source),
41447                replaceRegexp = new RegExp(source, "g"), string = null == html ? "" : "" + html;
41448            return testRegexp.test(string) ? string.replace(replaceRegexp, function (match) {
41449                return escapeMap[match]
41450            }) : string
41451        }
41452
41453        function Plugin(option, event) {
41454            var args = arguments, _option = option, _event = event;
41455            [].shift.apply(args);
41456            var value, chain = this.each(function () {
41457                var $this = $(this);
41458                if ($this.is("select")) {
41459                    var data = $this.data("selectpicker"), options = "object" == typeof _option && _option;
41460                    if (data) {
41461                        if (options) for (var i in options) options.hasOwnProperty(i) && (data.options[i] = options[i])
41462                    } else {
41463                        var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, $this.data(), options);
41464                        config.template = $.extend({}, Selectpicker.DEFAULTS.template, $.fn.selectpicker.defaults ? $.fn.selectpicker.defaults.template : {}, $this.data().template, options.template), $this.data("selectpicker", data = new Selectpicker(this, config, _event))
41465                    }
41466                    "string" == typeof _option && (value = data[_option] instanceof Function ? data[_option].apply(data, args) : data.options[_option])
41467                }
41468            });
41469            return "undefined" != typeof value ? value : chain
41470        }
41471
41472        String.prototype.includes || !function () {
41473            var toString = {}.toString, defineProperty = function () {
41474                try {
41475                    var object = {}, $defineProperty = Object.defineProperty,
41476                        result = $defineProperty(object, object, object) && $defineProperty
41477                } catch (error) {
41478                }
41479                return result
41480            }(), indexOf = "".indexOf, includes = function (search) {
41481                if (null == this) throw new TypeError;
41482                var string = String(this);
41483                if (search && "[object RegExp]" == toString.call(search)) throw new TypeError;
41484                var stringLength = string.length, searchString = String(search), searchLength = searchString.length,
41485                    position = arguments.length > 1 ? arguments[1] : void 0, pos = position ? Number(position) : 0;
41486                pos != pos && (pos = 0);
41487                var start = Math.min(Math.max(pos, 0), stringLength);
41488                return searchLength + start > stringLength ? !1 : -1 != indexOf.call(string, searchString, pos)
41489            };
41490            defineProperty ? defineProperty(String.prototype, "includes", {
41491                value: includes,
41492                configurable: !0,
41493                writable: !0
41494            }) : String.prototype.includes = includes
41495        }(), String.prototype.startsWith || !function () {
41496            var defineProperty = function () {
41497                try {
41498                    var object = {}, $defineProperty = Object.defineProperty,
41499                        result = $defineProperty(object, object, object) && $defineProperty
41500                } catch (error) {
41501                }
41502                return result
41503            }(), toString = {}.toString, startsWith = function (search) {
41504                if (null == this) throw new TypeError;
41505                var string = String(this);
41506                if (search && "[object RegExp]" == toString.call(search)) throw new TypeError;
41507                var stringLength = string.length, searchString = String(search), searchLength = searchString.length,
41508                    position = arguments.length > 1 ? arguments[1] : void 0, pos = position ? Number(position) : 0;
41509                pos != pos && (pos = 0);
41510                var start = Math.min(Math.max(pos, 0), stringLength);
41511                if (searchLength + start > stringLength) return !1;
41512                for (var index = -1; ++index < searchLength;) if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) return !1;
41513                return !0
41514            };
41515            defineProperty ? defineProperty(String.prototype, "startsWith", {
41516                value: startsWith,
41517                configurable: !0,
41518                writable: !0
41519            }) : String.prototype.startsWith = startsWith
41520        }(), Object.keys || (Object.keys = function (o, k, r) {
41521            r = [];
41522            for (k in o) r.hasOwnProperty.call(o, k) && r.push(k);
41523            return r
41524        }), $.fn.triggerNative = function (eventName) {
41525            var event, el = this[0];
41526            el.dispatchEvent ? ("function" == typeof Event ? event = new Event(eventName, {bubbles: !0}) : (event = document.createEvent("Event"), event.initEvent(eventName, !0, !1)), el.dispatchEvent(event)) : (el.fireEvent && (event = document.createEventObject(), event.eventType = eventName, el.fireEvent("on" + eventName, event)), this.trigger(eventName))
41527        }, $.expr[":"].icontains = function (obj, index, meta) {
41528            var $obj = $(obj), haystack = ($obj.data("tokens") || $obj.text()).toUpperCase();
41529            return haystack.includes(meta[3].toUpperCase())
41530        }, $.expr[":"].ibegins = function (obj, index, meta) {
41531            var $obj = $(obj), haystack = ($obj.data("tokens") || $obj.text()).toUpperCase();
41532            return haystack.startsWith(meta[3].toUpperCase())
41533        }, $.expr[":"].aicontains = function (obj, index, meta) {
41534            var $obj = $(obj),
41535                haystack = ($obj.data("tokens") || $obj.data("normalizedText") || $obj.text()).toUpperCase();
41536            return haystack.includes(meta[3].toUpperCase())
41537        }, $.expr[":"].aibegins = function (obj, index, meta) {
41538            var $obj = $(obj),
41539                haystack = ($obj.data("tokens") || $obj.data("normalizedText") || $obj.text()).toUpperCase();
41540            return haystack.startsWith(meta[3].toUpperCase())
41541        };
41542        var Selectpicker = function (element, options, e) {
41543            e && (e.stopPropagation(), e.preventDefault()), this.$element = $(element), this.$newElement = null, this.$button = null, this.$menu = null, this.$lis = null, this.options = options, null === this.options.title && (this.options.title = this.$element.attr("title")), this.val = Selectpicker.prototype.val, this.render = Selectpicker.prototype.render, this.refresh = Selectpicker.prototype.refresh, this.setStyle = Selectpicker.prototype.setStyle, this.selectAll = Selectpicker.prototype.selectAll, this.deselectAll = Selectpicker.prototype.deselectAll, this.destroy = Selectpicker.prototype.destroy, this.remove = Selectpicker.prototype.remove, this.show = Selectpicker.prototype.show, this.hide = Selectpicker.prototype.hide, this.init()
41544        };
41545        Selectpicker.VERSION = "1.7.7", Selectpicker.DEFAULTS = {
41546            noneSelectedText: "Nothing selected",
41547            noneResultsText: "No results matched {0}",
41548            countSelectedText: function (numSelected, numTotal) {
41549                return 1 == numSelected ? "{0} item selected" : "{0} items selected"
41550            },
41551            maxOptionsText: function (numAll, numGroup) {
41552                return [1 == numAll ? "Limit reached ({n} item max)" : "Limit reached ({n} items max)", 1 == numGroup ? "Group limit reached ({n} item max)" : "Group limit reached ({n} items max)"]
41553            },
41554            selectAllText: "Select All",
41555            deselectAllText: "Deselect All",
41556            doneButton: !1,
41557            doneButtonText: "Close",
41558            multipleSeparator: ", ",
41559            styleBase: "btn",
41560            style: "btn-default",
41561            size: "auto",
41562            title: null,
41563            selectedTextFormat: "values",
41564            width: !1,
41565            container: !1,
41566            hideDisabled: !1,
41567            showSubtext: !1,
41568            showIcon: !0,
41569            showContent: !0,
41570            dropupAuto: !0,
41571            header: !1,
41572            liveSearch: !1,
41573            liveSearchPlaceholder: null,
41574            liveSearchNormalize: !1,
41575            liveSearchStyle: "contains",
41576            actionsBox: !1,
41577            iconBase: "glyphicon",
41578            tickIcon: "glyphicon-ok",
41579            template: {caret: '<span class="caret"></span>'},
41580            maxOptions: !1,
41581            mobile: !1,
41582            selectOnTab: !1,
41583            dropdownAlignRight: !1
41584        }, Selectpicker.prototype = {
41585            constructor: Selectpicker, init: function () {
41586                var that = this, id = this.$element.attr("id");
41587                this.$element.addClass("bs-select-hidden"), this.liObj = {}, this.multiple = this.$element.prop("multiple"), this.autofocus = this.$element.prop("autofocus"), this.$newElement = this.createView(), this.$element.after(this.$newElement), this.$button = this.$newElement.children("button"), this.$menu = this.$newElement.children(".dropdown-menu"), this.$menuInner = this.$menu.children(".inner"), this.$searchbox = this.$menu.find("input"), this.options.dropdownAlignRight && this.$menu.addClass("dropdown-menu-right"), "undefined" != typeof id && (this.$button.attr("data-id", id), $('label[for="' + id + '"]').click(function (e) {
41588                    e.preventDefault(), that.$button.focus()
41589                })), this.checkDisabled(), this.clickListener(), this.options.liveSearch && this.liveSearchListener(), this.render(), this.setStyle(), this.setWidth(), this.options.container && this.selectPosition(), this.$menu.data("this", this), this.$newElement.data("this", this), this.options.mobile && this.mobile(), this.$newElement.on({
41590                    "hide.bs.dropdown": function (e) {
41591                        that.$element.trigger("hide.bs.select", e)
41592                    }, "hidden.bs.dropdown": function (e) {
41593                        that.$element.trigger("hidden.bs.select", e)
41594                    }, "show.bs.dropdown": function (e) {
41595                        that.$element.trigger("show.bs.select", e)
41596                    }, "shown.bs.dropdown": function (e) {
41597                        that.$element.trigger("shown.bs.select", e)
41598                    }
41599                }), setTimeout(function () {
41600                    that.$element.trigger("loaded.bs.select")
41601                })
41602            }, createDropdown: function () {
41603                var multiple = this.multiple ? " show-tick" : "",
41604                    inputGroup = this.$element.parent().hasClass("input-group") ? " input-group-btn" : "",
41605                    autofocus = this.autofocus ? " autofocus" : "",
41606                    header = this.options.header ? '<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>' + this.options.header + "</div>" : "",
41607                    searchbox = this.options.liveSearch ? '<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"' + (null === this.options.liveSearchPlaceholder ? "" : ' placeholder="' + htmlEscape(this.options.liveSearchPlaceholder) + '"') + "></div>" : "",
41608                    actionsbox = this.multiple && this.options.actionsBox ? '<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">' + this.options.selectAllText + '</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">' + this.options.deselectAllText + "</button></div></div>" : "",
41609                    donebutton = this.multiple && this.options.doneButton ? '<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">' + this.options.doneButtonText + "</button></div></div>" : "",
41610                    drop = '<div class="btn-group bootstrap-select' + multiple + inputGroup + '"><button type="button" class="' + this.options.styleBase + ' dropdown-toggle" data-toggle="dropdown"' + autofocus + '><span class="filter-option pull-left"></span>&nbsp;<span class="bs-caret">' + this.options.template.caret + '</span></button><div class="dropdown-menu open">' + header + searchbox + actionsbox + '<ul class="dropdown-menu inner" role="menu"></ul>' + donebutton + "</div></div>";
41611                return $(drop)
41612            }, createView: function () {
41613                var $drop = this.createDropdown(), li = this.createLi();
41614                return $drop.find("ul")[0].innerHTML = li, $drop
41615            }, reloadLi: function () {
41616                this.destroyLi();
41617                var li = this.createLi();
41618                this.$menuInner[0].innerHTML = li
41619            }, destroyLi: function () {
41620                this.$menu.find("li").remove()
41621            }, createLi: function () 
41621{
41622                var that = this, _li = [], optID = 0, titleOption = document.createElement("option"), liIndex = -1,
41623                    generateLI = function (content, index, classes, optgroup) {
41624                        return "<li" + ("undefined" != typeof classes & "" !== classes ? ' class="' + classes + '"' : "") + ("undefined" != typeof index & null !== index ? ' data-original-index="' + index + '"' : "") + ("undefined" != typeof optgroup & null !== optgroup ? 'data-optgroup="' + optgroup + '"' : "") + ">" + content + "</li>"
41625                    }, generateA = function (text, classes, inline, tokens) {
41626                        return '<a tabindex="0"' + ("undefined" != typeof classes ? ' class="' + classes + '"' : "") + ("undefined" != typeof inline ? ' style="' + inline + '"' : "") + (that.options.liveSearchNormalize ? ' data-normalized-text="' + normalizeToBase(htmlEscape(text)) + '"' : "") + ("undefined" != typeof tokens || null !== tokens ? ' data-tokens="' + tokens + '"' : "") + ">" + text + '<span class="' + that.options.iconBase + " " + that.options.tickIcon + ' check-mark"></span></a>'
41627                    };
41628                if (this.options.title && !this.multiple && (liIndex--, !this.$element.find(".bs-title-option").length)) {
41629                    var element = this.$element[0];
41630                    titleOption.className = "bs-title-option", titleOption.appendChild(document.createTextNode(this.options.title)), titleOption.value = "", element.insertBefore(titleOption, element.firstChild), void 0 === $(element.options[element.selectedIndex]).attr("selected") && (titleOption.selected = !0)
41631                }
41632                return this.$element.find("option").each(function (index) {
41633                    var $this = $(this);
41634                    if (liIndex++, !$this.hasClass("bs-title-option")) {
41635                        var optionClass = this.className || "", inline = this.style.cssText,
41636                            text = $this.data("content") ? $this.data("content") : $this.html(),
41637                            tokens = $this.data("tokens") ? $this.data("tokens") : null,
41638                            subtext = "undefined" != typeof $this.data("subtext") ? '<small class="text-muted">' + $this.data("subtext") + "</small>" : "",
41639                            icon = "undefined" != typeof $this.data("icon") ? '<span class="' + that.options.iconBase + " " + $this.data("icon") + '"></span> ' : "",
41640                            isDisabled = this.disabled || "OPTGROUP" === this.parentNode.tagName && this.parentNode.disabled;
41641                        if ("" !== icon && isDisabled && (icon = "<span>" + icon + "</span>"), that.options.hideDisabled && isDisabled) return void liIndex--;
41642                        if ($this.data("content") || (text = icon + '<span class="text">' + text + subtext + "</span>"), "OPTGROUP" === this.parentNode.tagName && $this.data("divider") !== !0) {
41643                            var optGroupClass = " " + this.parentNode.className || "";
41644                            if (0 === $this.index()) {
41645                                optID += 1;
41646                                var label = this.parentNode.label,
41647                                    labelSubtext = "undefined" != typeof $this.parent().data("subtext") ? '<small class="text-muted">' + $this.parent().data("subtext") + "</small>" : "",
41648                                    labelIcon = $this.parent().data("icon") ? '<span class="' + that.options.iconBase + " " + $this.parent().data("icon") + '"></span> ' : "";
41649                                label = labelIcon + '<span class="text">' + label + labelSubtext + "</span>", 0 !== index && _li.length > 0 && (liIndex++, _li.push(generateLI("", null, "divider", optID + "div"))), liIndex++, _li.push(generateLI(label, null, "dropdown-header" + optGroupClass, optID))
41650                            }
41651                            _li.push(generateLI(generateA(text, "opt " + optionClass + optGroupClass, inline, tokens), index, "", optID))
41652                        } else $this.data("divider") === !0 ? _li.push(generateLI("", index, "divider")) : $this.data("hidden") === !0 ? _li.push(generateLI(generateA(text, optionClass, inline, tokens), index, "hidden is-hidden")) : (this.previousElementSibling && "OPTGROUP" === this.previousElementSibling.tagName && (liIndex++, _li.push(generateLI("", null, "divider", optID + "div"))), _li.push(generateLI(generateA(text, optionClass, inline, tokens), index)));
41653                        that.liObj[index] = liIndex
41654                    }
41655                }), this.multiple || 0 !== this.$element.find("option:selected").length || this.options.title || this.$element.find("option").eq(0).prop("selected", !0).attr("selected", "selected"), _li.join("")
41656            }, findLis: function () {
41657                return null == this.$lis && (this.$lis = this.$menu.find("li")), this.$lis
41658            }, render: function (updateLi) {
41659                var notDisabled, that = this;
41660                updateLi !== !1 && this.$element.find("option").each(function (index) {
41661                    var $lis = that.findLis().eq(that.liObj[index]);
41662                    that.setDisabled(index, this.disabled || "OPTGROUP" === this.parentNode.tagName && this.parentNode.disabled, $lis), that.setSelected(index, this.selected, $lis)
41663                }), this.tabIndex();
41664                var selectedItems = this.$element.find("option").map(function () {
41665                        if (this.selected) {
41666                            if (that.options.hideDisabled && (this.disabled || "OPTGROUP" === this.parentNode.tagName && this.parentNode.disabled)) return;
41667                            var subtext, $this = $(this),
41668                                icon = $this.data("icon") && that.options.showIcon ? '<i class="' + that.options.iconBase + " " + $this.data("icon") + '"></i> ' : "";
41669                            return subtext = that.options.showSubtext && $this.data("subtext") && !that.multiple ? ' <small class="text-muted">' + $this.data("subtext") + "</small>" : "", "undefined" != typeof $this.attr("title") ? $this.attr("title") : $this.data("content") && that.options.showContent ? $this.data("content") : icon + $this.html() + subtext
41670                        }
41671                    }).toArray(),
41672                    title = this.multiple ? selectedItems.join(this.options.multipleSeparator) : selectedItems[0];
41673                if (this.multiple && this.options.selectedTextFormat.indexOf("count") > -1) {
41674                    var max = this.options.selectedTextFormat.split(">");
41675                    if (max.length > 1 && selectedItems.length > max[1] || 1 == max.length && selectedItems.length >= 2) {
41676                        notDisabled = this.options.hideDisabled ? ", [disabled]" : "";
41677                        var totalCount = this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]' + notDisabled).length,
41678                            tr8nText = "function" == typeof this.options.countSelectedText ? this.options.countSelectedText(selectedItems.length, totalCount) : this.options.countSelectedText;
41679                        title = tr8nText.replace("{0}", selectedItems.length.toString()).replace("{1}", totalCount.toString())
41680                    }
41681                }
41682                void 0 == this.options.title && (this.options.title = this.$element.attr("title")), "static" == this.options.selectedTextFormat && (title = this.options.title), title || (title = "undefined" != typeof this.options.title ? this.options.title : this.options.noneSelectedText), this.$button.attr("title", $.trim(title.replace(/<[^>]*>?/g, ""))), this.$button.children(".filter-option").html(title), this.$element.trigger("rendered.bs.select")
41683            }, setStyle: function (style, status) {
41684                this.$element.attr("class") && this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi, ""));
41685                var buttonClass = style ? style : this.options.style;
41686                "add" == status ? this.$button.addClass(buttonClass) : "remove" == status ? this.$button.removeClass(buttonClass) : (this.$button.removeClass(this.options.style), this.$button.addClass(buttonClass))
41687            }, liHeight: function (refresh) {
41688                if (refresh || this.options.size !== !1 && !this.sizeInfo) {
41689                    var newElement = document.createElement("div"), menu = document.createElement("div"),
41690                        menuInner = document.createElement("ul"), divider = document.createElement("li"),
41691                        li = document.createElement("li"), a = document.createElement("a"),
41692                        text = document.createElement("span"),
41693                        header = this.options.header && this.$menu.find(".popover-title").length > 0 ? this.$menu.find(".popover-title")[0].cloneNode(!0) : null,
41694                        search = this.options.liveSearch ? document.createElement("div") : null,
41695                        actions = this.options.actionsBox && this.multiple && this.$menu.find(".bs-actionsbox").length > 0 ? this.$menu.find(".bs-actionsbox")[0].cloneNode(!0) : null,
41696                        doneButton = this.options.doneButton && this.multiple && this.$menu.find(".bs-donebutton").length > 0 ? this.$menu.find(".bs-donebutton")[0].cloneNode(!0) : null;
41697                    if (text.className = "text", newElement.className = this.$menu[0].parentNode.className + " open", menu.className = "dropdown-menu open", menuInner.className = "dropdown-menu inner", divider.className = "divider", text.appendChild(document.createTextNode("Inner text")), a.appendChild(text), li.appendChild(a), menuInner.appendChild(li), menuInner.appendChild(divider), header && menu.appendChild(header), search) {
41698                        var input = document.createElement("span");
41699                        search.className = "bs-searchbox", input.className = "form-control", search.appendChild(input), menu.appendChild(search)
41700                    }
41701                    actions && menu.appendChild(actions), menu.appendChild(menuInner), doneButton && menu.appendChild(doneButton), newElement.appendChild(menu), document.body.appendChild(newElement);
41702                    var liHeight = a.offsetHeight, headerHeight = header ? header.offsetHeight : 0,
41703                        searchHeight = search ? search.offsetHeight : 0,
41704                        actionsHeight = actions ? actions.offsetHeight : 0,
41705                        doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,
41706                        dividerHeight = $(divider).outerHeight(!0),
41707                        menuStyle = "function" == typeof getComputedStyle ? getComputedStyle(menu) : !1,
41708                        $menu = menuStyle ? null : $(menu),
41709                        menuPadding = parseInt(menuStyle ? menuStyle.paddingTop : $menu.css("paddingTop")) + parseInt(menuStyle ? menuStyle.paddingBottom : $menu.css("paddingBottom")) + parseInt(menuStyle ? menuStyle.borderTopWidth : $menu.css("borderTopWidth")) + parseInt(menuStyle ? menuStyle.borderBottomWidth : $menu.css("borderBottomWidth")),
41710                        menuExtras = menuPadding + parseInt(menuStyle ? menuStyle.marginTop : $menu.css("marginTop")) + parseInt(menuStyle ? menuStyle.marginBottom : $menu.css("marginBottom")) + 2;
41711                    document.body.removeChild(newElement), this.sizeInfo = {
41712                        liHeight: liHeight,
41713                        headerHeight: headerHeight,
41714                        searchHeight: searchHeight,
41715                        actionsHeight: actionsHeight,
41716                        doneButtonHeight: doneButtonHeight,
41717                        dividerHeight: dividerHeight,
41718                        menuPadding: menuPadding,
41719                        menuExtras: menuExtras
41720                    }
41721                }
41722            }, setSize: function () {
41723                if (this.findLis(), this.liHeight(), this.options.header && this.$menu.css("padding-top", 0), this.options.size !== !1) {
41724                    var menuHeight, getHeight, selectOffsetTop, selectOffsetBot, that = this, $menu = this.$menu,
41725                        $menuInner = this.$menuInner, $window = $(window),
41726                        selectHeight = this.$newElement[0].offsetHeight, liHeight = this.sizeInfo.liHeight,
41727                        headerHeight = this.sizeInfo.headerHeight, searchHeight = this.sizeInfo.searchHeight,
41728                        actionsHeight = this.sizeInfo.actionsHeight, doneButtonHeight = this.sizeInfo.doneButtonHeight,
41729                        divHeight = this.sizeInfo.dividerHeight, menuPadding = this.sizeInfo.menuPadding,
41730                        menuExtras = this.sizeInfo.menuExtras,
41731                        notDisabled = this.options.hideDisabled ? ".disabled" : "", posVert = function () {
41732                            selectOffsetTop = that.$newElement.offset().top - $window.scrollTop(), selectOffsetBot = $window.height() - selectOffsetTop - selectHeight
41733                        };
41734                    if (posVert(), "auto" === this.options.size) {
41735                        var getSize = function () {
41736                            var minHeight, hasClass = function (className, include) {
41737                                    return function (element) {
41738                                        return include ? element.classList ? element.classList.contains(className) : $(element).hasClass(className) : !(element.classList ? element.classList.contains(className) : $(element).hasClass(className))
41739                                    }
41740                                }, lis = that.$menuInner[0].getElementsByTagName("li"),
41741                                lisVisible = Array.prototype.filter ? Array.prototype.filter.call(lis, hasClass("hidden", !1)) : that.$lis.not(".hidden"),
41742                                optGroup = Array.prototype.filter ? Array.prototype.filter.call(lisVisible, hasClass("dropdown-header", !0)) : lisVisible.filter(".dropdown-header");
41743                            posVert(), menuHeight = selectOffsetBot - menuExtras, that.options.container ? ($menu.data("height") || $menu.data("height", $menu.height()), getHeight = $menu.data("height")) : getHeight = $menu.height(), that.options.dropupAuto && that.$newElement.toggleClass("dropup", selectOffsetTop > selectOffsetBot && getHeight > menuHeight - menuExtras), that.$newElement.hasClass("dropup") && (menuHeight = selectOffsetTop - menuExtras), minHeight = lisVisible.length + optGroup.length > 3 ? 3 * liHeight + menuExtras - 2 : 0, $menu.css({
41744                                "max-height": menuHeight + "px",
41745                                overflow: "hidden",
41746                                "min-height": minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight + "px"
41747                            }), $menuInner.css({
41748                                "max-height": menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding + "px",
41749                                "overflow-y": "auto",
41750                                "min-height": Math.max(minHeight - menuPadding, 0) + "px"
41751                            })
41752                        };
41753                        getSize(), this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize", getSize), $window.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize", getSize)
41754                    } else if (this.options.size && "auto" != this.options.size && this.$lis.not(notDisabled).length > this.options.size) {
41755                        var optIndex = this.$lis.not(".divider").not(notDisabled).children().slice(0, this.options.size).last().parent().index(),
41756                            divLength = this.$lis.slice(0, optIndex + 1).filter(".divider").length;
41757                        menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding, that.options.container ? ($menu.data("height") || $menu.data("height", $menu.height()), getHeight = $menu.data("height")) : getHeight = $menu.height(), that.options.dropupAuto && this.$newElement.toggleClass("dropup", selectOffsetTop > selectOffsetBot && getHeight > menuHeight - menuExtras), $menu.css({
41758                            "max-height": menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight + "px",
41759                            overflow: "hidden",
41760                            "min-height": ""
41761                        }), $menuInner.css({
41762                            "max-height": menuHeight - menuPadding + "px",
41763                            "overflow-y": "auto",
41764                            "min-height": ""
41765                        })
41766                    }
41767                }
41768            }
41768, setWidth: function () {
41769                if ("auto" === this.options.width) {
41770                    this.$menu.css("min-width", "0");
41771                    var $selectClone = this.$menu.parent().clone().appendTo("body"),
41772                        $selectClone2 = this.options.container ? this.$newElement.clone().appendTo("body") : $selectClone,
41773                        ulWidth = $selectClone.children(".dropdown-menu").outerWidth(),
41774                        btnWidth = $selectClone2.css("width", "auto").children("button").outerWidth();
41775                    $selectClone.remove(), $selectClone2.remove(), this.$newElement.css("width", Math.max(ulWidth, btnWidth) + "px")
41776                } else "fit" === this.options.width ? (this.$menu.css("min-width", ""), this.$newElement.css("width", "").addClass("fit-width")) : this.options.width ? (this.$menu.css("min-width", ""), this.$newElement.css("width", this.options.width)) : (this.$menu.css("min-width", ""), this.$newElement.css("width", ""));
41777                this.$newElement.hasClass("fit-width") && "fit" !== this.options.width && this.$newElement.removeClass("fit-width")
41778            }, selectPosition: function () {
41779                this.$bsContainer = $('<div class="bs-container" />');
41780                var pos, actualHeight, that = this, getPlacement = function ($element) {
41781                    that.$bsContainer.addClass($element.attr("class").replace(/form-control|fit-width/gi, "")).toggleClass("dropup", $element.hasClass("dropup")), pos = $element.offset(), actualHeight = $element.hasClass("dropup") ? 0 : $element[0].offsetHeight, that.$bsContainer.css({
41782                        top: pos.top + actualHeight,
41783                        left: pos.left,
41784                        width: $element[0].offsetWidth
41785                    })
41786                };
41787                this.$newElement.on("click", function () {
41788                    var $this = $(this);
41789                    that.isDisabled() || (getPlacement($this), that.$bsContainer.appendTo(that.options.container).toggleClass("open", !$this.hasClass("open")).append(that.$menu))
41790                }), $(window).on("resize scroll", function () {
41791                    getPlacement(that.$newElement)
41792                }), this.$element.on("hide.bs.select", function () {
41793                    that.$menu.data("height", that.$menu.height()), that.$bsContainer.detach()
41794                })
41795            }, setSelected: function (index, selected, $lis) {
41796                $lis || ($lis = this.findLis().eq(this.liObj[index])), $lis.toggleClass("selected", selected)
41797            }, setDisabled: function (index, disabled, $lis) {
41798                $lis || ($lis = this.findLis().eq(this.liObj[index])), disabled ? $lis.addClass("disabled").children("a").attr("href", "#").attr("tabindex", -1) : $lis.removeClass("disabled").children("a").removeAttr("href").attr("tabindex", 0)
41799            }, isDisabled: function () {
41800                return this.$element[0].disabled
41801            }, checkDisabled: function () {
41802                var that = this;
41803                this.isDisabled() ? (this.$newElement.addClass("disabled"), this.$button.addClass("disabled").attr("tabindex", -1)) : (this.$button.hasClass("disabled") && (this.$newElement.removeClass("disabled"), this.$button.removeClass("disabled")), -1 != this.$button.attr("tabindex") || this.$element.data("tabindex") || this.$button.removeAttr("tabindex")), this.$button.click(function () {
41804                    return !that.isDisabled()
41805                })
41806            }, tabIndex: function () {
41807                this.$element.is("[tabindex]") && (this.$element.data("tabindex", this.$element.attr("tabindex")),
41808                    this.$button.attr("tabindex", this.$element.data("tabindex")))
41809            }, clickListener: function () {
41810                var that = this, $document = $(document);
41811                this.$newElement.on("touchstart.dropdown", ".dropdown-menu", function (e) {
41812                    e.stopPropagation()
41813                }), $document.data("spaceSelect", !1), this.$button.on("keyup", function (e) {
41814                    /(32)/.test(e.keyCode.toString(10)) && $document.data("spaceSelect") && (e.preventDefault(), $document.data("spaceSelect", !1))
41815                }), this.$newElement.on("click", function () {
41816                    that.setSize(), that.$element.on("shown.bs.select", function () {
41817                        if (that.options.liveSearch || that.multiple) {
41818                            if (!that.multiple) {
41819                                var selectedIndex = that.liObj[that.$element[0].selectedIndex];
41820                                if ("number" != typeof selectedIndex || that.options.size === !1) return;
41821                                var offset = that.$lis.eq(selectedIndex)[0].offsetTop - that.$menuInner[0].offsetTop;
41822                                offset = offset - that.$menuInner[0].offsetHeight / 2 + that.sizeInfo.liHeight / 2, that.$menuInner[0].scrollTop = offset
41823                            }
41824                        } else that.$menuInner.find(".selected a").focus()
41825                    })
41826                }), this.$menuInner.on("click", "li a", function (e) {
41827                    var $this = $(this), clickedIndex = $this.parent().data("originalIndex"),
41828                        prevValue = that.$element.val(), prevIndex = that.$element.prop("selectedIndex");
41829                    if (that.multiple && e.stopPropagation(), e.preventDefault(), !that.isDisabled() && !$this.parent().hasClass("disabled")) {
41830                        var $options = that.$element.find("option"), $option = $options.eq(clickedIndex),
41831                            state = $option.prop("selected"), $optgroup = $option.parent("optgroup"),
41832                            maxOptions = that.options.maxOptions, maxOptionsGrp = $optgroup.data("maxOptions") || !1;
41833                        if (that.multiple) {
41834                            if ($option.prop("selected", !state), that.setSelected(clickedIndex, !state), $this.blur(), maxOptions !== !1 || maxOptionsGrp !== !1) {
41835                                var maxReached = maxOptions < $options.filter(":selected").length,
41836                                    maxReachedGrp = maxOptionsGrp < $optgroup.find("option:selected").length;
41837                                if (maxOptions && maxReached || maxOptionsGrp && maxReachedGrp) if (maxOptions && 1 == maxOptions) $options.prop("selected", !1), $option.prop("selected", !0), that.$menuInner.find(".selected").removeClass("selected"), that.setSelected(clickedIndex, !0); else if (maxOptionsGrp && 1 == maxOptionsGrp) {
41838                                    $optgroup.find("option:selected").prop("selected", !1), $option.prop("selected", !0);
41839                                    var optgroupID = $this.parent().data("optgroup");
41840                                    that.$menuInner.find('[data-optgroup="' + optgroupID + '"]').removeClass("selected"), that.setSelected(clickedIndex, !0)
41841                                } else {
41842                                    var maxOptionsArr = "function" == typeof that.options.maxOptionsText ? that.options.maxOptionsText(maxOptions, maxOptionsGrp) : that.options.maxOptionsText,
41843                                        maxTxt = maxOptionsArr[0].replace("{n}", maxOptions),
41844                                        maxTxtGrp = maxOptionsArr[1].replace("{n}", maxOptionsGrp),
41845                                        $notify = $('<div class="notify"></div>');
41846                                    maxOptionsArr[2] && (maxTxt = maxTxt.replace("{var}", maxOptionsArr[2][maxOptions > 1 ? 0 : 1]), maxTxtGrp = maxTxtGrp.replace("{var}", maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1])), $option.prop("selected", !1), that.$menu.append($notify), maxOptions && maxReached && ($notify.append($("<div>" + maxTxt + "</div>")), that.$element.trigger("maxReached.bs.select")), maxOptionsGrp && maxReachedGrp && ($notify.append($("<div>" + maxTxtGrp + "</div>")), that.$element.trigger("maxReachedGrp.bs.select")), setTimeout(function () {
41847                                        that.setSelected(clickedIndex, !1)
41848                                    }, 10), $notify.delay(750).fadeOut(300, function () {
41849                                        $(this).remove()
41850                                    })
41851                                }
41852                            }
41853                        } else $options.prop("selected", !1), $option.prop("selected", !0), that.$menuInner.find(".selected").removeClass("selected"), that.setSelected(clickedIndex, !0);
41854                        that.multiple ? that.options.liveSearch && that.$searchbox.focus() : that.$button.focus(), (prevValue != that.$element.val() && that.multiple || prevIndex != that.$element.prop("selectedIndex") && !that.multiple) && (that.$element.triggerNative("change"), that.$element.trigger("changed.bs.select", [clickedIndex, $option.prop("selected"), state]))
41855                    }
41856                }), this.$menu.on("click", "li.disabled a, .popover-title, .popover-title :not(.close)", function (e) {
41857                    e.currentTarget == this && (e.preventDefault(), e.stopPropagation(), that.options.liveSearch && !$(e.target).hasClass("close") ? that.$searchbox.focus() : that.$button.focus())
41858                }), this.$menuInner.on("click", ".divider, .dropdown-header", function (e) {
41859                    e.preventDefault(), e.stopPropagation(), that.options.liveSearch ? that.$searchbox.focus() : that.$button.focus()
41860                }), this.$menu.on("click", ".popover-title .close", function () {
41861                    that.$button.click()
41862                }), this.$searchbox.on("click", function (e) {
41863                    e.stopPropagation()
41864                }), this.$menu.on("click", ".actions-btn", function (e) {
41865                    that.options.liveSearch ? that.$searchbox.focus() : that.$button.focus(), e.preventDefault(), e.stopPropagation(), $(this).hasClass("bs-select-all") ? that.selectAll() : that.deselectAll(), that.$element.triggerNative("change")
41866                }), this.$element.change(function () {
41867                    that.render(!1)
41868                })
41869            }, liveSearchListener: function () {
41870                var that = this, $no_results = $('<li class="no-results"></li>');
41871                this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api", function () {
41872                    that.$menuInner.find(".active").removeClass("active"), that.$searchbox.val() && (that.$searchbox.val(""), that.$lis.not(".is-hidden").removeClass("hidden"), $no_results.parent().length && $no_results.remove()), that.multiple || that.$menuInner.find(".selected").addClass("active"), setTimeout(function () {
41873                        that.$searchbox.focus()
41874                    }, 10)
41875                }), this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api", function (e) {
41876                    e.stopPropagation()
41877                }), this.$searchbox.on("input propertychange", function () {
41878                    if (that.$searchbox.val()) {
41879                        var $searchBase = that.$lis.not(".is-hidden").removeClass("hidden").children("a");
41880                        $searchBase = that.options.liveSearchNormalize ? $searchBase.not(":a" + that._searchStyle() + '("' + normalizeToBase(that.$searchbox.val()) + '")') : $searchBase.not(":" + that._searchStyle() + '("' + that.$searchbox.val() + '")'), $searchBase.parent().addClass("hidden"), that.$lis.filter(".dropdown-header").each(function () {
41881                            var $this = $(this), optgroup = $this.data("optgroup");
41882                            0 === that.$lis.filter("[data-optgroup=" + optgroup + "]").not($this).not(".hidden").length && ($this.addClass("hidden"), that.$lis.filter("[data-optgroup=" + optgroup + "div]").addClass("hidden"))
41883                        });
41884                        var $lisVisible = that.$lis.not(".hidden");
41885                        $lisVisible.each(function (index) {
41886                            var $this = $(this);
41887                            $this.hasClass("divider") && ($this.index() === $lisVisible.first().index() || $this.index() === $lisVisible.last().index() || $lisVisible.eq(index + 1).hasClass("divider")) && $this.addClass("hidden")
41888                        }), that.$lis.not(".hidden, .no-results").length ? $no_results.parent().length && $no_results.remove() : ($no_results.parent().length && $no_results.remove(), $no_results.html(that.options.noneResultsText.replace("{0}", '"' + htmlEscape(that.$searchbox.val()) + '"')).show(), that.$menuInner.append($no_results))
41889                    } else that.$lis.not(".is-hidden").removeClass("hidden"), $no_results.parent().length && $no_results.remove();
41890                    that.$lis.filter(".active").removeClass("active"), that.$searchbox.val() && that.$lis.not(".hidden, .divider, .dropdown-header").eq(0).addClass("active").children("a").focus(), $(this).focus()
41891                })
41892            }, _searchStyle: function () {
41893                var styles = {begins: "ibegins", startsWith: "ibegins"};
41894                return styles[this.options.liveSearchStyle] || "icontains"
41895            }, val: function (value) {
41896                return "undefined" != typeof value ? (this.$element.val(value), this.render(), this.$element) : this.$element.val()
41897            }, changeAll: function (status) {
41898                "undefined" == typeof status && (status = !0), this.findLis();
41899                for (var $options = this.$element.find("option"), $lisVisible = this.$lis.not(".divider, .dropdown-header, .disabled, .hidden").toggleClass("selected", status), lisVisLen = $lisVisible.length, selectedOptions = [], i = 0; lisVisLen > i; i++) {
41900                    var origIndex = $lisVisible[i].getAttribute("data-original-index");
41901                    selectedOptions[selectedOptions.length] = $options.eq(origIndex)[0]
41902                }
41903                $(selectedOptions).prop("selected", status), this.render(!1)
41904            }, selectAll: function () {
41905                return this.changeAll(!0)
41906            }, deselectAll: function () {
41907                return this.changeAll(!1)
41908            }, keydown: function (e) {
41909                var $items, index, next, first, last, prev, nextPrev, prevIndex, isActive, $this 
41909= $(this),
41910                    $parent = $this.is("input") ? $this.parent().parent() : $this.parent(), that = $parent.data("this"),
41911                    selector = ":not(.disabled, .hidden, .dropdown-header, .divider)", keyCodeMap = {
41912                        32: " ",
41913                        48: "0",
41914                        49: "1",
41915                        50: "2",
41916                        51: "3",
41917                        52: "4",
41918                        53: "5",
41919                        54: "6",
41920                        55: "7",
41921                        56: "8",
41922                        57: "9",
41923                        59: ";",
41924                        65: "a",
41925                        66: "b",
41926                        67: "c",
41927                        68: "d",
41928                        69: "e",
41929                        70: "f",
41930                        71: "g",
41931                        72: "h",
41932                        73: "i",
41933                        74: "j",
41934                        75: "k",
41935                        76: "l",
41936                        77: "m",
41937                        78: "n",
41938                        79: "o",
41939                        80: "p",
41940                        81: "q",
41941                        82: "r",
41942                        83: "s",
41943                        84: "t",
41944                        85: "u",
41945                        86: "v",
41946                        87: "w",
41947                        88: "x",
41948                        89: "y",
41949                        90: "z",
41950                        96: "0",
41951                        97: "1",
41952                        98: "2",
41953                        99: "3",
41954                        100: "4",
41955                        101: "5",
41956                        102: "6",
41957                        103: "7",
41958                        104: "8",
41959                        105: "9"
41960                    };
41961                if (that.options.liveSearch && ($parent = $this.parent().parent()), that.options.container && ($parent = that.$menu), $items = $("[role=menu] li", $parent), isActive = that.$menu.parent().hasClass("open"), !isActive && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode >= 65 && e.keyCode <= 90) && (that.options.container ? that.$newElement.trigger("click") : (that.setSize(), that.$menu.parent().addClass("open"), isActive = !0), that.$searchbox.focus()), that.options.liveSearch && (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && 0 === that.$menu.find(".active").length && (e.preventDefault(), that.$menu.parent().removeClass("open"), that.options.container && that.$newElement.removeClass("open"), that.$button.focus()), $items = $("[role=menu] li" + selector, $parent), $this.val() || /(38|40)/.test(e.keyCode.toString(10)) || 0 === $items.filter(".active").length && ($items = that.$menuInner.find("li"), $items = that.options.liveSearchNormalize ? $items.filter(":a" + that._searchStyle() + "(" + normalizeToBase(keyCodeMap[e.keyCode]) + ")") : $items.filter(":" + that._searchStyle() + "(" + keyCodeMap[e.keyCode] + ")"))), $items.length) {
41962                    if (/(38|40)/.test(e.keyCode.toString(10))) index = $items.index($items.find("a").filter(":focus").parent()), first = $items.filter(selector).first().index(), last = $items.filter(selector).last().index(), next = $items.eq(index).nextAll(selector).eq(0).index(), prev = $items.eq(index).prevAll(selector).eq(0).index(), nextPrev = $items.eq(next).prevAll(selector).eq(0).index(), that.options.liveSearch && ($items.each(function (i) {
41963                        $(this).hasClass("disabled") || $(this).data("index", i)
41964                    }), index = $items.index($items.filter(".active")), first = $items.first().data("index"), last = $items.last().data("index"), next = $items.eq(index).nextAll().eq(0).data("index"), prev = $items.eq(index).prevAll().eq(0).data("index"), nextPrev = $items.eq(next).prevAll().eq(0).data("index")), prevIndex = $this.data("prevIndex"), 38 == e.keyCode ? (that.options.liveSearch && index--, index != nextPrev && index > prev && (index = prev), first > index && (index = first), index == prevIndex && (index = last)) : 40 == e.keyCode && (that.options.liveSearch && index++, -1 == index && (index = 0), index != nextPrev && next > index && (index = next), index > last && (index = last), index == prevIndex && (index = first)), $this.data("prevIndex", index), that.options.liveSearch ? (e.preventDefault(), $this.hasClass("dropdown-toggle") || ($items.removeClass("active").eq(index).addClass("active").children("a").focus(), $this.focus())) : $items.eq(index).children("a").focus(); else if (!$this.is("input")) {
41965                        var count, prevKey, keyIndex = [];
41966                        $items.each(function () {
41967                            $(this).hasClass("disabled") || $.trim($(this).children("a").text().toLowerCase()).substring(0, 1) == keyCodeMap[e.keyCode] && keyIndex.push($(this).index())
41968                        }), count = $(document).data("keycount"), count++, $(document).data("keycount", count), prevKey = $.trim($(":focus").text().toLowerCase()).substring(0, 1), prevKey != keyCodeMap[e.keyCode] ? (count = 1, $(document).data("keycount", count)) : count >= keyIndex.length && ($(document).data("keycount", 0), count > keyIndex.length && (count = 1)), $items.eq(keyIndex[count - 1]).children("a").focus()
41969                    }
41970                    if ((/(13|32)/.test(e.keyCode.toString(10)) || /(^9$)/.test(e.keyCode.toString(10)) && that.options.selectOnTab) && isActive) {
41971                        if (/(32)/.test(e.keyCode.toString(10)) || e.preventDefault(), that.options.liveSearch) /(32)/.test(e.keyCode.toString(10)) || (that.$menuInner.find(".active a").click(), $this.focus()); else {
41972                            var elem = $(":focus");
41973                            elem.click(), elem.focus(), e.preventDefault(), $(document).data("spaceSelect", !0)
41974                        }
41975                        $(document).data("keycount", 0)
41976                    }
41977                    (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && (that.multiple || that.options.liveSearch) || /(27)/.test(e.keyCode.toString(10)) && !isActive) && (that.$menu.parent().removeClass("open"), that.options.container && that.$newElement.removeClass("open"), that.$button.focus())
41978                }
41979            }, mobile: function () {
41980                this.$element.addClass("mobile-device").appendTo(this.$newElement), this.options.container && this.$menu.hide()
41981            }, refresh: function () {
41982                this.$lis = null, this.liObj = {}, this.reloadLi(), this.render(), this.checkDisabled(), this.liHeight(!0), this.setStyle(), this.setWidth(), this.$lis && this.$searchbox.trigger("propertychange"), this.$element.trigger("refreshed.bs.select")
41983            }, hide: function () {
41984                this.$newElement.hide()
41985            }, show: function () {
41986                this.$newElement.show()
41987            }, remove: function () {
41988                this.$newElement.remove(), this.$element.remove()
41989            }, destroy: function () {
41990                this.$newElement.remove(), this.$bsContainer ? this.$bsContainer.remove() : this.$menu.remove(), this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")
41991            }
41992        };
41993        var old = $.fn.selectpicker;
41994        $.fn.selectpicker = Plugin, $.fn.selectpicker.Constructor = Selectpicker, $.fn.selectpicker.noConflict = function () {
41995            return $.fn.selectpicker = old, this
41996        }, $(document).data("keycount", 0).on("keydown.bs.select", '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input', Selectpicker.prototype.keydown).on("focusin.modal", '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input', function (e) {
41997            e.stopPropagation()
41998        }), $(window).on("load.bs.select.data-api", function () {
41999            $(".selectpicker").each(function () {
42000                var $selectpicker = $(this);
42001                Plugin.call($selectpicker, $selectpicker.data())
42002            })
42003        })
42004    }(jQuery)
42005}), function (window) {
42006    function isArraylike(obj) {
42007        var length = obj.length, type = $.type(obj);
42008        return "function" === type || $.isWindow(obj) ? !1 : 1 === obj.nodeType && length ? !0 : "array" === type || 0 === length || "number" == typeof length && length > 0 && length - 1 in obj
42009    }
42010
42011    if (!window.jQuery) {
42012        var $ = function (selector, context) {
42013            return new $.fn.init(selector, context)
42014        };
42015        $.isWindow = function (obj) {
42016            return null != obj && obj == obj.window
42017        }, $.type = function (obj) {
42018            return null == obj ? obj + "" : "object" == typeof obj || "function" == typeof obj ? class2type[toString.call(obj)] || "object" : typeof obj
42019        }, $.isArray = Array.isArray || function (obj) {
42020            return "array" === $.type(obj)
42021        }, $.isPlainObject = function (obj) {
42022            var key;
42023            if (!obj || "object" !== $.type(obj) || obj.nodeType || $.isWindow(obj)) return !1;
42024            try {
42025                if (obj.constructor && !hasOwn.call(obj, "constructor") && !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) return !1
42026            } catch (e) {
42027                return !1
42028            }
42029            for (key in obj) ;
42030            return void 0 === key || hasOwn.call(obj, key)
42031        }, $.each = function (obj, callback, args) {
42032            var value, i = 0, length = obj.length, isArray = isArraylike(obj);
42033            if (args) {
42034                if (isArray) for (; length > i && (value = callback.apply(obj[i], args), value !== !1); i++) ; else for (i in obj) if (value = callback.apply(obj[i], args), value === !1) break
42035            } else if (isArray) for (; length > i && (value = callback.call(obj[i], i, obj[i]), value !== !1); i++) ; else for (i in obj) if (value = callback.call(obj[i], i, obj[i]), value === !1) break;
42036            return obj
42037        }, $.data = function (node, key, value) {
42038            if (void 0 === value) {
vendor: 79,673 bytes, lines 42039-43008
42039                var id = node[$.expando], store = id && cache[id];
42040                if (void 0 === key) return store;
42041                if (store && key in store) return store[key]
42042            } else if (void 0 !== key) {
42043                var id = node[$.expando] || (node[$.expando] = ++$.uuid);
42044                return cache[id] = cache[id] || {}, cache[id][key] = value, value
42045            }
42046        }, $.removeData = function (node, keys) {
42047            var id = node[$.expando], store = id && cache[id];
42048            store && $.each(keys, function (_, key) {
42049                delete store[key]
42050            })
42051        }, $.extend = function () {
42052            var src, copyIsArray, copy, name, options, clone, target = arguments[0] || {}, i = 1,
42053                length = arguments.length, deep = !1;
42054            for ("boolean" == typeof target && (deep = target, target = arguments[i] || {}, i++), "object" != typeof target && "function" !== $.type(target) && (target = {}), i === length && (target = this, i--); length > i; i++) if (null != (options = arguments[i])) for (name in options) src = target[name], copy = options[name], target !== copy && (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy))) ? (copyIsArray ? (copyIsArray = !1, clone = src && $.isArray(src) ? src : []) : clone = src && $.isPlainObject(src) ? src : {}, target[name] = $.extend(deep, clone, copy)) : void 0 !== copy && (target[name] = copy));
42055            return target
42056        }, $.queue = function (elem, type, data) {
42057            function $makeArray(arr, results) {
42058                var ret = results || [];
42059                return null != arr && (isArraylike(Object(arr)) ? !function (first, second) {
42060                    for (var len = +second.length, j = 0, i = first.length; len > j;) first[i++] = second[j++];
42061                    if (len !== len) for (; void 0 !== second[j];) first[i++] = second[j++];
42062                    return first.length = i, first
42063                }(ret, "string" == typeof arr ? [arr] : arr) : [].push.call(ret, arr)), ret
42064            }
42065
42066            if (elem) {
42067                type = (type || "fx") + "queue";
42068                var q = $.data(elem, type);
42069                return data ? (!q || $.isArray(data) ? q = $.data(elem, type, $makeArray(data)) : q.push(data), q) : q || []
42070            }
42071        }, $.dequeue = function (elems, type) {
42072            $.each(elems.nodeType ? [elems] : elems, function (i, elem) {
42073                type = type || "fx";
42074                var queue = $.queue(elem, type), fn = queue.shift();
42075                "inprogress" === fn && (fn = queue.shift()), fn && ("fx" === type && queue.unshift("inprogress"), fn.call(elem, function () {
42076                    $.dequeue(elem, type)
42077                }))
42078            })
42079        }, $.fn = $.prototype = {
42080            init: function (selector) {
42081                if (selector.nodeType) return this[0] = selector, this;
42082                throw new Error("Not a DOM node.")
42083            }, offset: function () {
42084                var box = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : {top: 0, left: 0};
42085                return {
42086                    top: box.top + (window.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0),
42087                    left: box.left + (window.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0)
42088                }
42089            }, position: function () {
42090                function offsetParent() {
42091                    for (var offsetParent = this.offsetParent || document; offsetParent && "html" === !offsetParent.nodeType.toLowerCase && "static" === offsetParent.style.position;) offsetParent = offsetParent.offsetParent;
42092                    return offsetParent || document
42093                }
42094
42095                var elem = this[0], offsetParent = offsetParent.apply(elem), offset = this.offset(),
42096                    parentOffset = /^(?:body|html)$/i.test(offsetParent.nodeName) ? {
42097                        top: 0,
42098                        left: 0
42099                    } : $(offsetParent).offset();
42100                return offset.top -= parseFloat(elem.style.marginTop) || 0, offset.left -= parseFloat(elem.style.marginLeft) || 0, offsetParent.style && (parentOffset.top += parseFloat(offsetParent.style.borderTopWidth) || 0, parentOffset.left += parseFloat(offsetParent.style.borderLeftWidth) || 0), {
42101                    top: offset.top - parentOffset.top,
42102                    left: offset.left - parentOffset.left
42103                }
42104            }
42105        };
42106        var cache = {};
42107        $.expando = "velocity" + (new Date).getTime(), $.uuid = 0;
42108        for (var class2type = {}, hasOwn = class2type.hasOwnProperty, toString = class2type.toString, types = "Boolean Number String Function Array Date RegExp Object Error".split(" "), i = 0; i < types.length; i++) class2type["[object " + types[i] + "]"] = types[i].toLowerCase();
42109        $.fn.init.prototype = $.fn, window.Velocity = {Utilities: $}
42110    }
42111}(window), function (factory) {
42112    "object" == typeof module && "object" == typeof module.exports ? module.exports = factory() : "function" == typeof define && define.amd ? define(factory) : factory()
42113}(function () {
42114    return function (global, window, document, undefined) {
42115        function compactSparseArray(array) {
42116            for (var index = -1, length = array ? array.length : 0, result = []; ++index < length;) {
42117                var value = array[index];
42118                value && result.push(value)
42119            }
42120            return result
42121        }
42122
42123        function sanitizeElements(elements) {
42124            return Type.isWrapped(elements) ? elements = [].slice.call(elements) : Type.isNode(elements) && (elements = [elements]), elements
42125        }
42126
42127        function Data(element) {
42128            var response = $.data(element, "velocity");
42129            return null === response ? undefined : response
42130        }
42131
42132        function generateStep(steps) {
42133            return function (p) {
42134                return Math.round(p * steps) * (1 / steps)
42135            }
42136        }
42137
42138        function generateBezier(mX1, mY1, mX2, mY2) {
42139            function A(aA1, aA2) {
42140                return 1 - 3 * aA2 + 3 * aA1
42141            }
42142
42143            function B(aA1, aA2) {
42144                return 3 * aA2 - 6 * aA1
42145            }
42146
42147            function C(aA1) {
42148                return 3 * aA1
42149            }
42150
42151            function calcBezier(aT, aA1, aA2) {
42152                return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT
42153            }
42154
42155            function getSlope(aT, aA1, aA2) {
42156                return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1)
42157            }
42158
42159            function newtonRaphsonIterate(aX, aGuessT) {
42160                for (var i = 0; NEWTON_ITERATIONS > i; ++i) {
42161                    var currentSlope = getSlope(aGuessT, mX1, mX2);
42162                    if (0 === currentSlope) return aGuessT;
42163                    var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
42164                    aGuessT -= currentX / currentSlope
42165                }
42166                return aGuessT
42167            }
42168
42169            function calcSampleValues() {
42170                for (var i = 0; kSplineTableSize > i; ++i) mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2)
42171            }
42172
42173            function binarySubdivide(aX, aA, aB) {
42174                var currentX, currentT, i = 0;
42175                do currentT = aA + (aB - aA) / 2, currentX = calcBezier(currentT, mX1, mX2) - aX, currentX > 0 ? aB = currentT : aA = currentT; while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
42176                return currentT
42177            }
42178
42179            function getTForX(aX) {
42180                for (var intervalStart = 0, currentSample = 1, lastSample = kSplineTableSize - 1; currentSample != lastSample && mSampleValues[currentSample] <= aX; ++currentSample) intervalStart += kSampleStepSize;
42181                --currentSample;
42182                var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]),
42183                    guessForT = intervalStart + dist * kSampleStepSize, initialSlope = getSlope(guessForT, mX1, mX2);
42184                return initialSlope >= NEWTON_MIN_SLOPE ? newtonRaphsonIterate(aX, guessForT) : 0 == initialSlope ? guessForT : binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize)
42185            }
42186
42187            function precompute() {
42188                _precomputed = !0, (mX1 != mY1 || mX2 != mY2) && calcSampleValues()
42189            }
42190
42191            var NEWTON_ITERATIONS = 4, NEWTON_MIN_SLOPE = .001, SUBDIVISION_PRECISION = 1e-7,
42192                SUBDIVISION_MAX_ITERATIONS = 10, kSplineTableSize = 11, kSampleStepSize = 1 / (kSplineTableSize - 1),
42193                float32ArraySupported = "Float32Array" in window;
42194            if (4 !== arguments.length) return !1;
42195            for (var i = 0; 4 > i; ++i) if ("number" != typeof arguments[i] || isNaN(arguments[i]) || !isFinite(arguments[i])) return !1;
42196            mX1 = Math.min(mX1, 1), mX2 = Math.min(mX2, 1), mX1 = Math.max(mX1, 0), mX2 = Math.max(mX2, 0);
42197            var mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize),
42198                _precomputed = !1, f = function (aX) {
42199                    return _precomputed || precompute(), mX1 === mY1 && mX2 === mY2 ? aX : 0 === aX ? 0 : 1 === aX ? 1 : calcBezier(getTForX(aX), mY1, mY2)
42200                };
42201            f.getControlPoints = function () {
42202                return [{x: mX1, y: mY1}, {x: mX2, y: mY2}]
42203            };
42204            var str = "generateBezier(" + [mX1, mY1, mX2, mY2] + ")";
42205            return f.toString = function () {
42206                return str
42207            }, f
42208        }
42209
42210        function getEasing(value, duration) {
42211            var easing = value;
42212            return Type.isString(value) ? Velocity.Easings[value] || (easing = !1) : easing = Type.isArray(value) && 1 === value.length ? generateStep.apply(null, value) : Type.isArray(value) && 2 === value.length ? generateSpringRK4.apply(null, value.concat([duration])) : Type.isArray(value) && 4 === value.length ? generateBezier.apply(null, value) : !1, easing === !1 && (easing = Velocity.Easings[Velocity.defaults.easing] ? Velocity.defaults.easing : EASING_DEFAULT), easing
42213        }
42214
42215        function tick(timestamp) {
42216            if (timestamp) {
42217                var timeCurrent = (new Date).getTime(), callsLength = Velocity.State.calls.length;
42218                callsLength > 1e4 && (Velocity.State.calls = compactSparseArray(Velocity.State.calls));
42219                for (var i = 0; callsLength > i; i++) if (Velocity.State.calls[i]) {
42220                    var callContainer = Velocity.State.calls[i], call = callContainer[0], opts = callContainer[2],
42221                        timeStart = callContainer[3], firstTick = !!timeStart, tweenDummyValue = null;
42222                    timeStart || (timeStart = Velocity.State.calls[i][3] = timeCurrent - 16);
42223                    for (var percentComplete = Math.min((timeCurrent - timeStart) / opts.duration, 1), j = 0, callLength = call.length; callLength > j; j++) {
42224                        var tweensContainer = call[j], element = tweensContainer.element;
42225                        if (Data(element)) {
42226                            var transformPropertyExists = !1;
42227                            if (opts.display !== undefined && null !== opts.display && "none" !== opts.display) {
42228                                if ("flex" === opts.display) {
42229                                    var flexValues = ["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"];
42230                                    $.each(flexValues, function (i, flexValue) {
42231                                        CSS.setPropertyValue(element, "display", flexValue)
42232                                    })
42233                                }
42234                                CSS.setPropertyValue(element, "display", opts.display)
42235                            }
42236                            opts.visibility !== undefined && "hidden" !== opts.visibility && CSS.setPropertyValue(element, "visibility", opts.visibility);
42237                            for (var property in tweensContainer) if ("element" !== property) {
42238                                var currentValue, tween = tweensContainer[property],
42239                                    easing = Type.isString(tween.easing) ? Velocity.Easings[tween.easing] : tween.easing;
42240                                if (1 === percentComplete) currentValue = tween.endValue; else {
42241                                    var tweenDelta = tween.endValue - tween.startValue;
42242                                    if (currentValue = tween.startValue + tweenDelta * easing(percentComplete, opts, tweenDelta), !firstTick && currentValue === tween.currentValue) continue
42243                                }
42244                                if (tween.currentValue = currentValue, "tween" === property) tweenDummyValue = currentValue; else {
42245                                    if (CSS.Hooks.registered[property]) {
42246                                        var hookRoot = CSS.Hooks.getRoot(property),
42247                                            rootPropertyValueCache = Data(element).rootPropertyValueCache[hookRoot];
42248                                        rootPropertyValueCache && (tween.rootPropertyValue = rootPropertyValueCache)
42249                                    }
42250                                    var adjustedSetData = CSS.setPropertyValue(element, property, tween.currentValue + (0 === parseFloat(currentValue) ? "" : tween.unitType), tween.rootPropertyValue, tween.scrollData);
42251                                    CSS.Hooks.registered[property] && (CSS.Normalizations.registered[hookRoot] ? Data(element).rootPropertyValueCache[hookRoot] = CSS.Normalizations.registered[hookRoot]("extract", null, adjustedSetData[1]) : Data(element).rootPropertyValueCache[hookRoot] = adjustedSetData[1]), "transform" === adjustedSetData[0] && (transformPropertyExists = !0)
42252                                }
42253                            }
42254                            opts.mobileHA && Data(element).transformCache.translate3d === undefined && (Data(element).transformCache.translate3d = "(0px, 0px, 0px)", transformPropertyExists = !0), transformPropertyExists && CSS.flushTransformCache(element)
42255                        }
42256                    }
42257                    opts.display !== undefined && "none" !== opts.display && (Velocity.State.calls[i][2].display = !1), opts.visibility !== undefined && "hidden" !== opts.visibility && (Velocity.State.calls[i][2].visibility = !1), opts.progress && opts.progress.call(callContainer[1], callContainer[1], percentComplete, Math.max(0, timeStart + opts.duration - timeCurrent), timeStart, tweenDummyValue), 1 === percentComplete && completeCall(i)
42258                }
42259            }
42260            Velocity.State.isTicking && ticker(tick)
42261        }
42262
42263        function completeCall(callIndex, isStopped) {
42264            if (!Velocity.State.calls[callIndex]) return !1;
42265            for (var call = Velocity.State.calls[callIndex][0], elements = Velocity.State.calls[callIndex][1], opts = Velocity.State.calls[callIndex][2], resolver = Velocity.State.calls[callIndex][4], remainingCallsExist = !1, i = 0, callLength = call.length; callLength > i; i++) {
42266                var element = call[i].element;
42267                if (isStopped || opts.loop || ("none" === opts.display && CSS.setPropertyValue(element, "display", opts.display), "hidden" === opts.visibility && CSS.setPropertyValue(element, "visibility", opts.visibility)), opts.loop !== !0 && ($.queue(element)[1] === undefined || !/\.velocityQueueEntryFlag/i.test($.queue(element)[1])) && Data(element)) {
42268                    Data(element).isAnimating = !1, Data(element).rootPropertyValueCache = {};
42269                    var transformHAPropertyExists = !1;
42270                    $.each(CSS.Lists.transforms3D, function (i, transformName) {
42271                        var defaultValue = /^scale/.test(transformName) ? 1 : 0,
42272                            currentValue = Data(element).transformCache[transformName];
42273                        Data(element).transformCache[transformName] !== undefined && new RegExp("^\\(" + defaultValue + "[^.]").test(currentValue) && (transformHAPropertyExists = !0, delete Data(element).transformCache[transformName])
42274                    }), opts.mobileHA && (transformHAPropertyExists = !0, delete Data(element).transformCache.translate3d), transformHAPropertyExists && CSS.flushTransformCache(element), CSS.Values.removeClass(element, "velocity-animating")
42275                }
42276                if (!isStopped && opts.complete && !opts.loop && i === callLength - 1) try {
42277                    opts.complete.call(elements, elements)
42278                } catch (error) {
42279                    setTimeout(function () {
42280                        throw error
42281                    }, 1)
42282                }
42283                resolver && opts.loop !== !0 && resolver(elements), Data(element) && opts.loop === !0 && !isStopped && ($.each(Data(element).tweensContainer, function (propertyName, tweenContainer) {
42284                    /^rotate/.test(propertyName) && 360 === parseFloat(tweenContainer.endValue) && (tweenContainer.endValue = 0, tweenContainer.startValue = 360), /^backgroundPosition/.test(propertyName) && 100 === parseFloat(tweenContainer.endValue) && "%" === tweenContainer.unitType && (tweenContainer.endValue = 0, tweenContainer.startValue = 100)
42285                }), Velocity(element, "reverse", {
42286                    loop: !0,
42287                    delay: opts.delay
42288                })), opts.queue !== !1 && $.dequeue(element, opts.queue)
42289            }
42290            Velocity.State.calls[callIndex] = !1;
42291            for (var j = 0, callsLength = Velocity.State.calls.length; callsLength > j; j++) if (Velocity.State.calls[j] !== !1) {
42292                remainingCallsExist = !0;
42293                break
42294            }
42295            remainingCallsExist === !1 && (Velocity.State.isTicking = !1, delete Velocity.State.calls, Velocity.State.calls = [])
42296        }
42297
42298        var $, IE = function () {
42299            if (document.documentMode) return document.documentMode;
42300            for (var i = 7; i > 4; i--) {
42301                var div = document.createElement("div");
42302                if (div.innerHTML = "<!--[if IE " + i + "]><span></span><![endif]-->", div.getElementsByTagName("span").length) return div = null, i
42303            }
42304            return undefined
42305        }(), rAFShim = function () {
42306            var timeLast = 0;
42307            return window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (callback) {
42308                var timeDelta, timeCurrent = (new Date).getTime();
42309                return timeDelta = Math.max(0, 16 - (timeCurrent - timeLast)), timeLast = timeCurrent + timeDelta, setTimeout(function () {
42310                    callback(timeCurrent + timeDelta)
42311                }, timeDelta)
42312            }
42313        }(), Type = {
42314            isString: function (variable) {
42315                return "string" == typeof variable
42316            }, isArray: Array.isArray || function (variable) {
42317                return "[object Array]" === Object.prototype.toString.call(variable)
42318            }, isFunction: function (variable) {
42319                return "[object Function]" === Object.prototype.toString.call(variable)
42320            }, isNode: function (variable) {
42321                return variable && variable.nodeType
42322            }, isNodeList: function (variable) {
42323                return "object" == typeof variable && /^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(variable)) && variable.length !== undefined && (0 === variable.length || "object" == typeof variable[0] && variable[0].nodeType > 0)
42324            }, isWrapped: function (variable) {
42325                return variable && (variable.jquery || window.Zepto && window.Zepto.zepto.isZ(variable))
42326            }, isSVG: function (variable) {
42327                return window.SVGElement && variable instanceof window.SVGElement
42328            }, isEmptyObject: function (variable) {
42329                for (var name in variable) return !1;
42330                return !0
42331            }
42332        }, isJQuery = !1;
42333        if (global.fn && global.fn.jquery ? ($ = global, isJQuery = !0) : $ = window.Velocity.Utilities, 8 >= IE && !isJQuery) throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");
42334        if (7 >= IE) return void (jQuery.fn.velocity = jQuery.fn.animate);
42335        var DURATION_DEFAULT = 400, EASING_DEFAULT = "swing", Velocity = {
42336            State: {
42337                isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
42338                isAndroid: /Android/i.test(navigator.userAgent),
42339                isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent),
42340                isChrome: window.chrome,
42341                isFirefox: /Firefox/i.test(navigator.userAgent),
42342                prefixElement: document.createElement("div"),
42343                prefixMatches: {},
42344                scrollAnchor: null,
42345                scrollPropertyLeft: null,
42346                scrollPropertyTop: null,
42347                isTicking: !1,
42348                calls: []
42349            },
42350            CSS: {},
42351            Utilities: $,
42352            Redirects: {},
42353            Easings: {},
42354            Promise: window.Promise,
42355            defaults: {
42356                queue: "",
42357                duration: DURATION_DEFAULT,
42358                easing: EASING_DEFAULT,
42359                begin: undefined,
42360                complete: undefined,
42361                progress: undefined,
42362                display: undefined,
42363                visibility: undefined,
42364                loop: !1,
42365                delay: !1,
42366                mobileHA: !0,
42367                _cacheValues: !0
42368            },
42369            init: function (element) {
42370                $.data(element, "velocity", {
42371                    isSVG: Type.isSVG(element),
42372                    isAnimating: !1,
42373                    computedStyle: null,
42374                    tweensContainer: null,
42375                    rootPropertyValueCache: {},
42376                    transformCache: {}
42377                })
42378            },
42379            hook: null,
42380            mock: !1,
42381            version: {major: 1, minor: 2, patch: 2},
42382            debug: !1
42383        };
42384        window.pageYOffset !== undefined ? (Velocity.State.scrollAnchor = window, Velocity.State.scrollPropertyLeft = "pageXOffset", Velocity.State.scrollPropertyTop = "pageYOffset") : (Velocity.State.scrollAnchor = document.documentElement || document.body.parentNode || document.body, Velocity.State.scrollPropertyLeft = "scrollLeft", Velocity.State.scrollPropertyTop = "scrollTop");
42385        var generateSpringRK4 = function () {
42386            function springAccelerationForState(state) {
42387                return -state.tension * state.x - state.friction * state.v
42388            }
42389
42390            function springEvaluateStateWithDerivative(initialState, dt, derivative) {
42391                var state = {
42392                    x: initialState.x + derivative.dx * dt,
42393                    v: initialState.v + derivative.dv * dt,
42394                    tension: initialState.tension,
42395                    friction: initialState.friction
42396                };
42397                return {dx: state.v, dv: springAccelerationForState(state)}
42398            }
42399
42400            function springIntegrateState(state, dt) {
42401                var a = {dx: state.v, dv: springAccelerationForState(state)},
42402                    b = springEvaluateStateWithDerivative(state, .5 * dt, a),
42403                    c = springEvaluateStateWithDerivative(state, .5 * dt, b),
42404                    d = springEvaluateStateWithDerivative(state, dt, c),
42405                    dxdt = 1 / 6 * (a.dx + 2 * (b.dx + c.dx) + d.dx), dvdt = 1 / 6 * (a.dv + 2 * (b.dv + c.dv) + d.dv);
42406                return state.x = state.x + dxdt * dt, state.v = state.v + dvdt * dt, state
42407            }
42408
42409            return function springRK4Factory(tension, friction, duration) {
42410                var have_duration, dt, last_state, initState = {x: -1, v: 0, tension: null, friction: null}, path = [0],
42411                    time_lapsed = 0, tolerance = 1e-4, DT = .016;
42412                for (tension = parseFloat(tension) || 500, friction = parseFloat(friction) || 20, duration = duration || null, initState.tension = tension, initState.friction = friction, have_duration = null !== duration, have_duration ? (time_lapsed = springRK4Factory(tension, friction), dt = time_lapsed / duration * DT) : dt = DT; ;) if (last_state = springIntegrateState(last_state || initState, dt), path.push(1 + last_state.x), time_lapsed += 16, !(Math.abs(last_state.x) > tolerance && Math.abs(last_state.v) > tolerance)) break;
42413                return have_duration ? function (percentComplete) {
42414                    return path[percentComplete * (path.length - 1) | 0]
42415                } : time_lapsed
42416            }
42417        }();
42418        Velocity.Easings = {
42419            linear: function (p) {
42420                return p
42421            }, swing: function (p) {
42422                return .5 - Math.cos(p * Math.PI) / 2
42423            }, spring: function (p) {
42424                return 1 - Math.cos(4.5 * p * Math.PI) * Math.exp(6 * -p)
42425            }
42426        }, $.each([["ease", [.25, .1, .25, 1]], ["ease-in", [.42, 0, 1, 1]], ["ease-out", [0, 0, .58, 1]], ["ease-in-out", [.42, 0, .58, 1]], ["easeInSine", [.47, 0, .745, .715]], ["easeOutSine", [.39, .575, .565, 1]], ["easeInOutSine", [.445, .05, .55, .95]], ["easeInQuad", [.55, .085, .68, .53]], ["easeOutQuad", [.25, .46, .45, .94]], ["easeInOutQuad", [.455, .03, .515, .955]], ["easeInCubic", [.55, .055, .675, .19]], ["easeOutCubic", [.215, .61, .355, 1]], ["easeInOutCubic", [.645, .045, .355, 1]], ["easeInQuart", [.895, .03, .685, .22]], ["easeOutQuart", [.165, .84, .44, 1]], ["easeInOutQuart", [.77, 0, .175, 1]], ["easeInQuint", [.755, .05, .855, .06]], ["easeOutQuint", [.23, 1, .32, 1]], ["easeInOutQuint", [.86, 0, .07, 1]], ["easeInExpo", [.95, .05, .795, .035]], ["easeOutExpo", [.19, 1, .22, 1]], ["easeInOutExpo", [1, 0, 0, 1]], ["easeInCirc", [.6, .04, .98, .335]], ["easeOutCirc", [.075, .82, .165, 1]], ["easeInOutCirc", [.785, .135, .15, .86]]], function (i, easingArray) {
42427            Velocity.Easings[easingArray[0]] = generateBezier.apply(null, easingArray[1])
42428        });
42429        var CSS = Velocity.CSS = {
42430            RegEx: {
42431                isHex: /^#([A-f\d]{3}){1,2}$/i,
42432                valueUnwrap: /^[A-z]+\((.*)\)$/i,
42433                wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,
42434                valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi
42435            },
42436            Lists: {
42437                colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"],
42438                transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"],
42439                transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"]
42440            },
42441            Hooks: {
42442                templates: {
42443                    textShadow: ["Color X Y Blur", "black 0px 0px 0px"],
42444                    boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"],
42445                    clip: ["Top Right Bottom Left", "0px 0px 0px 0px"],
42446                    backgroundPosition: ["X Y", "0% 0%"],
42447                    transformOrigin: ["X Y Z", "50% 50% 0px"],
42448                    perspectiveOrigin: ["X Y", "50% 50%"]
42449                }, registered: {}, register: function () {
42450                    for (var i = 0; i < CSS.Lists.colors.length; i++) {
42451                        var rgbComponents = "color" === CSS.Lists.colors[i] ? "0 0 0 1" : "255 255 255 1";
42452                        CSS.Hooks.templates[CSS.Lists.colors[i]] = ["Red Green Blue Alpha", rgbComponents]
42453                    }
42454                    var rootProperty, hookTemplate, hookNames;
42455                    if (IE) for (rootProperty in CSS.Hooks.templates) {
42456                        hookTemplate = CSS.Hooks.templates[rootProperty], hookNames = hookTemplate[0].split(" ");
42457                        var defaultValues = hookTemplate[1].match(CSS.RegEx.valueSplit);
42458                        "Color" === hookNames[0] && (hookNames.push(hookNames.shift()), defaultValues.push(defaultValues.shift()), CSS.Hooks.templates[rootProperty] = [hookNames.join(" "), defaultValues.join(" ")])
42459                    }
42460                    for (rootProperty in CSS.Hooks.templates) {
42461                        hookTemplate = CSS.Hooks.templates[rootProperty], hookNames = hookTemplate[0].split(" ");
42462                        for (var i in hookNames) {
42463                            var fullHookName = rootProperty + hookNames[i], hookPosition = i;
42464                            CSS.Hooks.registered[fullHookName] = [rootProperty, hookPosition]
42465                        }
42466                    }
42467                }, getRoot: function (property) {
42468                    var hookData = CSS.Hooks.registered[property];
42469                    return hookData ? hookData[0] : property
42470                }, cleanRootPropertyValue: function (rootProperty, rootPropertyValue) {
42471                    return CSS.RegEx.valueUnwrap.test(rootPropertyValue) && (rootPropertyValue = rootPropertyValue.match(CSS.RegEx.valueUnwrap)[1]), CSS.Values.isCSSNullValue(rootPropertyValue) && (rootPropertyValue = CSS.Hooks.templates[rootProperty][1]), rootPropertyValue
42472                }, extractValue: function (fullHookName, rootPropertyValue) {
42473                    var hookData = CSS.Hooks.registered[fullHookName];
42474                    if (hookData) {
42475                        var hookRoot = hookData[0], hookPosition = hookData[1];
42476                        return rootPropertyValue = CSS.Hooks.cleanRootPropertyValue(hookRoot, rootPropertyValue), rootPropertyValue.toString().match(CSS.RegEx.valueSplit)[hookPosition]
42477                    }
42478                    return rootPropertyValue
42479                }, injectValue: function (fullHookName, hookValue, rootPropertyValue) {
42480                    var hookData = CSS.Hooks.registered[fullHookName];
42481                    if (hookData) {
42482                        var rootPropertyValueParts, rootPropertyValueUpdated, hookRoot = hookData[0],
42483                            hookPosition = hookData[1];
42484                        return rootPropertyValue = CSS.Hooks.cleanRootPropertyValue(hookRoot, rootPropertyValue), rootPropertyValueParts = rootPropertyValue.toString().match(CSS.RegEx.valueSplit), rootPropertyValueParts[hookPosition] = hookValue, rootPropertyValueUpdated = rootPropertyValueParts.join(" ")
42485                    }
42486                    return rootPropertyValue
42487                }
42488            },
42489            Normalizations: {
42490                registered: {
42491                    clip: function (type, element, propertyValue) {
42492                        switch (type) {
42493                            case"name":
42494                                return "clip";
42495                            case"extract":
42496                                var extracted;
42497                                return CSS.RegEx.wrappedValueAlreadyExtracted.test(propertyValue) ? extracted = propertyValue : (extracted = propertyValue.toString().match(CSS.RegEx.valueUnwrap), extracted = extracted ? extracted[1].replace(/,(\s+)?/g, " ") : propertyValue), extracted;
42498                            case"inject":
42499                                return "rect(" + propertyValue + ")"
42500                        }
42501                    }, blur: function (type, element, propertyValue) {
42502                        switch (type) {
42503                            case"name":
42504                                return Velocity.State.isFirefox ? "filter" : "-webkit-filter";
42505                            case"extract":
42506                                var extracted = parseFloat(propertyValue);
42507                                if (!extracted && 0 !== extracted) {
42508                                    var blurComponent = propertyValue.toString().match(/blur\(([0-9]+[A-z]+)\)/i);
42509                                    extracted = blurComponent ? blurComponent[1] : 0
42510                                }
42511                                return extracted;
42512                            case"inject":
42513                                return parseFloat(propertyValue) ? "blur(" + propertyValue + ")" : "none"
42514                        }
42515                    }, opacity: function (type, element, propertyValue) {
42516                        if (8 >= IE) switch (type) {
42517                            case"name":
42518                                return "filter";
42519                            case"extract":
42520                                var extracted = propertyValue.toString().match(/alpha\(opacity=(.*)\)/i);
42521                                return propertyValue = extracted ? extracted[1] / 100 : 1;
42522                            case"inject":
42523                                return element.style.zoom = 1, parseFloat(propertyValue) >= 1 ? "" : "alpha(opacity=" + parseInt(100 * parseFloat(propertyValue), 10) + ")"
42524                        } else switch (type) {
42525                            case"name":
42526                                return "opacity";
42527                            case"extract":
42528                                return propertyValue;
42529                            case"inject":
42530                                return propertyValue
42531                        }
42532                    }
42533                }, register: function () {
42534                    9 >= IE || Velocity.State.isGingerbread || (CSS.Lists.transformsBase = CSS.Lists.transformsBase.concat(CSS.Lists.transforms3D));
42535                    for (var i = 0; i < CSS.Lists.transformsBase.length; i++) !function () {
42536                        var transformName = CSS.Lists.transformsBase[i];
42537                        CSS.Normalizations.registered[transformName] = function (type, element, propertyValue) {
42538                            switch (type) {
42539                                case"name":
42540                                    return "transform";
42541                                case"extract":
42542                                    return Data(element) === undefined || Data(element).transformCache[transformName] === undefined ? /^scale/i.test(transformName) ? 1 : 0 : Data(element).transformCache[transformName].replace(/[()]/g, "");
42543                                case"inject":
42544                                    var invalid = !1;
42545                                    switch (transformName.substr(0, transformName.length - 1)) {
42546                                        case"translate":
42547                                            invalid = !/(%|px|em|rem|vw|vh|\d)$/i.test(propertyValue);
42548                                            break;
42549                                        case"scal":
42550                                        case"scale":
42551                                            Velocity.State.isAndroid && Data(element).transformCache[transformName] === undefined && 1 > propertyValue && (propertyValue = 1), invalid = !/(\d)$/i.test(propertyValue);
42552                                            break;
42553                                        case"skew":
42554                                            invalid = !/(deg|\d)$/i.test(propertyValue);
42555                                            break;
42556                                        case"rotate":
42557                                            invalid = !/(deg|\d)$/i.test(propertyValue)
42558                                    }
42559                                    return invalid || (Data(element).transformCache[transformName] = "(" + propertyValue + ")"), Data(element).transformCache[transformName]
42560                            }
42561                        }
42562                    }();
42563                    for (var i = 0; i < CSS.Lists.colors.length; i++) !function () {
42564                        var colorName = CSS.Lists.colors[i];
42565                        CSS.Normalizations.registered[colorName] = function (type, element, propertyValue) {
42566                            switch (type) {
42567                                case"name":
42568                                    return colorName;
42569                                case"extract":
42570                                    var extracted;
42571                                    if (CSS.RegEx.wrappedValueAlreadyExtracted.test(propertyValue)) extracted = propertyValue; else {
42572                                        var converted, colorNames = {
42573                                            black: "rgb(0, 0, 0)",
42574                                            blue: "rgb(0, 0, 255)",
42575                                            gray: "rgb(128, 128, 128)",
42576                                            green: "rgb(0, 128, 0)",
42577                                            red: "rgb(255, 0, 0)",
42578                                            white: "rgb(255, 255, 255)"
42579                                        };
42580                                        /^[A-z]+$/i.test(propertyValue) ? converted = colorNames[propertyValue] !== undefined ? colorNames[propertyValue] : colorNames.black : CSS.RegEx.isHex.test(propertyValue) ? converted = "rgb(" + CSS.Values.hexToRgb(propertyValue).join(" ") + ")" : /^rgba?\(/i.test(propertyValue) || (converted = colorNames.black), extracted = (converted || propertyValue).toString().match(CSS.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ")
42581                                    }
42582                                    return 8 >= IE || 3 !== extracted.split(" ").length || (extracted += " 1"), extracted;
42583                                case"inject":
42584                                    return 8 >= IE ? 4 === propertyValue.split(" ").length && (propertyValue = propertyValue.split(/\s+/).slice(0, 3).join(" ")) : 3 === propertyValue.split(" ").length && (propertyValue += " 1"), (8 >= IE ? "rgb" : "rgba") + "(" + propertyValue.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")"
42585                            }
42586                        }
42587                    }()
42588                }
42589            },
42590            Names: {
42591                camelCase: function (property) {
42592                    return property.replace(/-(\w)/g, function (match, subMatch) {
42593                        return subMatch.toUpperCase()
42594                    })
42595                }, SVGAttribute: function (property) {
42596                    var SVGAttributes = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";
42597                    return (IE || Velocity.State.isAndroid && !Velocity.State.isChrome) && (SVGAttributes += "|transform"), new RegExp("^(" + SVGAttributes + ")$", "i").test(property)
42598                }, prefixCheck: function (property) {
42599                    if (Velocity.State.prefixMatches[property]) return [Velocity.State.prefixMatches[property], !0];
42600                    for (var vendors = ["", "Webkit", "Moz", "ms", "O"], i = 0, vendorsLength = vendors.length; vendorsLength > i; i++) {
42601                        var propertyPrefixed;
42602                        if (propertyPrefixed = 0 === i ? property : vendors[i] + property.replace(/^\w/, function (match) {
42603                            return match.toUpperCase()
42604                        }), Type.isString(Velocity.State.prefixElement.style[propertyPrefixed])) return Velocity.State.prefixMatches[property] = propertyPrefixed, [propertyPrefixed, !0]
42605                    }
42606                    return [property, !1]
42607                }
42608            },
42609            Values: {
42610                hexToRgb: function (hex) {
42611                    var rgbParts, shortformRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
42612                        longformRegex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;
42613                    return hex = hex.replace(shortformRegex, function (m, r, g, b) {
42614                        return r + r + g + g + b + b
42615                    }), rgbParts = longformRegex.exec(hex), rgbParts ? [parseInt(rgbParts[1], 16), parseInt(rgbParts[2], 16), parseInt(rgbParts[3], 16)] : [0, 0, 0]
42616                }, isCSSNullValue: function (value) {
42617                    return 0 == value || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(value)
42618                }, getUnitType: function (property) {
42619                    return /^(rotate|skew)/i.test(property) ? "deg" : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(property) ? "" : "px"
42620                }, getDisplayType: function (element) {
42621                    var tagName = element && element.tagName.toString().toLowerCase();
42622                    return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(tagName) ? "inline" : /^(li)$/i.test(tagName) ? "list-item" : /^(tr)$/i.test(tagName) ? "table-row" : /^(table)$/i.test(tagName) ? "table" : /^(tbody)$/i.test(tagName) ? "table-row-group" : "block"
42623                }, addClass: function (element, className) {
42624                    element.classList ? element.classList.add(className) : element.className += (element.className.length ? " " : "") + className
42625                }, removeClass: function (element, className) {
42626                    element.classList ? element.classList.remove(className) : element.className = element.className.toString().replace(new RegExp("(^|\\s)" + className.split(" ").join("|") + "(\\s|$)", "gi"), " ")
42627                }
42628            },
42629            getPropertyValue: function (element, property, rootPropertyValue, forceStyleLookup) {
42630                function computePropertyValue(element, property) {
42631                    function revertDisplay() {
42632                        toggleDisplay && CSS.setPropertyValue(element, "display", "none")
42633                    }
42634
42635                    var computedValue = 0;
42636                    if (8 >= IE) computedValue = $.css(element, property); else {
42637                        var toggleDisplay = !1;
42638                        if (/^(width|height)$/.test(property) && 0 === CSS.getPropertyValue(element, "display") && (toggleDisplay = !0, CSS.setPropertyValue(element, "display", CSS.Values.getDisplayType(element))), !forceStyleLookup) {
42639                            if ("height" === property && "border-box" !== CSS.getPropertyValue(element, "boxSizing").toString().toLowerCase()) {
42640                                var contentBoxHeight = element.offsetHeight - (parseFloat(CSS.getPropertyValue(element, "borderTopWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "borderBottomWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingTop")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingBottom")) || 0);
42641                                return revertDisplay(), contentBoxHeight
42642                            }
42643                            if ("width" === property && "border-box" !== CSS.getPropertyValue(element, "boxSizing").toString().toLowerCase()) {
42644                                var contentBoxWidth = element.offsetWidth - (parseFloat(CSS.getPropertyValue(element, "borderLeftWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "borderRightWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingLeft")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingRight")) || 0);
42645                                return revertDisplay(), contentBoxWidth
42646                            }
42647                        }
42648                        var computedStyle;
42649                        computedStyle = Data(element) === undefined ? window.getComputedStyle(element, null) : Data(element).computedStyle ? Data(element).computedStyle : Data(element).computedStyle = window.getComputedStyle(element, null), "borderColor" === property && (property = "borderTopColor"), computedValue = 9 === IE && "filter" === property ? computedStyle.getPropertyValue(property) : computedStyle[property], ("" === computedValue || null === computedValue) && (computedValue = element.style[property]), revertDisplay()
42650                    }
42651                    if ("auto" === computedValue && /^(top|right|bottom|left)$/i.test(property)) {
42652                        var position = computePropertyValue(element, "position");
42653                        ("fixed" === position || "absolute" === position && /top|left/i.test(property)) && (computedValue = $(element).position()[property] + "px")
42654                    }
42655                    return computedValue
42656                }
42657
42658                var propertyValue;
42659                if (CSS.Hooks.registered[property]) {
42660                    var hook = property, hookRoot = CSS.Hooks.getRoot(hook);
42661                    rootPropertyValue === undefined && (rootPropertyValue = CSS.getPropertyValue(element, CSS.Names.prefixCheck(hookRoot)[0])), CSS.Normalizations.registered[hookRoot] && (rootPropertyValue = CSS.Normalizations.registered[hookRoot]("extract", element, rootPropertyValue)), propertyValue = CSS.Hooks.extractValue(hook, rootPropertyValue)
42662                } else if (CSS.Normalizations.registered[property]) {
42663                    var normalizedPropertyName, normalizedPropertyValue;
42664                    normalizedPropertyName = CSS.Normalizations.registered[property]("name", element), "transform" !== normalizedPropertyName && (normalizedPropertyValue = computePropertyValue(element, CSS.Names.prefixCheck(normalizedPropertyName)[0]), CSS.Values.isCSSNullValue(normalizedPropertyValue) && CSS.Hooks.templates[property] && (normalizedPropertyValue = CSS.Hooks.templates[property][1])), propertyValue = CSS.Normalizations.registered[property]("extract", element, normalizedPropertyValue)
42665                }
42666                if (!/^[\d-]/.test(propertyValue)) if (Data(element) && Data(element).isSVG && CSS.Names.SVGAttribute(property)) if (/^(height|width)$/i.test(property)) try {
42667                    propertyValue = element.getBBox()[property]
42668                } catch (error) {
42669                    propertyValue = 0
42670                } else propertyValue = element.getAttribute(property); else propertyValue = computePropertyValue(element, CSS.Names.prefixCheck(property)[0]);
42671                return CSS.Values.isCSSNullValue(propertyValue) && (propertyValue = 0), Velocity.debug >= 2 && console.log("Get " + property + ": " + propertyValue), propertyValue
42672            },
42673            setPropertyValue: function (element, property, propertyValue, rootPropertyValue, scrollData) {
42674                var propertyName = property;
42675                if ("scroll" === property) scrollData.container ? scrollData.container["scroll" + scrollData.direction] = propertyValue : "Left" === scrollData.direction ? window.scrollTo(propertyValue, scrollData.alternateValue) : window.scrollTo(scrollData.alternateValue, propertyValue); else if (CSS.Normalizations.registered[property] && "transform" === CSS.Normalizations.registered[property]("name", element)) CSS.Normalizations.registered[property]("inject", element, propertyValue), propertyName = "transform", propertyValue = Data(element).transformCache[property]; else {
42676                    if (CSS.Hooks.registered[property]) {
42677                        var hookName = property, hookRoot = CSS.Hooks.getRoot(property);
42678                        rootPropertyValue = rootPropertyValue || CSS.getPropertyValue(element, hookRoot), propertyValue = CSS.Hooks.injectValue(hookName, propertyValue, rootPropertyValue), property = hookRoot
42679                    }
42680                    if (CSS.Normalizations.registered[property] && (propertyValue = CSS.Normalizations.registered[property]("inject", element, propertyValue), property = CSS.Normalizations.registered[property]("name", element)), propertyName = CSS.Names.prefixCheck(property)[0], 8 >= IE) try {
42681                        element.style[propertyName] = propertyValue
42682                    } catch (error) {
42683                        Velocity.debug && console.log("Browser does not support [" + propertyValue + "] for [" + propertyName + "]")
42684                    } else Data(element) && Data(element).isSVG && CSS.Names.SVGAttribute(property) ? element.setAttribute(property, propertyValue) : element.style[propertyName] = propertyValue;
42685                    Velocity.debug >= 2 && console.log("Set " + property + " (" + propertyName + "): " + propertyValue)
42686                }
42687                return [propertyName, propertyValue]
42688            },
42689            flushTransformCache: function (element) {
42690                function getTransformFloat(transformProperty) {
42691                    return parseFloat(CSS.getPropertyValue(element, transformProperty))
42692                }
42693
42694                var transformString = "";
42695                if ((IE || Velocity.State.isAndroid && !Velocity.State.isChrome) && Data(element).isSVG) {
42696                    var SVGTransforms = {
42697                        translate: [getTransformFloat("translateX"), getTransformFloat("translateY")],
42698                        skewX: [getTransformFloat("skewX")],
42699                        skewY: [getTransformFloat("skewY")],
42700                        scale: 1 !== getTransformFloat("scale") ? [getTransformFloat("scale"), getTransformFloat("scale")] : [getTransformFloat("scaleX"), getTransformFloat("scaleY")],
42701                        rotate: [getTransformFloat("rotateZ"), 0, 0]
42702                    };
42703                    $.each(Data(element).transformCache, function (transformName) {
42704                        /^translate/i.test(transformName) ? transformName = "translate" : /^scale/i.test(transformName) ? transformName = "scale" : /^rotate/i.test(transformName) && (transformName = "rotate"), SVGTransforms[transformName] && (transformString += transformName + "(" + SVGTransforms[transformName].join(" ") + ") ", delete SVGTransforms[transformName])
42705                    })
42706                } else {
42707                    var transformValue, perspective;
42708                    $.each(Data(element).transformCache, function (transformName) {
42709                        return transformValue = Data(element).transformCache[transformName], "transformPerspective" === transformName ? (perspective = transformValue, !0) : (9 === IE && "rotateZ" === transformName && (transformName = "rotate"), void (transformString += transformName + transformValue + " "))
42710                    }), perspective && (transformString = "perspective" + perspective + " " + transformString)
42711                }
42712                CSS.setPropertyValue(element, "transform", transformString)
42713            }
42714        };
42715        CSS.Hooks.register(), CSS.Normalizations.register(), Velocity.hook = function (elements, arg2, arg3) {
42716            var value = undefined;
42717            return elements = sanitizeElements(elements), $.each(elements, function (i, element) {
42718                if (Data(element) === undefined && Velocity.init(element), arg3 === undefined) value === undefined && (value = Velocity.CSS.getPropertyValue(element, arg2)); else {
42719                    var adjustedSet = Velocity.CSS.setPropertyValue(element, arg2, arg3);
42720                    "transform" === adjustedSet[0] && Velocity.CSS.flushTransformCache(element), value = adjustedSet
42721                }
42722            }), value
42723        };
42724        var animate = function () {
42725            function getChain() {
42726                return isUtility ? promiseData.promise || null : elementsWrapped
42727            }
42728
42729            function processElement() {
42730                function buildQueue(next) {
42731                    function parsePropertyValue(valueData, skipResolvingEasing) {
42732                        var endValue = undefined, easing = undefined, startValue = undefined;
42733                        return Type.isArray(valueData) ? (endValue = valueData[0], !Type.isArray(valueData[1]) && /^[\d-]/.test(valueData[1]) || Type.isFunction(valueData[1]) || CSS.RegEx.isHex.test(valueData[1]) ? startValue = valueData[1] : (Type.isString(valueData[1]) && !CSS.RegEx.isHex.test(valueData[1]) || Type.isArray(valueData[1])) && (easing = skipResolvingEasing ? valueData[1] : getEasing(valueData[1], opts.duration), valueData[2] !== undefined && (startValue = valueData[2]))) : endValue = valueData, skipResolvingEasing || (easing = easing || opts.easing), Type.isFunction(endValue) && (endValue = endValue.call(element, elementsIndex, elementsLength)), Type.isFunction(startValue) && (startValue = startValue.call(element, elementsIndex, elementsLength)), [endValue || 0, easing, startValue]
42734                    }
42735
42736                    function separateValue(property, value) {
42737                        var unitType, numericValue;
42738                        return numericValue = (value || "0").toString().toLowerCase().replace(/[%A-z]+$/, function (match) {
42739                            return unitType = match, ""
42740                        }), unitType || (unitType = CSS.Values.getUnitType(property)), [numericValue, unitType]
42741                    }
42742
42743                    function calculateUnitRatios() {
42744                        var sameRatioIndicators = {
42745                                myParent: element.parentNode || document.body,
42746                                position: CSS.getPropertyValue(element, "position"),
42747                                fontSize: CSS.getPropertyValue(element, "fontSize")
42748                            },
42749                            samePercentRatio = sameRatioIndicators.position === callUnitConversionData.lastPosition && sameRatioIndicators.myParent === callUnitConversionData.lastParent,
42750                            sameEmRatio = sameRatioIndicators.fontSize === callUnitConversionData.lastFontSize;
42751                        callUnitConversionData.lastParent = sameRatioIndicators.myParent, callUnitConversionData.lastPosition = sameRatioIndicators.position, callUnitConversionData.lastFontSize = sameRatioIndicators.fontSize;
42752                        var measurement = 100, unitRatios = {};
42753                        if (sameEmRatio && samePercentRatio) unitRatios.emToPx = callUnitConversionData.lastEmToPx, unitRatios.percentToPxWidth = callUnitConversionData.lastPercentToPxWidth, unitRatios.percentToPxHeight = callUnitConversionData.lastPercentToPxHeight; else {
42754                            var dummy = Data(element).isSVG ? document.createElementNS("http://www.w3.org/2000/svg", "rect") : document.createElement("div");
42755                            Velocity.init(dummy), sameRatioIndicators.myParent.appendChild(dummy), $.each(["overflow", "overflowX", "overflowY"], function (i, property) {
42756                                Velocity.CSS.setPropertyValue(dummy, property, "hidden")
42757                            }), Velocity.CSS.setPropertyValue(dummy, "position", sameRatioIndicators.position), Velocity.CSS.setPropertyValue(dummy, "fontSize", sameRatioIndicators.fontSize), Velocity.CSS.setPropertyValue(dummy, "boxSizing", "content-box"), $.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], function (i, property) {
42758                                Velocity.CSS.setPropertyValue(dummy, property, measurement + "%")
42759                            }), Velocity.CSS.setPropertyValue(dummy, "paddingLeft", measurement + "em"), unitRatios.percentToPxWidth = callUnitConversionData.lastPercentToPxWidth = (parseFloat(CSS.getPropertyValue(dummy, "width", null, !0)) || 1) / measurement, unitRatios.percentToPxHeight = callUnitConversionData.lastPercentToPxHeight = (parseFloat(CSS.getPropertyValue(dummy, "height", null, !0)) || 1) / measurement, unitRatios.emToPx = callUnitConversionData.lastEmToPx = (parseFloat(CSS.getPropertyValue(dummy, "paddingLeft")) || 1) / measurement, sameRatioIndicators.myParent.removeChild(dummy)
42760                        }
42761                        return null === callUnitConversionData.remToPx && (callUnitConversionData.remToPx = parseFloat(CSS.getPropertyValue(document.body, "fontSize")) || 16), null === callUnitConversionData.vwToPx && (callUnitConversionData.vwToPx = parseFloat(window.innerWidth) / 100, callUnitConversionData.vhToPx = parseFloat(window.innerHeight) / 100), unitRatios.remToPx = callUnitConversionData.remToPx, unitRatios.vwToPx = callUnitConversionData.vwToPx, unitRatios.vhToPx = callUnitConversionData.vhToPx, Velocity.debug >= 1 && console.log("Unit ratios: " + JSON.stringify(unitRatios), element), unitRatios
42762                    }
42763
42764                    if (opts.begin && 0 === elementsIndex) try {
42765                        opts.begin.call(elements, elements)
42766                    } catch (error) {
42767                        setTimeout(function () {
42768                            throw error
42769                        }, 1)
42770                    }
42771                    if ("scroll" === action) {
42772                        var scrollPositionCurrent, scrollPositionCurrentAlternate, scrollPositionEnd,
42773                            scrollDirection = /^x$/i.test(opts.axis) ? "Left" : "Top",
42774                            scrollOffset = parseFloat(opts.offset) || 0;
42775                        opts.container ? Type.isWrapped(opts.container) || Type.isNode(opts.container) ? (opts.container = opts.container[0] || opts.container, scrollPositionCurrent = opts.container["scroll" + scrollDirection], scrollPositionEnd = scrollPositionCurrent + $(element).position()[scrollDirection.toLowerCase()] + scrollOffset) : opts.container = null : (scrollPositionCurrent = Velocity.State.scrollAnchor[Velocity.State["scrollProperty" + scrollDirection]], scrollPositionCurrentAlternate = Velocity.State.scrollAnchor[Velocity.State["scrollProperty" + ("Left" === scrollDirection ? "Top" : "Left")]], scrollPositionEnd = $(element).offset()[scrollDirection.toLowerCase()] + scrollOffset), tweensContainer = {
42776                            scroll: {
42777                                rootPropertyValue: !1,
42778                                startValue: scrollPositionCurrent,
42779                                currentValue: scrollPositionCurrent,
42780                                endValue: scrollPositionEnd,
42781                                unitType: "",
42782                                easing: opts.easing,
42783                                scrollData: {
42784                                    container: opts.container,
42785                                    direction: scrollDirection,
42786                                    alternateValue: scrollPositionCurrentAlternate
42787                                }
42788                            }, element: element
42789                        }, Velocity.debug && console.log("tweensContainer (scroll): ", tweensContainer.scroll, element)
42790                    } else if ("reverse" === action) {
42791                        if (!Data(element).tweensContainer) return void $.dequeue(element, opts.queue);
42792                        "none" === Data(element).opts.display && (Data(element).opts.display = "auto"), "hidden" === Data(element).opts.visibility && (Data(element).opts.visibility = "visible"), Data(element).opts.loop = !1, Data(element).opts.begin = null, Data(element).opts.complete = null, options.easing || delete opts.easing, options.duration || delete opts.duration, opts = $.extend({}, Data(element).opts, opts);
42793                        var lastTweensContainer = $.extend(!0, {}, Data(element).tweensContainer);
42794                        for (var lastTween in lastTweensContainer) if ("element" !== lastTween) {
42795                            var lastStartValue = lastTweensContainer[lastTween].startValue;
42796                            lastTweensContainer[lastTween].startValue = lastTweensContainer[lastTween].currentValue = lastTweensContainer[lastTween].endValue, lastTweensContainer[lastTween].endValue = lastStartValue, Type.isEmptyObject(options) || (lastTweensContainer[lastTween].easing = opts.easing), Velocity.debug && console.log("reverse tweensContainer (" + lastTween + "): " + JSON.stringify(lastTweensContainer[lastTween]), element)
42797                        }
42798                        tweensContainer = lastTweensContainer
42799                    } else if ("start" === action) {
42800                        var lastTweensContainer;
42801                        Data(element).tweensContainer && Data(element).isAnimating === !0 && (lastTweensContainer = Data(element).tweensContainer), $.each(propertiesMap, function (property, value) {
42802                            if (RegExp("^" + CSS.Lists.colors.join("$|^") + "$").test(property)) {
42803                                var valueData = parsePropertyValue(value, !0), endValue = valueData[0],
42804                                    easing = valueData[1], startValue = valueData[2];
42805                                if (CSS.RegEx.isHex.test(endValue)) {
42806                                    for (var colorComponents = ["Red", "Green", "Blue"], endValueRGB = CSS.Values.hexToRgb(endValue), startValueRGB = startValue ? CSS.Values.hexToRgb(startValue) : undefined, i = 0; i < colorComponents.length; i++) {
42807                                        var dataArray = [endValueRGB[i]];
42808                                        easing && dataArray.push(easing), startValueRGB !== undefined && dataArray.push(startValueRGB[i]), propertiesMap[property + colorComponents[i]] = dataArray
42809                                    }
42810                                    delete propertiesMap[property]
42811                                }
42812                            }
42813                        });
42814                        for (var property in propertiesMap) {
42815                            var valueData = parsePropertyValue(propertiesMap[property]), endValue = valueData[0],
42816                                easing = valueData[1], startValue = valueData[2];
42817                            property = CSS.Names.camelCase(property);
42818                            var rootProperty = CSS.Hooks.getRoot(property), rootPropertyValue = !1;
42819                            if (Data(element).isSVG || "tween" === rootProperty || CSS.Names.prefixCheck(rootProperty)[1] !== !1 || CSS.Normalizations.registered[rootProperty] !== undefined) {
42820                                (opts.display !== undefined && null !== opts.display && "none" !== opts.display || opts.visibility !== undefined && "hidden" !== opts.visibility) && /opacity|filter/.test(property) && !startValue && 0 !== endValue && (startValue = 0), opts._cacheValues && lastTweensContainer && lastTweensContainer[property] ? (startValue === undefined && (startValue = lastTweensContainer[property].endValue + lastTweensContainer[property].unitType), rootPropertyValue = Data(element).rootPropertyValueCache[rootProperty]) : CSS.Hooks.registered[property] ? startValue === undefined ? (rootPropertyValue = CSS.getPropertyValue(element, rootProperty), startValue = CSS.getPropertyValue(element, property, rootPropertyValue)) : rootPropertyValue = CSS.Hooks.templates[rootProperty][1] : startValue === undefined && (startValue = CSS.getPropertyValue(element, property));
42821                                var separatedValue, endValueUnitType, startValueUnitType, operator = !1;
42822                                if (separatedValue = separateValue(property, startValue), startValue = separatedValue[0], startValueUnitType = separatedValue[1], separatedValue = separateValue(property, endValue), endValue = separatedValue[0].replace(/^([+-\/*])=/, function (match, subMatch) {
42823                                    return operator = subMatch, ""
42824                                }), endValueUnitType = separatedValue[1], startValue = parseFloat(startValue) || 0, endValue = parseFloat(endValue) || 0, "%" === endValueUnitType && (/^(fontSize|lineHeight)$/.test(property) ? (endValue /= 100, endValueUnitType = "em") : /^scale/.test(property) ? (endValue /= 100, endValueUnitType = "") : /(Red|Green|Blue)$/i.test(property) && (endValue = endValue / 100 * 255, endValueUnitType = "")), /[\/*]/.test(operator)) endValueUnitType = startValueUnitType; else if (startValueUnitType !== endValueUnitType && 0 !== startValue) if (0 === endValue) endValueUnitType = startValueUnitType; else {
42825                                    elementUnitConversionData = elementUnitConversionData || calculateUnitRatios();
42826                                    var axis = /margin|padding|left|right|width|text|word|letter/i.test(property) || /X$/.test(property) || "x" === property ? "x" : "y";
42827                                    switch (startValueUnitType) {
42828                                        case"%":
42829                                            startValue *= "x" === axis ? elementUnitConversionData.percentToPxWidth : elementUnitConversionData.percentToPxHeight;
42830                                            break;
42831                                        case"px":
42832                                            break;
42833                                        default:
42834                                            startValue *= elementUnitConversionData[startValueUnitType + "ToPx"]
42835                                    }
42836                                    switch (endValueUnitType) {
42837                                        case"%":
42838                                            startValue *= 1 / ("x" === axis ? elementUnitConversionData.percentToPxWidth : elementUnitConversionData.percentToPxHeight);
42839                                            break;
42840                                        case"px":
42841                                            break;
42842                                        default:
42843                                            startValue *= 1 / elementUnitConversionData[endValueUnitType + "ToPx"]
42844                                    }
42845                                }
42846                                switch (operator) {
42847                                    case"+":
42848                                        endValue = startValue + endValue;
42849                                        break;
42850                                    case"-":
42851                                        endValue = startValue - endValue;
42852                                        break;
42853                                    case"*":
42854                                        endValue = startValue * endValue;
42855                                        break;
42856                                    case"/":
42857                                        endValue = startValue / endValue
42858                                }
42859                                tweensContainer[property] = {
42860                                    rootPropertyValue: rootPropertyValue,
42861                                    startValue: startValue,
42862                                    currentValue: startValue,
42863                                    endValue: endValue,
42864                                    unitType: endValueUnitType,
42865                                    easing: easing
42866                                }, Velocity.debug && console.log("tweensContainer (" + property + "): " + JSON.stringify(tweensContainer[property]), element)
42867                            } else Velocity.debug && console.log("Skipping [" + rootProperty + "] due to a lack of browser support.")
42868                        }
42869                        tweensContainer.element = element
42870                    }
42871                    tweensContainer.element && (CSS.Values.addClass(element, "velocity-animating"), call.push(tweensContainer), "" === opts.queue && (Data(element).tweensContainer = tweensContainer, Data(element).opts = opts), Data(element).isAnimating = !0, elementsIndex === elementsLength - 1 ? (Velocity.State.calls.push([call, elements, opts, null, promiseData.resolver]), Velocity.State.isTicking === !1 && (Velocity.State.isTicking = !0, tick())) : elementsIndex++)
42872                }
42873
42874                var elementUnitConversionData, element = this, opts = $.extend({}, Velocity.defaults, options),
42875                    tweensContainer = {};
42876                switch (Data(element) === undefined && Velocity.init(element), parseFloat(opts.delay) && opts.queue !== !1 && $.queue(element, opts.queue, function (next) {
42877                    Velocity.velocityQueueEntryFlag = !0, Data(element).delayTimer = {
42878                        setTimeout: setTimeout(next, parseFloat(opts.delay)),
42879                        next: next
42880                    }
42881                }), opts.duration.toString().toLowerCase()) {
42882                    case"fast":
42883                        opts.duration = 200;
42884                        break;
42885                    case"normal":
42886                        opts.duration = DURATION_DEFAULT;
42887                        break;
42888                    case"slow":
42889                        opts.duration = 600;
42890                        break;
42891                    default:
42892                        opts.duration = parseFloat(opts.duration) || 1
42893                }
42894                Velocity.mock !== !1 && (Velocity.mock === !0 ? opts.duration = opts.delay = 1 : (opts.duration *= parseFloat(Velocity.mock) || 1, opts.delay *= parseFloat(Velocity.mock) || 1)), opts.easing = getEasing(opts.easing, opts.duration), opts.begin && !Type.isFunction(opts.begin) && (opts.begin = null), opts.progress && !Type.isFunction(opts.progress) && (opts.progress = null), opts.complete && !Type.isFunction(opts.complete) && (opts.complete = null), opts.display !== undefined && null !== opts.display && (opts.display = opts.display.toString().toLowerCase(), "auto" === opts.display && (opts.display = Velocity.CSS.Values.getDisplayType(element))), opts.visibility !== undefined && null !== opts.visibility && (opts.visibility = opts.visibility.toString().toLowerCase()), opts.mobileHA = opts.mobileHA && Velocity.State.isMobile && !Velocity.State.isGingerbread, opts.queue === !1 ? opts.delay ? setTimeout(buildQueue, opts.delay) : buildQueue() : $.queue(element, opts.queue, function (next, clearQueue) {
42895                    return clearQueue === !0 ? (promiseData.promise && promiseData.resolver(elements), !0) : (Velocity.velocityQueueEntryFlag = !0, void buildQueue(next))
42896                }), "" !== opts.queue && "fx" !== opts.queue || "inprogress" === $.queue(element)[0] || $.dequeue(element)
42897            }
42898
42899            var isUtility, elementsWrapped, argumentIndex, elements, propertiesMap, options,
42900                syntacticSugar = arguments[0] && (arguments[0].p || $.isPlainObject(arguments[0].properties) && !arguments[0].properties.names || Type.isString(arguments[0].properties));
42901            if (Type.isWrapped(this) ? (isUtility = !1, argumentIndex = 0, elements = this, elementsWrapped = this) : (isUtility = !0, argumentIndex = 1, elements = syntacticSugar ? arguments[0].elements || arguments[0].e : arguments[0]), elements = sanitizeElements(elements)) {
42902                syntacticSugar ? (propertiesMap = arguments[0].properties || arguments[0].p, options = arguments[0].options || arguments[0].o) : (propertiesMap = arguments[argumentIndex], options = arguments[argumentIndex + 1]);
42903                var elementsLength = elements.length, elementsIndex = 0;
42904                if (!/^(stop|finish|finishAll)$/i.test(propertiesMap) && !$.isPlainObject(options)) {
42905                    var startingArgumentPosition = argumentIndex + 1;
42906                    options = {};
42907                    for (var i = startingArgumentPosition; i < arguments.length; i++) Type.isArray(arguments[i]) || !/^(fast|normal|slow)$/i.test(arguments[i]) && !/^\d/.test(arguments[i]) ? Type.isString(arguments[i]) || Type.isArray(arguments[i]) ? options.easing = arguments[i] : Type.isFunction(arguments[i]) && (options.complete = arguments[i]) : options.duration = arguments[i]
42908                }
42909                var promiseData = {promise: null, resolver: null, rejecter: null};
42910                isUtility && Velocity.Promise && (promiseData.promise = new Velocity.Promise(function (resolve, reject) {
42911                    promiseData.resolver = resolve, promiseData.rejecter = reject
42912                }));
42913                var action;
42914                switch (propertiesMap) {
42915                    case"scroll":
42916                        action = "scroll";
42917                        break;
42918                    case"reverse":
42919                        action = "reverse";
42920                        break;
42921                    case"finish":
42922                    case"finishAll":
42923                    case"stop":
42924                        $.each(elements, function (i, element) {
42925                            Data(element) && Data(element).delayTimer && (clearTimeout(Data(element).delayTimer.setTimeout), Data(element).delayTimer.next && Data(element).delayTimer.next(), delete Data(element).delayTimer), "finishAll" !== propertiesMap || options !== !0 && !Type.isString(options) || ($.each($.queue(element, Type.isString(options) ? options : ""), function (_, item) {
42926                                Type.isFunction(item) && item()
42927                            }), $.queue(element, Type.isString(options) ? options : "", []))
42928                        });
42929                        var callsToStop = [];
42930                        return $.each(Velocity.State.calls, function (i, activeCall) {
42931                            activeCall && $.each(activeCall[1], function (k, activeElement) {
42932                                var queueName = options === undefined ? "" : options;
42933                                return queueName === !0 || activeCall[2].queue === queueName || options === undefined && activeCall[2].queue === !1 ? void $.each(elements, function (l, element) {
42934                                    element === activeElement && ((options === !0 || Type.isString(options)) && ($.each($.queue(element, Type.isString(options) ? options : ""), function (_, item) {
42935                                        Type.isFunction(item) && item(null, !0)
42936                                    }), $.queue(element, Type.isString(options) ? options : "", [])), "stop" === propertiesMap ? (Data(element) && Data(element).tweensContainer && queueName !== !1 && $.each(Data(element).tweensContainer, function (m, activeTween) {
42937                                        activeTween.endValue = activeTween.currentValue
42938                                    }), callsToStop.push(i)) : ("finish" === propertiesMap || "finishAll" === propertiesMap) && (activeCall[2].duration = 1))
42939                                }) : !0
42940                            })
42941                        }), "stop" === propertiesMap && ($.each(callsToStop, function (i, j) {
42942                            completeCall(j, !0)
42943                        }), promiseData.promise && promiseData.resolver(elements)), getChain();
42944                    default:
42945                        if (!$.isPlainObject(propertiesMap) || Type.isEmptyObject(propertiesMap)) {
42946                            if (Type.isString(propertiesMap) && Velocity.Redirects[propertiesMap]) {
42947                                var opts = $.extend({}, options), durationOriginal = opts.duration,
42948                                    delayOriginal = opts.delay || 0;
42949                                return opts.backwards === !0 && (elements = $.extend(!0, [], elements).reverse()), $.each(elements, function (elementIndex, element) {
42950                                    parseFloat(opts.stagger) ? opts.delay = delayOriginal + parseFloat(opts.stagger) * elementIndex : Type.isFunction(opts.stagger) && (opts.delay = delayOriginal + opts.stagger.call(element, elementIndex, elementsLength)), opts.drag && (opts.duration = parseFloat(durationOriginal) || (/^(callout|transition)/.test(propertiesMap) ? 1e3 : DURATION_DEFAULT), opts.duration = Math.max(opts.duration * (opts.backwards ? 1 - elementIndex / elementsLength : (elementIndex + 1) / elementsLength), .75 * opts.duration, 200)), Velocity.Redirects[propertiesMap].call(element, element, opts || {}, elementIndex, elementsLength, elements, promiseData.promise ? promiseData : undefined)
42951                                }), getChain()
42952                            }
42953                            var abortError = "Velocity: First argument (" + propertiesMap + ") was not a property map, a known action, or a registered redirect. Aborting.";
42954                            return promiseData.promise ? promiseData.rejecter(new Error(abortError)) : console.log(abortError), getChain()
42955                        }
42956                        action = "start"
42957                }
42958                var callUnitConversionData = {
42959                    lastParent: null,
42960                    lastPosition: null,
42961                    lastFontSize: null,
42962                    lastPercentToPxWidth: null,
42963                    lastPercentToPxHeight: null,
42964                    lastEmToPx: null,
42965                    remToPx: null,
42966                    vwToPx: null,
42967                    vhToPx: null
42968                }, call = [];
42969                $.each(elements, function (i, element) {
42970                    Type.isNode(element) && processElement.call(element)
42971                });
42972                var reverseCallsCount, opts = $.extend({}, Velocity.defaults, options);
42973                if (opts.loop = parseInt(opts.loop), reverseCallsCount = 2 * opts.loop - 1, opts.loop) for (var x = 0; reverseCallsCount > x; x++) {
42974                    var reverseOptions = {delay: opts.delay, progress: opts.progress};
42975                    x === reverseCallsCount - 1 && (reverseOptions.display = opts.display, reverseOptions.visibility = opts.visibility, reverseOptions.complete = opts.complete), animate(elements, "reverse", reverseOptions)
42976                }
42977                return getChain()
42978            }
42979        };
42980        Velocity = $.extend(animate, Velocity), Velocity.animate = animate;
42981        var ticker = window.requestAnimationFrame || rAFShim;
42982        return Velocity.State.isMobile || document.hidden === undefined || document.addEventListener("visibilitychange", function () {
42983            document.hidden ? (ticker = function (callback) {
42984                return setTimeout(function () {
42985                    callback(!0)
42986                }, 16)
42987            }, tick()) : ticker = window.requestAnimationFrame || rAFShim
42988        }), global.Velocity = Velocity, global !== window && (global.fn.velocity = animate, global.fn.velocity.defaults = Velocity.defaults), $.each(["Down", "Up"], function (i, direction) {
42989            Velocity.Redirects["slide" + direction] = function (element, options, elementsIndex, elementsSize, elements, promiseData) {
42990                var opts = $.extend({}, options), begin = opts.begin, complete = opts.complete,
42991                    computedValues = {height: "", marginTop: "", marginBottom: "", paddingTop: "", paddingBottom: ""},
42992                    inlineValues = {};
42993                opts.display === undefined && (opts.display = "Down" === direction ? "inline" === Velocity.CSS.Values.getDisplayType(element) ? "inline-block" : "block" : "none"), opts.begin = function () {
42994                    begin && begin.call(elements, elements);
42995                    for (var property in computedValues) {
42996                        inlineValues[property] = element.style[property];
42997                        var propertyValue = Velocity.CSS.getPropertyValue(element, property);
42998                        computedValues[property] = "Down" === direction ? [propertyValue, 0] : [0, propertyValue]
42999                    }
43000                    inlineValues.overflow = element.style.overflow, element.style.overflow = "hidden"
43001                }, opts.complete = function () {
43002                    for (var property in inlineValues) element.style[property] = inlineValues[property];
43003                    complete && complete.call(elements, elements), promiseData && promiseData.resolver(elements)
43004                }, Velocity(element, computedValues, opts)
43005            }
43006        }), $.each(["In", "Out"], function (i, direction) {
43007            Velocity.Redirects["fade" + direction] = function (element, options, elementsIndex, elementsSize, elements, promiseData) {
43008                var opts = $.extend({}, options), propertiesMap = {opacity: "In" === direction ? 1 : 0},
vendor: 5,252 bytes, lines 43009-43093
43009                    originalComplete = opts.complete;
43010                elementsIndex !== elementsSize - 1 ? opts.complete = opts.begin = null : opts.complete = function () {
43011                    originalComplete && originalComplete.call(elements, elements), promiseData && promiseData.resolver(elements)
43012                }, opts.display === undefined && (opts.display = "In" === direction ? "auto" : "none"), Velocity(this, propertiesMap, opts)
43013            }
43014        }), Velocity
43015    }(window.jQuery || window.Zepto || window, window, document)
43016}), !function (t) {
43017    "function" == typeof require && "object" == typeof exports ? module.exports = t() : "function" == typeof define && define.amd ? define(["velocity"], t) : t()
43018}(function () {
43019    return function (t, a, e, r) {
43020        function n(t, a) {
43021            var e = [];
43022            return t && a ? ($.each([t, a], function (t, a) {
43023                var r = [];
43024                $.each(a, function (t, a) {
43025                    for (; a.toString().length < 5;) a = "0" + a;
43026                    r.push(a)
43027                }), e.push(r.join(""))
43028            }), parseFloat(e[0]) > parseFloat(e[1])) : !1
43029        }
43030
43031        if (!t.Velocity || !t.Velocity.Utilities) return void (a.console && console.log("Velocity UI Pack: Velocity must be loaded first. Aborting."));
43032        var i = t.Velocity, $ = i.Utilities, s = i.version, o = {major: 1, minor: 1, patch: 0};
43033        if (n(o, s)) {
43034            var l = "Velocity UI Pack: You need to update Velocity (jquery.velocity.js) to a newer version. Visit http://github.com/julianshapiro/velocity.";
43035            throw alert(l), new Error(l)
43036        }
43037        i.RegisterEffect = i.RegisterUI = function (t, a) {
43038            function e(t, a, e, r) {
43039                var s, n = 0;
43040                $.each(t.nodeType ? [t] : t, function (t, a) {
43041                    r && (e += t * r), s = a.parentNode, $.each(["height", "paddingTop", "paddingBottom", "marginTop", "marginBottom"], function (t, e) {
43042                        n += parseFloat(i.CSS.getPropertyValue(a, e))
43043                    })
43044                }), i.animate(s, {height: ("In" === a ? "+" : "-") + "=" + n}, {
43045                    queue: !1,
43046                    easing: "ease-in-out",
43047                    duration: e * ("In" === a ? .6 : 1)
43048                })
43049            }
43050
43051            return i.Redirects[t] = function (n, s, o, l, c, u) {
43052                function f() {
43053                    s.display !== r && "none" !== s.display || !/Out$/.test(t) || $.each(c.nodeType ? [c] : c, function (t, a) {
43054                        i.CSS.setPropertyValue(a, "display", "none")
43055                    }), s.complete && s.complete.call(c, c), u && u.resolver(c || n)
43056                }
43057
43058                var p = o === l - 1;
43059                a.defaultDuration = "function" == typeof a.defaultDuration ? a.defaultDuration.call(c, c) : parseFloat(a.defaultDuration);
43060                for (var d = 0; d < a.calls.length; d++) {
43061                    var g = a.calls[d], y = g[0], m = s.duration || a.defaultDuration || 1e3, X = g[1], Y = g[2] || {},
43062                        O = {};
43063                    if (O.duration = m * (X || 1), O.queue = s.queue || "", O.easing = Y.easing || "ease", O.delay = parseFloat(Y.delay) || 0, O._cacheValues = Y._cacheValues || !0, 0 === d) {
43064                        if (O.delay += parseFloat(s.delay) || 0, 0 === o && (O.begin = function () {
43065                            s.begin && s.begin.call(c, c);
43066                            var a = t.match(/(In|Out)$/);
43067                            a && "In" === a[0] && y.opacity !== r && $.each(c.nodeType ? [c] : c, function (t, a) {
43068                                i.CSS.setPropertyValue(a, "opacity", 0)
43069                            }), s.animateParentHeight && a && e(c, a[0], m + O.delay, s.stagger)
43070                        }), null !== s.display) if (s.display !== r && "none" !== s.display) O.display = s.display; else if (/In$/.test(t)) {
43071                            var v = i.CSS.Values.getDisplayType(n);
43072                            O.display = "inline" === v ? "inline-block" : v
43073                        }
43074                        s.visibility && "hidden" !== s.visibility && (O.visibility = s.visibility)
43075                    }
43076                    d === a.calls.length - 1 && (O.complete = function () {
43077                        if (a.reset) {
43078                            for (var t in a.reset) {
43079                                var e = a.reset[t];
43080                                i.CSS.Hooks.registered[t] !== r || "string" != typeof e && "number" != typeof e || (a.reset[t] = [a.reset[t], a.reset[t]])
43081                            }
43082                            var s = {duration: 0, queue: !1};
43083                            p && (s.complete = f), i.animate(n, a.reset, s)
43084                        } else p && f()
43085                    }, "hidden" === s.visibility && (O.visibility = s.visibility)), i.animate(n, y, O)
43086                }
43087            }, i
43088        }, i.RegisterEffect.packagedEffects = {
43089            "callout.bounce": {
43090                defaultDuration: 550,
43091                calls: [[{translateY: -30}, .25], [{translateY: 0}, .125], [{translateY: -15}, .125], [{translateY: 0}, .25]]
43092            },
43093            "callout.shake": {
vendor: 6,573 bytes, lines 43094-43240
43094                defaultDuration: 800,
43095                calls: [[{translateX: -11}, .125], [{translateX: 11}, .125], [{translateX: -11}, .125], [{translateX: 11}, .125], [{translateX: -11}, .125], [{translateX: 11}, .125], [{translateX: -11}, .125], [{translateX: 0}, .125]]
43096            },
43097            "callout.flash": {
43098                defaultDuration: 1100,
43099                calls: [[{opacity: [0, "easeInOutQuad", 1]}, .25], [{opacity: [1, "easeInOutQuad"]}, .25], [{opacity: [0, "easeInOutQuad"]}, .25], [{opacity: [1, "easeInOutQuad"]}, .25]]
43100            },
43101            "callout.pulse": {
43102                defaultDuration: 825,
43103                calls: [[{scaleX: 1.1, scaleY: 1.1}, .5, {easing: "easeInExpo"}], [{scaleX: 1, scaleY: 1}, .5]]
43104            },
43105            "callout.swing": {
43106                defaultDuration: 950,
43107                calls: [[{rotateZ: 15}, .2], [{rotateZ: -10}, .2], [{rotateZ: 5}, .2], [{rotateZ: -5}, .2], [{rotateZ: 0}, .2]]
43108            },
43109            "callout.tada": {
43110                defaultDuration: 1e3,
43111                calls: [[{scaleX: .9, scaleY: .9, rotateZ: -3}, .1], [{
43112                    scaleX: 1.1,
43113                    scaleY: 1.1,
43114                    rotateZ: 3
43115                }, .1], [{
43116                    scaleX: 1.1,
43117                    scaleY: 1.1,
43118                    rotateZ: -3
43119                }, .1], ["reverse", .125], ["reverse", .125], ["reverse", .125], ["reverse", .125], ["reverse", .125], [{
43120                    scaleX: 1,
43121                    scaleY: 1,
43122                    rotateZ: 0
43123                }, .2]]
43124            },
43125            "transition.fadeIn": {defaultDuration: 500, calls: [[{opacity: [1, 0]}]]},
43126            "transition.fadeOut": {defaultDuration: 500, calls: [[{opacity: [0, 1]}]]},
43127            "transition.flipXIn": {
43128                defaultDuration: 700,
43129                calls: [[{opacity: [1, 0], transformPerspective: [800, 800], rotateY: [0, -55]}]],
43130                reset: {transformPerspective: 0}
43131            },
43132            "transition.flipXOut": {
43133                defaultDuration: 700,
43134                calls: [[{opacity: [0, 1], transformPerspective: [800, 800], rotateY: 55}]],
43135                reset: {transformPerspective: 0, rotateY: 0}
43136            },
43137            "transition.flipYIn": {
43138                defaultDuration: 800,
43139                calls: [[{opacity: [1, 0], transformPerspective: [800, 800], rotateX: [0, -45]}]],
43140                reset: {transformPerspective: 0}
43141            },
43142            "transition.flipYOut": {
43143                defaultDuration: 800,
43144                calls: [[{opacity: [0, 1], transformPerspective: [800, 800], rotateX: 25}]],
43145                reset: {transformPerspective: 0, rotateX: 0}
43146            },
43147            "transition.flipBounceXIn": {
43148                defaultDuration: 900,
43149                calls: [[{opacity: [.725, 0], transformPerspective: [400, 400], rotateY: [-10, 90]}, .5], [{
43150                    opacity: .8,
43151                    rotateY: 10
43152                }, .25], [{opacity: 1, rotateY: 0}, .25]],
43153                reset: {transformPerspective: 0}
43154            },
43155            "transition.flipBounceXOut": {
43156                defaultDuration: 800,
43157                calls: [[{opacity: [.9, 1], transformPerspective: [400, 400], rotateY: -10}, .5], [{
43158                    opacity: 0,
43159                    rotateY: 90
43160                }, .5]],
43161                reset: {transformPerspective: 0, rotateY: 0}
43162            },
43163            "transition.flipBounceYIn": {
43164                defaultDuration: 850,
43165                calls: [[{opacity: [.725, 0], transformPerspective: [400, 400], rotateX: [-10, 90]}, .5], [{
43166                    opacity: .8,
43167                    rotateX: 10
43168                }, .25], [{opacity: 1, rotateX: 0}, .25]],
43169                reset: {transformPerspective: 0}
43170            },
43171            "transition.flipBounceYOut": {
43172                defaultDuration: 800,
43173                calls: [[{opacity: [.9, 1], transformPerspective: [400, 400], rotateX: -15}, .5], [{
43174                    opacity: 0,
43175                    rotateX: 90
43176                }, .5]],
43177                reset: {transformPerspective: 0, rotateX: 0}
43178            },
43179            "transition.swoopIn": {
43180                defaultDuration: 850,
43181                calls: [[{
43182                    opacity: [1, 0],
43183                    transformOriginX: ["100%", "50%"],
43184                    transformOriginY: ["100%", "100%"],
43185                    scaleX: [1, 0],
43186                    scaleY: [1, 0],
43187                    translateX: [0, -700],
43188                    translateZ: 0
43189                }]],
43190                reset: {transformOriginX: "50%", transformOriginY: "50%"}
43191            },
43192            "transition.swoopOut": {
43193                defaultDuration: 850,
43194                calls: [[{
43195                    opacity: [0, 1],
43196                    transformOriginX: ["50%", "100%"],
43197                    transformOriginY: ["100%", "100%"],
43198                    scaleX: 0,
43199                    scaleY: 0,
43200                    translateX: -700,
43201                    translateZ: 0
43202                }]],
43203                reset: {transformOriginX: "50%", transformOriginY: "50%", scaleX: 1, scaleY: 1, translateX: 0}
43204            },
43205            "transition.whirlIn": {
43206                defaultDuration: 850,
43207                calls: [[{
43208                    opacity: [1, 0],
43209                    transformOriginX: ["50%", "50%"],
43210                    transformOriginY: ["50%", "50%"],
43211                    scaleX: [1, 0],
43212                    scaleY: [1, 0],
43213                    rotateY: [0, 160]
43214                }, 1, {easing: "easeInOutSine"}]]
43215            },
43216            "transition.whirlOut": {
43217                defaultDuration: 750,
43218                calls: [[{
43219                    opacity: [0, "easeInOutQuint", 1],
43220                    transformOriginX: ["50%", "50%"],
43221                    transformOriginY: ["50%", "50%"],
43222                    scaleX: 0,
43223                    scaleY: 0,
43224                    rotateY: 160
43225                }, 1, {easing: "swing"}]],
43226                reset: {scaleX: 1, scaleY: 1, rotateY: 0}
43227            },
43228            "transition.shrinkIn": {
43229                defaultDuration: 750,
43230                calls: [[{
43231                    opacity: [1, 0],
43232                    transformOriginX: ["50%", "50%"],
43233                    transformOriginY: ["50%", "50%"],
43234                    scaleX: [1, 1.5],
43235                    scaleY: [1, 1.5],
43236                    translateZ: 0
43237                }]]
43238            },
43239            "transition.shrinkOut": {
43240                defaultDuration: 600,
vendor: 4,208 bytes, lines 43241-43342
43241                calls: [[{
43242                    opacity: [0, 1],
43243                    transformOriginX: ["50%", "50%"],
43244                    transformOriginY: ["50%", "50%"],
43245                    scaleX: 1.3,
43246                    scaleY: 1.3,
43247                    translateZ: 0
43248                }]],
43249                reset: {scaleX: 1, scaleY: 1}
43250            },
43251            "transition.expandIn": {
43252                defaultDuration: 700,
43253                calls: [[{
43254                    opacity: [1, 0],
43255                    transformOriginX: ["50%", "50%"],
43256                    transformOriginY: ["50%", "50%"],
43257                    scaleX: [1, .625],
43258                    scaleY: [1, .625],
43259                    translateZ: 0
43260                }]]
43261            },
43262            "transition.expandOut": {
43263                defaultDuration: 700,
43264                calls: [[{
43265                    opacity: [0, 1],
43266                    transformOriginX: ["50%", "50%"],
43267                    transformOriginY: ["50%", "50%"],
43268                    scaleX: .5,
43269                    scaleY: .5,
43270                    translateZ: 0
43271                }]],
43272                reset: {scaleX: 1, scaleY: 1}
43273            },
43274            "transition.bounceIn": {
43275                defaultDuration: 800,
43276                calls: [[{opacity: [1, 0], scaleX: [1.05, .3], scaleY: [1.05, .3]}, .4], [{
43277                    scaleX: .9,
43278                    scaleY: .9,
43279                    translateZ: 0
43280                }, .2], [{scaleX: 1, scaleY: 1}, .5]]
43281            },
43282            "transition.bounceOut": {
43283                defaultDuration: 800,
43284                calls: [[{scaleX: .95, scaleY: .95}, .35], [{
43285                    scaleX: 1.1,
43286                    scaleY: 1.1,
43287                    translateZ: 0
43288                }, .35], [{opacity: [0, 1], scaleX: .3, scaleY: .3}, .3]],
43289                reset: {scaleX: 1, scaleY: 1}
43290            },
43291            "transition.bounceUpIn": {
43292                defaultDuration: 800,
43293                calls: [[{
43294                    opacity: [1, 0],
43295                    translateY: [-30, 1e3]
43296                }, .6, {easing: "easeOutCirc"}], [{translateY: 10}, .2], [{translateY: 0}, .2]]
43297            },
43298            "transition.bounceUpOut": {
43299                defaultDuration: 1e3,
43300                calls: [[{translateY: 20}, .2], [{opacity: [0, "easeInCirc", 1], translateY: -1e3}, .8]],
43301                reset: {translateY: 0}
43302            },
43303            "transition.bounceDownIn": {
43304                defaultDuration: 800,
43305                calls: [[{
43306                    opacity: [1, 0],
43307                    translateY: [30, -1e3]
43308                }, .6, {easing: "easeOutCirc"}], [{translateY: -10}, .2], [{translateY: 0}, .2]]
43309            },
43310            "transition.bounceDownOut": {
43311                defaultDuration: 1e3,
43312                calls: [[{translateY: -20}, .2], [{opacity: [0, "easeInCirc", 1], translateY: 1e3}, .8]],
43313                reset: {translateY: 0}
43314            },
43315            "transition.bounceLeftIn": {
43316                defaultDuration: 750,
43317                calls: [[{
43318                    opacity: [1, 0],
43319                    translateX: [30, -1250]
43320                }, .6, {easing: "easeOutCirc"}], [{translateX: -10}, .2], [{translateX: 0}, .2]]
43321            },
43322            "transition.bounceLeftOut": {
43323                defaultDuration: 750,
43324                calls: [[{translateX: 30}, .2], [{opacity: [0, "easeInCirc", 1], translateX: -1250}, .8]],
43325                reset: {translateX: 0}
43326            },
43327            "transition.bounceRightIn": {
43328                defaultDuration: 750,
43329                calls: [[{
43330                    opacity: [1, 0],
43331                    translateX: [-30, 1250]
43332                }, .6, {easing: "easeOutCirc"}], [{translateX: 10}, .2], [{translateX: 0}, .2]]
43333            },
43334            "transition.bounceRightOut": {
43335                defaultDuration: 750,
43336                calls: [[{translateX: -30}, .2], [{opacity: [0, "easeInCirc", 1], translateX: 1250}, .8]],
43337                reset: {translateX: 0}
43338            },
43339            "transition.slideUpIn": {
43340                defaultDuration: 900,
43341                calls: [[{opacity: [1, 0], translateY: [0, 20], translateZ: 0}]]
43342            },
43343            "transition.slideUpOut": {
43344                defaultDuration: 900,
43345                calls: [[{opacity: [0, 1], translateY: -20, translateZ: 0}]],
43346                reset: {translateY: 0}
43347            },
43348            "transition.slideDownIn": {
43349                defaultDuration: 900,
43350                calls: [[{opacity: [1, 0], translateY: [0, -20], translateZ: 0}]]
43351            },
43352            "transition.slideDownOut": {
43353                defaultDuration: 900,
43354                calls: [[{opacity: [0, 1], translateY: 20, translateZ: 0}]],
43355                reset: {translateY: 0}
43356            },
43357            "transition.slideLeftIn": {
43358                defaultDuration: 1e3,
43359                calls: [[{opacity: [1, 0], translateX: [0, -20], translateZ: 0}]]
43360            },
43361            "transition.slideLeftOut": {
43362                defaultDuration: 1050,
43363                calls: [[{opacity: [0, 1], translateX: -20, translateZ: 0}]],
43364                reset: {translateX: 0}
43365            },
43366            "transition.slideRightIn": {
43367                defaultDuration: 1e3,
43368                calls: [[{opacity: [1, 0], translateX: [0, 20], translateZ: 0}]]
43369            },
43370            "transition.slideRightOut": {
43371                defaultDuration: 1050,
43372                calls: [[{opacity: [0, 1], translateX: 20, translateZ: 0}]],
43373                reset: {translateX: 0}
43374            },
43375            "transition.slideUpBigIn": {
43376                defaultDuration: 850,
43377                calls: [[{opacity: [1, 0], translateY: [0, 75], translateZ: 0}]]
43378            },
43379            "transition.slideUpBigOut": {
43380                defaultDuration: 800,
43381                calls: [[{opacity: [0, 1], translateY: -75, translateZ: 0}]],
43382                reset: {translateY: 0}
43383            },
43384            "transition.slideDownBigIn": {
43385                defaultDuration: 850,
43386                calls: [[{opacity: [1, 0], translateY: [0, -75], translateZ: 0}]]
43387            },
43388            "transition.slideDownBigOut": {
43389                defaultDuration: 800,
43390                calls: [[{opacity: [0, 1], translateY: 75, translateZ: 0}]],
43391                reset: {translateY: 0}
43392            },
43393            "transition.slideLeftBigIn": {
43394                defaultDuration: 800,
43395                calls: [[{opacity: [1, 0], translateX: [0, -75], translateZ: 0}]]
43396            },
43397            "transition.slideLeftBigOut": {
43398                defaultDuration: 750,
43399                calls: [[{opacity: [0, 1], translateX: -75, translateZ: 0}]],
43400                reset: {translateX: 0}
43401            },
43402            "transition.slideRightBigIn": {
43403                defaultDuration: 800,
43404                calls: [[{opacity: [1, 0], translateX: [0, 75], translateZ: 0}]]
43405            },
43406            "transition.slideRightBigOut": {
43407                defaultDuration: 750,
43408                calls: [[{opacity: [0, 1], translateX: 75, translateZ: 0}]],
43409                reset: {translateX: 0}
43410            },
43411            "transition.perspectiveUpIn": {
43412                defaultDuration: 800,
43413                calls: [[{
43414                    opacity: [1, 0],
43415                    transformPerspective: [800, 800],
43416                    transformOriginX: [0, 0],
43417                    transformOriginY: ["100%", "100%"],
43418                    rotateX: [0, -180]
43419                }]],
43420                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%"}
43421            },
43422            "transition.perspectiveUpOut": {
43423                defaultDuration: 850,
43424                calls: [[{
43425                    opacity: [0, 1],
43426                    transformPerspective: [800, 800],
43427                    transformOriginX: [0, 0],
43428                    transformOriginY: ["100%", "100%"],
43429                    rotateX: -180
43430                }]],
43431                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateX: 0}
43432            },
43433            "transition.perspectiveDownIn": {
43434                defaultDuration: 800,
43435                calls: [[{
43436                    opacity: [1, 0],
43437                    transformPerspective: [800, 800],
43438                    transformOriginX: [0, 0],
43439                    transformOriginY: [0, 0],
43440                    rotateX: [0, 180]
43441                }]],
43442                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%"}
43443            },
43444            "transition.perspectiveDownOut": {
43445                defaultDuration: 850,
43446                calls: [[{
43447                    opacity: [0, 1],
43448                    transformPerspective: [800, 800],
43449                    transformOriginX: [0, 0],
43450                    transformOriginY: [0, 0],
43451                    rotateX: 180
43452                }]],
43453                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateX: 0}
43454            },
43455            "transition.perspectiveLeftIn": {
43456                defaultDuration: 950,
43457                calls: [[{
43458                    opacity: [1, 0],
43459                    transformPerspective: [2e3, 2e3],
43460                    transformOriginX: [0, 0],
43461                    transformOriginY: [0, 0],
43462                    rotateY: [0, -180]
43463                }]],
43464                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%"}
43465            },
43466            "transition.perspectiveLeftOut": {
43467                defaultDuration: 950,
43468                calls: [[{
43469                    opacity: [0, 1],
43470                    transformPerspective: [2e3, 2e3],
43471                    transformOriginX: [0, 0],
43472                    transformOriginY: [0, 0],
43473                    rotateY: -180
43474                }]],
43475                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateY: 0}
43476            },
43477            "transition.perspectiveRightIn": {
43478                defaultDuration: 950,
43479                calls: [[{
43480                    opacity: [1, 0],
43481                    transformPerspective: [2e3, 2e3],
43482                    transformOriginX: ["100%", "100%"],
43483                    transformOriginY: [0, 0],
43484                    rotateY: [0, 180]
43485                }]],
43486                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%"}
43487            },
43488            "transition.perspectiveRightOut": {
43489                defaultDuration: 950,
43490                calls: [[{
43491                    opacity: [0, 1],
43492                    transformPerspective: [2e3, 2e3],
43493                    transformOriginX: ["100%", "100%"],
43494                    transformOriginY: [0, 0],
43495                    rotateY: 180
43496                }]],
43497                reset: {transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateY: 0}
43498            }
43499        };
43500        for (var c in i.RegisterEffect.packagedEffects) i.RegisterEffect(c, i.RegisterEffect.packagedEffects[c]);
43501        i.RunSequence = function (t) {
43502            var a = $.extend(!0, [], t);
43503            a.length > 1 && ($.each(a.reverse(), function (t, e) {
43504                var r = a[t + 1];
43505                if (r) {
43506                    var n = e.o || e.options, s = r.o || r.options,
43507                        o = n && n.sequenceQueue === !1 ? "begin" : "complete", l = s && s[o], c = {};
43508                    c[o] = function () {
43509                        var t = r.e || r.elements, a = t.nodeType ? [t] : t;
43510                        l && l.call(a, a), i(e)
43511                    }, r.o ? r.o = $.extend({}, s, c) : r.options = $.extend({}, s, c)
43512                }
43513            }), a.reverse()), i(a[0])
43514        }
43515    }(window.jQuery || window.Zepto || window, window, document)
43516}), function ($, window, document, undefined) {
43517    var OnePageNav = function (elem, options) {
43518        this.elem = elem, this.$elem = $(elem), this.options = options, this.metadata = this.$elem.data("plugin-options"), this.$win = $(window), this.sections = {}, this.didScroll = !1, this.$doc = $(document), this.docHeight = this.$doc.height()
43519    };
43520    OnePageNav.prototype = {
43521        defaults: {
43522            navItems: "a",
43523            currentClass: "current",
43524            changeHash: !1,
43525            easing: "swing",
43526            filter: "",
43527            scrollSpeed: 750,
43528            scrollThreshold: .5,
43529            begin: !1,
43530            end: !1,
43531            scrollChange: !1
43532        }, init: function () {
43533            return this.config = $.extend({}, this.defaults, this.options, this.metadata), this.$nav = this.$elem.find(this.config.navItems), "" !== this.config.filter && (this.$nav = this.$nav.filter(this.config.filter)), this.$nav.on("click.onePageNav", $.proxy(this.handleClick, this)), this.getPositions(), this.bindInterval(), this.$win.on("resize.onePageNav", $.proxy(this.getPositions, this)), this
43534        }
43534, adjustNav: function (self, $parent) {
43535            self.$elem.find("." + self.config.currentClass).removeClass(self.config.currentClass), $parent.addClass(self.config.currentClass)
43536        }, bindInterval: function () {
43537            var docHeight, self = this;
43538            self.$win.on("scroll.onePageNav", function () {
43539                self.didScroll = !0
43540            }), self.t = setInterval(function () {
43541                docHeight = self.$doc.height(), self.didScroll && (self.didScroll = !1, self.scrollChange()), docHeight !== self.docHeight && (self.docHeight = docHeight, self.getPositions())
43542            }, 250)
43543        }, getHash: function ($link) {
43544            return $link.attr("href").split("#")[1]
43545        }, getPositions: function () {
43546            var linkHref, topPos, $target, self = this;
43547            self.$nav.each(function () {
43548                linkHref = self.getHash($(this)), $target = $("#" + linkHref), $target.length && (topPos = $target.offset().top, self.sections[linkHref] = Math.round(topPos))
43549            })
43550        }, getSection: function (windowPos) {
43551            var returnValue = null, windowHeight = Math.round(this.$win.height() * this.config.scrollThreshold);
43552            for (var section in this.sections) this.sections[section] - windowHeight < windowPos && (returnValue = section);
43553            return returnValue
43554        }, handleClick: function (e) {
43555            var self = this, $link = $(e.currentTarget), $parent = $link.parent(), newLoc = "#" + self.getHash($link);
43556            $parent.hasClass(self.config.currentClass) || (self.config.begin && self.config.begin(), self.adjustNav(self, $parent), self.unbindInterval(), self.scrollTo(newLoc, function () {
43557                self.config.changeHash && (window.location.hash = newLoc), self.bindInterval(), self.config.end && self.config.end()
43558            })), e.preventDefault()
43559        }, scrollChange: function () {
43560            var $parent, windowTop = this.$win.scrollTop(), position = this.getSection(windowTop);
43561            null !== position && ($parent = this.$elem.find('a[href$="#' + position + '"]').parent(), $parent.hasClass(this.config.currentClass) || (this.adjustNav(this, $parent), this.config.scrollChange && this.config.scrollChange($parent)))
43562        }, scrollTo: function (target, callback) {
43563            var offset = $(target).offset().top, menuHeight = 0, scrollToPos = 0;
43564            $("#main-navigation").length && (menuHeight = $("#main-navigation").height() + 1, menuHeight > 60 && (menuHeight = 59)), scrollToPos = offset - menuHeight > 0 ? offset - menuHeight : offset, $("html, body").animate({scrollTop: scrollToPos}, this.config.scrollSpeed, this.config.easing, callback)
43565        }, unbindInterval: function () {
43566            clearInterval(this.t), this.$win.unbind("scroll.onePageNav")
43567        }
43568    }, OnePageNav.defaults = OnePageNav.prototype.defaults, $.fn.onePageNav = function (options) {
43569        return this.each(function () {
43570            new OnePageNav(this, options).init()
43571        })
43572    }
43573}(jQuery, window, document), function (b) {
43574    b.fn.multiscroll = function (c) {
43575        function q() {
43576            var a = window.location.hash.replace("#", "");
43577            if (a.length) {
43578                var c = b(".ms-left").find('[data-anchor="' + a + '"]');
43579                "undefined" != typeof lastScrolledDestiny && a === lastScrolledDestiny || h(c)
43580            }
43581        }
43582
43583        function r() {
43584            t = b(window).height(), b(".ms-tableCell").each(function () {
43585                b(this).css({height: v(b(this).parent())})
43586            }), w(), b.isFunction(c.afterResize) && c.afterResize.call(this)
43587        }
43588
43589        function w() {
43590            c.css3 ? (m(b(".ms-left"), "translate3d(0px, -" + b(".ms-left").find(".ms-section.active").position().top + "px, 0px)", !1), m(b(".ms-right"), "translate3d(0px, -" + b(".ms-right").find(".ms-section.active").position().top + "px, 0px)", !1)) : (b(".ms-left").css("top", -b(".ms-left").find(".ms-section.active").position().top), b(".ms-right").css("top", -b(".ms-right").find(".ms-section.active").position().top))
43591        }
43592
43593        function h(a) {
43594            var e = a.index(), d = b(".ms-right").find(".ms-section").eq(C - 1 - e), k = a.data("anchor"),
43595                g = b(".ms-left .ms-section.active").index() + 1, h = D(a);
43596            l = !0;
43597            var f = {left: a.position().top, right: d.position().top};
43598            d.addClass("active").siblings().removeClass("active"), a.addClass("active").siblings().removeClass("active"), c.anchors.length && (location.hash = k), x(), c.css3 ? (b.isFunction(c.onLeave) && c.onLeave.call(this, g, e + 1, h), a = "translate3d(0px, -" + f.left + "px, 0px)", f = "translate3d(0px, -" + f.right + "px, 0px)", m(b(".ms-left"), a, !0), m(b(".ms-right"), f, !0), setTimeout(function () {
43599                b.isFunction(c.afterLoad) && c.afterLoad.call(this, k, e + 1), setTimeout(function () {
43600                    l = !1
43601                }, 600)
43602            }, c.scrollingSpeed)) : (b.isFunction(c.onLeave) && c.onLeave.call(this, g, e + 1, h), b(".ms-left").animate({top: -f.left}, c.scrollingSpeed, c.easing, function () {
43603                b.isFunction(c.afterLoad) && c.afterLoad.call(this, k, e + 1), setTimeout(function () {
43604                    l = !1
43605                }, 600)
43606            }), b(".ms-right").animate({top: -f.right}, c.scrollingSpeed, c.easing)), lastScrolledDestiny = k, E(k), F(k, e)
43607        }
43608
43609        function y() {
43610            document.addEventListener ? (document.addEventListener("mousewheel", f, !1), document.addEventListener("wheel", f, !1)) : document.attachEvent("onmousewheel", f)
43611        }
43612
43613        function f(a) {
43614            return a = window.event || a, a = Math.max(-1, Math.min(1, a.wheelDelta || -a.deltaY || -a.detail)), l || (0 > a ? d.moveSectionDown() : d.moveSectionUp()), !1
43615        }
43616
43617        function m(a, b, c) {
43618            a.toggleClass("ms-easing", c), a.css({
43619                "-webkit-transform": b,
43620                "-moz-transform": b,
43621                "-ms-transform": b,
43622                transform: b
43623            })
43624        }
43625
43626        function F(a, e) {
43627            c.navigation && (b("#multiscroll-nav").find(".active").removeClass("active"), a ? b("#multiscroll-nav").find('a[href="#' + a + '"]').addClass("active") : b("#multiscroll-nav").find("li").eq(e).find("a").addClass("active"))
43628        }
43629
43630        function E(a) {
43631            c.menu && (b(c.menu).find(".active").removeClass("active"), b(c.menu).find('[data-menuanchor="' + a + '"]').addClass("active"))
43632        }
43633
43634        function D(a) {
43635            var c = b(".ms-left .ms-section.active").index();
43636            return a = a.index(), c > a ? "up" : "down"
43637        }
43638
43639        function x() {
43640            var a = b(".ms-left .ms-section.active"), e = a.data("anchor"), a = a.index(), a = String(a);
43641            c.anchors.length && (a = e), a = a.replace("/", "-").replace("#", ""), e = RegExp("\\b\\s?ms-viewing-[^\\s]+\\b", "g"), b("body")[0].className = b("body")[0].className.replace(e, ""), b("body").addClass("ms-viewing-" + a)
43642        }
43643
43644        function G() {
43645            var b, a = document.createElement("p"), c = {
43646                webkitTransform: "-webkit-transform",
43647                OTransform: "-o-transform",
43648                msTransform: "-ms-transform",
43649                MozTransform: "-moz-transform",
43650                transform: "transform"
43651            };
43652            document.body.insertBefore(a, null);
43653            for (var d in c) void 0 !== a.style[d] && (a.style[d] = "translate3d(1px,1px,1px)", b = window.getComputedStyle(a).getPropertyValue(c[d]));
43654            return document.body.removeChild(a), void 0 !== b && 0 < b.length && "none" !== b
43655        }
43656
43657        function v(a) {
43658            var b = t;
43659            return (c.paddingTop || c.paddingBottom) && (a = parseInt(a.css("padding-top")) + parseInt(a.css("padding-bottom")), b = t - a), b
43660        }
43661
43662        function H(a) {
43663            var e = a.originalEvent;
43664            u(e) && (a.preventDefault(), b(".ms-left .ms-section.active"), l || (n = z(e).y, Math.abs(p - n) > b(window).height() / 100 * c.touchSensitivity && (p > n ? d.moveSectionDown() : n > p && d.moveSectionUp())))
43665        }
43666
43667        function u(a) {
43668            return "undefined" == typeof a.pointerType || "mouse" != a.pointerType
43669        }
43670
43671        function I(a) {
43672            a = a.originalEvent, u(a) && (p = z(a).y)
43673        }
43674
43675        function z(a) {
43676            var b = [];
43677            return b.y = "undefined" != typeof a.pageY && (a.pageY || a.pageX) ? a.pageY : a.touches[0].pageY, b.x = "undefined" != typeof a.pageX && (a.pageY || a.pageX) ? a.pageX : a.touches[0].pageX, A && u(a) && (b.y = a.touches[0].pageY, b.x = a.touches[0].pageX), b
43678        }
43679
43680        var d = b.fn.multiscroll;
43681        c = b.extend({
43682            verticalCentered: !0,
43683            scrollingSpeed: 700,
43684            easing: "easeInQuart",
43685            menu: !1,
43686            sectionsColor: [],
43687            anchors: [],
43688            navigation: !1,
43689            navigationPosition: "right",
43690            navigationColor: "#000",
43691            navigationTooltips: [],
43692            loopBottom: !1,
43693            loopTop: !1,
43694            css3: !1,
43695            paddingTop: 0,
43696            paddingBottom: 0,
43697            fixedElements: null,
43698            normalScrollElements: null,
43699            keyboardScrolling: !0,
43700            touchSensitivity: 5,
43701            sectionSelector: ".ms-section",
43702            leftSelector: ".ms-left",
43703            rightSelector: ".ms-right",
43704            afterLoad: null,
43705            onLeave: null,
43706            afterRender: null,
43707            afterResize: null
43708        }, c);
43709        var A = "ontouchstart" in window || 0 < navigator.msMaxTouchPoints || navigator.maxTouchPoints;
43710        ".ms-right" !== c.rightSelector && b(c.rightSelector).addClass("ms-right"), ".ms-left" !== c.leftSelector && b(c.leftSelector).addClass("ms-left");
43711        var g, C = b(".ms-left").find(".ms-section").length, l = !1, t = b(window).height();
43712        y(), A && (MSPointer = window.PointerEvent ? {
43713            down: "pointerdown",
43714            move: "pointermove"
43715        } : {
43716            down: "MSPointerDown",
43717            move: "MSPointerMove"
43718        }, b(document).off("touchstart " + MSPointer.down).on("touchstart " + MSPointer.down, I), b(document).off("touchmove " + MSPointer.move).on("touchmove " + MSPointer.move, H)), c.css3 && (c.css3 = G()), b("html, body").css({
43719            overflow: "hidden",
43720            height: "100%"
43721        }), ".ms-section" !== c.sectionSelector && b(c.sectionSelector).each(function () {
43722            b(this).addClass("ms-section")
43723        }), c.navigation && (b("body").append('<div id="multiscroll-nav"><ul></ul></div>'), g = b("#multiscroll-nav"), g.css("color", c.navigationColor), g.addClass(c.navigationPosition)), b(".ms-right, .ms-left").css({
43724            width: "50%",
43725            position: "absolute",
43726            height: "100%",
43727            "-ms-touch-action": "none"
43728        }
43728), b(".ms-right").css({
43729            right: "1px",
43730            top: "0",
43731            "-ms-touch-action": "none",
43732            "touch-action": "none"
43733        }), b(".ms-left").css({
43734            left: "0",
43735            top: "0",
43736            "-ms-touch-action": "none",
43737            "touch-action": "none"
43738        }), b(".ms-left .ms-section, .ms-right .ms-section").each(function () {
43739            var a = b(this).index();
43740            if ((c.paddingTop || c.paddingBottom) && b(this).css("padding", c.paddingTop + " 0 " + c.paddingBottom + " 0"), "undefined" != typeof c.sectionsColor[a] && b(this).css("background-color", c.sectionsColor[a]), "undefined" != typeof c.anchors[a] && b(this).attr("data-anchor", c.anchors[a]), c.verticalCentered) {
43741                var d = b(this);
43742                d.addClass("ms-table").wrapInner('<div class="ms-tableCell" style="height: ' + v(d) + 'px" />')
43743            }
43744            b(this).closest(".ms-left").length && c.navigation && (d = "", c.anchors.length && (d = c.anchors[a]), a = c.navigationTooltips[a], "undefined" == typeof a && (a = ""), c.navigation && g.find("ul").append('<li data-tooltip="' + a + '"><a href="#' + d + '"><span></span></a></li>'))
43745        }), b(".ms-right").html(b(".ms-right").find(".ms-section").get().reverse()), b(".ms-left .ms-section, .ms-right .ms-section").each(function () {
43746            var a = b(this).index();
43747            b(this).css({height: "100%"}), !a && c.navigation && g.find("li").eq(a).find("a").addClass("active")
43748        }).promise().done(function () {
43749            b(".ms-left .ms-section.active").length || (b(".ms-right").find(".ms-section").last().addClass("active"), b(".ms-left").find(".ms-section").first().addClass("active")), c.navigation && g.css("margin-top", "-" + g.height() / 2 + "px"), b.isFunction(c.afterRender) && c.afterRender.call(this), w(), x(), b(window).on("load", function () {
43750                var a = window.location.hash.replace("#", ""), c = b('.ms-left .ms-section[data-anchor="' + a + '"]');
43751                a.length && h(c)
43752            })
43753        }), b(window).on("hashchange", q), b(document).keydown(function (a) {
43754            clearTimeout(B);
43755            var e = b(document.activeElement);
43756            e.is("textarea") || e.is("input") || e.is("select") || !c.keyboardScrolling || (-1 < b.inArray(a.which, [40, 38, 32, 33, 34]) && a.preventDefault(), B = setTimeout(function () {
43757                var c = a.shiftKey;
43758                switch (a.which) {
43759                    case 38:
43760                    case 33:
43761                        d.moveSectionUp();
43762                        break;
43763                    case 32:
43764                        if (c) {
43765                            d.moveSectionUp();
43766                            break
43767                        }
43768                    case 40:
43769                    case 34:
43770                        d.moveSectionDown();
43771                        break;
43772                    case 36:
43773                        d.moveTo(1);
43774                        break;
43775                    case 35:
43776                        d.moveTo(b(".ms-left .ms-section").length)
43777                }
43778            }, 150))
43779        });
43780        var B;
43781        b(document).mousedown(function (a) {
43782            return 1 == a.button ? (a.preventDefault(), !1) : void 0
43783        }), b(document).on("click", "#multiscroll-nav a", function (a) {
43784            a.preventDefault(), a = b(this).parent().index(), h(b(".ms-left .ms-section").eq(a))
43785        }), b(document).on({
43786            mouseenter: function () {
43787                var a = b(this).data("tooltip");
43788                b('<div class="multiscroll-tooltip ' + c.navigationPosition + '">' + a + "</div>").hide().appendTo(b(this)).fadeIn(200)
43789            }, mouseleave: function () {
43790                b(this).find(".multiscroll-tooltip").fadeOut(200, function () {
43791                    b(this).remove()
43792                })
43793            }
43794        }, "#multiscroll-nav li"), c.normalScrollElements && (b(document).on("mouseenter", c.normalScrollElements, function () {
43795            d.setMouseWheelScrolling(!1)
43796        }), b(document).on("mouseleave", c.normalScrollElements, function () {
43797            d.setMouseWheelScrolling(!0)
43798        })), b(window).on("resize", r), d.moveSectionUp = function () {
43799            var a = b(".ms-left .ms-section.active").prev(".ms-section");
43800            !a.length && c.loopTop && (a = b(".ms-left .ms-section").last()), a.length && h(a)
43801        }, d.moveSectionDown = function () {
43802            var a = b(".ms-left .ms-section.active").next(".ms-section");
43803            !a.length && c.loopBottom && (a = b(".ms-left .ms-section").first()), a.length && h(a)
43804        }, d.moveTo = function (a) {
43805            var c = "", c = isNaN(a) ? b('.ms-left [data-anchor="' + a + '"]') : b(".ms-left .ms-section").eq(a - 1);
43806            h(c)
43807        }, d.setKeyboardScrolling = function (a) {
43808            c.keyboardScrolling = a
43809        }, d.setMouseWheelScrolling = function (a) {
43810            a ? y() : document.addEventListener ? (document.removeEventListener("mousewheel", f, !1), document.removeEventListener("wheel", f, !1)) : document.detachEvent("onmousewheel", f)
43811        }, d.setScrollingSpeed = function (a) {
43812            c.scrollingSpeed = a
43813        };
43814        var p = 0, n = 0;
43815        d.destroy = function () {
43816            d.setKeyboardScrolling(!1), d.setMouseWheelScrolling(!1), b(window).off("hashchange", q).off("resize", r), b(document).off("mouseenter", "#multiscroll-nav li").off("mouseleave", "#multiscroll-nav li").off("
43816click", "#multiscroll-nav a")
43817        }, d.build = function () {
43818            d.setKeyboardScrolling(!0), d.setMouseWheelScrolling(!0), b(window).on("hashchange", q).on("resize", r), b(document).on("mouseenter", "#multiscroll-nav li").on("mouseleave", "#multiscroll-nav li").on("click", "#multiscroll-nav a")
43819        }
43820    }
43821}(jQuery), $(window).resize(function () {
43822    "use strict"
43823}), $(window).scroll(function () {
43824    "use strict"
43825}), $(window).bind("load", function () {
43826    "use strict"
43827}), function () {
43828    "use strict";
43829    postIsotope(), setTimeout(function () {
43830        blogIsotope(), $(window).trigger("resize")
43831    }, 700)
43832}(), function () {
43833    "use strict";
43834    chart()
43835}(), "#shop".length && ($(window).resize(function () {
43836    "use strict";
43837    extendedProduct()
43838}), function () {
43839    "use strict";
43840
43841    function createSliderDots(container) {
43842        var dotsWrapper = $('<ol class="dots"></ol>').insertAfter(container.children(".product-img"));
43843        return container.find(".product-wrapper li").each(function (index) {
43844            var dotWrapper = 0 === index ? $('<li class="selected"></li>') : $("<li></li>"),
43845                dot = $('<a href="#"></a>').appendTo(dotWrapper);
43846            dotWrapper.appendTo(dotsWrapper), dot.text(index + 1)
43847        }), dotsWrapper.children("li")
43848    }
43849
43850    function hoverItem(item, bool) {
43851        item.hasClass("move-right") ? item.toggleClass("hover", bool).siblings(".selected, .move-left").toggleClass("focus-on-right", bool) : item.toggleClass("hover", bool).siblings(".selected, .move-right").toggleClass("focus-on-left", bool)
43852    }
43853
43854    function nextSlide(container, dots, n) {
43855        var visibleSlide = container.find(".product-wrapper .selected"),
43856            navigationDot = container.find(".dots .selected");
43857        "undefined" == typeof n && (n = visibleSlide.index() + 1), visibleSlide.removeClass("selected"), container.find(".product-wrapper li").eq(n).addClass("selected").removeClass("move-right hover").prevAll().removeClass("move-right move-left focus-on-right").addClass("hide-left").end().prev().removeClass("hide-left").addClass("move-left").end().next().addClass("move-right"), navigationDot.removeClass("selected"),
43858            dots.eq(n).addClass("selected")
43859    }
43860
43861    function prevSlide(container, dots, n) {
43862        var visibleSlide = container.find(".product-wrapper .selected"),
43863            navigationDot = container.find(".dots .selected");
43864        "undefined" == typeof n && (n = visibleSlide.index() - 1), visibleSlide.removeClass("selected focus-on-left"), container.find(".product-wrapper li").eq(n).addClass("selected").removeClass("move-left hide-left hover").nextAll().removeClass("hide-left move-right move-left focus-on-left").end().next().addClass("move-right").end().prev().removeClass("hide-left").addClass("move-left"), navigationDot.removeClass("selected"), dots.eq(n).addClass("selected")
43865    }
43866
43867    function updatePrice(container, n) {
43868        var priceTag = container.find(".product-price"), selectedItem = container.find(".product-wrapper li").eq(n);
43869        if (selectedItem.data("sale")) {
43870            priceTag.addClass("on-sale");
43871            var newPriceTag = priceTag.next(".product-new-price").length > 0 ? priceTag.next(".product-new-price") : $('<p class="product-new-price"></p>').insertAfter(priceTag);
43872            newPriceTag.text(selectedItem.data("price")), setTimeout(function () {
43873                newPriceTag.addClass("is-visible")
43874            }, 100)
43875        } else priceTag.removeClass("on-sale").next(".product-new-price").removeClass("is-visible").on("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function () {
43876            priceTag.next(".product-new-price").remove()
43877        })
43878    }
43879
43880    function quickView() {
43881        $(".product-quickview a").click(function (e) {
43882            e.preventDefault()
43883        }), $.fn.magnificPopup && $(".product-quickview a").magnificPopup({
43884            type: "ajax",
43885            removalDelay: 500,
43886            closeBtnInside: !0,
43887            closeOnBgClick: !1,
43888            closeMarkup: '<span class="mfp-close">x</span>',
43889            callbacks: {
43890                beforeOpen: function () {
43891                    this.st.mainClass = "mfp-move-horizontal"
43892                }, ajaxContentAdded: function () {
43893                    this.content.find(".icon-hover a").each(function () {
43894                        var icon = $(this).html();
43895                        $(this).append(icon)
43896                    }), flexslider()
43897                }
43898            }
43899        })
43900    }
43901
43902    function priceRange() {
43903        $(".price-slider").length && ($(".price-slider").slider({
43904            range: !0,
43905            min: 0,
43906            max: 500,
43907            values: [75, 300],
43908            slide: function (event, ui) {
43909                $("#amount").text("$" + ui.values[0] + " - $" + ui.values[1])
43910            }
43911        }), $("#amount").text("$" + $(".price-slider").slider("values", 0) + " - $" + $(".price-slider").slider("values", 1)))
43912    }
43913
43914    wishlist(), $(".colors-filter").on("mouseover", "li", function () {
43915        $(".colors-filter li").removeClass("grayscale"), $(this).siblings().addClass("grayscale")
43916    }), $(".colors-filter").on("mouseout", "li", function () {
43917        $(".colors-filter li").removeClass("grayscale")
43918    }), priceRange(), addToCart(), removeFromCart(), updateAmountCart(), shipping(), quickView(), productVariable(), extendedProduct(), snowEffect();
43919    var productItems = $(".product");
43920    productItems.each(function () {
43921        var container = $(this), sliderDots = createSliderDots(container);
43922        updatePrice(container, 0), sliderDots.on("click", function (e) {
43923            e.preventDefault();
43924            var selectedDot = $(this);
43925            if (!selectedDot.hasClass("selected")) {
43926                var selectedPosition = selectedDot.index(),
43927                    activePosition = container.find(".product-wrapper .selected").index();
43928                selectedPosition > activePosition ? nextSlide(container, sliderDots, selectedPosition) : prevSlide(container, sliderDots, selectedPosition), updatePrice(container, selectedPosition)
43929            }
43930        }), container.find(".product-wrapper").on("swipeleft", function () {
43931            var wrapper = $(this);
43932            if (!wrapper.find(".selected").is(":last-child")) {
43933                var selectedPosition = container.find(".product-wrapper .selected").index() + 1;
43934                nextSlide(container, sliderDots), updatePrice(container, selectedPosition)
43935            }
43936        }), container.find(".product-wrapper").on("swiperight", function () {
43937            var wrapper = $(this);
43938            if (!wrapper.find(".selected").is(":first-child")) {
43939                var selectedPosition = container.find(".product-wrapper .selected").index() - 1;
43940                prevSlide(container, sliderDots), updatePrice(container, selectedPosition)
43941            }
43942        }), container.on("mouseover", ".move-right, .move-left", function (event) {
43943            hoverItem($(this), !0)
43944        }), container.on("mouseleave", ".move-right, .move-left", function (event) {
43945            hoverItem($(this), !1)
43946        }), container.on("click", ".move-right, .move-left", function (event) {
43947            if (event.preventDefault(), $(this).hasClass("move-right")) {
43948                var selectedPosition = container.find(".product-wrapper .selected").index() + 1;
43949                nextSlide(container, sliderDots)
43950            } else {
43951                var selectedPosition = container.find(".product-wrapper .selected").index() - 1;
43952                prevSlide(container, sliderDots)
43953            }
43954            updatePrice(container, selectedPosition)
43955        })
43956    }), $.fn.flexslider && ($("#product-slider-thumbnails").flexslider({
43957        animation: "slide",
43958        controlNav: !1,
43959        animationLoop: !1,
43960        slideshow: !1,
43961        itemMargin: 10,
43962        itemWidth: 132,
43963        prevText: "",
43964        nextText: "",
43965        asNavFor: "#product-slider"
43966    }), $("#product-slider").flexslider({
43967        animation: "fade",
43968        controlNav: !1,
43969        directionNav: !1,
43970        animationLoop: !1,
43971        slideshow: !1,
43972        prevText: "",
43973        nextText: ""
43974    })), $("#ship-different-address input").click(function () {
43975        $("#different-address-info").slideToggle(300).toggleClass("ship-visible"), handleSelect()
43976    }), $("#toggle-coupon a").click(function (e) {
43977        e.preventDefault(), $(".coupon-wrapper form").slideToggle(300).toggleClass("coupon-visible")
43978    }), $("#toggle-login a").click(function (e) {
43979        e.preventDefault(), $(".login-wrapper form").slideToggle(300).toggleClass("login-visible")
43980    }), $(".go-reviews").click(function (e) {
43981        e.preventDefault(), $("html, body").animate({scrollTop: $(".product-info").offset().top}, 1e3)
43982    }), setTimeout(function () {
43983    }, 200)
43984}()), function () {
43985    "use strict";
43986    googleMap()
43987}(), $(window).bind("load", function () {
43988    "use strict";
43989    setTimeout(function () {
43990        masonryHeight(), handleIsotope()
43991    }, 300)
43992}), $(window).resize(function () {
43993    "use strict";
43994    masonryHeight()
43995});
43996var showMobileMenuWidth = 1200, body = $("body"), wrapper = $("#wrapper"), toggleMenu = $(".toggle-menu"),
43997    topnav = $(".main-nav-wrapper"), topnavHeight = $("#main-navigation").height(),
43998    topbarHeight = $("#topbar").height() + 1, headerTopHeight = $(".header-top").height(),
43999    windowWidth = $(window).width(), windowHeight = $(window).height(), scrollPos = $(window).scrollTop(),
44000    lastScrollTop = 0, fullPageCreated = !1,
44001    isOpera = !!window.opr && !!opr.addons || !!window.opera || navigator.userAgent.indexOf(" OPR/") >= 0,
44002    isFirefox = "undefined" != typeof InstallTrigger,
44003    isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") > 0,
44004    isIE = !!document.documentMode, isEdge = !isIE && !!window.StyleMedia,
44005    isChrome = !!window.chrome && !!window.chrome.webstore, isBlink = (isChrome || isOpera) && !!window.CSS;
44006$(window).scroll(function () {
44007    "use strict";
44008    scrollPos = $(window).scrollTop(), navbarScroll(), stickyNav(), headerNoSticky(), handleTopbar()
44009}), $(window).resize(function () {
44010    "use strict";
44011    handleMenus(), handleFullpage()
44012}), function () {
44013    "use strict";
44014    var isMobile = {
44015        Android: function () {
44016            return navigator.userAgent.match(/Android/i)
44017        }, BlackBerry: function () {
44018            return navigator.userAgent.match(/BlackBerry/i)
44019        }, iOS: function () {
44020            return navigator.userAgent.match(/iPhone|iPad|iPod/i)
44021        }, Opera: function () {
44022            return navigator.userAgent.match(/Opera Mini/i)
44023        }, Windows: function () {
44024            return navigator.userAgent.match(/IEMobile/i)
44025        }, any: function () {
44026            return isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()
44027        }
44028    };
44029    handleMenus(), handleTopMenu(), handleFullscreenMenu(), handleOffMainMenu(), handleSideMenu(), handleMobileMenu(), mainNavSubmenus(), asideNavSubmenus(), navbarScroll(), stickyNav(), headerNoSticky(), onepageNavigation(), handleFullpage(), !isMobile.any() && windowWidth > 992 && splitscreen(), handleTopbar(), menuBackgroundImg(), "ecommerce" !== body.data("page-type") && $(".wishlist-tool, .cart-tool").remove()
44030}(), $(window).bind("load", function () {
44031    "use strict";
44032    setTimeout(function () {
44033        $(".overview").length && overviewIsotope()
44034    }, 600)
44035}), function () {
44036    "use strict";
44037    if ($(".overview").length) {
44038        var windowWidth = $(window).width(), midWidth = ($(window).height(), windowWidth / 2);
44039        1300 > windowWidth ? $("[data-overview-link]").click(function () {
44040            var targetLink = $(this).data("overview-link");
44041            $("body").fadeOut(350, function () {
44042                window.location.href = targetLink
44043            })
44044        }) : ($(".overview .grid .item .item-wrapper").click(function () {
44045            $(".grid .item").removeClass("active"), $(this).parents(".item").addClass("active")
44046        }), $(".grid .item .item-close").click(function () {
44047            $(this).parents(".item").removeClass("active")
44048        }), $("#off-aside-menu nav ul li a").click(function () {
44049            closeSideMenu()
44050        })), setTimeout(function () {
44051            midWidth = $(window).width() / 2, $(".item:not(.isotope-hidden)").each(function () {
44052                var posLeft = $(this).position().left;
44053                midWidth > posLeft ? $(this).removeClass("active-left") : $(this).addClass("active-left")
44054            })
44055        }, 500)
44056    }
44057}(), $(window).resize(function () {
44058    "use strict";
44059    portfolioAjax(), galleryCover()
44060}), $(window).bind("load", function () {
44061    "use strict";
44062    setTimeout(function () {
44063        portfolioAjax()
44064    }, 400)
44065}), function () {
44066    "use strict";
44067    if ($(".portfolio-ajax").length) {
44068        var colioRun = function () {
44069            $("#ajax-portfolio").remove(), $(".masonry").colio({
44070                id: "ajax-portfolio",
44071                theme: "white",
44072                placement: "before",
44073                scrollOffset: 130,
44074                expandLink: ".ajax-link",
44075                closeText: '<i class="nc-icon-outline ui-1_circle-remove"></i>',
44076                nextText: '<i class="nc-icon-outline arrows-1_circle-right-37"></i>',
44077                prevText: '<i class="nc-icon-outline arrows-1_circle-left-38"></i>',
44078                onContent: function (content) {
44079                    $(".flexslider", content).flexslider({
44080                        controlNav: !1,
44081                        prevText: "",
44082                        nextText: ""
44083                    }), iconHover(), handleVideo(), 0 != $(content).find(".masonry").length && setTimeout(function () {
44084                        handleIsotope()
44085                    }, 300)
44086                }
44087            })
44088        };
44089        colioRun()
44090    }
44091    galleryCover()
44092}();
44093var sectionPortfolio = $(".section-portfolio"), portfolioList = $(".section-portfolio .masonry");
44094!function () {
44095    "use strict";
44096    portfolioBuilder()
44097}(), function () {
44098    "use strict";
44099    handlesearch()
44100}(), jQuery(document).ready(function ($) {
44101    "use strict";
44102    $(".text-animate").length && textAnimation()
44103}
44103), $(window).resize(function () {
44104    "use strict";
44105    $(".text-animate").length && $(".text-animate").each(function () {
44106        var headline = $(this);
44107        if (headline.hasClass("clip")) {
44108            var spanWrapper = headline.find(".words-wrapper");
44109            spanWrapper.css("width", "");
44110            var newWidth = spanWrapper.width() + 10;
44111            spanWrapper.css("width", newWidth)
44112        } else if (!headline.hasClass("type")) {
44113            var words = headline.find(".words-wrapper b"), width = 0;
44114            words.each(function () {
44115                var wordWidth = $(this).width();
44116                wordWidth > width && (width = wordWidth)
44117            }), headline.find(".words-wrapper").css("width", width)
44118        }
44119    })
44120}), function () {
44121    "use strict";
44122    $(".menu-restaurant li").each(function () {
44123        var menuTitleWidth = $(this).find(".menu-title").width(), menuPriceWidth = $(this).find(".menu-price").width();
44124        $(this).find(".menu-line").css("left", menuTitleWidth).css("right", menuPriceWidth)
44125    }), $(".menu-restaurant li a").click(function (e) {
44126        e.preventDefault();
44127        var menuImg = $(this).data("meal-img"), imgCover = $(this).parents("section").find(".img-cover");
44128        imgCover.animate({opacity: 0}, 200, function () {
44129            imgCover.css("background-image", "url(" + menuImg + ")"), imgCover.animate({opacity: 1}, 200)
44130        })
44131    })
44132}();
44133var builder = $("#builder"), menuHeader = $("#header"), menuStyle = "right-align", menuColor = "light",
44134    menuMobile = '<aside id="aside-nav"> <div id="main-aside-navigation"> <div class="main-nav-wrapper"> <div id="aside-logo"> <a href="#" data-logo-light="assets/img/logo/logo-aside-light.png" data-logo-dark="assets/img/logo/logo-aside-dark.png"> <img width="170" height="166" src="assets/img/logo/logo-aside-dark.png" alt="logo"> </a> </div> <nav id="main-aside-menu"> <ul> <li class="submenu"> <a href="#">Layouts</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Corporate</a> <ul> <li> <a href="homepage-app">Apps</a> </li> <li> <a href="homepage-fitness">Fitness</a> </li> <li> <a href="homepage-restaurant">Restaurant</a> </li> <li> <a href="homepage-yoga">Yoga</a> </li> <li> <a href="homepage-construction">Construction</a> </li> <li> <a href="homepage-agency">Web Agency</a> </li> <li> <a href="homepage-corporate">Corporate</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white">Modern</a> </li> <li> <a href="homepage-blog-newspaper">Newspaper</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Creative</a> <ul> <li> <a href="homepage-creative">Photographer</a> </li> <li> <a href="homepage-agency">Side Navigation</a> </li> <li> <a href="homepage-wedding">Wedding</a> </li> <li> <a href="homepage-corporate">Agency - Portfolio</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Classic</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered">Bordered layout</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">One Page</a> <ul> <li> <a href="onepage-photography">Photography</a> </li> <li> <a href="onepage-fashion">Fashion</a> </li> <li> <a href="onepage-gym">Gym</a> </li> <li> <a href="onepage-agency-split-screen">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider">Bar - Restaurant</a> </li> <li> <a href="onepage-3d">3D Concept</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44134Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li>
44134 <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="submenu"> <a href="#">Pages</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2 </a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register </a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register</a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode">
44134Maintenance Mode</a> </li> <li> <a href="coming-soon">Coming soon flat</a> </li> <li> <a href="coming-soon-video">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li><a href="sitemap"></a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Portfolio</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns</a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grids</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2"> Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar </a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Blog</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern">Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-fullwidth-4">4 Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44134Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="">Shop</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right"> Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product </a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation </a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Elements</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase </a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation</a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </li> </ul> </nav> <footer> <a href="" class="facebook"> <span><i class="fa fa-facebook"></i></span> </a> <a href="" class="instagram"> <span><i class="fa fa-instagram"></i></span> </a> <a href="" class="twitter"> <span><i class="fa fa-twitter"></i></span> </a> </footer> </div> </div> </aside>',
44135    menuLeftAlign = '<div id="main-navigation" class="submenu-dark"> <div class="main-nav-wrapper"> <div class="container-fluid"> <div class="nav-left"> <div id="logo"> <a href="overview" data-logo-light="assets/img/logo/logo-light.png" data-logo-dark="assets/img/logo/logo-dark.png"> <img width="145" height="36" src="assets/img/logo/logo-light.png" alt="logo"> </a> </div> <nav id="main-menu"> <ul> <li class="mega-menu menu-layouts"> <a href="#">Layouts</a> <div class="mega-menu-content col-5 clearfix"> <div class="menu-bg-image perspective-img-1" data-menu-img="assets/img/mockups/perspective-1.png"></div> <div class="menu-bg-image perspective-img-2" data-menu-img="assets/img/mockups/perspective-2.png"></div> <div class="menu-bg-image perspective-img-3" data-menu-img="assets/img/mockups/perspective-3.png"></div> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Corporate Onepage" data-title-multipages="Corporate">Corporate</a> <ul> <li> <a href="homepage-app" data-href-onepage="onepage-app" data-href-multipages="homepage-app" data-title-onepage="Apps Onepage" data-title-multipages="Apps" class="screenshot menu-layout" data-rel="assets/img/demo/overview/app.jpg">Apps</a> </li> <li> <a href="homepage-fitness" data-href-onepage="onepage-fitness" data-href-multipages="homepage-fitness" data-title-onepage="Fitness Onepage" data-title-multipages="Fitness" class="screenshot menu-layout" data-rel="assets/img/demo/overview/fitness.jpg">Fitness</a> </li> <li> <a href="homepage-restaurant" data-href-onepage="onepage-restaurant" data-href-multipages="homepage-restaurant" data-title-onepage="Restaurant Onepage" data-title-multipages="Restaurant" class="screenshot menu-layout" data-rel="assets/img/demo/overview/restaurant.jpg">Restaurant</a> </li> <li> <a href="homepage-yoga" data-href-onepage="onepage-yoga" data-href-multipages="homepage-yoga" data-title-onepage="Yoga Onepage" data-title-multipages="Yoga" class="screenshot menu-layout" data-rel="assets/img/demo/overview/yoga.jpg">Yoga</a> </li> <li> <a href="homepage-construction" data-href-onepage="onepage-construction" data-href-multipages="homepage-construction" data-title-onepage="Construction Onepage" data-title-multipages="Construction" class="screenshot menu-layout" data-rel="assets/img/demo/overview/construction.jpg">Construction</a> </li> <li> <a href="homepage-agency" data-href-onepage="onepage-agency" data-href-multipages="homepage-agency" data-title-onepage="Agency Onepage" data-title-multipages="Agency" class="screenshot menu-layout" data-rel="assets/img/demo/overview/agency.jpg">Web Agency</a> </li> <li> <a href="homepage-corporate" data-href-onepage="onepage-corporate" data-href-multipages="homepage-corporate" data-title-onepage="Corporate Onepage" data-title-multipages="Corporate" class="screenshot menu-layout" data-rel="assets/img/demo/overview/corporate.jpg">Corporate</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Onepage Ecommerce" data-title-multipages="Ecommerce">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow" data-href-onepage="onepage-shop-snow" data-href-multipages="homepage-shop-snow" data-title-onepage="Snowing Onepage" data-title-multipages="Snowing Effe
44135ct" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-snow.jpg">Snowing Effect</a> </li> <li> <a href="homepage-shop" data-href-onepage="onepage-shop" data-href-multipages="homepage-shop" data-title-onepage="Default Onepage" data-title-multipages="Default" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-default.jpg">Classic</a> </li> <li> <a href="homepage-shop-extended-products" data-href-onepage="onepage-shop-extended-products" data-href-multipages="homepage-shop-extended-products" data-title-onepage="Produtcs Onepage" data-title-multipages="Extended Products" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-extended-products.jpg">Extended Products</a> </li> <li> <a href="homepage-shop-categories-slider" data-href-onepage="onepage-categories-slider" data-href-multipages="homepage-categories-slider" data-title-onepage="Categories Onepage" data-title-multipages="Categories Slider" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-categories-slider.jpg">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed" data-href-onepage="onepage-shop-boxed" data-href-multipages="homepage-shop-boxed" data-title-onepage="Onepage Boxed" data-title-multipages="Boxed Layout" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-boxed.jpg">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered" data-href-onepage="onepage-shop-bordered" data-href-multipages="homepage-shop-bordered" data-title-onepage="Onepage Bordered" data-title-multipages="Bordered Layout" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-bordered.jpg">Bordered layout</a> </li> <li> <a href="homepage-shop-fullscreen" class="screenshot" data-rel="assets/img/demo/overview/shop-fullscreen.jpg">Fullscreen</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Creative Onepage" data-title-multipages="Creative">Creative</a> <ul> <li> <a href="homepage-wedding" data-href-onepage="onepage-wedding" data-href-multipages="homepage-wedding" data-title-onepage="Wedding Onepage" data-title-multipages="Wedding" class="screenshot menu-layout" data-rel="assets/img/demo/overview/wedding.jpg">Wedding</a> </li> <li> <a href="homepage-creative" class="screenshot" data-rel="assets/img/demo/overview/creative.jpg">Photographer</a> </li> <li> <a href="homepage-creative-side-nav" class="screenshot" data-rel="assets/img/demo/overview/creative-side.jpg">Side Navigation</a> </li> <li> <a href="homepage-portfolio" class="screenshot" data-rel="assets/img/demo/overview/portfolio.jpg">Portfolio</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white" class="screenshot" data-rel="assets/img/demo/overview/blog-modern.jpg">Modern</a> </li> <li> <a href="homepage-blog-newspaper" class="screenshot" data-rel="assets/img/demo/overview/blog-newspaper.jpg">Newspaper</a> </li> </ul> </li> </ul> <ul class="no-border"> <li> <a class="menu-title" href="#">Special Onepage</a> <ul> <li> <a href="onepage-photography" class="screenshot" data-rel="assets/img/demo/overview/onepage-photography.jpg">Photography</a> </li> <li> <a href="onepage-fashion" class="screenshot" data-rel="assets/img/demo/overview/onepage-fashion.jpg">Fashion</a> </li> <li> <a href="onepage-gym" class="screenshot" data-rel="assets/img/demo/overview/onepage-gym.jpg">Gym</a> </li> <li> <a href="onepage-agency-split-screen" class="screenshot" data-rel="assets/img/demo/overview/agency-split.jpg">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen" class="screenshot" data-rel="assets/img/demo/overview/agency-split.jpg">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider" class="screenshot" data-rel="assets/img/demo/overview/restaurant-slider.jpg">Bar - Restaurant</a> </li> <li> <a href="onepage-3d" class="screenshot" data-rel="assets/img/demo/overview/onepage-3d.jpg">3D Concept</a> </li> </ul> </li> </ul> <div class="menu-infobox-wrapper"> <div class="menu-infobox"> Most layouts are available in multipages &amp; onepage version. <a href="#" class="btn btn-white toggle-onepage">See onepage version</a> </div> </div> </div> </li> <li> <a href="#">
44135Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44135Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="mega-menu"> <a href="#">Pages</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2</a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register</a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register </a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode" target="_blank">
44135Maintenance Mode</a> </li> <li> <a href="coming-soon" target="_blank">Coming soon flat</a> </li> <li> <a href="coming-soon-vimeo" target="_blank">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li> <a href="sitemap">Sitemap</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Portfolio</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns </a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2">Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar</a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Blog</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern"> Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar </a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-4">4 Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44135Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="">Shop</a> <div class="mega-menu-content col-5 clearfix"> <div class="menu-bg-image" data-menu-img="assets/img/ecommerce/transparent-2.png"></div> <ul> <li> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">
44135 Snowing Effect </a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right">Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product</a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Elements</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation </a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </div> </li> </ul> <!-- BEGIN SEARCH --> <div id="top-search" style="display: none;"> <a href="#" id="top-search-trigger"><i class="icon-search3"></i><i class="icon-line-cross"></i></a> <form action="search.php" method="get"> <input type="text" name="q" class="form-control" value="" placeholder="Type &amp; Hit Enter.."> </form> </div> <!-- END SEARCH --> </nav> </div> <div class="nav-right"> <ul class="nav-tools"> <li class="cart-tool"> <a href="#" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-glyph shopping_bag-16"></i></span> <span class="cart_items_number">0</span> </a> </li> <li class="wishlist-tool"> <a href="wishlist" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-2_favourite-28"></i></span> <span class="wishlist_items_number">0</span> </a> </li> <li class="search-tool"> <a href="#" class="tools-btn" data-toggle-search="fullscreen"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-1_zoom"></i></span> </a> </li> <li class="mobile-menu-btn"> <button class="toggle-menu" data-toggle="mobile-menu" data-effect="hover"> <span class="menu-label label-left">Menu</span> <i class="nc-icon-outline ui-2_menu-35"></i> </button> </li> </ul> </div> </div> </div> </div>',
44136    menuRightAlign = '<div id="main-navigation" class="submenu-dark"> <div class="main-nav-wrapper"> <div class="container-fluid"> <div class="nav-left"> <div id="logo"> <a href="overview" data-logo-light="assets/img/logo/logo-light.png" data-logo-dark="assets/img/logo/logo-dark.png"> <img width="145" height="36" src="assets/img/logo/logo-light.png" alt="logo"> </a> </div> </div> <div class="nav-right"> <nav id="main-menu"> <ul> <li class="mega-menu menu-layouts"> <a href="#">Layouts</a> <div class="mega-menu-content col-5 clearfix"> <div class="menu-bg-image perspective-img-1" data-menu-img="assets/img/mockups/perspective-1.png"></div> <div class="menu-bg-image perspective-img-2" data-menu-img="assets/img/mockups/perspective-2.png"></div> <div class="menu-bg-image perspective-img-3" data-menu-img="assets/img/mockups/perspective-3.png"></div> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Corporate Onepage" data-title-multipages="Corporate">Corporate</a> <ul> <li> <a href="homepage-app" data-href-onepage="onepage-app" data-href-multipages="homepage-app" data-title-onepage="Apps Onepage" data-title-multipages="Apps" class="screenshot menu-layout" data-rel="assets/img/demo/overview/app.jpg">Apps</a> </li> <li> <a href="homepage-fitness" data-href-onepage="onepage-fitness" data-href-multipages="homepage-fitness" data-title-onepage="Fitness Onepage" data-title-multipages="Fitness" class="screenshot menu-layout" data-rel="assets/img/demo/overview/fitness.jpg">Fitness</a> </li> <li> <a href="homepage-restaurant" data-href-onepage="onepage-restaurant" data-href-multipages="homepage-restaurant" data-title-onepage="Restaurant Onepage" data-title-multipages="Restaurant" class="screenshot menu-layout" data-rel="assets/img/demo/overview/restaurant.jpg">Restaurant</a> </li> <li> <a href="homepage-yoga" data-href-onepage="onepage-yoga" data-href-multipages="homepage-yoga" data-title-onepage="Yoga Onepage" data-title-multipages="Yoga" class="screenshot menu-layout" data-rel="assets/img/demo/overview/yoga.jpg">Yoga</a> </li> <li> <a href="homepage-construction" data-href-onepage="onepage-construction" data-href-multipages="homepage-construction" data-title-onepage="Construction Onepage" data-title-multipages="Construction" class="screenshot menu-layout" data-rel="assets/img/demo/overview/construction.jpg">Construction</a> </li> <li> <a href="homepage-agency" data-href-onepage="onepage-agency" data-href-multipages="homepage-agency" data-title-onepage="Agency Onepage" data-title-multipages="Agency" class="screenshot menu-layout" data-rel="assets/img/demo/overview/agency.jpg">Web Agency</a> </li> <li> <a href="homepage-corporate" data-href-onepage="onepage-corporate" data-href-multipages="homepage-corporate" data-title-onepage="Corporate Onepage" data-title-multipages="Corporate" class="screenshot menu-layout" data-rel="assets/img/demo/overview/corporate.jpg">Corporate</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Onepage Ecommerce" data-title-multipages="Ecommerce">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow" data-href-onepage="onepage-shop-snow" data-href-multipages="homepage-shop-snow" data-title-onepage="Snowing Onepage" data-title-multipages="Snowing Effe
44136ct" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-snow.jpg">Snowing Effect</a> </li> <li> <a href="homepage-shop" data-href-onepage="onepage-shop" data-href-multipages="homepage-shop" data-title-onepage="Default Onepage" data-title-multipages="Default" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-default.jpg">Classic</a> </li> <li> <a href="homepage-shop-extended-products" data-href-onepage="onepage-shop-extended-products" data-href-multipages="homepage-shop-extended-products" data-title-onepage="Produtcs Onepage" data-title-multipages="Extended Products" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-extended-products.jpg">Extended Products</a> </li> <li> <a href="homepage-shop-categories-slider" data-href-onepage="onepage-categories-slider" data-href-multipages="homepage-categories-slider" data-title-onepage="Categories Onepage" data-title-multipages="Categories Slider" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-categories-slider.jpg">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed" data-href-onepage="onepage-shop-boxed" data-href-multipages="homepage-shop-boxed" data-title-onepage="Onepage Boxed" data-title-multipages="Boxed Layout" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-boxed.jpg">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered" data-href-onepage="onepage-shop-bordered" data-href-multipages="homepage-shop-bordered" data-title-onepage="Onepage Bordered" data-title-multipages="Bordered Layout" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-bordered.jpg">Bordered layout</a> </li> <li> <a href="homepage-shop-fullscreen" class="screenshot" data-rel="assets/img/demo/overview/shop-fullscreen.jpg">Fullscreen</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Creative Onepage" data-title-multipages="Creative">Creative</a> <ul> <li> <a href="homepage-wedding" data-href-onepage="onepage-wedding" data-href-multipages="homepage-wedding" data-title-onepage="Wedding Onepage" data-title-multipages="Wedding" class="screenshot menu-layout" data-rel="assets/img/demo/overview/wedding.jpg">Wedding</a> </li> <li> <a href="homepage-creative" class="screenshot" data-rel="assets/img/demo/overview/creative.jpg">Photographer</a> </li> <li> <a href="homepage-creative-side-nav" class="screenshot" data-rel="assets/img/demo/overview/creative-side.jpg">Side Navigation</a> </li> <li> <a href="homepage-portfolio" class="screenshot" data-rel="assets/img/demo/overview/portfolio.jpg">Portfolio</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white" class="screenshot" data-rel="assets/img/demo/overview/blog-modern.jpg">Modern</a> </li> <li> <a href="homepage-blog-newspaper" class="screenshot" data-rel="assets/img/demo/overview/blog-newspaper.jpg">Newspaper</a> </li> </ul> </li> </ul> <ul class="no-border"> <li> <a class="menu-title" href="#">Special Onepage</a> <ul> <li> <a href="onepage-photography" class="screenshot" data-rel="assets/img/demo/overview/onepage-photography.jpg">Photography</a> </li> <li> <a href="onepage-fashion" class="screenshot" data-rel="assets/img/demo/overview/onepage-fashion.jpg">Fashion</a> </li> <li> <a href="onepage-gym" class="screenshot" data-rel="assets/img/demo/overview/onepage-gym.jpg">Gym</a> </li> <li> <a href="onepage-agency-split-screen" class="screenshot" data-rel="assets/img/demo/overview/agency-split.jpg">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen" class="screenshot" data-rel="assets/img/demo/overview/agency-split.jpg">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider" class="screenshot" data-rel="assets/img/demo/overview/restaurant-slider.jpg">Bar - Restaurant</a> </li> <li> <a href="onepage-3d" class="screenshot" data-rel="assets/img/demo/overview/onepage-3d.jpg">3D Concept</a> </li> </ul> </li> </ul> <div class="menu-infobox-wrapper"> <div class="menu-infobox"> Most layouts are available in multipages &amp; onepage version. <a href="#" class="btn btn-white toggle-onepage">See onepage version</a> </div> </div> </div> </li> <li> <a href="#">
44136Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44136Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="mega-menu"> <a href="#">Pages</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2</a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register</a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register </a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode" target="_blank">
44136Maintenance Mode</a> </li> <li> <a href="coming-soon" target="_blank">Coming soon flat</a> </li> <li> <a href="coming-soon-vimeo" target="_blank">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li> <a href="sitemap">Sitemap</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Portfolio</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns </a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2">Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar</a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Blog</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern"> Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar </a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-4">4 Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44136Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="">Shop</a> <div class="mega-menu-content col-5 clearfix"> <div class="menu-bg-image" data-menu-img="assets/img/ecommerce/transparent-2.png"></div> <ul> <li> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">
44136 Snowing Effect </a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right">Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product</a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Elements</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation </a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </div> </li> </ul> </nav> <ul class="nav-tools"> <li class="cart-tool"> <a href="shopping-cart" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-glyph shopping_bag-16"></i></span> <span class="cart_items_number">0</span> </a> </li> <li class="wishlist-tool"> <a href="shop-wishlist" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-2_favourite-28"></i></span> <span class="wishlist_items_number">0</span> </a> </li> <li class="search-tool"> <a href="#" class="tools-btn" data-toggle-search="fullscreen"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-1_zoom"></i></span> </a> </li> <li class="mobile-menu-btn"> <button class="toggle-menu" data-toggle="mobile-menu" data-effect="hover"> <span class="menu-label label-left">Menu</span> <i class="nc-icon-outline ui-2_menu-35"></i> </button> </li> </ul> </div> </div> </div> </div>',
44137    menuLogoCenter = '<div id="main-navigation" class="nav-logo-center submenu-dark"> <div class="main-nav-wrapper"> <div class="container-fluid"> <div class="nav-left"> <nav class="main-menu"> <ul> <li class="mega-menu menu-layouts"> <a href="#">Layouts</a> <div class="mega-menu-content col-5 clearfix"> <div class="menu-bg-image perspective-img-1" data-menu-img="assets/img/mockups/perspective-1.png"></div> <div class="menu-bg-image perspective-img-2" data-menu-img="assets/img/mockups/perspective-2.png"></div> <div class="menu-bg-image perspective-img-3" data-menu-img="assets/img/mockups/perspective-3.png"></div> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Corporate Onepage" data-title-multipages="Corporate">Corporate</a> <ul> <li> <a href="homepage-app" data-href-onepage="onepage-app" data-href-multipages="homepage-app" data-title-onepage="Apps Onepage" data-title-multipages="Apps" class="screenshot menu-layout" data-rel="assets/img/demo/overview/app.jpg">Apps</a> </li> <li> <a href="homepage-fitness" data-href-onepage="onepage-fitness" data-href-multipages="homepage-fitness" data-title-onepage="Fitness Onepage" data-title-multipages="Fitness" class="screenshot menu-layout" data-rel="assets/img/demo/overview/fitness.jpg">Fitness</a> </li> <li> <a href="homepage-restaurant" data-href-onepage="onepage-restaurant" data-href-multipages="homepage-restaurant" data-title-onepage="Restaurant Onepage" data-title-multipages="Restaurant" class="screenshot menu-layout" data-rel="assets/img/demo/overview/restaurant.jpg">Restaurant</a> </li> <li> <a href="homepage-yoga" data-href-onepage="onepage-yoga" data-href-multipages="homepage-yoga" data-title-onepage="Yoga Onepage" data-title-multipages="Yoga" class="screenshot menu-layout" data-rel="assets/img/demo/overview/yoga.jpg">Yoga</a> </li> <li> <a href="homepage-construction" data-href-onepage="onepage-construction" data-href-multipages="homepage-construction" data-title-onepage="Construction Onepage" data-title-multipages="Construction" class="screenshot menu-layout" data-rel="assets/img/demo/overview/construction.jpg">Construction</a> </li> <li> <a href="homepage-agency" data-href-onepage="onepage-agency" data-href-multipages="homepage-agency" data-title-onepage="Agency Onepage" data-title-multipages="Agency" class="screenshot menu-layout" data-rel="assets/img/demo/overview/agency.jpg">Web Agency</a> </li> <li> <a href="homepage-corporate" data-href-onepage="onepage-corporate" data-href-multipages="homepage-corporate" data-title-onepage="Corporate Onepage" data-title-multipages="Corporate" class="screenshot menu-layout" data-rel="assets/img/demo/overview/corporate.jpg">Corporate</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Onepage Ecommerce" data-title-multipages="Ecommerce">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow" data-href-onepage="onepage-shop-snow" data-href-multipages="homepage-shop-snow" data-title-onepage="Snowing Onepage" data-title-multipages="Snowing Effe
44137ct" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-snow.jpg">Snowing Effect</a> </li> <li> <a href="homepage-shop" data-href-onepage="onepage-shop" data-href-multipages="homepage-shop" data-title-onepage="Default Onepage" data-title-multipages="Default" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-default.jpg">Classic</a> </li> <li> <a href="homepage-shop-extended-products" data-href-onepage="onepage-shop-extended-products" data-href-multipages="homepage-shop-extended-products" data-title-onepage="Produtcs Onepage" data-title-multipages="Extended Products" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-extended-products.jpg">Extended Products</a> </li> <li> <a href="homepage-shop-categories-slider" data-href-onepage="onepage-categories-slider" data-href-multipages="homepage-categories-slider" data-title-onepage="Categories Onepage" data-title-multipages="Categories Slider" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-categories-slider.jpg">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed" data-href-onepage="onepage-shop-boxed" data-href-multipages="homepage-shop-boxed" data-title-onepage="Onepage Boxed" data-title-multipages="Boxed Layout" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-boxed.jpg">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered" data-href-onepage="onepage-shop-bordered" data-href-multipages="homepage-shop-bordered" data-title-onepage="Onepage Bordered" data-title-multipages="Bordered Layout" class="screenshot menu-layout" data-rel="assets/img/demo/overview/shop-bordered.jpg">Bordered layout</a> </li> <li> <a href="homepage-shop-fullscreen" class="screenshot" data-rel="assets/img/demo/overview/shop-fullscreen.jpg">Fullscreen</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title menu-layout" href="#" data-title-onepage="Creative Onepage" data-title-multipages="Creative">Creative</a> <ul> <li> <a href="homepage-wedding" data-href-onepage="onepage-wedding" data-href-multipages="homepage-wedding" data-title-onepage="Wedding Onepage" data-title-multipages="Wedding" class="screenshot menu-layout" data-rel="assets/img/demo/overview/wedding.jpg">Wedding</a> </li> <li> <a href="homepage-creative" class="screenshot" data-rel="assets/img/demo/overview/creative.jpg">Photographer</a> </li> <li> <a href="homepage-creative-side-nav" class="screenshot" data-rel="assets/img/demo/overview/creative-side.jpg">Side Navigation</a> </li> <li> <a href="homepage-portfolio" class="screenshot" data-rel="assets/img/demo/overview/portfolio.jpg">Portfolio</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white" class="screenshot" data-rel="assets/img/demo/overview/blog-modern.jpg">Modern</a> </li> <li> <a href="homepage-blog-newspaper" class="screenshot" data-rel="assets/img/demo/overview/blog-newspaper.jpg">Newspaper</a> </li> </ul> </li> </ul> <ul class="no-border"> <li> <a class="menu-title" href="#">Special Onepage</a> <ul> <li> <a href="onepage-photography" class="screenshot" data-rel="assets/img/demo/overview/onepage-photography.jpg">Photography</a> </li> <li> <a href="onepage-fashion" class="screenshot" data-rel="assets/img/demo/overview/onepage-fashion.jpg">Fashion</a> </li> <li> <a href="onepage-gym" class="screenshot" data-rel="assets/img/demo/overview/onepage-gym.jpg">Gym</a> </li> <li> <a href="onepage-agency-split-screen" class="screenshot" data-rel="assets/img/demo/overview/agency-split.jpg">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen" class="screenshot" data-rel="assets/img/demo/overview/agency-split.jpg">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider" class="screenshot" data-rel="assets/img/demo/overview/restaurant-slider.jpg">Bar - Restaurant</a> </li> <li> <a href="onepage-3d" class="screenshot" data-rel="assets/img/demo/overview/onepage-3d.jpg">3D Concept</a> </li> </ul> </li> </ul> <div class="menu-infobox-wrapper"> <div class="menu-infobox"> Most layouts are available in multipages &amp; onepage version. <a href="#" class="btn btn-white toggle-onepage">See onepage version</a> </div> </div> </div> </li> <li> <a href="#">
44137Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44137Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="mega-menu"> <a href="#">Pages</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2</a> </li> <li> <a href="team">Our Team </a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register</a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register</a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right </a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode">
44137Maintenance Mode</a> </li> <li> <a href="coming-soon">Coming soon flat</a> </li> <li> <a href="coming-soon-video">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li> <a href="sitemap">Sitemap </a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Portfolio</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns</a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2">Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-pagination-jquery">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar</a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </div> </li> </ul> </nav> </div> <div class="nav-center"> <div id="logo"> <a href="overview" data-logo-light="assets/img/logo/logo-light.png" data-logo-dark="assets/img/logo/logo-dark.png"> <img width="145" height="36" src="assets/img/logo/logo-light.png" alt="logo"> </a> </div> </div> <div class="nav-right"> <nav class="main-menu"> <ul> <li class="mega-menu"> <a href="#">Blog</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern">Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar </a> </li> <li> <a href="blog-newspaper-4">4 Columns</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44137Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns </a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="">Shop</a> <div class="mega-menu-content col-5 clearfix"> <div class="menu-bg-image" data-menu-img="assets/img/ecommerce/transparent-2.png"></div> <ul> <li> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart"> Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right">Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns </a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product</a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 2</a> </li> </ul> </li> </ul> </div> </li> <li class="mega-menu"> <a href="#">Elements</a> <div class="mega-menu-content col-5 clearfix"> <ul> <li> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">
44137Boxed Background</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs </a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters </a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-counters">Pie Charts</a> </li> </ul> </li> </ul> <ul> <li> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation</a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes"> Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </div> </li> </ul> </nav> <ul class="nav-tools"> <li class="search-tool"> <a href="#" class="tools-btn" data-toggle-search="fullscreen"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-1_zoom"></i></span> </a> </li> <li class="mobile-menu-btn"> <button class="toggle-menu" data-toggle="mobile-menu" data-effect="hover"> <span class="menu-label label-left">Menu</span> <i class="nc-icon-outline ui-2_menu-35"></i> </button> </li> </ul> </div> </div> </div> </div>',
44138    menuLateral = '<aside id="aside-nav"> <div id="main-aside-navigation"> <div class="main-nav-wrapper"> <div id="aside-logo"> <a href="#" data-logo-light="assets/img/logo/logo-aside-light.png" data-logo-dark="assets/img/logo/logo-aside-dark.png"> <img width="170" height="166" src="assets/img/logo/logo-aside-dark.png" alt="logo"> </a> </div> <nav id="main-aside-menu"> <ul> <li class="submenu"> <a href="#">Layouts</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Corporate</a> <ul> <li> <a href="homepage-app">Apps</a> </li> <li> <a href="homepage-fitness">Fitness</a> </li> <li> <a href="homepage-restaurant">Restaurant</a> </li> <li> <a href="homepage-yoga">Yoga</a> </li> <li> <a href="homepage-construction">Construction</a> </li> <li> <a href="homepage-agency">Web Agency</a> </li> <li> <a href="homepage-corporate">Corporate</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white">Modern</a> </li> <li> <a href="homepage-blog-newspaper">Newspaper</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Creative</a> <ul> <li> <a href="homepage-creative">Photographer</a> </li> <li> <a href="homepage-agency">Side Navigation</a> </li> <li> <a href="homepage-wedding">Wedding</a> </li> <li> <a href="homepage-corporate">Agency - Portfolio</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow">
44138Snowing Effect</a> </li> <li> <a href="homepage-shop">Classic</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered">Bordered layout</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">One Page</a> <ul> <li> <a href="onepage-photography">Photography</a> </li> <li> <a href="onepage-fashion">Fashion</a> </li> <li> <a href="onepage-gym">Gym</a> </li> <li> <a href="onepage-agency-split-screen">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider">Bar - Restaurant</a> </li> <li> <a href="onepage-3d">3D Concept</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44138Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="submenu"> <a href="#">Pages</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2 </a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register </a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register</a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode">
44138Maintenance Mode</a> </li> <li> <a href="coming-soon">Coming soon flat</a> </li> <li> <a href="coming-soon-video">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li><a href="sitemap"></a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Portfolio</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns</a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grids</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2"> Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar </a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Blog</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern">Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-fullwidth-4">4 Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44138Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="">Shop</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right"> Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product </a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation </a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Elements</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase </a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation</a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </li> </ul> </nav> <footer> <a href="" class="facebook"> <span><i class="fa fa-facebook"></i></span> </a> <a href="" class="instagram"> <span><i class="fa fa-instagram"></i></span> </a> <a href="" class="twitter"> <span><i class="fa fa-twitter"></i></span> </a> </footer> </div> </div> </aside>',
44139    toggleLateralBtn = '<div id="aside-nav-toggle"> <button class="toggle-menu" data-toggle="aside-menu" data-effect="hover"> <i class="nc-icon-outline ui-2_menu-35"></i> </button> </div>',
44140    menuLateralEcommerce = '<aside id="aside-nav"> <div id="main-aside-navigation"> <div class="main-nav-wrapper"> <div id="aside-logo"> <a href="#" data-logo-light="assets/img/logo/logo-aside-light.png" data-logo-dark="assets/img/logo/logo-aside-dark.png"> <img width="170" height="166" src="assets/img/logo/logo-aside-dark.png" alt="logo"> </a> </div> <nav id="main-aside-menu"> <ul> <li class="submenu"> <a href="#">Layouts</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Corporate</a> <ul> <li> <a href="homepage-app">Apps</a> </li> <li> <a href="homepage-fitness">Fitness</a> </li> <li> <a href="homepage-restaurant">Restaurant</a> </li> <li> <a href="homepage-yoga">Yoga</a> </li> <li> <a href="homepage-construction">Construction</a> </li> <li> <a href="homepage-agency">Web Agency</a> </li> <li> <a href="homepage-corporate">Corporate</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white">Modern</a> </li> <li> <a href="homepage-blog-newspaper">Newspaper</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Creative</a> <ul> <li> <a href="homepage-creative">Photographer</a> </li> <li> <a href="homepage-agency">Side Navigation</a> </li> <li> <a href="homepage-wedding">Wedding</a> </li> <li> <a href="homepage-corporate">Agency - Portfolio</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow">
44140Snowing Effect</a> </li> <li> <a href="homepage-shop">Classic</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-extended-products">Extended Produtcs</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered">Bordered layout</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">One Page</a> <ul> <li> <a href="onepage-photography">Photography</a> </li> <li> <a href="onepage-fashion">Fashion</a> </li> <li> <a href="onepage-gym">Gym</a> </li> <li> <a href="onepage-agency-split-screen">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider">Bar - Restaurant</a> </li> <li> <a href="onepage-3d">3D Concept</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44140Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="submenu"> <a href="#">Pages</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2 </a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register </a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register</a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode">
44140Maintenance Mode</a> </li> <li> <a href="coming-soon">Coming soon flat</a> </li> <li> <a href="coming-soon-video">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li><a href="sitemap"></a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Portfolio</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns</a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grids</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2"> Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar </a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Blog</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern">Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-fullwidth-4">4 Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44140Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="">Shop</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right"> Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product </a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation </a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Elements</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase </a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation</a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </li> </ul> </nav> <footer> <a href="#" class="tools-btn" data-toggle-search="fullscreen"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-1_zoom"></i></span> </a> <a href="shop-wishlist" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-2_favourite-28"></i></span> <span class="wishlist_items_number">0</span> </a> <a href="shopping-cart" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-glyph shopping_bag-16"></i></span> <span class="cart_items_number">0</span> </a> </footer> </div> </div> </aside>',
44141    menuOverlay = '<div id="off-fullscreen-menu"> <button class="toggle-menu" data-toggle="fullscreen-menu"> <span></span> <span class="menu-label">Menu</span> </button> <div class="brand"><img width="145" height="36" src="assets/img/logo/logo-light.png" alt="logo"></div> <nav> <ul> <li class="submenu"> <a href="#">Layouts</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Corporate</a> <ul> <li> <a href="homepage-app">Apps</a> </li> <li> <a href="homepage-fitness">Fitness</a> </li> <li> <a href="homepage-restaurant">Restaurant</a> </li> <li> <a href="homepage-yoga">Yoga</a> </li> <li> <a href="homepage-construction">Construction</a> </li> <li> <a href="homepage-agency">Web Agency</a> </li> <li> <a href="homepage-corporate">Corporate</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white">Modern</a> </li> <li> <a href="homepage-blog-newspaper">Newspaper</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Creative</a> <ul> <li> <a href="homepage-creative">Photographer</a> </li> <li> <a href="homepage-agency">Side Navigation</a> </li> <li> <a href="homepage-wedding">Wedding</a> </li> <li> <a href="homepage-corporate">Agency - Portfolio</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow">
44141Snowing Effect</a> </li> <li> <a href="homepage-shop">Classic</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered">Bordered layout</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">One Page</a> <ul> <li> <a href="onepage-photography">Photography</a> </li> <li> <a href="onepage-fashion">Fashion</a> </li> <li> <a href="onepage-gym">Gym</a> </li> <li> <a href="onepage-agency-split-screen">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider">Bar - Restaurant</a> </li> <li> <a href="onepage-3d">3D Concept</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> <li> <a href="slider-hero-vimeo">Vimeo Video</a> </li> <li> <a href="slider-hero-youtube">Youtube Video</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44141Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="submenu"> <a href="#">Pages</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2 </a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register </a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register</a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode">
44141Maintenance Mode</a> </li> <li> <a href="coming-soon">Coming soon flat</a> </li> <li> <a href="coming-soon-video">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li><a href="sitemap"></a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Portfolio</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns</a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grids</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2"> Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar </a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Blog</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern">Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-fullwidth-4">4 Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44141Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="">Shop</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right"> Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product </a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation </a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Elements</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase </a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation</a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </li> </ul> </nav> <footer> <div class="pull-left"> © Copyright 2015. All Rights Reserved.</div> <div class="pull-right"> <ul class="list-unstyled list-inline"> <li> <a href="#" title="Facebook"><i class="fa fa-facebook"></i></a> </li> <li> <a href="#" title="Facebook"><i class="fa fa-twitter"></i></a> </li> <li> <a href="#" title="Facebook"><i class="fa fa-google"></i></a> </li> </ul> </div> </footer> </div>',
44142    menuOverlayHeader = '<div id="main-navigation" class="submenu-dark"> <div class="main-nav-wrapper"> <div class="container-fluid"> <div class="nav-left"> <div id="logo"> <a href="#" data-logo-light="assets/img/logo/logo-short-light.png" data-logo-dark="assets/img/logo/logo-short-dark.png"> <img src="assets/img/logo/logo-short-light.png" alt="logo"> </a> </div> </div> <div class="nav-right"> <ul class="nav-tools"> <li class="off-menu-btn"> <button class="toggle-menu" data-toggle="fullscreen-menu"> <span></span> </button> </li> </ul> </div> </div> </div> </header>',
44143    menuOffcanvasHeader = '<div id="main-navigation" class="submenu-dark"> <div class="main-nav-wrapper"> <div class="container-fluid"> <div class="nav-left"> <div id="logo"> <a href="#" data-logo-light="assets/img/logo/logo-short-light.png" data-logo-dark="assets/img/logo/logo-short-dark.png"> <img src="assets/img/logo/logo-short-light.png" alt="logo"> </a> </div> </div> <div class="nav-right"> <ul class="nav-tools"> <li class="off-menu-btn"> <div class="toggle-menu" data-toggle="aside-menu" data-effect="push" data-position="right"> <div class="btn-inner"> <span></span> </div> </div> </li> </ul> </div> </div> </div> </header>',
44144    menuOffcanvas = '<aside id="aside-nav"> <div id="main-aside-navigation"> <div class="main-nav-wrapper"> <div id="aside-logo"> <a href="#" data-logo-light="assets/img/logo/logo-aside-light.png" data-logo-dark="assets/img/logo/logo-aside-dark.png"> <img width="170" height="166" src="assets/img/logo/logo-aside-dark.png" alt="logo"> </a> </div> <nav id="main-aside-menu"> <ul> <li class="submenu"> <a href="#">Layouts</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Corporate</a> <ul> <li> <a href="homepage-app">Apps</a> </li> <li> <a href="homepage-fitness">Fitness</a> </li> <li> <a href="homepage-restaurant">Restaurant</a> </li> <li> <a href="homepage-yoga">Yoga</a> </li> <li> <a href="homepage-construction">Construction</a> </li> <li> <a href="homepage-agency">Web Agency</a> </li> <li> <a href="homepage-corporate">Corporate</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white">Modern</a> </li> <li> <a href="homepage-blog-newspaper">Newspaper</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Creative</a> <ul> <li> <a href="homepage-creative">Photographer</a> </li> <li> <a href="homepage-agency">Side Navigation</a> </li> <li> <a href="homepage-wedding">Wedding</a> </li> <li> <a href="homepage-corporate">Agency - Portfolio</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow">
44144Snowing Effect</a> </li> <li> <a href="homepage-shop">Classic</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered">Bordered layout</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">One Page</a> <ul> <li> <a href="onepage-photography">Photography</a> </li> <li> <a href="onepage-fashion">Fashion</a> </li> <li> <a href="onepage-gym">Gym</a> </li> <li> <a href="onepage-agency-split-screen">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider">Bar - Restaurant</a> </li> <li> <a href="onepage-3d">3D Concept</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44144Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="submenu"> <a href="#">Pages</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2 </a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register </a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register</a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode">
44144Maintenance Mode</a> </li> <li> <a href="coming-soon">Coming soon flat</a> </li> <li> <a href="coming-soon-video">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li><a href="sitemap"></a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Portfolio</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns</a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grids</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2"> Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar </a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Blog</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern">Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-fullwidth-4">4 Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44144Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="">Shop</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right"> Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product </a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation </a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Elements</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase </a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation</a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </li> </ul> </nav> <footer> <a href="" class="facebook"> <span><i class="fa fa-facebook"></i></span> </a> <a href="" class="instagram"> <span><i class="fa fa-instagram"></i></span> </a> <a href="" class="twitter"> <span><i class="fa fa-twitter"></i></span> </a> </footer> </div> </div> </aside>',
44145    menuOffcanvasEcommerce = '<aside id="aside-nav"> <div id="main-aside-navigation"> <div class="main-nav-wrapper"> <div id="aside-logo"> <a href="#" data-logo-light="assets/img/logo/logo-aside-light.png" data-logo-dark="assets/img/logo/logo-aside-dark.png"> <img width="170" height="166" src="assets/img/logo/logo-aside-dark.png" alt="logo"> </a> </div> <nav id="main-aside-menu"> <ul> <li class="submenu"> <a href="#">Layouts</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Corporate</a> <ul> <li> <a href="homepage-app">Apps</a> </li> <li> <a href="homepage-fitness">Fitness</a> </li> <li> <a href="homepage-restaurant">Restaurant</a> </li> <li> <a href="homepage-yoga">Yoga</a> </li> <li> <a href="homepage-construction">Construction</a> </li> <li> <a href="homepage-agency">Web Agency</a> </li> <li> <a href="homepage-corporate">Corporate</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Blog</a> <ul> <li> <a href="blog-modern-black-white">Modern</a> </li> <li> <a href="homepage-blog-newspaper">Newspaper</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Creative</a> <ul> <li> <a href="homepage-creative">Photographer</a> </li> <li> <a href="homepage-agency">Side Navigation</a> </li> <li> <a href="homepage-wedding">Wedding</a> </li> <li> <a href="homepage-corporate">Agency - Portfolio</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Ecommerce</a> <ul> <li> <a href="homepage-shop-snow">
44145Snowing Effect</a> </li> <li> <a href="homepage-shop">Classic</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-extended-products">Extended Produtcs</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-boxed">Boxed layout</a> </li> <li> <a href="homepage-shop-bordered">Bordered layout</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">One Page</a> <ul> <li> <a href="onepage-photography">Photography</a> </li> <li> <a href="onepage-fashion">Fashion</a> </li> <li> <a href="onepage-gym">Gym</a> </li> <li> <a href="onepage-agency-split-screen">Agency Split</a> </li> <li> <a href="onepage-agency-split-screen">Split Bordered</a> </li> <li> <a href="onepage-restaurant-slider">Bar - Restaurant</a> </li> <li> <a href="onepage-3d">3D Concept</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Features</a> <ul> <li class="submenu"> <a href="#">Sliders</a> <ul> <li class="submenu"> <a href="#">Static Fullscreen</a> <ul> <li> <a href="fullscreen-image">Fullscreen Image</a> </li> <li> <a href="fullscreen-image-parallax">Fullscreen Image Parallax</a> </li> <li> <a href="fullscreen-video">Fullscreen Video</a> </li> <li> <a href="fullscreen-text-rotator">Text Rotator</a> </li> </ul> </li> <li class="submenu"> <a href="#">Hero Slider</a> <ul> <li> <a href="slider-hero-text">Text</a> </li> <li> <a href="slider-hero-newsletter">Newsletter</a> </li> <li> <a href="slider-hero-search">Search Form</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="slider-fullscreen">Full screen</a> </li> <li> <a href="slider-fullwidth">Full width</a> </li> <li> <a href="slider-boxed">Boxed</a> </li> </ul> </li> <li class="submenu"> <a href="#">Flexslider</a> <ul> <li> <a href="slider-flexslider-fade">Fade effect</a> </li> <li> <a href="slider-flexslider-slide">Slide effect</a> </li> <li> <a href="slider-flexslider-thumbs">Thumbs version</a> </li> </ul> </li> <li class="submenu"> <a href="#">Carousel</a> <ul> <li> <a href="onepage-photography" target="_blank">Photography</a> </li> <li> <a href="carousel-highlight">Images Highlight</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-carousels">Various Examples</a> </li> <li> <a href="owl-carousel-boxed">One Item Version</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Page titles</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="page-title-align-left">Left align</a> </li> <li> <a href="page-title-align-right">Right align</a> </li> <li> <a href="page-title-align-center">Center align</a> </li> </ul> </li> <li class="submenu"> <a href="#">Size</a> <ul> <li> <a href="page-title-size-thin">Thin</a> </li> <li> <a href="page-title-size-small">Small</a> </li> <li> <a href="page-title-align-left">Medium</a> </li> <li> <a href="page-title-size-large">Large</a> </li> <li> <a href="page-title-size-huge">Huge</a> </li> </ul> </li> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="page-title-bg-no">No background</a> </li> <li> <a href="page-title-bg-dark">Dark color</a> </li> <li> <a href="page-title-bg-pattern">Pattern background</a> </li> <li> <a href="page-title-bg-image">Image background</a> </li> </ul> </li> <li class="submenu"> <a href="#">Parallax effect</a> <ul> <li> <a href="page-title-parallax-transparent">Transparent header</a> </li> <li> <a href="page-title-parallax">Light header</a> </li> <li> <a href="page-title-parallax-no-fade">Parallax no fade</a> </li> <li> <a href="page-title-parallax-zoom-out">Parallax zoom Out</a> </li> </ul> </li> <li class="submenu"> <a href="#">Text rotator</a> <ul> <li> <a href="page-title-text-rotator-1">Rotating Effect</a> </li> <li> <a href="page-title-text-rotator-2">Typing Effect</a> </li> <li> <a href="page-title-text-rotator-3">Slide Effect</a> </li> <li> <a href="page-title-text-rotator-4">Clip Effect</a> </li> </ul> </li> <li class="submenu"> <a href="#">Video</a> <ul> <li> <a href="page-title-video">Normal</a> </li> <li> <a href="page-title-video-overlay">Dark overlay</a> </li> <li> <a href="page-title-video-overlay-colored">Colored overlay</a> </li> </ul> </li> <li><a href="page-title-fading">Fading header</a></li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Widgets</a> <ul> <li> <a href="shortcodes-widgets">Newsletter form</a> </li> <li> <a href="shortcodes-widgets">Products widget</a> </li> <li> <a href="shortcodes-widgets">Brands carousel</a> </li> <li> <a href="shortcodes-widgets">Ads image</a> </li> <li> <a href="shortcodes-widgets">Social icons</a> </li> <li> <a href="shortcodes-widgets">Latest post</a> </li> <li> <a href="shortcodes-widgets">Comments widget</a> </li> <li> <a href="shortcodes-widgets">Facebook page</a> </li> <li> <a href="shortcodes-widgets">Flickr shots</a> </li> <li> <a href="shortcodes-widgets">Twitter feed</a> </li> <li> <a href="shortcodes-widgets">Dribbble shots</a> </li> <li> <a href="shortcodes-widgets">Pinterest pics</a> </li> <li> <a href="shortcodes-widgets">Testimonials widget</a> </li> <li> <a href="shortcodes-widgets">Video widget</a> </li> <li> <a href="shortcodes-widgets">Google Maps</a> </li> <li> <a href="shortcodes-widgets">Contact form</a> </li> <li> <a href="shortcodes-widgets">Carousel widget</a> </li> <li> <a href="shortcodes-widgets">Google page</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Navigation</a> <ul> <li class="submenu"> <a href="#">Alignment</a> <ul> <li> <a href="nav-top-align-left">Left align</a> </li> <li> <a href="nav-top-align-right">Right align</a> </li> <li> <a href="nav-top-logo-center">Logo center</a> </li> </ul> </li> <li class="submenu"> <a href="#">
44145Background</a> <ul> <li> <a href="nav-top-light">Light</a> </li> <li> <a href="nav-top-dark">Dark</a> </li> <li> <a href="nav-top-transparent">Transparent</a> </li> </ul> </li> <li> <a href="nav-top-boxed">Boxed layout</a> </li> <li> <a href="nav-fullscreen-overlay">Fullscreen Overlay</a> </li> <li> <a href="nav-off-top-menu">Top Overlay</a> </li> <li> <a href="nav-off-simple-menu">Main Menu Overlay</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Side Navigation</a> <ul> <li class="submenu"> <a href="#">Background</a> <ul> <li> <a href="nav-left">Light</a> </li> <li> <a href="nav-left-dark">Dark</a> </li> <li> <a href="nav-left-image">Image</a> </li> </ul> </li> <li> <a href="nav-left">Left Fixed</a> </li> <li> <a href="nav-left-onclick-push">Left Push</a> </li> <li> <a href="nav-left-onclick-hover">Left Hover</a> </li> <li> <a href="nav-right">Right Fixed</a> </li> <li> <a href="nav-right-onclick-push">Right Push</a> </li> <li> <a href="nav-right-onclick-hover">Right Hover</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Footers</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="footer-reveal#footer">Footer reveal</a> </li> <li> <a href="footer-boxed#footer">Footer Boxed</a> </li> <li> <a href="footer-image#footer">Footer Background Image</a> </li> <li> <a href="footer-ecommerce#footer">Footer Ecommerce</a> </li> <li> <a href="footer-colored#footer">Colored version</a> </li> <li> <a href="footer-light#footer">Grey version</a> </li> <li> <a href="footer-copyright#footer">Copyright Only</a> </li> </ul> </li> <li class="submenu"> <a href="#" class="sf-with-ul">Page Loaders</a> <ul> <li> <a href="loader-cube">Cube loader</a> </li> <li> <a href="loader-ball">Ball loader</a> </li> <li> <a href="loader-crossing-circles">Crossing circle loader</a> </li> <li> <a href="loader-rotating-cube">Rotating cube loader</a> </li> <li> <a href="loader-bounces">3 bounces loader</a> </li> <li> <a href="loader-rotating-circle">Circle rotating loader</a> </li> <li> <a href="loader-disabled">No loader</a> </li> </ul> </li> <li><a href="#" data-skin="dark">Dark Skin</a></li> </ul> </li> <li class="submenu"> <a href="#">Pages</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Company infos</a> <ul> <li> <a href="services-extended">Our Services</a> </li> <li> <a href="services">Services - style 2 </a> </li> <li> <a href="team">Our Team</a> </li> <li> <a href="team-v2">Team - style 2</a> </li> <li> <a href="about-me">About me</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">FAQ</a> <ul> <li> <a href="faq">Faq</a> </li> <li> <a href="faq-v2">Faq - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">User</a> <ul> <li> <a href="login-image">Login</a> </li> <li> <a href="login">Login - style 2</a> </li> <li> <a href="register-image">Register </a> </li> <li> <a href="register">Register - style 2</a> </li> <li> <a href="login-register">Login &amp; Register</a> </li> <li> <a href="account">My Account</a> </li> <li> <a href="password-recover">Password Recover</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pricing Tables</a> <ul> <li> <a href="pricing-table">Our Offer</a> </li> <li> <a href="pricing-table-v2">Our Offer - style 2</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Contact</a> <ul> <li> <a href="contact-map-fullscreen-2">Contact Fullscreen Map</a> </li> <li> <a href="contact-map-top">Contact Map Top</a> </li> <li> <a href="contact-map-bottom">Contact Map Bottom</a> </li> <li> <a href="contact-map-right">Contact Map Right</a> </li> <li> <a href="contact-map-with-sidebar">Contact Map Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Page Layouts</a> <ul> <li> <a href="page-sidebar-left">Left Sidebar</a> </li> <li> <a href="page-sidebar-right">Right Sidebar</a> </li> <li> <a href="page-sidebar-both">Left &amp; Right Sidebars</a> </li> <li> <a href="page-sidebar-both-left">Both Left Sidebars</a> </li> <li> <a href="page-no-sidebar">No Sidebar</a> </li> <li> <a href="page-fullwidth-sidebar">Fullwidth Sidebar</a> </li> <li> <a href="page-fullwidth-no-sidebar">Fullwidth no Sidebar</a> </li> <li> <a href="page-blank">Blank page</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Miscellaneous</a> <ul> <li> <a href="404-simple">404 flat</a> </li> <li> <a href="404-image">404 image</a> </li> <li> <a href="404-video">404 video</a> </li> <li> <a href="maintenance-mode">
44145Maintenance Mode</a> </li> <li> <a href="coming-soon">Coming soon flat</a> </li> <li> <a href="coming-soon-video">Coming soon video</a> </li> <li> <a href="terms-conditions">Terms &amp; conditions</a> </li> <li><a href="sitemap"></a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Portfolio</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Masonry</a> <ul> <li> <a href="portfolio-masonry-2">Two Columns</a> </li> <li> <a href="portfolio-masonry-3">Three Columns</a> </li> <li> <a href="portfolio-masonry-3-boxed">Three Columns Boxed</a> </li> <li> <a href="portfolio-masonry-4">Four Columns</a> </li> <li> <a href="portfolio-masonry-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grids</a> <ul> <li> <a href="portfolio-grid-1">One Column</a> </li> <li> <a href="portfolio-grid-2"> Two Columns</a> </li> <li> <a href="portfolio-grid-3">Three Columns</a> </li> <li> <a href="portfolio-grid-4">Four Columns</a> </li> <li> <a href="portfolio-grid-5">Five Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading Style</a> <ul> <li> <a href="portfolio-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="portfolio-infinite-onclick">Infinite on Click</a> </li> <li> <a href="portfolio-jquery-pagination">Jquery Pagination</a> </li> <li> <a href="portfolio-ajax">Ajax in Page</a> </li> <li> <a href="portfolio-ajax-modal">Ajax in Modal</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Layouts</a> <ul> <li> <a href="portfolio-layout-fullwidth">Fullwidth</a> </li> <li> <a href="portfolio-layout-boxed">Boxed layout</a> </li> <li> <a href="portfolio-left-sidebar">Left Sidebar</a> </li> <li> <a href="portfolio-right-sidebar">Right Sidebar </a> </li> <li> <a href="portfolio-both-sidebars">Left &amp; Right Sidebars</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Project</a> <ul> <li> <a href="portfolio-single-extended">Extended Item</a> </li> <li> <a href="portfolio-single-left-no-space">Left Full Images</a> </li> <li> <a href="portfolio-single-wide-carousel">Wide Carousel</a> </li> <li> <a href="portfolio-single-small-slider">Images Slider</a> </li> <li> <a href="portfolio-single-fullwidth">Fullwidth Images</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Blog</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Modern Style</a> <ul> <li> <a href="blog-modern-black-white">Black &amp; White</a> </li> <li> <a href="blog-modern">Colored</a> </li> </ul> </li> <li> <a class="menu-title" href="#">Newspaper</a> <ul> <li> <a href="blog-newspaper-2">2 Columns</a> </li> <li> <a href="blog-newspaper-2-sidebar-right">2 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-3">3 Columns</a> </li> <li> <a href="blog-newspaper-3-sidebar-right">3 Columns with Sidebar</a> </li> <li> <a href="blog-newspaper-fullwidth-4">4 Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Timeline</a> <ul> <li> <a href="blog-timeline">Alternate</a> </li> <li> <a href="blog-timeline-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-timeline-sidebar-right">Right Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Left Image</a> <ul> <li> <a href="blog-side-image-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-side-image-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-side-image-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-side-image-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Large Image</a> <ul> <li> <a href="blog-large-sidebar-right">Right Sidebar</a> </li> <li> <a href="blog-large-sidebar-left">Left Sidebar</a> </li> <li> <a href="blog-large-sidebars-both">Both Sidebar</a> </li> <li> <a href="blog-large-no-sidebar">No Sidebar</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Comments</a> <ul> <li> <a href="blog-single-comments-facebook#comments">Facebook Comments</a> </li> <li> <a href="blog-single-comments-disqus#comments">Disqus Comments</a> </li> <li> <a href="blog-single-header-image#comments">Html Comments</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Single Post</a> <ul> <li> <a href="blog-single-header-image">Basic Post</a> </li> <li> <a href="blog-single-header-slider">Image Slider Post</a> </li> <li> <a href="blog-single-header-slider-fullheight">
44145Slider Fullheight Post</a> </li> <li> <a href="blog-single-header-video">Html Video Post</a> </li> <li> <a href="blog-single-header-video-embed">Embed Video Post</a> </li> <li> <a href="blog-single-header-audio">Audio Post</a> </li> <li> <a href="blog-single-header-map">Map Post</a> </li> <li> <a href="blog-single-header-white">Only Title</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Loading</a> <ul> <li> <a href="blog-infinite-scroll">Infinite on Scroll</a> </li> <li> <a href="blog-infinite-onclick">Infinite on Click</a> </li> <li> <a href="blog-jquery-pagination">Jquery pagination</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Grid</a> <ul> <li> <a href="blog-grid-2">2 Columns</a> </li> <li> <a href="blog-grid-3">3 Columns</a> </li> <li> <a href="blog-grid-4">4 Columns</a> </li> <li> <a href="blog-grid-2-fullwidth">2 Columns Fullwidth</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="">Shop</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Homepage</a> <ul> <li> <a href="homepage-shop-snow">Snowing Effect</a> </li> <li> <a href="homepage-shop">Categories Grid</a> </li> <li> <a href="homepage-shop-bordered">Bordered Layout</a> </li> <li> <a href="homepage-shop-boxed">Boxed Layout</a> </li> <li> <a href="homepage-shop-categories-slider">Categories Slider</a> </li> <li> <a href="homepage-shop-extended-products">Extended Products</a> </li> <li> <a href="homepage-shop-fullscreen">Fullscreen</a> </li> <li> <a href="homepage-shop-side-nav">Left Navigation</a> </li> <li> <a href="homepage-shop-side-nav-right">Right Navigation</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Pages</a> <ul> <li> <a href="account">Account</a> </li> <li> <a href="register">Register</a> </li> <li> <a href="login">Login</a> </li> <li> <a href="password-recover">Password Recover</a> </li> <li> <a href="shopping-cart">Cart</a> </li> <li> <a href="shop-checkout">Checkout</a> </li> <li> <a href="shop-wishlist">Wishlist</a> </li> <li> <a href="shop-categories">Categories</a> </li> <li> <a href="terms-conditions">Terms &amp; Conditions</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Products List</a> <ul> <li> <a href="shop-sidebar-left">Left Sidebar</a> </li> <li> <a href="shop-sidebar-right"> Right Sidebar</a> </li> <li> <a href="shop-4-columns">Four columns</a> </li> <li> <a href="shop-5-columns">Five Columns</a> </li> <li> <a href="shop-6-columns">Six Columns</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Elements</a> <ul> <li> <a href="shortcodes-banners">Banners</a> </li> <li> <a href="shortcodes-shop-carousels">Shop Carousels</a> </li> <li> <a href="shortcodes-shop-widgets">Sidebar Widgets</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Product Page</a> <ul> <li> <a href="shop-single">Simple Product </a> </li> <li> <a href="shop-single-grouped">Grouped Product</a> </li> <li> <a href="shop-single-variable">Variable Product</a> </li> <li> <a href="shop-single-affiliate">Affiliate Product</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Navigations</a> <ul> <li> <a href="homepage-shop-side-nav">Left Navigation </a> </li> <li> <a href="homepage-shop-offmenu">Off Menu</a> </li> <li> <a href="topbar-ecommerce-1">Topbar - style 1</a> </li> <li> <a href="topbar-ecommerce-2">Topbar - style 2</a> </li> </ul> </li> </ul> </li> <li class="submenu"> <a href="#">Elements</a> <ul> <li class="submenu"> <a class="menu-title" href="#">Common Elements</a> <ul> <li> <a href="shortcodes-footer-widgets">Footer Widgets</a> </li> <li> <a href="shortcodes-forms">Forms</a> </li> <li> <a href="shortcodes-tables">Tables</a> </li> <li> <a href="shortcodes-responsive">Responsive</a> </li> <li> <a href="shortcodes-grid">Grid System</a> </li> <li> <a href="shortcodes-sections">Sections</a> </li> <li> <a href="shortcodes-separators">Separators</a> </li> <li> <a href="layout-boxed">Boxed Background</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Interactive</a> <ul> <li> <a href="shortcodes-maps">Maps</a> </li> <li> <a href="shortcodes-modals">Modals</a> </li> <li> <a href="shortcodes-carousels">Carousel</a> </li> <li> <a href="shortcodes-tabs">Tabs</a> </li> <li> <a href="shortcodes-animations">Animations</a> </li> <li> <a href="shortcodes-accordions">Accordions</a> </li> <li> <a href="shortcodes-call-to-action">Call to Action</a> </li> <li> <a href="shortcodes-fullscreen">Fullscreen Showcase </a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Misc</a> <ul> <li> <a href="shortcodes-widgets">Widgets</a> </li> <li> <a href="shortcodes-equal-height">Equal Height Blocks</a> </li> <li> <a href="shortcodes-social-icons">Social Icons</a> </li> <li> <a href="shortcodes-icons">Icons Set</a> </li> <li> <a href="shortcodes-medias-embed">Medias Embed</a> </li> <li> <a href="shortcodes-colors">Colors</a> </li> <li> <a href="shortcodes-search">Search Offscreen</a> </li> <li> <a href="shortcodes-hover-effects">Hover Effects</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Graphic</a> <ul> <li> <a href="shortcodes-pricing-tables">Pricing Tables</a> </li> <li> <a href="shortcodes-charts">Charts</a> </li> <li> <a href="shortcodes-clients">Clients</a> </li> <li> <a href="shortcodes-progress-bars">Progress Bars</a> </li> <li> <a href="shortcodes-teams">Teams</a> </li> <li> <a href="shortcodes-counters">Counters</a> </li> <li> <a href="shortcodes-notifications">Notifications</a> </li> <li> <a href="shortcodes-pie-charts">Pie Charts</a> </li> </ul> </li> <li class="submenu"> <a class="menu-title" href="#">Text</a> <ul> <li> <a href="shortcodes-text-animation">Text Animation</a> </li> <li> <a href="shortcodes-features">Features boxes</a> </li> <li> <a href="shortcodes-headings">Heading Styles</a> </li> <li> <a href="shortcodes-testimonials">Testimonials</a> </li> <li> <a href="shortcodes-dropcaps">Dropcaps</a> </li> <li> <a href="shortcodes-fonts">Custom Fonts</a> </li> <li> <a href="shortcodes-blockquotes">Blockquotes</a> </li> <li> <a href="shortcodes-buttons">Buttons</a> </li> </ul> </li> </ul> </li> </ul> </nav> <footer> <a href="#" class="tools-btn" data-toggle-search="fullscreen"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-1_zoom"></i></span> </a> <a href="shop-wishlist" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-outline ui-2_favourite-28"></i></span> <span class="wishlist_items_number">0</span> </a> <a href="shopping-cart" class="tools-btn"> <span class="tools-btn-icon"><i class="nc-icon-glyph shopping_bag-16"></i></span> <span class="cart_items_number">0</span> </a> </footer> </div> </div> </aside>';
44146$(document).ready(function () {
44147    "use strict";
44148    switchOnepage(), toggleBuilder(), builderScroll(), handleCookie(), handleHeader(), handleFooter(), handleLayout(), handleThemes(), handleSkins(), tooltipBuilder(), handleBoxedBackgroun
44148d(), resetStyle()
44149});
44150var revapi;
44151$(window).resize(function () {
44152    "use strict";
44153    if ("fullscreen" == $("#rev_slider").data("slider-layout") && $("body").hasClass("left-nav")) {
44154        var windowHeight = $(window).height();
44155        $(".rev_slider_wrapper, #rev_slider").height(windowHeight)
44156    }
44157}), function () {
44158    "use strict";
44159    slickCarousel(), setTimeout(function () {
44160        revSlider()
44161    }, 100), bxSlider(), owlCarousel(), flexslider()
44162}();
44163var $window = $(window), body = $("body"), mainContent = $("#main-content"), toggleBtn = $(".toggle-menu"),
44164    topnav = $("#main-navigation > div"), topnavHeight = topnav.height(), sectionHeader = $(".section-header"),
44165    sectionHeaderHeight = $(".section-header").height(), windowWidth = $(window).width(),
44166    windowHeight = $(window).height(),
44167    isOpera = !!window.opr && !!opr.addons || !!window.opera || navigator.userAgent.indexOf(" OPR/") >= 0,
44168    isFirefox = "undefined" != typeof InstallTrigger,
44169    isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") > 0,
44170    isIE = !!document.documentMode, isEdge = !isIE && !!window.StyleMedia,
44171    isChrome = !!window.chrome && !!window.chrome.webstore, isBlink = (isChrome || isOpera) && !!window.CSS;
44172$(window).load(function () {
44173    "use strict";
44174    pageLoader(), headerFading()
44175}), $(window).scroll(function () {
44176    "use strict";
44177    parallaxZoomOut(), handleSticky(), adjustSidebarHeight()
44178}), $(window).resize(function () {
44179    "use strict";
44180    handleSticky(), fullHeight(), handleVideo(), footerReveal(), halfSection(), handleSelect(), imgCoverSquare(), adjustSidebarHeight(), formGroup(), forceHeight()
44181}), function () {
44182    "use strict";
44183    $(".map").length && setTimeout(function () {
44184        pageLoader()
44185    }, 100);
44186    var isMobile = {
44187        Android: function () {
44188            return navigator.userAgent.match(/Android/i)
44189        }, BlackBerry: function () {
44190            return navigator.userAgent.match(/BlackBerry/i)
44191        }, iOS: function () {
44192            return navigator.userAgent.match(/iPhone|iPad|iPod/i)
44193        }, Opera: function () {
44194            return navigator.userAgent.match(/Opera Mini/i)
44195        }, Windows: function () {
44196            return navigator.userAgent.match(/IEMobile/i)
44197        }, any: function () {
44198            return isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()
44199        }
44200    };
44201    simpleSlider(), fullHeight(), demo(), handlepopup(), notification(), parallaxZoomOut(), handleSelect(), rating(), scrollTop(), calendar(), imgCoverSquare(), handleModals(), handleLinks(), handleSticky(), iconHover(), handleQuantity(), footerReveal(), screenshotPreview(), imageZoom(), halfSection(), adjustHeight(), handleAccordion(), tickersAnimation(), tagsInput(), formGroup(), handleCountDown(), handleCountUp(), handleDatepicker(), checkCategories(), goNext(), handleProgress(), circleProgress(), scrollEasing(), faqCategories(), colorBackground(), handleTooltips(), appearEffect(), handleTabs(), $("code.html").length && hljs.initHighlightingOnLoad(), setTimeout(function () {
44202        handleVideo(), adjustSidebarHeight(), forceHeight(), isMobile.any() || skrollr.init({forceHeight: !1})
44203    }, 200), setTimeout(function () {
44204        $(window).trigger("resize")
44205    }, 2e3)
44206}();
44207var dribbbleToken = "b5c2755a8a092bcadc9b2d276f908a2fa5b9b144f154e1a13ecb891f1b312264";
44208!function () {
44209    "use strict";
44210    widgetTwitter(), widgetPinterest(), widgetFlickr(), widgetDribbble(), widgetGoogle()
44211}(), $("#contactForm").length && $("#contactForm").validator().on("submit", function (event) {
44212    event.isDefaultPrevented() ? (formError(), submitMSG(!1, "Did you fill in the form properly?")) : (event.preventDefault(), submitForm())
44213});

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.