flocking
Version:
Creative audio synthesis for the Web
995 lines (994 loc) • 696 kB
JavaScript
/*! Flocking 3.0.1, Copyright 2022 Colin Clark | flockingjs.org */
!function(e, t) {
"use strict";
"object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) {
if (e.document) return t(e);
throw new Error("jQuery requires a window with a document");
} : t(e);
}("undefined" != typeof window ? window : this, function(x, V) {
"use strict";
function y(e) {
return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item;
}
function g(e) {
return null != e && e === e.window;
}
var t = [], F = Object.getPrototypeOf, u = t.slice, B = t.flat ? function(e) {
return t.flat.call(e);
} : function(e) {
return t.concat.apply([], e);
}, q = t.push, G = t.indexOf, j = {}, _ = j.toString, U = j.hasOwnProperty, H = U.toString, W = H.call(Object), h = {}, S = x.document, z = {
type: !0,
src: !0,
nonce: !0,
noModule: !0
};
function $(e, t, n) {
var r, o, a = (n = n || S).createElement("script");
if (a.text = e, t) for (r in z) (o = t[r] || t.getAttribute && t.getAttribute(r)) && a.setAttribute(r, o);
n.head.appendChild(a).parentNode.removeChild(a);
}
function m(e) {
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? j[_.call(e)] || "object" : typeof e;
}
var e = "3.6.0", C = function(e, t) {
return new C.fn.init(e, t);
};
function K(e) {
var t = !!e && "length" in e && e.length, n = m(e);
return !y(e) && !g(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e);
}
C.fn = C.prototype = {
jquery: e,
constructor: C,
length: 0,
toArray: function() {
return u.call(this);
},
get: function(e) {
return null == e ? u.call(this) : e < 0 ? this[e + this.length] : this[e];
},
pushStack: function(e) {
e = C.merge(this.constructor(), e);
return e.prevObject = this, e;
},
each: function(e) {
return C.each(this, e);
},
map: function(n) {
return this.pushStack(C.map(this, function(e, t) {
return n.call(e, t, e);
}));
},
slice: function() {
return this.pushStack(u.apply(this, arguments));
},
first: function() {
return this.eq(0);
},
last: function() {
return this.eq(-1);
},
even: function() {
return this.pushStack(C.grep(this, function(e, t) {
return (t + 1) % 2;
}));
},
odd: function() {
return this.pushStack(C.grep(this, function(e, t) {
return t % 2;
}));
},
eq: function(e) {
var t = this.length, e = +e + (e < 0 ? t : 0);
return this.pushStack(0 <= e && e < t ? [ this[e] ] : []);
},
end: function() {
return this.prevObject || this.constructor();
},
push: q,
sort: t.sort,
splice: t.splice
}, C.extend = C.fn.extend = function() {
var e, t, n, r, o, a = arguments[0] || {}, i = 1, u = arguments.length, s = !1;
for ("boolean" == typeof a && (s = a, a = arguments[i] || {}, i++), "object" == typeof a || y(a) || (a = {}),
i === u && (a = this, i--); i < u; i++) if (null != (e = arguments[i])) for (t in e) n = e[t],
"__proto__" !== t && a !== n && (s && n && (C.isPlainObject(n) || (r = Array.isArray(n))) ? (o = a[t],
o = r && !Array.isArray(o) ? [] : r || C.isPlainObject(o) ? o : {}, r = !1,
a[t] = C.extend(s, o, n)) : void 0 !== n && (a[t] = n));
return a;
}, C.extend({
expando: "jQuery" + (e + Math.random()).replace(/\D/g, ""),
isReady: !0,
error: function(e) {
throw new Error(e);
},
noop: function() {},
isPlainObject: function(e) {
return !(!e || "[object Object]" !== _.call(e)) && (!(e = F(e)) || "function" == typeof (e = U.call(e, "constructor") && e.constructor) && H.call(e) === W);
},
isEmptyObject: function(e) {
for (var t in e) return !1;
return !0;
},
globalEval: function(e, t, n) {
$(e, {
nonce: t && t.nonce
}, n);
},
each: function(e, t) {
var n, r = 0;
if (K(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) {
t = t || [];
return null != e && (K(Object(e)) ? C.merge(t, "string" == typeof e ? [ e ] : e) : q.call(t, e)),
t;
},
inArray: function(e, t, n) {
return null == t ? -1 : G.call(t, e, n);
},
merge: function(e, t) {
for (var n = +t.length, r = 0, o = e.length; r < n; r++) e[o++] = t[r];
return e.length = o, e;
},
grep: function(e, t, n) {
for (var r = [], o = 0, a = e.length, i = !n; o < a; o++) !t(e[o], o) != i && r.push(e[o]);
return r;
},
map: function(e, t, n) {
var r, o, a = 0, i = [];
if (K(e)) for (r = e.length; a < r; a++) null != (o = t(e[a], a, n)) && i.push(o); else for (a in e) null != (o = t(e[a], a, n)) && i.push(o);
return B(i);
},
guid: 1,
support: h
}), "function" == typeof Symbol && (C.fn[Symbol.iterator] = t[Symbol.iterator]),
C.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
j["[object " + t + "]"] = t.toLowerCase();
});
function r(e, t, n) {
for (var r = [], o = void 0 !== n; (e = e[t]) && 9 !== e.nodeType; ) if (1 === e.nodeType) {
if (o && C(e).is(n)) break;
r.push(e);
}
return r;
}
function J(e, t) {
for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
return n;
}
var e = function(V) {
function f(e, t) {
return e = "0x" + e.slice(1) - 65536, t || (e < 0 ? String.fromCharCode(65536 + e) : String.fromCharCode(e >> 10 | 55296, 1023 & e | 56320));
}
function F(e, t) {
return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e;
}
function B() {
S();
}
var e, d, b, a, q, p, G, j, x, s, l, S, C, n, w, m, r, o, g, A = "sizzle" + +new Date(), c = V.document, N = 0, _ = 0, U = M(), H = M(), W = M(), h = M(), z = function(e, t) {
return e === t && (l = !0), 0;
}, $ = {}.hasOwnProperty, t = [], K = t.pop, J = t.push, T = t.push, X = t.slice, y = function(e, t) {
for (var n = 0, r = e.length; n < r; n++) if (e[n] === t) return n;
return -1;
}, Q = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", i = "[\\x20\\t\\r\\n\\f]", u = "(?:\\\\[\\da-fA-F]{1,6}" + i + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", Y = "\\[" + i + "*(" + u + ")(?:" + i + "*([*^$|!~]?=)" + i + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + u + "))|)" + i + "*\\]", Z = ":(" + u + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + Y + ")*)|.*)\\)|)", ee = new RegExp(i + "+", "g"), v = new RegExp("^" + i + "+|((?:^|[^\\\\])(?:\\\\.)*)" + i + "+$", "g"), te = new RegExp("^" + i + "*," + i + "*"), ne = new RegExp("^" + i + "*([>+~]|" + i + ")" + i + "*"), re = new RegExp(i + "|>"), oe = new RegExp(Z), ae = new RegExp("^" + u + "$"), k = {
ID: new RegExp("^#(" + u + ")"),
CLASS: new RegExp("^\\.(" + u + ")"),
TAG: new RegExp("^(" + u + "|[*])"),
ATTR: new RegExp("^" + Y),
PSEUDO: new RegExp("^" + Z),
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + i + "*(even|odd|(([+-]|)(\\d*)n|)" + i + "*(?:([+-]|)" + i + "*(\\d+)|))" + i + "*\\)|)", "i"),
bool: new RegExp("^(?:" + Q + ")$", "i"),
needsContext: new RegExp("^" + i + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + i + "*((?:-\\d)?\\d*)" + i + "*\\)|)(?=[^-]|$)", "i")
}, ie = /HTML$/i, ue = /^(?:input|select|textarea|button)$/i, se = /^h\d$/i, I = /^[^{]+\{\s*\[native \w/, le = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ce = /[+~]/, D = new RegExp("\\\\[\\da-fA-F]{1,6}" + i + "?|\\\\([^\\r\\n\\f])", "g"), fe = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, de = ye(function(e) {
return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase();
}, {
dir: "parentNode",
next: "legend"
});
try {
T.apply(t = X.call(c.childNodes), c.childNodes), t[c.childNodes.length].nodeType;
} catch (e) {
T = {
apply: t.length ? function(e, t) {
J.apply(e, X.call(t));
} : function(e, t) {
for (var n = e.length, r = 0; e[n++] = t[r++]; );
e.length = n - 1;
}
};
}
function O(t, e, n, r) {
var o, a, i, u, s, l, c = e && e.ownerDocument, f = e ? e.nodeType : 9;
if (n = n || [], "string" != typeof t || !t || 1 !== f && 9 !== f && 11 !== f) return n;
if (!r && (S(e), e = e || C, w)) {
if (11 !== f && (u = le.exec(t))) if (o = u[1]) {
if (9 === f) {
if (!(l = e.getElementById(o))) return n;
if (l.id === o) return n.push(l), n;
} else if (c && (l = c.getElementById(o)) && g(e, l) && l.id === o) return n.push(l),
n;
} else {
if (u[2]) return T.apply(n, e.getElementsByTagName(t)), n;
if ((o = u[3]) && d.getElementsByClassName && e.getElementsByClassName) return T.apply(n, e.getElementsByClassName(o)),
n;
}
if (d.qsa && !h[t + " "] && (!m || !m.test(t)) && (1 !== f || "object" !== e.nodeName.toLowerCase())) {
if (l = t, c = e, 1 === f && (re.test(t) || ne.test(t))) {
for ((c = ce.test(t) && he(e.parentNode) || e) === e && d.scope || ((i = e.getAttribute("id")) ? i = i.replace(fe, F) : e.setAttribute("id", i = A)),
a = (s = p(t)).length; a--; ) s[a] = (i ? "#" + i : ":scope") + " " + R(s[a]);
l = s.join(",");
}
try {
return T.apply(n, c.querySelectorAll(l)), n;
} catch (e) {
h(t, !0);
} finally {
i === A && e.removeAttribute("id");
}
}
}
return j(t.replace(v, "$1"), e, n, r);
}
function M() {
var n = [];
function r(e, t) {
return n.push(e + " ") > b.cacheLength && delete r[n.shift()], r[e + " "] = t;
}
return r;
}
function P(e) {
return e[A] = !0, e;
}
function L(e) {
var t = C.createElement("fieldset");
try {
return !!e(t);
} catch (e) {
return !1;
} finally {
t.parentNode && t.parentNode.removeChild(t);
}
}
function pe(e, t) {
for (var n = e.split("|"), r = n.length; r--; ) b.attrHandle[n[r]] = t;
}
function me(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 ge(t) {
return function(e) {
return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && de(e) === t : e.disabled === t : "label" in e && e.disabled === t;
};
}
function E(i) {
return P(function(a) {
return a = +a, P(function(e, t) {
for (var n, r = i([], e.length, a), o = r.length; o--; ) e[n = r[o]] && (e[n] = !(t[n] = e[n]));
});
});
}
function he(e) {
return e && void 0 !== e.getElementsByTagName && e;
}
for (e in d = O.support = {}, q = O.isXML = function(e) {
var t = e && e.namespaceURI, e = e && (e.ownerDocument || e).documentElement;
return !ie.test(t || e && e.nodeName || "HTML");
}, S = O.setDocument = function(e) {
var e = e ? e.ownerDocument || e : c;
return e != C && 9 === e.nodeType && e.documentElement && (n = (C = e).documentElement,
w = !q(C), c != C && (e = C.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener("unload", B, !1) : e.attachEvent && e.attachEvent("onunload", B)),
d.scope = L(function(e) {
return n.appendChild(e).appendChild(C.createElement("div")), void 0 !== e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length;
}), d.attributes = L(function(e) {
return e.className = "i", !e.getAttribute("className");
}), d.getElementsByTagName = L(function(e) {
return e.appendChild(C.createComment("")), !e.getElementsByTagName("*").length;
}), d.getElementsByClassName = I.test(C.getElementsByClassName), d.getById = L(function(e) {
return n.appendChild(e).id = A, !C.getElementsByName || !C.getElementsByName(A).length;
}), d.getById ? (b.filter.ID = function(e) {
var t = e.replace(D, f);
return function(e) {
return e.getAttribute("id") === t;
};
}, b.find.ID = function(e, t) {
if (void 0 !== t.getElementById && w) return (t = t.getElementById(e)) ? [ t ] : [];
}) : (b.filter.ID = function(e) {
var t = e.replace(D, f);
return function(e) {
e = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
return e && e.value === t;
};
}, b.find.ID = function(e, t) {
if (void 0 !== t.getElementById && w) {
var n, r, o, a = t.getElementById(e);
if (a) {
if ((n = a.getAttributeNode("id")) && n.value === e) return [ a ];
for (o = t.getElementsByName(e), r = 0; a = o[r++]; ) if ((n = a.getAttributeNode("id")) && n.value === e) return [ a ];
}
return [];
}
}), b.find.TAG = d.getElementsByTagName ? function(e, t) {
return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0;
} : function(e, t) {
var n, r = [], o = 0, a = t.getElementsByTagName(e);
if ("*" !== e) return a;
for (;n = a[o++]; ) 1 === n.nodeType && r.push(n);
return r;
}, b.find.CLASS = d.getElementsByClassName && function(e, t) {
if (void 0 !== t.getElementsByClassName && w) return t.getElementsByClassName(e);
}, r = [], m = [], (d.qsa = I.test(C.querySelectorAll)) && (L(function(e) {
var t;
n.appendChild(e).innerHTML = "<a id='" + A + "'></a><select id='" + A + "-\r\\' msallowcapture=''><option selected=''></option></select>",
e.querySelectorAll("[msallowcapture^='']").length && m.push("[*^$]=" + i + "*(?:''|\"\")"),
e.querySelectorAll("[selected]").length || m.push("\\[" + i + "*(?:value|" + Q + ")"),
e.querySelectorAll("[id~=" + A + "-]").length || m.push("~="), (t = C.createElement("input")).setAttribute("name", ""),
e.appendChild(t), e.querySelectorAll("[name='']").length || m.push("\\[" + i + "*name" + i + "*=" + i + "*(?:''|\"\")"),
e.querySelectorAll(":checked").length || m.push(":checked"), e.querySelectorAll("a#" + A + "+*").length || m.push(".#.+[+~]"),
e.querySelectorAll("\\\f"), m.push("[\\r\\n\\f]");
}), L(function(e) {
e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
var t = C.createElement("input");
t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"),
e.querySelectorAll("[name=d]").length && m.push("name" + i + "*[*^$|!~]?="),
2 !== e.querySelectorAll(":enabled").length && m.push(":enabled", ":disabled"),
n.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && m.push(":enabled", ":disabled"),
e.querySelectorAll("*,:x"), m.push(",.*:");
})), (d.matchesSelector = I.test(o = n.matches || n.webkitMatchesSelector || n.mozMatchesSelector || n.oMatchesSelector || n.msMatchesSelector)) && L(function(e) {
d.disconnectedMatch = o.call(e, "*"), o.call(e, "[s!='']:x"), r.push("!=", Z);
}), m = m.length && new RegExp(m.join("|")), r = r.length && new RegExp(r.join("|")),
e = I.test(n.compareDocumentPosition), g = e || I.test(n.contains) ? function(e, t) {
var n = 9 === e.nodeType ? e.documentElement : e, t = t && t.parentNode;
return e === t || !(!t || 1 !== t.nodeType || !(n.contains ? n.contains(t) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(t)));
} : function(e, t) {
if (t) for (;t = t.parentNode; ) if (t === e) return !0;
return !1;
}, z = e ? function(e, t) {
if (e === t) return l = !0, 0;
var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == c && g(c, e) ? -1 : t == C || t.ownerDocument == c && g(c, t) ? 1 : s ? y(s, e) - y(s, t) : 0 : 4 & n ? -1 : 1);
} : function(e, t) {
if (e === t) return l = !0, 0;
var n, r = 0, o = e.parentNode, a = t.parentNode, i = [ e ], u = [ t ];
if (!o || !a) return e == C ? -1 : t == C ? 1 : o ? -1 : a ? 1 : s ? y(s, e) - y(s, t) : 0;
if (o === a) return me(e, t);
for (n = e; n = n.parentNode; ) i.unshift(n);
for (n = t; n = n.parentNode; ) u.unshift(n);
for (;i[r] === u[r]; ) r++;
return r ? me(i[r], u[r]) : i[r] == c ? -1 : u[r] == c ? 1 : 0;
}), C;
}, O.matches = function(e, t) {
return O(e, null, null, t);
}, O.matchesSelector = function(e, t) {
if (S(e), d.matchesSelector && w && !h[t + " "] && (!r || !r.test(t)) && (!m || !m.test(t))) try {
var n = o.call(e, t);
if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n;
} catch (e) {
h(t, !0);
}
return 0 < O(t, C, null, [ e ]).length;
}, O.contains = function(e, t) {
return (e.ownerDocument || e) != C && S(e), g(e, t);
}, O.attr = function(e, t) {
(e.ownerDocument || e) != C && S(e);
var n = b.attrHandle[t.toLowerCase()], n = n && $.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !w) : void 0;
return void 0 !== n ? n : d.attributes || !w ? e.getAttribute(t) : (n = e.getAttributeNode(t)) && n.specified ? n.value : null;
}, O.escape = function(e) {
return (e + "").replace(fe, F);
}, O.error = function(e) {
throw new Error("Syntax error, unrecognized expression: " + e);
}, O.uniqueSort = function(e) {
var t, n = [], r = 0, o = 0;
if (l = !d.detectDuplicates, s = !d.sortStable && e.slice(0), e.sort(z),
l) {
for (;t = e[o++]; ) t === e[o] && (r = n.push(o));
for (;r--; ) e.splice(n[r], 1);
}
return s = null, e;
}, a = O.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 += a(e);
} else if (3 === o || 4 === o) return e.nodeValue;
} else for (;t = e[r++]; ) n += a(t);
return n;
}, (b = O.selectors = {
cacheLength: 50,
createPseudo: P,
match: k,
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(D, f), e[3] = (e[3] || e[4] || e[5] || "").replace(D, f),
"~=" === 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] || O.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] && O.error(e[0]),
e;
},
PSEUDO: function(e) {
var t, n = !e[6] && e[2];
return k.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && oe.test(n) && (t = p(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(D, f).toLowerCase();
return "*" === e ? function() {
return !0;
} : function(e) {
return e.nodeName && e.nodeName.toLowerCase() === t;
};
},
CLASS: function(e) {
var t = U[e + " "];
return t || (t = new RegExp("(^|" + i + ")" + e + "(" + i + "|$)")) && U(e, function(e) {
return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "");
});
},
ATTR: function(t, n, r) {
return function(e) {
e = O.attr(e, t);
return null == e ? "!=" === n : !n || (e += "", "=" === n ? e === r : "!=" === n ? e !== r : "^=" === n ? r && 0 === e.indexOf(r) : "*=" === n ? r && -1 < e.indexOf(r) : "$=" === n ? r && e.slice(-r.length) === r : "~=" === n ? -1 < (" " + e.replace(ee, " ") + " ").indexOf(r) : "|=" === n && (e === r || e.slice(0, r.length + 1) === r + "-"));
};
},
CHILD: function(m, e, t, g, h) {
var v = "nth" !== m.slice(0, 3), y = "last" !== m.slice(-4), k = "of-type" === e;
return 1 === g && 0 === h ? function(e) {
return !!e.parentNode;
} : function(e, t, n) {
var r, o, a, i, u, s, l = v != y ? "nextSibling" : "previousSibling", c = e.parentNode, f = k && e.nodeName.toLowerCase(), d = !n && !k, p = !1;
if (c) {
if (v) {
for (;l; ) {
for (i = e; i = i[l]; ) if (k ? i.nodeName.toLowerCase() === f : 1 === i.nodeType) return !1;
s = l = "only" === m && !s && "nextSibling";
}
return !0;
}
if (s = [ y ? c.firstChild : c.lastChild ], y && d) {
for (p = (u = (r = (o = (a = (i = c)[A] || (i[A] = {}))[i.uniqueID] || (a[i.uniqueID] = {}))[m] || [])[0] === N && r[1]) && r[2],
i = u && c.childNodes[u]; i = ++u && i && i[l] || (p = u = 0) || s.pop(); ) if (1 === i.nodeType && ++p && i === e) {
o[m] = [ N, u, p ];
break;
}
} else if (!1 === (p = d ? u = (r = (o = (a = (i = e)[A] || (i[A] = {}))[i.uniqueID] || (a[i.uniqueID] = {}))[m] || [])[0] === N && r[1] : p)) for (;(i = ++u && i && i[l] || (p = u = 0) || s.pop()) && ((k ? i.nodeName.toLowerCase() !== f : 1 !== i.nodeType) || !++p || (d && ((o = (a = i[A] || (i[A] = {}))[i.uniqueID] || (a[i.uniqueID] = {}))[m] = [ N, p ]),
i !== e)); );
return (p -= h) === g || p % g == 0 && 0 <= p / g;
}
};
},
PSEUDO: function(e, a) {
var t, i = b.pseudos[e] || b.setFilters[e.toLowerCase()] || O.error("unsupported pseudo: " + e);
return i[A] ? i(a) : 1 < i.length ? (t = [ e, e, "", a ], b.setFilters.hasOwnProperty(e.toLowerCase()) ? P(function(e, t) {
for (var n, r = i(e, a), o = r.length; o--; ) e[n = y(e, r[o])] = !(t[n] = r[o]);
}) : function(e) {
return i(e, 0, t);
}) : i;
}
},
pseudos: {
not: P(function(e) {
var r = [], o = [], u = G(e.replace(v, "$1"));
return u[A] ? P(function(e, t, n, r) {
for (var o, a = u(e, null, r, []), i = e.length; i--; ) (o = a[i]) && (e[i] = !(t[i] = o));
}) : function(e, t, n) {
return r[0] = e, u(r, null, n, o), r[0] = null, !o.pop();
};
}),
has: P(function(t) {
return function(e) {
return 0 < O(t, e).length;
};
}),
contains: P(function(t) {
return t = t.replace(D, f), function(e) {
return -1 < (e.textContent || a(e)).indexOf(t);
};
}),
lang: P(function(n) {
return ae.test(n || "") || O.error("unsupported lang: " + n),
n = n.replace(D, f).toLowerCase(), function(e) {
var t;
do {
if (t = w ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-");
} while ((e = e.parentNode) && 1 === e.nodeType);
return !1;
};
}),
target: function(e) {
var t = V.location && V.location.hash;
return t && t.slice(1) === e.id;
},
root: function(e) {
return e === n;
},
focus: function(e) {
return e === C.activeElement && (!C.hasFocus || C.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 !b.pseudos.empty(e);
},
header: function(e) {
return se.test(e.nodeName);
},
input: function(e) {
return ue.test(e.nodeName);
},
button: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && "button" === e.type || "button" === t;
},
text: function(e) {
return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (e = e.getAttribute("type")) || "text" === e.toLowerCase());
},
first: E(function() {
return [ 0 ];
}),
last: E(function(e, t) {
return [ t - 1 ];
}),
eq: E(function(e, t, n) {
return [ n < 0 ? n + t : n ];
}),
even: E(function(e, t) {
for (var n = 0; n < t; n += 2) e.push(n);
return e;
}),
odd: E(function(e, t) {
for (var n = 1; n < t; n += 2) e.push(n);
return e;
}),
lt: E(function(e, t, n) {
for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r; ) e.push(r);
return e;
}),
gt: E(function(e, t, n) {
for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r);
return e;
})
}
}).pseudos.nth = b.pseudos.eq, {
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
}) b.pseudos[e] = function(t) {
return function(e) {
return "input" === e.nodeName.toLowerCase() && e.type === t;
};
}(e);
for (e in {
submit: !0,
reset: !0
}) b.pseudos[e] = function(n) {
return function(e) {
var t = e.nodeName.toLowerCase();
return ("input" === t || "button" === t) && e.type === n;
};
}(e);
function ve() {}
function R(e) {
for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
return r;
}
function ye(i, e, t) {
var u = e.dir, s = e.next, l = s || u, c = t && "parentNode" === l, f = _++;
return e.first ? function(e, t, n) {
for (;e = e[u]; ) if (1 === e.nodeType || c) return i(e, t, n);
return !1;
} : function(e, t, n) {
var r, o, a = [ N, f ];
if (n) {
for (;e = e[u]; ) if ((1 === e.nodeType || c) && i(e, t, n)) return !0;
} else for (;e = e[u]; ) if (1 === e.nodeType || c) if (o = (o = e[A] || (e[A] = {}))[e.uniqueID] || (o[e.uniqueID] = {}),
s && s === e.nodeName.toLowerCase()) e = e[u] || e; else {
if ((r = o[l]) && r[0] === N && r[1] === f) return a[2] = r[2];
if ((o[l] = a)[2] = i(e, t, n)) return !0;
}
return !1;
};
}
function ke(o) {
return 1 < o.length ? function(e, t, n) {
for (var r = o.length; r--; ) if (!o[r](e, t, n)) return !1;
return !0;
} : o[0];
}
function be(e, t, n, r, o) {
for (var a, i = [], u = 0, s = e.length, l = null != t; u < s; u++) !(a = e[u]) || n && !n(a, r, o) || (i.push(a),
l && t.push(u));
return i;
}
function xe(p, m, g, h, v, e) {
return h && !h[A] && (h = xe(h)), v && !v[A] && (v = xe(v, e)), P(function(e, t, n, r) {
var o, a, i, u = [], s = [], l = t.length, c = e || function(e, t, n) {
for (var r = 0, o = t.length; r < o; r++) O(e, t[r], n);
return n;
}(m || "*", n.nodeType ? [ n ] : n, []), f = !p || !e && m ? c : be(c, u, p, n, r), d = g ? v || (e ? p : l || h) ? [] : t : f;
if (g && g(f, d, n, r), h) for (o = be(d, s), h(o, [], n, r), a = o.length; a--; ) (i = o[a]) && (d[s[a]] = !(f[s[a]] = i));
if (e) {
if (v || p) {
if (v) {
for (o = [], a = d.length; a--; ) (i = d[a]) && o.push(f[a] = i);
v(null, d = [], o, r);
}
for (a = d.length; a--; ) (i = d[a]) && -1 < (o = v ? y(e, i) : u[a]) && (e[o] = !(t[o] = i));
}
} else d = be(d === t ? d.splice(l, d.length) : d), v ? v(null, t, d, r) : T.apply(t, d);
});
}
function Se(h, v) {
function e(e, t, n, r, o) {
var a, i, u, s = 0, l = "0", c = e && [], f = [], d = x, p = e || k && b.find.TAG("*", o), m = N += null == d ? 1 : Math.random() || .1, g = p.length;
for (o && (x = t == C || t || o); l !== g && null != (a = p[l]); l++) {
if (k && a) {
for (i = 0, t || a.ownerDocument == C || (S(a), n = !w); u = h[i++]; ) if (u(a, t || C, n)) {
r.push(a);
break;
}
o && (N = m);
}
y && ((a = !u && a) && s--, e && c.push(a));
}
if (s += l, y && l !== s) {
for (i = 0; u = v[i++]; ) u(c, f, t, n);
if (e) {
if (0 < s) for (;l--; ) c[l] || f[l] || (f[l] = K.call(r));
f = be(f);
}
T.apply(r, f), o && !e && 0 < f.length && 1 < s + v.length && O.uniqueSort(r);
}
return o && (N = m, x = d), c;
}
var y = 0 < v.length, k = 0 < h.length;
return y ? P(e) : e;
}
return ve.prototype = b.filters = b.pseudos, b.setFilters = new ve(), p = O.tokenize = function(e, t) {
var n, r, o, a, i, u, s, l = H[e + " "];
if (l) return t ? 0 : l.slice(0);
for (i = e, u = [], s = b.preFilter; i; ) {
for (a in n && !(r = te.exec(i)) || (r && (i = i.slice(r[0].length) || i),
u.push(o = [])), n = !1, (r = ne.exec(i)) && (n = r.shift(), o.push({
value: n,
type: r[0].replace(v, " ")
}), i = i.slice(n.length)), b.filter) !(r = k[a].exec(i)) || s[a] && !(r = s[a](r)) || (n = r.shift(),
o.push({
value: n,
type: a,
matches: r
}), i = i.slice(n.length));
if (!n) break;
}
return t ? i.length : i ? O.error(e) : H(e, u).slice(0);
}, G = O.compile = function(e, t) {
var n, r = [], o = [], a = W[e + " "];
if (!a) {
for (n = (t = t || p(e)).length; n--; ) ((a = function e(t) {
for (var r, n, o, a = t.length, i = b.relative[t[0].type], u = i || b.relative[" "], s = i ? 1 : 0, l = ye(function(e) {
return e === r;
}, u, !0), c = ye(function(e) {
return -1 < y(r, e);
}, u, !0), f = [ function(e, t, n) {
return e = !i && (n || t !== x) || ((r = t).nodeType ? l : c)(e, t, n),
r = null, e;
} ]; s < a; s++) if (n = b.relative[t[s].type]) f = [ ye(ke(f), n) ]; else {
if ((n = b.filter[t[s].type].apply(null, t[s].matches))[A]) {
for (o = ++s; o < a && !b.relative[t[o].type]; o++);
return xe(1 < s && ke(f), 1 < s && R(t.slice(0, s - 1).concat({
value: " " === t[s - 2].type ? "*" : ""
})).replace(v, "$1"), n, s < o && e(t.slice(s, o)), o < a && e(t = t.slice(o)), o < a && R(t));
}
f.push(n);
}
return ke(f);
}(t[n]))[A] ? r : o).push(a);
(a = W(e, Se(o, r))).selector = e;
}
return a;
}, j = O.select = function(e, t, n, r) {
var o, a, i, u, s, l = "function" == typeof e && e, c = !r && p(e = l.selector || e);
if (n = n || [], 1 === c.length) {
if (2 < (a = c[0] = c[0].slice(0)).length && "ID" === (i = a[0]).type && 9 === t.nodeType && w && b.relative[a[1].type]) {
if (!(t = (b.find.ID(i.matches[0].replace(D, f), t) || [])[0])) return n;
l && (t = t.parentNode), e = e.slice(a.shift().value.length);
}
for (o = k.needsContext.test(e) ? 0 : a.length; o-- && (i = a[o],
!b.relative[u = i.type]); ) if ((s = b.find[u]) && (r = s(i.matches[0].replace(D, f), ce.test(a[0].type) && he(t.parentNode) || t))) {
if (a.splice(o, 1), e = r.length && R(a)) break;
return T.apply(n, r), n;
}
}
return (l || G(e, c))(r, t, !w, n, !t || ce.test(e) && he(t.parentNode) || t),
n;
}, d.sortStable = A.split("").sort(z).join("") === A, d.detectDuplicates = !!l,
S(), d.sortDetached = L(function(e) {
return 1 & e.compareDocumentPosition(C.createElement("fieldset"));
}), L(function(e) {
return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href");
}) || pe("type|href|height|width", function(e, t, n) {
if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2);
}), d.attributes && L(function(e) {
return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""),
"" === e.firstChild.getAttribute("value");
}) || pe("value", function(e, t, n) {
if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue;
}), L(function(e) {
return null == e.getAttribute("disabled");
}) || pe(Q, function(e, t, n) {
if (!n) return !0 === e[t] ? t.toLowerCase() : (n = e.getAttributeNode(t)) && n.specified ? n.value : null;
}), O;
}(x), X = (C.find = e, C.expr = e.selectors, C.expr[":"] = C.expr.pseudos, C.uniqueSort = C.unique = e.uniqueSort,
C.text = e.getText, C.isXMLDoc = e.isXML, C.contains = e.contains, C.escapeSelector = e.escape,
C.expr.match.needsContext);
function s(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();
}
var Q = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
function Y(e, n, r) {
return y(n) ? C.grep(e, function(e, t) {
return !!n.call(e, t, e) !== r;
}) : n.nodeType ? C.grep(e, function(e) {
return e === n !== r;
}) : "string" != typeof n ? C.grep(e, function(e) {
return -1 < G.call(n, e) !== r;
}) : C.filter(n, e, r);
}
C.filter = function(e, t, n) {
var r = t[0];
return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? C.find.matchesSelector(r, e) ? [ r ] : [] : C.find.matches(e, C.grep(t, function(e) {
return 1 === e.nodeType;
}));
}, C.fn.extend({
find: function(e) {
var t, n, r = this.length, o = this;
if ("string" != typeof e) return this.pushStack(C(e).filter(function() {
for (t = 0; t < r; t++) if (C.contains(o[t], this)) return !0;
}));
for (n = this.pushStack([]), t = 0; t < r; t++) C.find(e, o[t], n);
return 1 < r ? C.uniqueSort(n) : n;
},
filter: function(e) {
return this.pushStack(Y(this, e || [], !1));
},
not: function(e) {
return this.pushStack(Y(this, e || [], !0));
},
is: function(e) {
return !!Y(this, "string" == typeof e && X.test(e) ? C(e) : e || [], !1).length;
}
});
var Z, ee = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, te = ((C.fn.init = function(e, t, n) {
if (!e) return this;
if (n = n || Z, "string" != typeof e) return e.nodeType ? (this[0] = e,
this.length = 1, this) : y(e) ? void 0 !== n.ready ? n.ready(e) : e(C) : C.makeArray(e, this);
if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [ null, e, null ] : ee.exec(e)) || !r[1] && t) return (!t || t.jquery ? t || n : this.constructor(t)).find(e);
if (r[1]) {
if (t = t instanceof C ? t[0] : t, C.merge(this, C.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : S, !0)),
Q.test(r[1]) && C.isPlainObject(t)) for (var r in t) y(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
return this;
}
return (n = S.getElementById(r[2])) && (this[0] = n, this.length = 1), this;
}).prototype = C.fn, Z = C(S), /^(?:parents|prev(?:Until|All))/), ne = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
function re(e, t) {
for (;(e = e[t]) && 1 !== e.nodeType; );
return e;
}
C.fn.extend({
has: function(e) {
var t = C(e, this), n = t.length;
return this.filter(function() {
for (var e = 0; e < n; e++) if (C.contains(this, t[e])) return !0;
});
},
closest: function(e, t) {
var n, r = 0, o = this.length, a = [], i = "string" != typeof e && C(e);
if (!X.test(e)) for (;r < o; r++) for (n = this[r]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (i ? -1 < i.index(n) : 1 === n.nodeType && C.find.matchesSelector(n, e))) {
a.push(n);
break;
}
return this.pushStack(1 < a.length ? C.uniqueSort(a) : a);
},
index: function(e) {
return e ? "string" == typeof e ? G.call(C(e), this[0]) : G.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
},
add: function(e, t) {
return this.pushStack(C.uniqueSort(C.merge(this.get(), C(e, t))));
},
addBack: function(e) {
return this.add(null == e ? this.prevObject : this.prevObject.filter(e));
}
}), C.each({
parent: function(e) {
e = e.parentNode;
return e && 11 !== e.nodeType ? e : null;
},
parents: function(e) {
return r(e, "parentNode");
},
parentsUntil: function(e, t, n) {
return r(e, "parentNode", n);
},
next: function(e) {
return re(e, "nextSibling");
},
prev: function(e) {
return re(e, "previousSibling");
},
nextAll: function(e) {
return r(e, "nextSibling");
},
prevAll: function(e) {
return r(e, "previousSibling");
},
nextUntil: function(e, t, n) {
return r(e, "nextSibling", n);
},
prevUntil: function(e, t, n) {
return r(e, "previousSibling", n);
},
siblings: function(e) {
return J((e.parentNode || {}).firstChild, e);
},
children: function(e) {
return J(e.firstChild);
},
contents: function(e) {
return null != e.contentDocument && F(e.contentDocument) ? e.contentDocument : (s(e, "template") && (e = e.content || e),
C.merge([], e.childNodes));
}
}, function(r, o) {
C.fn[r] = function(e, t) {
var n = C.map(this, o, e);
return (t = "Until" !== r.slice(-5) ? e : t) && "string" == typeof t && (n = C.filter(t, n)),
1 < this.length && (ne[r] || C.uniqueSort(n), te.test(r) && n.reverse()),
this.pushStack(n);
};
});
var w = /[^\x20\t\r\n\f]+/g;
function c(e) {
return e;
}
function oe(e) {
throw e;
}
function ae(e, t, n, r) {
var o;
try {
e && y(o = e.promise) ? o.call(e).done(t).fail(n) : e && y(o = e.then) ? o.call(e, t, n) : t.apply(void 0, [ e ].slice(r));
} catch (e) {
n.apply(void 0, [ e ]);
}
}
C.Callbacks = function(r) {
var e, n;
r = "string" == typeof r ? (e = r, n = {}, C.each(e.match(w) || [], function(e, t) {
n[t] = !0;
}), n) : C.extend({}, r);
function o() {
for (u = u || r.once, i = a = !0; l.length; c = -1) for (t = l.shift(); ++c < s.length; ) !1 === s[c].apply(t[0], t[1]) && r.stopOnFalse && (c = s.length,
t = !1);
r.memory || (t = !1), a = !1, u && (s = t ? [] : "");
}
var a, t, i, u, s = [], l = [], c = -1, f = {
add: function() {
return s && (t && !a && (c = s.length - 1, l.push(t)), function n(e) {
C.each(e, function(e, t) {
y(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== m(t) && n(t);
});
}(arguments), t && !a && o()), this;
},
remove: function() {
return C.each(arguments, function(e, t) {
for (var n; -1 < (n = C.inArray(t, s, n)); ) s.splice(n, 1),
n <= c && c--;
}), this;
},
has: function(e) {
return e ? -1 < C.inArray(e, s) : 0 < s.length;
},
empty: function() {
return s = s && [], this;
},
disable: function() {
return u = l = [], s = t = "", this;
},
disabled: function() {
return !s;
},
lock: function() {
return u = l = [], t || a || (s = t = ""), this;
},
locked: function() {
return !!u;
},
fireWith: function(e, t) {
return u || (t = [ e, (t = t || []).slice ? t.slice() : t ], l.push(t),
a || o()), this;
},
fire: function() {
return f.fireWith(this, arguments), this;
},
fired: function() {
return !!i;
}
};
return f;
}, C.extend({
Deferred: function(e) {
var a = [ [ "notify", "progress", C.Callbacks("memory"), C.Callbacks("memory"), 2 ], [ "resolve", "done", C.Callbacks("once memory"), C.Callbacks("once memory"), 0, "resolved" ], [ "reject", "fail", C.Callbacks("once memory"), C.Callbacks("once memory"), 1, "rejected" ] ], o = "pending", i = {
state: function() {
return o;
},
always: function() {
return u.done(arguments).fail(arguments), this;
},
catch: function(e) {
return i.then(null, e);
},
pipe: function() {
var o = arguments;
return C.Deferred(function(r) {
C.each(a, function(e, t) {
var n = y(o[t[4]]) && o[t[4]];
u[t[1]](function() {
var e = n && n.apply(this, arguments);
e && y(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [ e ] : arguments);
});
}), o = null;
}).promise();
},
then: function(t, n, r) {
var s = 0;
function l(o, a, i, u) {
return function() {
function e() {
var e, t;
if (!(o < s)) {