cdn.worldweatheronline.com
Open in
urlscan Pro
185.59.220.199
Public Scan
URL:
http://cdn.worldweatheronline.com/staticv150817/js/site-hp-1.36.min.js
Submission: On September 08 via manual from PH — Scanned from DE
Submission: On September 08 via manual from PH — Scanned from DE
Form analysis
0 forms found in the DOMText Content
!function (e, t) { "use strict"; "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return t(e) } : t(e) }("undefined" != typeof window ? window : this, function (e, t) { "use strict"; var n = [], r = Object.getPrototypeOf, i = n.slice, o = n.flat ? function (e) { return n.flat.call(e) } : function (e) { return n.concat.apply([], e) }, a = n.push, s = n.indexOf, l = {}, c = l.toString, u = l.hasOwnProperty, f = u.toString, d = f.call(Object), h = {}, p = function (e) { return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item }, g = function (e) { return null != e && e === e.window }, m = e.document, v = { type: !0, src: !0, nonce: !0, noModule: !0 }; function y(e, t, n) { var r, i, o = (n = n || m).createElement("script"); if (o.text = e, t) for (r in v) (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); n.head.appendChild(o).parentNode.removeChild(o) } function b(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? l[c.call(e)] || "object" : typeof e } var _ = "3.6.0", w = function (e, t) { return new w.fn.init(e, t) }; function S(e) { var t = !!e && "length" in e && e.length, n = b(e); return !p(e) && !g(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e) } w.fn = w.prototype = { jquery: _, constructor: w, length: 0, toArray: function () { return i.call(this) }, get: function (e) { return null == e ? i.call(this) : e < 0 ? this[e + this.length] : this[e] }, pushStack: function (e) { var t = w.merge(this.constructor(), e); return t.prevObject = this, t }, each: function (e) { return w.each(this, e) }, map: function (e) { return this.pushStack(w.map(this, function (t, n) { return e.call(t, n, t) })) }, slice: function () { return this.pushStack(i.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, even: function () { return this.pushStack(w.grep(this, function (e, t) { return (t + 1) % 2 })) }, odd: function () { return this.pushStack(w.grep(this, function (e, t) { return t % 2 })) }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(0 <= n && n < t ? [this[n]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: a, sort: n.sort, splice: n.splice }, w.extend = w.fn.extend = function () { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, l = arguments.length, c = !1; for ("boolean" == typeof a && (c = a, a = arguments[s] || {}, s++), "object" == typeof a || p(a) || (a = {}), s === l && (a = this, s--); s < l; s++)if (null != (e = arguments[s])) for (t in e) r = e[t], "__proto__" !== t && a !== r && (c && r && (w.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || w.isPlainObject(n) ? n : {}, i = !1, a[t] = w.extend(c, o, r)) : void 0 !== r && (a[t] = r)); return a }, w.extend({ expando: "jQuery" + (_ + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e) }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== c.call(e) || (t = r(e)) && ("function" != typeof (n = u.call(t, "constructor") && t.constructor) || f.call(n) !== d)) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, globalEval: function (e, t, n) { y(e, { nonce: t && t.nonce }, n) }, each: function (e, t) { var n, r = 0; if (S(e)) for (n = e.length; r < n && !1 !== t.call(e[r], r, e[r]); r++); else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; return e }, makeArray: function (e, t) { var n = t || []; return null != e && (S(Object(e)) ? w.merge(n, "string" == typeof e ? [e] : e) : a.call(n, e)), n }, inArray: function (e, t, n) { return null == t ? -1 : s.call(t, e, n) }, merge: function (e, t) { for (var n = +t.length, r = 0, i = e.length; r < n; r++)e[i++] = t[r]; return e.length = i, e }, grep: function (e, t, n) { for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)!t(e[i], i) !== a && r.push(e[i]); return r }, map: function (e, t, n) { var r, i, a = 0, s = []; if (S(e)) for (r = e.length; a < r; a++)null != (i = t(e[a], a, n)) && s.push(i); else for (a in e) null != (i = t(e[a], a, n)) && s.push(i); return o(s) }, guid: 1, support: h }), "function" == typeof Symbol && (w.fn[Symbol.iterator] = n[Symbol.iterator]), w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) { l["[object " + t + "]"] = t.toLowerCase() }); var T = function (e) { var t, n, r, i, o, a, s, l, c, u, f, d, h, p, g, m, v, y, b, _ = "sizzle" + 1 * new Date, w = e.document, S = 0, T = 0, x = le(), C = le(), D = le(), E = le(), A = function (e, t) { return e === t && (f = !0), 0 }, I = {}.hasOwnProperty, k = [], j = k.pop, N = k.push, L = k.push, P = k.slice, O = function (e, t) { for (var n = 0, r = e.length; n < r; n++)if (e[n] === t) return n; return -1 }, R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", F = "[\\x20\\t\\r\\n\\f]", H = "(?:\\\\[\\da-fA-F]{1,6}" + F + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", q = "\\[" + F + "*(" + H + ")(?:" + F + "*([*^$|!~]?=)" + F + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + H + "))|)" + F + "*\\]", M = ":(" + H + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + q + ")*)|.*)\\)|)", $ = new RegExp(F + "+", "g"), W = new RegExp("^" + F + "+|((?:^|[^\\\\])(?:\\\\.)*)" + F + "+$", "g"), B = new RegExp("^" + F + "*," + F + "*"), U = new RegExp("^" + F + "*([>+~]|" + F + ")" + F + "*"), V = new RegExp(F + "|>"), X = new RegExp(M), z = new RegExp("^" + H + "$"), Q = { ID: new RegExp("^#(" + H + ")"), CLASS: new RegExp("^\\.(" + H + ")"), TAG: new RegExp("^(" + H + "|[*])"), ATTR: new RegExp("^" + q), PSEUDO: new RegExp("^" + M), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + F + "*(even|odd|(([+-]|)(\\d*)n|)" + F + "*(?:([+-]|)" + F + "*(\\d+)|))" + F + "*\\)|)", "i"), bool: new RegExp("^(?:" + R + ")$", "i"), needsContext: new RegExp("^" + F + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + F + "*((?:-\\d)?\\d*)" + F + "*\\)|)(?=[^-]|$)", "i") }, Y = /HTML$/i, G = /^(?:input|select|textarea|button)$/i, J = /^h\d$/i, K = /^[^{]+\{\s*\[native \w/, Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ee = /[+~]/, te = new RegExp("\\\\[\\da-fA-F]{1,6}" + F + "?|\\\\([^\\r\\n\\f])", "g"), ne = function (e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) }, re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, ie = function (e, t) { return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e }, oe = function () { d() }, ae = _e(function (e) { return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase() }, { dir: "parentNode", next: "legend" }); try { L.apply(k = P.call(w.childNodes), w.childNodes), k[w.childNodes.length].nodeType } catch (t) { L = { apply: k.length ? function (e, t) { N.apply(e, P.call(t)) } : function (e, t) { for (var n = e.length, r = 0; e[n++] = t[r++];); e.length = n - 1 } } } function se(e, t, r, i) { var o, s, c, u, f, p, v, y = t && t.ownerDocument, w = t ? t.nodeType : 9; if (r = r || [], "string" != typeof e || !e || 1 !== w && 9 !== w && 11 !== w) return r; if (!i && (d(t), t = t || h, g)) { if (11 !== w && (f = Z.exec(e))) if (o = f[1]) { if (9 === w) { if (!(c = t.getElementById(o))) return r; if (c.id === o) return r.push(c), r } else if (y && (c = y.getElementById(o)) && b(t, c) && c.id === o) return r.push(c), r } else { if (f[2]) return L.apply(r, t.getElementsByTagName(e)), r; if ((o = f[3]) && n.getElementsByClassName && t.getElementsByClassName) return L.apply(r, t.getElementsByClassName(o)), r } if (n.qsa && !E[e + " "] && (!m || !m.test(e)) && (1 !== w || "object" !== t.nodeName.toLowerCase())) { if (v = e, y = t, 1 === w && (V.test(e) || U.test(e))) { for ((y = ee.test(e) && ve(t.parentNode) || t) === t && n.scope || ((u = t.getAttribute("id")) ? u = u.replace(re, ie) : t.setAttribute("id", u = _)), s = (p = a(e)).length; s--;)p[s] = (u ? "#" + u : ":scope") + " " + be(p[s]); v = p.join(",") } try { return L.apply(r, y.querySelectorAll(v)), r } catch (t) { E(e, !0) } finally { u === _ && t.removeAttribute("id") } } } return l(e.replace(W, "$1"), t, r, i) } function le() { var e = []; return function t(n, i) { return e.push(n + " ") > r.cacheLength && delete t[e.shift()], t[n + " "] = i } } function ce(e) { return e[_] = !0, e } function ue(e) { var t = h.createElement("fieldset"); try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function fe(e, t) { for (var n = e.split("|"), i = n.length; i--;)r.attrHandle[n[i]] = t } function de(e, t) { var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; if (r) return r; if (n) for (; n = n.nextSibling;)if (n === t) return -1; return e ? 1 : -1 } function he(e) { return function (t) { return "input" === t.nodeName.toLowerCase() && t.type === e } } function pe(e) { return function (t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e } } function ge(e) { return function (t) { return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && ae(t) === e : t.disabled === e : "label" in t && t.disabled === e } } function me(e) { return ce(function (t) { return t = +t, ce(function (n, r) { for (var i, o = e([], n.length, t), a = o.length; a--;)n[i = o[a]] && (n[i] = !(r[i] = n[i])) }) }) } function ve(e) { return e && void 0 !== e.getElementsByTagName && e } for (t in n = se.support = {}, o = se.isXML = function (e) { var t = e && e.namespaceURI, n = e && (e.ownerDocument || e).documentElement; return !Y.test(t || n && n.nodeName || "HTML") }, d = se.setDocument = function (e) { var t, i, a = e ? e.ownerDocument || e : w; return a != h && 9 === a.nodeType && a.documentElement && (p = (h = a).documentElement, g = !o(h), w != h && (i = h.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", oe, !1) : i.attachEvent && i.attachEvent("onunload", oe)), n.scope = ue(function (e) { return p.appendChild(e).appendChild(h.createElement("div")), void 0 !== e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length }), n.attributes = ue(function (e) { return e.className = "i", !e.getAttribute("className") }), n.getElementsByTagName = ue(function (e) { return e.appendChild(h.createComment("")), !e.getElementsByTagName("*").length }), n.getElementsByClassName = K.test(h.getElementsByClassName), n.getById = ue(function (e) { return p.appendChild(e).id = _, !h.getElementsByName || !h.getElementsByName(_).length }), n.getById ? (r.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { return e.getAttribute("id") === t } }, r.find.ID = function (e, t) { if (void 0 !== t.getElementById && g) { var n = t.getElementById(e); return n ? [n] : [] } }) : (r.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id"); return n && n.value === t } }, r.find.ID = function (e, t) { if (void 0 !== t.getElementById && g) { var n, r, i, o = t.getElementById(e); if (o) { if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; for (i = t.getElementsByName(e), r = 0; o = i[r++];)if ((n = o.getAttributeNode("id")) && n.value === e) return [o] } return [] } }), r.find.TAG = n.getElementsByTagName ? function (e, t) { return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0 } : function (e, t) { var n, r = [], i = 0, o = t.getElementsByTagName(e); if ("*" === e) { for (; n = o[i++];)1 === n.nodeType && r.push(n); return r } return o }, r.find.CLASS = n.getElementsByClassName && function (e, t) { if (void 0 !== t.getElementsByClassName && g) return t.getElementsByClassName(e) }, v = [], m = [], (n.qsa = K.test(h.querySelectorAll)) && (ue(function (e) { var t; p.appendChild(e).innerHTML = "<a id='" + _ + "'></a><select id='" + _ + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && m.push("[*^$]=" + F + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || m.push("\\[" + F + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + _ + "-]").length || m.push("~="), (t = h.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || m.push("\\[" + F + "*name" + F + "*=" + F + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || m.push(":checked"), e.querySelectorAll("a#" + _ + "+*").length || m.push(".#.+[+~]"), e.querySelectorAll("\\\f"), m.push("[\\r\\n\\f]") }), ue(function (e) { e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; var t = h.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && m.push("name" + F + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && m.push(":enabled", ":disabled"), p.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && m.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), m.push(",.*:") })), (n.matchesSelector = K.test(y = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.oMatchesSelector || p.msMatchesSelector)) && ue(function (e) { n.disconnectedMatch = y.call(e, "*"), y.call(e, "[s!='']:x"), v.push("!=", M) }), m = m.length && new RegExp(m.join("|")), v = v.length && new RegExp(v.join("|")), t = K.test(p.compareDocumentPosition), b = t || K.test(p.contains) ? function (e, t) { var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) } : function (e, t) { if (t) for (; t = t.parentNode;)if (t === e) return !0; return !1 }, A = t ? function (e, t) { if (e === t) return f = !0, 0; var r = !e.compareDocumentPosition - !t.compareDocumentPosition; return r || (1 & (r = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !n.sortDetached && t.compareDocumentPosition(e) === r ? e == h || e.ownerDocument == w && b(w, e) ? -1 : t == h || t.ownerDocument == w && b(w, t) ? 1 : u ? O(u, e) - O(u, t) : 0 : 4 & r ? -1 : 1) } : function (e, t) { if (e === t) return f = !0, 0; var n, r = 0, i = e.parentNode, o = t.parentNode, a = [e], s = [t]; if (!i || !o) return e == h ? -1 : t == h ? 1 : i ? -1 : o ? 1 : u ? O(u, e) - O(u, t) : 0; if (i === o) return de(e, t); for (n = e; n = n.parentNode;)a.unshift(n); for (n = t; n = n.parentNode;)s.unshift(n); for (; a[r] === s[r];)r++; return r ? de(a[r], s[r]) : a[r] == w ? -1 : s[r] == w ? 1 : 0 }), h }, se.matches = function (e, t) { return se(e, null, null, t) }, se.matchesSelector = function (e, t) { if (d(e), n.matchesSelector && g && !E[t + " "] && (!v || !v.test(t)) && (!m || !m.test(t))) try { var r = y.call(e, t); if (r || n.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r } catch (e) { E(t, !0) } return 0 < se(t, h, null, [e]).length }, se.contains = function (e, t) { return (e.ownerDocument || e) != h && d(e), b(e, t) }, se.attr = function (e, t) { (e.ownerDocument || e) != h && d(e); var i = r.attrHandle[t.toLowerCase()], o = i && I.call(r.attrHandle, t.toLowerCase()) ? i(e, t, !g) : void 0; return void 0 !== o ? o : n.attributes || !g ? e.getAttribute(t) : (o = e.getAttributeNode(t)) && o.specified ? o.value : null }, se.escape = function (e) { return (e + "").replace(re, ie) }, se.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e) }, se.uniqueSort = function (e) { var t, r = [], i = 0, o = 0; if (f = !n.detectDuplicates, u = !n.sortStable && e.slice(0), e.sort(A), f) { for (; t = e[o++];)t === e[o] && (i = r.push(o)); for (; i--;)e.splice(r[i], 1) } return u = null, e }, i = se.getText = function (e) { var t, n = "", r = 0, o = e.nodeType; if (o) { if (1 === o || 9 === o || 11 === o) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += i(e) } else if (3 === o || 4 === o) return e.nodeValue } else for (; t = e[r++];)n += i(t); return n }, (r = se.selectors = { cacheLength: 50, createPseudo: ce, match: Q, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return Q.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = a(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function (e) { var t = e.replace(te, ne).toLowerCase(); return "*" === e ? function () { return !0 } : function (e) { return e.nodeName && e.nodeName.toLowerCase() === t } }, CLASS: function (e) { var t = x[e + " "]; return t || (t = new RegExp("(^|" + F + ")" + e + "(" + F + "|$)")) && x(e, function (e) { return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "") }) }, ATTR: function (e, t, n) { return function (r) { var i = se.attr(r, e); return null == i ? "!=" === t : !t || (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && -1 < i.indexOf(n) : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? -1 < (" " + i.replace($, " ") + " ").indexOf(n) : "|=" === t && (i === n || i.slice(0, n.length + 1) === n + "-")) } }, CHILD: function (e, t, n, r, i) { var o = "nth" !== e.slice(0, 3), a = "last" !== e.slice(-4), s = "of-type" === t; return 1 === r && 0 === i ? function (e) { return !!e.parentNode } : function (t, n, l) { var c, u, f, d, h, p, g = o !== a ? "nextSibling" : "previousSibling", m = t.parentNode, v = s && t.nodeName.toLowerCase(), y = !l && !s, b = !1; if (m) { if (o) { for (; g;) { for (d = t; d = d[g];)if (s ? d.nodeName.toLowerCase() === v : 1 === d.nodeType) return !1; p = g = "only" === e && !p && "nextSibling" } return !0 } if (p = [a ? m.firstChild : m.lastChild], a && y) { for (b = (h = (c = (u = (f = (d = m)[_] || (d[_] = {}))[d.uniqueID] || (f[d.uniqueID] = {}))[e] || [])[0] === S && c[1]) && c[2], d = h && m.childNodes[h]; d = ++h && d && d[g] || (b = h = 0) || p.pop();)if (1 === d.nodeType && ++b && d === t) { u[e] = [S, h, b]; break } } else if (y && (b = h = (c = (u = (f = (d = t)[_] || (d[_] = {}))[d.uniqueID] || (f[d.uniqueID] = {}))[e] || [])[0] === S && c[1]), !1 === b) for (; (d = ++h && d && d[g] || (b = h = 0) || p.pop()) && ((s ? d.nodeName.toLowerCase() !== v : 1 !== d.nodeType) || !++b || (y && ((u = (f = d[_] || (d[_] = {}))[d.uniqueID] || (f[d.uniqueID] = {}))[e] = [S, b]), d !== t));); return (b -= i) === r || b % r == 0 && 0 <= b / r } } }, PSEUDO: function (e, t) { var n, i = r.pseudos[e] || r.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); return i[_] ? i(t) : 1 < i.length ? (n = [e, e, "", t], r.setFilters.hasOwnProperty(e.toLowerCase()) ? ce(function (e, n) { for (var r, o = i(e, t), a = o.length; a--;)e[r = O(e, o[a])] = !(n[r] = o[a]) }) : function (e) { return i(e, 0, n) }) : i } }, pseudos: { not: ce(function (e) { var t = [], n = [], r = s(e.replace(W, "$1")); return r[_] ? ce(function (e, t, n, i) { for (var o, a = r(e, null, i, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o)) }) : function (e, i, o) { return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop() } }), has: ce(function (e) { return function (t) { return 0 < se(e, t).length } }), contains: ce(function (e) { return e = e.replace(te, ne), function (t) { return -1 < (t.textContent || i(t)).indexOf(e) } }), lang: ce(function (e) { return z.test(e || "") || se.error("unsupported lang: " + e), e = e.replace(te, ne).toLowerCase(), function (t) { var n; do { if (n = g ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-") } while ((t = t.parentNode) && 1 === t.nodeType); return !1 } }), target: function (t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id }, root: function (e) { return e === p }, focus: function (e) { return e === h.activeElement && (!h.hasFocus || h.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: ge(!1), disabled: ge(!0), checked: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling)if (e.nodeType < 6) return !1; return !0 }, parent: function (e) { return !r.pseudos.empty(e) }, header: function (e) { return J.test(e.nodeName) }, input: function (e) { return G.test(e.nodeName) }, button: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function (e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: me(function () { return [0] }), last: me(function (e, t) { return [t - 1] }), eq: me(function (e, t, n) { return [n < 0 ? n + t : n] }), even: me(function (e, t) { for (var n = 0; n < t; n += 2)e.push(n); return e }), odd: me(function (e, t) { for (var n = 1; n < t; n += 2)e.push(n); return e }), lt: me(function (e, t, n) { for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;)e.push(r); return e }), gt: me(function (e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t;)e.push(r); return e }) } }).pseudos.nth = r.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) r.pseudos[t] = he(t); for (t in { submit: !0, reset: !0 }) r.pseudos[t] = pe(t); function ye() { } function be(e) { for (var t = 0, n = e.length, r = ""; t < n; t++)r += e[t].value; return r } function _e(e, t, n) { var r = t.dir, i = t.next, o = i || r, a = n && "parentNode" === o, s = T++; return t.first ? function (t, n, i) { for (; t = t[r];)if (1 === t.nodeType || a) return e(t, n, i); return !1 } : function (t, n, l) { var c, u, f, d = [S, s]; if (l) { for (; t = t[r];)if ((1 === t.nodeType || a) && e(t, n, l)) return !0 } else for (; t = t[r];)if (1 === t.nodeType || a) if (u = (f = t[_] || (t[_] = {}))[t.uniqueID] || (f[t.uniqueID] = {}), i && i === t.nodeName.toLowerCase()) t = t[r] || t; else { if ((c = u[o]) && c[0] === S && c[1] === s) return d[2] = c[2]; if ((u[o] = d)[2] = e(t, n, l)) return !0 } return !1 } } function we(e) { return 1 < e.length ? function (t, n, r) { for (var i = e.length; i--;)if (!e[i](t, n, r)) return !1; return !0 } : e[0] } function Se(e, t, n, r, i) { for (var o, a = [], s = 0, l = e.length, c = null != t; s < l; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), c && t.push(s))); return a } function Te(e, t, n, r, i, o) { return r && !r[_] && (r = Te(r)), i && !i[_] && (i = Te(i, o)), ce(function (o, a, s, l) { var c, u, f, d = [], h = [], p = a.length, g = o || function (e, t, n) { for (var r = 0, i = t.length; r < i; r++)se(e, t[r], n); return n }(t || "*", s.nodeType ? [s] : s, []), m = !e || !o && t ? g : Se(g, d, e, s, l), v = n ? i || (o ? e : p || r) ? [] : a : m; if (n && n(m, v, s, l), r) for (c = Se(v, h), r(c, [], s, l), u = c.length; u--;)(f = c[u]) && (v[h[u]] = !(m[h[u]] = f)); if (o) { if (i || e) { if (i) { for (c = [], u = v.length; u--;)(f = v[u]) && c.push(m[u] = f); i(null, v = [], c, l) } for (u = v.length; u--;)(f = v[u]) && -1 < (c = i ? O(o, f) : d[u]) && (o[c] = !(a[c] = f)) } } else v = Se(v === a ? v.splice(p, v.length) : v), i ? i(null, a, v, l) : L.apply(a, v) }) } function xe(e) { for (var t, n, i, o = e.length, a = r.relative[e[0].type], s = a || r.relative[" "], l = a ? 1 : 0, u = _e(function (e) { return e === t }, s, !0), f = _e(function (e) { return -1 < O(t, e) }, s, !0), d = [function (e, n, r) { var i = !a && (r || n !== c) || ((t = n).nodeType ? u(e, n, r) : f(e, n, r)); return t = null, i }]; l < o; l++)if (n = r.relative[e[l].type]) d = [_e(we(d), n)]; else { if ((n = r.filter[e[l].type].apply(null, e[l].matches))[_]) { for (i = ++l; i < o && !r.relative[e[i].type]; i++); return Te(1 < l && we(d), 1 < l && be(e.slice(0, l - 1).concat({ value: " " === e[l - 2].type ? "*" : "" })).replace(W, "$1"), n, l < i && xe(e.slice(l, i)), i < o && xe(e = e.slice(i)), i < o && be(e)) } d.push(n) } return we(d) } return ye.prototype = r.filters = r.pseudos, r.setFilters = new ye, a = se.tokenize = function (e, t) { var n, i, o, a, s, l, c, u = C[e + " "]; if (u) return t ? 0 : u.slice(0); for (s = e, l = [], c = r.preFilter; s;) { for (a in n && !(i = B.exec(s)) || (i && (s = s.slice(i[0].length) || s), l.push(o = [])), n = !1, (i = U.exec(s)) && (n = i.shift(), o.push({ value: n, type: i[0].replace(W, " ") }), s = s.slice(n.length)), r.filter) !(i = Q[a].exec(s)) || c[a] && !(i = c[a](i)) || (n = i.shift(), o.push({ value: n, type: a, matches: i }), s = s.slice(n.length)); if (!n) break } return t ? s.length : s ? se.error(e) : C(e, l).slice(0) }, s = se.compile = function (e, t) { var n, i, o, s, l, u, f = [], p = [], m = D[e + " "]; if (!m) { for (t || (t = a(e)), n = t.length; n--;)(m = xe(t[n]))[_] ? f.push(m) : p.push(m); (m = D(e, (i = p, s = 0 < (o = f).length, l = 0 < i.length, u = function (e, t, n, a, u) { var f, p, m, v = 0, y = "0", b = e && [], _ = [], w = c, T = e || l && r.find.TAG("*", u), x = S += null == w ? 1 : Math.random() || .1, C = T.length; for (u && (c = t == h || t || u); y !== C && null != (f = T[y]); y++) { if (l && f) { for (p = 0, t || f.ownerDocument == h || (d(f), n = !g); m = i[p++];)if (m(f, t || h, n)) { a.push(f); break } u && (S = x) } s && ((f = !m && f) && v--, e && b.push(f)) } if (v += y, s && y !== v) { for (p = 0; m = o[p++];)m(b, _, t, n); if (e) { if (0 < v) for (; y--;)b[y] || _[y] || (_[y] = j.call(a)); _ = Se(_) } L.apply(a, _), u && !e && 0 < _.length && 1 < v + o.length && se.uniqueSort(a) } return u && (S = x, c = w), b }, s ? ce(u) : u))).selector = e } return m }, l = se.select = function (e, t, n, i) { var o, l, c, u, f, d = "function" == typeof e && e, h = !i && a(e = d.selector || e); if (n = n || [], 1 === h.length) { if (2 < (l = h[0] = h[0].slice(0)).length && "ID" === (c = l[0]).type && 9 === t.nodeType && g && r.relative[l[1].type]) { if (!(t = (r.find.ID(c.matches[0].replace(te, ne), t) || [])[0])) return n; d && (t = t.parentNode), e = e.slice(l.shift().value.length) } for (o = Q.needsContext.test(e) ? 0 : l.length; o-- && (c = l[o], !r.relative[u = c.type]);)if ((f = r.find[u]) && (i = f(c.matches[0].replace(te, ne), ee.test(l[0].type) && ve(t.parentNode) || t))) { if (l.splice(o, 1), !(e = i.length && be(l))) return L.apply(n, i), n; break } } return (d || s(e, h))(i, t, !g, n, !t || ee.test(e) && ve(t.parentNode) || t), n }, n.sortStable = _.split("").sort(A).join("") === _, n.detectDuplicates = !!f, d(), n.sortDetached = ue(function (e) { return 1 & e.compareDocumentPosition(h.createElement("fieldset")) }), ue(function (e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") }) || fe("type|href|height|width", function (e, t, n) { if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) }), n.attributes && ue(function (e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") }) || fe("value", function (e, t, n) { if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue }), ue(function (e) { return null == e.getAttribute("disabled") }) || fe(R, function (e, t, n) { var r; if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null }), se }(e); w.find = T, w.expr = T.selectors, w.expr[":"] = w.expr.pseudos, w.uniqueSort = w.unique = T.uniqueSort, w.text = T.getText, w.isXMLDoc = T.isXML, w.contains = T.contains, w.escapeSelector = T.escape; var x = function (e, t, n) { for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;)if (1 === e.nodeType) { if (i && w(e).is(n)) break; r.push(e) } return r }, C = function (e, t) { for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n }, D = w.expr.match.needsContext; function E(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() } var A = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function I(e, t, n) { return p(t) ? w.grep(e, function (e, r) { return !!t.call(e, r, e) !== n }) : t.nodeType ? w.grep(e, function (e) { return e === t !== n }) : "string" != typeof t ? w.grep(e, function (e) { return -1 < s.call(t, e) !== n }) : w.filter(t, e, n) } w.filter = function (e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? w.find.matchesSelector(r, e) ? [r] : [] : w.find.matches(e, w.grep(t, function (e) { return 1 === e.nodeType })) }, w.fn.extend({ find: function (e) { var t, n, r = this.length, i = this; if ("string" != typeof e) return this.pushStack(w(e).filter(function () { for (t = 0; t < r; t++)if (w.contains(i[t], this)) return !0 })); for (n = this.pushStack([]), t = 0; t < r; t++)w.find(e, i[t], n); return 1 < r ? w.uniqueSort(n) : n }, filter: function (e) { return this.pushStack(I(this, e || [], !1)) }, not: function (e) { return this.pushStack(I(this, e || [], !0)) }, is: function (e) { return !!I(this, "string" == typeof e && D.test(e) ? w(e) : e || [], !1).length } }); var k, j = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (w.fn.init = function (e, t, n) { var r, i; if (!e) return this; if (n = n || k, "string" == typeof e) { if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : j.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); if (r[1]) { if (t = t instanceof w ? t[0] : t, w.merge(this, w.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : m, !0)), A.test(r[1]) && w.isPlainObject(t)) for (r in t) p(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); return this } return (i = m.getElementById(r[2])) && (this[0] = i, this.length = 1), this } return e.nodeType ? (this[0] = e, this.length = 1, this) : p(e) ? void 0 !== n.ready ? n.ready(e) : e(w) : w.makeArray(e, this) }).prototype = w.fn, k = w(m); var N = /^(?:parents|prev(?:Until|All))/, L = { children: !0, contents: !0, next: !0, prev: !0 }; function P(e, t) { for (; (e = e[t]) && 1 !== e.nodeType;); return e } w.fn.extend({ has: function (e) { var t = w(e, this), n = t.length; return this.filter(function () { for (var e = 0; e < n; e++)if (w.contains(this, t[e])) return !0 }) }, closest: function (e, t) { var n, r = 0, i = this.length, o = [], a = "string" != typeof e && w(e); if (!D.test(e)) for (; r < i; r++)for (n = this[r]; n && n !== t; n = n.parentNode)if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && w.find.matchesSelector(n, e))) { o.push(n); break } return this.pushStack(1 < o.length ? w.uniqueSort(o) : o) }, index: function (e) { return e ? "string" == typeof e ? s.call(w(e), this[0]) : s.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (e, t) { return this.pushStack(w.uniqueSort(w.merge(this.get(), w(e, t)))) }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), w.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function (e) { return x(e, "parentNode") }, parentsUntil: function (e, t, n) { return x(e, "parentNode", n) }, next: function (e) { return P(e, "nextSibling") }, prev: function (e) { return P(e, "previousSibling") }, nextAll: function (e) { return x(e, "nextSibling") }, prevAll: function (e) { return x(e, "previousSibling") }, nextUntil: function (e, t, n) { return x(e, "nextSibling", n) }, prevUntil: function (e, t, n) { return x(e, "previousSibling", n) }, siblings: function (e) { return C((e.parentNode || {}).firstChild, e) }, children: function (e) { return C(e.firstChild) }, contents: function (e) { return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (E(e, "template") && (e = e.content || e), w.merge([], e.childNodes)) } }, function (e, t) { w.fn[e] = function (n, r) { var i = w.map(this, t, n); return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = w.filter(r, i)), 1 < this.length && (L[e] || w.uniqueSort(i), N.test(e) && i.reverse()), this.pushStack(i) } }); var O = /[^\x20\t\r\n\f]+/g; function R(e) { return e } function F(e) { throw e } function H(e, t, n, r) { var i; try { e && p(i = e.promise) ? i.call(e).done(t).fail(n) : e && p(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)) } catch (e) { n.apply(void 0, [e]) } } w.Callbacks = function (e) { var t, n; e = "string" == typeof e ? (t = e, n = {}, w.each(t.match(O) || [], function (e, t) { n[t] = !0 }), n) : w.extend({}, e); var r, i, o, a, s = [], l = [], c = -1, u = function () { for (a = a || e.once, o = r = !0; l.length; c = -1)for (i = l.shift(); ++c < s.length;)!1 === s[c].apply(i[0], i[1]) && e.stopOnFalse && (c = s.length, i = !1); e.memory || (i = !1), r = !1, a && (s = i ? [] : "") }, f = { add: function () { return s && (i && !r && (c = s.length - 1, l.push(i)), function t(n) { w.each(n, function (n, r) { p(r) ? e.unique && f.has(r) || s.push(r) : r && r.length && "string" !== b(r) && t(r) }) }(arguments), i && !r && u()), this }, remove: function () { return w.each(arguments, function (e, t) { for (var n; -1 < (n = w.inArray(t, s, n));)s.splice(n, 1), n <= c && c-- }), this }, has: function (e) { return e ? -1 < w.inArray(e, s) : 0 < s.length }, empty: function () { return s && (s = []), this }, disable: function () { return a = l = [], s = i = "", this }, disabled: function () { return !s }, lock: function () { return a = l = [], i || r || (s = i = ""), this }, locked: function () { return !!a }, fireWith: function (e, t) { return a || (t = [e, (t = t || []).slice ? t.slice() : t], l.push(t), r || u()), this }, fire: function () { return f.fireWith(this, arguments), this }, fired: function () { return !!o } }; return f }, w.extend({ Deferred: function (t) { var n = [["notify", "progress", w.Callbacks("memory"), w.Callbacks("memory"), 2], ["resolve", "done", w.Callbacks("once memory"), w.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", w.Callbacks("once memory"), w.Callbacks("once memory"), 1, "rejected"]], r = "pending", i = { state: function () { return r }, always: function () { return o.done(arguments).fail(arguments), this }, catch: function (e) { return i.then(null, e) }, pipe: function () { var e = arguments; return w.Deferred(function (t) { w.each(n, function (n, r) { var i = p(e[r[4]]) && e[r[4]]; o[r[1]](function () { var e = i && i.apply(this, arguments); e && p(e.promise) ? e.promise().progress(t.notify).done(t.resolve).fail(t.reject) : t[r[0] + "With"](this, i ? [e] : arguments) }) }), e = null }).promise() }, then: function (t, r, i) { var o = 0; function a(t, n, r, i) { return function () { var s = this, l = arguments, c = function () { var e, c; if (!(t < o)) { if ((e = r.apply(s, l)) === n.promise()) throw new TypeError("Thenable self-resolution"); c = e && ("object" == typeof e || "function" == typeof e) && e.then, p(c) ? i ? c.call(e, a(o, n, R, i), a(o, n, F, i)) : (o++, c.call(e, a(o, n, R, i), a(o, n, F, i), a(o, n, R, n.notifyWith))) : (r !== R && (s = void 0, l = [e]), (i || n.resolveWith)(s, l)) } }, u = i ? c : function () { try { c() } catch (e) { w.Deferred.exceptionHook && w.Deferred.exceptionHook(e, u.stackTrace), o <= t + 1 && (r !== F && (s = void 0, l = [e]), n.rejectWith(s, l)) } }; t ? u() : (w.Deferred.getStackHook && (u.stackTrace = w.Deferred.getStackHook()), e.setTimeout(u)) } } return w.Deferred(function (e) { n[0][3].add(a(0, e, p(i) ? i : R, e.notifyWith)), n[1][3].add(a(0, e, p(t) ? t : R)), n[2][3].add(a(0, e, p(r) ? r : F)) }).promise() }, promise: function (e) { return null != e ? w.extend(e, i) : i } }, o = {}; return w.each(n, function (e, t) { var a = t[2], s = t[5]; i[t[1]] = a.add, s && a.add(function () { r = s }, n[3 - e][2].disable, n[3 - e][3].disable, n[0][2].lock, n[0][3].lock), a.add(t[3].fire), o[t[0]] = function () { return o[t[0] + "With"](this === o ? void 0 : this, arguments), this }, o[t[0] + "With"] = a.fireWith }), i.promise(o), t && t.call(o, o), o }, when: function (e) { var t = arguments.length, n = t, r = Array(n), o = i.call(arguments), a = w.Deferred(), s = function (e) { return function (n) { r[e] = this, o[e] = 1 < arguments.length ? i.call(arguments) : n, --t || a.resolveWith(r, o) } }; if (t <= 1 && (H(e, a.done(s(n)).resolve, a.reject, !t), "pending" === a.state() || p(o[n] && o[n].then))) return a.then(); for (; n--;)H(o[n], s(n), a.reject); return a.promise() } }); var q = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; w.Deferred.exceptionHook = function (t, n) { e.console && e.console.warn && t && q.test(t.name) && e.console.warn("jQuery.Deferred exception: " + t.message, t.stack, n) }, w.readyException = function (t) { e.setTimeout(function () { throw t }) }; var M = w.Deferred(); function $() { m.removeEventListener("DOMContentLoaded", $), e.removeEventListener("load", $), w.ready() } w.fn.ready = function (e) { return M.then(e).catch(function (e) { w.readyException(e) }), this }, w.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --w.readyWait : w.isReady) || (w.isReady = !0) !== e && 0 < --w.readyWait || M.resolveWith(m, [w]) } }), w.ready.then = M.then, "complete" === m.readyState || "loading" !== m.readyState && !m.documentElement.doScroll ? e.setTimeout(w.ready) : (m.addEventListener("DOMContentLoaded", $), e.addEventListener("load", $)); var W = function (e, t, n, r, i, o, a) { var s = 0, l = e.length, c = null == n; if ("object" === b(n)) for (s in i = !0, n) W(e, t, s, n[s], !0, o, a); else if (void 0 !== r && (i = !0, p(r) || (a = !0), c && (a ? (t.call(e, r), t = null) : (c = t, t = function (e, t, n) { return c.call(w(e), n) })), t)) for (; s < l; s++)t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); return i ? e : c ? t.call(e) : l ? t(e[0], n) : o }, B = /^-ms-/, U = /-([a-z])/g; function V(e, t) { return t.toUpperCase() } function X(e) { return e.replace(B, "ms-").replace(U, V) } var z = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }; function Q() { this.expando = w.expando + Q.uid++ } Q.uid = 1, Q.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = {}, z(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t }, set: function (e, t, n) { var r, i = this.cache(e); if ("string" == typeof t) i[X(t)] = n; else for (r in t) i[X(r)] = t[r]; return i }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)] }, access: function (e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function (e, t) { var n, r = e[this.expando]; if (void 0 !== r) { if (void 0 !== t) { n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(O) || []).length; for (; n--;)delete r[t[n]] } (void 0 === t || w.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !w.isEmptyObject(t) } }; var Y = new Q, G = new Q, J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, K = /[A-Z]/g; function Z(e, t, n) { var r, i; if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(K, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) { try { n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : J.test(i) ? JSON.parse(i) : i) } catch (e) { } G.set(e, t, n) } else n = void 0; return n } w.extend({ hasData: function (e) { return G.hasData(e) || Y.hasData(e) }, data: function (e, t, n) { return G.access(e, t, n) }, removeData: function (e, t) { G.remove(e, t) }, _data: function (e, t, n) { return Y.access(e, t, n) }, _removeData: function (e, t) { Y.remove(e, t) } }), w.fn.extend({ data: function (e, t) { var n, r, i, o = this[0], a = o && o.attributes; if (void 0 === e) { if (this.length && (i = G.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) { for (n = a.length; n--;)a[n] && 0 === (r = a[n].name).indexOf("data-") && (r = X(r.slice(5)), Z(o, r, i[r])); Y.set(o, "hasDataAttrs", !0) } return i } return "object" == typeof e ? this.each(function () { G.set(this, e) }) : W(this, function (t) { var n; if (o && void 0 === t) return void 0 !== (n = G.get(o, e)) ? n : void 0 !== (n = Z(o, e)) ? n : void 0; this.each(function () { G.set(this, e, t) }) }, null, t, 1 < arguments.length, null, !0) }, removeData: function (e) { return this.each(function () { G.remove(this, e) }) } }), w.extend({ queue: function (e, t, n) { var r; if (e) return t = (t || "fx") + "queue", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, w.makeArray(n)) : r.push(n)), r || [] }, dequeue: function (e, t) { t = t || "fx"; var n = w.queue(e, t), r = n.length, i = n.shift(), o = w._queueHooks(e, t); "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () { w.dequeue(e, t) }, o)), !r && o && o.empty.fire() }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return Y.get(e, n) || Y.access(e, n, { empty: w.Callbacks("once memory").add(function () { Y.remove(e, [t + "queue", n]) }) }) } }), w.fn.extend({ queue: function (e, t) { var n = 2; return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? w.queue(this[0], e) : void 0 === t ? this : this.each(function () { var n = w.queue(this, e, t); w._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && w.dequeue(this, e) }) }, dequeue: function (e) { return this.each(function () { w.dequeue(this, e) }) }, clearQueue: function (e) { return this.queue(e || "fx", []) }, promise: function (e, t) { var n, r = 1, i = w.Deferred(), o = this, a = this.length, s = function () { --r || i.resolveWith(o, [o]) }; for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = Y.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); return s(), i.promise(t) } }); var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), ne = ["Top", "Right", "Bottom", "Left"], re = m.documentElement, ie = function (e) { return w.contains(e.ownerDocument, e) }, oe = { composed: !0 }; re.getRootNode && (ie = function (e) { return w.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument }); var ae = function (e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && ie(e) && "none" === w.css(e, "display") }; function se(e, t, n, r) { var i, o, a = 20, s = r ? function () { return r.cur() } : function () { return w.css(e, t, "") }, l = s(), c = n && n[3] || (w.cssNumber[t] ? "" : "px"), u = e.nodeType && (w.cssNumber[t] || "px" !== c && +l) && te.exec(w.css(e, t)); if (u && u[3] !== c) { for (l /= 2, c = c || u[3], u = +l || 1; a--;)w.style(e, t, u + c), (1 - o) * (1 - (o = s() / l || .5)) <= 0 && (a = 0), u /= o; u *= 2, w.style(e, t, u + c), n = n || [] } return n && (u = +u || +l || 0, i = n[1] ? u + (n[1] + 1) * n[2] : +n[2], r && (r.unit = c, r.start = u, r.end = i)), i } var le = {}; function ce(e, t) { for (var n, r, i, o, a, s, l, c = [], u = 0, f = e.length; u < f; u++)(r = e[u]).style && (n = r.style.display, t ? ("none" === n && (c[u] = Y.get(r, "display") || null, c[u] || (r.style.display = "")), "" === r.style.display && ae(r) && (c[u] = (l = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (l = le[s]) || (o = a.body.appendChild(a.createElement(s)), l = w.css(o, "display"), o.parentNode.removeChild(o), "none" === l && (l = "block"), le[s] = l)))) : "none" !== n && (c[u] = "none", Y.set(r, "display", n))); for (u = 0; u < f; u++)null != c[u] && (e[u].style.display = c[u]); return e } w.fn.extend({ show: function () { return ce(this, !0) }, hide: function () { return ce(this) }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { ae(this) ? w(this).show() : w(this).hide() }) } }); var ue, fe, de = /^(?:checkbox|radio)$/i, he = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, pe = /^$|^module$|\/(?:java|ecma)script/i; ue = m.createDocumentFragment().appendChild(m.createElement("div")), (fe = m.createElement("input")).setAttribute("type", "radio"), fe.setAttribute("checked", "checked"), fe.setAttribute("name", "t"), ue.appendChild(fe), h.checkClone = ue.cloneNode(!0).cloneNode(!0).lastChild.checked, ue.innerHTML = "<textarea>x</textarea>", h.noCloneChecked = !!ue.cloneNode(!0).lastChild.defaultValue, ue.innerHTML = "<option></option>", h.option = !!ue.lastChild; var ge = { thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] }; function me(e, t) { var n; return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && E(e, t) ? w.merge([e], n) : n } function ve(e, t) { for (var n = 0, r = e.length; n < r; n++)Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")) } ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, h.option || (ge.optgroup = ge.option = [1, "<select multiple='multiple'>", "</select>"]); var ye = /<|&#?\w+;/; function be(e, t, n, r, i) { for (var o, a, s, l, c, u, f = t.createDocumentFragment(), d = [], h = 0, p = e.length; h < p; h++)if ((o = e[h]) || 0 === o) if ("object" === b(o)) w.merge(d, o.nodeType ? [o] : o); else if (ye.test(o)) { for (a = a || f.appendChild(t.createElement("div")), s = (he.exec(o) || ["", ""])[1].toLowerCase(), l = ge[s] || ge._default, a.innerHTML = l[1] + w.htmlPrefilter(o) + l[2], u = l[0]; u--;)a = a.lastChild; w.merge(d, a.childNodes), (a = f.firstChild).textContent = "" } else d.push(t.createTextNode(o)); for (f.textContent = "", h = 0; o = d[h++];)if (r && -1 < w.inArray(o, r)) i && i.push(o); else if (c = ie(o), a = me(f.appendChild(o), "script"), c && ve(a), n) for (u = 0; o = a[u++];)pe.test(o.type || "") && n.push(o); return f } var _e = /^([^.]*)(?:\.(.+)|)/; function we() { return !0 } function Se() { return !1 } function Te(e, t) { return e === function () { try { return m.activeElement } catch (e) { } }() == ("focus" === t) } function xe(e, t, n, r, i, o) { var a, s; if ("object" == typeof t) { for (s in "string" != typeof n && (r = r || n, n = void 0), t) xe(e, s, n, r, t[s], o); return e } if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Se; else if (!i) return e; return 1 === o && (a = i, (i = function (e) { return w().off(e), a.apply(this, arguments) }).guid = a.guid || (a.guid = w.guid++)), e.each(function () { w.event.add(this, t, i, r, n) }) } function Ce(e, t, n) { n ? (Y.set(e, t, !1), w.event.add(e, t, { namespace: !1, handler: function (e) { var r, o, a = Y.get(this, t); if (1 & e.isTrigger && this[t]) { if (a.length) (w.event.special[t] || {}).delegateType && e.stopPropagation(); else if (a = i.call(arguments), Y.set(this, t, a), r = n(this, t), this[t](), a !== (o = Y.get(this, t)) || r ? Y.set(this, t, !1) : o = {}, a !== o) return e.stopImmediatePropagation(), e.preventDefault(), o && o.value } else a.length && (Y.set(this, t, { value: w.event.trigger(w.extend(a[0], w.Event.prototype), a.slice(1), this) }), e.stopImmediatePropagation()) } })) : void 0 === Y.get(e, t) && w.event.add(e, t, we) } w.event = { global: {}, add: function (e, t, n, r, i) { var o, a, s, l, c, u, f, d, h, p, g, m = Y.get(e); if (z(e)) for (n.handler && (n = (o = n).handler, i = o.selector), i && w.find.matchesSelector(re, i), n.guid || (n.guid = w.guid++), (l = m.events) || (l = m.events = Object.create(null)), (a = m.handle) || (a = m.handle = function (t) { return void 0 !== w && w.event.triggered !== t.type ? w.event.dispatch.apply(e, arguments) : void 0 }), c = (t = (t || "").match(O) || [""]).length; c--;)h = g = (s = _e.exec(t[c]) || [])[1], p = (s[2] || "").split(".").sort(), h && (f = w.event.special[h] || {}, h = (i ? f.delegateType : f.bindType) || h, f = w.event.special[h] || {}, u = w.extend({ type: h, origType: g, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && w.expr.match.needsContext.test(i), namespace: p.join(".") }, o), (d = l[h]) || ((d = l[h] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(e, r, p, a) || e.addEventListener && e.addEventListener(h, a)), f.add && (f.add.call(e, u), u.handler.guid || (u.handler.guid = n.guid)), i ? d.splice(d.delegateCount++, 0, u) : d.push(u), w.event.global[h] = !0) }, remove: function (e, t, n, r, i) { var o, a, s, l, c, u, f, d, h, p, g, m = Y.hasData(e) && Y.get(e); if (m && (l = m.events)) { for (c = (t = (t || "").match(O) || [""]).length; c--;)if (h = g = (s = _e.exec(t[c]) || [])[1], p = (s[2] || "").split(".").sort(), h) { for (f = w.event.special[h] || {}, d = l[h = (r ? f.delegateType : f.bindType) || h] || [], s = s[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = d.length; o--;)u = d[o], !i && g !== u.origType || n && n.guid !== u.guid || s && !s.test(u.namespace) || r && r !== u.selector && ("**" !== r || !u.selector) || (d.splice(o, 1), u.selector && d.delegateCount--, f.remove && f.remove.call(e, u)); a && !d.length && (f.teardown && !1 !== f.teardown.call(e, p, m.handle) || w.removeEvent(e, h, m.handle), delete l[h]) } else for (h in l) w.event.remove(e, h + t[c], n, r, !0); w.isEmptyObject(l) && Y.remove(e, "handle events") } }, dispatch: function (e) { var t, n, r, i, o, a, s = new Array(arguments.length), l = w.event.fix(e), c = (Y.get(this, "events") || Object.create(null))[l.type] || [], u = w.event.special[l.type] || {}; for (s[0] = l, t = 1; t < arguments.length; t++)s[t] = arguments[t]; if (l.delegateTarget = this, !u.preDispatch || !1 !== u.preDispatch.call(this, l)) { for (a = w.event.handlers.call(this, l, c), t = 0; (i = a[t++]) && !l.isPropagationStopped();)for (l.currentTarget = i.elem, n = 0; (o = i.handlers[n++]) && !l.isImmediatePropagationStopped();)l.rnamespace && !1 !== o.namespace && !l.rnamespace.test(o.namespace) || (l.handleObj = o, l.data = o.data, void 0 !== (r = ((w.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (l.result = r) && (l.preventDefault(), l.stopPropagation())); return u.postDispatch && u.postDispatch.call(this, l), l.result } }, handlers: function (e, t) { var n, r, i, o, a, s = [], l = t.delegateCount, c = e.target; if (l && c.nodeType && !("click" === e.type && 1 <= e.button)) for (; c !== this; c = c.parentNode || this)if (1 === c.nodeType && ("click" !== e.type || !0 !== c.disabled)) { for (o = [], a = {}, n = 0; n < l; n++)void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < w(i, this).index(c) : w.find(i, this, null, [c]).length), a[i] && o.push(r); o.length && s.push({ elem: c, handlers: o }) } return c = this, l < t.length && s.push({ elem: c, handlers: t.slice(l) }), s }, addProp: function (e, t) { Object.defineProperty(w.Event.prototype, e, { enumerable: !0, configurable: !0, get: p(t) ? function () { if (this.originalEvent) return t(this.originalEvent) } : function () { if (this.originalEvent) return this.originalEvent[e] }, set: function (t) { Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) } }) }, fix: function (e) { return e[w.expando] ? e : new w.Event(e) }, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return de.test(t.type) && t.click && E(t, "input") && Ce(t, "click", we), !1 }, trigger: function (e) { var t = this || e; return de.test(t.type) && t.click && E(t, "input") && Ce(t, "click"), !0 }, _default: function (e) { var t = e.target; return de.test(t.type) && t.click && E(t, "input") && Y.get(t, "click") || E(t, "a") } }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } } }, w.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, w.Event = function (e, t) { if (!(this instanceof w.Event)) return new w.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? we : Se, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && w.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[w.expando] = !0 }, w.Event.prototype = { constructor: w.Event, isDefaultPrevented: Se, isPropagationStopped: Se, isImmediatePropagationStopped: Se, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = we, e && !this.isSimulated && e.preventDefault() }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = we, e && !this.isSimulated && e.stopPropagation() }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = we, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() } }, w.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, char: !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: !0 }, w.event.addProp), w.each({ focus: "focusin", blur: "focusout" }, function (e, t) { w.event.special[e] = { setup: function () { return Ce(this, e, Te), !1 }, trigger: function () { return Ce(this, e), !0 }, _default: function () { return !0 }, delegateType: t } }), w.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (e, t) { w.event.special[e] = { delegateType: t, bindType: t, handle: function (e) { var n, r = e.relatedTarget, i = e.handleObj; return r && (r === this || w.contains(this, r)) || (e.type = i.origType, n = i.handler.apply(this, arguments), e.type = t), n } } }), w.fn.extend({ on: function (e, t, n, r) { return xe(this, e, t, n, r) }, one: function (e, t, n, r) { return xe(this, e, t, n, r, 1) }, off: function (e, t, n) { var r, i; if (e && e.preventDefault && e.handleObj) return r = e.handleObj, w(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" == typeof e) { for (i in e) this.off(i, t, e[i]); return this } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Se), this.each(function () { w.event.remove(this, e, n, t) }) } }); var De = /<script|<style|<link/i, Ee = /checked\s*(?:[^=]|=\s*.checked.)/i, Ae = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; function Ie(e, t) { return E(e, "table") && E(11 !== t.nodeType ? t : t.firstChild, "tr") && w(e).children("tbody")[0] || e } function ke(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function je(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e } function Ne(e, t) { var n, r, i, o, a, s; if (1 === t.nodeType) { if (Y.hasData(e) && (s = Y.get(e).events)) for (i in Y.remove(t, "handle events"), s) for (n = 0, r = s[i].length; n < r; n++)w.event.add(t, i, s[i][n]); G.hasData(e) && (o = G.access(e), a = w.extend({}, o), G.set(t, a)) } } function Le(e, t, n, r) { t = o(t); var i, a, s, l, c, u, f = 0, d = e.length, g = d - 1, m = t[0], v = p(m); if (v || 1 < d && "string" == typeof m && !h.checkClone && Ee.test(m)) return e.each(function (i) { var o = e.eq(i); v && (t[0] = m.call(this, i, o.html())), Le(o, t, n, r) }); if (d && (a = (i = be(t, e[0].ownerDocument, !1, e, r)).firstChild, 1 === i.childNodes.length && (i = a), a || r)) { for (l = (s = w.map(me(i, "script"), ke)).length; f < d; f++)c = i, f !== g && (c = w.clone(c, !0, !0), l && w.merge(s, me(c, "script"))), n.call(e[f], c, f); if (l) for (u = s[s.length - 1].ownerDocument, w.map(s, je), f = 0; f < l; f++)c = s[f], pe.test(c.type || "") && !Y.access(c, "globalEval") && w.contains(u, c) && (c.src && "module" !== (c.type || "").toLowerCase() ? w._evalUrl && !c.noModule && w._evalUrl(c.src, { nonce: c.nonce || c.getAttribute("nonce") }, u) : y(c.textContent.replace(Ae, ""), c, u)) } return e } function Pe(e, t, n) { for (var r, i = t ? w.filter(t, e) : e, o = 0; null != (r = i[o]); o++)n || 1 !== r.nodeType || w.cleanData(me(r)), r.parentNode && (n && ie(r) && ve(me(r, "script")), r.parentNode.removeChild(r)); return e } w.extend({ htmlPrefilter: function (e) { return e }, clone: function (e, t, n) { var r, i, o, a, s, l, c, u = e.cloneNode(!0), f = ie(e); if (!(h.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || w.isXMLDoc(e))) for (a = me(u), r = 0, i = (o = me(e)).length; r < i; r++)s = o[r], "input" === (c = (l = a[r]).nodeName.toLowerCase()) && de.test(s.type) ? l.checked = s.checked : "input" !== c && "textarea" !== c || (l.defaultValue = s.defaultValue); if (t) if (n) for (o = o || me(e), a = a || me(u), r = 0, i = o.length; r < i; r++)Ne(o[r], a[r]); else Ne(e, u); return 0 < (a = me(u, "script")).length && ve(a, !f && me(e, "script")), u }, cleanData: function (e) { for (var t, n, r, i = w.event.special, o = 0; void 0 !== (n = e[o]); o++)if (z(n)) { if (t = n[Y.expando]) { if (t.events) for (r in t.events) i[r] ? w.event.remove(n, r) : w.removeEvent(n, r, t.handle); n[Y.expando] = void 0 } n[G.expando] && (n[G.expando] = void 0) } } }), w.fn.extend({ detach: function (e) { return Pe(this, e, !0) }, remove: function (e) { return Pe(this, e) }, text: function (e) { return W(this, function (e) { return void 0 === e ? w.text(this) : this.empty().each(function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) }) }, null, e, arguments.length) }, append: function () { return Le(this, arguments, function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Ie(this, e).appendChild(e) }) }, prepend: function () { return Le(this, arguments, function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = Ie(this, e); t.insertBefore(e, t.firstChild) } }) }, before: function () { return Le(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function () { return Le(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (w.cleanData(me(e, !1)), e.textContent = ""); return this }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map(function () { return w.clone(this, e, t) }) }, html: function (e) { return W(this, function (e) { var t = this[0] || {}, n = 0, r = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !De.test(e) && !ge[(he.exec(e) || ["", ""])[1].toLowerCase()]) { e = w.htmlPrefilter(e); try { for (; n < r; n++)1 === (t = this[n] || {}).nodeType && (w.cleanData(me(t, !1)), t.innerHTML = e); t = 0 } catch (e) { } } t && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function () { var e = []; return Le(this, arguments, function (t) { var n = this.parentNode; w.inArray(this, e) < 0 && (w.cleanData(me(this)), n && n.replaceChild(t, this)) }, e) } }), w.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, t) { w.fn[e] = function (e) { for (var n, r = [], i = w(e), o = i.length - 1, s = 0; s <= o; s++)n = s === o ? this : this.clone(!0), w(i[s])[t](n), a.apply(r, n.get()); return this.pushStack(r) } }); var Oe = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), Re = function (t) { var n = t.ownerDocument.defaultView; return n && n.opener || (n = e), n.getComputedStyle(t) }, Fe = function (e, t, n) { var r, i, o = {}; for (i in t) o[i] = e.style[i], e.style[i] = t[i]; for (i in r = n.call(e), t) e.style[i] = o[i]; return r }, He = new RegExp(ne.join("|"), "i"); function qe(e, t, n) { var r, i, o, a, s = e.style; return (n = n || Re(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || ie(e) || (a = w.style(e, t)), !h.pixelBoxStyles() && Oe.test(a) && He.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a } function Me(e, t) { return { get: function () { if (!e()) return (this.get = t).apply(this, arguments); delete this.get } } } !function () { function t() { if (u) { c.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", u.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", re.appendChild(c).appendChild(u); var t = e.getComputedStyle(u); r = "1%" !== t.top, l = 12 === n(t.marginLeft), u.style.right = "60%", a = 36 === n(t.right), i = 36 === n(t.width), u.style.position = "absolute", o = 12 === n(u.offsetWidth / 3), re.removeChild(c), u = null } } function n(e) { return Math.round(parseFloat(e)) } var r, i, o, a, s, l, c = m.createElement("div"), u = m.createElement("div"); u.style && (u.style.backgroundClip = "content-box", u.cloneNode(!0).style.backgroundClip = "", h.clearCloneStyle = "content-box" === u.style.backgroundClip, w.extend(h, { boxSizingReliable: function () { return t(), i }, pixelBoxStyles: function () { return t(), a }, pixelPosition: function () { return t(), r }, reliableMarginLeft: function () { return t(), l }, scrollboxSize: function () { return t(), o }, reliableTrDimensions: function () { var t, n, r, i; return null == s && (t = m.createElement("table"), n = m.createElement("tr"), r = m.createElement("div"), t.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", n.style.cssText = "border:1px solid", n.style.height = "1px", r.style.height = "9px", r.style.display = "block", re.appendChild(t).appendChild(n).appendChild(r), i = e.getComputedStyle(n), s = parseInt(i.height, 10) + parseInt(i.borderTopWidth, 10) + parseInt(i.borderBottomWidth, 10) === n.offsetHeight, re.removeChild(t)), s } })) }(); var $e = ["Webkit", "Moz", "ms"], We = m.createElement("div").style, Be = {}; function Ue(e) { return w.cssProps[e] || Be[e] || (e in We ? e : Be[e] = function (e) { for (var t = e[0].toUpperCase() + e.slice(1), n = $e.length; n--;)if ((e = $e[n] + t) in We) return e }(e) || e) } var Ve = /^(none|table(?!-c[ea]).+)/, Xe = /^--/, ze = { position: "absolute", visibility: "hidden", display: "block" }, Qe = { letterSpacing: "0", fontWeight: "400" }; function Ye(e, t, n) { var r = te.exec(t); return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t } function Ge(e, t, n, r, i, o) { var a = "width" === t ? 1 : 0, s = 0, l = 0; if (n === (r ? "border" : "content")) return 0; for (; a < 4; a += 2)"margin" === n && (l += w.css(e, n + ne[a], !0, i)), r ? ("content" === n && (l -= w.css(e, "padding" + ne[a], !0, i)), "margin" !== n && (l -= w.css(e, "border" + ne[a] + "Width", !0, i))) : (l += w.css(e, "padding" + ne[a], !0, i), "padding" !== n ? l += w.css(e, "border" + ne[a] + "Width", !0, i) : s += w.css(e, "border" + ne[a] + "Width", !0, i)); return !r && 0 <= o && (l += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - l - s - .5)) || 0), l } function Je(e, t, n) { var r = Re(e), i = (!h.boxSizingReliable() || n) && "border-box" === w.css(e, "boxSizing", !1, r), o = i, a = qe(e, t, r), s = "offset" + t[0].toUpperCase() + t.slice(1); if (Oe.test(a)) { if (!n) return a; a = "auto" } return (!h.boxSizingReliable() && i || !h.reliableTrDimensions() && E(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === w.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === w.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Ge(e, t, n || (i ? "border" : "content"), o, r, a) + "px" } function Ke(e, t, n, r, i) { return new Ke.prototype.init(e, t, n, r, i) } w.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = qe(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: {}, style: function (e, t, n, r) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var i, o, a, s = X(t), l = Xe.test(t), c = e.style; if (l || (t = Ue(s)), a = w.cssHooks[t] || w.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : c[t]; "string" == (o = typeof n) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = "number"), null != n && n == n && ("number" !== o || l || (n += i && i[3] || (w.cssNumber[s] ? "" : "px")), h.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (c[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (l ? c.setProperty(t, n) : c[t] = n)) } }, css: function (e, t, n, r) { var i, o, a, s = X(t); return Xe.test(t) || (t = Ue(s)), (a = w.cssHooks[t] || w.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = qe(e, t, r)), "normal" === i && t in Qe && (i = Qe[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i } }), w.each(["height", "width"], function (e, t) { w.cssHooks[t] = { get: function (e, n, r) { if (n) return !Ve.test(w.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? Je(e, t, r) : Fe(e, ze, function () { return Je(e, t, r) }) }, set: function (e, n, r) { var i, o = Re(e), a = !h.scrollboxSize() && "absolute" === o.position, s = (a || r) && "border-box" === w.css(e, "boxSizing", !1, o), l = r ? Ge(e, t, r, s, o) : 0; return s && a && (l -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(o[t]) - Ge(e, t, "border", !1, o) - .5)), l && (i = te.exec(n)) && "px" !== (i[3] || "px") && (e.style[t] = n, n = w.css(e, t)), Ye(0, n, l) } } }), w.cssHooks.marginLeft = Me(h.reliableMarginLeft, function (e, t) { if (t) return (parseFloat(qe(e, "marginLeft")) || e.getBoundingClientRect().left - Fe(e, { marginLeft: 0 }, function () { return e.getBoundingClientRect().left })) + "px" }), w.each({ margin: "", padding: "", border: "Width" }, function (e, t) { w.cssHooks[e + t] = { expand: function (n) { for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++)i[e + ne[r] + t] = o[r] || o[r - 2] || o[0]; return i } }, "margin" !== e && (w.cssHooks[e + t].set = Ye) }), w.fn.extend({ css: function (e, t) { return W(this, function (e, t, n) { var r, i, o = {}, a = 0; if (Array.isArray(t)) { for (r = Re(e), i = t.length; a < i; a++)o[t[a]] = w.css(e, t[a], !1, r); return o } return void 0 !== n ? w.style(e, t, n) : w.css(e, t) }, e, t, 1 < arguments.length) } }), ((w.Tween = Ke).prototype = { constructor: Ke, init: function (e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || w.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (w.cssNumber[n] ? "" : "px") }, cur: function () { var e = Ke.propHooks[this.prop]; return e && e.get ? e.get(this) : Ke.propHooks._default.get(this) }, run: function (e) { var t, n = Ke.propHooks[this.prop]; return this.options.duration ? this.pos = t = w.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Ke.propHooks._default.set(this), this } }).init.prototype = Ke.prototype, (Ke.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = w.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 }, set: function (e) { w.fx.step[e.prop] ? w.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !w.cssHooks[e.prop] && null == e.elem.style[Ue(e.prop)] ? e.elem[e.prop] = e.now : w.style(e.elem, e.prop, e.now + e.unit) } } }).scrollTop = Ke.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, w.easing = { linear: function (e) { return e }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2 }, _default: "swing" }, w.fx = Ke.prototype.init, w.fx.step = {}; var Ze, et, tt, nt, rt = /^(?:toggle|show|hide)$/, it = /queueHooks$/; function ot() { et && (!1 === m.hidden && e.requestAnimationFrame ? e.requestAnimationFrame(ot) : e.setTimeout(ot, w.fx.interval), w.fx.tick()) } function at() { return e.setTimeout(function () { Ze = void 0 }), Ze = Date.now() } function st(e, t) { var n, r = 0, i = { height: e }; for (t = t ? 1 : 0; r < 4; r += 2 - t)i["margin" + (n = ne[r])] = i["padding" + n] = e; return t && (i.opacity = i.width = e), i } function lt(e, t, n) { for (var r, i = (ct.tweeners[t] || []).concat(ct.tweeners["*"]), o = 0, a = i.length; o < a; o++)if (r = i[o].call(n, t, e)) return r } function ct(e, t, n) { var r, i, o = 0, a = ct.prefilters.length, s = w.Deferred().always(function () { delete l.elem }), l = function () { if (i) return !1; for (var t = Ze || at(), n = Math.max(0, c.startTime + c.duration - t), r = 1 - (n / c.duration || 0), o = 0, a = c.tweens.length; o < a; o++)c.tweens[o].run(r); return s.notifyWith(e, [c, r, n]), r < 1 && a ? n : (a || s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c]), !1) }, c = s.promise({ elem: e, props: w.extend({}, t), opts: w.extend(!0, { specialEasing: {}, easing: w.easing._default }, n), originalProperties: t, originalOptions: n, startTime: Ze || at(), duration: n.duration, tweens: [], createTween: function (t, n) { var r = w.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing); return c.tweens.push(r), r }, stop: function (t) { var n = 0, r = t ? c.tweens.length : 0; if (i) return this; for (i = !0; n < r; n++)c.tweens[n].run(1); return t ? (s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c, t])) : s.rejectWith(e, [c, t]), this } }), u = c.props; for (function (e, t) { var n, r, i, o, a; for (n in e) if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = w.cssHooks[r]) && "expand" in a) for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i); else t[r] = i }(u, c.opts.specialEasing); o < a; o++)if (r = ct.prefilters[o].call(c, e, u, c.opts)) return p(r.stop) && (w._queueHooks(c.elem, c.opts.queue).stop = r.stop.bind(r)), r; return w.map(u, lt, c), p(c.opts.start) && c.opts.start.call(e, c), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always), w.fx.timer(w.extend(l, { elem: e, anim: c, queue: c.opts.queue })), c } w.Animation = w.extend(ct, { tweeners: { "*": [function (e, t) { var n = this.createTween(e, t); return se(n.elem, e, te.exec(t), n), n }] }, tweener: function (e, t) { p(e) ? (t = e, e = ["*"]) : e = e.match(O); for (var n, r = 0, i = e.length; r < i; r++)n = e[r], ct.tweeners[n] = ct.tweeners[n] || [], ct.tweeners[n].unshift(t) }, prefilters: [function (e, t, n) { var r, i, o, a, s, l, c, u, f = "width" in t || "height" in t, d = this, h = {}, p = e.style, g = e.nodeType && ae(e), m = Y.get(e, "fxshow"); for (r in n.queue || (null == (a = w._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { a.unqueued || s() }), a.unqueued++, d.always(function () { d.always(function () { a.unqueued--, w.queue(e, "fx").length || a.empty.fire() }) })), t) if (i = t[r], rt.test(i)) { if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { if ("show" !== i || !m || void 0 === m[r]) continue; g = !0 } h[r] = m && m[r] || w.style(e, r) } if ((l = !w.isEmptyObject(t)) || !w.isEmptyObject(h)) for (r in f && 1 === e.nodeType && (n.overflow = [p.overflow, p.overflowX, p.overflowY], null == (c = m && m.display) && (c = Y.get(e, "display")), "none" === (u = w.css(e, "display")) && (c ? u = c : (ce([e], !0), c = e.style.display || c, u = w.css(e, "display"), ce([e]))), ("inline" === u || "inline-block" === u && null != c) && "none" === w.css(e, "float") && (l || (d.done(function () { p.display = c }), null == c && (u = p.display, c = "none" === u ? "" : u)), p.display = "inline-block")), n.overflow && (p.overflow = "hidden", d.always(function () { p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2] })), l = !1, h) l || (m ? "hidden" in m && (g = m.hidden) : m = Y.access(e, "fxshow", { display: c }), o && (m.hidden = !g), g && ce([e], !0), d.done(function () { for (r in g || ce([e]), Y.remove(e, "fxshow"), h) w.style(e, r, h[r]) })), l = lt(g ? m[r] : 0, r, d), r in m || (m[r] = l.start, g && (l.end = l.start, l.start = 0)) }], prefilter: function (e, t) { t ? ct.prefilters.unshift(e) : ct.prefilters.push(e) } }), w.speed = function (e, t, n) { var r = e && "object" == typeof e ? w.extend({}, e) : { complete: n || !n && t || p(e) && e, duration: e, easing: n && t || t && !p(t) && t }; return w.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in w.fx.speeds ? r.duration = w.fx.speeds[r.duration] : r.duration = w.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { p(r.old) && r.old.call(this), r.queue && w.dequeue(this, r.queue) }, r }, w.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(ae).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function (e, t, n, r) { var i = w.isEmptyObject(e), o = w.speed(t, n, r), a = function () { var t = ct(this, w.extend({}, e), o); (i || Y.get(this, "finish")) && t.stop(!0) }; return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) }, stop: function (e, t, n) { var r = function (e) { var t = e.stop; delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && this.queue(e || "fx", []), this.each(function () { var t = !0, i = null != e && e + "queueHooks", o = w.timers, a = Y.get(this); if (i) a[i] && a[i].stop && r(a[i]); else for (i in a) a[i] && a[i].stop && it.test(i) && r(a[i]); for (i = o.length; i--;)o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1)); !t && n || w.dequeue(this, e) }) }, finish: function (e) { return !1 !== e && (e = e || "fx"), this.each(function () { var t, n = Y.get(this), r = n[e + "queue"], i = n[e + "queueHooks"], o = w.timers, a = r ? r.length : 0; for (n.finish = !0, w.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;)o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1)); for (t = 0; t < a; t++)r[t] && r[t].finish && r[t].finish.call(this); delete n.finish }) } }), w.each(["toggle", "show", "hide"], function (e, t) { var n = w.fn[t]; w.fn[t] = function (e, r, i) { return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(st(t, !0), e, r, i) } }), w.each({ slideDown: st("show"), slideUp: st("hide"), slideToggle: st("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, t) { w.fn[e] = function (e, n, r) { return this.animate(t, e, n, r) } }), w.timers = [], w.fx.tick = function () { var e, t = 0, n = w.timers; for (Ze = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || w.fx.stop(), Ze = void 0 }, w.fx.timer = function (e) { w.timers.push(e), w.fx.start() }, w.fx.interval = 13, w.fx.start = function () { et || (et = !0, ot()) }, w.fx.stop = function () { et = null }, w.fx.speeds = { slow: 600, fast: 200, _default: 400 }, w.fn.delay = function (t, n) { return t = w.fx && w.fx.speeds[t] || t, n = n || "fx", this.queue(n, function (n, r) { var i = e.setTimeout(n, t); r.stop = function () { e.clearTimeout(i) } }) }, tt = m.createElement("input"), nt = m.createElement("select").appendChild(m.createElement("option")), tt.type = "checkbox", h.checkOn = "" !== tt.value, h.optSelected = nt.selected, (tt = m.createElement("input")).value = "t", tt.type = "radio", h.radioValue = "t" === tt.value; var ut, ft = w.expr.attrHandle; w.fn.extend({ attr: function (e, t) { return W(this, w.attr, e, t, 1 < arguments.length) }, removeAttr: function (e) { return this.each(function () { w.removeAttr(this, e) }) } }), w.extend({ attr: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return void 0 === e.getAttribute ? w.prop(e, t, n) : (1 === o && w.isXMLDoc(e) || (i = w.attrHooks[t.toLowerCase()] || (w.expr.match.bool.test(t) ? ut : void 0)), void 0 !== n ? null === n ? void w.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = w.find.attr(e, t)) ? void 0 : r) }, attrHooks: { type: { set: function (e, t) { if (!h.radioValue && "radio" === t && E(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } }, removeAttr: function (e, t) { var n, r = 0, i = t && t.match(O); if (i && 1 === e.nodeType) for (; n = i[r++];)e.removeAttribute(n) } }), ut = { set: function (e, t, n) { return !1 === t ? w.removeAttr(e, n) : e.setAttribute(n, n), n } }, w.each(w.expr.match.bool.source.match(/\w+/g), function (e, t) { var n = ft[t] || w.find.attr; ft[t] = function (e, t, r) { var i, o, a = t.toLowerCase(); return r || (o = ft[a], ft[a] = i, i = null != n(e, t, r) ? a : null, ft[a] = o), i } }); var dt = /^(?:input|select|textarea|button)$/i, ht = /^(?:a|area)$/i; function pt(e) { return (e.match(O) || []).join(" ") } function gt(e) { return e.getAttribute && e.getAttribute("class") || "" } function mt(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(O) || [] } w.fn.extend({ prop: function (e, t) { return W(this, w.prop, e, t, 1 < arguments.length) }, removeProp: function (e) { return this.each(function () { delete this[w.propFix[e] || e] }) } }), w.extend({ prop: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && w.isXMLDoc(e) || (t = w.propFix[t] || t, i = w.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] }, propHooks: { tabIndex: { get: function (e) { var t = w.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : dt.test(e.nodeName) || ht.test(e.nodeName) && e.href ? 0 : -1 } } }, propFix: { for: "htmlFor", class: "className" } }), h.optSelected || (w.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) } }), w.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { w.propFix[this.toLowerCase()] = this }), w.fn.extend({ addClass: function (e) { var t, n, r, i, o, a, s, l = 0; if (p(e)) return this.each(function (t) { w(this).addClass(e.call(this, t, gt(this))) }); if ((t = mt(e)).length) for (; n = this[l++];)if (i = gt(n), r = 1 === n.nodeType && " " + pt(i) + " ") { for (a = 0; o = t[a++];)r.indexOf(" " + o + " ") < 0 && (r += o + " "); i !== (s = pt(r)) && n.setAttribute("class", s) } return this }, removeClass: function (e) { var t, n, r, i, o, a, s, l = 0; if (p(e)) return this.each(function (t) { w(this).removeClass(e.call(this, t, gt(this))) }); if (!arguments.length) return this.attr("class", ""); if ((t = mt(e)).length) for (; n = this[l++];)if (i = gt(n), r = 1 === n.nodeType && " " + pt(i) + " ") { for (a = 0; o = t[a++];)for (; -1 < r.indexOf(" " + o + " ");)r = r.replace(" " + o + " ", " "); i !== (s = pt(r)) && n.setAttribute("class", s) } return this }, toggleClass: function (e, t) { var n = typeof e, r = "string" === n || Array.isArray(e); return "boolean" == typeof t && r ? t ? this.addClass(e) : this.removeClass(e) : p(e) ? this.each(function (n) { w(this).toggleClass(e.call(this, n, gt(this), t), t) }) : this.each(function () { var t, i, o, a; if (r) for (i = 0, o = w(this), a = mt(e); t = a[i++];)o.hasClass(t) ? o.removeClass(t) : o.addClass(t); else void 0 !== e && "boolean" !== n || ((t = gt(this)) && Y.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "" : Y.get(this, "__className__") || "")) }) }, hasClass: function (e) { var t, n, r = 0; for (t = " " + e + " "; n = this[r++];)if (1 === n.nodeType && -1 < (" " + pt(gt(n)) + " ").indexOf(t)) return !0; return !1 } }); var vt = /\r/g; w.fn.extend({ val: function (e) { var t, n, r, i = this[0]; return arguments.length ? (r = p(e), this.each(function (n) { var i; 1 === this.nodeType && (null == (i = r ? e.call(this, n, w(this).val()) : e) ? i = "" : "number" == typeof i ? i += "" : Array.isArray(i) && (i = w.map(i, function (e) { return null == e ? "" : e + "" })), (t = w.valHooks[this.type] || w.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i)) })) : i ? (t = w.valHooks[i.type] || w.valHooks[i.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : "string" == typeof (n = i.value) ? n.replace(vt, "") : null == n ? "" : n : void 0 } }), w.extend({ valHooks: { option: { get: function (e) { var t = w.find.attr(e, "value"); return null != t ? t : pt(w.text(e)) } }, select: { get: function (e) { var t, n, r, i = e.options, o = e.selectedIndex, a = "select-one" === e.type, s = a ? null : [], l = a ? o + 1 : i.length; for (r = o < 0 ? l : a ? o : 0; r < l; r++)if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !E(n.parentNode, "optgroup"))) { if (t = w(n).val(), a) return t; s.push(t) } return s }, set: function (e, t) { for (var n, r, i = e.options, o = w.makeArray(t), a = i.length; a--;)((r = i[a]).selected = -1 < w.inArray(w.valHooks.option.get(r), o)) && (n = !0); return n || (e.selectedIndex = -1), o } } } }), w.each(["radio", "checkbox"], function () { w.valHooks[this] = { set: function (e, t) { if (Array.isArray(t)) return e.checked = -1 < w.inArray(w(e).val(), t) } }, h.checkOn || (w.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value }) }), h.focusin = "onfocusin" in e; var yt = /^(?:focusinfocus|focusoutblur)$/, bt = function (e) { e.stopPropagation() }; w.extend(w.event, { trigger: function (t, n, r, i) { var o, a, s, l, c, f, d, h, v = [r || m], y = u.call(t, "type") ? t.type : t, b = u.call(t, "namespace") ? t.namespace.split(".") : []; if (a = h = s = r = r || m, 3 !== r.nodeType && 8 !== r.nodeType && !yt.test(y + w.event.triggered) && (-1 < y.indexOf(".") && (y = (b = y.split(".")).shift(), b.sort()), c = y.indexOf(":") < 0 && "on" + y, (t = t[w.expando] ? t : new w.Event(y, "object" == typeof t && t)).isTrigger = i ? 2 : 3, t.namespace = b.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + b.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = r), n = null == n ? [t] : w.makeArray(n, [t]), d = w.event.special[y] || {}, i || !d.trigger || !1 !== d.trigger.apply(r, n))) { if (!i && !d.noBubble && !g(r)) { for (l = d.delegateType || y, yt.test(l + y) || (a = a.parentNode); a; a = a.parentNode)v.push(a), s = a; s === (r.ownerDocument || m) && v.push(s.defaultView || s.parentWindow || e) } for (o = 0; (a = v[o++]) && !t.isPropagationStopped();)h = a, t.type = 1 < o ? l : d.bindType || y, (f = (Y.get(a, "events") || Object.create(null))[t.type] && Y.get(a, "handle")) && f.apply(a, n), (f = c && a[c]) && f.apply && z(a) && (t.result = f.apply(a, n), !1 === t.result && t.preventDefault()); return t.type = y, i || t.isDefaultPrevented() || d._default && !1 !== d._default.apply(v.pop(), n) || !z(r) || c && p(r[y]) && !g(r) && ((s = r[c]) && (r[c] = null), w.event.triggered = y, t.isPropagationStopped() && h.addEventListener(y, bt), r[y](), t.isPropagationStopped() && h.removeEventListener(y, bt), w.event.triggered = void 0, s && (r[c] = s)), t.result } }, simulate: function (e, t, n) { var r = w.extend(new w.Event, n, { type: e, isSimulated: !0 }); w.event.trigger(r, null, t) } }), w.fn.extend({ trigger: function (e, t) { return this.each(function () { w.event.trigger(e, t, this) }) }, triggerHandler: function (e, t) { var n = this[0]; if (n) return w.event.trigger(e, t, n, !0) } }), h.focusin || w.each({ focus: "focusin", blur: "focusout" }, function (e, t) { var n = function (e) { w.event.simulate(t, e.target, w.event.fix(e)) }; w.event.special[t] = { setup: function () { var r = this.ownerDocument || this.document || this, i = Y.access(r, t); i || r.addEventListener(e, n, !0), Y.access(r, t, (i || 0) + 1) }, teardown: function () { var r = this.ownerDocument || this.document || this, i = Y.access(r, t) - 1; i ? Y.access(r, t, i) : (r.removeEventListener(e, n, !0), Y.remove(r, t)) } } }); var _t = e.location, wt = { guid: Date.now() }, St = /\?/; w.parseXML = function (t) { var n, r; if (!t || "string" != typeof t) return null; try { n = (new e.DOMParser).parseFromString(t, "text/xml") } catch (t) { } return r = n && n.getElementsByTagName("parsererror")[0], n && !r || w.error("Invalid XML: " + (r ? w.map(r.childNodes, function (e) { return e.textContent }).join("\n") : t)), n }; var Tt = /\[\]$/, xt = /\r?\n/g, Ct = /^(?:submit|button|image|reset|file)$/i, Dt = /^(?:input|select|textarea|keygen)/i; function Et(e, t, n, r) { var i; if (Array.isArray(t)) w.each(t, function (t, i) { n || Tt.test(e) ? r(e, i) : Et(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r) }); else if (n || "object" !== b(t)) r(e, t); else for (i in t) Et(e + "[" + i + "]", t[i], n, r) } w.param = function (e, t) { var n, r = [], i = function (e, t) { var n = p(t) ? t() : t; r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) }; if (null == e) return ""; if (Array.isArray(e) || e.jquery && !w.isPlainObject(e)) w.each(e, function () { i(this.name, this.value) }); else for (n in e) Et(n, e[n], t, i); return r.join("&") }, w.fn.extend({ serialize: function () { return w.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { var e = w.prop(this, "elements"); return e ? w.makeArray(e) : this }).filter(function () { var e = this.type; return this.name && !w(this).is(":disabled") && Dt.test(this.nodeName) && !Ct.test(e) && (this.checked || !de.test(e)) }).map(function (e, t) { var n = w(this).val(); return null == n ? null : Array.isArray(n) ? w.map(n, function (e) { return { name: t.name, value: e.replace(xt, "\r\n") } }) : { name: t.name, value: n.replace(xt, "\r\n") } }).get() } }); var At = /%20/g, It = /#.*$/, kt = /([?&])_=[^&]*/, jt = /^(.*?):[ \t]*([^\r\n]*)$/gm, Nt = /^(?:GET|HEAD)$/, Lt = /^\/\//, Pt = {}, Ot = {}, Rt = "*/".concat("*"), Ft = m.createElement("a"); function Ht(e) { return function (t, n) { "string" != typeof t && (n = t, t = "*"); var r, i = 0, o = t.toLowerCase().match(O) || []; if (p(n)) for (; r = o[i++];)"+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n) } } function qt(e, t, n, r) { var i = {}, o = e === Ot; function a(s) { var l; return i[s] = !0, w.each(e[s] || [], function (e, s) { var c = s(t, n, r); return "string" != typeof c || o || i[c] ? o ? !(l = c) : void 0 : (t.dataTypes.unshift(c), a(c), !1) }), l } return a(t.dataTypes[0]) || !i["*"] && a("*") } function Mt(e, t) { var n, r, i = w.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); return r && w.extend(!0, e, r), e } Ft.href = _t.href, w.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: _t.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(_t.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": Rt, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": w.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? Mt(Mt(e, w.ajaxSettings), t) : Mt(w.ajaxSettings, e) }, ajaxPrefilter: Ht(Pt), ajaxTransport: Ht(Ot), ajax: function (t, n) { "object" == typeof t && (n = t, t = void 0), n = n || {}; var r, i, o, a, s, l, c, u, f, d, h = w.ajaxSetup({}, n), p = h.context || h, g = h.context && (p.nodeType || p.jquery) ? w(p) : w.event, v = w.Deferred(), y = w.Callbacks("once memory"), b = h.statusCode || {}, _ = {}, S = {}, T = "canceled", x = { readyState: 0, getResponseHeader: function (e) { var t; if (c) { if (!a) for (a = {}; t = jt.exec(o);)a[t[1].toLowerCase() + " "] = (a[t[1].toLowerCase() + " "] || []).concat(t[2]); t = a[e.toLowerCase() + " "] } return null == t ? null : t.join(", ") }, getAllResponseHeaders: function () { return c ? o : null }, setRequestHeader: function (e, t) { return null == c && (e = S[e.toLowerCase()] = S[e.toLowerCase()] || e, _[e] = t), this }, overrideMimeType: function (e) { return null == c && (h.mimeType = e), this }, statusCode: function (e) { var t; if (e) if (c) x.always(e[x.status]); else for (t in e) b[t] = [b[t], e[t]]; return this }, abort: function (e) { var t = e || T; return r && r.abort(t), C(0, t), this } }; if (v.promise(x), h.url = ((t || h.url || _t.href) + "").replace(Lt, _t.protocol + "//"), h.type = n.method || n.type || h.method || h.type, h.dataTypes = (h.dataType || "*").toLowerCase().match(O) || [""], null == h.crossDomain) { l = m.createElement("a"); try { l.href = h.url, l.href = l.href, h.crossDomain = Ft.protocol + "//" + Ft.host != l.protocol + "//" + l.host } catch (t) { h.crossDomain = !0 } } if (h.data && h.processData && "string" != typeof h.data && (h.data = w.param(h.data, h.traditional)), qt(Pt, h, n, x), c) return x; for (f in (u = w.event && h.global) && 0 == w.active++ && w.event.trigger("ajaxStart"), h.type = h.type.toUpperCase(), h.hasContent = !Nt.test(h.type), i = h.url.replace(It, ""), h.hasContent ? h.data && h.processData && 0 === (h.contentType || "").indexOf("application/x-www-form-urlencoded") && (h.data = h.data.replace(At, "+")) : (d = h.url.slice(i.length), h.data && (h.processData || "string" == typeof h.data) && (i += (St.test(i) ? "&" : "?") + h.data, delete h.data), !1 === h.cache && (i = i.replace(kt, "$1"), d = (St.test(i) ? "&" : "?") + "_=" + wt.guid++ + d), h.url = i + d), h.ifModified && (w.lastModified[i] && x.setRequestHeader("If-Modified-Since", w.lastModified[i]), w.etag[i] && x.setRequestHeader("If-None-Match", w.etag[i])), (h.data && h.hasContent && !1 !== h.contentType || n.contentType) && x.setRequestHeader("Content-Type", h.contentType), x.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + Rt + "; q=0.01" : "") : h.accepts["*"]), h.headers) x.setRequestHeader(f, h.headers[f]); if (h.beforeSend && (!1 === h.beforeSend.call(p, x, h) || c)) return x.abort(); if (T = "abort", y.add(h.complete), x.done(h.success), x.fail(h.error), r = qt(Ot, h, n, x)) { if (x.readyState = 1, u && g.trigger("ajaxSend", [x, h]), c) return x; h.async && 0 < h.timeout && (s = e.setTimeout(function () { x.abort("timeout") }, h.timeout)); try { c = !1, r.send(_, C) } catch (t) { if (c) throw t; C(-1, t) } } else C(-1, "No Transport"); function C(t, n, a, l) { var f, d, m, _, S, T = n; c || (c = !0, s && e.clearTimeout(s), r = void 0, o = l || "", x.readyState = 0 < t ? 4 : 0, f = 200 <= t && t < 300 || 304 === t, a && (_ = function (e, t, n) { for (var r, i, o, a, s = e.contents, l = e.dataTypes; "*" === l[0];)l.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); if (r) for (i in s) if (s[i] && s[i].test(r)) { l.unshift(i); break } if (l[0] in n) o = l[0]; else { for (i in n) { if (!l[0] || e.converters[i + " " + l[0]]) { o = i; break } a || (a = i) } o = o || a } if (o) return o !== l[0] && l.unshift(o), n[o] }(h, x, a)), !f && -1 < w.inArray("script", h.dataTypes) && w.inArray("json", h.dataTypes) < 0 && (h.converters["text script"] = function () { }), _ = function (e, t, n, r) { var i, o, a, s, l, c = {}, u = e.dataTypes.slice(); if (u[1]) for (a in e.converters) c[a.toLowerCase()] = e.converters[a]; for (o = u.shift(); o;)if (e.responseFields[o] && (n[e.responseFields[o]] = t), !l && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = o, o = u.shift()) if ("*" === o) o = l; else if ("*" !== l && l !== o) { if (!(a = c[l + " " + o] || c["* " + o])) for (i in c) if ((s = i.split(" "))[1] === o && (a = c[l + " " + s[0]] || c["* " + s[0]])) { !0 === a ? a = c[i] : !0 !== c[i] && (o = s[0], u.unshift(s[1])); break } if (!0 !== a) if (a && e.throws) t = a(t); else try { t = a(t) } catch (e) { return { state: "parsererror", error: a ? e : "No conversion from " + l + " to " + o } } } return { state: "success", data: t } }(h, _, x, f), f ? (h.ifModified && ((S = x.getResponseHeader("Last-Modified")) && (w.lastModified[i] = S), (S = x.getResponseHeader("etag")) && (w.etag[i] = S)), 204 === t || "HEAD" === h.type ? T = "nocontent" : 304 === t ? T = "notmodified" : (T = _.state, d = _.data, f = !(m = _.error))) : (m = T, !t && T || (T = "error", t < 0 && (t = 0))), x.status = t, x.statusText = (n || T) + "", f ? v.resolveWith(p, [d, T, x]) : v.rejectWith(p, [x, T, m]), x.statusCode(b), b = void 0, u && g.trigger(f ? "ajaxSuccess" : "ajaxError", [x, h, f ? d : m]), y.fireWith(p, [x, T]), u && (g.trigger("ajaxComplete", [x, h]), --w.active || w.event.trigger("ajaxStop"))) } return x }, getJSON: function (e, t, n) { return w.get(e, t, n, "json") }, getScript: function (e, t) { return w.get(e, void 0, t, "script") } }), w.each(["get", "post"], function (e, t) { w[t] = function (e, n, r, i) { return p(n) && (i = i || r, r = n, n = void 0), w.ajax(w.extend({ url: e, type: t, dataType: i, data: n, success: r }, w.isPlainObject(e) && e)) } }), w.ajaxPrefilter(function (e) { var t; for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") }), w._evalUrl = function (e, t, n) { return w.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function () { } }, dataFilter: function (e) { w.globalEval(e, t, n) } }) }, w.fn.extend({ wrapAll: function (e) { var t; return this[0] && (p(e) && (e = e.call(this[0])), t = w(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () { for (var e = this; e.firstElementChild;)e = e.firstElementChild; return e }).append(this)), this }, wrapInner: function (e) { return p(e) ? this.each(function (t) { w(this).wrapInner(e.call(this, t)) }) : this.each(function () { var t = w(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) }) }, wrap: function (e) { var t = p(e); return this.each(function (n) { w(this).wrapAll(t ? e.call(this, n) : e) }) }, unwrap: function (e) { return this.parent(e).not("body").each(function () { w(this).replaceWith(this.childNodes) }), this } }), w.expr.pseudos.hidden = function (e) { return !w.expr.pseudos.visible(e) }, w.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) }, w.ajaxSettings.xhr = function () { try { return new e.XMLHttpRequest } catch (e) { } }; var $t = { 0: 200, 1223: 204 }, Wt = w.ajaxSettings.xhr(); h.cors = !!Wt && "withCredentials" in Wt, h.ajax = Wt = !!Wt, w.ajaxTransport(function (t) { var n, r; if (h.cors || Wt && !t.crossDomain) return { send: function (i, o) { var a, s = t.xhr(); if (s.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields) for (a in t.xhrFields) s[a] = t.xhrFields[a]; for (a in t.mimeType && s.overrideMimeType && s.overrideMimeType(t.mimeType), t.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest"), i) s.setRequestHeader(a, i[a]); n = function (e) { return function () { n && (n = r = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o($t[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? { binary: s.response } : { text: s.responseText }, s.getAllResponseHeaders())) } }, s.onload = n(), r = s.onerror = s.ontimeout = n("error"), void 0 !== s.onabort ? s.onabort = r : s.onreadystatechange = function () { 4 === s.readyState && e.setTimeout(function () { n && r() }) }, n = n("abort"); try { s.send(t.hasContent && t.data || null) } catch (i) { if (n) throw i } }, abort: function () { n && n() } } }), w.ajaxPrefilter(function (e) { e.crossDomain && (e.contents.script = !1) }), w.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function (e) { return w.globalEval(e), e } } }), w.ajaxPrefilter("script", function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") }), w.ajaxTransport("script", function (e) { var t, n; if (e.crossDomain || e.scriptAttrs) return { send: function (r, i) { t = w("<script>").attr(e.scriptAttrs || {}).prop({ charset: e.scriptCharset, src: e.url }).on("load error", n = function (e) { t.remove(), n = null, e && i("error" === e.type ? 404 : 200, e.type) }), m.head.appendChild(t[0]) }, abort: function () { n && n() } } }); var Bt, Ut = [], Vt = /(=)\?(?=&|$)|\?\?/; w.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Ut.pop() || w.expando + "_" + wt.guid++; return this[e] = !0, e } }), w.ajaxPrefilter("json jsonp", function (t, n, r) { var i, o, a, s = !1 !== t.jsonp && (Vt.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Vt.test(t.data) && "data"); if (s || "jsonp" === t.dataTypes[0]) return i = t.jsonpCallback = p(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(Vt, "$1" + i) : !1 !== t.jsonp && (t.url += (St.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function () { return a || w.error(i + " was not called"), a[0] }, t.dataTypes[0] = "json", o = e[i], e[i] = function () { a = arguments }, r.always(function () { void 0 === o ? w(e).removeProp(i) : e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, Ut.push(i)), a && p(o) && o(a[0]), a = o = void 0 }), "script" }), h.createHTMLDocument = ((Bt = m.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Bt.childNodes.length), w.parseHTML = function (e, t, n) { return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (h.createHTMLDocument ? ((r = (t = m.implementation.createHTMLDocument("")).createElement("base")).href = m.location.href, t.head.appendChild(r)) : t = m), o = !n && [], (i = A.exec(e)) ? [t.createElement(i[1])] : (i = be([e], t, o), o && o.length && w(o).remove(), w.merge([], i.childNodes))); var r, i, o }, w.fn.load = function (e, t, n) { var r, i, o, a = this, s = e.indexOf(" "); return -1 < s && (r = pt(e.slice(s)), e = e.slice(0, s)), p(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && w.ajax({ url: e, type: i || "GET", dataType: "html", data: t }).done(function (e) { o = arguments, a.html(r ? w("<div>").append(w.parseHTML(e)).find(r) : e) }).always(n && function (e, t) { a.each(function () { n.apply(this, o || [e.responseText, t, e]) }) }), this }, w.expr.pseudos.animated = function (e) { return w.grep(w.timers, function (t) { return e === t.elem }).length }, w.offset = { setOffset: function (e, t, n) { var r, i, o, a, s, l, c = w.css(e, "position"), u = w(e), f = {}; "static" === c && (e.style.position = "relative"), s = u.offset(), o = w.css(e, "top"), l = w.css(e, "left"), ("absolute" === c || "fixed" === c) && -1 < (o + l).indexOf("auto") ? (a = (r = u.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(l) || 0), p(t) && (t = t.call(e, n, w.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + i), "using" in t ? t.using.call(e, f) : u.css(f) } }, w.fn.extend({ offset: function (e) { if (arguments.length) return void 0 === e ? this : this.each(function (t) { w.offset.setOffset(this, e, t) }); var t, n, r = this[0]; return r ? r.getClientRects().length ? (t = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { top: t.top + n.pageYOffset, left: t.left + n.pageXOffset }) : { top: 0, left: 0 } : void 0 }, position: function () { if (this[0]) { var e, t, n, r = this[0], i = { top: 0, left: 0 }; if ("fixed" === w.css(r, "position")) t = r.getBoundingClientRect(); else { for (t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === w.css(e, "position");)e = e.parentNode; e && e !== r && 1 === e.nodeType && ((i = w(e).offset()).top += w.css(e, "borderTopWidth", !0), i.left += w.css(e, "borderLeftWidth", !0)) } return { top: t.top - i.top - w.css(r, "marginTop", !0), left: t.left - i.left - w.css(r, "marginLeft", !0) } } }, offsetParent: function () { return this.map(function () { for (var e = this.offsetParent; e && "static" === w.css(e, "position");)e = e.offsetParent; return e || re }) } }), w.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (e, t) { var n = "pageYOffset" === t; w.fn[e] = function (r) { return W(this, function (e, r, i) { var o; if (g(e) ? o = e : 9 === e.nodeType && (o = e.defaultView), void 0 === i) return o ? o[t] : e[r]; o ? o.scrollTo(n ? o.pageXOffset : i, n ? i : o.pageYOffset) : e[r] = i }, e, r, arguments.length) } }), w.each(["top", "left"], function (e, t) { w.cssHooks[t] = Me(h.pixelPosition, function (e, n) { if (n) return n = qe(e, t), Oe.test(n) ? w(e).position()[t] + "px" : n }) }), w.each({ Height: "height", Width: "width" }, function (e, t) { w.each({ padding: "inner" + e, content: t, "": "outer" + e }, function (n, r) { w.fn[r] = function (i, o) { var a = arguments.length && (n || "boolean" != typeof i), s = n || (!0 === i || !0 === o ? "margin" : "border"); return W(this, function (t, n, i) { var o; return g(t) ? 0 === r.indexOf("outer") ? t["inner" + e] : t.document.documentElement["client" + e] : 9 === t.nodeType ? (o = t.documentElement, Math.max(t.body["scroll" + e], o["scroll" + e], t.body["offset" + e], o["offset" + e], o["client" + e])) : void 0 === i ? w.css(t, n, s) : w.style(t, n, i, s) }, t, a ? i : void 0, a) } }) }), w.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) { w.fn[t] = function (e) { return this.on(t, e) } }), w.fn.extend({ bind: function (e, t, n) { return this.on(e, null, t, n) }, unbind: function (e, t) { return this.off(e, null, t) }, delegate: function (e, t, n, r) { return this.on(t, e, n, r) }, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) }, hover: function (e, t) { return this.mouseenter(e).mouseleave(t || e) } }), w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, t) { w.fn[t] = function (e, n) { return 0 < arguments.length ? this.on(t, null, e, n) : this.trigger(t) } }); var Xt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; w.proxy = function (e, t) { var n, r, o; if ("string" == typeof t && (n = e[t], t = e, e = n), p(e)) return r = i.call(arguments, 2), (o = function () { return e.apply(t || this, r.concat(i.call(arguments))) }).guid = e.guid = e.guid || w.guid++, o }, w.holdReady = function (e) { e ? w.readyWait++ : w.ready(!0) }, w.isArray = Array.isArray, w.parseJSON = JSON.parse, w.nodeName = E, w.isFunction = p, w.isWindow = g, w.camelCase = X, w.type = b, w.now = Date.now, w.isNumeric = function (e) { var t = w.type(e); return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)) }, w.trim = function (e) { return null == e ? "" : (e + "").replace(Xt, "") }, "function" == typeof define && define.amd && define("jquery", [], function () { return w }); var zt = e.jQuery, Qt = e.$; return w.noConflict = function (t) { return e.$ === w && (e.$ = Qt), t && e.jQuery === w && (e.jQuery = zt), w }, void 0 === t && (e.jQuery = e.$ = w), w }), function (e, t) { "object" == typeof exports && "undefined" != typeof module ? t(exports, require("jquery"), require("popper.js")) : "function" == typeof define && define.amd ? define(["exports", "jquery", "popper.js"], t) : t((e = e || self).bootstrap = {}, e.jQuery, e.Popper) }(this, function (e, t, n) { "use strict"; function r(e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) } } function i(e, t, n) { return t && r(e.prototype, t), n && r(e, n), e } function o(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } function a(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); t && (r = r.filter(function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable })), n.push.apply(n, r) } return n } function s(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? a(Object(n), !0).forEach(function (t) { o(e, t, n[t]) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : a(Object(n)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) }) } return e } t = t && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t, n = n && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n; var l = { TRANSITION_END: "bsTransitionEnd", getUID: function (e) { do { e += ~~(1e6 * Math.random()) } while (document.getElementById(e)); return e }, getSelectorFromElement: function (e) { var t = e.getAttribute("data-target"); if (!t || "#" === t) { var n = e.getAttribute("href"); t = n && "#" !== n ? n.trim() : "" } try { return document.querySelector(t) ? t : null } catch (e) { return null } }, getTransitionDurationFromElement: function (e) { if (!e) return 0; var n = t(e).css("transition-duration"), r = t(e).css("transition-delay"), i = parseFloat(n), o = parseFloat(r); return i || o ? (n = n.split(",")[0], r = r.split(",")[0], 1e3 * (parseFloat(n) + parseFloat(r))) : 0 }, reflow: function (e) { return e.offsetHeight }, triggerTransitionEnd: function (e) { t(e).trigger("transitionend") }, supportsTransitionEnd: function () { return Boolean("transitionend") }, isElement: function (e) { return (e[0] || e).nodeType }, typeCheckConfig: function (e, t, n) { for (var r in n) if (Object.prototype.hasOwnProperty.call(n, r)) { var i = n[r], o = t[r], a = o && l.isElement(o) ? "element" : null === (s = o) || void 0 === s ? "" + s : {}.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase(); if (!new RegExp(i).test(a)) throw new Error(e.toUpperCase() + ': Option "' + r + '" provided type "' + a + '" but expected type "' + i + '".') } var s }, findShadowRoot: function (e) { if (!document.documentElement.attachShadow) return null; if ("function" == typeof e.getRootNode) { var t = e.getRootNode(); return t instanceof ShadowRoot ? t : null } return e instanceof ShadowRoot ? e : e.parentNode ? l.findShadowRoot(e.parentNode) : null }, jQueryDetection: function () { if (void 0 === t) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript."); var e = t.fn.jquery.split(" ")[0].split("."); if (e[0] < 2 && e[1] < 9 || 1 === e[0] && 9 === e[1] && e[2] < 1 || e[0] >= 4) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0") } }; l.jQueryDetection(), t.fn.emulateTransitionEnd = function (e) { var n = this, r = !1; return t(this).one(l.TRANSITION_END, function () { r = !0 }), setTimeout(function () { r || l.triggerTransitionEnd(n) }, e), this }, t.event.special[l.TRANSITION_END] = { bindType: "transitionend", delegateType: "transitionend", handle: function (e) { if (t(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } }; var c = "alert", u = t.fn[c], f = function () { function e(e) { this._element = e } var n = e.prototype; return n.close = function (e) { var t = this._element; e && (t = this._getRootElement(e)), this._triggerCloseEvent(t).isDefaultPrevented() || this._removeElement(t) }, n.dispose = function () { t.removeData(this._element, "bs.alert"), this._element = null }, n._getRootElement = function (e) { var n = l.getSelectorFromElement(e), r = !1; return n && (r = document.querySelector(n)), r || (r = t(e).closest(".alert")[0]), r }, n._triggerCloseEvent = function (e) { var n = t.Event("close.bs.alert"); return t(e).trigger(n), n }, n._removeElement = function (e) { var n = this; if (t(e).removeClass("show"), t(e).hasClass("fade")) { var r = l.getTransitionDurationFromElement(e); t(e).one(l.TRANSITION_END, function (t) { return n._destroyElement(e, t) }).emulateTransitionEnd(r) } else this._destroyElement(e) }, n._destroyElement = function (e) { t(e).detach().trigger("closed.bs.alert").remove() }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this), i = r.data("bs.alert"); i || (i = new e(this), r.data("bs.alert", i)), "close" === n && i[n](this) }) }, e._handleDismiss = function (e) { return function (t) { t && t.preventDefault(), e.close(this) } }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }]), e }(); t(document).on("click.bs.alert.data-api", '[data-dismiss="alert"]', f._handleDismiss(new f)), t.fn[c] = f._jQueryInterface, t.fn[c].Constructor = f, t.fn[c].noConflict = function () { return t.fn[c] = u, f._jQueryInterface }; var d = t.fn.button, h = function () { function e(e) { this._element = e } var n = e.prototype; return n.toggle = function () { var e = !0, n = !0, r = t(this._element).closest('[data-toggle="buttons"]')[0]; if (r) { var i = this._element.querySelector('input:not([type="hidden"])'); if (i) { if ("radio" === i.type) if (i.checked && this._element.classList.contains("active")) e = !1; else { var o = r.querySelector(".active"); o && t(o).removeClass("active") } e && ("checkbox" !== i.type && "radio" !== i.type || (i.checked = !this._element.classList.contains("active")), t(i).trigger("change")), i.focus(), n = !1 } } this._element.hasAttribute("disabled") || this._element.classList.contains("disabled") || (n && this._element.setAttribute("aria-pressed", !this._element.classList.contains("active")), e && t(this._element).toggleClass("active")) }, n.dispose = function () { t.removeData(this._element, "bs.button"), this._element = null }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this).data("bs.button"); r || (r = new e(this), t(this).data("bs.button", r)), "toggle" === n && r[n]() }) }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }]), e }(); t(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function (e) { var n = e.target, r = n; if (t(n).hasClass("btn") || (n = t(n).closest(".btn")[0]), !n || n.hasAttribute("disabled") || n.classList.contains("disabled")) e.preventDefault(); else { var i = n.querySelector('input:not([type="hidden"])'); if (i && (i.hasAttribute("disabled") || i.classList.contains("disabled"))) return void e.preventDefault(); "LABEL" === r.tagName && i && "checkbox" === i.type && e.preventDefault(), h._jQueryInterface.call(t(n), "toggle") } }).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function (e) { var n = t(e.target).closest(".btn")[0]; t(n).toggleClass("focus", /^focus(in)?$/.test(e.type)) }), t(window).on("load.bs.button.data-api", function () { for (var e = [].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')), t = 0, n = e.length; t < n; t++) { var r = e[t], i = r.querySelector('input:not([type="hidden"])'); i.checked || i.hasAttribute("checked") ? r.classList.add("active") : r.classList.remove("active") } for (var o = 0, a = (e = [].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length; o < a; o++) { var s = e[o]; "true" === s.getAttribute("aria-pressed") ? s.classList.add("active") : s.classList.remove("active") } }), t.fn.button = h._jQueryInterface, t.fn.button.Constructor = h, t.fn.button.noConflict = function () { return t.fn.button = d, h._jQueryInterface }; var p = "carousel", g = t.fn[p], m = { interval: 5e3, keyboard: !0, slide: !1, pause: "hover", wrap: !0, touch: !0 }, v = { interval: "(number|boolean)", keyboard: "boolean", slide: "(boolean|string)", pause: "(string|boolean)", wrap: "boolean", touch: "boolean" }, y = { TOUCH: "touch", PEN: "pen" }, b = function () { function e(e, t) { this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(t), this._element = e, this._indicatorsElement = this._element.querySelector(".carousel-indicators"), this._touchSupported = "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0, this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent), this._addEventListeners() } var n = e.prototype; return n.next = function () { this._isSliding || this._slide("next") }, n.nextWhenVisible = function () { !document.hidden && t(this._element).is(":visible") && "hidden" !== t(this._element).css("visibility") && this.next() }, n.prev = function () { this._isSliding || this._slide("prev") }, n.pause = function (e) { e || (this._isPaused = !0), this._element.querySelector(".carousel-item-next, .carousel-item-prev") && (l.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null }, n.cycle = function (e) { e || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval)) }, n.to = function (e) { var n = this; this._activeElement = this._element.querySelector(".active.carousel-item"); var r = this._getItemIndex(this._activeElement); if (!(e > this._items.length - 1 || e < 0)) if (this._isSliding) t(this._element).one("slid.bs.carousel", function () { return n.to(e) }); else { if (r === e) return this.pause(), void this.cycle(); var i = e > r ? "next" : "prev"; this._slide(i, this._items[e]) } }, n.dispose = function () { t(this._element).off(".bs.carousel"), t.removeData(this._element, "bs.carousel"), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null }, n._getConfig = function (e) { return e = s(s({}, m), e), l.typeCheckConfig(p, e, v), e }, n._handleSwipe = function () { var e = Math.abs(this.touchDeltaX); if (!(e <= 40)) { var t = e / this.touchDeltaX; this.touchDeltaX = 0, t > 0 && this.prev(), t < 0 && this.next() } }, n._addEventListeners = function () { var e = this; this._config.keyboard && t(this._element).on("keydown.bs.carousel", function (t) { return e._keydown(t) }), "hover" === this._config.pause && t(this._element).on("mouseenter.bs.carousel", function (t) { return e.pause(t) }).on("mouseleave.bs.carousel", function (t) { return e.cycle(t) }), this._config.touch && this._addTouchEventListeners() }, n._addTouchEventListeners = function () { var e = this; if (this._touchSupported) { var n = function (t) { e._pointerEvent && y[t.originalEvent.pointerType.toUpperCase()] ? e.touchStartX = t.originalEvent.clientX : e._pointerEvent || (e.touchStartX = t.originalEvent.touches[0].clientX) }, r = function (t) { e._pointerEvent && y[t.originalEvent.pointerType.toUpperCase()] && (e.touchDeltaX = t.originalEvent.clientX - e.touchStartX), e._handleSwipe(), "hover" === e._config.pause && (e.pause(), e.touchTimeout && clearTimeout(e.touchTimeout), e.touchTimeout = setTimeout(function (t) { return e.cycle(t) }, 500 + e._config.interval)) }; t(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel", function (e) { return e.preventDefault() }), this._pointerEvent ? (t(this._element).on("pointerdown.bs.carousel", function (e) { return n(e) }), t(this._element).on("pointerup.bs.carousel", function (e) { return r(e) }), this._element.classList.add("pointer-event")) : (t(this._element).on("touchstart.bs.carousel", function (e) { return n(e) }), t(this._element).on("touchmove.bs.carousel", function (t) { return function (t) { t.originalEvent.touches && t.originalEvent.touches.length > 1 ? e.touchDeltaX = 0 : e.touchDeltaX = t.originalEvent.touches[0].clientX - e.touchStartX }(t) }), t(this._element).on("touchend.bs.carousel", function (e) { return r(e) })) } }, n._keydown = function (e) { if (!/input|textarea/i.test(e.target.tagName)) switch (e.which) { case 37: e.preventDefault(), this.prev(); break; case 39: e.preventDefault(), this.next() } }, n._getItemIndex = function (e) { return this._items = e && e.parentNode ? [].slice.call(e.parentNode.querySelectorAll(".carousel-item")) : [], this._items.indexOf(e) }, n._getItemByDirection = function (e, t) { var n = "next" === e, r = "prev" === e, i = this._getItemIndex(t), o = this._items.length - 1; if ((r && 0 === i || n && i === o) && !this._config.wrap) return t; var a = (i + ("prev" === e ? -1 : 1)) % this._items.length; return -1 === a ? this._items[this._items.length - 1] : this._items[a] }, n._triggerSlideEvent = function (e, n) { var r = this._getItemIndex(e), i = this._getItemIndex(this._element.querySelector(".active.carousel-item")), o = t.Event("slide.bs.carousel", { relatedTarget: e, direction: n, from: i, to: r }); return t(this._element).trigger(o), o }, n._setActiveIndicatorElement = function (e) { if (this._indicatorsElement) { var n = [].slice.call(this._indicatorsElement.querySelectorAll(".active")); t(n).removeClass("active"); var r = this._indicatorsElement.children[this._getItemIndex(e)]; r && t(r).addClass("active") } }, n._slide = function (e, n) { var r, i, o, a = this, s = this._element.querySelector(".active.carousel-item"), c = this._getItemIndex(s), u = n || s && this._getItemByDirection(e, s), f = this._getItemIndex(u), d = Boolean(this._interval); if ("next" === e ? (r = "carousel-item-left", i = "carousel-item-next", o = "left") : (r = "carousel-item-right", i = "carousel-item-prev", o = "right"), u && t(u).hasClass("active")) this._isSliding = !1; else if (!this._triggerSlideEvent(u, o).isDefaultPrevented() && s && u) { this._isSliding = !0, d && this.pause(), this._setActiveIndicatorElement(u); var h = t.Event("slid.bs.carousel", { relatedTarget: u, direction: o, from: c, to: f }); if (t(this._element).hasClass("slide")) { t(u).addClass(i), l.reflow(u), t(s).addClass(r), t(u).addClass(r); var p = parseInt(u.getAttribute("data-interval"), 10); p ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, this._config.interval = p) : this._config.interval = this._config.defaultInterval || this._config.interval; var g = l.getTransitionDurationFromElement(s); t(s).one(l.TRANSITION_END, function () { t(u).removeClass(r + " " + i).addClass("active"), t(s).removeClass("active " + i + " " + r), a._isSliding = !1, setTimeout(function () { return t(a._element).trigger(h) }, 0) }).emulateTransitionEnd(g) } else t(s).removeClass("active"), t(u).addClass("active"), this._isSliding = !1, t(this._element).trigger(h); d && this.cycle() } }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this).data("bs.carousel"), i = s(s({}, m), t(this).data()); "object" == typeof n && (i = s(s({}, i), n)); var o = "string" == typeof n ? n : i.slide; if (r || (r = new e(this, i), t(this).data("bs.carousel", r)), "number" == typeof n) r.to(n); else if ("string" == typeof o) { if (void 0 === r[o]) throw new TypeError('No method named "' + o + '"'); r[o]() } else i.interval && i.ride && (r.pause(), r.cycle()) }) }, e._dataApiClickHandler = function (n) { var r = l.getSelectorFromElement(this); if (r) { var i = t(r)[0]; if (i && t(i).hasClass("carousel")) { var o = s(s({}, t(i).data()), t(this).data()), a = this.getAttribute("data-slide-to"); a && (o.interval = !1), e._jQueryInterface.call(t(i), o), a && t(i).data("bs.carousel").to(a), n.preventDefault() } } }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "Default", get: function () { return m } }]), e }(); t(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", b._dataApiClickHandler), t(window).on("load.bs.carousel.data-api", function () { for (var e = [].slice.call(document.querySelectorAll('[data-ride="carousel"]')), n = 0, r = e.length; n < r; n++) { var i = t(e[n]); b._jQueryInterface.call(i, i.data()) } }), t.fn[p] = b._jQueryInterface, t.fn[p].Constructor = b, t.fn[p].noConflict = function () { return t.fn[p] = g, b._jQueryInterface }; var _ = "collapse", w = t.fn[_], S = { toggle: !0, parent: "" }, T = { toggle: "boolean", parent: "(string|element)" }, x = function () { function e(e, t) { this._isTransitioning = !1, this._element = e, this._config = this._getConfig(t), this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]')); for (var n = [].slice.call(document.querySelectorAll('[data-toggle="collapse"]')), r = 0, i = n.length; r < i; r++) { var o = n[r], a = l.getSelectorFromElement(o), s = [].slice.call(document.querySelectorAll(a)).filter(function (t) { return t === e }); null !== a && s.length > 0 && (this._selector = a, this._triggerArray.push(o)) } this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle() } var n = e.prototype; return n.toggle = function () { t(this._element).hasClass("show") ? this.hide() : this.show() }, n.show = function () { var n, r, i = this; if (!(this._isTransitioning || t(this._element).hasClass("show") || (this._parent && 0 === (n = [].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter(function (e) { return "string" == typeof i._config.parent ? e.getAttribute("data-parent") === i._config.parent : e.classList.contains("collapse") })).length && (n = null), n && (r = t(n).not(this._selector).data("bs.collapse")) && r._isTransitioning))) { var o = t.Event("show.bs.collapse"); if (t(this._element).trigger(o), !o.isDefaultPrevented()) { n && (e._jQueryInterface.call(t(n).not(this._selector), "hide"), r || t(n).data("bs.collapse", null)); var a = this._getDimension(); t(this._element).removeClass("collapse").addClass("collapsing"), this._element.style[a] = 0, this._triggerArray.length && t(this._triggerArray).removeClass("collapsed").attr("aria-expanded", !0), this.setTransitioning(!0); var s = "scroll" + (a[0].toUpperCase() + a.slice(1)), c = l.getTransitionDurationFromElement(this._element); t(this._element).one(l.TRANSITION_END, function () { t(i._element).removeClass("collapsing").addClass("collapse show"), i._element.style[a] = "", i.setTransitioning(!1), t(i._element).trigger("shown.bs.collapse") }).emulateTransitionEnd(c), this._element.style[a] = this._element[s] + "px" } } }, n.hide = function () { var e = this; if (!this._isTransitioning && t(this._element).hasClass("show")) { var n = t.Event("hide.bs.collapse"); if (t(this._element).trigger(n), !n.isDefaultPrevented()) { var r = this._getDimension(); this._element.style[r] = this._element.getBoundingClientRect()[r] + "px", l.reflow(this._element), t(this._element).addClass("collapsing").removeClass("collapse show"); var i = this._triggerArray.length; if (i > 0) for (var o = 0; o < i; o++) { var a = this._triggerArray[o], s = l.getSelectorFromElement(a); null !== s && (t([].slice.call(document.querySelectorAll(s))).hasClass("show") || t(a).addClass("collapsed").attr("aria-expanded", !1)) } this.setTransitioning(!0), this._element.style[r] = ""; var c = l.getTransitionDurationFromElement(this._element); t(this._element).one(l.TRANSITION_END, function () { e.setTransitioning(!1), t(e._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") }).emulateTransitionEnd(c) } } }, n.setTransitioning = function (e) { this._isTransitioning = e }, n.dispose = function () { t.removeData(this._element, "bs.collapse"), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null }, n._getConfig = function (e) { return (e = s(s({}, S), e)).toggle = Boolean(e.toggle), l.typeCheckConfig(_, e, T), e }, n._getDimension = function () { return t(this._element).hasClass("width") ? "width" : "height" }, n._getParent = function () { var n, r = this; l.isElement(this._config.parent) ? (n = this._config.parent, void 0 !== this._config.parent.jquery && (n = this._config.parent[0])) : n = document.querySelector(this._config.parent); var i = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]', o = [].slice.call(n.querySelectorAll(i)); return t(o).each(function (t, n) { r._addAriaAndCollapsedClass(e._getTargetFromElement(n), [n]) }), n }, n._addAriaAndCollapsedClass = function (e, n) { var r = t(e).hasClass("show"); n.length && t(n).toggleClass("collapsed", !r).attr("aria-expanded", r) }, e._getTargetFromElement = function (e) { var t = l.getSelectorFromElement(e); return t ? document.querySelector(t) : null }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this), i = r.data("bs.collapse"), o = s(s(s({}, S), r.data()), "object" == typeof n && n ? n : {}); if (!i && o.toggle && "string" == typeof n && /show|hide/.test(n) && (o.toggle = !1), i || (i = new e(this, o), r.data("bs.collapse", i)), "string" == typeof n) { if (void 0 === i[n]) throw new TypeError('No method named "' + n + '"'); i[n]() } }) }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "Default", get: function () { return S } }]), e }(); t(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (e) { "A" === e.currentTarget.tagName && e.preventDefault(); var n = t(this), r = l.getSelectorFromElement(this), i = [].slice.call(document.querySelectorAll(r)); t(i).each(function () { var e = t(this), r = e.data("bs.collapse") ? "toggle" : n.data(); x._jQueryInterface.call(e, r) }) }), t.fn[_] = x._jQueryInterface, t.fn[_].Constructor = x, t.fn[_].noConflict = function () { return t.fn[_] = w, x._jQueryInterface }; var C = "dropdown", D = t.fn[C], E = new RegExp("38|40|27"), A = { offset: 0, flip: !0, boundary: "scrollParent", reference: "toggle", display: "dynamic", popperConfig: null }, I = { offset: "(number|string|function)", flip: "boolean", boundary: "(string|element)", reference: "(string|element)", display: "string", popperConfig: "(null|object)" }, k = function () { function e(e, t) { this._element = e, this._popper = null, this._config = this._getConfig(t), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners() } var r = e.prototype; return r.toggle = function () { if (!this._element.disabled && !t(this._element).hasClass("disabled")) { var n = t(this._menu).hasClass("show"); e._clearMenus(), n || this.show(!0) } }, r.show = function (r) { if (void 0 === r && (r = !1), !(this._element.disabled || t(this._element).hasClass("disabled") || t(this._menu).hasClass("show"))) { var i = { relatedTarget: this._element }, o = t.Event("show.bs.dropdown", i), a = e._getParentFromElement(this._element); if (t(a).trigger(o), !o.isDefaultPrevented()) { if (!this._inNavbar && r) { if (void 0 === n) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)"); var s = this._element; "parent" === this._config.reference ? s = a : l.isElement(this._config.reference) && (s = this._config.reference, void 0 !== this._config.reference.jquery && (s = this._config.reference[0])), "scrollParent" !== this._config.boundary && t(a).addClass("position-static"), this._popper = new n(s, this._menu, this._getPopperConfig()) } "ontouchstart" in document.documentElement && 0 === t(a).closest(".navbar-nav").length && t(document.body).children().on("mouseover", null, t.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), t(this._menu).toggleClass("show"), t(a).toggleClass("show").trigger(t.Event("shown.bs.dropdown", i)) } } }, r.hide = function () { if (!this._element.disabled && !t(this._element).hasClass("disabled") && t(this._menu).hasClass("show")) { var n = { relatedTarget: this._element }, r = t.Event("hide.bs.dropdown", n), i = e._getParentFromElement(this._element); t(i).trigger(r), r.isDefaultPrevented() || (this._popper && this._popper.destroy(), t(this._menu).toggleClass("show"), t(i).toggleClass("show").trigger(t.Event("hidden.bs.dropdown", n))) } }, r.dispose = function () { t.removeData(this._element, "bs.dropdown"), t(this._element).off(".bs.dropdown"), this._element = null, this._menu = null, null !== this._popper && (this._popper.destroy(), this._popper = null) }, r.update = function () { this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate() }, r._addEventListeners = function () { var e = this; t(this._element).on("click.bs.dropdown", function (t) { t.preventDefault(), t.stopPropagation(), e.toggle() }) }, r._getConfig = function (e) { return e = s(s(s({}, this.constructor.Default), t(this._element).data()), e), l.typeCheckConfig(C, e, this.constructor.DefaultType), e }, r._getMenuElement = function () { if (!this._menu) { var t = e._getParentFromElement(this._element); t && (this._menu = t.querySelector(".dropdown-menu")) } return this._menu }, r._getPlacement = function () { var e = t(this._element.parentNode), n = "bottom-start"; return e.hasClass("dropup") ? n = t(this._menu).hasClass("dropdown-menu-right") ? "top-end" : "top-start" : e.hasClass("dropright") ? n = "right-start" : e.hasClass("dropleft") ? n = "left-start" : t(this._menu).hasClass("dropdown-menu-right") && (n = "bottom-end"), n }, r._detectNavbar = function () { return t(this._element).closest(".navbar").length > 0 }, r._getOffset = function () { var e = this, t = {}; return "function" == typeof this._config.offset ? t.fn = function (t) { return t.offsets = s(s({}, t.offsets), e._config.offset(t.offsets, e._element) || {}), t } : t.offset = this._config.offset, t }, r._getPopperConfig = function () { var e = { placement: this._getPlacement(), modifiers: { offset: this._getOffset(), flip: { enabled: this._config.flip }, preventOverflow: { boundariesElement: this._config.boundary } } }; return "static" === this._config.display && (e.modifiers.applyStyle = { enabled: !1 }), s(s({}, e), this._config.popperConfig) }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this).data("bs.dropdown"); if (r || (r = new e(this, "object" == typeof n ? n : null), t(this).data("bs.dropdown", r)), "string" == typeof n) { if (void 0 === r[n]) throw new TypeError('No method named "' + n + '"'); r[n]() } }) }, e._clearMenus = function (n) { if (!n || 3 !== n.which && ("keyup" !== n.type || 9 === n.which)) for (var r = [].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')), i = 0, o = r.length; i < o; i++) { var a = e._getParentFromElement(r[i]), s = t(r[i]).data("bs.dropdown"), l = { relatedTarget: r[i] }; if (n && "click" === n.type && (l.clickEvent = n), s) { var c = s._menu; if (t(a).hasClass("show") && !(n && ("click" === n.type && /input|textarea/i.test(n.target.tagName) || "keyup" === n.type && 9 === n.which) && t.contains(a, n.target))) { var u = t.Event("hide.bs.dropdown", l); t(a).trigger(u), u.isDefaultPrevented() || ("ontouchstart" in document.documentElement && t(document.body).children().off("mouseover", null, t.noop), r[i].setAttribute("aria-expanded", "false"), s._popper && s._popper.destroy(), t(c).removeClass("show"), t(a).removeClass("show").trigger(t.Event("hidden.bs.dropdown", l))) } } } }, e._getParentFromElement = function (e) { var t, n = l.getSelectorFromElement(e); return n && (t = document.querySelector(n)), t || e.parentNode }, e._dataApiKeydownHandler = function (n) { if (!(/input|textarea/i.test(n.target.tagName) ? 32 === n.which || 27 !== n.which && (40 !== n.which && 38 !== n.which || t(n.target).closest(".dropdown-menu").length) : !E.test(n.which)) && !this.disabled && !t(this).hasClass("disabled")) { var r = e._getParentFromElement(this), i = t(r).hasClass("show"); if (i || 27 !== n.which) { if (n.preventDefault(), n.stopPropagation(), !i || i && (27 === n.which || 32 === n.which)) return 27 === n.which && t(r.querySelector('[data-toggle="dropdown"]')).trigger("focus"), void t(this).trigger("click"); var o = [].slice.call(r.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter(function (e) { return t(e).is(":visible") }); if (0 !== o.length) { var a = o.indexOf(n.target); 38 === n.which && a > 0 && a--, 40 === n.which && a < o.length - 1 && a++, a < 0 && (a = 0), o[a].focus() } } } }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "Default", get: function () { return A } }, { key: "DefaultType", get: function () { return I } }]), e }(); t(document).on("keydown.bs.dropdown.data-api", '[data-toggle="dropdown"]', k._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api", ".dropdown-menu", k._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api", k._clearMenus).on("click.bs.dropdown.data-api", '[data-toggle="dropdown"]', function (e) { e.preventDefault(), e.stopPropagation(), k._jQueryInterface.call(t(this), "toggle") }).on("click.bs.dropdown.data-api", ".dropdown form", function (e) { e.stopPropagation() }), t.fn[C] = k._jQueryInterface, t.fn[C].Constructor = k, t.fn[C].noConflict = function () { return t.fn[C] = D, k._jQueryInterface }; var j = t.fn.modal, N = { backdrop: !0, keyboard: !0, focus: !0, show: !0 }, L = { backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean", show: "boolean" }, P = function () { function e(e, t) { this._config = this._getConfig(t), this._element = e, this._dialog = e.querySelector(".modal-dialog"), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0 } var n = e.prototype; return n.toggle = function (e) { return this._isShown ? this.hide() : this.show(e) }, n.show = function (e) { var n = this; if (!this._isShown && !this._isTransitioning) { t(this._element).hasClass("fade") && (this._isTransitioning = !0); var r = t.Event("show.bs.modal", { relatedTarget: e }); t(this._element).trigger(r), this._isShown || r.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), t(this._element).on("click.dismiss.bs.modal", '[data-dismiss="modal"]', function (e) { return n.hide(e) }), t(this._dialog).on("mousedown.dismiss.bs.modal", function () { t(n._element).one("mouseup.dismiss.bs.modal", function (e) { t(e.target).is(n._element) && (n._ignoreBackdropClick = !0) }) }), this._showBackdrop(function () { return n._showElement(e) })) } }, n.hide = function (e) { var n = this; if (e && e.preventDefault(), this._isShown && !this._isTransitioning) { var r = t.Event("hide.bs.modal"); if (t(this._element).trigger(r), this._isShown && !r.isDefaultPrevented()) { this._isShown = !1; var i = t(this._element).hasClass("fade"); if (i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), t(document).off("focusin.bs.modal"), t(this._element).removeClass("show"), t(this._element).off("click.dismiss.bs.modal"), t(this._dialog).off("mousedown.dismiss.bs.modal"), i) { var o = l.getTransitionDurationFromElement(this._element); t(this._element).one(l.TRANSITION_END, function (e) { return n._hideModal(e) }).emulateTransitionEnd(o) } else this._hideModal() } } }, n.dispose = function () { [window, this._element, this._dialog].forEach(function (e) { return t(e).off(".bs.modal") }), t(document).off("focusin.bs.modal"), t.removeData(this._element, "bs.modal"), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null }, n.handleUpdate = function () { this._adjustDialog() }, n._getConfig = function (e) { return e = s(s({}, N), e), l.typeCheckConfig("modal", e, L), e }, n._triggerBackdropTransition = function () { var e = this; if ("static" === this._config.backdrop) { var n = t.Event("hidePrevented.bs.modal"); if (t(this._element).trigger(n), n.defaultPrevented) return; this._element.classList.add("modal-static"); var r = l.getTransitionDurationFromElement(this._element); t(this._element).one(l.TRANSITION_END, function () { e._element.classList.remove("modal-static") }).emulateTransitionEnd(r), this._element.focus() } else this.hide() }, n._showElement = function (e) { var n = this, r = t(this._element).hasClass("fade"), i = this._dialog ? this._dialog.querySelector(".modal-body") : null; this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), t(this._dialog).hasClass("modal-dialog-scrollable") && i ? i.scrollTop = 0 : this._element.scrollTop = 0, r && l.reflow(this._element), t(this._element).addClass("show"), this._config.focus && this._enforceFocus(); var o = t.Event("shown.bs.modal", { relatedTarget: e }), a = function () { n._config.focus && n._element.focus(), n._isTransitioning = !1, t(n._element).trigger(o) }; if (r) { var s = l.getTransitionDurationFromElement(this._dialog); t(this._dialog).one(l.TRANSITION_END, a).emulateTransitionEnd(s) } else a() }, n._enforceFocus = function () { var e = this; t(document).off("focusin.bs.modal").on("focusin.bs.modal", function (n) { document !== n.target && e._element !== n.target && 0 === t(e._element).has(n.target).length && e._element.focus() }) }, n._setEscapeEvent = function () { var e = this; this._isShown ? t(this._element).on("keydown.dismiss.bs.modal", function (t) { e._config.keyboard && 27 === t.which ? (t.preventDefault(), e.hide()) : e._config.keyboard || 27 !== t.which || e._triggerBackdropTransition() }) : this._isShown || t(this._element).off("keydown.dismiss.bs.modal") }, n._setResizeEvent = function () { var e = this; this._isShown ? t(window).on("resize.bs.modal", function (t) { return e.handleUpdate(t) }) : t(window).off("resize.bs.modal") }, n._hideModal = function () { var e = this; this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._isTransitioning = !1, this._showBackdrop(function () { t(document.body).removeClass("modal-open"), e._resetAdjustments(), e._resetScrollbar(), t(e._element).trigger("hidden.bs.modal") }) }, n._removeBackdrop = function () { this._backdrop && (t(this._backdrop).remove(), this._backdrop = null) }, n._showBackdrop = function (e) { var n = this, r = t(this._element).hasClass("fade") ? "fade" : ""; if (this._isShown && this._config.backdrop) { if (this._backdrop = document.createElement("div"), this._backdrop.className = "modal-backdrop", r && this._backdrop.classList.add(r), t(this._backdrop).appendTo(document.body), t(this._element).on("click.dismiss.bs.modal", function (e) { n._ignoreBackdropClick ? n._ignoreBackdropClick = !1 : e.target === e.currentTarget && n._triggerBackdropTransition() }), r && l.reflow(this._backdrop), t(this._backdrop).addClass("show"), !e) return; if (!r) return void e(); var i = l.getTransitionDurationFromElement(this._backdrop); t(this._backdrop).one(l.TRANSITION_END, e).emulateTransitionEnd(i) } else if (!this._isShown && this._backdrop) { t(this._backdrop).removeClass("show"); var o = function () { n._removeBackdrop(), e && e() }; if (t(this._element).hasClass("fade")) { var a = l.getTransitionDurationFromElement(this._backdrop); t(this._backdrop).one(l.TRANSITION_END, o).emulateTransitionEnd(a) } else o() } else e && e() }, n._adjustDialog = function () { var e = this._element.scrollHeight > document.documentElement.clientHeight; !this._isBodyOverflowing && e && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !e && (this._element.style.paddingRight = this._scrollbarWidth + "px") }, n._resetAdjustments = function () { this._element.style.paddingLeft = "", this._element.style.paddingRight = "" }, n._checkScrollbar = function () { var e = document.body.getBoundingClientRect(); this._isBodyOverflowing = Math.round(e.left + e.right) < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth() }, n._setScrollbar = function () { var e = this; if (this._isBodyOverflowing) { var n = [].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")), r = [].slice.call(document.querySelectorAll(".sticky-top")); t(n).each(function (n, r) { var i = r.style.paddingRight, o = t(r).css("padding-right"); t(r).data("padding-right", i).css("padding-right", parseFloat(o) + e._scrollbarWidth + "px") }), t(r).each(function (n, r) { var i = r.style.marginRight, o = t(r).css("margin-right"); t(r).data("margin-right", i).css("margin-right", parseFloat(o) - e._scrollbarWidth + "px") }); var i = document.body.style.paddingRight, o = t(document.body).css("padding-right"); t(document.body).data("padding-right", i).css("padding-right", parseFloat(o) + this._scrollbarWidth + "px") } t(document.body).addClass("modal-open") }, n._resetScrollbar = function () { var e = [].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")); t(e).each(function (e, n) { var r = t(n).data("padding-right"); t(n).removeData("padding-right"), n.style.paddingRight = r || "" }); var n = [].slice.call(document.querySelectorAll(".sticky-top")); t(n).each(function (e, n) { var r = t(n).data("margin-right"); void 0 !== r && t(n).css("margin-right", r).removeData("margin-right") }); var r = t(document.body).data("padding-right"); t(document.body).removeData("padding-right"), document.body.style.paddingRight = r || "" }, n._getScrollbarWidth = function () { var e = document.createElement("div"); e.className = "modal-scrollbar-measure", document.body.appendChild(e); var t = e.getBoundingClientRect().width - e.clientWidth; return document.body.removeChild(e), t }, e._jQueryInterface = function (n, r) { return this.each(function () { var i = t(this).data("bs.modal"), o = s(s(s({}, N), t(this).data()), "object" == typeof n && n ? n : {}); if (i || (i = new e(this, o), t(this).data("bs.modal", i)), "string" == typeof n) { if (void 0 === i[n]) throw new TypeError('No method named "' + n + '"'); i[n](r) } else o.show && i.show(r) }) }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "Default", get: function () { return N } }]), e }(); t(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (e) { var n, r = this, i = l.getSelectorFromElement(this); i && (n = document.querySelector(i)); var o = t(n).data("bs.modal") ? "toggle" : s(s({}, t(n).data()), t(this).data()); "A" !== this.tagName && "AREA" !== this.tagName || e.preventDefault(); var a = t(n).one("show.bs.modal", function (e) { e.isDefaultPrevented() || a.one("hidden.bs.modal", function () { t(r).is(":visible") && r.focus() }) }); P._jQueryInterface.call(t(n), o, this) }), t.fn.modal = P._jQueryInterface, t.fn.modal.Constructor = P, t.fn.modal.noConflict = function () { return t.fn.modal = j, P._jQueryInterface }; var O = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"], R = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&\/:?]*(?:[#\/?]|$))/gi, F = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+\/a-z]+=*$/i; function H(e, t, n) { if (0 === e.length) return e; if (n && "function" == typeof n) return n(e); for (var r = (new window.DOMParser).parseFromString(e, "text/html"), i = Object.keys(t), o = [].slice.call(r.body.querySelectorAll("*")), a = function (e, n) { var r = o[e], a = r.nodeName.toLowerCase(); if (-1 === i.indexOf(r.nodeName.toLowerCase())) return r.parentNode.removeChild(r), "continue"; var s = [].slice.call(r.attributes), l = [].concat(t["*"] || [], t[a] || []); s.forEach(function (e) { (function (e, t) { var n = e.nodeName.toLowerCase(); if (-1 !== t.indexOf(n)) return -1 === O.indexOf(n) || Boolean(e.nodeValue.match(R) || e.nodeValue.match(F)); for (var r = t.filter(function (e) { return e instanceof RegExp }), i = 0, o = r.length; i < o; i++)if (n.match(r[i])) return !0; return !1 })(e, l) || r.removeAttribute(e.nodeName) }) }, s = 0, l = o.length; s < l; s++)a(s); return r.body.innerHTML } var q = "tooltip", M = t.fn[q], $ = new RegExp("(^|\\s)bs-tooltip\\S+", "g"), W = ["sanitize", "whiteList", "sanitizeFn"], B = { animation: "boolean", template: "string", title: "(string|element|function)", trigger: "string", delay: "(number|object)", html: "boolean", selector: "(string|boolean)", placement: "(string|function)", offset: "(number|string|function)", container: "(string|element|boolean)", fallbackPlacement: "(string|array)", boundary: "(string|element)", sanitize: "boolean", sanitizeFn: "(null|function)", whiteList: "object", popperConfig: "(null|object)" }, U = { AUTO: "auto", TOP: "top", RIGHT: "right", BOTTOM: "bottom", LEFT: "left" }, V = { animation: !0, template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, selector: !1, placement: "top", offset: 0, container: !1, fallbackPlacement: "flip", boundary: "scrollParent", sanitize: !0, sanitizeFn: null, whiteList: { "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], a: ["target", "href", "title", "rel"], area: [], b: [], br: [], col: [], code: [], div: [], em: [], hr: [], h1: [], h2: [], h3: [], h4: [], h5: [], h6: [], i: [], img: ["src", "srcset", "alt", "title", "width", "height"], li: [], ol: [], p: [], pre: [], s: [], small: [], span: [], sub: [], sup: [], strong: [], u: [], ul: [] }, popperConfig: null }, X = { HIDE: "hide.bs.tooltip", HIDDEN: "hidden.bs.tooltip", SHOW: "show.bs.tooltip", SHOWN: "shown.bs.tooltip", INSERTED: "inserted.bs.tooltip", CLICK: "click.bs.tooltip", FOCUSIN: "focusin.bs.tooltip", FOCUSOUT: "focusout.bs.tooltip", MOUSEENTER: "mouseenter.bs.tooltip", MOUSELEAVE: "mouseleave.bs.tooltip" }, z = function () { function e(e, t) { if (void 0 === n) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)"); this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = e, this.config = this._getConfig(t), this.tip = null, this._setListeners() } var r = e.prototype; return r.enable = function () { this._isEnabled = !0 }, r.disable = function () { this._isEnabled = !1 }, r.toggleEnabled = function () { this._isEnabled = !this._isEnabled }, r.toggle = function (e) { if (this._isEnabled) if (e) { var n = this.constructor.DATA_KEY, r = t(e.currentTarget).data(n); r || (r = new this.constructor(e.currentTarget, this._getDelegateConfig()), t(e.currentTarget).data(n, r)), r._activeTrigger.click = !r._activeTrigger.click, r._isWithActiveTrigger() ? r._enter(null, r) : r._leave(null, r) } else { if (t(this.getTipElement()).hasClass("show")) return void this._leave(null, this); this._enter(null, this) } }, r.dispose = function () { clearTimeout(this._timeout), t.removeData(this.element, this.constructor.DATA_KEY), t(this.element).off(this.constructor.EVENT_KEY), t(this.element).closest(".modal").off("hide.bs.modal", this._hideModalHandler), this.tip && t(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null }, r.show = function () { var e = this; if ("none" === t(this.element).css("display")) throw new Error("Please use show on visible elements"); var r = t.Event(this.constructor.Event.SHOW); if (this.isWithContent() && this._isEnabled) { t(this.element).trigger(r); var i = l.findShadowRoot(this.element), o = t.contains(null !== i ? i : this.element.ownerDocument.documentElement, this.element); if (r.isDefaultPrevented() || !o) return; var a = this.getTipElement(), s = l.getUID(this.constructor.NAME); a.setAttribute("id", s), this.element.setAttribute("aria-describedby", s), this.setContent(), this.config.animation && t(a).addClass("fade"); var c = "function" == typeof this.config.placement ? this.config.placement.call(this, a, this.element) : this.config.placement, u = this._getAttachment(c); this.addAttachmentClass(u); var f = this._getContainer(); t(a).data(this.constructor.DATA_KEY, this), t.contains(this.element.ownerDocument.documentElement, this.tip) || t(a).appendTo(f), t(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new n(this.element, a, this._getPopperConfig(u)), t(a).addClass("show"), "ontouchstart" in document.documentElement && t(document.body).children().on("mouseover", null, t.noop); var d = function () { e.config.animation && e._fixTransition(); var n = e._hoverState; e._hoverState = null, t(e.element).trigger(e.constructor.Event.SHOWN), "out" === n && e._leave(null, e) }; if (t(this.tip).hasClass("fade")) { var h = l.getTransitionDurationFromElement(this.tip); t(this.tip).one(l.TRANSITION_END, d).emulateTransitionEnd(h) } else d() } }, r.hide = function (e) { var n = this, r = this.getTipElement(), i = t.Event(this.constructor.Event.HIDE), o = function () { "show" !== n._hoverState && r.parentNode && r.parentNode.removeChild(r), n._cleanTipClass(), n.element.removeAttribute("aria-describedby"), t(n.element).trigger(n.constructor.Event.HIDDEN), null !== n._popper && n._popper.destroy(), e && e() }; if (t(this.element).trigger(i), !i.isDefaultPrevented()) { if (t(r).removeClass("show"), "ontouchstart" in document.documentElement && t(document.body).children().off("mouseover", null, t.noop), this._activeTrigger.click = !1, this._activeTrigger.focus = !1, this._activeTrigger.hover = !1, t(this.tip).hasClass("fade")) { var a = l.getTransitionDurationFromElement(r); t(r).one(l.TRANSITION_END, o).emulateTransitionEnd(a) } else o(); this._hoverState = "" } }, r.update = function () { null !== this._popper && this._popper.scheduleUpdate() }, r.isWithContent = function () { return Boolean(this.getTitle()) }, r.addAttachmentClass = function (e) { t(this.getTipElement()).addClass("bs-tooltip-" + e) }, r.getTipElement = function () { return this.tip = this.tip || t(this.config.template)[0], this.tip }, r.setContent = function () { var e = this.getTipElement(); this.setElementContent(t(e.querySelectorAll(".tooltip-inner")), this.getTitle()), t(e).removeClass("fade show") }, r.setElementContent = function (e, n) { "object" != typeof n || !n.nodeType && !n.jquery ? this.config.html ? (this.config.sanitize && (n = H(n, this.config.whiteList, this.config.sanitizeFn)), e.html(n)) : e.text(n) : this.config.html ? t(n).parent().is(e) || e.empty().append(n) : e.text(t(n).text()) }, r.getTitle = function () { var e = this.element.getAttribute("data-original-title"); return e || (e = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), e }, r._getPopperConfig = function (e) { var t = this; return s(s({}, { placement: e, modifiers: { offset: this._getOffset(), flip: { behavior: this.config.fallbackPlacement }, arrow: { element: ".arrow" }, preventOverflow: { boundariesElement: this.config.boundary } }, onCreate: function (e) { e.originalPlacement !== e.placement && t._handlePopperPlacementChange(e) }, onUpdate: function (e) { return t._handlePopperPlacementChange(e) } }), this.config.popperConfig) }, r._getOffset = function () { var e = this, t = {}; return "function" == typeof this.config.offset ? t.fn = function (t) { return t.offsets = s(s({}, t.offsets), e.config.offset(t.offsets, e.element) || {}), t } : t.offset = this.config.offset, t }, r._getContainer = function () { return !1 === this.config.container ? document.body : l.isElement(this.config.container) ? t(this.config.container) : t(document).find(this.config.container) }, r._getAttachment = function (e) { return U[e.toUpperCase()] }, r._setListeners = function () { var e = this; this.config.trigger.split(" ").forEach(function (n) { if ("click" === n) t(e.element).on(e.constructor.Event.CLICK, e.config.selector, function (t) { return e.toggle(t) }); else if ("manual" !== n) { var r = "hover" === n ? e.constructor.Event.MOUSEENTER : e.constructor.Event.FOCUSIN, i = "hover" === n ? e.constructor.Event.MOUSELEAVE : e.constructor.Event.FOCUSOUT; t(e.element).on(r, e.config.selector, function (t) { return e._enter(t) }).on(i, e.config.selector, function (t) { return e._leave(t) }) } }), this._hideModalHandler = function () { e.element && e.hide() }, t(this.element).closest(".modal").on("hide.bs.modal", this._hideModalHandler), this.config.selector ? this.config = s(s({}, this.config), {}, { trigger: "manual", selector: "" }) : this._fixTitle() }, r._fixTitle = function () { var e = typeof this.element.getAttribute("data-original-title"); (this.element.getAttribute("title") || "string" !== e) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", "")) }, r._enter = function (e, n) { var r = this.constructor.DATA_KEY; (n = n || t(e.currentTarget).data(r)) || (n = new this.constructor(e.currentTarget, this._getDelegateConfig()), t(e.currentTarget).data(r, n)), e && (n._activeTrigger["focusin" === e.type ? "focus" : "hover"] = !0), t(n.getTipElement()).hasClass("show") || "show" === n._hoverState ? n._hoverState = "show" : (clearTimeout(n._timeout), n._hoverState = "show", n.config.delay && n.config.delay.show ? n._timeout = setTimeout(function () { "show" === n._hoverState && n.show() }, n.config.delay.show) : n.show()) }, r._leave = function (e, n) { var r = this.constructor.DATA_KEY; (n = n || t(e.currentTarget).data(r)) || (n = new this.constructor(e.currentTarget, this._getDelegateConfig()), t(e.currentTarget).data(r, n)), e && (n._activeTrigger["focusout" === e.type ? "focus" : "hover"] = !1), n._isWithActiveTrigger() || (clearTimeout(n._timeout), n._hoverState = "out", n.config.delay && n.config.delay.hide ? n._timeout = setTimeout(function () { "out" === n._hoverState && n.hide() }, n.config.delay.hide) : n.hide()) }, r._isWithActiveTrigger = function () { for (var e in this._activeTrigger) if (this._activeTrigger[e]) return !0; return !1 }, r._getConfig = function (e) { var n = t(this.element).data(); return Object.keys(n).forEach(function (e) { -1 !== W.indexOf(e) && delete n[e] }), "number" == typeof (e = s(s(s({}, this.constructor.Default), n), "object" == typeof e && e ? e : {})).delay && (e.delay = { show: e.delay, hide: e.delay }), "number" == typeof e.title && (e.title = e.title.toString()), "number" == typeof e.content && (e.content = e.content.toString()), l.typeCheckConfig(q, e, this.constructor.DefaultType), e.sanitize && (e.template = H(e.template, e.whiteList, e.sanitizeFn)), e }, r._getDelegateConfig = function () { var e = {}; if (this.config) for (var t in this.config) this.constructor.Default[t] !== this.config[t] && (e[t] = this.config[t]); return e }, r._cleanTipClass = function () { var e = t(this.getTipElement()), n = e.attr("class").match($); null !== n && n.length && e.removeClass(n.join("")) }, r._handlePopperPlacementChange = function (e) { this.tip = e.instance.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(e.placement)) }, r._fixTransition = function () { var e = this.getTipElement(), n = this.config.animation; null === e.getAttribute("x-placement") && (t(e).removeClass("fade"), this.config.animation = !1, this.hide(), this.show(), this.config.animation = n) }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this).data("bs.tooltip"), i = "object" == typeof n && n; if ((r || !/dispose|hide/.test(n)) && (r || (r = new e(this, i), t(this).data("bs.tooltip", r)), "string" == typeof n)) { if (void 0 === r[n]) throw new TypeError('No method named "' + n + '"'); r[n]() } }) }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "Default", get: function () { return V } }, { key: "NAME", get: function () { return q } }, { key: "DATA_KEY", get: function () { return "bs.tooltip" } }, { key: "Event", get: function () { return X } }, { key: "EVENT_KEY", get: function () { return ".bs.tooltip" } }, { key: "DefaultType", get: function () { return B } }]), e }(); t.fn[q] = z._jQueryInterface, t.fn[q].Constructor = z, t.fn[q].noConflict = function () { return t.fn[q] = M, z._jQueryInterface }; var Q = "popover", Y = t.fn[Q], G = new RegExp("(^|\\s)bs-popover\\S+", "g"), J = s(s({}, z.Default), {}, { placement: "right", trigger: "click", content: "", template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' }), K = s(s({}, z.DefaultType), {}, { content: "(string|element|function)" }), Z = { HIDE: "hide.bs.popover", HIDDEN: "hidden.bs.popover", SHOW: "show.bs.popover", SHOWN: "shown.bs.popover", INSERTED: "inserted.bs.popover", CLICK: "click.bs.popover", FOCUSIN: "focusin.bs.popover", FOCUSOUT: "focusout.bs.popover", MOUSEENTER: "mouseenter.bs.popover", MOUSELEAVE: "mouseleave.bs.popover" }, ee = function (e) { var n, r; function o() { return e.apply(this, arguments) || this } r = e, (n = o).prototype = Object.create(r.prototype), n.prototype.constructor = n, n.__proto__ = r; var a = o.prototype; return a.isWithContent = function () { return this.getTitle() || this._getContent() }, a.addAttachmentClass = function (e) { t(this.getTipElement()).addClass("bs-popover-" + e) }, a.getTipElement = function () { return this.tip = this.tip || t(this.config.template)[0], this.tip }, a.setContent = function () { var e = t(this.getTipElement()); this.setElementContent(e.find(".popover-header"), this.getTitle()); var n = this._getContent(); "function" == typeof n && (n = n.call(this.element)), this.setElementContent(e.find(".popover-body"), n), e.removeClass("fade show") }, a._getContent = function () { return this.element.getAttribute("data-content") || this.config.content }, a._cleanTipClass = function () { var e = t(this.getTipElement()), n = e.attr("class").match(G); null !== n && n.length > 0 && e.removeClass(n.join("")) }, o._jQueryInterface = function (e) { return this.each(function () { var n = t(this).data("bs.popover"), r = "object" == typeof e ? e : null; if ((n || !/dispose|hide/.test(e)) && (n || (n = new o(this, r), t(this).data("bs.popover", n)), "string" == typeof e)) { if (void 0 === n[e]) throw new TypeError('No method named "' + e + '"'); n[e]() } }) }, i(o, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "Default", get: function () { return J } }, { key: "NAME", get: function () { return Q } }, { key: "DATA_KEY", get: function () { return "bs.popover" } }, { key: "Event", get: function () { return Z } }, { key: "EVENT_KEY", get: function () { return ".bs.popover" } }, { key: "DefaultType", get: function () { return K } }]), o }(z); t.fn[Q] = ee._jQueryInterface, t.fn[Q].Constructor = ee, t.fn[Q].noConflict = function () { return t.fn[Q] = Y, ee._jQueryInterface }; var te = "scrollspy", ne = t.fn[te], re = { offset: 10, method: "auto", target: "" }, ie = { offset: "number", method: "string", target: "(string|element)" }, oe = function () { function e(e, n) { var r = this; this._element = e, this._scrollElement = "BODY" === e.tagName ? window : e, this._config = this._getConfig(n), this._selector = this._config.target + " .nav-link," + this._config.target + " .list-group-item," + this._config.target + " .dropdown-item", this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, t(this._scrollElement).on("scroll.bs.scrollspy", function (e) { return r._process(e) }), this.refresh(), this._process() } var n = e.prototype; return n.refresh = function () { var e = this, n = this._scrollElement === this._scrollElement.window ? "offset" : "position", r = "auto" === this._config.method ? n : this._config.method, i = "position" === r ? this._getScrollTop() : 0; this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), [].slice.call(document.querySelectorAll(this._selector)).map(function (e) { var n, o = l.getSelectorFromElement(e); if (o && (n = document.querySelector(o)), n) { var a = n.getBoundingClientRect(); if (a.width || a.height) return [t(n)[r]().top + i, o] } return null }).filter(function (e) { return e }).sort(function (e, t) { return e[0] - t[0] }).forEach(function (t) { e._offsets.push(t[0]), e._targets.push(t[1]) }) }, n.dispose = function () { t.removeData(this._element, "bs.scrollspy"), t(this._scrollElement).off(".bs.scrollspy"), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null }, n._getConfig = function (e) { if ("string" != typeof (e = s(s({}, re), "object" == typeof e && e ? e : {})).target && l.isElement(e.target)) { var n = t(e.target).attr("id"); n || (n = l.getUID(te), t(e.target).attr("id", n)), e.target = "#" + n } return l.typeCheckConfig(te, e, ie), e }, n._getScrollTop = function () { return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop }, n._getScrollHeight = function () { return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) }, n._getOffsetHeight = function () { return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height }, n._process = function () { var e = this._getScrollTop() + this._config.offset, t = this._getScrollHeight(), n = this._config.offset + t - this._getOffsetHeight(); if (this._scrollHeight !== t && this.refresh(), e >= n) { var r = this._targets[this._targets.length - 1]; this._activeTarget !== r && this._activate(r) } else { if (this._activeTarget && e < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear(); for (var i = this._offsets.length; i--;)this._activeTarget !== this._targets[i] && e >= this._offsets[i] && (void 0 === this._offsets[i + 1] || e < this._offsets[i + 1]) && this._activate(this._targets[i]) } }, n._activate = function (e) { this._activeTarget = e, this._clear(); var n = this._selector.split(",").map(function (t) { return t + '[data-target="' + e + '"],' + t + '[href="' + e + '"]' }), r = t([].slice.call(document.querySelectorAll(n.join(",")))); r.hasClass("dropdown-item") ? (r.closest(".dropdown").find(".dropdown-toggle").addClass("active"), r.addClass("active")) : (r.addClass("active"), r.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"), r.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")), t(this._scrollElement).trigger("activate.bs.scrollspy", { relatedTarget: e }) }, n._clear = function () { [].slice.call(document.querySelectorAll(this._selector)).filter(function (e) { return e.classList.contains("active") }).forEach(function (e) { return e.classList.remove("active") }) }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this).data("bs.scrollspy"); if (r || (r = new e(this, "object" == typeof n && n), t(this).data("bs.scrollspy", r)), "string" == typeof n) { if (void 0 === r[n]) throw new TypeError('No method named "' + n + '"'); r[n]() } }) }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "Default", get: function () { return re } }]), e }(); t(window).on("load.bs.scrollspy.data-api", function () { for (var e = [].slice.call(document.querySelectorAll('[data-spy="scroll"]')), n = e.length; n--;) { var r = t(e[n]); oe._jQueryInterface.call(r, r.data()) } }), t.fn[te] = oe._jQueryInterface, t.fn[te].Constructor = oe, t.fn[te].noConflict = function () { return t.fn[te] = ne, oe._jQueryInterface }; var ae = t.fn.tab, se = function () { function e(e) { this._element = e } var n = e.prototype; return n.show = function () { var e = this; if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && t(this._element).hasClass("active") || t(this._element).hasClass("disabled"))) { var n, r, i = t(this._element).closest(".nav, .list-group")[0], o = l.getSelectorFromElement(this._element); if (i) { var a = "UL" === i.nodeName || "OL" === i.nodeName ? "> li > .active" : ".active"; r = (r = t.makeArray(t(i).find(a)))[r.length - 1] } var s = t.Event("hide.bs.tab", { relatedTarget: this._element }), c = t.Event("show.bs.tab", { relatedTarget: r }); if (r && t(r).trigger(s), t(this._element).trigger(c), !c.isDefaultPrevented() && !s.isDefaultPrevented()) { o && (n = document.querySelector(o)), this._activate(this._element, i); var u = function () { var n = t.Event("hidden.bs.tab", { relatedTarget: e._element }), i = t.Event("shown.bs.tab", { relatedTarget: r }); t(r).trigger(n), t(e._element).trigger(i) }; n ? this._activate(n, n.parentNode, u) : u() } } }, n.dispose = function () { t.removeData(this._element, "bs.tab"), this._element = null }, n._activate = function (e, n, r) { var i = this, o = (!n || "UL" !== n.nodeName && "OL" !== n.nodeName ? t(n).children(".active") : t(n).find("> li > .active"))[0], a = r && o && t(o).hasClass("fade"), s = function () { return i._transitionComplete(e, o, r) }; if (o && a) { var c = l.getTransitionDurationFromElement(o); t(o).removeClass("show").one(l.TRANSITION_END, s).emulateTransitionEnd(c) } else s() }, n._transitionComplete = function (e, n, r) { if (n) { t(n).removeClass("active"); var i = t(n.parentNode).find("> .dropdown-menu .active")[0]; i && t(i).removeClass("active"), "tab" === n.getAttribute("role") && n.setAttribute("aria-selected", !1) } if (t(e).addClass("active"), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !0), l.reflow(e), e.classList.contains("fade") && e.classList.add("show"), e.parentNode && t(e.parentNode).hasClass("dropdown-menu")) { var o = t(e).closest(".dropdown")[0]; if (o) { var a = [].slice.call(o.querySelectorAll(".dropdown-toggle")); t(a).addClass("active") } e.setAttribute("aria-expanded", !0) } r && r() }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this), i = r.data("bs.tab"); if (i || (i = new e(this), r.data("bs.tab", i)), "string" == typeof n) { if (void 0 === i[n]) throw new TypeError('No method named "' + n + '"'); i[n]() } }) }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }]), e }(); t(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', function (e) { e.preventDefault(), se._jQueryInterface.call(t(this), "show") }), t.fn.tab = se._jQueryInterface, t.fn.tab.Constructor = se, t.fn.tab.noConflict = function () { return t.fn.tab = ae, se._jQueryInterface }; var le = t.fn.toast, ce = { animation: "boolean", autohide: "boolean", delay: "number" }, ue = { animation: !0, autohide: !0, delay: 500 }, fe = function () { function e(e, t) { this._element = e, this._config = this._getConfig(t), this._timeout = null, this._setListeners() } var n = e.prototype; return n.show = function () { var e = this, n = t.Event("show.bs.toast"); if (t(this._element).trigger(n), !n.isDefaultPrevented()) { this._config.animation && this._element.classList.add("fade"); var r = function () { e._element.classList.remove("showing"), e._element.classList.add("show"), t(e._element).trigger("shown.bs.toast"), e._config.autohide && (e._timeout = setTimeout(function () { e.hide() }, e._config.delay)) }; if (this._element.classList.remove("hide"), l.reflow(this._element), this._element.classList.add("showing"), this._config.animation) { var i = l.getTransitionDurationFromElement(this._element); t(this._element).one(l.TRANSITION_END, r).emulateTransitionEnd(i) } else r() } }, n.hide = function () { if (this._element.classList.contains("show")) { var e = t.Event("hide.bs.toast"); t(this._element).trigger(e), e.isDefaultPrevented() || this._close() } }, n.dispose = function () { clearTimeout(this._timeout), this._timeout = null, this._element.classList.contains("show") && this._element.classList.remove("show"), t(this._element).off("click.dismiss.bs.toast"), t.removeData(this._element, "bs.toast"), this._element = null, this._config = null }, n._getConfig = function (e) { return e = s(s(s({}, ue), t(this._element).data()), "object" == typeof e && e ? e : {}), l.typeCheckConfig("toast", e, this.constructor.DefaultType), e }, n._setListeners = function () { var e = this; t(this._element).on("click.dismiss.bs.toast", '[data-dismiss="toast"]', function () { return e.hide() }) }, n._close = function () { var e = this, n = function () { e._element.classList.add("hide"), t(e._element).trigger("hidden.bs.toast") }; if (this._element.classList.remove("show"), this._config.animation) { var r = l.getTransitionDurationFromElement(this._element); t(this._element).one(l.TRANSITION_END, n).emulateTransitionEnd(r) } else n() }, e._jQueryInterface = function (n) { return this.each(function () { var r = t(this), i = r.data("bs.toast"); if (i || (i = new e(this, "object" == typeof n && n), r.data("bs.toast", i)), "string" == typeof n) { if (void 0 === i[n]) throw new TypeError('No method named "' + n + '"'); i[n](this) } }) }, i(e, null, [{ key: "VERSION", get: function () { return "4.5.0" } }, { key: "DefaultType", get: function () { return ce } }, { key: "Default", get: function () { return ue } }]), e }(); t.fn.toast = fe._jQueryInterface, t.fn.toast.Constructor = fe, t.fn.toast.noConflict = function () { return t.fn.toast = le, fe._jQueryInterface }, e.Alert = f, e.Button = h, e.Carousel = b, e.Collapse = x, e.Dropdown = k, e.Modal = P, e.Popover = ee, e.Scrollspy = oe, e.Tab = se, e.Toast = fe, e.Tooltip = z, e.Util = l, Object.defineProperty(e, "__esModule", { value: !0 }) }); var EasyAutocomplete = function (e) { return e.main = function (t, n) { function r() { return 0 === v.length ? void h.error("Input field doesn't exist.") : d.checkDataUrlProperties() ? d.checkRequiredProperties() ? (i(), void function () { function e() { v.off("keyup").keyup(function (e) { function t(e) { if (!(e.length < d.get("minCharNumber"))) { if ("list-required" !== d.get("data")) { var t = d.get("data"), n = g.init(t); n = g.updateCategories(n, t), c(n = g.processData(n, e), e), v.parent().find("li").length > 0 ? a() : s() } var r = function () { var e = {}, t = d.get("ajaxSettings") || {}; for (var n in t) e[n] = t[n]; return e }(); void 0 !== r.url && "" !== r.url || (r.url = d.get("url")), void 0 !== r.dataType && "" !== r.dataType || (r.dataType = d.get("dataType")), void 0 !== r.url && "list-required" !== r.url && (r.url = r.url(e), r.data = d.get("preparePostData")(r.data, e), $.ajax(r).done(function (t) { var n = g.init(t); n = g.updateCategories(n, t), n = g.convertXml(n), function (e, t) { return !1 === d.get("matchResponseProperty") || ("string" == typeof d.get("matchResponseProperty") ? t[d.get("matchResponseProperty")] === e : "function" != typeof d.get("matchResponseProperty") || d.get("matchResponseProperty")(t) === e) }(e, t) && c(n = g.processData(n, e), e), g.checkIfDataExists(n) && v.parent().find("li").length > 0 ? a() : s(), d.get("ajaxCallback")() }).fail(function () { h.warning("Fail to load response data") }).always(function () { })) } } switch (e.keyCode) { case 27: s(), v.trigger("blur"); break; case 38: e.preventDefault(), b.length > 0 && _ > 0 && (_ -= 1, v.val(d.get("getValue")(b[_])), l(_)); break; case 40: e.preventDefault(), b.length > 0 && _ < b.length - 1 && (_ += 1, v.val(d.get("getValue")(b[_])), l(_)); break; default: if (e.keyCode > 40 || 8 === e.keyCode || 0 === e.keyCode) { var n = v.val(); !0 !== d.get("list").hideOnEmptyPhrase || 8 !== e.keyCode || "" !== n ? d.get("requestDelay") > 0 ? (void 0 !== u && clearTimeout(u), u = setTimeout(function () { t(n) }, d.get("requestDelay"))) : t(n) : s() } } }) } m("autocompleteOff", !0) && v.attr("autocomplete", "off"), v.focusout(function () { var e, t = v.val(); d.get("list").match.caseSensitive || (t = t.toLowerCase()); for (var n = 0, r = b.length; n < r; n += 1)if (e = d.get("getValue")(b[n]), d.get("list").match.caseSensitive || (e = e.toLowerCase()), e === t) return void l(_ = n) }), e(), v.on("keydown", function (e) { if (38 === (e = e || window.event).keyCode) return suppressKeypress = !0, !1 }).keydown(function (e) { 13 === e.keyCode && _ > -1 && (v.val(d.get("getValue")(b[_])), d.get("list").onKeyEnterEvent(), d.get("list").onChooseEvent(), _ = -1, s(), e.preventDefault()) }), v.off("keypress"), v.focus(function () { "" !== v.val() && b.length > 0 && (_ = -1, a()) }), v.blur(function () { setTimeout(function () { _ = -1, s() }, 250) }) }()) : void h.error("Will not work without mentioned properties.") : void h.error("One of options variables 'data' or 'url' must be defined.") } function i() { function e(e, t) { return d.get("highlightPhrase") && "" !== t ? function (e, t) { var n = function (e) { return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") }(t); return (e + "").replace(new RegExp("(" + n + ")", "gi"), "<b>$1</b>") }(e, t) : e } v.parent().hasClass(f.getValue("WRAPPER_CSS_CLASS")) && (v.next("." + f.getValue("CONTAINER_CLASS")).remove(), v.unwrap()), function () { var e = $("<div>"), t = f.getValue("WRAPPER_CSS_CLASS"); d.get("theme") && "" !== d.get("theme") && (t += " eac-" + d.get("theme")), d.get("cssClasses") && "" !== d.get("cssClasses") && (t += " " + d.get("cssClasses")), "" !== p.getTemplateClass() && (t += " " + p.getTemplateClass()), e.addClass(t), v.wrap(e), !0 === d.get("adjustWidth") && function () { var e = v.outerWidth(); v.parent().css("width", e) }() }(), function () { var t = $("<div>").addClass(f.getValue("CONTAINER_CLASS")); t.attr("id", o()).prepend($("<ul>")), t.on("show.eac", function () { if (v.is(":focus")) { switch (d.get("list").showAnimation.type) { case "slide": var e = d.get("list").showAnimation.time, n = d.get("list").showAnimation.callback; t.find("ul").slideDown(e, n); break; case "fade": e = d.get("list").showAnimation.time, n = d.get("list").showAnimation.callback, t.find("ul").fadeIn(e); break; default: t.find("ul").show() }d.get("list").onShowListEvent() } }).on("hide.eac", function () { switch (d.get("list").hideAnimation.type) { case "slide": var e = d.get("list").hideAnimation.time, n = d.get("list").hideAnimation.callback; t.find("ul").slideUp(e, n); break; case "fade": e = d.get("list").hideAnimation.time, n = d.get("list").hideAnimation.callback, t.find("ul").fadeOut(e, n); break; default: t.find("ul").hide() }d.get("list").onHideListEvent() }).on("selectElement.eac", function () { t.find("ul li").removeClass("selected"), t.find("ul li").eq(_).addClass("selected"), d.get("list").onSelectItemEvent() }).on("loadElements.eac", function (n, r, i) { var o = "", a = t.find("ul"); a.empty().detach(), b = []; for (var s = 0, c = 0, u = r.length; c < u; c += 1) { var f = r[c].data; if (0 !== f.length) { void 0 !== r[c].header && r[c].header.length > 0 && a.append("<div class='eac-category' >" + r[c].header + "</div>"); for (var h = 0, g = f.length; h < g && s < r[c].maxListSize; h += 1)o = $("<li><div class='eac-item'></div></li>"), function () { var t = h, n = s, a = r[c].getValue(f[t]); o.find(" > div").on("click", function () { v.val(a).trigger("change"), _ = n, l(n), d.get("list").onClickEvent(), d.get("list").onChooseEvent() }).mouseover(function () { _ = n, l(n), d.get("list").onMouseOverEvent() }).mouseout(function () { d.get("list").onMouseOutEvent() }).html(p.build(e(a, i), f[t])) }(), a.append(o), b.push(f[h]), s += 1 } } t.append(a), d.get("list").onLoadEvent() }), v.after(t) }(), y = $("#" + o()), d.get("placeholder") && v.attr("placeholder", d.get("placeholder")) } function o() { var e = v.attr("id"); return f.getValue("CONTAINER_ID") + e } function a() { y.trigger("show.eac") } function s() { y.trigger("hide.eac") } function l(e) { y.trigger("selectElement.eac", e) } function c(e, t) { y.trigger("loadElements.eac", [e, t]) } var u, f = new e.Constants, d = new e.Configuration(n), h = new e.Logger, p = new e.Template(n.template), g = new e.ListBuilderService(d, e.proccess), m = d.equals, v = t, y = "", b = [], _ = -1; e.consts = f, this.getConstants = function () { return f }, this.getConfiguration = function () { return d }, this.getContainer = function () { return y }, this.getSelectedItemIndex = function () { return _ }, this.getItems = function () { return b }, this.getItemData = function (e) { return b.length < e || void 0 === b[e] ? -1 : b[e] }, this.getSelectedItemData = function () { return this.getItemData(_) }, this.build = function () { i() }, this.init = function () { r() } }, e.eacHandles = [], e.getHandle = function (t) { return e.eacHandles[t] }, e.inputHasId = function (e) { return void 0 !== $(e).attr("id") && $(e).attr("id").length > 0 }, e.assignRandomId = function (t) { var n = ""; do { n = "eac-" + Math.floor(1e4 * Math.random()) } while (0 !== $("#" + n).length); elementId = e.consts.getValue("CONTAINER_ID") + n, $(t).attr("id", n) }, e.setHandle = function (t, n) { e.eacHandles[n] = t }, e }((EasyAutocomplete = function (e) { return e.Template = function (e) { var t = { basic: { type: "basic", method: function (e) { return e }, cssClass: "" }, description: { type: "description", fields: { description: "description" }, method: function (e) { return e + " - description" }, cssClass: "eac-description" }, iconLeft: { type: "iconLeft", fields: { icon: "" }, method: function (e) { return e }, cssClass: "eac-icon-left" }, iconRight: { type: "iconRight", fields: { iconSrc: "" }, method: function (e) { return e }, cssClass: "eac-icon-right" }, links: { type: "links", fields: { link: "" }, method: function (e) { return e }, cssClass: "" }, custom: { type: "custom", method: function () { }, cssClass: "" } }; this.getTemplateClass = function (e) { return e && e.type && e.type && t[e.type] ? function () { var n = t[e.type].cssClass; return function () { return n } }() : function () { return "" } }(e), this.build = function (e) { return e && e.type && e.type && t[e.type] ? function (e) { var n, r = e.fields; return "description" === e.type ? (n = t.description.method, "string" == typeof r.description ? n = function (e, t) { return e + " - <span>" + t[r.description] + "</span>" } : "function" == typeof r.description && (n = function (e, t) { return e + " - <span>" + r.description(t) + "</span>" }), n) : "iconRight" === e.type ? ("string" == typeof r.iconSrc ? n = function (e, t) { return e + "<img class='eac-icon' src='" + t[r.iconSrc] + "' />" } : "function" == typeof r.iconSrc && (n = function (e, t) { return e + "<img class='eac-icon' src='" + r.iconSrc(t) + "' />" }), n) : "iconLeft" === e.type ? ("string" == typeof r.iconSrc ? n = function (e, t) { return "<img class='eac-icon' src='" + t[r.iconSrc] + "' />" + e } : "function" == typeof r.iconSrc && (n = function (e, t) { return "<img class='eac-icon' src='" + r.iconSrc(t) + "' />" + e }), n) : "links" === e.type ? ("string" == typeof r.link ? n = function (e, t) { return "<a href='" + t[r.link] + "' >" + e + "</a>" } : "function" == typeof r.link && (n = function (e, t) { return "<a href='" + r.link(t) + "' >" + e + "</a>" }), n) : "custom" === e.type ? e.method : t.basic.method }(e) : t.basic.method }(e) }, e }((EasyAutocomplete = function (e) { return e.proccess = function (t, n, r) { function i(e, n) { return t.get("list").match.caseSensitive || ("string" == typeof e && (e = e.toLowerCase()), n = n.toLowerCase()), t.get("list").match.method(e, n) } e.proccess.match = i; var o = n.data; return function (e) { return t.get("list").sort.enabled && e.sort(t.get("list").sort.method), e }(o = function (e) { return void 0 !== n.maxNumberOfElements && e.length > n.maxNumberOfElements && (e = e.slice(0, n.maxNumberOfElements)), e }(o = function (e, n) { var r = []; if (t.get("list").match.enabled) for (var o = 0, a = e.length; o < a; o += 1)i(t.get("getValue")(e[o]), n) && r.push(e[o]); else r = e; return r }(o, r))) }, e }((EasyAutocomplete = function (e) { return e.ListBuilderService = function (e, t) { function n(t, n) { var r = {}; if (r = "XML" === e.get("dataType").toUpperCase() ? function () { var r, i = {}; return void 0 !== t.xmlElementName && (i.xmlElementName = t.xmlElementName), void 0 !== t.listLocation ? r = t.listLocation : void 0 !== e.get("listLocation") && (r = e.get("listLocation")), void 0 !== r ? "string" == typeof r ? i.data = $(n).find(r) : "function" == typeof r && (i.data = r(n)) : i.data = n, i }() : function () { var e = {}; return void 0 !== t.listLocation ? "string" == typeof t.listLocation ? e.data = n[t.listLocation] : "function" == typeof t.listLocation && (e.data = t.listLocation(n)) : e.data = n, e }(), void 0 !== t.header && (r.header = t.header), void 0 !== t.maxNumberOfElements && (r.maxNumberOfElements = t.maxNumberOfElements), void 0 !== e.get("list").maxNumberOfElements && (r.maxListSize = e.get("list").maxNumberOfElements), void 0 !== t.getValue) if ("string" == typeof t.getValue) { var i = t.getValue; r.getValue = function (e) { return e[i] } } else "function" == typeof t.getValue && (r.getValue = t.getValue); else r.getValue = e.get("getValue"); return r } function r(t) { var n = []; return void 0 === t.xmlElementName && (t.xmlElementName = e.get("xmlElementName")), $(t.data).find(t.xmlElementName).each(function () { n.push(this) }), n } this.init = function (t) { var n = [], r = {}; return r.data = e.get("listLocation")(t), r.getValue = e.get("getValue"), r.maxListSize = e.get("list").maxNumberOfElements, n.push(r), n }, this.updateCategories = function (t, r) { if (e.get("categoriesAssigned")) { t = []; for (var i = 0; i < e.get("categories").length; i += 1) { var o = n(e.get("categories")[i], r); t.push(o) } } return t }, this.convertXml = function (t) { if ("XML" === e.get("dataType").toUpperCase()) for (var n = 0; n < t.length; n += 1)t[n].data = r(t[n]); return t }, this.processData = function (n, r) { for (var i = 0, o = n.length; i < o; i += 1)n[i].data = t(e, n[i], r); return n }, this.checkIfDataExists = function (e) { for (var t = 0, n = e.length; t < n; t += 1)if (void 0 !== e[t].data && e[t].data instanceof Array && e[t].data.length > 0) return !0; return !1 } }, e }((EasyAutocomplete = function (e) { return e.Constants = function () { var e = { CONTAINER_CLASS: "easy-autocomplete-container", CONTAINER_ID: "eac-container-", WRAPPER_CSS_CLASS: "easy-autocomplete" }; this.getValue = function (t) { return e[t] } }, e }((EasyAutocomplete = function (e) { return e.Logger = function () { this.error = function (e) { console.log("ERROR: " + e) }, this.warning = function (e) { console.log("WARNING: " + e) } }, e }((EasyAutocomplete = function (e) { return e.Configuration = function (e) { function t(e, t) { !function t(n, i) { for (var o in i) void 0 === n[o] && e.log("Property '" + o + "' does not exist in EasyAutocomplete options API."), "object" == typeof n[o] && -1 === $.inArray(o, r) && t(n[o], i[o]) }(n, t) } var n = { data: "list-required", url: "list-required", dataType: "json", listLocation: function (e) { return e }, xmlElementName: "", getValue: function (e) { return e }, autocompleteOff: !0, placeholder: !1, ajaxCallback: function () { }, matchResponseProperty: !1, list: { sort: { enabled: !1, method: function (e, t) { return (e = n.getValue(e)) < (t = n.getValue(t)) ? -1 : e > t ? 1 : 0 } }, maxNumberOfElements: 6, hideOnEmptyPhrase: !0, match: { enabled: !1, caseSensitive: !1, method: function (e, t) { return e.search(t) > -1 } }, showAnimation: { type: "normal", time: 400, callback: function () { } }, hideAnimation: { type: "normal", time: 400, callback: function () { } }, onClickEvent: function () { }, onSelectItemEvent: function () { }, onLoadEvent: function () { }, onChooseEvent: function () { }, onKeyEnterEvent: function () { }, onMouseOverEvent: function () { }, onMouseOutEvent: function () { }, onShowListEvent: function () { }, onHideListEvent: function () { } }, highlightPhrase: !0, theme: "", cssClasses: "", minCharNumber: 0, requestDelay: 0, adjustWidth: !0, ajaxSettings: {}, preparePostData: function (e, t) { return e }, loggerEnabled: !0, template: "", categoriesAssigned: !1, categories: [{ maxNumberOfElements: 4 }] }, r = ["ajaxSettings", "template"]; this.get = function (e) { return n[e] }, this.equals = function (e, t) { return !(!function (e) { return void 0 !== n[e] && null !== n[e] }(e) || n[e] !== t) }, this.checkDataUrlProperties = function () { return !("list-required" === n.url && "list-required" === n.data) }, this.checkRequiredProperties = function () { for (var e in n) if ("required" === n[e]) return logger.error("Option " + e + " must be defined"), !1; return !0 }, this.printPropertiesThatDoesntExist = function (e, n) { t(e, n) }, function () { if ("xml" === e.dataType && (e.getValue || (e.getValue = function (e) { return $(e).text() }), e.list || (e.list = {}), e.list.sort || (e.list.sort = {}), e.list.sort.method = function (t, n) { return (t = e.getValue(t)) < (n = e.getValue(n)) ? -1 : t > n ? 1 : 0 }, e.list.match || (e.list.match = {}), e.list.match.method = function (e, t) { return e.search(t) > -1 }), void 0 !== e.categories && e.categories instanceof Array) { for (var t = [], r = 0, i = e.categories.length; r < i; r += 1) { var o = e.categories[r]; for (var a in n.categories[0]) void 0 === o[a] && (o[a] = n.categories[0][a]); t.push(o) } e.categories = t } }(), !0 === (n = function e(t, n) { var r = t || {}; for (var i in t) void 0 !== n[i] && null !== n[i] && ("object" != typeof n[i] || n[i] instanceof Array ? r[i] = n[i] : e(t[i], n[i])); return void 0 !== n.data && null !== n.data && "object" == typeof n.data && (r.data = n.data), r }(n, e)).loggerEnabled && t(console, e), void 0 !== e.ajaxSettings && "object" == typeof e.ajaxSettings ? n.ajaxSettings = e.ajaxSettings : n.ajaxSettings = {}, function () { if ("list-required" !== n.url && "function" != typeof n.url) { var t = n.url; n.url = function () { return t } } void 0 !== n.ajaxSettings.url && "function" != typeof n.ajaxSettings.url && (t = n.ajaxSettings.url, n.ajaxSettings.url = function () { return t }); if ("string" == typeof n.listLocation) { var r = n.listLocation; "XML" === n.dataType.toUpperCase() ? n.listLocation = function (e) { return $(e).find(r) } : n.listLocation = function (e) { return e[r] } } if ("string" == typeof n.getValue) { var i = n.getValue; n.getValue = function (e) { return e[i] } } void 0 !== e.categories && (n.categoriesAssigned = !0) }() }, e }(EasyAutocomplete || {})) || {})) || {})) || {})) || {})) || {})) || {}); !function (e) { e.fn.easyAutocomplete = function (t) { return this.each(function () { var n = e(this), r = new EasyAutocomplete.main(n, t); EasyAutocomplete.inputHasId(n) || EasyAutocomplete.assignRandomId(n), r.init(), EasyAutocomplete.setHandle(r, n.attr("id")) }) }, e.fn.getSelectedItemIndex = function () { var t = e(this).attr("id"); return void 0 !== t ? EasyAutocomplete.getHandle(t).getSelectedItemIndex() : -1 }, e.fn.getItems = function () { var t = e(this).attr("id"); return void 0 !== t ? EasyAutocomplete.getHandle(t).getItems() : -1 }, e.fn.getItemData = function (t) { var n = e(this).attr("id"); return void 0 !== n && t > -1 ? EasyAutocomplete.getHandle(n).getItemData(t) : -1 }, e.fn.getSelectedItemData = function () { var t = e(this).attr("id"); return void 0 !== t ? EasyAutocomplete.getHandle(t).getSelectedItemData() : -1 } }(jQuery); var $jscomp = $jscomp || {}; $jscomp.scope = {}, $jscomp.findInternal = function (e, t, n) { e instanceof String && (e = String(e)); for (var r = e.length, i = 0; i < r; i++) { var o = e[i]; if (t.call(n, o, i, e)) return { i: i, v: o } } return { i: -1, v: void 0 } }, $jscomp.ASSUME_ES5 = !1, $jscomp.ASSUME_NO_NATIVE_MAP = !1, $jscomp.ASSUME_NO_NATIVE_SET = !1, $jscomp.SIMPLE_FROUND_POLYFILL = !1, $jscomp.ISOLATE_POLYFILLS = !1, $jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (e, t, n) { return e == Array.prototype || e == Object.prototype ? e : (e[t] = n.value, e) }, $jscomp.getGlobal = function (e) { e = ["object" == typeof globalThis && globalThis, e, "object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global]; for (var t = 0; t < e.length; ++t) { var n = e[t]; if (n && n.Math == Math) return n } throw Error("Cannot find global object") }, $jscomp.global = $jscomp.getGlobal(this), $jscomp.IS_SYMBOL_NATIVE = "function" == typeof Symbol && "symbol" == typeof Symbol("x"), $jscomp.TRUST_ES6_POLYFILLS = !$jscomp.ISOLATE_POLYFILLS || $jscomp.IS_SYMBOL_NATIVE, $jscomp.polyfills = {}, $jscomp.propertyToPolyfillSymbol = {}, $jscomp.POLYFILL_PREFIX = "$jscp$"; var mymap, popup, marker, $jscomp$lookupPolyfilledValue = function (e, t) { var n = $jscomp.propertyToPolyfillSymbol[t]; return null == n ? e[t] : void 0 !== (n = e[n]) ? n : e[t] }; function sticky_relocate() { if ($("#sticky-anchor").length > 0) { var e = $(window).scrollTop(), t = $("#footer").offset().top, n = $("#sticky-anchor").offset().top, r = $("#sticky").height(); e + r > t - 80 ? $("#sticky").css({ top: -1 * (e + r - t + 80) }) : e > n ? ($("#sticky").addClass("stick"), $("#sticky").css({ top: 70 })) : $("#sticky").removeClass("stick") } } function leafletMapReady(e, t) { "success" == t && $("#mapholder").length > 0 && (mymap = L.map("mapholder").setView([$("#ctl00_hdlat").val(), $("#ctl00_hdlat").val()], 8), L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { attribution: 'Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', maxZoom: 12 }).addTo(mymap), marker = L.marker([$("#ctl00_hdlat").val(), $("#ctl00_hdlat").val()]), popup = L.popup(), marker.addTo(mymap), mymap.on("click", onMapClick)) } function onMapClick(e) { popup.setLatLng(e.latlng).setContent("<h5>Location: " + e.latlng.lat.toFixed(4) + "," + e.latlng.lng.toFixed(4) + "<h5><p><a href='/v2/weather.aspx?q=" + e.latlng.lat.toFixed(4) + "," + e.latlng.lng.toFixed(4) + "'>Show Weather</a></p>").openOn(mymap), marker.setLatLng(e.latlng) } function loadGTag(e, t) { "success" == t && (window.dataLayer = window.dataLayer || [], gtag("consent", "update", { ad_storage: "granted", analytics_storage: "granted" }), gtag("js", new Date), gtag("config", "G-N8BNVLHSHY"), gtag("config", "UA-10779684-1")) } function gtag() { dataLayer.push(arguments) } function handleLocationError(e, t, n) { t.setPosition(n), t.setContent(e ? "Error: The Geolocation service failed." : "Error: Your browser doesn't support geolocation."), t.open(map) } function loadGAds(e, t) { "success" === t && (window.googletag = window.googletag || { cmd: [] }, googletag.cmd.push(function () { var e = googletag.defineOutOfPageSlot("/147246189,4854540/worldweatheronline.com_interstitial", googletag.enums.OutOfPageFormat.INTERSTITIAL); e && e.addService(googletag.pubads()), googletag.pubads().enableSingleRequest(), googletag.enableServices(), googletag.display(e) })) } $jscomp.polyfill = function (e, t, n, r) { t && ($jscomp.ISOLATE_POLYFILLS ? $jscomp.polyfillIsolated(e, t, n, r) : $jscomp.polyfillUnisolated(e, t, n, r)) }, $jscomp.polyfillUnisolated = function (e, t, n, r) { for (n = $jscomp.global, e = e.split("."), r = 0; r < e.length - 1; r++) { var i = e[r]; if (!(i in n)) return; n = n[i] } (t = t(r = n[e = e[e.length - 1]])) != r && null != t && $jscomp.defineProperty(n, e, { configurable: !0, writable: !0, value: t }) }, $jscomp.polyfillIsolated = function (e, t, n, r) { var i = e.split("."); e = 1 === i.length, r = i[0], r = !e && r in $jscomp.polyfills ? $jscomp.polyfills : $jscomp.global; for (var o = 0; o < i.length - 1; o++) { var a = i[o]; if (!(a in r)) return; r = r[a] } i = i[i.length - 1], null != (t = t(n = $jscomp.IS_SYMBOL_NATIVE && "es6" === n ? r[i] : null)) && (e ? $jscomp.defineProperty($jscomp.polyfills, i, { configurable: !0, writable: !0, value: t }) : t !== n && ($jscomp.propertyToPolyfillSymbol[i] = $jscomp.IS_SYMBOL_NATIVE ? $jscomp.global.Symbol(i) : $jscomp.POLYFILL_PREFIX + i, i = $jscomp.propertyToPolyfillSymbol[i], $jscomp.defineProperty(r, i, { configurable: !0, writable: !0, value: t }))) }, $jscomp.polyfill("Array.prototype.find", function (e) { return e || function (e, t) { return $jscomp.findInternal(this, e, t).v } }, "es6", "es3"), function (e) { "function" == typeof define && define.amd ? define(["jquery"], function (t) { return e(t, window, document) }) : "object" == typeof exports ? module.exports = function (t, n) { return t || (t = window), n || (n = "undefined" != typeof window ? require("jquery") : require("jquery")(t)), e(n, t, t.document) } : e(jQuery, window, document) }(function (e, t, n, r) { function i(t) { var n, r, o = {}; e.each(t, function (e, a) { (n = e.match(/^([^A-Z]+?)([A-Z])/)) && -1 !== "a aa ai ao as b fn i m o s ".indexOf(n[1] + " ") && (r = e.replace(n[0], n[2].toLowerCase()), o[r] = e, "o" === n[1] && i(t[e])) }), t._hungarianMap = o } function o(t, n, a) { var s; t._hungarianMap || i(t), e.each(n, function (i, l) { (s = t._hungarianMap[i]) === r || !a && n[s] !== r || ("o" === s.charAt(0) ? (n[s] || (n[s] = {}), e.extend(!0, n[s], n[i]), o(t[s], n[s], a)) : n[s] = n[i]) }) } function a(e) { var t = Ve.defaults.oLanguage, n = t.sDecimal; if (n && Me(n), e) { var r = e.sZeroRecords; !e.sEmptyTable && r && "No data available in table" === t.sEmptyTable && je(e, e, "sZeroRecords", "sEmptyTable"), !e.sLoadingRecords && r && "Loading..." === t.sLoadingRecords && je(e, e, "sZeroRecords", "sLoadingRecords"), e.sInfoThousands && (e.sThousands = e.sInfoThousands), (e = e.sDecimal) && n !== e && Me(e) } } function s(e) { if (ct(e, "ordering", "bSort"), ct(e, "orderMulti", "bSortMulti"), ct(e, "orderClasses", "bSortClasses"), ct(e, "orderCellsTop", "bSortCellsTop"), ct(e, "order", "aaSorting"), ct(e, "orderFixed", "aaSortingFixed"), ct(e, "paging", "bPaginate"), ct(e, "pagingType", "sPaginationType"), ct(e, "pageLength", "iDisplayLength"), ct(e, "searching", "bFilter"), "boolean" == typeof e.sScrollX && (e.sScrollX = e.sScrollX ? "100%" : ""), "boolean" == typeof e.scrollX && (e.scrollX = e.scrollX ? "100%" : ""), e = e.aoSearchCols) for (var t = 0, n = e.length; t < n; t++)e[t] && o(Ve.models.oSearch, e[t]) } function l(e) { ct(e, "orderable", "bSortable"), ct(e, "orderData", "aDataSort"), ct(e, "orderSequence", "asSorting"), ct(e, "orderDataType", "sortDataType"); var t = e.aDataSort; "number" != typeof t || Array.isArray(t) || (e.aDataSort = [t]) } function c(n) { if (!Ve.__browser) { var r = {}; Ve.__browser = r; var i = e("<div/>").css({ position: "fixed", top: 0, left: -1 * e(t).scrollLeft(), height: 1, width: 1, overflow: "hidden" }).append(e("<div/>").css({ position: "absolute", top: 1, left: 1, width: 100, overflow: "scroll" }).append(e("<div/>").css({ width: "100%", height: 10 }))).appendTo("body"), o = i.children(), a = o.children(); r.barWidth = o[0].offsetWidth - o[0].clientWidth, r.bScrollOversize = 100 === a[0].offsetWidth && 100 !== o[0].clientWidth, r.bScrollbarLeft = 1 !== Math.round(a.offset().left), r.bBounding = !!i[0].getBoundingClientRect().width, i.remove() } e.extend(n.oBrowser, Ve.__browser), n.oScroll.iBarWidth = Ve.__browser.barWidth } function u(e, t, n, i, o, a) { var s = !1; if (n !== r) { var l = n; s = !0 } for (; i !== o;)e.hasOwnProperty(i) && (l = s ? t(l, e[i], i, e) : e[i], s = !0, i += a); return l } function f(t, r) { var i = Ve.defaults.column, o = t.aoColumns.length; i = e.extend({}, Ve.models.oColumn, i, { nTh: r || n.createElement("th"), sTitle: i.sTitle ? i.sTitle : r ? r.innerHTML : "", aDataSort: i.aDataSort ? i.aDataSort : [o], mData: i.mData ? i.mData : o, idx: o }), t.aoColumns.push(i), (i = t.aoPreSearchCols)[o] = e.extend({}, Ve.models.oSearch, i[o]), d(t, o, e(r).data()) } function d(t, n, i) { n = t.aoColumns[n]; var a = t.oClasses, s = e(n.nTh); if (!n.sWidthOrig) { n.sWidthOrig = s.attr("width") || null; var c = (s.attr("style") || "").match(/width:\s*(\d+[pxem%]+)/); c && (n.sWidthOrig = c[1]) } i !== r && null !== i && (l(i), o(Ve.defaults.column, i, !0), i.mDataProp === r || i.mData || (i.mData = i.mDataProp), i.sType && (n._sManualType = i.sType), i.className && !i.sClass && (i.sClass = i.className), i.sClass && s.addClass(i.sClass), e.extend(n, i), je(n, i, "sWidth", "sWidthOrig"), i.iDataSort !== r && (n.aDataSort = [i.iDataSort]), je(n, i, "aDataSort")); var u = n.mData, f = C(u), d = n.mRender ? C(n.mRender) : null; i = function (e) { return "string" == typeof e && -1 !== e.indexOf("@") }, n._bAttrSrc = e.isPlainObject(u) && (i(u.sort) || i(u.type) || i(u.filter)), n._setter = null, n.fnGetData = function (e, t, n) { var i = f(e, t, r, n); return d && t ? d(i, t, e, n) : i }, n.fnSetData = function (e, t, n) { return D(u)(e, t, n) }, "number" != typeof u && (t._rowReadObject = !0), t.oFeatures.bSort || (n.bSortable = !1, s.addClass(a.sSortableNone)), t = -1 !== e.inArray("asc", n.asSorting), i = -1 !== e.inArray("desc", n.asSorting), n.bSortable && (t || i) ? t && !i ? (n.sSortingClass = a.sSortableAsc, n.sSortingClassJUI = a.sSortJUIAscAllowed) : !t && i ? (n.sSortingClass = a.sSortableDesc, n.sSortingClassJUI = a.sSortJUIDescAllowed) : (n.sSortingClass = a.sSortable, n.sSortingClassJUI = a.sSortJUI) : (n.sSortingClass = a.sSortableNone, n.sSortingClassJUI = "") } function h(e) { if (!1 !== e.oFeatures.bAutoWidth) { var t = e.aoColumns; ge(e); for (var n = 0, r = t.length; n < r; n++)t[n].nTh.style.width = t[n].sWidth } "" === (t = e.oScroll).sY && "" === t.sX || he(e), Oe(e, null, "column-sizing", [e]) } function p(e, t) { return "number" == typeof (e = v(e, "bVisible"))[t] ? e[t] : null } function g(t, n) { return t = v(t, "bVisible"), -1 !== (n = e.inArray(n, t)) ? n : null } function m(t) { var n = 0; return e.each(t.aoColumns, function (t, r) { r.bVisible && "none" !== e(r.nTh).css("display") && n++ }), n } function v(t, n) { var r = []; return e.map(t.aoColumns, function (e, t) { e[n] && r.push(t) }), r } function y(e) { var t, n, i, o = e.aoColumns, a = e.aoData, s = Ve.ext.type.detect, l = 0; for (t = o.length; l < t; l++) { var c = o[l], u = []; if (!c.sType && c._sManualType) c.sType = c._sManualType; else if (!c.sType) { var f = 0; for (n = s.length; f < n; f++) { var d = 0; for (i = a.length; d < i; d++) { u[d] === r && (u[d] = S(e, d, l, "type")); var h = s[f](u[d], e); if (!h && f !== s.length - 1) break; if ("html" === h && !Ke(u[d])) break } if (h) { c.sType = h; break } } c.sType || (c.sType = "string") } } } function b(t, n, i, o) { var a, s, l, c = t.aoColumns; if (n) for (a = n.length - 1; 0 <= a; a--) { var u = n[a], d = u.targets !== r ? u.targets : u.aTargets; Array.isArray(d) || (d = [d]); var h = 0; for (s = d.length; h < s; h++)if ("number" == typeof d[h] && 0 <= d[h]) { for (; c.length <= d[h];)f(t); o(d[h], u) } else if ("number" == typeof d[h] && 0 > d[h]) o(c.length + d[h], u); else if ("string" == typeof d[h]) { var p = 0; for (l = c.length; p < l; p++)("_all" == d[h] || e(c[p].nTh).hasClass(d[h])) && o(p, u) } } if (i) for (a = 0, t = i.length; a < t; a++)o(a, i[a]) } function _(t, n, i, o) { var a = t.aoData.length, s = e.extend(!0, {}, Ve.models.oRow, { src: i ? "dom" : "data", idx: a }); s._aData = n, t.aoData.push(s); for (var l = t.aoColumns, c = 0, u = l.length; c < u; c++)l[c].sType = null; return t.aiDisplayMaster.push(a), (n = t.rowIdFn(n)) !== r && (t.aIds[n] = s), !i && t.oFeatures.bDeferRender || N(t, a, i, o), a } function w(t, n) { var r; return n instanceof e || (n = e(n)), n.map(function (e, n) { return r = j(t, n), _(t, r.data, n, r.cells) }) } function S(e, t, n, i) { var o = e.iDraw, a = e.aoColumns[n], s = e.aoData[t]._aData, l = a.sDefaultContent, c = a.fnGetData(s, i, { settings: e, row: t, col: n }); if (c === r) return e.iDrawError != o && null === l && (ke(e, 0, "Requested unknown parameter " + ("function" == typeof a.mData ? "{function}" : "'" + a.mData + "'") + " for row " + t + ", column " + n, 4), e.iDrawError = o), l; if (c !== s && null !== c || null === l || i === r) { if ("function" == typeof c) return c.call(s) } else c = l; return null === c && "display" == i ? "" : c } function T(e, t, n, r) { e.aoColumns[n].fnSetData(e.aoData[t]._aData, r, { settings: e, row: t, col: n }) } function x(t) { return e.map(t.match(/(\\.|[^\.])+/g) || [""], function (e) { return e.replace(/\\\./g, ".") }) } function C(t) { if (e.isPlainObject(t)) { var n = {}; return e.each(t, function (e, t) { t && (n[e] = C(t)) }), function (e, t, i, o) { var a = n[t] || n._; return a !== r ? a(e, t, i, o) : e } } if (null === t) return function (e) { return e }; if ("function" == typeof t) return function (e, n, r, i) { return t(e, n, r, i) }; if ("string" != typeof t || -1 === t.indexOf(".") && -1 === t.indexOf("[") && -1 === t.indexOf("(")) return function (e, n) { return e[t] }; var i = function (e, t, n) { if ("" !== n) for (var o = x(n), a = 0, s = o.length; a < s; a++) { n = o[a].match(ut); var l = o[a].match(ft); if (n) { if (o[a] = o[a].replace(ut, ""), "" !== o[a] && (e = e[o[a]]), l = [], o.splice(0, a + 1), o = o.join("."), Array.isArray(e)) for (a = 0, s = e.length; a < s; a++)l.push(i(e[a], t, o)); e = "" === (e = n[0].substring(1, n[0].length - 1)) ? l : l.join(e); break } if (l) o[a] = o[a].replace(ft, ""), e = e[o[a]](); else { if (null === e || e[o[a]] === r) return r; e = e[o[a]] } } return e }; return function (e, n) { return i(e, n, t) } } function D(t) { if (e.isPlainObject(t)) return D(t._); if (null === t) return function () { }; if ("function" == typeof t) return function (e, n, r) { t(e, "set", n, r) }; if ("string" != typeof t || -1 === t.indexOf(".") && -1 === t.indexOf("[") && -1 === t.indexOf("(")) return function (e, n) { e[t] = n }; var n = function (e, t, i) { for (var o, a, s = (i = x(i))[i.length - 1], l = 0, c = i.length - 1; l < c; l++) { if ("__proto__" === i[l] || "constructor" === i[l]) throw Error("Cannot set prototype values"); if (o = i[l].match(ut), a = i[l].match(ft), o) { if (i[l] = i[l].replace(ut, ""), e[i[l]] = [], (s = i.slice()).splice(0, l + 1), o = s.join("."), Array.isArray(t)) for (a = 0, c = t.length; a < c; a++)n(s = {}, t[a], o), e[i[l]].push(s); else e[i[l]] = t; return } a && (i[l] = i[l].replace(ft, ""), e = e[i[l]](t)), null !== e[i[l]] && e[i[l]] !== r || (e[i[l]] = {}), e = e[i[l]] } s.match(ft) ? e[s.replace(ft, "")](t) : e[s.replace(ut, "")] = t }; return function (e, r) { return n(e, r, t) } } function E(e) { return rt(e.aoData, "_aData") } function A(e) { e.aoData.length = 0, e.aiDisplayMaster.length = 0, e.aiDisplay.length = 0, e.aIds = {} } function I(e, t, n) { for (var i = -1, o = 0, a = e.length; o < a; o++)e[o] == t ? i = o : e[o] > t && e[o]--; -1 != i && n === r && e.splice(i, 1) } function k(e, t, n, i) { var o, a = e.aoData[t], s = function (n, r) { for (; n.childNodes.length;)n.removeChild(n.firstChild); n.innerHTML = S(e, t, r, "display") }; if ("dom" !== n && (n && "auto" !== n || "dom" !== a.src)) { var l = a.anCells; if (l) if (i !== r) s(l[i], i); else for (n = 0, o = l.length; n < o; n++)s(l[n], n) } else a._aData = j(e, a, i, i === r ? r : a._aData).data; if (a._aSortData = null, a._aFilterData = null, s = e.aoColumns, i !== r) s[i].sType = null; else { for (n = 0, o = s.length; n < o; n++)s[n].sType = null; L(e, a) } } function j(e, t, n, i) { var o, a, s = [], l = t.firstChild, c = 0, u = e.aoColumns, f = e._rowReadObject; i = i !== r ? i : f ? {} : []; var d = function (e, t) { if ("string" == typeof e) { var n = e.indexOf("@"); -1 !== n && (n = e.substring(n + 1), D(e)(i, t.getAttribute(n))) } }, h = function (e) { n !== r && n !== c || (o = u[c], a = e.innerHTML.trim(), o && o._bAttrSrc ? (D(o.mData._)(i, a), d(o.mData.sort, e), d(o.mData.type, e), d(o.mData.filter, e)) : f ? (o._setter || (o._setter = D(o.mData)), o._setter(i, a)) : i[c] = a), c++ }; if (l) for (; l;) { var p = l.nodeName.toUpperCase(); "TD" != p && "TH" != p || (h(l), s.push(l)), l = l.nextSibling } else for (l = 0, p = (s = t.anCells).length; l < p; l++)h(s[l]); return (t = t.firstChild ? t : t.nTr) && (t = t.getAttribute("id")) && D(e.rowId)(i, t), { data: i, cells: s } } function N(t, r, i, o) { var a, s, l = t.aoData[r], c = l._aData, u = []; if (null === l.nTr) { var f = i || n.createElement("tr"); l.nTr = f, l.anCells = u, f._DT_RowIndex = r, L(t, l); var d = 0; for (a = t.aoColumns.length; d < a; d++) { var h = t.aoColumns[d]; (l = (s = !i) ? n.createElement(h.sCellType) : o[d])._DT_CellIndex = { row: r, column: d }, u.push(l), !s && (!h.mRender && h.mData === d || e.isPlainObject(h.mData) && h.mData._ === d + ".display") || (l.innerHTML = S(t, r, d, "display")), h.sClass && (l.className += " " + h.sClass), h.bVisible && !i ? f.appendChild(l) : !h.bVisible && i && l.parentNode.removeChild(l), h.fnCreatedCell && h.fnCreatedCell.call(t.oInstance, l, S(t, r, d), c, r, d) } Oe(t, "aoRowCreatedCallback", null, [f, c, r, u]) } } function L(t, n) { var r = n.nTr, i = n._aData; r && ((t = t.rowIdFn(i)) && (r.id = t), i.DT_RowClass && (t = i.DT_RowClass.split(" "), n.__rowc = n.__rowc ? st(n.__rowc.concat(t)) : t, e(r).removeClass(n.__rowc.join(" ")).addClass(i.DT_RowClass)), i.DT_RowAttr && e(r).attr(i.DT_RowAttr), i.DT_RowData && e(r).data(i.DT_RowData)) } function P(t) { var n, r, i = t.nTHead, o = t.nTFoot, a = 0 === e("th, td", i).length, s = t.oClasses, l = t.aoColumns; a && (r = e("<tr/>").appendTo(i)); var c = 0; for (n = l.length; c < n; c++) { var u = l[c], f = e(u.nTh).addClass(u.sClass); a && f.appendTo(r), t.oFeatures.bSort && (f.addClass(u.sSortingClass), !1 !== u.bSortable && (f.attr("tabindex", t.iTabIndex).attr("aria-controls", t.sTableId), xe(t, u.nTh, c))), u.sTitle != f[0].innerHTML && f.html(u.sTitle), Fe(t, "header")(t, f, u, s) } if (a && q(t.aoHeader, i), e(i).children("tr").attr("role", "row"), e(i).children("tr").children("th, td").addClass(s.sHeaderTH), e(o).children("tr").children("th, td").addClass(s.sFooterTH), null !== o) for (c = 0, n = (t = t.aoFooter[0]).length; c < n; c++)(u = l[c]).nTf = t[c].cell, u.sClass && e(u.nTf).addClass(u.sClass) } function O(t, n, i) { var o, a, s = [], l = [], c = t.aoColumns.length; if (n) { i === r && (i = !1); var u = 0; for (o = n.length; u < o; u++) { for (s[u] = n[u].slice(), s[u].nTr = n[u].nTr, a = c - 1; 0 <= a; a--)t.aoColumns[a].bVisible || i || s[u].splice(a, 1); l.push([]) } for (u = 0, o = s.length; u < o; u++) { if (t = s[u].nTr) for (; a = t.firstChild;)t.removeChild(a); for (a = 0, n = s[u].length; a < n; a++) { var f = c = 1; if (l[u][a] === r) { for (t.appendChild(s[u][a].cell), l[u][a] = 1; s[u + c] !== r && s[u][a].cell == s[u + c][a].cell;)l[u + c][a] = 1, c++; for (; s[u][a + f] !== r && s[u][a].cell == s[u][a + f].cell;) { for (i = 0; i < c; i++)l[u + i][a + f] = 1; f++ } e(s[u][a].cell).attr("rowspan", c).attr("colspan", f) } } } } } function R(t, n) { var i = Oe(t, "aoPreDrawCallback", "preDraw", [t]); if (-1 !== e.inArray(!1, i)) fe(t, !1); else { i = []; var o = 0, a = t.asStripeClasses, s = a.length, l = t.oLanguage, c = t.iInitDisplayStart, u = "ssp" == He(t), f = t.aiDisplay; t.bDrawing = !0, c !== r && -1 !== c && (t._iDisplayStart = u ? c : c >= t.fnRecordsDisplay() ? 0 : c, t.iInitDisplayStart = -1), c = t._iDisplayStart; var d = t.fnDisplayEnd(); if (t.bDeferLoading) t.bDeferLoading = !1, t.iDraw++, fe(t, !1); else if (u) { if (!t.bDestroying && !n) return void W(t) } else t.iDraw++; if (0 !== f.length) for (n = u ? t.aoData.length : d, l = u ? 0 : c; l < n; l++) { u = f[l]; var h = t.aoData[u]; null === h.nTr && N(t, u); var p = h.nTr; if (0 !== s) { var g = a[o % s]; h._sRowStripe != g && (e(p).removeClass(h._sRowStripe).addClass(g), h._sRowStripe = g) } Oe(t, "aoRowCallback", null, [p, h._aData, o, l, u]), i.push(p), o++ } else o = l.sZeroRecords, 1 == t.iDraw && "ajax" == He(t) ? o = l.sLoadingRecords : l.sEmptyTable && 0 === t.fnRecordsTotal() && (o = l.sEmptyTable), i[0] = e("<tr/>", { class: s ? a[0] : "" }).append(e("<td />", { valign: "top", colSpan: m(t), class: t.oClasses.sRowEmpty }).html(o))[0]; Oe(t, "aoHeaderCallback", "header", [e(t.nTHead).children("tr")[0], E(t), c, d, f]), Oe(t, "aoFooterCallback", "footer", [e(t.nTFoot).children("tr")[0], E(t), c, d, f]), (a = e(t.nTBody)).children().detach(), a.append(e(i)), Oe(t, "aoDrawCallback", "draw", [t]), t.bSorted = !1, t.bFiltered = !1, t.bDrawing = !1 } } function F(e, t) { var n = e.oFeatures, r = n.bFilter; n.bSort && we(e), r ? z(e, e.oPreviousSearch) : e.aiDisplay = e.aiDisplayMaster.slice(), !0 !== t && (e._iDisplayStart = 0), e._drawHold = t, R(e), e._drawHold = !1 } function H(t) { var n = t.oClasses, r = e(t.nTable); r = e("<div/>").insertBefore(r); var i = t.oFeatures, o = e("<div/>", { id: t.sTableId + "_wrapper", class: n.sWrapper + (t.nTFoot ? "" : " " + n.sNoFooter) }); t.nHolding = r[0], t.nTableWrapper = o[0], t.nTableReinsertBefore = t.nTable.nextSibling; for (var a, s, l, c, u, f, d = t.sDom.split(""), h = 0; h < d.length; h++) { if (a = null, "<" == (s = d[h])) { if (l = e("<div/>")[0], "'" == (c = d[h + 1]) || '"' == c) { for (u = "", f = 2; d[h + f] != c;)u += d[h + f], f++; "H" == u ? u = n.sJUIHeader : "F" == u && (u = n.sJUIFooter), -1 != u.indexOf(".") ? (c = u.split("."), l.id = c[0].substr(1, c[0].length - 1), l.className = c[1]) : "#" == u.charAt(0) ? l.id = u.substr(1, u.length - 1) : l.className = u, h += f } o.append(l), o = e(l) } else if (">" == s) o = o.parent(); else if ("l" == s && i.bPaginate && i.bLengthChange) a = se(t); else if ("f" == s && i.bFilter) a = X(t); else if ("r" == s && i.bProcessing) a = ue(t); else if ("t" == s) a = de(t); else if ("i" == s && i.bInfo) a = te(t); else if ("p" == s && i.bPaginate) a = le(t); else if (0 !== Ve.ext.feature.length) for (f = 0, c = (l = Ve.ext.feature).length; f < c; f++)if (s == l[f].cFeature) { a = l[f].fnInit(t); break } a && ((l = t.aanFeatures)[s] || (l[s] = []), l[s].push(a), o.append(a)) } r.replaceWith(o), t.nHolding = null } function q(t, n) { var r, i, o; n = e(n).children("tr"), t.splice(0, t.length); var a = 0; for (o = n.length; a < o; a++)t.push([]); for (a = 0, o = n.length; a < o; a++) { var s = n[a]; for (r = s.firstChild; r;) { if ("TD" == r.nodeName.toUpperCase() || "TH" == r.nodeName.toUpperCase()) { var l = 1 * r.getAttribute("colspan"), c = 1 * r.getAttribute("rowspan"); l = l && 0 !== l && 1 !== l ? l : 1, c = c && 0 !== c && 1 !== c ? c : 1; var u = 0; for (i = t[a]; i[u];)u++; var f = u, d = 1 === l; for (i = 0; i < l; i++)for (u = 0; u < c; u++)t[a + u][f + i] = { cell: r, unique: d }, t[a + u].nTr = s } r = r.nextSibling } } } function M(e, t, n) { var r = []; n || (n = e.aoHeader, t && q(n = [], t)), t = 0; for (var i = n.length; t < i; t++)for (var o = 0, a = n[t].length; o < a; o++)!n[t][o].unique || r[o] && e.bSortCellsTop || (r[o] = n[t][o].cell); return r } function $(t, n, r) { if (Oe(t, "aoServerParams", "serverParams", [n]), n && Array.isArray(n)) { var i = {}, o = /(.*?)\[\]$/; e.each(n, function (e, t) { (e = t.name.match(o)) ? (e = e[0], i[e] || (i[e] = []), i[e].push(t.value)) : i[t.name] = t.value }), n = i } var a = t.ajax, s = t.oInstance, l = function (e) { Oe(t, null, "xhr", [t, e, t.jqXHR]), r(e) }; if (e.isPlainObject(a) && a.data) { var c = a.data, u = "function" == typeof c ? c(n, t) : c; n = "function" == typeof c && u ? u : e.extend(!0, n, u), delete a.data } u = { data: n, success: function (e) { var n = e.error || e.sError; n && ke(t, 0, n), t.json = e, l(e) }, dataType: "json", cache: !1, type: t.sServerMethod, error: function (n, r, i) { i = Oe(t, null, "xhr", [t, null, t.jqXHR]), -1 === e.inArray(!0, i) && ("parsererror" == r ? ke(t, 0, "Invalid JSON response", 1) : 4 === n.readyState && ke(t, 0, "Ajax error", 7)), fe(t, !1) } }, t.oAjaxData = n, Oe(t, null, "preXhr", [t, n]), t.fnServerData ? t.fnServerData.call(s, t.sAjaxSource, e.map(n, function (e, t) { return { name: t, value: e } }), l, t) : t.sAjaxSource || "string" == typeof a ? t.jqXHR = e.ajax(e.extend(u, { url: a || t.sAjaxSource })) : "function" == typeof a ? t.jqXHR = a.call(s, n, l, t) : (t.jqXHR = e.ajax(e.extend(u, a)), a.data = c) } function W(e) { e.iDraw++, fe(e, !0), $(e, B(e), function (t) { U(e, t) }) } function B(t) { var n = t.aoColumns, r = n.length, i = t.oFeatures, o = t.oPreviousSearch, a = t.aoPreSearchCols, s = [], l = _e(t), c = t._iDisplayStart, u = !1 !== i.bPaginate ? t._iDisplayLength : -1, f = function (e, t) { s.push({ name: e, value: t }) }; f("sEcho", t.iDraw), f("iColumns", r), f("sColumns", rt(n, "sName").join(",")), f("iDisplayStart", c), f("iDisplayLength", u); var d = { draw: t.iDraw, columns: [], order: [], start: c, length: u, search: { value: o.sSearch, regex: o.bRegex } }; for (c = 0; c < r; c++) { var h = n[c], p = a[c]; u = "function" == typeof h.mData ? "function" : h.mData, d.columns.push({ data: u, name: h.sName, searchable: h.bSearchable, orderable: h.bSortable, search: { value: p.sSearch, regex: p.bRegex } }), f("mDataProp_" + c, u), i.bFilter && (f("sSearch_" + c, p.sSearch), f("bRegex_" + c, p.bRegex), f("bSearchable_" + c, h.bSearchable)), i.bSort && f("bSortable_" + c, h.bSortable) } return i.bFilter && (f("sSearch", o.sSearch), f("bRegex", o.bRegex)), i.bSort && (e.each(l, function (e, t) { d.order.push({ column: t.col, dir: t.dir }), f("iSortCol_" + e, t.col), f("sSortDir_" + e, t.dir) }), f("iSortingCols", l.length)), null === (n = Ve.ext.legacy.ajax) ? t.sAjaxSource ? s : d : n ? s : d } function U(e, t) { var n = function (e, n) { return t[e] !== r ? t[e] : t[n] }, i = V(e, t), o = n("sEcho", "draw"), a = n("iTotalRecords", "recordsTotal"); if (n = n("iTotalDisplayRecords", "recordsFiltered"), o !== r) { if (1 * o < e.iDraw) return; e.iDraw = 1 * o } for (A(e), e._iRecordsTotal = parseInt(a, 10), e._iRecordsDisplay = parseInt(n, 10), o = 0, a = i.length; o < a; o++)_(e, i[o]); e.aiDisplay = e.aiDisplayMaster.slice(), R(e, !0), e._bInitComplete || oe(e, t), fe(e, !1) } function V(t, n) { return "data" === (t = e.isPlainObject(t.ajax) && t.ajax.dataSrc !== r ? t.ajax.dataSrc : t.sAjaxDataProp) ? n.aaData || n[t] : "" !== t ? C(t)(n) : n } function X(t) { var r = t.oClasses, i = t.sTableId, o = t.oLanguage, a = t.oPreviousSearch, s = t.aanFeatures, l = '<input type="search" class="' + r.sFilterInput + '"/>', c = o.sSearch; c = c.match(/_INPUT_/) ? c.replace("_INPUT_", l) : c + l, r = e("<div/>", { id: s.f ? null : i + "_filter", class: r.sFilter }).append(e("<label/>").append(c)); var u = function () { var e = this.value ? this.value : ""; e != a.sSearch && (z(t, { sSearch: e, bRegex: a.bRegex, bSmart: a.bSmart, bCaseInsensitive: a.bCaseInsensitive }), t._iDisplayStart = 0, R(t)) }; s = null !== t.searchDelay ? t.searchDelay : "ssp" === He(t) ? 400 : 0; var f = e("input", r).val(a.sSearch).attr("placeholder", o.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT", s ? mt(u, s) : u).on("mouseup", function (e) { setTimeout(function () { u.call(f[0]) }, 10) }).on("keypress.DT", function (e) { if (13 == e.keyCode) return !1 }).attr("aria-controls", i); return e(t.nTable).on("search.dt.DT", function (e, r) { if (t === r) try { f[0] !== n.activeElement && f.val(a.sSearch) } catch (e) { } }), r[0] } function z(e, t, n) { var i = e.oPreviousSearch, o = e.aoPreSearchCols, a = function (e) { i.sSearch = e.sSearch, i.bRegex = e.bRegex, i.bSmart = e.bSmart, i.bCaseInsensitive = e.bCaseInsensitive }, s = function (e) { return e.bEscapeRegex !== r ? !e.bEscapeRegex : e.bRegex }; if (y(e), "ssp" != He(e)) { for (G(e, t.sSearch, n, s(t), t.bSmart, t.bCaseInsensitive), a(t), t = 0; t < o.length; t++)Y(e, o[t].sSearch, t, s(o[t]), o[t].bSmart, o[t].bCaseInsensitive); Q(e) } else a(t); e.bFiltered = !0, Oe(e, null, "search", [e]) } function Q(t) { for (var n, r, i = Ve.ext.search, o = t.aiDisplay, a = 0, s = i.length; a < s; a++) { for (var l = [], c = 0, u = o.length; c < u; c++)r = o[c], n = t.aoData[r], i[a](t, n._aFilterData, r, n._aData, c) && l.push(r); o.length = 0, e.merge(o, l) } } function Y(e, t, n, r, i, o) { if ("" !== t) { var a = [], s = e.aiDisplay; for (r = J(t, r, i, o), i = 0; i < s.length; i++)t = e.aoData[s[i]]._aFilterData[n], r.test(t) && a.push(s[i]); e.aiDisplay = a } } function G(e, t, n, r, i, o) { i = J(t, r, i, o); var a = e.oPreviousSearch.sSearch, s = e.aiDisplayMaster; o = [], 0 !== Ve.ext.search.length && (n = !0); var l = K(e); if (0 >= t.length) e.aiDisplay = s.slice(); else { for ((l || n || r || a.length > t.length || 0 !== t.indexOf(a) || e.bSorted) && (e.aiDisplay = s.slice()), t = e.aiDisplay, n = 0; n < t.length; n++)i.test(e.aoData[t[n]]._sFilterRow) && o.push(t[n]); e.aiDisplay = o } } function J(t, n, r, i) { return t = n ? t : dt(t), r && (t = "^(?=.*?" + e.map(t.match(/"[^"]+"|[^ ]+/g) || [""], function (e) { if ('"' === e.charAt(0)) { var t = e.match(/^"(.*)"$/); e = t ? t[1] : e } return e.replace('"', "") }).join(")(?=.*?") + ").*$"), new RegExp(t, i ? "i" : "") } function K(e) { var t, n, r = e.aoColumns, i = Ve.ext.type.search, o = !1, a = 0; for (t = e.aoData.length; a < t; a++) { var s = e.aoData[a]; if (!s._aFilterData) { var l = [], c = 0; for (n = r.length; c < n; c++) { if ((o = r[c]).bSearchable) { var u = S(e, a, c, "filter"); i[o.sType] && (u = i[o.sType](u)), null === u && (u = ""), "string" != typeof u && u.toString && (u = u.toString()) } else u = ""; u.indexOf && -1 !== u.indexOf("&") && (ht.innerHTML = u, u = pt ? ht.textContent : ht.innerText), u.replace && (u = u.replace(/[\r\n\u2028]/g, "")), l.push(u) } s._aFilterData = l, s._sFilterRow = l.join(" "), o = !0 } } return o } function Z(e) { return { search: e.sSearch, smart: e.bSmart, regex: e.bRegex, caseInsensitive: e.bCaseInsensitive } } function ee(e) { return { sSearch: e.search, bSmart: e.smart, bRegex: e.regex, bCaseInsensitive: e.caseInsensitive } } function te(t) { var n = t.sTableId, r = t.aanFeatures.i, i = e("<div/>", { class: t.oClasses.sInfo, id: r ? null : n + "_info" }); return r || (t.aoDrawCallback.push({ fn: ne, sName: "information" }), i.attr("role", "status").attr("aria-live", "polite"), e(t.nTable).attr("aria-describedby", n + "_info")), i[0] } function ne(t) { var n = t.aanFeatures.i; if (0 !== n.length) { var r = t.oLanguage, i = t._iDisplayStart + 1, o = t.fnDisplayEnd(), a = t.fnRecordsTotal(), s = t.fnRecordsDisplay(), l = s ? r.sInfo : r.sInfoEmpty; s !== a && (l += " " + r.sInfoFiltered), l = re(t, l += r.sInfoPostFix), null !== (r = r.fnInfoCallback) && (l = r.call(t.oInstance, t, i, o, a, s, l)), e(n).html(l) } } function re(e, t) { var n = e.fnFormatNumber, r = e._iDisplayStart + 1, i = e._iDisplayLength, o = e.fnRecordsDisplay(), a = -1 === i; return t.replace(/_START_/g, n.call(e, r)).replace(/_END_/g, n.call(e, e.fnDisplayEnd())).replace(/_MAX_/g, n.call(e, e.fnRecordsTotal())).replace(/_TOTAL_/g, n.call(e, o)).replace(/_PAGE_/g, n.call(e, a ? 1 : Math.ceil(r / i))).replace(/_PAGES_/g, n.call(e, a ? 1 : Math.ceil(o / i))) } function ie(e) { var t = e.iInitDisplayStart, n = e.aoColumns, r = e.oFeatures, i = e.bDeferLoading; if (e.bInitialised) { H(e), P(e), O(e, e.aoHeader), O(e, e.aoFooter), fe(e, !0), r.bAutoWidth && ge(e); var o = 0; for (r = n.length; o < r; o++) { var a = n[o]; a.sWidth && (a.nTh.style.width = be(a.sWidth)) } Oe(e, null, "preInit", [e]), F(e), ("ssp" != (n = He(e)) || i) && ("ajax" == n ? $(e, [], function (n) { var r = V(e, n); for (o = 0; o < r.length; o++)_(e, r[o]); e.iInitDisplayStart = t, F(e), fe(e, !1), oe(e, n) }) : (fe(e, !1), oe(e))) } else setTimeout(function () { ie(e) }, 200) } function oe(e, t) { e._bInitComplete = !0, (t || e.oInit.aaData) && h(e), Oe(e, null, "plugin-init", [e, t]), Oe(e, "aoInitComplete", "init", [e, t]) } function ae(e, t) { t = parseInt(t, 10), e._iDisplayLength = t, Re(e), Oe(e, null, "length", [e, t]) } function se(t) { var n = t.oClasses, r = t.sTableId, i = t.aLengthMenu, o = Array.isArray(i[0]), a = o ? i[0] : i; i = o ? i[1] : i, o = e("<select/>", { name: r + "_length", "aria-controls": r, class: n.sLengthSelect }); for (var s = 0, l = a.length; s < l; s++)o[0][s] = new Option("number" == typeof i[s] ? t.fnFormatNumber(i[s]) : i[s], a[s]); var c = e("<div><label/></div>").addClass(n.sLength); return t.aanFeatures.l || (c[0].id = r + "_length"), c.children().append(t.oLanguage.sLengthMenu.replace("_MENU_", o[0].outerHTML)), e("select", c).val(t._iDisplayLength).on("change.DT", function (n) { ae(t, e(this).val()), R(t) }), e(t.nTable).on("length.dt.DT", function (n, r, i) { t === r && e("select", c).val(i) }), c[0] } function le(t) { var n = t.sPaginationType, r = Ve.ext.pager[n], i = "function" == typeof r, o = function (e) { R(e) }; n = e("<div/>").addClass(t.oClasses.sPaging + n)[0]; var a = t.aanFeatures; return i || r.fnInit(t, n, o), a.p || (n.id = t.sTableId + "_paginate", t.aoDrawCallback.push({ fn: function (e) { if (i) { var t, n = e._iDisplayStart, s = e._iDisplayLength, l = e.fnRecordsDisplay(), c = -1 === s; for (n = c ? 0 : Math.ceil(n / s), s = c ? 1 : Math.ceil(l / s), l = r(n, s), c = 0, t = a.p.length; c < t; c++)Fe(e, "pageButton")(e, a.p[c], c, l, n, s) } else r.fnUpdate(e, o) }, sName: "pagination" })), n } function ce(e, t, n) { var r = e._iDisplayStart, i = e._iDisplayLength, o = e.fnRecordsDisplay(); return 0 === o || -1 === i ? r = 0 : "number" == typeof t ? (r = t * i) > o && (r = 0) : "first" == t ? r = 0 : "previous" == t ? 0 > (r = 0 <= i ? r - i : 0) && (r = 0) : "next" == t ? r + i < o && (r += i) : "last" == t ? r = Math.floor((o - 1) / i) * i : ke(e, 0, "Unknown paging action: " + t, 5), t = e._iDisplayStart !== r, e._iDisplayStart = r, t && (Oe(e, null, "page", [e]), n && R(e)), t } function ue(t) { return e("<div/>", { id: t.aanFeatures.r ? null : t.sTableId + "_processing", class: t.oClasses.sProcessing }).html(t.oLanguage.sProcessing).insertBefore(t.nTable)[0] } function fe(t, n) { t.oFeatures.bProcessing && e(t.aanFeatures.r).css("display", n ? "block" : "none"), Oe(t, null, "processing", [t, n]) } function de(t) { var n = e(t.nTable); n.attr("role", "grid"); var r = t.oScroll; if ("" === r.sX && "" === r.sY) return t.nTable; var i = r.sX, o = r.sY, a = t.oClasses, s = n.children("caption"), l = s.length ? s[0]._captionSide : null, c = e(n[0].cloneNode(!1)), u = e(n[0].cloneNode(!1)), f = n.children("tfoot"); f.length || (f = null), c = e("<div/>", { class: a.sScrollWrapper }).append(e("<div/>", { class: a.sScrollHead }).css({ overflow: "hidden", position: "relative", border: 0, width: i ? i ? be(i) : null : "100%" }).append(e("<div/>", { class: a.sScrollHeadInner }).css({ "box-sizing": "content-box", width: r.sXInner || "100%" }).append(c.removeAttr("id").css("margin-left", 0).append("top" === l ? s : null).append(n.children("thead"))))).append(e("<div/>", { class: a.sScrollBody }).css({ position: "relative", overflow: "auto", width: i ? be(i) : null }).append(n)), f && c.append(e("<div/>", { class: a.sScrollFoot }).css({ overflow: "hidden", border: 0, width: i ? i ? be(i) : null : "100%" }).append(e("<div/>", { class: a.sScrollFootInner }).append(u.removeAttr("id").css("margin-left", 0).append("bottom" === l ? s : null).append(n.children("tfoot"))))); var d = (n = c.children())[0]; a = n[1]; var h = f ? n[2] : null; return i && e(a).on("scroll.DT", function (e) { e = this.scrollLeft, d.scrollLeft = e, f && (h.scrollLeft = e) }), e(a).css("max-height", o), r.bCollapse || e(a).css("height", o), t.nScrollHead = d, t.nScrollBody = a, t.nScrollFoot = h, t.aoDrawCallback.push({ fn: he, sName: "scrolling" }), c[0] } function he(t) { var n = t.oScroll, i = n.sX, o = n.sXInner, a = n.sY; n = n.iBarWidth; var s = e(t.nScrollHead), l = s[0].style, c = s.children("div"), u = c[0].style, f = c.children("table"); c = t.nScrollBody; var d, g = e(c), m = c.style, v = e(t.nScrollFoot).children("div"), y = v.children("table"), b = e(t.nTHead), _ = e(t.nTable), w = _[0], S = w.style, T = t.nTFoot ? e(t.nTFoot) : null, x = t.oBrowser, C = x.bScrollOversize, D = rt(t.aoColumns, "nTh"), E = [], A = [], I = [], k = [], j = function (e) { (e = e.style).paddingTop = "0", e.paddingBottom = "0", e.borderTopWidth = "0", e.borderBottomWidth = "0", e.height = 0 }, N = c.scrollHeight > c.clientHeight; if (t.scrollBarVis !== N && t.scrollBarVis !== r) t.scrollBarVis = N, h(t); else { if (t.scrollBarVis = N, _.children("thead, tfoot").remove(), T) { var L = T.clone().prependTo(_), P = T.find("tr"); L = L.find("tr") } var O = b.clone().prependTo(_); b = b.find("tr"), N = O.find("tr"), O.find("th, td").removeAttr("tabindex"), i || (m.width = "100%", s[0].style.width = "100%"), e.each(M(t, O), function (e, n) { d = p(t, e), n.style.width = t.aoColumns[d].sWidth }), T && pe(function (e) { e.style.width = "" }, L), s = _.outerWidth(), "" === i ? (S.width = "100%", C && (_.find("tbody").height() > c.offsetHeight || "scroll" == g.css("overflow-y")) && (S.width = be(_.outerWidth() - n)), s = _.outerWidth()) : "" !== o && (S.width = be(o), s = _.outerWidth()), pe(j, N), pe(function (t) { I.push(t.innerHTML), E.push(be(e(t).css("width"))) }, N), pe(function (t, n) { -1 !== e.inArray(t, D) && (t.style.width = E[n]) }, b), e(N).height(0), T && (pe(j, L), pe(function (t) { k.push(t.innerHTML), A.push(be(e(t).css("width"))) }, L), pe(function (e, t) { e.style.width = A[t] }, P), e(L).height(0)), pe(function (e, t) { e.innerHTML = '<div class="dataTables_sizing">' + I[t] + "</div>", e.childNodes[0].style.height = "0", e.childNodes[0].style.overflow = "hidden", e.style.width = E[t] }, N), T && pe(function (e, t) { e.innerHTML = '<div class="dataTables_sizing">' + k[t] + "</div>", e.childNodes[0].style.height = "0", e.childNodes[0].style.overflow = "hidden", e.style.width = A[t] }, L), _.outerWidth() < s ? (P = c.scrollHeight > c.offsetHeight || "scroll" == g.css("overflow-y") ? s + n : s, C && (c.scrollHeight > c.offsetHeight || "scroll" == g.css("overflow-y")) && (S.width = be(P - n)), "" !== i && "" === o || ke(t, 1, "Possible column misalignment", 6)) : P = "100%", m.width = be(P), l.width = be(P), T && (t.nScrollFoot.style.width = be(P)), !a && C && (m.height = be(w.offsetHeight + n)), i = _.outerWidth(), f[0].style.width = be(i), u.width = be(i), o = _.height() > c.clientHeight || "scroll" == g.css("overflow-y"), u[a = "padding" + (x.bScrollbarLeft ? "Left" : "Right")] = o ? n + "px" : "0px", T && (y[0].style.width = be(i), v[0].style.width = be(i), v[0].style[a] = o ? n + "px" : "0px"), _.children("colgroup").insertBefore(_.children("thead")), g.trigger("scroll"), !t.bSorted && !t.bFiltered || t._drawHold || (c.scrollTop = 0) } } function pe(e, t, n) { for (var r, i, o = 0, a = 0, s = t.length; a < s;) { for (r = t[a].firstChild, i = n ? n[a].firstChild : null; r;)1 === r.nodeType && (n ? e(r, i, o) : e(r, o), o++), r = r.nextSibling, i = n ? i.nextSibling : null; a++ } } function ge(n) { var r, i = n.nTable, o = n.aoColumns, a = n.oScroll, s = a.sY, l = a.sX, c = a.sXInner, u = o.length, f = v(n, "bVisible"), d = e("th", n.nTHead), g = i.getAttribute("width"), y = i.parentNode, b = !1, _ = n.oBrowser; for (a = _.bScrollOversize, (r = i.style.width) && -1 !== r.indexOf("%") && (g = r), r = 0; r < f.length; r++) { var w = o[f[r]]; null !== w.sWidth && (w.sWidth = me(w.sWidthOrig, y), b = !0) } if (a || !b && !l && !s && u == m(n) && u == d.length) for (r = 0; r < u; r++)null !== (f = p(n, r)) && (o[f].sWidth = be(d.eq(r).width())); else { (u = e(i).clone().css("visibility", "hidden").removeAttr("id")).find("tbody tr").remove(); var S = e("<tr/>").appendTo(u.find("tbody")); for (u.find("thead, tfoot").remove(), u.append(e(n.nTHead).clone()).append(e(n.nTFoot).clone()), u.find("tfoot th, tfoot td").css("width", ""), d = M(n, u.find("thead")[0]), r = 0; r < f.length; r++)w = o[f[r]], d[r].style.width = null !== w.sWidthOrig && "" !== w.sWidthOrig ? be(w.sWidthOrig) : "", w.sWidthOrig && l && e(d[r]).append(e("<div/>").css({ width: w.sWidthOrig, margin: 0, padding: 0, border: 0, height: 1 })); if (n.aoData.length) for (r = 0; r < f.length; r++)w = o[b = f[r]], e(ve(n, b)).clone(!1).append(w.sContentPadding).appendTo(S); for (e("[name]", u).removeAttr("name"), w = e("<div/>").css(l || s ? { position: "absolute", top: 0, left: 0, height: 1, right: 0, overflow: "hidden" } : {}).append(u).appendTo(y), l && c ? u.width(c) : l ? (u.css("width", "auto"), u.removeAttr("width"), u.width() < y.clientWidth && g && u.width(y.clientWidth)) : s ? u.width(y.clientWidth) : g && u.width(g), r = s = 0; r < f.length; r++)c = (y = e(d[r])).outerWidth() - y.width(), s += y = _.bBounding ? Math.ceil(d[r].getBoundingClientRect().width) : y.outerWidth(), o[f[r]].sWidth = be(y - c); i.style.width = be(s), w.remove() } g && (i.style.width = be(g)), !g && !l || n._reszEvt || (i = function () { e(t).on("resize.DT-" + n.sInstance, mt(function () { h(n) })) }, a ? setTimeout(i, 1e3) : i(), n._reszEvt = !0) } function me(t, r) { return t ? (r = (t = e("<div/>").css("width", be(t)).appendTo(r || n.body))[0].offsetWidth, t.remove(), r) : 0 } function ve(t, n) { var r = ye(t, n); if (0 > r) return null; var i = t.aoData[r]; return i.nTr ? i.anCells[n] : e("<td/>").html(S(t, r, n, "display"))[0] } function ye(e, t) { for (var n, r = -1, i = -1, o = 0, a = e.aoData.length; o < a; o++)(n = (n = (n = S(e, o, t, "display") + "").replace(gt, "")).replace(/ /g, " ")).length > r && (r = n.length, i = o); return i } function be(e) { return null === e ? "0px" : "number" == typeof e ? 0 > e ? "0px" : e + "px" : e.match(/\d$/) ? e + "px" : e } function _e(t) { var n = [], i = t.aoColumns, o = t.aaSortingFixed, a = e.isPlainObject(o), s = [], l = function (t) { t.length && !Array.isArray(t[0]) ? s.push(t) : e.merge(s, t) }; for (Array.isArray(o) && l(o), a && o.pre && l(o.pre), l(t.aaSorting), a && o.post && l(o.post), t = 0; t < s.length; t++) { var c = s[t][0]; for (o = 0, a = (l = i[c].aDataSort).length; o < a; o++) { var u = l[o], f = i[u].sType || "string"; s[t]._idx === r && (s[t]._idx = e.inArray(s[t][1], i[u].asSorting)), n.push({ src: c, col: u, dir: s[t][1], index: s[t]._idx, type: f, formatter: Ve.ext.type.order[f + "-pre"] }) } } return n } function we(e) { var t, n = [], r = Ve.ext.type.order, i = e.aoData, o = 0, a = e.aiDisplayMaster; y(e); var s = _e(e), l = 0; for (t = s.length; l < t; l++) { var c = s[l]; c.formatter && o++, De(e, c.col) } if ("ssp" != He(e) && 0 !== s.length) { for (l = 0, t = a.length; l < t; l++)n[a[l]] = l; o === s.length ? a.sort(function (e, t) { var r, o = s.length, a = i[e]._aSortData, l = i[t]._aSortData; for (r = 0; r < o; r++) { var c = s[r], u = a[c.col], f = l[c.col]; if (0 !== (u = u < f ? -1 : u > f ? 1 : 0)) return "asc" === c.dir ? u : -u } return (u = n[e]) < (f = n[t]) ? -1 : u > f ? 1 : 0 }) : a.sort(function (e, t) { var o, a = s.length, l = i[e]._aSortData, c = i[t]._aSortData; for (o = 0; o < a; o++) { var u = s[o], f = l[u.col], d = c[u.col]; if (0 !== (f = (u = r[u.type + "-" + u.dir] || r["string-" + u.dir])(f, d))) return f } return (f = n[e]) < (d = n[t]) ? -1 : f > d ? 1 : 0 }) } e.bSorted = !0 } function Se(e) { var t = e.aoColumns, n = _e(e); e = e.oLanguage.oAria; for (var r = 0, i = t.length; r < i; r++) { var o = t[r], a = o.asSorting, s = o.ariaTitle || o.sTitle.replace(/<.*?>/g, ""), l = o.nTh; l.removeAttribute("aria-sort"), o.bSortable && (0 < n.length && n[0].col == r ? (l.setAttribute("aria-sort", "asc" == n[0].dir ? "ascending" : "descending"), o = a[n[0].index + 1] || a[0]) : o = a[0], s += "asc" === o ? e.sSortAscending : e.sSortDescending), l.setAttribute("aria-label", s) } } function Te(t, n, i, o) { var a = t.aaSorting, s = t.aoColumns[n].asSorting, l = function (t, n) { var i = t._idx; return i === r && (i = e.inArray(t[1], s)), i + 1 < s.length ? i + 1 : n ? null : 0 }; "number" == typeof a[0] && (a = t.aaSorting = [a]), i && t.oFeatures.bSortMulti ? -1 !== (i = e.inArray(n, rt(a, "0"))) ? (null === (n = l(a[i], !0)) && 1 === a.length && (n = 0), null === n ? a.splice(i, 1) : (a[i][1] = s[n], a[i]._idx = n)) : (a.push([n, s[0], 0]), a[a.length - 1]._idx = 0) : a.length && a[0][0] == n ? (n = l(a[0]), a.length = 1, a[0][1] = s[n], a[0]._idx = n) : (a.length = 0, a.push([n, s[0]]), a[0]._idx = 0), F(t), "function" == typeof o && o(t) } function xe(e, t, n, r) { var i = e.aoColumns[n]; Le(t, {}, function (t) { !1 !== i.bSortable && (e.oFeatures.bProcessing ? (fe(e, !0), setTimeout(function () { Te(e, n, t.shiftKey, r), "ssp" !== He(e) && fe(e, !1) }, 0)) : Te(e, n, t.shiftKey, r)) }) } function Ce(t) { var n, r = t.aLastSort, i = t.oClasses.sSortColumn, o = _e(t), a = t.oFeatures; if (a.bSort && a.bSortClasses) { for (a = 0, n = r.length; a < n; a++) { var s = r[a].src; e(rt(t.aoData, "anCells", s)).removeClass(i + (2 > a ? a + 1 : 3)) } for (a = 0, n = o.length; a < n; a++)s = o[a].src, e(rt(t.aoData, "anCells", s)).addClass(i + (2 > a ? a + 1 : 3)) } t.aLastSort = o } function De(e, t) { var n, r = e.aoColumns[t], i = Ve.ext.order[r.sSortDataType]; i && (n = i.call(e.oInstance, e, t, g(e, t))); for (var o, a = Ve.ext.type.order[r.sType + "-pre"], s = 0, l = e.aoData.length; s < l; s++)(r = e.aoData[s])._aSortData || (r._aSortData = []), (!r._aSortData[t] || i) && (o = i ? n[s] : S(e, s, t, "sort"), r._aSortData[t] = a ? a(o) : o) } function Ee(t) { if (t.oFeatures.bStateSave && !t.bDestroying) { var n = { time: +new Date, start: t._iDisplayStart, length: t._iDisplayLength, order: e.extend(!0, [], t.aaSorting), search: Z(t.oPreviousSearch), columns: e.map(t.aoColumns, function (e, n) { return { visible: e.bVisible, search: Z(t.aoPreSearchCols[n]) } }) }; Oe(t, "aoStateSaveParams", "stateSaveParams", [t, n]), t.oSavedState = n, t.fnStateSaveCallback.call(t.oInstance, t, n) } } function Ae(t, n, i) { var o, a, s = t.aoColumns; if (n = function (n) { if (n && n.time) { var l = Oe(t, "aoStateLoadParams", "stateLoadParams", [t, n]); if (-1 === e.inArray(!1, l) && !(0 < (l = t.iStateDuration) && n.time < +new Date - 1e3 * l || n.columns && s.length !== n.columns.length)) { if (t.oLoadedState = e.extend(!0, {}, n), n.start !== r && (t._iDisplayStart = n.start, t.iInitDisplayStart = n.start), n.length !== r && (t._iDisplayLength = n.length), n.order !== r && (t.aaSorting = [], e.each(n.order, function (e, n) { t.aaSorting.push(n[0] >= s.length ? [0, n[1]] : n) })), n.search !== r && e.extend(t.oPreviousSearch, ee(n.search)), n.columns) for (o = 0, a = n.columns.length; o < a; o++)(l = n.columns[o]).visible !== r && (s[o].bVisible = l.visible), l.search !== r && e.extend(t.aoPreSearchCols[o], ee(l.search)); Oe(t, "aoStateLoaded", "stateLoaded", [t, n]) } } i() }, t.oFeatures.bStateSave) { var l = t.fnStateLoadCallback.call(t.oInstance, t, n); l !== r && n(l) } else i() } function Ie(t) { var n = Ve.settings; return -1 !== (t = e.inArray(t, rt(n, "nTable"))) ? n[t] : null } function ke(e, n, r, i) { if (r = "DataTables warning: " + (e ? "table id=" + e.sTableId + " - " : "") + r, i && (r += ". For more information about this error, please see http://datatables.net/tn/" + i), n) t.console && console.log && console.log(r); else if (n = (n = Ve.ext).sErrMode || n.errMode, e && Oe(e, null, "error", [e, i, r]), "alert" == n) alert(r); else { if ("throw" == n) throw Error(r); "function" == typeof n && n(e, i, r) } } function je(t, n, i, o) { Array.isArray(i) ? e.each(i, function (e, r) { Array.isArray(r) ? je(t, n, r[0], r[1]) : je(t, n, r) }) : (o === r && (o = i), n[i] !== r && (t[o] = n[i])) } function Ne(t, n, r) { var i; for (i in n) if (n.hasOwnProperty(i)) { var o = n[i]; e.isPlainObject(o) ? (e.isPlainObject(t[i]) || (t[i] = {}), e.extend(!0, t[i], o)) : r && "data" !== i && "aaData" !== i && Array.isArray(o) ? t[i] = o.slice() : t[i] = o } return t } function Le(t, n, r) { e(t).on("click.DT", n, function (n) { e(t).trigger("blur"), r(n) }).on("keypress.DT", n, function (e) { 13 === e.which && (e.preventDefault(), r(e)) }).on("selectstart.DT", function () { return !1 }) } function Pe(e, t, n, r) { n && e[t].push({ fn: n, sName: r }) } function Oe(t, n, r, i) { var o = []; return n && (o = e.map(t[n].slice().reverse(), function (e, n) { return e.fn.apply(t.oInstance, i) })), null !== r && (n = e.Event(r + ".dt"), e(t.nTable).trigger(n, i), o.push(n.result)), o } function Re(e) { var t = e._iDisplayStart, n = e.fnDisplayEnd(), r = e._iDisplayLength; t >= n && (t = n - r), t -= t % r, (-1 === r || 0 > t) && (t = 0), e._iDisplayStart = t } function Fe(t, n) { t = t.renderer; var r = Ve.ext.renderer[n]; return e.isPlainObject(t) && t[n] ? r[t[n]] || r._ : "string" == typeof t && r[t] || r._ } function He(e) { return e.oFeatures.bServerSide ? "ssp" : e.ajax || e.sAjaxSource ? "ajax" : "dom" } function qe(e, t) { var n = jt.numbers_length, r = Math.floor(n / 2); return t <= n ? e = ot(0, t) : e <= r ? ((e = ot(0, n - 2)).push("ellipsis"), e.push(t - 1)) : (e >= t - 1 - r ? e = ot(t - (n - 2), t) : ((e = ot(e - r + 2, e + r - 1)).push("ellipsis"), e.push(t - 1)), e.splice(0, 0, "ellipsis"), e.splice(0, 0, 0)), e.DT_el = "span", e } function Me(t) { e.each({ num: function (e) { return Nt(e, t) }, "num-fmt": function (e) { return Nt(e, t, Je) }, "html-num": function (e) { return Nt(e, t, Qe) }, "html-num-fmt": function (e) { return Nt(e, t, Qe, Je) } }, function (e, n) { We.type.order[e + t + "-pre"] = n, e.match(/^html\-/) && (We.type.search[e + t] = We.type.search.html) }) } function $e(e) { return function () { var t = [Ie(this[Ve.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments)); return Ve.ext.internal[e].apply(this, t) } } var We, Be, Ue, Ve = function (t) { this.$ = function (e, t) { return this.api(!0).$(e, t) }, this._ = function (e, t) { return this.api(!0).rows(e, t).data() }, this.api = function (e) { return new bt(e ? Ie(this[We.iApiIndex]) : this) }, this.fnAddData = function (t, n) { var i = this.api(!0); return t = Array.isArray(t) && (Array.isArray(t[0]) || e.isPlainObject(t[0])) ? i.rows.add(t) : i.row.add(t), (n === r || n) && i.draw(), t.flatten().toArray() }, this.fnAdjustColumnSizing = function (e) { var t = this.api(!0).columns.adjust(), n = t.settings()[0], i = n.oScroll; e === r || e ? t.draw(!1) : ("" !== i.sX || "" !== i.sY) && he(n) }, this.fnClearTable = function (e) { var t = this.api(!0).clear(); (e === r || e) && t.draw() }, this.fnClose = function (e) { this.api(!0).row(e).child.hide() }, this.fnDeleteRow = function (e, t, n) { var i = this.api(!0), o = (e = i.rows(e)).settings()[0], a = o.aoData[e[0][0]]; return e.remove(), t && t.call(this, o, a), (n === r || n) && i.draw(), a }, this.fnDestroy = function (e) { this.api(!0).destroy(e) }, this.fnDraw = function (e) { this.api(!0).draw(e) }, this.fnFilter = function (e, t, n, i, o, a) { o = this.api(!0), null === t || t === r ? o.search(e, n, i, a) : o.column(t).search(e, n, i, a), o.draw() }, this.fnGetData = function (e, t) { var n = this.api(!0); if (e !== r) { var i = e.nodeName ? e.nodeName.toLowerCase() : ""; return t !== r || "td" == i || "th" == i ? n.cell(e, t).data() : n.row(e).data() || null } return n.data().toArray() }, this.fnGetNodes = function (e) { var t = this.api(!0); return e !== r ? t.row(e).node() : t.rows().nodes().flatten().toArray() }, this.fnGetPosition = function (e) { var t = this.api(!0), n = e.nodeName.toUpperCase(); return "TR" == n ? t.row(e).index() : "TD" == n || "TH" == n ? [(e = t.cell(e).index()).row, e.columnVisible, e.column] : null }, this.fnIsOpen = function (e) { return this.api(!0).row(e).child.isShown() }, this.fnOpen = function (e, t, n) { return this.api(!0).row(e).child(t, n).show().child()[0] }, this.fnPageChange = function (e, t) { e = this.api(!0).page(e), (t === r || t) && e.draw(!1) }, this.fnSetColumnVis = function (e, t, n) { e = this.api(!0).column(e).visible(t), (n === r || n) && e.columns.adjust().draw() }, this.fnSettings = function () { return Ie(this[We.iApiIndex]) }, this.fnSort = function (e) { this.api(!0).order(e).draw() }, this.fnSortListener = function (e, t, n) { this.api(!0).order.listener(e, t, n) }, this.fnUpdate = function (e, t, n, i, o) { var a = this.api(!0); return n === r || null === n ? a.row(t).data(e) : a.cell(t, n).data(e), (o === r || o) && a.columns.adjust(), (i === r || i) && a.draw(), 0 }, this.fnVersionCheck = We.fnVersionCheck; var n = this, i = t === r, u = this.length; for (var h in i && (t = {}), this.oApi = this.internal = We.internal, Ve.ext.internal) h && (this[h] = $e(h)); return this.each(function () { var h, p = {}, g = 1 < u ? Ne(p, t, !0) : t, m = 0; p = this.getAttribute("id"); var v = !1, y = Ve.defaults, S = e(this); if ("table" != this.nodeName.toLowerCase()) ke(null, 0, "Non-table node initialisation (" + this.nodeName + ")", 2); else { s(y), l(y.column), o(y, y, !0), o(y.column, y.column, !0), o(y, e.extend(g, S.data()), !0); var T = Ve.settings; for (m = 0, h = T.length; m < h; m++) { var x = T[m]; if (x.nTable == this || x.nTHead && x.nTHead.parentNode == this || x.nTFoot && x.nTFoot.parentNode == this) { var D = g.bRetrieve !== r ? g.bRetrieve : y.bRetrieve; if (i || D) return x.oInstance; if (g.bDestroy !== r ? g.bDestroy : y.bDestroy) { x.oInstance.fnDestroy(); break } return void ke(x, 0, "Cannot reinitialise DataTable", 3) } if (x.sTableId == this.id) { T.splice(m, 1); break } } null !== p && "" !== p || (this.id = p = "DataTables_Table_" + Ve.ext._unique++); var E = e.extend(!0, {}, Ve.models.oSettings, { sDestroyWidth: S[0].style.width, sInstance: p, sTableId: p }); E.nTable = this, E.oApi = n.internal, E.oInit = g, T.push(E), E.oInstance = 1 === n.length ? n : S.dataTable(), s(g), a(g.oLanguage), g.aLengthMenu && !g.iDisplayLength && (g.iDisplayLength = Array.isArray(g.aLengthMenu[0]) ? g.aLengthMenu[0][0] : g.aLengthMenu[0]), g = Ne(e.extend(!0, {}, y), g), je(E.oFeatures, g, "bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" ")), je(E, g, ["asStripeClasses", "ajax", "fnServerData", "fnFormatNumber", "sServerMethod", "aaSorting", "aaSortingFixed", "aLengthMenu", "sPaginationType", "sAjaxSource", "sAjaxDataProp", "iStateDuration", "sDom", "bSortCellsTop", "iTabIndex", "fnStateLoadCallback", "fnStateSaveCallback", "renderer", "searchDelay", "rowId", ["iCookieDuration", "iStateDuration"], ["oSearch", "oPreviousSearch"], ["aoSearchCols", "aoPreSearchCols"], ["iDisplayLength", "_iDisplayLength"]]), je(E.oScroll, g, [["sScrollX", "sX"], ["sScrollXInner", "sXInner"], ["sScrollY", "sY"], ["bScrollCollapse", "bCollapse"]]), je(E.oLanguage, g, "fnInfoCallback"), Pe(E, "aoDrawCallback", g.fnDrawCallback, "user"), Pe(E, "aoServerParams", g.fnServerParams, "user"), Pe(E, "aoStateSaveParams", g.fnStateSaveParams, "user"), Pe(E, "aoStateLoadParams", g.fnStateLoadParams, "user"), Pe(E, "aoStateLoaded", g.fnStateLoaded, "user"), Pe(E, "aoRowCallback", g.fnRowCallback, "user"), Pe(E, "aoRowCreatedCallback", g.fnCreatedRow, "user"), Pe(E, "aoHeaderCallback", g.fnHeaderCallback, "user"), Pe(E, "aoFooterCallback", g.fnFooterCallback, "user"), Pe(E, "aoInitComplete", g.fnInitComplete, "user"), Pe(E, "aoPreDrawCallback", g.fnPreDrawCallback, "user"), E.rowIdFn = C(g.rowId), c(E); var A = E.oClasses; e.extend(A, Ve.ext.classes, g.oClasses), S.addClass(A.sTable), E.iInitDisplayStart === r && (E.iInitDisplayStart = g.iDisplayStart, E._iDisplayStart = g.iDisplayStart), null !== g.iDeferLoading && (E.bDeferLoading = !0, p = Array.isArray(g.iDeferLoading), E._iRecordsDisplay = p ? g.iDeferLoading[0] : g.iDeferLoading, E._iRecordsTotal = p ? g.iDeferLoading[1] : g.iDeferLoading); var I = E.oLanguage; e.extend(!0, I, g.oLanguage), I.sUrl ? (e.ajax({ dataType: "json", url: I.sUrl, success: function (t) { a(t), o(y.oLanguage, t), e.extend(!0, I, t), Oe(E, null, "i18n", [E]), ie(E) }, error: function () { ie(E) } }), v = !0) : Oe(E, null, "i18n", [E]), null === g.asStripeClasses && (E.asStripeClasses = [A.sStripeOdd, A.sStripeEven]), p = E.asStripeClasses; var k = S.children("tbody").find("tr").eq(0); if (-1 !== e.inArray(!0, e.map(p, function (e, t) { return k.hasClass(e) })) && (e("tbody tr", this).removeClass(p.join(" ")), E.asDestroyStripes = p.slice()), p = [], 0 !== (T = this.getElementsByTagName("thead")).length && (q(E.aoHeader, T[0]), p = M(E)), null === g.aoColumns) for (T = [], m = 0, h = p.length; m < h; m++)T.push(null); else T = g.aoColumns; for (m = 0, h = T.length; m < h; m++)f(E, p ? p[m] : null); if (b(E, g.aoColumnDefs, T, function (e, t) { d(E, e, t) }), k.length) { var j = function (e, t) { return null !== e.getAttribute("data-" + t) ? t : null }; e(k[0]).children("th, td").each(function (e, t) { var n = E.aoColumns[e]; if (n.mData === e) { var i = j(t, "sort") || j(t, "order"); t = j(t, "filter") || j(t, "search"), null === i && null === t || (n.mData = { _: e + ".display", sort: null !== i ? e + ".@data-" + i : r, type: null !== i ? e + ".@data-" + i : r, filter: null !== t ? e + ".@data-" + t : r }, d(E, e)) } }) } var N = E.oFeatures; p = function () { if (g.aaSorting === r) { var t = E.aaSorting; for (m = 0, h = t.length; m < h; m++)t[m][1] = E.aoColumns[m].asSorting[0] } Ce(E), N.bSort && Pe(E, "aoDrawCallback", function () { if (E.bSorted) { var t = _e(E), n = {}; e.each(t, function (e, t) { n[t.src] = t.dir }), Oe(E, null, "order", [E, t, n]), Se(E) } }), Pe(E, "aoDrawCallback", function () { (E.bSorted || "ssp" === He(E) || N.bDeferRender) && Ce(E) }, "sc"), t = S.children("caption").each(function () { this._captionSide = e(this).css("caption-side") }); var n = S.children("thead"); 0 === n.length && (n = e("<thead/>").appendTo(S)), E.nTHead = n[0]; var i = S.children("tbody"); if (0 === i.length && (i = e("<tbody/>").insertAfter(n)), E.nTBody = i[0], 0 === (n = S.children("tfoot")).length && 0 < t.length && ("" !== E.oScroll.sX || "" !== E.oScroll.sY) && (n = e("<tfoot/>").appendTo(S)), 0 === n.length || 0 === n.children().length ? S.addClass(A.sNoFooter) : 0 < n.length && (E.nTFoot = n[0], q(E.aoFooter, E.nTFoot)), g.aaData) for (m = 0; m < g.aaData.length; m++)_(E, g.aaData[m]); else (E.bDeferLoading || "dom" == He(E)) && w(E, e(E.nTBody).children("tr")); E.aiDisplay = E.aiDisplayMaster.slice(), E.bInitialised = !0, !1 === v && ie(E) }, g.bStateSave ? (N.bStateSave = !0, Pe(E, "aoDrawCallback", Ee, "state_save"), Ae(E, g, p)) : p() } }), n = null, this }, Xe = {}, ze = /[\r\n\u2028]/g, Qe = /<.*?>/g, Ye = /^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/, Ge = /(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g, Je = /['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi, Ke = function (e) { return !e || !0 === e || "-" === e }, Ze = function (e) { var t = parseInt(e, 10); return !isNaN(t) && isFinite(e) ? t : null }, et = function (e, t) { return Xe[t] || (Xe[t] = new RegExp(dt(t), "g")), "string" == typeof e && "." !== t ? e.replace(/\./g, "").replace(Xe[t], ".") : e }, tt = function (e, t, n) { var r = "string" == typeof e; return !!Ke(e) || (t && r && (e = et(e, t)), n && r && (e = e.replace(Je, "")), !isNaN(parseFloat(e)) && isFinite(e)) }, nt = function (e, t, n) { return !!Ke(e) || ((Ke(e) || "string" == typeof e) && !!tt(e.replace(Qe, ""), t, n) || null) }, rt = function (e, t, n) { var i = [], o = 0, a = e.length; if (n !== r) for (; o < a; o++)e[o] && e[o][t] && i.push(e[o][t][n]); else for (; o < a; o++)e[o] && i.push(e[o][t]); return i }, it = function (e, t, n, i) { var o = [], a = 0, s = t.length; if (i !== r) for (; a < s; a++)e[t[a]][n] && o.push(e[t[a]][n][i]); else for (; a < s; a++)o.push(e[t[a]][n]); return o }, ot = function (e, t) { var n = []; if (t === r) { t = 0; var i = e } else i = t, t = e; for (e = t; e < i; e++)n.push(e); return n }, at = function (e) { for (var t = [], n = 0, r = e.length; n < r; n++)e[n] && t.push(e[n]); return t }, st = function (e) { e: { if (!(2 > e.length)) for (var t = e.slice().sort(), n = t[0], r = 1, i = t.length; r < i; r++) { if (t[r] === n) { t = !1; break e } n = t[r] } t = !0 } if (t) return e.slice(); t = [], i = e.length; var o, a = 0; r = 0; e: for (; r < i; r++) { for (n = e[r], o = 0; o < a; o++)if (t[o] === n) continue e; t.push(n), a++ } return t }, lt = function (e, t) { if (Array.isArray(t)) for (var n = 0; n < t.length; n++)lt(e, t[n]); else e.push(t); return e }; Array.isArray || (Array.isArray = function (e) { return "[object Array]" === Object.prototype.toString.call(e) }), String.prototype.trim || (String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "") }), Ve.util = { throttle: function (e, t) { var n, i, o = t !== r ? t : 200; return function () { var t = this, a = +new Date, s = arguments; n && a < n + o ? (clearTimeout(i), i = setTimeout(function () { n = r, e.apply(t, s) }, o)) : (n = a, e.apply(t, s)) } }, escapeRegex: function (e) { return e.replace(Ge, "\\$1") } }; var ct = function (e, t, n) { e[t] !== r && (e[n] = e[t]) }, ut = /\[.*?\]$/, ft = /\(\)$/, dt = Ve.util.escapeRegex, ht = e("<div>")[0], pt = ht.textContent !== r, gt = /<.*?>/g, mt = Ve.util.throttle, vt = [], yt = Array.prototype, bt = function (t, n) { if (!(this instanceof bt)) return new bt(t, n); var r = [], i = function (t) { (t = function (t) { var n, r = Ve.settings, i = e.map(r, function (e, t) { return e.nTable }); if (!t) return []; if (t.nTable && t.oApi) return [t]; if (t.nodeName && "table" === t.nodeName.toLowerCase()) { var o = e.inArray(t, i); return -1 !== o ? [r[o]] : null } return t && "function" == typeof t.settings ? t.settings().toArray() : ("string" == typeof t ? n = e(t) : t instanceof e && (n = t), n ? n.map(function (t) { return -1 !== (o = e.inArray(this, i)) ? r[o] : null }).toArray() : void 0) }(t)) && r.push.apply(r, t) }; if (Array.isArray(t)) for (var o = 0, a = t.length; o < a; o++)i(t[o]); else i(t); this.context = st(r), n && e.merge(this, n), this.selector = { rows: null, cols: null, opts: null }, bt.extend(this, this, vt) }; Ve.Api = bt, e.extend(bt.prototype, { any: function () { return 0 !== this.count() }, concat: yt.concat, context: [], count: function () { return this.flatten().length }, each: function (e) { for (var t = 0, n = this.length; t < n; t++)e.call(this, this[t], t, this); return this }, eq: function (e) { var t = this.context; return t.length > e ? new bt(t[e], this[e]) : null }, filter: function (e) { var t = []; if (yt.filter) t = yt.filter.call(this, e, this); else for (var n = 0, r = this.length; n < r; n++)e.call(this, this[n], n, this) && t.push(this[n]); return new bt(this.context, t) }, flatten: function () { var e = []; return new bt(this.context, e.concat.apply(e, this.toArray())) }, join: yt.join, indexOf: yt.indexOf || function (e, t) { t = t || 0; for (var n = this.length; t < n; t++)if (this[t] === e) return t; return -1 }, iterator: function (e, t, n, i) { var o, a, s, l = [], c = this.context, u = this.selector; "string" == typeof e && (i = n, n = t, t = e, e = !1); var f = 0; for (o = c.length; f < o; f++) { var d = new bt(c[f]); if ("table" === t) { var h = n.call(d, c[f], f); h !== r && l.push(h) } else if ("columns" === t || "rows" === t) (h = n.call(d, c[f], this[f], f)) !== r && l.push(h); else if ("column" === t || "column-rows" === t || "row" === t || "cell" === t) { var p = this[f]; "column-rows" === t && (s = Ct(c[f], u.opts)); var g = 0; for (a = p.length; g < a; g++)h = p[g], (h = "cell" === t ? n.call(d, c[f], h.row, h.column, f, g) : n.call(d, c[f], h, f, g, s)) !== r && l.push(h) } } return l.length || i ? ((t = (e = new bt(c, e ? l.concat.apply([], l) : l)).selector).rows = u.rows, t.cols = u.cols, t.opts = u.opts, e) : this }, lastIndexOf: yt.lastIndexOf || function (e, t) { return this.indexOf.apply(this.toArray.reverse(), arguments) }, length: 0, map: function (e) { var t = []; if (yt.map) t = yt.map.call(this, e, this); else for (var n = 0, r = this.length; n < r; n++)t.push(e.call(this, this[n], n)); return new bt(this.context, t) }, pluck: function (e) { return this.map(function (t) { return t[e] }) }, pop: yt.pop, push: yt.push, reduce: yt.reduce || function (e, t) { return u(this, e, t, 0, this.length, 1) }, reduceRight: yt.reduceRight || function (e, t) { return u(this, e, t, this.length - 1, -1, -1) }, reverse: yt.reverse, selector: null, shift: yt.shift, slice: function () { return new bt(this.context, this) }, sort: yt.sort, splice: yt.splice, toArray: function () { return yt.slice.call(this) }, to$: function () { return e(this) }, toJQuery: function () { return e(this) }, unique: function () { return new bt(this.context, st(this)) }, unshift: yt.unshift }), bt.extend = function (e, t, n) { if (n.length && t && (t instanceof bt || t.__dt_wrapper)) { var r, i = function (e, t, n) { return function () { var r = t.apply(e, arguments); return bt.extend(r, r, n.methodExt), r } }, o = 0; for (r = n.length; o < r; o++) { var a = n[o]; t[a.name] = "function" === a.type ? i(e, a.val, a) : "object" === a.type ? {} : a.val, t[a.name].__dt_wrapper = !0, bt.extend(e, t[a.name], a.propExt) } } }, bt.register = Be = function (t, n) { if (Array.isArray(t)) for (var r = 0, i = t.length; r < i; r++)bt.register(t[r], n); else { i = t.split("."); var o, a = vt; for (t = 0, r = i.length; t < r; t++) { var s = (o = -1 !== i[t].indexOf("()")) ? i[t].replace("()", "") : i[t]; e: { for (var l = 0, c = a.length; l < c; l++)if (a[l].name === s) { l = a[l]; break e } l = null } l || (l = { name: s, val: {}, methodExt: [], propExt: [], type: "object" }, a.push(l)), t === r - 1 ? (l.val = n, l.type = "function" == typeof n ? "function" : e.isPlainObject(n) ? "object" : "other") : a = o ? l.methodExt : l.propExt } } }, bt.registerPlural = Ue = function (e, t, n) { bt.register(e, n), bt.register(t, function () { var e = n.apply(this, arguments); return e === this ? this : e instanceof bt ? e.length ? Array.isArray(e[0]) ? new bt(e.context, e[0]) : e[0] : r : e }) }; var _t = function (t, n) { if (Array.isArray(t)) return e.map(t, function (e) { return _t(e, n) }); if ("number" == typeof t) return [n[t]]; var r = e.map(n, function (e, t) { return e.nTable }); return e(r).filter(t).map(function (t) { return t = e.inArray(this, r), n[t] }).toArray() }; Be("tables()", function (e) { return e !== r && null !== e ? new bt(_t(e, this.context)) : this }), Be("table()", function (e) { var t = (e = this.tables(e)).context; return t.length ? new bt(t[0]) : e }), Ue("tables().nodes()", "table().node()", function () { return this.iterator("table", function (e) { return e.nTable }, 1) }), Ue("tables().body()", "table().body()", function () { return this.iterator("table", function (e) { return e.nTBody }, 1) }), Ue("tables().header()", "table().header()", function () { return this.iterator("table", function (e) { return e.nTHead }, 1) }), Ue("tables().footer()", "table().footer()", function () { return this.iterator("table", function (e) { return e.nTFoot }, 1) }), Ue("tables().containers()", "table().container()", function () { return this.iterator("table", function (e) { return e.nTableWrapper }, 1) }), Be("draw()", function (e) { return this.iterator("table", function (t) { "page" === e ? R(t) : ("string" == typeof e && (e = "full-hold" !== e), F(t, !1 === e)) }) }), Be("page()", function (e) { return e === r ? this.page.info().page : this.iterator("table", function (t) { ce(t, e) }) }), Be("page.info()", function (e) { if (0 === this.context.length) return r; var t = (e = this.context[0])._iDisplayStart, n = e.oFeatures.bPaginate ? e._iDisplayLength : -1, i = e.fnRecordsDisplay(), o = -1 === n; return { page: o ? 0 : Math.floor(t / n), pages: o ? 1 : Math.ceil(i / n), start: t, end: e.fnDisplayEnd(), length: n, recordsTotal: e.fnRecordsTotal(), recordsDisplay: i, serverSide: "ssp" === He(e) } }), Be("page.len()", function (e) { return e === r ? 0 !== this.context.length ? this.context[0]._iDisplayLength : r : this.iterator("table", function (t) { ae(t, e) }) }); var wt = function (e, t, n) { if (n) { var r = new bt(e); r.one("draw", function () { n(r.ajax.json()) }) } if ("ssp" == He(e)) F(e, t); else { fe(e, !0); var i = e.jqXHR; i && 4 !== i.readyState && i.abort(), $(e, [], function (n) { A(e); for (var r = 0, i = (n = V(e, n)).length; r < i; r++)_(e, n[r]); F(e, t), fe(e, !1) }) } }; Be("ajax.json()", function () { var e = this.context; if (0 < e.length) return e[0].json }), Be("ajax.params()", function () { var e = this.context; if (0 < e.length) return e[0].oAjaxData }), Be("ajax.reload()", function (e, t) { return this.iterator("table", function (n) { wt(n, !1 === t, e) }) }), Be("ajax.url()", function (t) { var n = this.context; return t === r ? 0 === n.length ? r : (n = n[0]).ajax ? e.isPlainObject(n.ajax) ? n.ajax.url : n.ajax : n.sAjaxSource : this.iterator("table", function (n) { e.isPlainObject(n.ajax) ? n.ajax.url = t : n.ajax = t }) }), Be("ajax.url().load()", function (e, t) { return this.iterator("table", function (n) { wt(n, !1 === t, e) }) }); var St = function (e, t, n, i, o) { var a, s, l, c = [], u = typeof t; for (t && "string" !== u && "function" !== u && t.length !== r || (t = [t]), u = 0, s = t.length; u < s; u++) { var f = t[u] && t[u].split && !t[u].match(/[\[\(:]/) ? t[u].split(",") : [t[u]], d = 0; for (l = f.length; d < l; d++)(a = n("string" == typeof f[d] ? f[d].trim() : f[d])) && a.length && (c = c.concat(a)) } if ((e = We.selector[e]).length) for (u = 0, s = e.length; u < s; u++)c = e[u](i, o, c); return st(c) }, Tt = function (t) { return t || (t = {}), t.filter && t.search === r && (t.search = t.filter), e.extend({ search: "none", order: "current", page: "all" }, t) }, xt = function (e) { for (var t = 0, n = e.length; t < n; t++)if (0 < e[t].length) return e[0] = e[t], e[0].length = 1, e.length = 1, e.context = [e.context[t]], e; return e.length = 0, e }, Ct = function (t, n) { var r = [], i = t.aiDisplay, o = t.aiDisplayMaster, a = n.search, s = n.order; if (n = n.page, "ssp" == He(t)) return "removed" === a ? [] : ot(0, o.length); if ("current" == n) for (s = t._iDisplayStart, t = t.fnDisplayEnd(); s < t; s++)r.push(i[s]); else if ("current" == s || "applied" == s) { if ("none" == a) r = o.slice(); else if ("applied" == a) r = i.slice(); else if ("removed" == a) { var l = {}; for (s = 0, t = i.length; s < t; s++)l[i[s]] = null; r = e.map(o, function (e) { return l.hasOwnProperty(e) ? null : e }) } } else if ("index" == s || "original" == s) for (s = 0, t = t.aoData.length; s < t; s++)"none" == a ? r.push(s) : (-1 === (o = e.inArray(s, i)) && "removed" == a || 0 <= o && "applied" == a) && r.push(s); return r }; Be("rows()", function (t, n) { t === r ? t = "" : e.isPlainObject(t) && (n = t, t = ""), n = Tt(n); var i = this.iterator("table", function (i) { return function (t, n, i) { var o; return St("row", n, function (n) { var a = Ze(n), s = t.aoData; if (null !== a && !i) return [a]; if (o || (o = Ct(t, i)), null !== a && -1 !== e.inArray(a, o)) return [a]; if (null === n || n === r || "" === n) return o; if ("function" == typeof n) return e.map(o, function (e) { var t = s[e]; return n(e, t._aData, t.nTr) ? e : null }); if (n.nodeName) { a = n._DT_RowIndex; var l = n._DT_CellIndex; return a !== r ? s[a] && s[a].nTr === n ? [a] : [] : l ? s[l.row] && s[l.row].nTr === n.parentNode ? [l.row] : [] : (a = e(n).closest("*[data-dt-row]")).length ? [a.data("dt-row")] : [] } return "string" == typeof n && "#" === n.charAt(0) && (a = t.aIds[n.replace(/^#/, "")]) !== r ? [a.idx] : (a = at(it(t.aoData, o, "nTr")), e(a).filter(n).map(function () { return this._DT_RowIndex }).toArray()) }, t, i) }(i, t, n) }, 1); return i.selector.rows = t, i.selector.opts = n, i }), Be("rows().nodes()", function () { return this.iterator("row", function (e, t) { return e.aoData[t].nTr || r }, 1) }), Be("rows().data()", function () { return this.iterator(!0, "rows", function (e, t) { return it(e.aoData, t, "_aData") }, 1) }), Ue("rows().cache()", "row().cache()", function (e) { return this.iterator("row", function (t, n) { return t = t.aoData[n], "search" === e ? t._aFilterData : t._aSortData }, 1) }), Ue("rows().invalidate()", "row().invalidate()", function (e) { return this.iterator("row", function (t, n) { k(t, n, e) }) }), Ue("rows().indexes()", "row().index()", function () { return this.iterator("row", function (e, t) { return t }, 1) }), Ue("rows().ids()", "row().id()", function (e) { for (var t = [], n = this.context, r = 0, i = n.length; r < i; r++)for (var o = 0, a = this[r].length; o < a; o++) { var s = n[r].rowIdFn(n[r].aoData[this[r][o]]._aData); t.push((!0 === e ? "#" : "") + s) } return new bt(n, t) }), Ue("rows().remove()", "row().remove()", function () { var e = this; return this.iterator("row", function (t, n, i) { var o, a, s = t.aoData, l = s[n]; s.splice(n, 1); var c = 0; for (o = s.length; c < o; c++) { var u = s[c], f = u.anCells; if (null !== u.nTr && (u.nTr._DT_RowIndex = c), null !== f) for (u = 0, a = f.length; u < a; u++)f[u]._DT_CellIndex.row = c } I(t.aiDisplayMaster, n), I(t.aiDisplay, n), I(e[i], n, !1), 0 < t._iRecordsDisplay && t._iRecordsDisplay--, Re(t), (n = t.rowIdFn(l._aData)) !== r && delete t.aIds[n] }), this.iterator("table", function (e) { for (var t = 0, n = e.aoData.length; t < n; t++)e.aoData[t].idx = t }), this }), Be("rows.add()", function (t) { var n = this.iterator("table", function (e) { var n, r = [], i = 0; for (n = t.length; i < n; i++) { var o = t[i]; o.nodeName && "TR" === o.nodeName.toUpperCase() ? r.push(w(e, o)[0]) : r.push(_(e, o)) } return r }, 1), r = this.rows(-1); return r.pop(), e.merge(r, n), r }), Be("row()", function (e, t) { return xt(this.rows(e, t)) }), Be("row().data()", function (e) { var t = this.context; if (e === r) return t.length && this.length ? t[0].aoData[this[0]]._aData : r; var n = t[0].aoData[this[0]]; return n._aData = e, Array.isArray(e) && n.nTr && n.nTr.id && D(t[0].rowId)(e, n.nTr.id), k(t[0], this[0], "data"), this }), Be("row().node()", function () { var e = this.context; return e.length && this.length && e[0].aoData[this[0]].nTr || null }), Be("row.add()", function (t) { t instanceof e && t.length && (t = t[0]); var n = this.iterator("table", function (e) { return t.nodeName && "TR" === t.nodeName.toUpperCase() ? w(e, t)[0] : _(e, t) }); return this.row(n[0]) }); var Dt = function (e, t) { var n = e.context; n.length && (e = n[0].aoData[t !== r ? t : e[0]]) && e._details && (e._details.remove(), e._detailsShow = r, e._details = r) }, Et = function (e, t) { var n = e.context; n.length && e.length && ((e = n[0].aoData[e[0]])._details && ((e._detailsShow = t) ? e._details.insertAfter(e.nTr) : e._details.detach(), At(n[0]))) }, At = function (e) { var t = new bt(e), n = e.aoData; t.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details"), 0 < rt(n, "_details").length && (t.on("draw.dt.DT_details", function (r, i) { e === i && t.rows({ page: "current" }).eq(0).each(function (e) { (e = n[e])._detailsShow && e._details.insertAfter(e.nTr) }) }), t.on("column-visibility.dt.DT_details", function (t, r, i, o) { if (e === r) for (r = m(r), i = 0, o = n.length; i < o; i++)(t = n[i])._details && t._details.children("td[colspan]").attr("colspan", r) }), t.on("destroy.dt.DT_details", function (r, i) { if (e === i) for (r = 0, i = n.length; r < i; r++)n[r]._details && Dt(t, r) })) }; Be("row().child()", function (t, n) { var i = this.context; return t === r ? i.length && this.length ? i[0].aoData[this[0]]._details : r : (!0 === t ? this.child.show() : !1 === t ? Dt(this) : i.length && this.length && function (t, n, r, i) { var o = [], a = function (n, r) { if (Array.isArray(n) || n instanceof e) for (var i = 0, s = n.length; i < s; i++)a(n[i], r); else n.nodeName && "tr" === n.nodeName.toLowerCase() ? o.push(n) : (i = e("<tr><td></td></tr>").addClass(r), e("td", i).addClass(r).html(n)[0].colSpan = m(t), o.push(i[0])) }; a(r, i), n._details && n._details.detach(), n._details = e(o), n._detailsShow && n._details.insertAfter(n.nTr) }(i[0], i[0].aoData[this[0]], t, n), this) }), Be(["row().child.show()", "row().child().show()"], function (e) { return Et(this, !0), this }), Be(["row().child.hide()", "row().child().hide()"], function () { return Et(this, !1), this }), Be(["row().child.remove()", "row().child().remove()"], function () { return Dt(this), this }), Be("row().child.isShown()", function () { var e = this.context; return e.length && this.length && e[0].aoData[this[0]]._detailsShow || !1 }); var It = /^([^:]+):(name|visIdx|visible)$/, kt = function (e, t, n, r, i) { n = [], r = 0; for (var o = i.length; r < o; r++)n.push(S(e, i[r], t)); return n }; Be("columns()", function (t, n) { t === r ? t = "" : e.isPlainObject(t) && (n = t, t = ""), n = Tt(n); var i = this.iterator("table", function (r) { return function (t, n, r) { var i = t.aoColumns, o = rt(i, "sName"), a = rt(i, "nTh"); return St("column", n, function (n) { var s = Ze(n); if ("" === n) return ot(i.length); if (null !== s) return [0 <= s ? s : i.length + s]; if ("function" == typeof n) { var l = Ct(t, r); return e.map(i, function (e, r) { return n(r, kt(t, r, 0, 0, l), a[r]) ? r : null }) } var c = "string" == typeof n ? n.match(It) : ""; if (c) switch (c[2]) { case "visIdx": case "visible": if (0 > (s = parseInt(c[1], 10))) { var u = e.map(i, function (e, t) { return e.bVisible ? t : null }); return [u[u.length + s]] } return [p(t, s)]; case "name": return e.map(o, function (e, t) { return e === c[1] ? t : null }); default: return [] }return n.nodeName && n._DT_CellIndex ? [n._DT_CellIndex.column] : (s = e(a).filter(n).map(function () { return e.inArray(this, a) }).toArray()).length || !n.nodeName ? s : (s = e(n).closest("*[data-dt-column]")).length ? [s.data("dt-column")] : [] }, t, r) }(r, t, n) }, 1); return i.selector.cols = t, i.selector.opts = n, i }), Ue("columns().header()", "column().header()", function (e, t) { return this.iterator("column", function (e, t) { return e.aoColumns[t].nTh }, 1) }), Ue("columns().footer()", "column().footer()", function (e, t) { return this.iterator("column", function (e, t) { return e.aoColumns[t].nTf }, 1) }), Ue("columns().data()", "column().data()", function () { return this.iterator("column-rows", kt, 1) }), Ue("columns().dataSrc()", "column().dataSrc()", function () { return this.iterator("column", function (e, t) { return e.aoColumns[t].mData }, 1) }), Ue("columns().cache()", "column().cache()", function (e) { return this.iterator("column-rows", function (t, n, r, i, o) { return it(t.aoData, o, "search" === e ? "_aFilterData" : "_aSortData", n) }, 1) }), Ue("columns().nodes()", "column().nodes()", function () { return this.iterator("column-rows", function (e, t, n, r, i) { return it(e.aoData, i, "anCells", t) }, 1) }), Ue("columns().visible()", "column().visible()", function (t, n) { var i = this, o = this.iterator("column", function (n, i) { if (t === r) return n.aoColumns[i].bVisible; var o, a = n.aoColumns, s = a[i], l = n.aoData; if (t !== r && s.bVisible !== t) { if (t) { var c = e.inArray(!0, rt(a, "bVisible"), i + 1); for (a = 0, o = l.length; a < o; a++) { var u = l[a].nTr; n = l[a].anCells, u && u.insertBefore(n[i], n[c] || null) } } else e(rt(n.aoData, "anCells", i)).detach(); s.bVisible = t } }); return t !== r && this.iterator("table", function (o) { O(o, o.aoHeader), O(o, o.aoFooter), o.aiDisplay.length || e(o.nTBody).find("td[colspan]").attr("colspan", m(o)), Ee(o), i.iterator("column", function (e, r) { Oe(e, null, "column-visibility", [e, r, t, n]) }), (n === r || n) && i.columns.adjust() }), o }), Ue("columns().indexes()", "column().index()", function (e) { return this.iterator("column", function (t, n) { return "visible" === e ? g(t, n) : n }, 1) }), Be("columns.adjust()", function () { return this.iterator("table", function (e) { h(e) }, 1) }), Be("column.index()", function (e, t) { if (0 !== this.context.length) { var n = this.context[0]; if ("fromVisible" === e || "toData" === e) return p(n, t); if ("fromData" === e || "toVisible" === e) return g(n, t) } }), Be("column()", function (e, t) { return xt(this.columns(e, t)) }); Be("cells()", function (t, n, i) { if (e.isPlainObject(t) && (t.row === r ? (i = t, t = null) : (i = n, n = null)), e.isPlainObject(n) && (i = n, n = null), null === n || n === r) return this.iterator("table", function (n) { return function (t, n, i) { var o, a, s, l, c, u, f, d = t.aoData, h = Ct(t, i), p = at(it(d, h, "anCells")), g = e(lt([], p)), m = t.aoColumns.length; return St("cell", n, function (n) { var i = "function" == typeof n; if (null === n || n === r || i) { for (a = [], s = 0, l = h.length; s < l; s++)for (o = h[s], c = 0; c < m; c++)u = { row: o, column: c }, i ? (f = d[o], n(u, S(t, o, c), f.anCells ? f.anCells[c] : null) && a.push(u)) : a.push(u); return a } return e.isPlainObject(n) ? n.column !== r && n.row !== r && -1 !== e.inArray(n.row, h) ? [n] : [] : (i = g.filter(n).map(function (e, t) { return { row: t._DT_CellIndex.row, column: t._DT_CellIndex.column } }).toArray()).length || !n.nodeName ? i : (f = e(n).closest("*[data-dt-row]")).length ? [{ row: f.data("dt-row"), column: f.data("dt-column") }] : [] }, t, i) }(n, t, Tt(i)) }); var o, a, s, l, c = i ? { page: i.page, order: i.order, search: i.search } : {}, u = this.columns(n, c), f = this.rows(t, c); return c = this.iterator("table", function (e, t) { for (e = [], o = 0, a = f[t].length; o < a; o++)for (s = 0, l = u[t].length; s < l; s++)e.push({ row: f[t][o], column: u[t][s] }); return e }, 1), c = i && i.selected ? this.cells(c, i) : c, e.extend(c.selector, { cols: n, rows: t, opts: i }), c }), Ue("cells().nodes()", "cell().node()", function () { return this.iterator("cell", function (e, t, n) { return (e = e.aoData[t]) && e.anCells ? e.anCells[n] : r }, 1) }), Be("cells().data()", function () { return this.iterator("cell", function (e, t, n) { return S(e, t, n) }, 1) }), Ue("cells().cache()", "cell().cache()", function (e) { return e = "search" === e ? "_aFilterData" : "_aSortData", this.iterator("cell", function (t, n, r) { return t.aoData[n][e][r] }, 1) }), Ue("cells().render()", "cell().render()", function (e) { return this.iterator("cell", function (t, n, r) { return S(t, n, r, e) }, 1) }), Ue("cells().indexes()", "cell().index()", function () { return this.iterator("cell", function (e, t, n) { return { row: t, column: n, columnVisible: g(e, n) } }, 1) }), Ue("cells().invalidate()", "cell().invalidate()", function (e) { return this.iterator("cell", function (t, n, r) { k(t, n, e, r) }) }), Be("cell()", function (e, t, n) { return xt(this.cells(e, t, n)) }), Be("cell().data()", function (e) { var t = this.context, n = this[0]; return e === r ? t.length && n.length ? S(t[0], n[0].row, n[0].column) : r : (T(t[0], n[0].row, n[0].column, e), k(t[0], n[0].row, "data", n[0].column), this) }), Be("order()", function (e, t) { var n = this.context; return e === r ? 0 !== n.length ? n[0].aaSorting : r : ("number" == typeof e ? e = [[e, t]] : e.length && !Array.isArray(e[0]) && (e = Array.prototype.slice.call(arguments)), this.iterator("table", function (t) { t.aaSorting = e.slice() })) }), Be("order.listener()", function (e, t, n) { return this.iterator("table", function (r) { xe(r, e, t, n) }) }), Be("order.fixed()", function (t) { if (!t) { var n = this.context; return n = n.length ? n[0].aaSortingFixed : r, Array.isArray(n) ? { pre: n } : n } return this.iterator("table", function (n) { n.aaSortingFixed = e.extend(!0, {}, t) }) }), Be(["columns().order()", "column().order()"], function (t) { var n = this; return this.iterator("table", function (r, i) { var o = []; e.each(n[i], function (e, n) { o.push([n, t]) }), r.aaSorting = o }) }), Be("search()", function (t, n, i, o) { var a = this.context; return t === r ? 0 !== a.length ? a[0].oPreviousSearch.sSearch : r : this.iterator("table", function (r) { r.oFeatures.bFilter && z(r, e.extend({}, r.oPreviousSearch, { sSearch: t + "", bRegex: null !== n && n, bSmart: null === i || i, bCaseInsensitive: null === o || o }), 1) }) }), Ue("columns().search()", "column().search()", function (t, n, i, o) { return this.iterator("column", function (a, s) { var l = a.aoPreSearchCols; if (t === r) return l[s].sSearch; a.oFeatures.bFilter && (e.extend(l[s], { sSearch: t + "", bRegex: null !== n && n, bSmart: null === i || i, bCaseInsensitive: null === o || o }), z(a, a.oPreviousSearch, 1)) }) }), Be("state()", function () { return this.context.length ? this.context[0].oSavedState : null }), Be("state.clear()", function () { return this.iterator("table", function (e) { e.fnStateSaveCallback.call(e.oInstance, e, {}) }) }), Be("state.loaded()", function () { return this.context.length ? this.context[0].oLoadedState : null }), Be("state.save()", function () { return this.iterator("table", function (e) { Ee(e) }) }), Ve.versionCheck = Ve.fnVersionCheck = function (e) { for (var t, n, r = Ve.version.split("."), i = 0, o = (e = e.split(".")).length; i < o; i++)if ((t = parseInt(r[i], 10) || 0) !== (n = parseInt(e[i], 10) || 0)) return t > n; return !0 }, Ve.isDataTable = Ve.fnIsDataTable = function (t) { var n = e(t).get(0), r = !1; return t instanceof Ve.Api || (e.each(Ve.settings, function (t, i) { t = i.nScrollHead ? e("table", i.nScrollHead)[0] : null; var o = i.nScrollFoot ? e("table", i.nScrollFoot)[0] : null; i.nTable !== n && t !== n && o !== n || (r = !0) }), r) }, Ve.tables = Ve.fnTables = function (t) { var n = !1; e.isPlainObject(t) && (n = t.api, t = t.visible); var r = e.map(Ve.settings, function (n) { if (!t || t && e(n.nTable).is(":visible")) return n.nTable }); return n ? new bt(r) : r }, Ve.camelToHungarian = o, Be("$()", function (t, n) { return n = this.rows(n).nodes(), n = e(n), e([].concat(n.filter(t).toArray(), n.find(t).toArray())) }), e.each(["on", "one", "off"], function (t, n) { Be(n + "()", function () { var t = Array.prototype.slice.call(arguments); t[0] = e.map(t[0].split(/\s/), function (e) { return e.match(/\.dt\b/) ? e : e + ".dt" }).join(" "); var r = e(this.tables().nodes()); return r[n].apply(r, t), this }) }), Be("clear()", function () { return this.iterator("table", function (e) { A(e) }) }), Be("settings()", function () { return new bt(this.context, this.context) }), Be("init()", function () { var e = this.context; return e.length ? e[0].oInit : null }), Be("data()", function () { return this.iterator("table", function (e) { return rt(e.aoData, "_aData") }).flatten() }), Be("destroy()", function (n) { return n = n || !1, this.iterator("table", function (r) { var i = r.nTableWrapper.parentNode, o = r.oClasses, a = r.nTable, s = r.nTBody, l = r.nTHead, c = r.nTFoot, u = e(a); s = e(s); var f, d = e(r.nTableWrapper), h = e.map(r.aoData, function (e) { return e.nTr }); r.bDestroying = !0, Oe(r, "aoDestroyCallback", "destroy", [r]), n || new bt(r).columns().visible(!0), d.off(".DT").find(":not(tbody *)").off(".DT"), e(t).off(".DT-" + r.sInstance), a != l.parentNode && (u.children("thead").detach(), u.append(l)), c && a != c.parentNode && (u.children("tfoot").detach(), u.append(c)), r.aaSorting = [], r.aaSortingFixed = [], Ce(r), e(h).removeClass(r.asStripeClasses.join(" ")), e("th, td", l).removeClass(o.sSortable + " " + o.sSortableAsc + " " + o.sSortableDesc + " " + o.sSortableNone), s.children().detach(), s.append(h), u[l = n ? "remove" : "detach"](), d[l](), !n && i && (i.insertBefore(a, r.nTableReinsertBefore), u.css("width", r.sDestroyWidth).removeClass(o.sTable), (f = r.asDestroyStripes.length) && s.children().each(function (t) { e(this).addClass(r.asDestroyStripes[t % f]) })), -1 !== (i = e.inArray(r, Ve.settings)) && Ve.settings.splice(i, 1) }) }), e.each(["column", "row", "cell"], function (e, t) { Be(t + "s().every()", function (e) { var n = this.selector.opts, i = this; return this.iterator(t, function (o, a, s, l, c) { e.call(i[t](a, "cell" === t ? s : n, "cell" === t ? n : r), a, s, l, c) }) }) }), Be("i18n()", function (t, n, i) { var o = this.context[0]; return (t = C(t)(o.oLanguage)) === r && (t = n), i !== r && e.isPlainObject(t) && (t = t[i] !== r ? t[i] : t._), t.replace("%d", i) }), Ve.version = "1.10.25", Ve.settings = [], Ve.models = {}, Ve.models.oSearch = { bCaseInsensitive: !0, sSearch: "", bRegex: !1, bSmart: !0 }, Ve.models.oRow = { nTr: null, anCells: null, _aData: [], _aSortData: null, _aFilterData: null, _sFilterRow: null, _sRowStripe: "", src: null, idx: -1 }, Ve.models.oColumn = { idx: null, aDataSort: null, asSorting: null, bSearchable: null, bSortable: null, bVisible: null, _sManualType: null, _bAttrSrc: !1, fnCreatedCell: null, fnGetData: null, fnSetData: null, mData: null, mRender: null, nTh: null, nTf: null, sClass: null, sContentPadding: null, sDefaultContent: null, sName: null, sSortDataType: "std", sSortingClass: null, sSortingClassJUI: null, sTitle: null, sType: null, sWidth: null, sWidthOrig: null }, Ve.defaults = { aaData: null, aaSorting: [[0, "asc"]], aaSortingFixed: [], ajax: null, aLengthMenu: [10, 25, 50, 100], aoColumns: null, aoColumnDefs: null, aoSearchCols: [], asStripeClasses: null, bAutoWidth: !0, bDeferRender: !1, bDestroy: !1, bFilter: !0, bInfo: !0, bLengthChange: !0, bPaginate: !0, bProcessing: !1, bRetrieve: !1, bScrollCollapse: !1, bServerSide: !1, bSort: !0, bSortMulti: !0, bSortCellsTop: !1, bSortClasses: !0, bStateSave: !1, fnCreatedRow: null, fnDrawCallback: null, fnFooterCallback: null, fnFormatNumber: function (e) { return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g, this.oLanguage.sThousands) }, fnHeaderCallback: null, fnInfoCallback: null, fnInitComplete: null, fnPreDrawCallback: null, fnRowCallback: null, fnServerData: null, fnServerParams: null, fnStateLoadCallback: function (e) { try { return JSON.parse((-1 === e.iStateDuration ? sessionStorage : localStorage).getItem("DataTables_" + e.sInstance + "_" + location.pathname)) } catch (e) { return {} } }, fnStateLoadParams: null, fnStateLoaded: null, fnStateSaveCallback: function (e, t) { try { (-1 === e.iStateDuration ? sessionStorage : localStorage).setItem("DataTables_" + e.sInstance + "_" + location.pathname, JSON.stringify(t)) } catch (e) { } }, fnStateSaveParams: null, iStateDuration: 7200, iDeferLoading: null, iDisplayLength: 10, iDisplayStart: 0, iTabIndex: 0, oClasses: {}, oLanguage: { oAria: { sSortAscending: ": activate to sort column ascending", sSortDescending: ": activate to sort column descending" }, oPaginate: { sFirst: "First", sLast: "Last", sNext: "Next", sPrevious: "Previous" }, sEmptyTable: "No data available in table", sInfo: "Showing _START_ to _END_ of _TOTAL_ entries", sInfoEmpty: "Showing 0 to 0 of 0 entries", sInfoFiltered: "(filtered from _MAX_ total entries)", sInfoPostFix: "", sDecimal: "", sThousands: ",", sLengthMenu: "Show _MENU_ entries", sLoadingRecords: "Loading...", sProcessing: "Processing...", sSearch: "Search:", sSearchPlaceholder: "", sUrl: "", sZeroRecords: "No matching records found" }, oSearch: e.extend({}, Ve.models.oSearch), sAjaxDataProp: "data", sAjaxSource: null, sDom: "lfrtip", searchDelay: null, sPaginationType: "simple_numbers", sScrollX: "", sScrollXInner: "", sScrollY: "", sServerMethod: "GET", renderer: null, rowId: "DT_RowId" }, i(Ve.defaults), Ve.defaults.column = { aDataSort: null, iDataSort: -1, asSorting: ["asc", "desc"], bSearchable: !0, bSortable: !0, bVisible: !0, fnCreatedCell: null, mData: null, mRender: null, sCellType: "td", sClass: "", sContentPadding: "", sDefaultContent: null, sName: "", sSortDataType: "std", sTitle: null, sType: null, sWidth: null }, i(Ve.defaults.column), Ve.models.oSettings = { oFeatures: { bAutoWidth: null, bDeferRender: null, bFilter: null, bInfo: null, bLengthChange: null, bPaginate: null, bProcessing: null, bServerSide: null, bSort: null, bSortMulti: null, bSortClasses: null, bStateSave: null }, oScroll: { bCollapse: null, iBarWidth: 0, sX: null, sXInner: null, sY: null }, oLanguage: { fnInfoCallback: null }, oBrowser: { bScrollOversize: !1, bScrollbarLeft: !1, bBounding: !1, barWidth: 0 }, ajax: null, aanFeatures: [], aoData: [], aiDisplay: [], aiDisplayMaster: [], aIds: {}, aoColumns: [], aoHeader: [], aoFooter: [], oPreviousSearch: {}, aoPreSearchCols: [], aaSorting: null, aaSortingFixed: [], asStripeClasses: null, asDestroyStripes: [], sDestroyWidth: 0, aoRowCallback: [], aoHeaderCallback: [], aoFooterCallback: [], aoDrawCallback: [], aoRowCreatedCallback: [], aoPreDrawCallback: [], aoInitComplete: [], aoStateSaveParams: [], aoStateLoadParams: [], aoStateLoaded: [], sTableId: "", nTable: null, nTHead: null, nTFoot: null, nTBody: null, nTableWrapper: null, bDeferLoading: !1, bInitialised: !1, aoOpenRows: [], sDom: null, searchDelay: null, sPaginationType: "two_button", iStateDuration: 0, aoStateSave: [], aoStateLoad: [], oSavedState: null, oLoadedState: null, sAjaxSource: null, sAjaxDataProp: null, jqXHR: null, json: r, oAjaxData: r, fnServerData: null, aoServerParams: [], sServerMethod: null, fnFormatNumber: null, aLengthMenu: null, iDraw: 0, bDrawing: !1, iDrawError: -1, _iDisplayLength: 10, _iDisplayStart: 0, _iRecordsTotal: 0, _iRecordsDisplay: 0, oClasses: {}, bFiltered: !1, bSorted: !1, bSortCellsTop: null, oInit: null, aoDestroyCallback: [], fnRecordsTotal: function () { return "ssp" == He(this) ? 1 * this._iRecordsTotal : this.aiDisplayMaster.length }, fnRecordsDisplay: function () { return "ssp" == He(this) ? 1 * this._iRecordsDisplay : this.aiDisplay.length }, fnDisplayEnd: function () { var e = this._iDisplayLength, t = this._iDisplayStart, n = t + e, r = this.aiDisplay.length, i = this.oFeatures, o = i.bPaginate; return i.bServerSide ? !1 === o || -1 === e ? t + r : Math.min(t + e, this._iRecordsDisplay) : !o || n > r || -1 === e ? r : n }, oInstance: null, sInstance: null, iTabIndex: 0, nScrollHead: null, nScrollFoot: null, aLastSort: [], oPlugins: {}, rowIdFn: null, rowId: null }, Ve.ext = We = { buttons: {}, classes: {}, builder: "dt/dt-1.10.25", errMode: "alert", feature: [], search: [], selector: { cell: [], column: [], row: [] }, internal: {}, legacy: { ajax: null }, pager: {}, renderer: { pageButton: {}, header: {} }, order: {}, type: { detect: [], search: {}, order: {} }, _unique: 0, fnVersionCheck: Ve.fnVersionCheck, iApiIndex: 0, oJUIClasses: {}, sVersion: Ve.version }, e.extend(We, { afnFiltering: We.search, aTypes: We.type.detect, ofnSearch: We.type.search, oSort: We.type.order, afnSortData: We.order, aoFeatures: We.feature, oApi: We.internal, oStdClasses: We.classes, oPagination: We.pager }), e.extend(Ve.ext.classes, { sTable: "dataTable", sNoFooter: "no-footer", sPageButton: "paginate_button", sPageButtonActive: "current", sPageButtonDisabled: "disabled", sStripeOdd: "odd", sStripeEven: "even", sRowEmpty: "dataTables_empty", sWrapper: "dataTables_wrapper", sFilter: "dataTables_filter", sInfo: "dataTables_info", sPaging: "dataTables_paginate paging_", sLength: "dataTables_length", sProcessing: "dataTables_processing", sSortAsc: "sorting_asc", sSortDesc: "sorting_desc", sSortable: "sorting", sSortableAsc: "sorting_desc_disabled", sSortableDesc: "sorting_asc_disabled", sSortableNone: "sorting_disabled", sSortColumn: "sorting_", sFilterInput: "", sLengthSelect: "", sScrollWrapper: "dataTables_scroll", sScrollHead: "dataTables_scrollHead", sScrollHeadInner: "dataTables_scrollHeadInner", sScrollBody: "dataTables_scrollBody", sScrollFoot: "dataTables_scrollFoot", sScrollFootInner: "dataTables_scrollFootInner", sHeaderTH: "", sFooterTH: "", sSortJUIAsc: "", sSortJUIDesc: "", sSortJUI: "", sSortJUIAscAllowed: "", sSortJUIDescAllowed: "", sSortJUIWrapper: "", sSortIcon: "", sJUIHeader: "", sJUIFooter: "" }); var jt = Ve.ext.pager; e.extend(jt, { simple: function (e, t) { return ["previous", "next"] }, full: function (e, t) { return ["first", "previous", "next", "last"] }, numbers: function (e, t) { return [qe(e, t)] }, simple_numbers: function (e, t) { return ["previous", qe(e, t), "next"] }, full_numbers: function (e, t) { return ["first", "previous", qe(e, t), "next", "last"] }, first_last_numbers: function (e, t) { return ["first", qe(e, t), "last"] }, _numbers: qe, numbers_length: 7 }), e.extend(!0, Ve.ext.renderer, { pageButton: { _: function (t, i, o, a, s, l) { var c, u, f = t.oClasses, d = t.oLanguage.oPaginate, h = t.oLanguage.oAria.paginate || {}, p = 0, g = function (n, r) { var i, a = f.sPageButtonDisabled, m = function (e) { ce(t, e.data.action, !0) }, v = 0; for (i = r.length; v < i; v++) { var y = r[v]; if (Array.isArray(y)) { var b = e("<" + (y.DT_el || "div") + "/>").appendTo(n); g(b, y) } else { switch (c = null, u = y, b = t.iTabIndex, y) { case "ellipsis": n.append('<span class="ellipsis">…</span>'); break; case "first": c = d.sFirst, 0 === s && (b = -1, u += " " + a); break; case "previous": c = d.sPrevious, 0 === s && (b = -1, u += " " + a); break; case "next": c = d.sNext, 0 !== l && s !== l - 1 || (b = -1, u += " " + a); break; case "last": c = d.sLast, 0 !== l && s !== l - 1 || (b = -1, u += " " + a); break; default: c = t.fnFormatNumber(y + 1), u = s === y ? f.sPageButtonActive : "" }null !== c && (Le(b = e("<a>", { class: f.sPageButton + " " + u, "aria-controls": t.sTableId, "aria-label": h[y], "data-dt-idx": p, tabindex: b, id: 0 === o && "string" == typeof y ? t.sTableId + "_" + y : null }).html(c).appendTo(n), { action: y }, m), p++) } } }; try { var m = e(i).find(n.activeElement).data("dt-idx") } catch (e) { } g(e(i).empty(), a), m !== r && e(i).find("[data-dt-idx=" + m + "]").trigger("focus") } } }), e.extend(Ve.ext.type.detect, [function (e, t) { return t = t.oLanguage.sDecimal, tt(e, t) ? "num" + t : null }, function (e, t) { return (!e || e instanceof Date || Ye.test(e)) && (null !== (t = Date.parse(e)) && !isNaN(t) || Ke(e)) ? "date" : null }, function (e, t) { return t = t.oLanguage.sDecimal, tt(e, t, !0) ? "num-fmt" + t : null }, function (e, t) { return t = t.oLanguage.sDecimal, nt(e, t) ? "html-num" + t : null }, function (e, t) { return t = t.oLanguage.sDecimal, nt(e, t, !0) ? "html-num-fmt" + t : null }, function (e, t) { return Ke(e) || "string" == typeof e && -1 !== e.indexOf("<") ? "html" : null }]), e.extend(Ve.ext.type.search, { html: function (e) { return Ke(e) ? e : "string" == typeof e ? e.replace(ze, " ").replace(Qe, "") : "" }, string: function (e) { return Ke(e) ? e : "string" == typeof e ? e.replace(ze, " ") : e } }); var Nt = function (e, t, n, r) { return 0 === e || e && "-" !== e ? (t && (e = et(e, t)), e.replace && (n && (e = e.replace(n, "")), r && (e = e.replace(r, ""))), 1 * e) : -1 / 0 }; e.extend(We.type.order, { "date-pre": function (e) { return e = Date.parse(e), isNaN(e) ? -1 / 0 : e }, "html-pre": function (e) { return Ke(e) ? "" : e.replace ? e.replace(/<.*?>/g, "").toLowerCase() : e + "" }, "string-pre": function (e) { return Ke(e) ? "" : "string" == typeof e ? e.toLowerCase() : e.toString ? e.toString() : "" }, "string-asc": function (e, t) { return e < t ? -1 : e > t ? 1 : 0 }, "string-desc": function (e, t) { return e < t ? 1 : e > t ? -1 : 0 } }), Me(""), e.extend(!0, Ve.ext.renderer, { header: { _: function (t, n, r, i) { e(t.nTable).on("order.dt.DT", function (e, o, a, s) { t === o && (e = r.idx, n.removeClass(i.sSortAsc + " " + i.sSortDesc).addClass("asc" == s[e] ? i.sSortAsc : "desc" == s[e] ? i.sSortDesc : r.sSortingClass)) }) }, jqueryui: function (t, n, r, i) { e("<div/>").addClass(i.sSortJUIWrapper).append(n.contents()).append(e("<span/>").addClass(i.sSortIcon + " " + r.sSortingClassJUI)).appendTo(n), e(t.nTable).on("order.dt.DT", function (e, o, a, s) { t === o && (e = r.idx, n.removeClass(i.sSortAsc + " " + i.sSortDesc).addClass("asc" == s[e] ? i.sSortAsc : "desc" == s[e] ? i.sSortDesc : r.sSortingClass), n.find("span." + i.sSortIcon).removeClass(i.sSortJUIAsc + " " + i.sSortJUIDesc + " " + i.sSortJUI + " " + i.sSortJUIAscAllowed + " " + i.sSortJUIDescAllowed).addClass("asc" == s[e] ? i.sSortJUIAsc : "desc" == s[e] ? i.sSortJUIDesc : r.sSortingClassJUI)) }) } } }); var Lt = function (e) { return "string" == typeof e ? e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """) : e }; return Ve.render = { number: function (e, t, n, r, i) { return { display: function (o) { if ("number" != typeof o && "string" != typeof o) return o; var a = 0 > o ? "-" : "", s = parseFloat(o); return isNaN(s) ? Lt(o) : (s = s.toFixed(n), o = Math.abs(s), s = parseInt(o, 10), o = n ? t + (o - s).toFixed(n).substring(2) : "", 0 === s && 0 === parseFloat(o) && (a = ""), a + (r || "") + s.toString().replace(/\B(?=(\d{3})+(?!\d))/g, e) + o + (i || "")) } } }, text: function () { return { display: Lt, filter: Lt } } }, e.extend(Ve.ext.internal, { _fnExternApiFunc: $e, _fnBuildAjax: $, _fnAjaxUpdate: W, _fnAjaxParameters: B, _fnAjaxUpdateDraw: U, _fnAjaxDataSrc: V, _fnAddColumn: f, _fnColumnOptions: d, _fnAdjustColumnSizing: h, _fnVisibleToColumnIndex: p, _fnColumnIndexToVisible: g, _fnVisbleColumns: m, _fnGetColumns: v, _fnColumnTypes: y, _fnApplyColumnDefs: b, _fnHungarianMap: i, _fnCamelToHungarian: o, _fnLanguageCompat: a, _fnBrowserDetect: c, _fnAddData: _, _fnAddTr: w, _fnNodeToDataIndex: function (e, t) { return t._DT_RowIndex !== r ? t._DT_RowIndex : null }, _fnNodeToColumnIndex: function (t, n, r) { return e.inArray(r, t.aoData[n].anCells) }, _fnGetCellData: S, _fnSetCellData: T, _fnSplitObjNotation: x, _fnGetObjectDataFn: C, _fnSetObjectDataFn: D, _fnGetDataMaster: E, _fnClearTable: A, _fnDeleteIndex: I, _fnInvalidate: k, _fnGetRowElements: j, _fnCreateTr: N, _fnBuildHead: P, _fnDrawHead: O, _fnDraw: R, _fnReDraw: F, _fnAddOptionsHtml: H, _fnDetectHeader: q, _fnGetUniqueThs: M, _fnFeatureHtmlFilter: X, _fnFilterComplete: z, _fnFilterCustom: Q, _fnFilterColumn: Y, _fnFilter: G, _fnFilterCreateSearch: J, _fnEscapeRegex: dt, _fnFilterData: K, _fnFeatureHtmlInfo: te, _fnUpdateInfo: ne, _fnInfoMacros: re, _fnInitialise: ie, _fnInitComplete: oe, _fnLengthChange: ae, _fnFeatureHtmlLength: se, _fnFeatureHtmlPaginate: le, _fnPageChange: ce, _fnFeatureHtmlProcessing: ue, _fnProcessingDisplay: fe, _fnFeatureHtmlTable: de, _fnScrollDraw: he, _fnApplyToChildren: pe, _fnCalculateColumnWidths: ge, _fnThrottle: mt, _fnConvertToWidth: me, _fnGetWidestNode: ve, _fnGetMaxLenString: ye, _fnStringToCss: be, _fnSortFlatten: _e, _fnSort: we, _fnSortAria: Se, _fnSortListener: Te, _fnSortAttachListener: xe, _fnSortingClasses: Ce, _fnSortData: De, _fnSaveState: Ee, _fnLoadState: Ae, _fnSettingsFromNode: Ie, _fnLog: ke, _fnMap: je, _fnBindAction: Le, _fnCallbackReg: Pe, _fnCallbackFire: Oe, _fnLengthOverflow: Re, _fnRenderer: Fe, _fnDataSource: He, _fnRowAttributes: L, _fnExtend: Ne, _fnCalculateEnd: function () { } }), e.fn.dataTable = Ve, Ve.$ = e, e.fn.dataTableSettings = Ve.settings, e.fn.dataTableExt = Ve.ext, e.fn.DataTable = function (t) { return e(this).dataTable(t).api() }, e.each(Ve, function (t, n) { e.fn.DataTable[t] = n }), e.fn.dataTable }), function (e) { "function" == typeof define && define.amd ? define(["jquery", "datatables.net"], function (t) { return e(t, window, document) }) : "object" == typeof exports ? module.exports = function (t, n) { return t || (t = window), n && n.fn.dataTable || (n = require("datatables.net")(t, n).$), e(n, t, t.document) } : e(jQuery, window, document) }(function (e, t, n, r) { return e.fn.dataTable }), $(document).ready(function () { var e = { url: function (e) { return "/v2/search.ashx?qry=" + e }, getValue: "name", adjustWidth: !1, cssClasses: "wwo_autocomplete_input", template: { type: "custom", method: function (e, t) { return "<img src='//cdn.worldweatheronline.com/images/flags/" + t.iso + ".gif' /> " + t.name } }, list: { onChooseEvent: function () { var e = $("#stttext").getSelectedItemData().url; window.location.href = e } } }; $("#stttext").length > 0 && $("#stttext").easyAutocomplete(e), $("#stttext").length > 0 && $("#stttext").keydown(function (e) { if (13 === e.keyCode) return e.preventDefault(), !1 }), $("#dtSports").length > 0 && $("#dtSports").DataTable(), $(window).scroll(function () { $(window).scrollTop() > 100 ? $("#back2Top").fadeIn() : $("#back2Top").fadeOut() }), $("#back2Top").click(function (e) { return e.preventDefault(), $("html, body").animate({ scrollTop: 0 }, "slow"), !1 }), $(function () { $(window).scroll(sticky_relocate), sticky_relocate() }), setTimeout(function () { $("#mapholder").length > 0 && $.getScript("//cdn.worldweatheronline.com/staticv150817/leaflet-1/leaflet.js", leafletMapReady), $.getScript("https://www.googletagmanager.com/gtag/js?id=G-N8BNVLHSHY", loadGTag), $.getScript("https://securepubads.g.doubleclick.net/tag/js/gpt.js", loadGAds), $.ajax({ url: "/Default.aspx/load_hp_sports", type: "POST", contentType: "application/json; charset=utf-8", dataType: "json", success: function (e) { $("#hp_sports").html(e.d) } }), function () { var e = document.createElement("script"), t = document.getElementsByTagName("script")[0], n = "https://quantcast.mgr.consensu.org".concat("/choice/", "JUapkkG9a9RQS", "/", "worldweatheronline.com", "/choice.js"), r = 0; e.async = !0, e.type = "text/javascript", e.src = n, t.parentNode.insertBefore(e, t), function () { for (var e, t = "__tcfapiLocator", n = [], r = window; r;) { try { if (r.frames[t]) { e = r; break } } catch (e) { } if (r === window.top) break; r = r.parent } e || (function e() { var n = r.document, i = !!r.frames[t]; if (!i) if (n.body) { var o = n.createElement("iframe"); o.style.cssText = "display:none", o.name = t, n.body.appendChild(o) } else setTimeout(e, 5); return !i }(), r.__tcfapi = function () { var e, t = arguments; if (!t.length) return n; if ("setGdprApplies" === t[0]) t.length > 3 && 2 === t[2] && "boolean" == typeof t[3] && (e = t[3], "function" == typeof t[2] && t[2]("set", !0)); else if ("ping" === t[0]) { var r = { gdprApplies: e, cmpLoaded: !1, cmpStatus: "stub" }; "function" == typeof t[2] && t[2](r) } else n.push(t) }, r.addEventListener("message", function (e) { var t = "string" == typeof e.data, n = {}; try { n = t ? JSON.parse(e.data) : e.data } catch (e) { } var r = n.__tcfapiCall; r && window.__tcfapi(r.command, r.version, function (n, i) { var o = { __tcfapiReturn: { returnValue: n, success: i, callId: r.callId } }; t && (o = JSON.stringify(o)), e && e.source && e.source.postMessage && e.source.postMessage(o, "*") }, r.parameter) }, !1)) }(); var i = function () { var e = arguments; typeof window.__uspapi !== i && setTimeout(function () { void 0 !== window.__uspapi && window.__uspapi.apply(window.__uspapi, e) }, 500) }; if (void 0 === window.__uspapi) { window.__uspapi = i; var o = setInterval(function () { r++, window.__uspapi === i && r < 3 ? console.warn("USP is not accessible") : clearInterval(o) }, 6e3) } }(), function () { var e = "worldweatheronline.com_950x300_between_responsive_1_DFP", t = new XMLHttpRequest; t.onreadystatechange = function () { if (4 == t.readyState && 200 == t.status) { var n = document.querySelectorAll("[data-id='" + e + "']"), r = Array.from(n).filter(function (e) { return !e.hasAttribute("data-rendered") }); r.length > 0 && r.forEach(function (e) { var n = e.contentWindow.document; n.open(), n.write(t.responseText), n.close(), e.setAttribute("data-rendered", !0) }) } }; var n = "4854540".trim() ? "," + "4854540".trim() : ""; t.open("GET", "https://pubads.g.doubleclick.net/gampad/adx?iu=/147246189" + n + "/" + e + "&sz=" + encodeURI("300x250|728x90") + "&t=Placement_type%3Dserving&" + Date.now(), !0), t.send() }(), function () { var e = "worldweatheronline.com_1100x90_responsive_2_DFP", t = new XMLHttpRequest; t.onreadystatechange = function () { if (4 == t.readyState && 200 == t.status) { var n = document.querySelectorAll("[data-id='" + e + "']"), r = Array.from(n).filter(function (e) { return !e.hasAttribute("data-rendered") }); r.length > 0 && r.forEach(function (e) { var n = e.contentWindow.document; n.open(), n.write(t.responseText), n.close(), e.setAttribute("data-rendered", !0) }) } }; var n = "4854540".trim() ? "," + "4854540".trim() : ""; t.open("GET", "https://pubads.g.doubleclick.net/gampad/adx?iu=/147246189" + n + "/" + e + "&sz=" + encodeURI("300x250|728x90|970x90") + "&t=Placement_type%3Dserving&" + Date.now(), !0), t.send() }(), function () { var e = "worldweatheronline.com_336x280_in_content_responsive_3_DFP", t = new XMLHttpRequest; t.onreadystatechange = function () { if (4 == t.readyState && 200 == t.status) { var n = document.querySelectorAll("[data-id='" + e + "']"), r = Array.from(n).filter(function (e) { return !e.hasAttribute("data-rendered") }); r.length > 0 && r.forEach(function (e) { var n = e.contentWindow.document; n.open(), n.write(t.responseText), n.close(), e.setAttribute("data-rendered", !0) }) } }; var n = "4854540".trim() ? "," + "4854540".trim() : ""; t.open("GET", "https://pubads.g.doubleclick.net/gampad/adx?iu=/147246189" + n + "/" + e + "&sz=" + encodeURI("300x250") + "&t=Placement_type%3Dserving&" + Date.now(), !0), t.send() }(), function () { var e = "worldweatheronline.com_160x600_right_sticky_responsive_4_DFP", t = new XMLHttpRequest; t.onreadystatechange = function () { if (4 == t.readyState && 200 == t.status) { var n = document.querySelectorAll("[data-id='" + e + "']"), r = Array.from(n).filter(function (e) { return !e.hasAttribute("data-rendered") }); r.length > 0 && r.forEach(function (e) { var n = e.contentWindow.document; n.open(), n.write(t.responseText), n.close(), e.setAttribute("data-rendered", !0) }) } }; var n = "4854540".trim() ? "," + "4854540".trim() : ""; t.open("GET", "https://pubads.g.doubleclick.net/gampad/adx?iu=/147246189" + n + "/" + e + "&sz=" + encodeURI("300x250|160x600") + "&t=Placement_type%3Dserving&" + Date.now(), !0), t.send() }(), function () { var e = "worldweatheronline.com_970x90_anchor_responsive_5_DFP", t = new XMLHttpRequest; t.onreadystatechange = function () { if (4 == t.readyState && 200 == t.status) { var n = document.querySelectorAll("[data-id='" + e + "']"), r = Array.from(n).filter(function (e) { return !e.hasAttribute("data-rendered") }); r.length > 0 && r.forEach(function (e) { var n = e.contentWindow.document; n.open(), n.write(t.responseText), n.close(), e.setAttribute("data-rendered", !0) }) } }; var n = "4854540".trim() ? "," + "4854540".trim() : ""; t.open("GET", "https://pubads.g.doubleclick.net/gampad/adx?iu=/147246189" + n + "/" + e + "&sz=" + encodeURI("320x100|728x90|970x90") + "&t=Placement_type%3Dserving&" + Date.now(), !0), t.send() }() }, 1e3) });