Skip to content

Instantly share code, notes, and snippets.

@phosphore
Last active August 29, 2015 14:02
Show Gist options
  • Save phosphore/ffe809bc460c87efffe3 to your computer and use it in GitHub Desktop.
Save phosphore/ffe809bc460c87efffe3 to your computer and use it in GitHub Desktop.
Formatted source of obfuscated js @ http://www.welovenoise.com/assets/js/main.js (require.js)
This file has been truncated, but you can view the full file.
// Source -> http://www.welovenoise.com/assets/js/main.js
var requirejs, require, define;
(function (global) {
function isFunction(t) {
return "[object Function]" === ostring.call(t)
}
function isArray(t) {
return "[object Array]" === ostring.call(t)
}
function each(t, e) {
if (t) {
var n;
for (n = 0; t.length > n && (!t[n] || !e(t[n], n, t)); n += 1);
}
}
function eachReverse(t, e) {
if (t) {
var n;
for (n = t.length - 1; n > -1 && (!t[n] || !e(t[n], n, t)); n -= 1);
}
}
function hasProp(t, e) {
return hasOwn.call(t, e)
}
function getOwn(t, e) {
return hasProp(t, e) && t[e]
}
function eachProp(t, e) {
var n;
for (n in t)
if (hasProp(t, n) && e(t[n], n)) break
}
function mixin(t, e, n, i) {
return e && eachProp(e, function (e, r) {
(n || !hasProp(t, r)) && (i && "string" != typeof e ? (t[r] || (t[r] = {}), mixin(t[r], e, n, i)) : t[r] = e)
}), t
}
function bind(t, e) {
return function () {
return e.apply(t, arguments)
}
}
function scripts() {
return document.getElementsByTagName("script")
}
function defaultOnError(t) {
throw t
}
function getGlobal(t) {
if (!t) return t;
var e = global;
return each(t.split("."), function (t) {
e = e[t]
}), e
}
function makeError(t, e, n, i) {
var r = Error(e + "\nhttp://requirejs.org/docs/errors.html#" + t);
return r.requireType = t, r.requireModules = i, n && (r.originalError = n), r
}
function newContext(t) {
function e(t) {
var e, n;
for (e = 0; t[e]; e += 1)
if (n = t[e], "." === n) t.splice(e, 1), e -= 1;
else if (".." === n) {
if (1 === e && (".." === t[2] || ".." === t[0])) break;
e > 0 && (t.splice(e - 1, 2), e -= 2)
}
}
function n(t, n, i) {
var r, o, s, a, l, u, c, h, p, f, d, m = n && n.split("/"),
g = m,
y = T.map,
v = y && y["*"];
if (t && "." === t.charAt(0) && (n ? (g = getOwn(T.pkgs, n) ? m = [n] : m.slice(0, m.length - 1), t = g.concat(t.split("/")), e(t), o = getOwn(T.pkgs, r = t[0]), t = t.join("/"), o && t === r + "/" + o.main && (t = r)) : 0 === t.indexOf("./") && (t = t.substring(2))), i && y && (m || v)) {
for (a = t.split("/"), l = a.length; l > 0; l -= 1) {
if (c = a.slice(0, l).join("/"), m)
for (u = m.length; u > 0; u -= 1)
if (s = getOwn(y, m.slice(0, u).join("/")), s && (s = getOwn(s, c))) {
h = s, p = l;
break
}
if (h) break;
!f && v && getOwn(v, c) && (f = getOwn(v, c), d = l)
}!h && f && (h = f, p = d), h && (a.splice(0, p, h), t = a.join("/"))
}
return t
}
function i(t) {
isBrowser && each(scripts(), function (e) {
return e.getAttribute("data-requiremodule") === t && e.getAttribute("data-requirecontext") === b.contextName ? (e.parentNode.removeChild(e), !0) : void 0
})
}
function r(t) {
var e = getOwn(T.paths, t);
return e && isArray(e) && e.length > 1 ? (i(t), e.shift(), b.require.undef(t), b.require([t]), !0) : void 0
}
function o(t) {
var e, n = t ? t.indexOf("!") : -1;
return n > -1 && (e = t.substring(0, n), t = t.substring(n + 1, t.length)), [e, t]
}
function s(t, e, i, r) {
var s, a, l, u, c = null,
h = e ? e.name : null,
p = t,
f = !0,
d = "";
return t || (f = !1, t = "_@r" + (O += 1)), u = o(t), c = u[0], t = u[1], c && (c = n(c, h, r), a = getOwn(N, c)), t && (c ? d = a && a.normalize ? a.normalize(t, function (t) {
return n(t, h, r)
}) : n(t, h, r) : (d = n(t, h, r), u = o(d), c = u[0], d = u[1], i = !0, s = b.nameToUrl(d))), l = !c || a || i ? "" : "_unnormalized" + (j += 1), {
prefix: c,
name: d,
parentMap: e,
unnormalized: !!l,
url: s,
originalName: p,
isDefine: f,
id: (c ? c + "!" + d : d) + l
}
}
function a(t) {
var e = t.id,
n = getOwn(k, e);
return n || (n = k[e] = new b.Module(t)), n
}
function l(t, e, n) {
var i = t.id,
r = getOwn(k, i);
!hasProp(N, i) || r && !r.defineEmitComplete ? (r = a(t), r.error && "error" === e ? n(r.error) : r.on(e, n)) : "defined" === e && n(N[i])
}
function u(t, e) {
var n = t.requireModules,
i = !1;
e ? e(t) : (each(n, function (e) {
var n = getOwn(k, e);
n && (n.error = t, n.events.error && (i = !0, n.emit("error", t)))
}), i || req.onError(t))
}
function c() {
globalDefQueue.length && (apsp.apply(E, [E.length - 1, 0].concat(globalDefQueue)), globalDefQueue = [])
}
function h(t) {
delete k[t], delete C[t]
}
function p(t, e, n) {
var i = t.map.id;
t.error ? t.emit("error", t.error) : (e[i] = !0, each(t.depMaps, function (i, r) {
var o = i.id,
s = getOwn(k, o);
!s || t.depMatched[r] || n[o] || (getOwn(e, o) ? (t.defineDep(r, N[o]), t.check()) : p(s, e, n))
}), n[i] = !0)
}
function f() {
var t, e, n, o, s = 1e3 * T.waitSeconds,
a = s && b.startTime + s < (new Date).getTime(),
l = [],
c = [],
h = !1,
d = !0;
if (!v) {
if (v = !0, eachProp(C, function (n) {
if (t = n.map, e = t.id, n.enabled && (t.isDefine || c.push(n), !n.error))
if (!n.inited && a) r(e) ? (o = !0, h = !0) : (l.push(e), i(e));
else if (!n.inited && n.fetched && t.isDefine && (h = !0, !t.prefix)) return d = !1
}), a && l.length) return n = makeError("timeout", "Load timeout for modules: " + l, null, l), n.contextName = b.contextName, u(n);
d && each(c, function (t) {
p(t, {}, {})
}), a && !o || !h || !isBrowser && !isWebWorker || w || (w = setTimeout(function () {
w = 0, f()
}, 50)), v = !1
}
}
function d(t) {
hasProp(N, t[0]) || a(s(t[0], null, !0)).init(t[1], t[2])
}
function m(t, e, n, i) {
t.detachEvent && !isOpera ? i && t.detachEvent(i, e) : t.removeEventListener(n, e, !1)
}
function g(t) {
var e = t.currentTarget || t.srcElement;
return m(e, b.onScriptLoad, "load", "onreadystatechange"), m(e, b.onScriptError, "error"), {
node: e,
id: e && e.getAttribute("data-requiremodule")
}
}
function y() {
var t;
for (c(); E.length;) {
if (t = E.shift(), null === t[0]) return u(makeError("mismatch", "Mismatched anonymous define() module: " + t[t.length - 1]));
d(t)
}
}
var v, _, b, x, w, T = {
waitSeconds: 7,
baseUrl: "./",
paths: {},
pkgs: {},
shim: {},
config: {}
},
k = {},
C = {},
S = {},
E = [],
N = {},
D = {},
O = 1,
j = 1;
return x = {
require: function (t) {
return t.require ? t.require : t.require = b.makeRequire(t.map)
},
exports: function (t) {
return t.usingExports = !0, t.map.isDefine ? t.exports ? t.exports : t.exports = N[t.map.id] = {} : void 0
},
module: function (t) {
return t.module ? t.module : t.module = {
id: t.map.id,
uri: t.map.url,
config: function () {
var e, n = getOwn(T.pkgs, t.map.id);
return e = n ? getOwn(T.config, t.map.id + "/" + n.main) : getOwn(T.config, t.map.id), e || {}
},
exports: N[t.map.id]
}
}
}, _ = function (t) {
this.events = getOwn(S, t.id) || {}, this.map = t, this.shim = getOwn(T.shim, t.id), this.depExports = [], this.depMaps = [], this.depMatched = [], this.pluginMaps = {}, this.depCount = 0
}, _.prototype = {
init: function (t, e, n, i) {
i = i || {}, this.inited || (this.factory = e, n ? this.on("error", n) : this.events.error && (n = bind(this, function (t) {
this.emit("error", t)
})), this.depMaps = t && t.slice(0), this.errback = n, this.inited = !0, this.ignore = i.ignore, i.enabled || this.enabled ? this.enable() : this.check())
},
defineDep: function (t, e) {
this.depMatched[t] || (this.depMatched[t] = !0, this.depCount -= 1, this.depExports[t] = e)
},
fetch: function () {
if (!this.fetched) {
this.fetched = !0, b.startTime = (new Date).getTime();
var t = this.map;
return this.shim ? (b.makeRequire(this.map, {
enableBuildCallback: !0
})(this.shim.deps || [], bind(this, function () {
return t.prefix ? this.callPlugin() : this.load()
})), void 0) : t.prefix ? this.callPlugin() : this.load()
}
},
load: function () {
var t = this.map.url;
D[t] || (D[t] = !0, b.load(this.map.id, t))
},
check: function () {
if (this.enabled && !this.enabling) {
var t, e, n = this.map.id,
i = this.depExports,
r = this.exports,
o = this.factory;
if (this.inited) {
if (this.error) this.emit("error", this.error);
else if (!this.defining) {
if (this.defining = !0, 1 > this.depCount && !this.defined) {
if (isFunction(o)) {
if (this.events.error && this.map.isDefine || req.onError !== defaultOnError) try {
r = b.execCb(n, o, i, r)
} catch (s) {
t = s
} else r = b.execCb(n, o, i, r);
if (this.map.isDefine && (e = this.module, e && void 0 !== e.exports && e.exports !== this.exports ? r = e.exports : void 0 === r && this.usingExports && (r = this.exports)), t) return t.requireMap = this.map, t.requireModules = this.map.isDefine ? [this.map.id] : null, t.requireType = this.map.isDefine ? "define" : "require", u(this.error = t)
} else r = o;
this.exports = r, this.map.isDefine && !this.ignore && (N[n] = r, req.onResourceLoad && req.onResourceLoad(b, this.map, this.depMaps)), h(n), this.defined = !0
}
this.defining = !1, this.defined && !this.defineEmitted && (this.defineEmitted = !0, this.emit("defined", this.exports), this.defineEmitComplete = !0)
}
} else this.fetch()
}
},
callPlugin: function () {
var t = this.map,
e = t.id,
i = s(t.prefix);
this.depMaps.push(i), l(i, "defined", bind(this, function (i) {
var r, o, c, p = this.map.name,
f = this.map.parentMap ? this.map.parentMap.name : null,
d = b.makeRequire(t.parentMap, {
enableBuildCallback: !0
});
return this.map.unnormalized ? (i.normalize && (p = i.normalize(p, function (t) {
return n(t, f, !0)
}) || ""), o = s(t.prefix + "!" + p, this.map.parentMap), l(o, "defined", bind(this, function (t) {
this.init([], function () {
return t
}, null, {
enabled: !0,
ignore: !0
})
})), c = getOwn(k, o.id), c && (this.depMaps.push(o), this.events.error && c.on("error", bind(this, function (t) {
this.emit("error", t)
})), c.enable()), void 0) : (r = bind(this, function (t) {
this.init([], function () {
return t
}, null, {
enabled: !0
})
}), r.error = bind(this, function (t) {
this.inited = !0, this.error = t, t.requireModules = [e], eachProp(k, function (t) {
0 === t.map.id.indexOf(e + "_unnormalized") && h(t.map.id)
}), u(t)
}), r.fromText = bind(this, function (n, i) {
var o = t.name,
l = s(o),
c = useInteractive;
i && (n = i), c && (useInteractive = !1), a(l), hasProp(T.config, e) && (T.config[o] = T.config[e]);
try {
req.exec(n)
} catch (h) {
return u(makeError("fromtexteval", "fromText eval for " + e + " failed: " + h, h, [e]))
}
c && (useInteractive = !0), this.depMaps.push(l), b.completeLoad(o), d([o], r)
}), i.load(t.name, d, r, T), void 0)
})), b.enable(i, this), this.pluginMaps[i.id] = i
},
enable: function () {
C[this.map.id] = this, this.enabled = !0, this.enabling = !0, each(this.depMaps, bind(this, function (t, e) {
var n, i, r;
if ("string" == typeof t) {
if (t = s(t, this.map.isDefine ? this.map : this.map.parentMap, !1, !this.skipMap), this.depMaps[e] = t, r = getOwn(x, t.id)) return this.depExports[e] = r(this), void 0;
this.depCount += 1, l(t, "defined", bind(this, function (t) {
this.defineDep(e, t), this.check()
})), this.errback && l(t, "error", bind(this, this.errback))
}
n = t.id, i = k[n], hasProp(x, n) || !i || i.enabled || b.enable(t, this)
})), eachProp(this.pluginMaps, bind(this, function (t) {
var e = getOwn(k, t.id);
e && !e.enabled && b.enable(t, this)
})), this.enabling = !1, this.check()
},
on: function (t, e) {
var n = this.events[t];
n || (n = this.events[t] = []), n.push(e)
},
emit: function (t, e) {
each(this.events[t], function (t) {
t(e)
}), "error" === t && delete this.events[t]
}
}, b = {
config: T,
contextName: t,
registry: k,
defined: N,
urlFetched: D,
defQueue: E,
Module: _,
makeModuleMap: s,
nextTick: req.nextTick,
onError: u,
configure: function (t) {
t.baseUrl && "/" !== t.baseUrl.charAt(t.baseUrl.length - 1) && (t.baseUrl += "/");
var e = T.pkgs,
n = T.shim,
i = {
paths: !0,
config: !0,
map: !0
};
eachProp(t, function (t, e) {
i[e] ? "map" === e ? (T.map || (T.map = {}), mixin(T[e], t, !0, !0)) : mixin(T[e], t, !0) : T[e] = t
}), t.shim && (eachProp(t.shim, function (t, e) {
isArray(t) && (t = {
deps: t
}), !t.exports && !t.init || t.exportsFn || (t.exportsFn = b.makeShimExports(t)), n[e] = t
}), T.shim = n), t.packages && (each(t.packages, function (t) {
var n;
t = "string" == typeof t ? {
name: t
} : t, n = t.location, e[t.name] = {
name: t.name,
location: n || t.name,
main: (t.main || "main").replace(currDirRegExp, "").replace(jsSuffixRegExp, "")
}
}), T.pkgs = e), eachProp(k, function (t, e) {
t.inited || t.map.unnormalized || (t.map = s(e))
}), (t.deps || t.callback) && b.require(t.deps || [], t.callback)
},
makeShimExports: function (t) {
function e() {
var e;
return t.init && (e = t.init.apply(global, arguments)), e || t.exports && getGlobal(t.exports)
}
return e
},
makeRequire: function (e, i) {
function r(n, o, l) {
var c, h, p;
return i.enableBuildCallback && o && isFunction(o) && (o.__requireJsBuild = !0), "string" == typeof n ? isFunction(o) ? u(makeError("requireargs", "Invalid require call"), l) : e && hasProp(x, n) ? x[n](k[e.id]) : req.get ? req.get(b, n, e, r) : (h = s(n, e, !1, !0), c = h.id, hasProp(N, c) ? N[c] : u(makeError("notloaded", 'Module name "' + c + '" has not been loaded yet for context: ' + t + (e ? "" : ". Use require([])")))) : (y(), b.nextTick(function () {
y(), p = a(s(null, e)), p.skipMap = i.skipMap, p.init(n, o, l, {
enabled: !0
}), f()
}), r)
}
return i = i || {}, mixin(r, {
isBrowser: isBrowser,
toUrl: function (t) {
var i, r = t.lastIndexOf("."),
o = t.split("/")[0],
s = "." === o || ".." === o;
return -1 !== r && (!s || r > 1) && (i = t.substring(r, t.length), t = t.substring(0, r)), b.nameToUrl(n(t, e && e.id, !0), i, !0)
},
defined: function (t) {
return hasProp(N, s(t, e, !1, !0).id)
},
specified: function (t) {
return t = s(t, e, !1, !0).id, hasProp(N, t) || hasProp(k, t)
}
}), e || (r.undef = function (t) {
c();
var n = s(t, e, !0),
i = getOwn(k, t);
delete N[t], delete D[n.url], delete S[t], i && (i.events.defined && (S[t] = i.events), h(t))
}), r
},
enable: function (t) {
var e = getOwn(k, t.id);
e && a(t).enable()
},
completeLoad: function (t) {
var e, n, i, o = getOwn(T.shim, t) || {},
s = o.exports;
for (c(); E.length;) {
if (n = E.shift(), null === n[0]) {
if (n[0] = t, e) break;
e = !0
} else n[0] === t && (e = !0);
d(n)
}
if (i = getOwn(k, t), !e && !hasProp(N, t) && i && !i.inited) {
if (!(!T.enforceDefine || s && getGlobal(s))) return r(t) ? void 0 : u(makeError("nodefine", "No define call for " + t, null, [t]));
d([t, o.deps || [], o.exportsFn])
}
f()
},
nameToUrl: function (t, e, n) {
var i, r, o, s, a, l, u, c, h;
if (req.jsExtRegExp.test(t)) c = t + (e || "");
else {
for (i = T.paths, r = T.pkgs, a = t.split("/"), l = a.length; l > 0; l -= 1) {
if (u = a.slice(0, l).join("/"), o = getOwn(r, u), h = getOwn(i, u)) {
isArray(h) && (h = h[0]), a.splice(0, l, h);
break
}
if (o) {
s = t === o.name ? o.location + "/" + o.main : o.location, a.splice(0, l, s);
break
}
}
c = a.join("/"), c += e || (/\?/.test(c) || n ? "" : ".js"), c = ("/" === c.charAt(0) || c.match(/^[\w\+\.\-]+:/) ? "" : T.baseUrl) + c
}
return T.urlArgs ? c + ((-1 === c.indexOf("?") ? "?" : "&") + T.urlArgs) : c
},
load: function (t, e) {
req.load(b, t, e)
},
execCb: function (t, e, n, i) {
return e.apply(i, n)
},
onScriptLoad: function (t) {
if ("load" === t.type || readyRegExp.test((t.currentTarget || t.srcElement).readyState)) {
interactiveScript = null;
var e = g(t);
b.completeLoad(e.id)
}
},
onScriptError: function (t) {
var e = g(t);
return r(e.id) ? void 0 : u(makeError("scripterror", "Script error for: " + e.id, t, [e.id]))
}
}, b.require = b.makeRequire(), b
}
function getInteractiveScript() {
return interactiveScript && "interactive" === interactiveScript.readyState ? interactiveScript : (eachReverse(scripts(), function (t) {
return "interactive" === t.readyState ? interactiveScript = t : void 0
}), interactiveScript)
}
var req, s, head, baseElement, dataMain, src, interactiveScript, currentlyAddingScript, mainScript, subPath, version = "2.1.8",
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
jsSuffixRegExp = /\.js$/,
currDirRegExp = /^\.\//,
op = Object.prototype,
ostring = op.toString,
hasOwn = op.hasOwnProperty,
ap = Array.prototype,
apsp = ap.splice,
isBrowser = !("undefined" == typeof window || !navigator || !window.document),
isWebWorker = !isBrowser && "undefined" != typeof importScripts,
readyRegExp = isBrowser && "PLAYSTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/,
defContextName = "_",
isOpera = "undefined" != typeof opera && "[object Opera]" == "" + opera,
contexts = {},
cfg = {},
globalDefQueue = [],
useInteractive = !1;
if (void 0 === define) {
if (requirejs !== void 0) {
if (isFunction(requirejs)) return;
cfg = requirejs, requirejs = void 0
}
void 0 === require || isFunction(require) || (cfg = require, require = void 0), req = requirejs = function (t, e, n, i) {
var r, o, s = defContextName;
return isArray(t) || "string" == typeof t || (o = t, isArray(e) ? (t = e, e = n, n = i) : t = []), o && o.context && (s = o.context), r = getOwn(contexts, s), r || (r = contexts[s] = req.s.newContext(s)), o && r.configure(o), r.require(t, e, n)
}, req.config = function (t) {
return req(t)
}, req.nextTick = "undefined" != typeof setTimeout ? function (t) {
setTimeout(t, 4)
} : function (t) {
t()
}, require || (require = req), req.version = version, req.jsExtRegExp = /^\/|:|\?|\.js$/, req.isBrowser = isBrowser, s = req.s = {
contexts: contexts,
newContext: newContext
}, req({}), each(["toUrl", "undef", "defined", "specified"], function (t) {
req[t] = function () {
var e = contexts[defContextName];
return e.require[t].apply(e, arguments)
}
}), isBrowser && (head = s.head = document.getElementsByTagName("head")[0], baseElement = document.getElementsByTagName("base")[0], baseElement && (head = s.head = baseElement.parentNode)), req.onError = defaultOnError, req.createNode = function (t) {
var e = t.xhtml ? document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : document.createElement("script");
return e.type = t.scriptType || "text/javascript", e.charset = "utf-8", e.async = !0, e
}, req.load = function (t, e, n) {
var i, r = t && t.config || {};
if (isBrowser) return i = req.createNode(r, e, n), i.setAttribute("data-requirecontext", t.contextName), i.setAttribute("data-requiremodule", e), !i.attachEvent || i.attachEvent.toString && 0 > ("" + i.attachEvent).indexOf("[native code") || isOpera ? (i.addEventListener("load", t.onScriptLoad, !1), i.addEventListener("error", t.onScriptError, !1)) : (useInteractive = !0, i.attachEvent("onreadystatechange", t.onScriptLoad)), i.src = n, currentlyAddingScript = i, baseElement ? head.insertBefore(i, baseElement) : head.appendChild(i), currentlyAddingScript = null, i;
if (isWebWorker) try {
importScripts(n), t.completeLoad(e)
} catch (o) {
t.onError(makeError("importscripts", "importScripts failed for " + e + " at " + n, o, [e]))
}
}, isBrowser && eachReverse(scripts(), function (t) {
return head || (head = t.parentNode), dataMain = t.getAttribute("data-main"), dataMain ? (mainScript = dataMain, cfg.baseUrl || (src = mainScript.split("/"), mainScript = src.pop(), subPath = src.length ? src.join("/") + "/" : "./", cfg.baseUrl = subPath), mainScript = mainScript.replace(jsSuffixRegExp, ""), req.jsExtRegExp.test(mainScript) && (mainScript = dataMain), cfg.deps = cfg.deps ? cfg.deps.concat(mainScript) : [mainScript], !0) : void 0
}), define = function (t, e, n) {
var i, r;
"string" != typeof t && (n = e, e = t, t = null), isArray(e) || (n = e, e = null), !e && isFunction(n) && (e = [], n.length && (("" + n).replace(commentRegExp, "").replace(cjsRequireRegExp, function (t, n) {
e.push(n)
}), e = (1 === n.length ? ["require"] : ["require", "exports", "module"]).concat(e))), useInteractive && (i = currentlyAddingScript || getInteractiveScript(), i && (t || (t = i.getAttribute("data-requiremodule")), r = contexts[i.getAttribute("data-requirecontext")])), (r ? r.defQueue : globalDefQueue).push([t, e, n])
}, define.amd = {
jQuery: !0
}, req.exec = function (text) {
return eval(text)
}, req(cfg)
}
})(this), define("requireLib", function () {}), window.Modernizr = function (t, e, n) {
function i(t) {
v.cssText = t
}
function r(t, e) {
return typeof t === e
}
function o(t, e) {
return !!~("" + t).indexOf(e)
}
function s(t, e) {
for (var i in t) {
var r = t[i];
if (!o(r, "-") && v[r] !== n) return "pfx" == e ? r : !0
}
return !1
}
function a(t, e, i) {
for (var o in t) {
var s = e[t[o]];
if (s !== n) return i === !1 ? t[o] : r(s, "function") ? s.bind(i || e) : s
}
return !1
}
function l(t, e, n) {
var i = t.charAt(0).toUpperCase() + t.slice(1),
o = (t + " " + x.join(i + " ") + i).split(" ");
return r(e, "string") || r(e, "undefined") ? s(o, e) : (o = (t + " " + w.join(i + " ") + i).split(" "), a(o, e, n))
}
var u, c, h, p = "2.6.2",
f = {},
d = !0,
m = e.documentElement,
g = "modernizr",
y = e.createElement(g),
v = y.style,
_ = ({}.toString, " -webkit- -moz- -o- -ms- ".split(" ")),
b = "Webkit Moz O ms",
x = b.split(" "),
w = b.toLowerCase().split(" "),
T = {
svg: "http://www.w3.org/2000/svg"
},
k = {},
C = [],
S = C.slice,
E = function (t, n, i, r) {
var o, s, a, l, u = e.createElement("div"),
c = e.body,
h = c || e.createElement("body");
if (parseInt(i, 10))
for (; i--;) a = e.createElement("div"), a.id = r ? r[i] : g + (i + 1), u.appendChild(a);
return o = ["&#173;", '<style id="s', g, '">', t, "</style>"].join(""), u.id = g, (c ? u : h).innerHTML += o, h.appendChild(u), c || (h.style.background = "", h.style.overflow = "hidden", l = m.style.overflow, m.style.overflow = "hidden", m.appendChild(h)), s = n(u, t), c ? u.parentNode.removeChild(u) : (h.parentNode.removeChild(h), m.style.overflow = l), !!s
},
N = function (e) {
var n = t.matchMedia || t.msMatchMedia;
if (n) return n(e).matches;
var i;
return E("@media " + e + " { #" + g + " { position: absolute; } }", function (e) {
i = "absolute" == (t.getComputedStyle ? getComputedStyle(e, null) : e.currentStyle).position
}), i
},
D = {}.hasOwnProperty;
h = r(D, "undefined") || r(D.call, "undefined") ? function (t, e) {
return e in t && r(t.constructor.prototype[e], "undefined")
} : function (t, e) {
return D.call(t, e)
}, Function.prototype.bind || (Function.prototype.bind = function (t) {
var e = this;
if ("function" != typeof e) throw new TypeError;
var n = S.call(arguments, 1),
i = function () {
if (this instanceof i) {
var r = function () {};
r.prototype = e.prototype;
var o = new r,
s = e.apply(o, n.concat(S.call(arguments)));
return Object(s) === s ? s : o
}
return e.apply(t, n.concat(S.call(arguments)))
};
return i
}), k.touch = function () {
var n;
return "ontouchstart" in t || t.DocumentTouch && e instanceof DocumentTouch ? n = !0 : E(["@media (", _.join("touch-enabled),("), g, ")", "{#modernizr{top:9px;position:absolute}}"].join(""), function (t) {
n = 9 === t.offsetTop
}), n
}, k.history = function () {
return !!t.history && !!history.pushState
}, k.cssanimations = function () {
return l("animationName")
}, k.csstransforms = function () {
return !!l("transform")
}, k.csstransforms3d = function () {
var t = !!l("perspective");
return t && "webkitPerspective" in m.style && E("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}", function (e) {
t = 9 === e.offsetLeft && 3 === e.offsetHeight
}), t
}, k.csstransitions = function () {
return l("transition")
}, k.svg = function () {
return !!e.createElementNS && !!e.createElementNS(T.svg, "svg").createSVGRect
};
for (var O in k) h(k, O) && (c = O.toLowerCase(), f[c] = k[O](), C.push((f[c] ? "" : "no-") + c));
return f.addTest = function (t, e) {
if ("object" == typeof t)
for (var i in t) h(t, i) && f.addTest(i, t[i]);
else {
if (t = t.toLowerCase(), f[t] !== n) return f;
e = "function" == typeof e ? e() : e, d !== void 0 && d && (m.className += " " + (e ? "" : "no-") + t), f[t] = e
}
return f
}, i(""), y = u = null,
function (t, e) {
function n(t, e) {
var n = t.createElement("p"),
i = t.getElementsByTagName("head")[0] || t.documentElement;
return n.innerHTML = "x<style>" + e + "</style>", i.insertBefore(n.lastChild, i.firstChild)
}
function i() {
var t = y.elements;
return "string" == typeof t ? t.split(" ") : t
}
function r(t) {
var e = g[t[d]];
return e || (e = {}, m++, t[d] = m, g[m] = e), e
}
function o(t, n, i) {
if (n || (n = e), c) return n.createElement(t);
i || (i = r(n));
var o;
return o = i.cache[t] ? i.cache[t].cloneNode() : f.test(t) ? (i.cache[t] = i.createElem(t)).cloneNode() : i.createElem(t), o.canHaveChildren && !p.test(t) ? i.frag.appendChild(o) : o
}
function s(t, n) {
if (t || (t = e), c) return t.createDocumentFragment();
n = n || r(t);
for (var o = n.frag.cloneNode(), s = 0, a = i(), l = a.length; l > s; s++) o.createElement(a[s]);
return o
}
function a(t, e) {
e.cache || (e.cache = {}, e.createElem = t.createElement, e.createFrag = t.createDocumentFragment, e.frag = e.createFrag()), t.createElement = function (n) {
return y.shivMethods ? o(n, t, e) : e.createElem(n)
}, t.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + i().join().replace(/\w+/g, function (t) {
return e.createElem(t), e.frag.createElement(t), 'c("' + t + '")'
}) + ");return n}")(y, e.frag)
}
function l(t) {
t || (t = e);
var i = r(t);
return y.shivCSS && !u && !i.hasCSS && (i.hasCSS = !!n(t, "article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")), c || a(t, i), t
}
var u, c, h = t.html5 || {},
p = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,
f = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,
d = "_html5shiv",
m = 0,
g = {};
(function () {
try {
var t = e.createElement("a");
t.innerHTML = "<xyz></xyz>", u = "hidden" in t, c = 1 == t.childNodes.length || function () {
e.createElement("a");
var t = e.createDocumentFragment();
return t.cloneNode === void 0 || t.createDocumentFragment === void 0 || t.createElement === void 0
}()
} catch (n) {
u = !0, c = !0
}
})();
var y = {
elements: h.elements || "abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",
shivCSS: h.shivCSS !== !1,
supportsUnknownElements: c,
shivMethods: h.shivMethods !== !1,
type: "default",
shivDocument: l,
createElement: o,
createDocumentFragment: s
};
t.html5 = y, l(e)
}(this, e), f._version = p, f._prefixes = _, f._domPrefixes = w, f._cssomPrefixes = x, f.mq = N, f.testProp = function (t) {
return s([t])
}, f.testAllProps = l, f.testStyles = E, f.prefixed = function (t, e, n) {
return e ? l(t, e, n) : l(t, "pfx")
}, m.className = m.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (d ? " js " + C.join(" ") : ""), f
}(this, this.document),
function (t, e, n) {
function i(t) {
return "[object Function]" == g.call(t)
}
function r(t) {
return "string" == typeof t
}
function o() {}
function s(t) {
return !t || "loaded" == t || "complete" == t || "uninitialized" == t
}
function a() {
var t = y.shift();
v = 1, t ? t.t ? d(function () {
("c" == t.t ? p.injectCss : p.injectJs)(t.s, 0, t.a, t.x, t.e, 1)
}, 0) : (t(), a()) : v = 0
}
function l(t, n, i, r, o, l, u) {
function c(e) {
if (!f && s(h.readyState) && (_.r = f = 1, !v && a(), h.onload = h.onreadystatechange = null, e)) {
"img" != t && d(function () {
x.removeChild(h)
}, 50);
for (var i in S[n]) S[n].hasOwnProperty(i) && S[n][i].onload()
}
}
var u = u || p.errorTimeout,
h = e.createElement(t),
f = 0,
g = 0,
_ = {
t: i,
s: n,
e: o,
a: l,
x: u
};
1 === S[n] && (g = 1, S[n] = []), "object" == t ? h.data = n : (h.src = n, h.type = t), h.width = h.height = "0", h.onerror = h.onload = h.onreadystatechange = function () {
c.call(this, g)
}, y.splice(r, 0, _), "img" != t && (g || 2 === S[n] ? (x.insertBefore(h, b ? null : m), d(c, u)) : S[n].push(h))
}
function u(t, e, n, i, o) {
return v = 0, e = e || "j", r(t) ? l("c" == e ? T : w, t, e, this.i++, n, i, o) : (y.splice(this.i++, 0, t), 1 == y.length && a()), this
}
function c() {
var t = p;
return t.loader = {
load: u,
i: 0
}, t
}
var h, p, f = e.documentElement,
d = t.setTimeout,
m = e.getElementsByTagName("script")[0],
g = {}.toString,
y = [],
v = 0,
_ = "MozAppearance" in f.style,
b = _ && !!e.createRange().compareNode,
x = b ? f : m.parentNode,
f = t.opera && "[object Opera]" == g.call(t.opera),
f = !!e.attachEvent && !f,
w = _ ? "object" : f ? "script" : "img",
T = f ? "script" : w,
k = Array.isArray || function (t) {
return "[object Array]" == g.call(t)
},
C = [],
S = {},
E = {
timeout: function (t, e) {
return e.length && (t.timeout = e[0]), t
}
};
p = function (t) {
function e(t) {
var e, n, i, t = t.split("!"),
r = C.length,
o = t.pop(),
s = t.length,
o = {
url: o,
origUrl: o,
prefixes: t
};
for (n = 0; s > n; n++) i = t[n].split("="), (e = E[i.shift()]) && (o = e(o, i));
for (n = 0; r > n; n++) o = C[n](o);
return o
}
function s(t, r, o, s, a) {
var l = e(t),
u = l.autoCallback;
l.url.split(".").pop().split("?").shift(), l.bypass || (r && (r = i(r) ? r : r[t] || r[s] || r[t.split("/").pop().split("?")[0]]), l.instead ? l.instead(t, r, o, s, a) : (S[l.url] ? l.noexec = !0 : S[l.url] = 1, o.load(l.url, l.forceCSS || !l.forceJS && "css" == l.url.split(".").pop().split("?").shift() ? "c" : n, l.noexec, l.attrs, l.timeout), (i(r) || i(u)) && o.load(function () {
c(), r && r(l.origUrl, a, s), u && u(l.origUrl, a, s), S[l.url] = 2
})))
}
function a(t, e) {
function n(t, n) {
if (t) {
if (r(t)) n || (h = function () {
var t = [].slice.call(arguments);
p.apply(this, t), f()
}), s(t, h, e, 0, u);
else if (Object(t) === t)
for (l in a = function () {
var e, n = 0;
for (e in t) t.hasOwnProperty(e) && n++;
return n
}(), t) t.hasOwnProperty(l) && (!n && !--a && (i(h) ? h = function () {
var t = [].slice.call(arguments);
p.apply(this, t), f()
} : h[l] = function (t) {
return function () {
var e = [].slice.call(arguments);
t && t.apply(this, e), f()
}
}(p[l])), s(t[l], h, e, l, u))
} else !n && f()
}
var a, l, u = !!t.test,
c = t.load || t.both,
h = t.callback || o,
p = h,
f = t.complete || o;
n(u ? t.yep : t.nope, !!c), c && n(c)
}
var l, u, h = this.yepnope.loader;
if (r(t)) s(t, 0, h, 0);
else if (k(t))
for (l = 0; t.length > l; l++) u = t[l], r(u) ? s(u, 0, h, 0) : k(u) ? p(u) : Object(u) === u && a(u, h);
else Object(t) === t && a(t, h)
}, p.addPrefix = function (t, e) {
E[t] = e
}, p.addFilter = function (t) {
C.push(t)
}, p.errorTimeout = 1e4, null == e.readyState && e.addEventListener && (e.readyState = "loading", e.addEventListener("DOMContentLoaded", h = function () {
e.removeEventListener("DOMContentLoaded", h, 0), e.readyState = "complete"
}, 0)), t.yepnope = c(), t.yepnope.executeStack = a, t.yepnope.injectJs = function (t, n, i, r, l, u) {
var c, h, f = e.createElement("script"),
r = r || p.errorTimeout;
f.src = t;
for (h in i) f.setAttribute(h, i[h]);
n = u ? a : n || o, f.onreadystatechange = f.onload = function () {
!c && s(f.readyState) && (c = 1, n(), f.onload = f.onreadystatechange = null)
}, d(function () {
c || (c = 1, n(1))
}, r), l ? f.onload() : m.parentNode.insertBefore(f, m)
}, t.yepnope.injectCss = function (t, n, i, r, s, l) {
var u, r = e.createElement("link"),
n = l ? a : n || o;
r.href = t, r.rel = "stylesheet", r.type = "text/css";
for (u in i) r.setAttribute(u, i[u]);
s || (m.parentNode.insertBefore(r, m), d(n, 0))
}
}(this, document), Modernizr.load = function () {
yepnope.apply(window, [].slice.call(arguments, 0))
}, define("modernizr", function () {}),
function (root) {
var CoffeeScript = function () {
function require(t) {
return require[t]
}
return require["./helpers"] = new function () {
var t = this;
(function () {
var e, n, i, r, o, s;
t.starts = function (t, e, n) {
return e === t.substr(n, e.length)
}, t.ends = function (t, e, n) {
var i;
return i = e.length, e === t.substr(t.length - i - (n || 0), i)
}, t.repeat = o = function (t, e) {
var n;
for (n = ""; e > 0;) 1 & e && (n += t), e >>>= 1, t += t;
return n
}, t.compact = function (t) {
var e, n, i, r;
for (r = [], n = 0, i = t.length; i > n; n++) e = t[n], e && r.push(e);
return r
}, t.count = function (t, e) {
var n, i;
if (n = i = 0, !e.length) return 1 / 0;
for (; i = 1 + t.indexOf(e, i);) n++;
return n
}, t.merge = function (t, e) {
return n(n({}, t), e)
}, n = t.extend = function (t, e) {
var n, i;
for (n in e) i = e[n], t[n] = i;
return t
}, t.flatten = i = function (t) {
var e, n, r, o;
for (n = [], r = 0, o = t.length; o > r; r++) e = t[r], e instanceof Array ? n = n.concat(i(e)) : n.push(e);
return n
}, t.del = function (t, e) {
var n;
return n = t[e], delete t[e], n
}, t.last = r = function (t, e) {
return t[t.length - (e || 0) - 1]
}, t.some = null != (s = Array.prototype.some) ? s : function (t) {
var e, n, i;
for (n = 0, i = this.length; i > n; n++)
if (e = this[n], t(e)) return !0;
return !1
}, t.invertLiterate = function (t) {
var e, n, i;
return i = !0, n = function () {
var n, r, o, s;
for (o = t.split("\n"), s = [], n = 0, r = o.length; r > n; n++) e = o[n], i && /^([ ]{4}|[ ]{0,3}\t)/.test(e) ? s.push(e) : (i = /^\s*$/.test(e)) ? s.push(e) : s.push("# " + e);
return s
}(), n.join("\n")
}, e = function (t, e) {
return e ? {
first_line: t.first_line,
first_column: t.first_column,
last_line: e.last_line,
last_column: e.last_column
} : t
}, t.addLocationDataFn = function (t, n) {
return function (i) {
return "object" == typeof i && i.updateLocationDataIfMissing && i.updateLocationDataIfMissing(e(t, n)), i
}
}, t.locationDataToString = function (t) {
var e;
return "2" in t && "first_line" in t[2] ? e = t[2] : "first_line" in t && (e = t), e ? "" + (e.first_line + 1) + ":" + (e.first_column + 1) + "-" + ("" + (e.last_line + 1) + ":" + (e.last_column + 1)) : "No location data"
}, t.baseFileName = function (t, e, n) {
var i;
return null == e && (e = !1), null == n && (n = "/"), i = t.split(n), t = i[i.length - 1], e ? (i = t.split("."), i.pop(), "coffee" === i[i.length - 1] && i.length > 1 && i.pop(), i.join(".")) : t
}, t.isCoffee = function (t) {
return /\.((lit)?coffee|coffee\.md)$/.test(t)
}, t.isLiterate = function (t) {
return /\.(litcoffee|coffee\.md)$/.test(t)
}, t.throwSyntaxError = function (t, e) {
var n, i, r;
throw null == (i = e.last_line) && (e.last_line = e.first_line), null == (r = e.last_column) && (e.last_column = e.first_column), n = new SyntaxError(t), n.location = e, n
}, t.prettyErrorMessage = function (t, e, n, i) {
var r, s, a, l, u, c, h, p, f, d, m;
return t.location ? (m = t.location, u = m.first_line, l = m.first_column, h = m.last_line, c = m.last_column, r = n.split("\n")[u], d = l, a = u === h ? c + 1 : r.length, p = o(" ", d) + o("^", a - d), i && (s = function (t) {
return "" + t + ""
}, r = r.slice(0, d) + s(r.slice(d, a)) + r.slice(a), p = s(p)), f = "" + e + ":" + (u + 1) + ":" + (l + 1) + ": error: " + t.message + "\n" + r + "\n" + p) : t.stack || "" + t
}
}).call(this)
}, require["./rewriter"] = new function () {
var t = this;
(function () {
var e, n, i, r, o, s, a, l, u, c, h, p, f, d, m, g, y, v, _, b = [].indexOf || function (t) {
for (var e = 0, n = this.length; n > e; e++)
if (e in this && this[e] === t) return e;
return -1
},
x = [].slice;
for (d = function (t, e) {
var n;
return n = [t, e], n.generated = !0, n
}, t.Rewriter = function () {
function t() {}
return t.prototype.rewrite = function (t) {
return this.tokens = t, this.removeLeadingNewlines(), this.removeMidExpressionNewlines(), this.closeOpenCalls(), this.closeOpenIndexes(), this.addImplicitIndentation(), this.tagPostfixConditionals(), this.addImplicitBracesAndParens(), this.addLocationDataToGeneratedTokens(), this.tokens
}, t.prototype.scanTokens = function (t) {
var e, n, i;
for (i = this.tokens, e = 0; n = i[e];) e += t.call(this, n, e, i);
return !0
}, t.prototype.detectEnd = function (t, e, n) {
var o, s, a, l, u;
for (a = this.tokens, o = 0; s = a[t];) {
if (0 === o && e.call(this, s, t)) return n.call(this, s, t);
if (!s || 0 > o) return n.call(this, s, t - 1);
l = s[0], b.call(r, l) >= 0 ? o += 1 : (u = s[0], b.call(i, u) >= 0 && (o -= 1)), t += 1
}
return t - 1
}, t.prototype.removeLeadingNewlines = function () {
var t, e, n, i, r;
for (r = this.tokens, t = n = 0, i = r.length; i > n && (e = r[t][0], "TERMINATOR" === e); t = ++n);
return t ? this.tokens.splice(0, t) : void 0
}, t.prototype.removeMidExpressionNewlines = function () {
return this.scanTokens(function (t, e, i) {
var r;
return "TERMINATOR" === t[0] && (r = this.tag(e + 1), b.call(n, r) >= 0) ? (i.splice(e, 1), 0) : 1
})
}, t.prototype.closeOpenCalls = function () {
var t, e;
return e = function (t, e) {
var n;
return ")" === (n = t[0]) || "CALL_END" === n || "OUTDENT" === t[0] && ")" === this.tag(e - 1)
}, t = function (t, e) {
return this.tokens["OUTDENT" === t[0] ? e - 1 : e][0] = "CALL_END"
}, this.scanTokens(function (n, i) {
return "CALL_START" === n[0] && this.detectEnd(i + 1, e, t), 1
})
}, t.prototype.closeOpenIndexes = function () {
var t, e;
return e = function (t) {
var e;
return "]" === (e = t[0]) || "INDEX_END" === e
}, t = function (t) {
return t[0] = "INDEX_END"
}, this.scanTokens(function (n, i) {
return "INDEX_START" === n[0] && this.detectEnd(i + 1, e, t), 1
})
}, t.prototype.matchTags = function () {
var t, e, n, i, r, o, s;
for (e = arguments[0], i = arguments.length >= 2 ? x.call(arguments, 1) : [], t = 0, n = r = 0, o = i.length; o >= 0 ? o > r : r > o; n = o >= 0 ? ++r : --r) {
for (;
"HERECOMMENT" === this.tag(e + n + t);) t += 2;
if (null != i[n] && ("string" == typeof i[n] && (i[n] = [i[n]]), s = this.tag(e + n + t), 0 > b.call(i[n], s))) return !1
}
return !0
}, t.prototype.looksObjectish = function (t) {
return this.matchTags(t, "@", null, ":") || this.matchTags(t, null, ":")
}, t.prototype.findTagsBackwards = function (t, e) {
var n, o, s, a, l, u, c;
for (n = []; t >= 0 && (n.length || (a = this.tag(t), 0 > b.call(e, a) && (l = this.tag(t), 0 > b.call(r, l) || this.tokens[t].generated) && (u = this.tag(t), 0 > b.call(h, u))));) o = this.tag(t), b.call(i, o) >= 0 && n.push(this.tag(t)), s = this.tag(t), b.call(r, s) >= 0 && n.length && n.pop(), t -= 1;
return c = this.tag(t), b.call(e, c) >= 0
}, t.prototype.addImplicitBracesAndParens = function () {
var t;
return t = [], this.scanTokens(function (e, n, o) {
var c, p, f, m, g, y, v, _, x, w, T, k, C, S, E, N, D, O, j, L, A, P, M, F, R, $;
if (L = e[0], w = (n > 0 ? o[n - 1] : [])[0], _ = (o.length - 1 > n ? o[n + 1] : [])[0], E = function () {
return t[t.length - 1]
}, N = n, f = function (t) {
return n - N + t
}, m = function () {
var t, e;
return null != (t = E()) ? null != (e = t[2]) ? e.ours : void 0 : void 0
}, g = function () {
var t;
return m() && "(" === (null != (t = E()) ? t[0] : void 0)
}, v = function () {
var t;
return m() && "{" === (null != (t = E()) ? t[0] : void 0)
}, y = function () {
var t;
return m && "CONTROL" === (null != (t = E()) ? t[0] : void 0)
}, D = function (e) {
var i;
return i = null != e ? e : n, t.push(["(", i, {
ours: !0
}]), o.splice(i, 0, d("CALL_START", "(")), null == e ? n += 1 : void 0
}, c = function () {
return t.pop(), o.splice(n, 0, d("CALL_END", ")")), n += 1
}, O = function (e, i) {
var r;
return null == i && (i = !0), r = null != e ? e : n, t.push(["{", r, {
sameLine: !0,
startsLine: i,
ours: !0
}]), o.splice(r, 0, d("{", d(new String("{")))), null == e ? n += 1 : void 0
}, p = function (e) {
return e = null != e ? e : n, t.pop(), o.splice(e, 0, d("}", "}")), n += 1
}, g() && ("IF" === L || "TRY" === L || "FINALLY" === L || "CATCH" === L || "CLASS" === L || "SWITCH" === L)) return t.push(["CONTROL", n, {
ours: !0
}]), f(1);
if ("INDENT" === L && m()) {
if ("=>" !== w && "->" !== w && "[" !== w && "(" !== w && "," !== w && "{" !== w && "TRY" !== w && "ELSE" !== w && "=" !== w)
for (; g();) c();
return y() && t.pop(), t.push([L, n]), f(1)
}
if (b.call(r, L) >= 0) return t.push([L, n]), f(1);
if (b.call(i, L) >= 0) {
for (; m();) g() ? c() : v() ? p() : t.pop();
t.pop()
}
if ((b.call(l, L) >= 0 && e.spaced && !e.stringEnd || "?" === L && n > 0 && !o[n - 1].spaced) && (b.call(s, _) >= 0 || b.call(u, _) >= 0 && !(null != (A = o[n + 1]) ? A.spaced : void 0) && !(null != (P = o[n + 1]) ? P.newLine : void 0))) return "?" === L && (L = e[0] = "FUNC_EXIST"), D(n + 1), f(2);
if (this.matchTags(n, l, "INDENT", null, ":") && !this.findTagsBackwards(n, ["CLASS", "EXTENDS", "IF", "CATCH", "SWITCH", "LEADING_WHEN", "FOR", "WHILE", "UNTIL"])) return D(n + 1), t.push(["INDENT", n + 2]), f(3);
if (":" === L) {
for (T = "@" === this.tag(n - 2) ? n - 2 : n - 1;
"HERECOMMENT" === this.tag(T - 2);) T -= 2;
return j = 0 === T || (M = this.tag(T - 1), b.call(h, M) >= 0) || o[T - 1].newLine, E() && (F = E(), S = F[0], C = F[1], ("{" === S || "INDENT" === S && "{" === this.tag(C - 1)) && (j || "," === this.tag(T - 1) || "{" === this.tag(T - 1))) ? f(1) : (O(T, !!j), f(2))
}
if ("OUTDENT" === w && g() && ("." === L || "?." === L || "::" === L || "?::" === L)) return c(), f(1);
if (v() && b.call(h, L) >= 0 && (E()[2].sameLine = !1), b.call(a, L) >= 0)
for (; m();)
if (R = E(), S = R[0], C = R[1], $ = R[2], k = $.sameLine, j = $.startsLine, g() && "," !== w) c();
else if (v() && k && !j) p();
else {
if (!v() || "TERMINATOR" !== L || "," === w || j && this.looksObjectish(n + 1)) break;
p()
} if ("," === L && !this.looksObjectish(n + 1) && v() && ("TERMINATOR" !== _ || !this.looksObjectish(n + 2)))
for (x = "OUTDENT" === _ ? 1 : 0; v();) p(n + x);
return f(1)
})
}, t.prototype.addLocationDataToGeneratedTokens = function () {
return this.scanTokens(function (t, e, n) {
var i, r, o, s, a, l;
return t[2] ? 1 : t.generated || t.explicit ? ("{" === t[0] && (o = null != (a = n[e + 1]) ? a[2] : void 0) ? (r = o.first_line, i = o.first_column) : (s = null != (l = n[e - 1]) ? l[2] : void 0) ? (r = s.last_line, i = s.last_column) : r = i = 0, t[2] = {
first_line: r,
first_column: i,
last_line: r,
last_column: i
}, 1) : 1
})
}, t.prototype.addImplicitIndentation = function () {
var t, e, n, i, r;
return r = n = i = null, e = function (t) {
var e;
return ";" !== t[1] && (e = t[0], b.call(p, e) >= 0) && !("ELSE" === t[0] && "IF" !== r && "THEN" !== r)
}, t = function (t, e) {
return this.tokens.splice("," === this.tag(e - 1) ? e - 1 : e, 0, i)
}, this.scanTokens(function (o, s, a) {
var l, u, c;
return l = o[0], "TERMINATOR" === l && "THEN" === this.tag(s + 1) ? (a.splice(s, 1), 0) : "ELSE" === l && "OUTDENT" !== this.tag(s - 1) ? (a.splice.apply(a, [s, 0].concat(x.call(this.indentation()))), 2) : "CATCH" !== l || "OUTDENT" !== (u = this.tag(s + 2)) && "TERMINATOR" !== u && "FINALLY" !== u ? b.call(f, l) >= 0 && "INDENT" !== this.tag(s + 1) && ("ELSE" !== l || "IF" !== this.tag(s + 1)) ? (r = l, c = this.indentation(!0), n = c[0], i = c[1], "THEN" === r && (n.fromThen = !0), a.splice(s + 1, 0, n), this.detectEnd(s + 2, e, t), "THEN" === l && a.splice(s, 1), 1) : 1 : (a.splice.apply(a, [s + 2, 0].concat(x.call(this.indentation()))), 4)
})
}, t.prototype.tagPostfixConditionals = function () {
var t, e, n;
return n = null, e = function (t, e) {
var n, i;
return i = t[0], n = this.tokens[e - 1][0], "TERMINATOR" === i || "INDENT" === i && 0 > b.call(f, n)
}, t = function (t) {
return "INDENT" !== t[0] || t.generated && !t.fromThen ? n[0] = "POST_" + n[0] : void 0
}, this.scanTokens(function (i, r) {
return "IF" !== i[0] ? 1 : (n = i, this.detectEnd(r + 1, e, t), 1)
})
}, t.prototype.indentation = function (t) {
var e, n;
return null == t && (t = !1), e = ["INDENT", 2], n = ["OUTDENT", 2], t && (e.generated = n.generated = !0), t || (e.explicit = n.explicit = !0), [e, n]
}, t.prototype.generate = d, t.prototype.tag = function (t) {
var e;
return null != (e = this.tokens[t]) ? e[0] : void 0
}, t
}(), e = [
["(", ")"],
["[", "]"],
["{", "}"],
["INDENT", "OUTDENT"],
["CALL_START", "CALL_END"],
["PARAM_START", "PARAM_END"],
["INDEX_START", "INDEX_END"]
], t.INVERSES = c = {}, r = [], i = [], y = 0, v = e.length; v > y; y++) _ = e[y], m = _[0], g = _[1], r.push(c[g] = m), i.push(c[m] = g);
n = ["CATCH", "WHEN", "ELSE", "FINALLY"].concat(i), l = ["IDENTIFIER", "SUPER", ")", "CALL_END", "]", "INDEX_END", "@", "THIS"], s = ["IDENTIFIER", "NUMBER", "STRING", "JS", "REGEX", "NEW", "PARAM_START", "CLASS", "IF", "TRY", "SWITCH", "THIS", "BOOL", "NULL", "UNDEFINED", "UNARY", "SUPER", "THROW", "@", "->", "=>", "[", "(", "{", "--", "++"], u = ["+", "-"], o = ["->", "=>", "{", "[", ","], a = ["POST_IF", "FOR", "WHILE", "UNTIL", "WHEN", "BY", "LOOP", "TERMINATOR"], f = ["ELSE", "->", "=>", "TRY", "FINALLY", "THEN"], p = ["TERMINATOR", "CATCH", "FINALLY", "ELSE", "OUTDENT", "LEADING_WHEN"], h = ["TERMINATOR", "INDENT", "OUTDENT"]
}).call(this)
}, require["./lexer"] = new function () {
var t = this;
(function () {
var e, n, i, r, o, s, a, l, u, c, h, p, f, d, m, g, y, v, _, b, x, w, T, k, C, S, E, N, D, O, j, L, A, P, M, F, R, $, I, q, H, B, V, z, W, U, X, Y, G, Q, J, K, Z = [].indexOf || function (t) {
for (var e = 0, n = this.length; n > e; e++)
if (e in this && this[e] === t) return e;
return -1
};
J = require("./rewriter"), F = J.Rewriter, v = J.INVERSES, K = require("./helpers"), z = K.count, G = K.starts, V = K.compact, X = K.last, W = K.invertLiterate, Y = K.locationDataToString, Q = K.throwSyntaxError, t.Lexer = C = function () {
function t() {}
return t.prototype.tokenize = function (t, e) {
var n, i, r, o;
for (null == e && (e = {}), this.literate = e.literate, this.indent = 0, this.indebt = 0, this.outdebt = 0, this.indents = [], this.ends = [], this.tokens = [], this.chunkLine = e.line || 0, this.chunkColumn = e.column || 0, t = this.clean(t), i = 0; this.chunk = t.slice(i);) n = this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.heredocToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken(), o = this.getLineAndColumnFromChunk(n), this.chunkLine = o[0], this.chunkColumn = o[1], i += n;
return this.closeIndentation(), (r = this.ends.pop()) && this.error("missing " + r), e.rewrite === !1 ? this.tokens : (new F).rewrite(this.tokens)
}, t.prototype.clean = function (t) {
return t.charCodeAt(0) === e && (t = t.slice(1)), t = t.replace(/\r/g, "").replace(q, ""), B.test(t) && (t = "\n" + t, this.chunkLine--), this.literate && (t = W(t)), t
}, t.prototype.identifierToken = function () {
var t, e, n, i, r, l, u, c, h, p, f, d, m, y;
return (u = g.exec(this.chunk)) ? (l = u[0], i = u[1], t = u[2], r = i.length, c = void 0, "own" === i && "FOR" === this.tag() ? (this.token("OWN", i), i.length) : (n = t || (h = X(this.tokens)) && ("." === (d = h[0]) || "?." === d || "::" === d || "?::" === d || !h.spaced && "@" === h[0]), p = "IDENTIFIER", !n && (Z.call(x, i) >= 0 || Z.call(a, i) >= 0) && (p = i.toUpperCase(), "WHEN" === p && (m = this.tag(), Z.call(w, m) >= 0) ? p = "LEADING_WHEN" : "FOR" === p ? this.seenFor = !0 : "UNLESS" === p ? p = "IF" : Z.call(H, p) >= 0 ? p = "UNARY" : Z.call(P, p) >= 0 && ("INSTANCEOF" !== p && this.seenFor ? (p = "FOR" + p, this.seenFor = !1) : (p = "RELATION", "!" === this.value() && (c = this.tokens.pop(), i = "!" + i)))), Z.call(b, i) >= 0 && (n ? (p = "IDENTIFIER", i = new String(i), i.reserved = !0) : Z.call(M, i) >= 0 && this.error('reserved word "' + i + '"')), n || (Z.call(o, i) >= 0 && (i = s[i]), p = function () {
switch (i) {
case "!":
return "UNARY";
case "==":
case "!=":
return "COMPARE";
case "&&":
case "||":
return "LOGIC";
case "true":
case "false":
return "BOOL";
case "break":
case "continue":
return "STATEMENT";
default:
return p
}
}()), f = this.token(p, i, 0, r), c && (y = [c[2].first_line, c[2].first_column], f[2].first_line = y[0], f[2].first_column = y[1]), t && (e = l.lastIndexOf(":"), this.token(":", ":", e, t.length)), l.length)) : 0
}, t.prototype.numberToken = function () {
var t, e, n, i, r;
return (n = j.exec(this.chunk)) ? (i = n[0], /^0[BOX]/.test(i) ? this.error("radix prefix '" + i + "' must be lowercase") : /E/.test(i) && !/^0x/.test(i) ? this.error("exponential notation '" + i + "' must be indicated with a lowercase 'e'") : /^0\d*[89]/.test(i) ? this.error("decimal literal '" + i + "' must not be prefixed with '0'") : /^0\d+/.test(i) && this.error("octal literal '" + i + "' must be prefixed with '0o'"), e = i.length, (r = /^0o([0-7]+)/.exec(i)) && (i = "0x" + parseInt(r[1], 8).toString(16)), (t = /^0b([01]+)/.exec(i)) && (i = "0x" + parseInt(t[1], 2).toString(16)), this.token("NUMBER", i, 0, e), e) : 0
}, t.prototype.stringToken = function () {
var t, e, n;
switch (this.chunk.charAt(0)) {
case "'":
if (!(t = $.exec(this.chunk))) return 0;
n = t[0], this.token("STRING", n.replace(E, "\\\n"), 0, n.length);
break;
case '"':
if (!(n = this.balancedString(this.chunk, '"'))) return 0;
n.indexOf("#{", 1) > 0 ? this.interpolateString(n.slice(1, -1), {
strOffset: 1,
lexedLength: n.length
}) : this.token("STRING", this.escapeLines(n, 0, n.length));
break;
default:
return 0
}
return (e = /^(?:\\.|[^\\])*\\(?:0[0-7]|[1-7])/.test(n)) && this.error("octal escape sequences " + n + " are not allowed"), n.length
}, t.prototype.heredocToken = function () {
var t, e, n, i;
return (n = h.exec(this.chunk)) ? (e = n[0], i = e.charAt(0), t = this.sanitizeHeredoc(n[2], {
quote: i,
indent: null
}), '"' === i && t.indexOf("#{") >= 0 ? this.interpolateString(t, {
heredoc: !0,
strOffset: 3,
lexedLength: e.length
}) : this.token("STRING", this.makeString(t, i, !0), 0, e.length), e.length) : 0
}, t.prototype.commentToken = function () {
var t, e, n;
return (n = this.chunk.match(l)) ? (t = n[0], e = n[1], e && this.token("HERECOMMENT", this.sanitizeHeredoc(e, {
herecomment: !0,
indent: Array(this.indent + 1).join(" ")
}), 0, t.length), t.length) : 0
}, t.prototype.jsToken = function () {
var t, e;
return "`" === this.chunk.charAt(0) && (t = _.exec(this.chunk)) ? (this.token("JS", (e = t[0]).slice(1, -1), 0, e.length), e.length) : 0
}, t.prototype.regexToken = function () {
var t, e, n, i, r, o, s;
return "/" !== this.chunk.charAt(0) ? 0 : (n = d.exec(this.chunk)) ? e = this.heregexToken(n) : (i = X(this.tokens), i && (o = i[0], Z.call(i.spaced ? D : O, o) >= 0) ? 0 : (n = A.exec(this.chunk)) ? (s = n, n = s[0], r = s[1], t = s[2], "/*" === r.slice(0, 2) && this.error("regular expressions cannot begin with `*`"), "//" === r && (r = "/(?:)/"), this.token("REGEX", "" + r + t, 0, n.length), n.length) : 0)
}, t.prototype.heregexToken = function (t) {
var e, n, i, r, o, s, a, l, u, c, h, p, f, d, g, y;
if (r = t[0], e = t[1], n = t[2], 0 > e.indexOf("#{")) return a = e.replace(m, "").replace(/\//g, "\\/"), a.match(/^\*/) && this.error("regular expressions cannot begin with `*`"), this.token("REGEX", "/" + (a || "(?:)") + "/" + n, 0, r.length), r.length;
for (this.token("IDENTIFIER", "RegExp", 0, 0), this.token("CALL_START", "(", 0, 0), c = [], d = this.interpolateString(e, {
regex: !0
}), p = 0, f = d.length; f > p; p++) {
if (u = d[p], l = u[0], h = u[1], "TOKENS" === l) c.push.apply(c, h);
else if ("NEOSTRING" === l) {
if (!(h = h.replace(m, ""))) continue;
h = h.replace(/\\/g, "\\\\"), u[0] = "STRING", u[1] = this.makeString(h, '"', !0), c.push(u)
} else this.error("Unexpected " + l);
s = X(this.tokens), o = ["+", "+"], o[2] = s[2], c.push(o)
}
return c.pop(), "STRING" !== (null != (g = c[0]) ? g[0] : void 0) && (this.token("STRING", '""', 0, 0), this.token("+", "+", 0, 0)), (y = this.tokens).push.apply(y, c), n && (i = r.lastIndexOf(n), this.token(",", ",", i, 0), this.token("STRING", '"' + n + '"', i, n.length)), this.token(")", ")", r.length - 1, 0), r.length
}, t.prototype.lineToken = function () {
var t, e, n, i, r;
if (!(n = N.exec(this.chunk))) return 0;
if (e = n[0], this.seenFor = !1, r = e.length - 1 - e.lastIndexOf("\n"), i = this.unfinished(), r - this.indebt === this.indent) return i ? this.suppressNewlines() : this.newlineToken(0), e.length;
if (r > this.indent) {
if (i) return this.indebt = r - this.indent, this.suppressNewlines(), e.length;
t = r - this.indent + this.outdebt, this.token("INDENT", t, e.length - r, r), this.indents.push(t), this.ends.push("OUTDENT"), this.outdebt = this.indebt = 0
} else this.indebt = 0, this.outdentToken(this.indent - r, i, e.length);
return this.indent = r, e.length
}, t.prototype.outdentToken = function (t, e, n) {
for (var i, r; t > 0;) r = this.indents.length - 1, void 0 === this.indents[r] ? t = 0 : this.indents[r] === this.outdebt ? (t -= this.outdebt, this.outdebt = 0) : this.indents[r] < this.outdebt ? (this.outdebt -= this.indents[r], t -= this.indents[r]) : (i = this.indents.pop() + this.outdebt, t -= i, this.outdebt = 0, this.pair("OUTDENT"), this.token("OUTDENT", i, 0, n));
for (i && (this.outdebt -= t);
";" === this.value();) this.tokens.pop();
return "TERMINATOR" === this.tag() || e || this.token("TERMINATOR", "\n", n, 0), this
}, t.prototype.whitespaceToken = function () {
var t, e, n;
return (t = B.exec(this.chunk)) || (e = "\n" === this.chunk.charAt(0)) ? (n = X(this.tokens), n && (n[t ? "spaced" : "newLine"] = !0), t ? t[0].length : 0) : 0
}, t.prototype.newlineToken = function (t) {
for (;
";" === this.value();) this.tokens.pop();
return "TERMINATOR" !== this.tag() && this.token("TERMINATOR", "\n", t, 0), this
}, t.prototype.suppressNewlines = function () {
return "\\" === this.value() && this.tokens.pop(), this
}, t.prototype.literalToken = function () {
var t, e, n, o, s, a, l, h;
if ((t = L.exec(this.chunk)) ? (o = t[0], r.test(o) && this.tagParameters()) : o = this.chunk.charAt(0), n = o, e = X(this.tokens), "=" === o && e && (!e[1].reserved && (s = e[1], Z.call(b, s) >= 0) && this.error('reserved word "' + this.value() + "\" can't be assigned"), "||" === (a = e[1]) || "&&" === a)) return e[0] = "COMPOUND_ASSIGN", e[1] += "=", o.length;
if (";" === o) this.seenFor = !1, n = "TERMINATOR";
else if (Z.call(S, o) >= 0) n = "MATH";
else if (Z.call(u, o) >= 0) n = "COMPARE";
else if (Z.call(c, o) >= 0) n = "COMPOUND_ASSIGN";
else if (Z.call(H, o) >= 0) n = "UNARY";
else if (Z.call(R, o) >= 0) n = "SHIFT";
else if (Z.call(k, o) >= 0 || "?" === o && (null != e ? e.spaced : void 0)) n = "LOGIC";
else if (e && !e.spaced)
if ("(" === o && (l = e[0], Z.call(i, l) >= 0)) "?" === e[0] && (e[0] = "FUNC_EXIST"), n = "CALL_START";
else if ("[" === o && (h = e[0], Z.call(y, h) >= 0)) switch (n = "INDEX_START", e[0]) {
case "?":
e[0] = "INDEX_SOAK"
}
switch (o) {
case "(":
case "{":
case "[":
this.ends.push(v[o]);
break;
case ")":
case "}":
case "]":
this.pair(o)
}
return this.token(n, o), o.length
}, t.prototype.sanitizeHeredoc = function (t, e) {
var n, i, r, o, s;
if (r = e.indent, i = e.herecomment) {
if (p.test(t) && this.error('block comment cannot contain "*/", starting'), 0 > t.indexOf("\n")) return t
} else
for (; o = f.exec(t);) n = o[1], (null === r || (s = n.length) > 0 && r.length > s) && (r = n);
return r && (t = t.replace(RegExp("\\n" + r, "g"), "\n")), i || (t = t.replace(/^\n/, "")), t
}, t.prototype.tagParameters = function () {
var t, e, n, i;
if (")" !== this.tag()) return this;
for (e = [], i = this.tokens, t = i.length, i[--t][0] = "PARAM_END"; n = i[--t];) switch (n[0]) {
case ")":
e.push(n);
break;
case "(":
case "CALL_START":
if (!e.length) return "(" === n[0] ? (n[0] = "PARAM_START", this) : this;
e.pop()
}
return this
}, t.prototype.closeIndentation = function () {
return this.outdentToken(this.indent)
}, t.prototype.balancedString = function (t, e) {
var n, i, r, o, s, a, l, u;
for (n = 0, a = [e], i = l = 1, u = t.length; u >= 1 ? u > l : l > u; i = u >= 1 ? ++l : --l)
if (n)--n;
else {
switch (r = t.charAt(i)) {
case "\\":
++n;
continue;
case e:
if (a.pop(), !a.length) return t.slice(0, +i + 1 || 9e9);
e = a[a.length - 1];
continue
}
"}" !== e || '"' !== r && "'" !== r ? "}" === e && "/" === r && (o = d.exec(t.slice(i)) || A.exec(t.slice(i))) ? n += o[0].length - 1 : "}" === e && "{" === r ? a.push(e = "}") : '"' === e && "#" === s && "{" === r && a.push(e = "}") : a.push(e = r), s = r
}
return this.error("missing " + a.pop() + ", starting")
}, t.prototype.interpolateString = function (e, n) {
var i, r, o, s, a, l, u, c, h, p, f, d, m, g, y, v, _, b, x, w, T, k, C, S, E, N, D, O;
for (null == n && (n = {}), o = n.heredoc, _ = n.regex, m = n.offsetInChunk, x = n.strOffset, h = n.lexedLength, m = m || 0, x = x || 0, h = h || e.length, o && e.length > 0 && "\n" === e[0] && (e = e.slice(1), x++), k = [], g = 0, s = -1; c = e.charAt(s += 1);) "\\" !== c ? "#" === c && "{" === e.charAt(s + 1) && (r = this.balancedString(e.slice(s + 1), "}")) && (s > g && k.push(this.makeToken("NEOSTRING", e.slice(g, s), x + g)), a = r.slice(1, -1), a.length && (N = this.getLineAndColumnFromChunk(x + s + 1), p = N[0], i = N[1], d = (new t).tokenize(a, {
line: p,
column: i,
rewrite: !1
}), v = d.pop(), "TERMINATOR" === (null != (D = d[0]) ? D[0] : void 0) && (v = d.shift()), (u = d.length) && (u > 1 && (d.unshift(this.makeToken("(", "(", x + s + 1, 0)), d.push(this.makeToken(")", ")", x + s + 1 + a.length, 0))), k.push(["TOKENS", d]))), s += r.length, g = s + 1) : s += 1;
if (s > g && e.length > g && k.push(this.makeToken("NEOSTRING", e.slice(g), x + g)), _) return k;
if (!k.length) return this.token("STRING", '""', m, h);
for ("NEOSTRING" !== k[0][0] && k.unshift(this.makeToken("NEOSTRING", "", m)), (l = k.length > 1) && this.token("(", "(", m, 0), s = S = 0, E = k.length; E > S; s = ++S) T = k[s], w = T[0], C = T[1], s && (s && (y = this.token("+", "+")), f = "TOKENS" === w ? C[0] : T, y[2] = {
first_line: f[2].first_line,
first_column: f[2].first_column,
last_line: f[2].first_line,
last_column: f[2].first_column
}), "TOKENS" === w ? (O = this.tokens).push.apply(O, C) : "NEOSTRING" === w ? (T[0] = "STRING", T[1] = this.makeString(C, '"', o), this.tokens.push(T)) : this.error("Unexpected " + w);
return l && (b = this.makeToken(")", ")", m + h, 0), b.stringEnd = !0, this.tokens.push(b)), k
}, t.prototype.pair = function (t) {
var e, n;
return t !== (n = X(this.ends)) ? ("OUTDENT" !== n && this.error("unmatched " + t), this.indent -= e = X(this.indents), this.outdentToken(e, !0), this.pair(t)) : this.ends.pop()
}, t.prototype.getLineAndColumnFromChunk = function (t) {
var e, n, i, r;
return 0 === t ? [this.chunkLine, this.chunkColumn] : (r = t >= this.chunk.length ? this.chunk : this.chunk.slice(0, +(t - 1) + 1 || 9e9), n = z(r, "\n"), e = this.chunkColumn, n > 0 ? (i = r.split("\n"), e = X(i).length) : e += r.length, [this.chunkLine + n, e])
}, t.prototype.makeToken = function (t, e, n, i) {
var r, o, s, a, l;
return null == n && (n = 0), null == i && (i = e.length), o = {}, a = this.getLineAndColumnFromChunk(n), o.first_line = a[0], o.first_column = a[1], r = Math.max(0, i - 1), l = this.getLineAndColumnFromChunk(n + r), o.last_line = l[0], o.last_column = l[1], s = [t, e, o]
}, t.prototype.token = function (t, e, n, i) {
var r;
return r = this.makeToken(t, e, n, i), this.tokens.push(r), r
}, t.prototype.tag = function (t, e) {
var n;
return (n = X(this.tokens, t)) && (e ? n[0] = e : n[0])
}, t.prototype.value = function (t, e) {
var n;
return (n = X(this.tokens, t)) && (e ? n[1] = e : n[1])
}, t.prototype.unfinished = function () {
var t;
return T.test(this.chunk) || "\\" === (t = this.tag()) || "." === t || "?." === t || "?::" === t || "UNARY" === t || "MATH" === t || "+" === t || "-" === t || "SHIFT" === t || "RELATION" === t || "COMPARE" === t || "LOGIC" === t || "THROW" === t || "EXTENDS" === t
}, t.prototype.escapeLines = function (t, e) {
return t.replace(E, e ? "\\n" : "")
}, t.prototype.makeString = function (t, e, n) {
return t ? (t = t.replace(/\\([\s\S])/g, function (t, n) {
return "\n" === n || n === e ? n : t
}), t = t.replace(RegExp("" + e, "g"), "\\$&"), e + this.escapeLines(t, n) + e) : e + e
}, t.prototype.error = function (t) {
return Q(t, {
first_line: this.chunkLine,
first_column: this.chunkColumn
})
}, t
}(), x = ["true", "false", "null", "this", "new", "delete", "typeof", "in", "instanceof", "return", "throw", "break", "continue", "debugger", "if", "else", "switch", "for", "while", "do", "try", "catch", "finally", "class", "extends", "super"], a = ["undefined", "then", "unless", "until", "loop", "of", "by", "when"], s = {
and: "&&",
or: "||",
is: "==",
isnt: "!=",
not: "!",
yes: "true",
no: "false",
on: "true",
off: "false"
}, o = function () {
var t;
t = [];
for (U in s) t.push(U);
return t
}(), a = a.concat(o), M = ["case", "default", "function", "var", "void", "with", "const", "let", "enum", "export", "import", "native", "__hasProp", "__extends", "__slice", "__bind", "__indexOf", "implements", "interface", "package", "private", "protected", "public", "static", "yield"], I = ["arguments", "eval"], b = x.concat(M).concat(I), t.RESERVED = M.concat(x).concat(a).concat(I), t.STRICT_PROSCRIBED = I, e = 65279, g = /^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/, j = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i, h = /^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/, L = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?(\.|::)|\.{2,3})/, B = /^[^\n\S]+/, l = /^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)$)|^(?:\s*#(?!##[^#]).*)+/, r = /^[-=]>/, N = /^(?:\n[^\n\S]*)+/, $ = /^'[^\\']*(?:\\.[^\\']*)*'/, _ = /^`[^\\`]*(?:\\.[^\\`]*)*`/, A = /^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/, d = /^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/, m = /\s+(?:#.*)?/g, E = /\n/g, f = /\n+([^\n\S]*)/g, p = /\*\//, T = /^\s*(?:,|\??\.(?![.\d])|::)/, q = /\s+$/, c = ["-=", "+=", "/=", "*=", "%=", "||=", "&&=", "?=", "<<=", ">>=", ">>>=", "&=", "^=", "|="], H = ["!", "~", "NEW", "TYPEOF", "DELETE", "DO"], k = ["&&", "||", "&", "|", "^"], R = ["<<", ">>", ">>>"], u = ["==", "!=", "<", ">", "<=", ">="], S = ["*", "/", "%"], P = ["IN", "OF", "INSTANCEOF"], n = ["TRUE", "FALSE"], D = ["NUMBER", "REGEX", "BOOL", "NULL", "UNDEFINED", "++", "--", "]"], O = D.concat(")", "}", "THIS", "IDENTIFIER", "STRING"), i = ["IDENTIFIER", "STRING", "REGEX", ")", "]", "}", "?", "::", "@", "THIS", "SUPER"], y = i.concat("NUMBER", "BOOL", "NULL", "UNDEFINED"), w = ["INDENT", "OUTDENT", "TERMINATOR"]
}).call(this)
}, require["./parser"] = new function () {
var t = this,
e = function () {
function t() {
this.yy = {}
}
var e = {
trace: function () {},
yy: {},
symbols_: {
error: 2,
Root: 3,
Body: 4,
Block: 5,
TERMINATOR: 6,
Line: 7,
Expression: 8,
Statement: 9,
Return: 10,
Comment: 11,
STATEMENT: 12,
Value: 13,
Invocation: 14,
Code: 15,
Operation: 16,
Assign: 17,
If: 18,
Try: 19,
While: 20,
For: 21,
Switch: 22,
Class: 23,
Throw: 24,
INDENT: 25,
OUTDENT: 26,
Identifier: 27,
IDENTIFIER: 28,
AlphaNumeric: 29,
NUMBER: 30,
STRING: 31,
Literal: 32,
JS: 33,
REGEX: 34,
DEBUGGER: 35,
UNDEFINED: 36,
NULL: 37,
BOOL: 38,
Assignable: 39,
"=": 40,
AssignObj: 41,
ObjAssignable: 42,
":": 43,
ThisProperty: 44,
RETURN: 45,
HERECOMMENT: 46,
PARAM_START: 47,
ParamList: 48,
PARAM_END: 49,
FuncGlyph: 50,
"->": 51,
"=>": 52,
OptComma: 53,
",": 54,
Param: 55,
ParamVar: 56,
"...": 57,
Array: 58,
Object: 59,
Splat: 60,
SimpleAssignable: 61,
Accessor: 62,
Parenthetical: 63,
Range: 64,
This: 65,
".": 66,
"?.": 67,
"::": 68,
"?::": 69,
Index: 70,
INDEX_START: 71,
IndexValue: 72,
INDEX_END: 73,
INDEX_SOAK: 74,
Slice: 75,
"{": 76,
AssignList: 77,
"}": 78,
CLASS: 79,
EXTENDS: 80,
OptFuncExist: 81,
Arguments: 82,
SUPER: 83,
FUNC_EXIST: 84,
CALL_START: 85,
CALL_END: 86,
ArgList: 87,
THIS: 88,
"@": 89,
"[": 90,
"]": 91,
RangeDots: 92,
"..": 93,
Arg: 94,
SimpleArgs: 95,
TRY: 96,
Catch: 97,
FINALLY: 98,
CATCH: 99,
THROW: 100,
"(": 101,
")": 102,
WhileSource: 103,
WHILE: 104,
WHEN: 105,
UNTIL: 106,
Loop: 107,
LOOP: 108,
ForBody: 109,
FOR: 110,
ForStart: 111,
ForSource: 112,
ForVariables: 113,
OWN: 114,
ForValue: 115,
FORIN: 116,
FOROF: 117,
BY: 118,
SWITCH: 119,
Whens: 120,
ELSE: 121,
When: 122,
LEADING_WHEN: 123,
IfBlock: 124,
IF: 125,
POST_IF: 126,
UNARY: 127,
"-": 128,
"+": 129,
"--": 130,
"++": 131,
"?": 132,
MATH: 133,
SHIFT: 134,
COMPARE: 135,
LOGIC: 136,
RELATION: 137,
COMPOUND_ASSIGN: 138,
$accept: 0,
$end: 1
},
terminals_: {
2: "error",
6: "TERMINATOR",
12: "STATEMENT",
25: "INDENT",
26: "OUTDENT",
28: "IDENTIFIER",
30: "NUMBER",
31: "STRING",
33: "JS",
34: "REGEX",
35: "DEBUGGER",
36: "UNDEFINED",
37: "NULL",
38: "BOOL",
40: "=",
43: ":",
45: "RETURN",
46: "HERECOMMENT",
47: "PARAM_START",
49: "PARAM_END",
51: "->",
52: "=>",
54: ",",
57: "...",
66: ".",
67: "?.",
68: "::",
69: "?::",
71: "INDEX_START",
73: "INDEX_END",
74: "INDEX_SOAK",
76: "{",
78: "}",
79: "CLASS",
80: "EXTENDS",
83: "SUPER",
84: "FUNC_EXIST",
85: "CALL_START",
86: "CALL_END",
88: "THIS",
89: "@",
90: "[",
91: "]",
93: "..",
96: "TRY",
98: "FINALLY",
99: "CATCH",
100: "THROW",
101: "(",
102: ")",
104: "WHILE",
105: "WHEN",
106: "UNTIL",
108: "LOOP",
110: "FOR",
114: "OWN",
116: "FORIN",
117: "FOROF",
118: "BY",
119: "SWITCH",
121: "ELSE",
123: "LEADING_WHEN",
125: "IF",
126: "POST_IF",
127: "UNARY",
128: "-",
129: "+",
130: "--",
131: "++",
132: "?",
133: "MATH",
134: "SHIFT",
135: "COMPARE",
136: "LOGIC",
137: "RELATION",
138: "COMPOUND_ASSIGN"
},
productions_: [0, [3, 0],
[3, 1],
[3, 2],
[4, 1],
[4, 3],
[4, 2],
[7, 1],
[7, 1],
[9, 1],
[9, 1],
[9, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[8, 1],
[5, 2],
[5, 3],
[27, 1],
[29, 1],
[29, 1],
[32, 1],
[32, 1],
[32, 1],
[32, 1],
[32, 1],
[32, 1],
[32, 1],
[17, 3],
[17, 4],
[17, 5],
[41, 1],
[41, 3],
[41, 5],
[41, 1],
[42, 1],
[42, 1],
[42, 1],
[10, 2],
[10, 1],
[11, 1],
[15, 5],
[15, 2],
[50, 1],
[50, 1],
[53, 0],
[53, 1],
[48, 0],
[48, 1],
[48, 3],
[48, 4],
[48, 6],
[55, 1],
[55, 2],
[55, 3],
[56, 1],
[56, 1],
[56, 1],
[56, 1],
[60, 2],
[61, 1],
[61, 2],
[61, 2],
[61, 1],
[39, 1],
[39, 1],
[39, 1],
[13, 1],
[13, 1],
[13, 1],
[13, 1],
[13, 1],
[62, 2],
[62, 2],
[62, 2],
[62, 2],
[62, 1],
[62, 1],
[70, 3],
[70, 2],
[72, 1],
[72, 1],
[59, 4],
[77, 0],
[77, 1],
[77, 3],
[77, 4],
[77, 6],
[23, 1],
[23, 2],
[23, 3],
[23, 4],
[23, 2],
[23, 3],
[23, 4],
[23, 5],
[14, 3],
[14, 3],
[14, 1],
[14, 2],
[81, 0],
[81, 1],
[82, 2],
[82, 4],
[65, 1],
[65, 1],
[44, 2],
[58, 2],
[58, 4],
[92, 1],
[92, 1],
[64, 5],
[75, 3],
[75, 2],
[75, 2],
[75, 1],
[87, 1],
[87, 3],
[87, 4],
[87, 4],
[87, 6],
[94, 1],
[94, 1],
[95, 1],
[95, 3],
[19, 2],
[19, 3],
[19, 4],
[19, 5],
[97, 3],
[97, 3],
[24, 2],
[63, 3],
[63, 5],
[103, 2],
[103, 4],
[103, 2],
[103, 4],
[20, 2],
[20, 2],
[20, 2],
[20, 1],
[107, 2],
[107, 2],
[21, 2],
[21, 2],
[21, 2],
[109, 2],
[109, 2],
[111, 2],
[111, 3],
[115, 1],
[115, 1],
[115, 1],
[115, 1],
[113, 1],
[113, 3],
[112, 2],
[112, 2],
[112, 4],
[112, 4],
[112, 4],
[112, 6],
[112, 6],
[22, 5],
[22, 7],
[22, 4],
[22, 6],
[120, 1],
[120, 2],
[122, 3],
[122, 4],
[124, 3],
[124, 5],
[18, 1],
[18, 3],
[18, 3],
[18, 3],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 5],
[16, 4],
[16, 3]
],
performAction: function (t, e, n, i, r, o, s) {
var a = o.length - 1;
switch (r) {
case 1:
return this.$ = i.addLocationDataFn(s[a], s[a])(new i.Block);
case 2:
return this.$ = o[a];
case 3:
return this.$ = o[a - 1];
case 4:
this.$ = i.addLocationDataFn(s[a], s[a])(i.Block.wrap([o[a]]));
break;
case 5:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(o[a - 2].push(o[a]));
break;
case 6:
this.$ = o[a - 1];
break;
case 7:
this.$ = o[a];
break;
case 8:
this.$ = o[a];
break;
case 9:
this.$ = o[a];
break;
case 10:
this.$ = o[a];
break;
case 11:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Literal(o[a]));
break;
case 12:
this.$ = o[a];
break;
case 13:
this.$ = o[a];
break;
case 14:
this.$ = o[a];
break;
case 15:
this.$ = o[a];
break;
case 16:
this.$ = o[a];
break;
case 17:
this.$ = o[a];
break;
case 18:
this.$ = o[a];
break;
case 19:
this.$ = o[a];
break;
case 20:
this.$ = o[a];
break;
case 21:
this.$ = o[a];
break;
case 22:
this.$ = o[a];
break;
case 23:
this.$ = o[a];
break;
case 24:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Block);
break;
case 25:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(o[a - 1]);
break;
case 26:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Literal(o[a]));
break;
case 27:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Literal(o[a]));
break;
case 28:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Literal(o[a]));
break;
case 29:
this.$ = o[a];
break;
case 30:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Literal(o[a]));
break;
case 31:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Literal(o[a]));
break;
case 32:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Literal(o[a]));
break;
case 33:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Undefined);
break;
case 34:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Null);
break;
case 35:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Bool(o[a]));
break;
case 36:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Assign(o[a - 2], o[a]));
break;
case 37:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Assign(o[a - 3], o[a]));
break;
case 38:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Assign(o[a - 4], o[a - 1]));
break;
case 39:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 40:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Assign(i.addLocationDataFn(s[a - 2])(new i.Value(o[a - 2])), o[a], "object"));
break;
case 41:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Assign(i.addLocationDataFn(s[a - 4])(new i.Value(o[a - 4])), o[a - 1], "object"));
break;
case 42:
this.$ = o[a];
break;
case 43:
this.$ = o[a];
break;
case 44:
this.$ = o[a];
break;
case 45:
this.$ = o[a];
break;
case 46:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Return(o[a]));
break;
case 47:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Return);
break;
case 48:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Comment(o[a]));
break;
case 49:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Code(o[a - 3], o[a], o[a - 1]));
break;
case 50:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Code([], o[a], o[a - 1]));
break;
case 51:
this.$ = i.addLocationDataFn(s[a], s[a])("func");
break;
case 52:
this.$ = i.addLocationDataFn(s[a], s[a])("boundfunc");
break;
case 53:
this.$ = o[a];
break;
case 54:
this.$ = o[a];
break;
case 55:
this.$ = i.addLocationDataFn(s[a], s[a])([]);
break;
case 56:
this.$ = i.addLocationDataFn(s[a], s[a])([o[a]]);
break;
case 57:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(o[a - 2].concat(o[a]));
break;
case 58:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(o[a - 3].concat(o[a]));
break;
case 59:
this.$ = i.addLocationDataFn(s[a - 5], s[a])(o[a - 5].concat(o[a - 2]));
break;
case 60:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Param(o[a]));
break;
case 61:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Param(o[a - 1], null, !0));
break;
case 62:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Param(o[a - 2], o[a]));
break;
case 63:
this.$ = o[a];
break;
case 64:
this.$ = o[a];
break;
case 65:
this.$ = o[a];
break;
case 66:
this.$ = o[a];
break;
case 67:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Splat(o[a - 1]));
break;
case 68:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 69:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(o[a - 1].add(o[a]));
break;
case 70:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Value(o[a - 1], [].concat(o[a])));
break;
case 71:
this.$ = o[a];
break;
case 72:
this.$ = o[a];
break;
case 73:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 74:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 75:
this.$ = o[a];
break;
case 76:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 77:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 78:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 79:
this.$ = o[a];
break;
case 80:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Access(o[a]));
break;
case 81:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Access(o[a], "soak"));
break;
case 82:
this.$ = i.addLocationDataFn(s[a - 1], s[a])([i.addLocationDataFn(s[a - 1])(new i.Access(new i.Literal("prototype"))), i.addLocationDataFn(s[a])(new i.Access(o[a]))]);
break;
case 83:
this.$ = i.addLocationDataFn(s[a - 1], s[a])([i.addLocationDataFn(s[a - 1])(new i.Access(new i.Literal("prototype"), "soak")), i.addLocationDataFn(s[a])(new i.Access(o[a]))]);
break;
case 84:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Access(new i.Literal("prototype")));
break;
case 85:
this.$ = o[a];
break;
case 86:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(o[a - 1]);
break;
case 87:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(i.extend(o[a], {
soak: !0
}));
break;
case 88:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Index(o[a]));
break;
case 89:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Slice(o[a]));
break;
case 90:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Obj(o[a - 2], o[a - 3].generated));
break;
case 91:
this.$ = i.addLocationDataFn(s[a], s[a])([]);
break;
case 92:
this.$ = i.addLocationDataFn(s[a], s[a])([o[a]]);
break;
case 93:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(o[a - 2].concat(o[a]));
break;
case 94:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(o[a - 3].concat(o[a]));
break;
case 95:
this.$ = i.addLocationDataFn(s[a - 5], s[a])(o[a - 5].concat(o[a - 2]));
break;
case 96:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Class);
break;
case 97:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Class(null, null, o[a]));
break;
case 98:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Class(null, o[a]));
break;
case 99:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Class(null, o[a - 1], o[a]));
break;
case 100:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Class(o[a]));
break;
case 101:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Class(o[a - 1], null, o[a]));
break;
case 102:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Class(o[a - 2], o[a]));
break;
case 103:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Class(o[a - 3], o[a - 1], o[a]));
break;
case 104:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Call(o[a - 2], o[a], o[a - 1]));
break;
case 105:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Call(o[a - 2], o[a], o[a - 1]));
break;
case 106:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Call("super", [new i.Splat(new i.Literal("arguments"))]));
break;
case 107:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Call("super", o[a]));
break;
case 108:
this.$ = i.addLocationDataFn(s[a], s[a])(!1);
break;
case 109:
this.$ = i.addLocationDataFn(s[a], s[a])(!0);
break;
case 110:
this.$ = i.addLocationDataFn(s[a - 1], s[a])([]);
break;
case 111:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(o[a - 2]);
break;
case 112:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(new i.Literal("this")));
break;
case 113:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(new i.Literal("this")));
break;
case 114:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Value(i.addLocationDataFn(s[a - 1])(new i.Literal("this")), [i.addLocationDataFn(s[a])(new i.Access(o[a]))], "this"));
break;
case 115:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Arr([]));
break;
case 116:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Arr(o[a - 2]));
break;
case 117:
this.$ = i.addLocationDataFn(s[a], s[a])("inclusive");
break;
case 118:
this.$ = i.addLocationDataFn(s[a], s[a])("exclusive");
break;
case 119:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Range(o[a - 3], o[a - 1], o[a - 2]));
break;
case 120:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Range(o[a - 2], o[a], o[a - 1]));
break;
case 121:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Range(o[a - 1], null, o[a]));
break;
case 122:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Range(null, o[a], o[a - 1]));
break;
case 123:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Range(null, null, o[a]));
break;
case 124:
this.$ = i.addLocationDataFn(s[a], s[a])([o[a]]);
break;
case 125:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(o[a - 2].concat(o[a]));
break;
case 126:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(o[a - 3].concat(o[a]));
break;
case 127:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(o[a - 2]);
break;
case 128:
this.$ = i.addLocationDataFn(s[a - 5], s[a])(o[a - 5].concat(o[a - 2]));
break;
case 129:
this.$ = o[a];
break;
case 130:
this.$ = o[a];
break;
case 131:
this.$ = o[a];
break;
case 132:
this.$ = i.addLocationDataFn(s[a - 2], s[a])([].concat(o[a - 2], o[a]));
break;
case 133:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Try(o[a]));
break;
case 134:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Try(o[a - 1], o[a][0], o[a][1]));
break;
case 135:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Try(o[a - 2], null, null, o[a]));
break;
case 136:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Try(o[a - 3], o[a - 2][0], o[a - 2][1], o[a]));
break;
case 137:
this.$ = i.addLocationDataFn(s[a - 2], s[a])([o[a - 1], o[a]]);
break;
case 138:
this.$ = i.addLocationDataFn(s[a - 2], s[a])([i.addLocationDataFn(s[a - 1])(new i.Value(o[a - 1])), o[a]]);
break;
case 139:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Throw(o[a]));
break;
case 140:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Parens(o[a - 1]));
break;
case 141:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Parens(o[a - 2]));
break;
case 142:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.While(o[a]));
break;
case 143:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.While(o[a - 2], {
guard: o[a]
}));
break;
case 144:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.While(o[a], {
invert: !0
}));
break;
case 145:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.While(o[a - 2], {
invert: !0,
guard: o[a]
}));
break;
case 146:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(o[a - 1].addBody(o[a]));
break;
case 147:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(o[a].addBody(i.addLocationDataFn(s[a - 1])(i.Block.wrap([o[a - 1]]))));
break;
case 148:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(o[a].addBody(i.addLocationDataFn(s[a - 1])(i.Block.wrap([o[a - 1]]))));
break;
case 149:
this.$ = i.addLocationDataFn(s[a], s[a])(o[a]);
break;
case 150:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.While(i.addLocationDataFn(s[a - 1])(new i.Literal("true"))).addBody(o[a]));
break;
case 151:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.While(i.addLocationDataFn(s[a - 1])(new i.Literal("true"))).addBody(i.addLocationDataFn(s[a])(i.Block.wrap([o[a]]))));
break;
case 152:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.For(o[a - 1], o[a]));
break;
case 153:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.For(o[a - 1], o[a]));
break;
case 154:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.For(o[a], o[a - 1]));
break;
case 155:
this.$ = i.addLocationDataFn(s[a - 1], s[a])({
source: i.addLocationDataFn(s[a])(new i.Value(o[a]))
});
break;
case 156:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(function () {
return o[a].own = o[a - 1].own, o[a].name = o[a - 1][0], o[a].index = o[a - 1][1], o[a]
}());
break;
case 157:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(o[a]);
break;
case 158:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(function () {
return o[a].own = !0, o[a]
}());
break;
case 159:
this.$ = o[a];
break;
case 160:
this.$ = o[a];
break;
case 161:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 162:
this.$ = i.addLocationDataFn(s[a], s[a])(new i.Value(o[a]));
break;
case 163:
this.$ = i.addLocationDataFn(s[a], s[a])([o[a]]);
break;
case 164:
this.$ = i.addLocationDataFn(s[a - 2], s[a])([o[a - 2], o[a]]);
break;
case 165:
this.$ = i.addLocationDataFn(s[a - 1], s[a])({
source: o[a]
});
break;
case 166:
this.$ = i.addLocationDataFn(s[a - 1], s[a])({
source: o[a],
object: !0
});
break;
case 167:
this.$ = i.addLocationDataFn(s[a - 3], s[a])({
source: o[a - 2],
guard: o[a]
});
break;
case 168:
this.$ = i.addLocationDataFn(s[a - 3], s[a])({
source: o[a - 2],
guard: o[a],
object: !0
});
break;
case 169:
this.$ = i.addLocationDataFn(s[a - 3], s[a])({
source: o[a - 2],
step: o[a]
});
break;
case 170:
this.$ = i.addLocationDataFn(s[a - 5], s[a])({
source: o[a - 4],
guard: o[a - 2],
step: o[a]
});
break;
case 171:
this.$ = i.addLocationDataFn(s[a - 5], s[a])({
source: o[a - 4],
step: o[a - 2],
guard: o[a]
});
break;
case 172:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Switch(o[a - 3], o[a - 1]));
break;
case 173:
this.$ = i.addLocationDataFn(s[a - 6], s[a])(new i.Switch(o[a - 5], o[a - 3], o[a - 1]));
break;
case 174:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Switch(null, o[a - 1]));
break;
case 175:
this.$ = i.addLocationDataFn(s[a - 5], s[a])(new i.Switch(null, o[a - 3], o[a - 1]));
break;
case 176:
this.$ = o[a];
break;
case 177:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(o[a - 1].concat(o[a]));
break;
case 178:
this.$ = i.addLocationDataFn(s[a - 2], s[a])([
[o[a - 1], o[a]]
]);
break;
case 179:
this.$ = i.addLocationDataFn(s[a - 3], s[a])([
[o[a - 2], o[a - 1]]
]);
break;
case 180:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.If(o[a - 1], o[a], {
type: o[a - 2]
}));
break;
case 181:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(o[a - 4].addElse(new i.If(o[a - 1], o[a], {
type: o[a - 2]
})));
break;
case 182:
this.$ = o[a];
break;
case 183:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(o[a - 2].addElse(o[a]));
break;
case 184:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.If(o[a], i.addLocationDataFn(s[a - 2])(i.Block.wrap([o[a - 2]])), {
type: o[a - 1],
statement: !0
}));
break;
case 185:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.If(o[a], i.addLocationDataFn(s[a - 2])(i.Block.wrap([o[a - 2]])), {
type: o[a - 1],
statement: !0
}));
break;
case 186:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Op(o[a - 1], o[a]));
break;
case 187:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Op("-", o[a]));
break;
case 188:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Op("+", o[a]));
break;
case 189:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Op("--", o[a]));
break;
case 190:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Op("++", o[a]));
break;
case 191:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Op("--", o[a - 1], null, !0));
break;
case 192:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Op("++", o[a - 1], null, !0));
break;
case 193:
this.$ = i.addLocationDataFn(s[a - 1], s[a])(new i.Existence(o[a - 1]));
break;
case 194:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Op("+", o[a - 2], o[a]));
break;
case 195:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Op("-", o[a - 2], o[a]));
break;
case 196:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Op(o[a - 1], o[a - 2], o[a]));
break;
case 197:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Op(o[a - 1], o[a - 2], o[a]));
break;
case 198:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Op(o[a - 1], o[a - 2], o[a]));
break;
case 199:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Op(o[a - 1], o[a - 2], o[a]));
break;
case 200:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(function () {
return "!" === o[a - 1].charAt(0) ? new i.Op(o[a - 1].slice(1), o[a - 2], o[a]).invert() : new i.Op(o[a - 1], o[a - 2], o[a])
}());
break;
case 201:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Assign(o[a - 2], o[a], o[a - 1]));
break;
case 202:
this.$ = i.addLocationDataFn(s[a - 4], s[a])(new i.Assign(o[a - 4], o[a - 1], o[a - 3]));
break;
case 203:
this.$ = i.addLocationDataFn(s[a - 3], s[a])(new i.Assign(o[a - 3], o[a], o[a - 2]));
break;
case 204:
this.$ = i.addLocationDataFn(s[a - 2], s[a])(new i.Extends(o[a - 2], o[a]))
}
},
table: [{
1: [2, 1],
3: 1,
4: 2,
5: 3,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 5],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [3]
}, {
1: [2, 2],
6: [1, 74]
}, {
6: [1, 75]
}, {
1: [2, 4],
6: [2, 4],
26: [2, 4],
102: [2, 4]
}, {
4: 77,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
26: [1, 76],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 7],
6: [2, 7],
26: [2, 7],
102: [2, 7],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 8],
6: [2, 8],
26: [2, 8],
102: [2, 8],
103: 90,
104: [1, 65],
106: [1, 66],
109: 91,
110: [1, 68],
111: 69,
126: [1, 89]
}, {
1: [2, 12],
6: [2, 12],
25: [2, 12],
26: [2, 12],
49: [2, 12],
54: [2, 12],
57: [2, 12],
62: 93,
66: [1, 95],
67: [1, 96],
68: [1, 97],
69: [1, 98],
70: 99,
71: [1, 100],
73: [2, 12],
74: [1, 101],
78: [2, 12],
81: 92,
84: [1, 94],
85: [2, 108],
86: [2, 12],
91: [2, 12],
93: [2, 12],
102: [2, 12],
104: [2, 12],
105: [2, 12],
106: [2, 12],
110: [2, 12],
118: [2, 12],
126: [2, 12],
128: [2, 12],
129: [2, 12],
132: [2, 12],
133: [2, 12],
134: [2, 12],
135: [2, 12],
136: [2, 12],
137: [2, 12]
}, {
1: [2, 13],
6: [2, 13],
25: [2, 13],
26: [2, 13],
49: [2, 13],
54: [2, 13],
57: [2, 13],
62: 103,
66: [1, 95],
67: [1, 96],
68: [1, 97],
69: [1, 98],
70: 99,
71: [1, 100],
73: [2, 13],
74: [1, 101],
78: [2, 13],
81: 102,
84: [1, 94],
85: [2, 108],
86: [2, 13],
91: [2, 13],
93: [2, 13],
102: [2, 13],
104: [2, 13],
105: [2, 13],
106: [2, 13],
110: [2, 13],
118: [2, 13],
126: [2, 13],
128: [2, 13],
129: [2, 13],
132: [2, 13],
133: [2, 13],
134: [2, 13],
135: [2, 13],
136: [2, 13],
137: [2, 13]
}, {
1: [2, 14],
6: [2, 14],
25: [2, 14],
26: [2, 14],
49: [2, 14],
54: [2, 14],
57: [2, 14],
73: [2, 14],
78: [2, 14],
86: [2, 14],
91: [2, 14],
93: [2, 14],
102: [2, 14],
104: [2, 14],
105: [2, 14],
106: [2, 14],
110: [2, 14],
118: [2, 14],
126: [2, 14],
128: [2, 14],
129: [2, 14],
132: [2, 14],
133: [2, 14],
134: [2, 14],
135: [2, 14],
136: [2, 14],
137: [2, 14]
}, {
1: [2, 15],
6: [2, 15],
25: [2, 15],
26: [2, 15],
49: [2, 15],
54: [2, 15],
57: [2, 15],
73: [2, 15],
78: [2, 15],
86: [2, 15],
91: [2, 15],
93: [2, 15],
102: [2, 15],
104: [2, 15],
105: [2, 15],
106: [2, 15],
110: [2, 15],
118: [2, 15],
126: [2, 15],
128: [2, 15],
129: [2, 15],
132: [2, 15],
133: [2, 15],
134: [2, 15],
135: [2, 15],
136: [2, 15],
137: [2, 15]
}, {
1: [2, 16],
6: [2, 16],
25: [2, 16],
26: [2, 16],
49: [2, 16],
54: [2, 16],
57: [2, 16],
73: [2, 16],
78: [2, 16],
86: [2, 16],
91: [2, 16],
93: [2, 16],
102: [2, 16],
104: [2, 16],
105: [2, 16],
106: [2, 16],
110: [2, 16],
118: [2, 16],
126: [2, 16],
128: [2, 16],
129: [2, 16],
132: [2, 16],
133: [2, 16],
134: [2, 16],
135: [2, 16],
136: [2, 16],
137: [2, 16]
}, {
1: [2, 17],
6: [2, 17],
25: [2, 17],
26: [2, 17],
49: [2, 17],
54: [2, 17],
57: [2, 17],
73: [2, 17],
78: [2, 17],
86: [2, 17],
91: [2, 17],
93: [2, 17],
102: [2, 17],
104: [2, 17],
105: [2, 17],
106: [2, 17],
110: [2, 17],
118: [2, 17],
126: [2, 17],
128: [2, 17],
129: [2, 17],
132: [2, 17],
133: [2, 17],
134: [2, 17],
135: [2, 17],
136: [2, 17],
137: [2, 17]
}, {
1: [2, 18],
6: [2, 18],
25: [2, 18],
26: [2, 18],
49: [2, 18],
54: [2, 18],
57: [2, 18],
73: [2, 18],
78: [2, 18],
86: [2, 18],
91: [2, 18],
93: [2, 18],
102: [2, 18],
104: [2, 18],
105: [2, 18],
106: [2, 18],
110: [2, 18],
118: [2, 18],
126: [2, 18],
128: [2, 18],
129: [2, 18],
132: [2, 18],
133: [2, 18],
134: [2, 18],
135: [2, 18],
136: [2, 18],
137: [2, 18]
}, {
1: [2, 19],
6: [2, 19],
25: [2, 19],
26: [2, 19],
49: [2, 19],
54: [2, 19],
57: [2, 19],
73: [2, 19],
78: [2, 19],
86: [2, 19],
91: [2, 19],
93: [2, 19],
102: [2, 19],
104: [2, 19],
105: [2, 19],
106: [2, 19],
110: [2, 19],
118: [2, 19],
126: [2, 19],
128: [2, 19],
129: [2, 19],
132: [2, 19],
133: [2, 19],
134: [2, 19],
135: [2, 19],
136: [2, 19],
137: [2, 19]
}, {
1: [2, 20],
6: [2, 20],
25: [2, 20],
26: [2, 20],
49: [2, 20],
54: [2, 20],
57: [2, 20],
73: [2, 20],
78: [2, 20],
86: [2, 20],
91: [2, 20],
93: [2, 20],
102: [2, 20],
104: [2, 20],
105: [2, 20],
106: [2, 20],
110: [2, 20],
118: [2, 20],
126: [2, 20],
128: [2, 20],
129: [2, 20],
132: [2, 20],
133: [2, 20],
134: [2, 20],
135: [2, 20],
136: [2, 20],
137: [2, 20]
}, {
1: [2, 21],
6: [2, 21],
25: [2, 21],
26: [2, 21],
49: [2, 21],
54: [2, 21],
57: [2, 21],
73: [2, 21],
78: [2, 21],
86: [2, 21],
91: [2, 21],
93: [2, 21],
102: [2, 21],
104: [2, 21],
105: [2, 21],
106: [2, 21],
110: [2, 21],
118: [2, 21],
126: [2, 21],
128: [2, 21],
129: [2, 21],
132: [2, 21],
133: [2, 21],
134: [2, 21],
135: [2, 21],
136: [2, 21],
137: [2, 21]
}, {
1: [2, 22],
6: [2, 22],
25: [2, 22],
26: [2, 22],
49: [2, 22],
54: [2, 22],
57: [2, 22],
73: [2, 22],
78: [2, 22],
86: [2, 22],
91: [2, 22],
93: [2, 22],
102: [2, 22],
104: [2, 22],
105: [2, 22],
106: [2, 22],
110: [2, 22],
118: [2, 22],
126: [2, 22],
128: [2, 22],
129: [2, 22],
132: [2, 22],
133: [2, 22],
134: [2, 22],
135: [2, 22],
136: [2, 22],
137: [2, 22]
}, {
1: [2, 23],
6: [2, 23],
25: [2, 23],
26: [2, 23],
49: [2, 23],
54: [2, 23],
57: [2, 23],
73: [2, 23],
78: [2, 23],
86: [2, 23],
91: [2, 23],
93: [2, 23],
102: [2, 23],
104: [2, 23],
105: [2, 23],
106: [2, 23],
110: [2, 23],
118: [2, 23],
126: [2, 23],
128: [2, 23],
129: [2, 23],
132: [2, 23],
133: [2, 23],
134: [2, 23],
135: [2, 23],
136: [2, 23],
137: [2, 23]
}, {
1: [2, 9],
6: [2, 9],
26: [2, 9],
102: [2, 9],
104: [2, 9],
106: [2, 9],
110: [2, 9],
126: [2, 9]
}, {
1: [2, 10],
6: [2, 10],
26: [2, 10],
102: [2, 10],
104: [2, 10],
106: [2, 10],
110: [2, 10],
126: [2, 10]
}, {
1: [2, 11],
6: [2, 11],
26: [2, 11],
102: [2, 11],
104: [2, 11],
106: [2, 11],
110: [2, 11],
126: [2, 11]
}, {
1: [2, 75],
6: [2, 75],
25: [2, 75],
26: [2, 75],
40: [1, 104],
49: [2, 75],
54: [2, 75],
57: [2, 75],
66: [2, 75],
67: [2, 75],
68: [2, 75],
69: [2, 75],
71: [2, 75],
73: [2, 75],
74: [2, 75],
78: [2, 75],
84: [2, 75],
85: [2, 75],
86: [2, 75],
91: [2, 75],
93: [2, 75],
102: [2, 75],
104: [2, 75],
105: [2, 75],
106: [2, 75],
110: [2, 75],
118: [2, 75],
126: [2, 75],
128: [2, 75],
129: [2, 75],
132: [2, 75],
133: [2, 75],
134: [2, 75],
135: [2, 75],
136: [2, 75],
137: [2, 75]
}, {
1: [2, 76],
6: [2, 76],
25: [2, 76],
26: [2, 76],
49: [2, 76],
54: [2, 76],
57: [2, 76],
66: [2, 76],
67: [2, 76],
68: [2, 76],
69: [2, 76],
71: [2, 76],
73: [2, 76],
74: [2, 76],
78: [2, 76],
84: [2, 76],
85: [2, 76],
86: [2, 76],
91: [2, 76],
93: [2, 76],
102: [2, 76],
104: [2, 76],
105: [2, 76],
106: [2, 76],
110: [2, 76],
118: [2, 76],
126: [2, 76],
128: [2, 76],
129: [2, 76],
132: [2, 76],
133: [2, 76],
134: [2, 76],
135: [2, 76],
136: [2, 76],
137: [2, 76]
}, {
1: [2, 77],
6: [2, 77],
25: [2, 77],
26: [2, 77],
49: [2, 77],
54: [2, 77],
57: [2, 77],
66: [2, 77],
67: [2, 77],
68: [2, 77],
69: [2, 77],
71: [2, 77],
73: [2, 77],
74: [2, 77],
78: [2, 77],
84: [2, 77],
85: [2, 77],
86: [2, 77],
91: [2, 77],
93: [2, 77],
102: [2, 77],
104: [2, 77],
105: [2, 77],
106: [2, 77],
110: [2, 77],
118: [2, 77],
126: [2, 77],
128: [2, 77],
129: [2, 77],
132: [2, 77],
133: [2, 77],
134: [2, 77],
135: [2, 77],
136: [2, 77],
137: [2, 77]
}, {
1: [2, 78],
6: [2, 78],
25: [2, 78],
26: [2, 78],
49: [2, 78],
54: [2, 78],
57: [2, 78],
66: [2, 78],
67: [2, 78],
68: [2, 78],
69: [2, 78],
71: [2, 78],
73: [2, 78],
74: [2, 78],
78: [2, 78],
84: [2, 78],
85: [2, 78],
86: [2, 78],
91: [2, 78],
93: [2, 78],
102: [2, 78],
104: [2, 78],
105: [2, 78],
106: [2, 78],
110: [2, 78],
118: [2, 78],
126: [2, 78],
128: [2, 78],
129: [2, 78],
132: [2, 78],
133: [2, 78],
134: [2, 78],
135: [2, 78],
136: [2, 78],
137: [2, 78]
}, {
1: [2, 79],
6: [2, 79],
25: [2, 79],
26: [2, 79],
49: [2, 79],
54: [2, 79],
57: [2, 79],
66: [2, 79],
67: [2, 79],
68: [2, 79],
69: [2, 79],
71: [2, 79],
73: [2, 79],
74: [2, 79],
78: [2, 79],
84: [2, 79],
85: [2, 79],
86: [2, 79],
91: [2, 79],
93: [2, 79],
102: [2, 79],
104: [2, 79],
105: [2, 79],
106: [2, 79],
110: [2, 79],
118: [2, 79],
126: [2, 79],
128: [2, 79],
129: [2, 79],
132: [2, 79],
133: [2, 79],
134: [2, 79],
135: [2, 79],
136: [2, 79],
137: [2, 79]
}, {
1: [2, 106],
6: [2, 106],
25: [2, 106],
26: [2, 106],
49: [2, 106],
54: [2, 106],
57: [2, 106],
66: [2, 106],
67: [2, 106],
68: [2, 106],
69: [2, 106],
71: [2, 106],
73: [2, 106],
74: [2, 106],
78: [2, 106],
82: 105,
84: [2, 106],
85: [1, 106],
86: [2, 106],
91: [2, 106],
93: [2, 106],
102: [2, 106],
104: [2, 106],
105: [2, 106],
106: [2, 106],
110: [2, 106],
118: [2, 106],
126: [2, 106],
128: [2, 106],
129: [2, 106],
132: [2, 106],
133: [2, 106],
134: [2, 106],
135: [2, 106],
136: [2, 106],
137: [2, 106]
}, {
6: [2, 55],
25: [2, 55],
27: 110,
28: [1, 73],
44: 111,
48: 107,
49: [2, 55],
54: [2, 55],
55: 108,
56: 109,
58: 112,
59: 113,
76: [1, 70],
89: [1, 114],
90: [1, 115]
}, {
5: 116,
25: [1, 5]
}, {
8: 117,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 119,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 120,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
13: 122,
14: 123,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 124,
44: 63,
58: 47,
59: 48,
61: 121,
63: 25,
64: 26,
65: 27,
76: [1, 70],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
101: [1, 56]
}, {
13: 122,
14: 123,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 124,
44: 63,
58: 47,
59: 48,
61: 125,
63: 25,
64: 26,
65: 27,
76: [1, 70],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
101: [1, 56]
}, {
1: [2, 72],
6: [2, 72],
25: [2, 72],
26: [2, 72],
40: [2, 72],
49: [2, 72],
54: [2, 72],
57: [2, 72],
66: [2, 72],
67: [2, 72],
68: [2, 72],
69: [2, 72],
71: [2, 72],
73: [2, 72],
74: [2, 72],
78: [2, 72],
80: [1, 129],
84: [2, 72],
85: [2, 72],
86: [2, 72],
91: [2, 72],
93: [2, 72],
102: [2, 72],
104: [2, 72],
105: [2, 72],
106: [2, 72],
110: [2, 72],
118: [2, 72],
126: [2, 72],
128: [2, 72],
129: [2, 72],
130: [1, 126],
131: [1, 127],
132: [2, 72],
133: [2, 72],
134: [2, 72],
135: [2, 72],
136: [2, 72],
137: [2, 72],
138: [1, 128]
}, {
1: [2, 182],
6: [2, 182],
25: [2, 182],
26: [2, 182],
49: [2, 182],
54: [2, 182],
57: [2, 182],
73: [2, 182],
78: [2, 182],
86: [2, 182],
91: [2, 182],
93: [2, 182],
102: [2, 182],
104: [2, 182],
105: [2, 182],
106: [2, 182],
110: [2, 182],
118: [2, 182],
121: [1, 130],
126: [2, 182],
128: [2, 182],
129: [2, 182],
132: [2, 182],
133: [2, 182],
134: [2, 182],
135: [2, 182],
136: [2, 182],
137: [2, 182]
}, {
5: 131,
25: [1, 5]
}, {
5: 132,
25: [1, 5]
}, {
1: [2, 149],
6: [2, 149],
25: [2, 149],
26: [2, 149],
49: [2, 149],
54: [2, 149],
57: [2, 149],
73: [2, 149],
78: [2, 149],
86: [2, 149],
91: [2, 149],
93: [2, 149],
102: [2, 149],
104: [2, 149],
105: [2, 149],
106: [2, 149],
110: [2, 149],
118: [2, 149],
126: [2, 149],
128: [2, 149],
129: [2, 149],
132: [2, 149],
133: [2, 149],
134: [2, 149],
135: [2, 149],
136: [2, 149],
137: [2, 149]
}, {
5: 133,
25: [1, 5]
}, {
8: 134,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 135],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 96],
5: 136,
6: [2, 96],
13: 122,
14: 123,
25: [1, 5],
26: [2, 96],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 124,
44: 63,
49: [2, 96],
54: [2, 96],
57: [2, 96],
58: 47,
59: 48,
61: 138,
63: 25,
64: 26,
65: 27,
73: [2, 96],
76: [1, 70],
78: [2, 96],
80: [1, 137],
83: [1, 28],
86: [2, 96],
88: [1, 58],
89: [1, 59],
90: [1, 57],
91: [2, 96],
93: [2, 96],
101: [1, 56],
102: [2, 96],
104: [2, 96],
105: [2, 96],
106: [2, 96],
110: [2, 96],
118: [2, 96],
126: [2, 96],
128: [2, 96],
129: [2, 96],
132: [2, 96],
133: [2, 96],
134: [2, 96],
135: [2, 96],
136: [2, 96],
137: [2, 96]
}, {
8: 139,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 47],
6: [2, 47],
8: 140,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
26: [2, 47],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
102: [2, 47],
103: 39,
104: [2, 47],
106: [2, 47],
107: 40,
108: [1, 67],
109: 41,
110: [2, 47],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
126: [2, 47],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 48],
6: [2, 48],
25: [2, 48],
26: [2, 48],
54: [2, 48],
78: [2, 48],
102: [2, 48],
104: [2, 48],
106: [2, 48],
110: [2, 48],
126: [2, 48]
}, {
1: [2, 73],
6: [2, 73],
25: [2, 73],
26: [2, 73],
40: [2, 73],
49: [2, 73],
54: [2, 73],
57: [2, 73],
66: [2, 73],
67: [2, 73],
68: [2, 73],
69: [2, 73],
71: [2, 73],
73: [2, 73],
74: [2, 73],
78: [2, 73],
84: [2, 73],
85: [2, 73],
86: [2, 73],
91: [2, 73],
93: [2, 73],
102: [2, 73],
104: [2, 73],
105: [2, 73],
106: [2, 73],
110: [2, 73],
118: [2, 73],
126: [2, 73],
128: [2, 73],
129: [2, 73],
132: [2, 73],
133: [2, 73],
134: [2, 73],
135: [2, 73],
136: [2, 73],
137: [2, 73]
}, {
1: [2, 74],
6: [2, 74],
25: [2, 74],
26: [2, 74],
40: [2, 74],
49: [2, 74],
54: [2, 74],
57: [2, 74],
66: [2, 74],
67: [2, 74],
68: [2, 74],
69: [2, 74],
71: [2, 74],
73: [2, 74],
74: [2, 74],
78: [2, 74],
84: [2, 74],
85: [2, 74],
86: [2, 74],
91: [2, 74],
93: [2, 74],
102: [2, 74],
104: [2, 74],
105: [2, 74],
106: [2, 74],
110: [2, 74],
118: [2, 74],
126: [2, 74],
128: [2, 74],
129: [2, 74],
132: [2, 74],
133: [2, 74],
134: [2, 74],
135: [2, 74],
136: [2, 74],
137: [2, 74]
}, {
1: [2, 29],
6: [2, 29],
25: [2, 29],
26: [2, 29],
49: [2, 29],
54: [2, 29],
57: [2, 29],
66: [2, 29],
67: [2, 29],
68: [2, 29],
69: [2, 29],
71: [2, 29],
73: [2, 29],
74: [2, 29],
78: [2, 29],
84: [2, 29],
85: [2, 29],
86: [2, 29],
91: [2, 29],
93: [2, 29],
102: [2, 29],
104: [2, 29],
105: [2, 29],
106: [2, 29],
110: [2, 29],
118: [2, 29],
126: [2, 29],
128: [2, 29],
129: [2, 29],
132: [2, 29],
133: [2, 29],
134: [2, 29],
135: [2, 29],
136: [2, 29],
137: [2, 29]
}, {
1: [2, 30],
6: [2, 30],
25: [2, 30],
26: [2, 30],
49: [2, 30],
54: [2, 30],
57: [2, 30],
66: [2, 30],
67: [2, 30],
68: [2, 30],
69: [2, 30],
71: [2, 30],
73: [2, 30],
74: [2, 30],
78: [2, 30],
84: [2, 30],
85: [2, 30],
86: [2, 30],
91: [2, 30],
93: [2, 30],
102: [2, 30],
104: [2, 30],
105: [2, 30],
106: [2, 30],
110: [2, 30],
118: [2, 30],
126: [2, 30],
128: [2, 30],
129: [2, 30],
132: [2, 30],
133: [2, 30],
134: [2, 30],
135: [2, 30],
136: [2, 30],
137: [2, 30]
}, {
1: [2, 31],
6: [2, 31],
25: [2, 31],
26: [2, 31],
49: [2, 31],
54: [2, 31],
57: [2, 31],
66: [2, 31],
67: [2, 31],
68: [2, 31],
69: [2, 31],
71: [2, 31],
73: [2, 31],
74: [2, 31],
78: [2, 31],
84: [2, 31],
85: [2, 31],
86: [2, 31],
91: [2, 31],
93: [2, 31],
102: [2, 31],
104: [2, 31],
105: [2, 31],
106: [2, 31],
110: [2, 31],
118: [2, 31],
126: [2, 31],
128: [2, 31],
129: [2, 31],
132: [2, 31],
133: [2, 31],
134: [2, 31],
135: [2, 31],
136: [2, 31],
137: [2, 31]
}, {
1: [2, 32],
6: [2, 32],
25: [2, 32],
26: [2, 32],
49: [2, 32],
54: [2, 32],
57: [2, 32],
66: [2, 32],
67: [2, 32],
68: [2, 32],
69: [2, 32],
71: [2, 32],
73: [2, 32],
74: [2, 32],
78: [2, 32],
84: [2, 32],
85: [2, 32],
86: [2, 32],
91: [2, 32],
93: [2, 32],
102: [2, 32],
104: [2, 32],
105: [2, 32],
106: [2, 32],
110: [2, 32],
118: [2, 32],
126: [2, 32],
128: [2, 32],
129: [2, 32],
132: [2, 32],
133: [2, 32],
134: [2, 32],
135: [2, 32],
136: [2, 32],
137: [2, 32]
}, {
1: [2, 33],
6: [2, 33],
25: [2, 33],
26: [2, 33],
49: [2, 33],
54: [2, 33],
57: [2, 33],
66: [2, 33],
67: [2, 33],
68: [2, 33],
69: [2, 33],
71: [2, 33],
73: [2, 33],
74: [2, 33],
78: [2, 33],
84: [2, 33],
85: [2, 33],
86: [2, 33],
91: [2, 33],
93: [2, 33],
102: [2, 33],
104: [2, 33],
105: [2, 33],
106: [2, 33],
110: [2, 33],
118: [2, 33],
126: [2, 33],
128: [2, 33],
129: [2, 33],
132: [2, 33],
133: [2, 33],
134: [2, 33],
135: [2, 33],
136: [2, 33],
137: [2, 33]
}, {
1: [2, 34],
6: [2, 34],
25: [2, 34],
26: [2, 34],
49: [2, 34],
54: [2, 34],
57: [2, 34],
66: [2, 34],
67: [2, 34],
68: [2, 34],
69: [2, 34],
71: [2, 34],
73: [2, 34],
74: [2, 34],
78: [2, 34],
84: [2, 34],
85: [2, 34],
86: [2, 34],
91: [2, 34],
93: [2, 34],
102: [2, 34],
104: [2, 34],
105: [2, 34],
106: [2, 34],
110: [2, 34],
118: [2, 34],
126: [2, 34],
128: [2, 34],
129: [2, 34],
132: [2, 34],
133: [2, 34],
134: [2, 34],
135: [2, 34],
136: [2, 34],
137: [2, 34]
}, {
1: [2, 35],
6: [2, 35],
25: [2, 35],
26: [2, 35],
49: [2, 35],
54: [2, 35],
57: [2, 35],
66: [2, 35],
67: [2, 35],
68: [2, 35],
69: [2, 35],
71: [2, 35],
73: [2, 35],
74: [2, 35],
78: [2, 35],
84: [2, 35],
85: [2, 35],
86: [2, 35],
91: [2, 35],
93: [2, 35],
102: [2, 35],
104: [2, 35],
105: [2, 35],
106: [2, 35],
110: [2, 35],
118: [2, 35],
126: [2, 35],
128: [2, 35],
129: [2, 35],
132: [2, 35],
133: [2, 35],
134: [2, 35],
135: [2, 35],
136: [2, 35],
137: [2, 35]
}, {
4: 141,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 142],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 143,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 147],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
60: 148,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
87: 145,
88: [1, 58],
89: [1, 59],
90: [1, 57],
91: [1, 144],
94: 146,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 112],
6: [2, 112],
25: [2, 112],
26: [2, 112],
49: [2, 112],
54: [2, 112],
57: [2, 112],
66: [2, 112],
67: [2, 112],
68: [2, 112],
69: [2, 112],
71: [2, 112],
73: [2, 112],
74: [2, 112],
78: [2, 112],
84: [2, 112],
85: [2, 112],
86: [2, 112],
91: [2, 112],
93: [2, 112],
102: [2, 112],
104: [2, 112],
105: [2, 112],
106: [2, 112],
110: [2, 112],
118: [2, 112],
126: [2, 112],
128: [2, 112],
129: [2, 112],
132: [2, 112],
133: [2, 112],
134: [2, 112],
135: [2, 112],
136: [2, 112],
137: [2, 112]
}, {
1: [2, 113],
6: [2, 113],
25: [2, 113],
26: [2, 113],
27: 149,
28: [1, 73],
49: [2, 113],
54: [2, 113],
57: [2, 113],
66: [2, 113],
67: [2, 113],
68: [2, 113],
69: [2, 113],
71: [2, 113],
73: [2, 113],
74: [2, 113],
78: [2, 113],
84: [2, 113],
85: [2, 113],
86: [2, 113],
91: [2, 113],
93: [2, 113],
102: [2, 113],
104: [2, 113],
105: [2, 113],
106: [2, 113],
110: [2, 113],
118: [2, 113],
126: [2, 113],
128: [2, 113],
129: [2, 113],
132: [2, 113],
133: [2, 113],
134: [2, 113],
135: [2, 113],
136: [2, 113],
137: [2, 113]
}, {
25: [2, 51]
}, {
25: [2, 52]
}, {
1: [2, 68],
6: [2, 68],
25: [2, 68],
26: [2, 68],
40: [2, 68],
49: [2, 68],
54: [2, 68],
57: [2, 68],
66: [2, 68],
67: [2, 68],
68: [2, 68],
69: [2, 68],
71: [2, 68],
73: [2, 68],
74: [2, 68],
78: [2, 68],
80: [2, 68],
84: [2, 68],
85: [2, 68],
86: [2, 68],
91: [2, 68],
93: [2, 68],
102: [2, 68],
104: [2, 68],
105: [2, 68],
106: [2, 68],
110: [2, 68],
118: [2, 68],
126: [2, 68],
128: [2, 68],
129: [2, 68],
130: [2, 68],
131: [2, 68],
132: [2, 68],
133: [2, 68],
134: [2, 68],
135: [2, 68],
136: [2, 68],
137: [2, 68],
138: [2, 68]
}, {
1: [2, 71],
6: [2, 71],
25: [2, 71],
26: [2, 71],
40: [2, 71],
49: [2, 71],
54: [2, 71],
57: [2, 71],
66: [2, 71],
67: [2, 71],
68: [2, 71],
69: [2, 71],
71: [2, 71],
73: [2, 71],
74: [2, 71],
78: [2, 71],
80: [2, 71],
84: [2, 71],
85: [2, 71],
86: [2, 71],
91: [2, 71],
93: [2, 71],
102: [2, 71],
104: [2, 71],
105: [2, 71],
106: [2, 71],
110: [2, 71],
118: [2, 71],
126: [2, 71],
128: [2, 71],
129: [2, 71],
130: [2, 71],
131: [2, 71],
132: [2, 71],
133: [2, 71],
134: [2, 71],
135: [2, 71],
136: [2, 71],
137: [2, 71],
138: [2, 71]
}, {
8: 150,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 151,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 152,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
5: 153,
8: 154,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 5],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
27: 159,
28: [1, 73],
44: 160,
58: 161,
59: 162,
64: 155,
76: [1, 70],
89: [1, 114],
90: [1, 57],
113: 156,
114: [1, 157],
115: 158
}, {
112: 163,
116: [1, 164],
117: [1, 165]
}, {
6: [2, 91],
11: 169,
25: [2, 91],
27: 170,
28: [1, 73],
29: 171,
30: [1, 71],
31: [1, 72],
41: 167,
42: 168,
44: 172,
46: [1, 46],
54: [2, 91],
77: 166,
78: [2, 91],
89: [1, 114]
}, {
1: [2, 27],
6: [2, 27],
25: [2, 27],
26: [2, 27],
43: [2, 27],
49: [2, 27],
54: [2, 27],
57: [2, 27],
66: [2, 27],
67: [2, 27],
68: [2, 27],
69: [2, 27],
71: [2, 27],
73: [2, 27],
74: [2, 27],
78: [2, 27],
84: [2, 27],
85: [2, 27],
86: [2, 27],
91: [2, 27],
93: [2, 27],
102: [2, 27],
104: [2, 27],
105: [2, 27],
106: [2, 27],
110: [2, 27],
118: [2, 27],
126: [2, 27],
128: [2, 27],
129: [2, 27],
132: [2, 27],
133: [2, 27],
134: [2, 27],
135: [2, 27],
136: [2, 27],
137: [2, 27]
}, {
1: [2, 28],
6: [2, 28],
25: [2, 28],
26: [2, 28],
43: [2, 28],
49: [2, 28],
54: [2, 28],
57: [2, 28],
66: [2, 28],
67: [2, 28],
68: [2, 28],
69: [2, 28],
71: [2, 28],
73: [2, 28],
74: [2, 28],
78: [2, 28],
84: [2, 28],
85: [2, 28],
86: [2, 28],
91: [2, 28],
93: [2, 28],
102: [2, 28],
104: [2, 28],
105: [2, 28],
106: [2, 28],
110: [2, 28],
118: [2, 28],
126: [2, 28],
128: [2, 28],
129: [2, 28],
132: [2, 28],
133: [2, 28],
134: [2, 28],
135: [2, 28],
136: [2, 28],
137: [2, 28]
}, {
1: [2, 26],
6: [2, 26],
25: [2, 26],
26: [2, 26],
40: [2, 26],
43: [2, 26],
49: [2, 26],
54: [2, 26],
57: [2, 26],
66: [2, 26],
67: [2, 26],
68: [2, 26],
69: [2, 26],
71: [2, 26],
73: [2, 26],
74: [2, 26],
78: [2, 26],
80: [2, 26],
84: [2, 26],
85: [2, 26],
86: [2, 26],
91: [2, 26],
93: [2, 26],
102: [2, 26],
104: [2, 26],
105: [2, 26],
106: [2, 26],
110: [2, 26],
116: [2, 26],
117: [2, 26],
118: [2, 26],
126: [2, 26],
128: [2, 26],
129: [2, 26],
130: [2, 26],
131: [2, 26],
132: [2, 26],
133: [2, 26],
134: [2, 26],
135: [2, 26],
136: [2, 26],
137: [2, 26],
138: [2, 26]
}, {
1: [2, 6],
6: [2, 6],
7: 173,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
26: [2, 6],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
102: [2, 6],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 3]
}, {
1: [2, 24],
6: [2, 24],
25: [2, 24],
26: [2, 24],
49: [2, 24],
54: [2, 24],
57: [2, 24],
73: [2, 24],
78: [2, 24],
86: [2, 24],
91: [2, 24],
93: [2, 24],
98: [2, 24],
99: [2, 24],
102: [2, 24],
104: [2, 24],
105: [2, 24],
106: [2, 24],
110: [2, 24],
118: [2, 24],
121: [2, 24],
123: [2, 24],
126: [2, 24],
128: [2, 24],
129: [2, 24],
132: [2, 24],
133: [2, 24],
134: [2, 24],
135: [2, 24],
136: [2, 24],
137: [2, 24]
}, {
6: [1, 74],
26: [1, 174]
}, {
1: [2, 193],
6: [2, 193],
25: [2, 193],
26: [2, 193],
49: [2, 193],
54: [2, 193],
57: [2, 193],
73: [2, 193],
78: [2, 193],
86: [2, 193],
91: [2, 193],
93: [2, 193],
102: [2, 193],
104: [2, 193],
105: [2, 193],
106: [2, 193],
110: [2, 193],
118: [2, 193],
126: [2, 193],
128: [2, 193],
129: [2, 193],
132: [2, 193],
133: [2, 193],
134: [2, 193],
135: [2, 193],
136: [2, 193],
137: [2, 193]
}, {
8: 175,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 176,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 177,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 178,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 179,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 180,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 181,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 182,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 148],
6: [2, 148],
25: [2, 148],
26: [2, 148],
49: [2, 148],
54: [2, 148],
57: [2, 148],
73: [2, 148],
78: [2, 148],
86: [2, 148],
91: [2, 148],
93: [2, 148],
102: [2, 148],
104: [2, 148],
105: [2, 148],
106: [2, 148],
110: [2, 148],
118: [2, 148],
126: [2, 148],
128: [2, 148],
129: [2, 148],
132: [2, 148],
133: [2, 148],
134: [2, 148],
135: [2, 148],
136: [2, 148],
137: [2, 148]
}, {
1: [2, 153],
6: [2, 153],
25: [2, 153],
26: [2, 153],
49: [2, 153],
54: [2, 153],
57: [2, 153],
73: [2, 153],
78: [2, 153],
86: [2, 153],
91: [2, 153],
93: [2, 153],
102: [2, 153],
104: [2, 153],
105: [2, 153],
106: [2, 153],
110: [2, 153],
118: [2, 153],
126: [2, 153],
128: [2, 153],
129: [2, 153],
132: [2, 153],
133: [2, 153],
134: [2, 153],
135: [2, 153],
136: [2, 153],
137: [2, 153]
}, {
8: 183,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 147],
6: [2, 147],
25: [2, 147],
26: [2, 147],
49: [2, 147],
54: [2, 147],
57: [2, 147],
73: [2, 147],
78: [2, 147],
86: [2, 147],
91: [2, 147],
93: [2, 147],
102: [2, 147],
104: [2, 147],
105: [2, 147],
106: [2, 147],
110: [2, 147],
118: [2, 147],
126: [2, 147],
128: [2, 147],
129: [2, 147],
132: [2, 147],
133: [2, 147],
134: [2, 147],
135: [2, 147],
136: [2, 147],
137: [2, 147]
}, {
1: [2, 152],
6: [2, 152],
25: [2, 152],
26: [2, 152],
49: [2, 152],
54: [2, 152],
57: [2, 152],
73: [2, 152],
78: [2, 152],
86: [2, 152],
91: [2, 152],
93: [2, 152],
102: [2, 152],
104: [2, 152],
105: [2, 152],
106: [2, 152],
110: [2, 152],
118: [2, 152],
126: [2, 152],
128: [2, 152],
129: [2, 152],
132: [2, 152],
133: [2, 152],
134: [2, 152],
135: [2, 152],
136: [2, 152],
137: [2, 152]
}, {
82: 184,
85: [1, 106]
}, {
1: [2, 69],
6: [2, 69],
25: [2, 69],
26: [2, 69],
40: [2, 69],
49: [2, 69],
54: [2, 69],
57: [2, 69],
66: [2, 69],
67: [2, 69],
68: [2, 69],
69: [2, 69],
71: [2, 69],
73: [2, 69],
74: [2, 69],
78: [2, 69],
80: [2, 69],
84: [2, 69],
85: [2, 69],
86: [2, 69],
91: [2, 69],
93: [2, 69],
102: [2, 69],
104: [2, 69],
105: [2, 69],
106: [2, 69],
110: [2, 69],
118: [2, 69],
126: [2, 69],
128: [2, 69],
129: [2, 69],
130: [2, 69],
131: [2, 69],
132: [2, 69],
133: [2, 69],
134: [2, 69],
135: [2, 69],
136: [2, 69],
137: [2, 69],
138: [2, 69]
}, {
85: [2, 109]
}, {
27: 185,
28: [1, 73]
}, {
27: 186,
28: [1, 73]
}, {
1: [2, 84],
6: [2, 84],
25: [2, 84],
26: [2, 84],
27: 187,
28: [1, 73],
40: [2, 84],
49: [2, 84],
54: [2, 84],
57: [2, 84],
66: [2, 84],
67: [2, 84],
68: [2, 84],
69: [2, 84],
71: [2, 84],
73: [2, 84],
74: [2, 84],
78: [2, 84],
80: [2, 84],
84: [2, 84],
85: [2, 84],
86: [2, 84],
91: [2, 84],
93: [2, 84],
102: [2, 84],
104: [2, 84],
105: [2, 84],
106: [2, 84],
110: [2, 84],
118: [2, 84],
126: [2, 84],
128: [2, 84],
129: [2, 84],
130: [2, 84],
131: [2, 84],
132: [2, 84],
133: [2, 84],
134: [2, 84],
135: [2, 84],
136: [2, 84],
137: [2, 84],
138: [2, 84]
}, {
27: 188,
28: [1, 73]
}, {
1: [2, 85],
6: [2, 85],
25: [2, 85],
26: [2, 85],
40: [2, 85],
49: [2, 85],
54: [2, 85],
57: [2, 85],
66: [2, 85],
67: [2, 85],
68: [2, 85],
69: [2, 85],
71: [2, 85],
73: [2, 85],
74: [2, 85],
78: [2, 85],
80: [2, 85],
84: [2, 85],
85: [2, 85],
86: [2, 85],
91: [2, 85],
93: [2, 85],
102: [2, 85],
104: [2, 85],
105: [2, 85],
106: [2, 85],
110: [2, 85],
118: [2, 85],
126: [2, 85],
128: [2, 85],
129: [2, 85],
130: [2, 85],
131: [2, 85],
132: [2, 85],
133: [2, 85],
134: [2, 85],
135: [2, 85],
136: [2, 85],
137: [2, 85],
138: [2, 85]
}, {
8: 190,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
57: [1, 194],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
72: 189,
75: 191,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
92: 192,
93: [1, 193],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
70: 195,
71: [1, 100],
74: [1, 101]
}, {
82: 196,
85: [1, 106]
}, {
1: [2, 70],
6: [2, 70],
25: [2, 70],
26: [2, 70],
40: [2, 70],
49: [2, 70],
54: [2, 70],
57: [2, 70],
66: [2, 70],
67: [2, 70],
68: [2, 70],
69: [2, 70],
71: [2, 70],
73: [2, 70],
74: [2, 70],
78: [2, 70],
80: [2, 70],
84: [2, 70],
85: [2, 70],
86: [2, 70],
91: [2, 70],
93: [2, 70],
102: [2, 70],
104: [2, 70],
105: [2, 70],
106: [2, 70],
110: [2, 70],
118: [2, 70],
126: [2, 70],
128: [2, 70],
129: [2, 70],
130: [2, 70],
131: [2, 70],
132: [2, 70],
133: [2, 70],
134: [2, 70],
135: [2, 70],
136: [2, 70],
137: [2, 70],
138: [2, 70]
}, {
6: [1, 198],
8: 197,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 199],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 107],
6: [2, 107],
25: [2, 107],
26: [2, 107],
49: [2, 107],
54: [2, 107],
57: [2, 107],
66: [2, 107],
67: [2, 107],
68: [2, 107],
69: [2, 107],
71: [2, 107],
73: [2, 107],
74: [2, 107],
78: [2, 107],
84: [2, 107],
85: [2, 107],
86: [2, 107],
91: [2, 107],
93: [2, 107],
102: [2, 107],
104: [2, 107],
105: [2, 107],
106: [2, 107],
110: [2, 107],
118: [2, 107],
126: [2, 107],
128: [2, 107],
129: [2, 107],
132: [2, 107],
133: [2, 107],
134: [2, 107],
135: [2, 107],
136: [2, 107],
137: [2, 107]
}, {
8: 202,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 147],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
60: 148,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
86: [1, 200],
87: 201,
88: [1, 58],
89: [1, 59],
90: [1, 57],
94: 146,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [2, 53],
25: [2, 53],
49: [1, 203],
53: 205,
54: [1, 204]
}, {
6: [2, 56],
25: [2, 56],
26: [2, 56],
49: [2, 56],
54: [2, 56]
}, {
6: [2, 60],
25: [2, 60],
26: [2, 60],
40: [1, 207],
49: [2, 60],
54: [2, 60],
57: [1, 206]
}, {
6: [2, 63],
25: [2, 63],
26: [2, 63],
40: [2, 63],
49: [2, 63],
54: [2, 63],
57: [2, 63]
}, {
6: [2, 64],
25: [2, 64],
26: [2, 64],
40: [2, 64],
49: [2, 64],
54: [2, 64],
57: [2, 64]
}, {
6: [2, 65],
25: [2, 65],
26: [2, 65],
40: [2, 65],
49: [2, 65],
54: [2, 65],
57: [2, 65]
}, {
6: [2, 66],
25: [2, 66],
26: [2, 66],
40: [2, 66],
49: [2, 66],
54: [2, 66],
57: [2, 66]
}, {
27: 149,
28: [1, 73]
}, {
8: 202,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 147],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
60: 148,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
87: 145,
88: [1, 58],
89: [1, 59],
90: [1, 57],
91: [1, 144],
94: 146,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 50],
6: [2, 50],
25: [2, 50],
26: [2, 50],
49: [2, 50],
54: [2, 50],
57: [2, 50],
73: [2, 50],
78: [2, 50],
86: [2, 50],
91: [2, 50],
93: [2, 50],
102: [2, 50],
104: [2, 50],
105: [2, 50],
106: [2, 50],
110: [2, 50],
118: [2, 50],
126: [2, 50],
128: [2, 50],
129: [2, 50],
132: [2, 50],
133: [2, 50],
134: [2, 50],
135: [2, 50],
136: [2, 50],
137: [2, 50]
}, {
1: [2, 186],
6: [2, 186],
25: [2, 186],
26: [2, 186],
49: [2, 186],
54: [2, 186],
57: [2, 186],
73: [2, 186],
78: [2, 186],
86: [2, 186],
91: [2, 186],
93: [2, 186],
102: [2, 186],
103: 87,
104: [2, 186],
105: [2, 186],
106: [2, 186],
109: 88,
110: [2, 186],
111: 69,
118: [2, 186],
126: [2, 186],
128: [2, 186],
129: [2, 186],
132: [1, 78],
133: [2, 186],
134: [2, 186],
135: [2, 186],
136: [2, 186],
137: [2, 186]
}, {
103: 90,
104: [1, 65],
106: [1, 66],
109: 91,
110: [1, 68],
111: 69,
126: [1, 89]
}, {
1: [2, 187],
6: [2, 187],
25: [2, 187],
26: [2, 187],
49: [2, 187],
54: [2, 187],
57: [2, 187],
73: [2, 187],
78: [2, 187],
86: [2, 187],
91: [2, 187],
93: [2, 187],
102: [2, 187],
103: 87,
104: [2, 187],
105: [2, 187],
106: [2, 187],
109: 88,
110: [2, 187],
111: 69,
118: [2, 187],
126: [2, 187],
128: [2, 187],
129: [2, 187],
132: [1, 78],
133: [2, 187],
134: [2, 187],
135: [2, 187],
136: [2, 187],
137: [2, 187]
}, {
1: [2, 188],
6: [2, 188],
25: [2, 188],
26: [2, 188],
49: [2, 188],
54: [2, 188],
57: [2, 188],
73: [2, 188],
78: [2, 188],
86: [2, 188],
91: [2, 188],
93: [2, 188],
102: [2, 188],
103: 87,
104: [2, 188],
105: [2, 188],
106: [2, 188],
109: 88,
110: [2, 188],
111: 69,
118: [2, 188],
126: [2, 188],
128: [2, 188],
129: [2, 188],
132: [1, 78],
133: [2, 188],
134: [2, 188],
135: [2, 188],
136: [2, 188],
137: [2, 188]
}, {
1: [2, 189],
6: [2, 189],
25: [2, 189],
26: [2, 189],
49: [2, 189],
54: [2, 189],
57: [2, 189],
66: [2, 72],
67: [2, 72],
68: [2, 72],
69: [2, 72],
71: [2, 72],
73: [2, 189],
74: [2, 72],
78: [2, 189],
84: [2, 72],
85: [2, 72],
86: [2, 189],
91: [2, 189],
93: [2, 189],
102: [2, 189],
104: [2, 189],
105: [2, 189],
106: [2, 189],
110: [2, 189],
118: [2, 189],
126: [2, 189],
128: [2, 189],
129: [2, 189],
132: [2, 189],
133: [2, 189],
134: [2, 189],
135: [2, 189],
136: [2, 189],
137: [2, 189]
}, {
62: 93,
66: [1, 95],
67: [1, 96],
68: [1, 97],
69: [1, 98],
70: 99,
71: [1, 100],
74: [1, 101],
81: 92,
84: [1, 94],
85: [2, 108]
}, {
62: 103,
66: [1, 95],
67: [1, 96],
68: [1, 97],
69: [1, 98],
70: 99,
71: [1, 100],
74: [1, 101],
81: 102,
84: [1, 94],
85: [2, 108]
}, {
66: [2, 75],
67: [2, 75],
68: [2, 75],
69: [2, 75],
71: [2, 75],
74: [2, 75],
84: [2, 75],
85: [2, 75]
}, {
1: [2, 190],
6: [2, 190],
25: [2, 190],
26: [2, 190],
49: [2, 190],
54: [2, 190],
57: [2, 190],
66: [2, 72],
67: [2, 72],
68: [2, 72],
69: [2, 72],
71: [2, 72],
73: [2, 190],
74: [2, 72],
78: [2, 190],
84: [2, 72],
85: [2, 72],
86: [2, 190],
91: [2, 190],
93: [2, 190],
102: [2, 190],
104: [2, 190],
105: [2, 190],
106: [2, 190],
110: [2, 190],
118: [2, 190],
126: [2, 190],
128: [2, 190],
129: [2, 190],
132: [2, 190],
133: [2, 190],
134: [2, 190],
135: [2, 190],
136: [2, 190],
137: [2, 190]
}, {
1: [2, 191],
6: [2, 191],
25: [2, 191],
26: [2, 191],
49: [2, 191],
54: [2, 191],
57: [2, 191],
73: [2, 191],
78: [2, 191],
86: [2, 191],
91: [2, 191],
93: [2, 191],
102: [2, 191],
104: [2, 191],
105: [2, 191],
106: [2, 191],
110: [2, 191],
118: [2, 191],
126: [2, 191],
128: [2, 191],
129: [2, 191],
132: [2, 191],
133: [2, 191],
134: [2, 191],
135: [2, 191],
136: [2, 191],
137: [2, 191]
}, {
1: [2, 192],
6: [2, 192],
25: [2, 192],
26: [2, 192],
49: [2, 192],
54: [2, 192],
57: [2, 192],
73: [2, 192],
78: [2, 192],
86: [2, 192],
91: [2, 192],
93: [2, 192],
102: [2, 192],
104: [2, 192],
105: [2, 192],
106: [2, 192],
110: [2, 192],
118: [2, 192],
126: [2, 192],
128: [2, 192],
129: [2, 192],
132: [2, 192],
133: [2, 192],
134: [2, 192],
135: [2, 192],
136: [2, 192],
137: [2, 192]
}, {
6: [1, 210],
8: 208,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 209],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 211,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
5: 212,
25: [1, 5],
125: [1, 213]
}, {
1: [2, 133],
6: [2, 133],
25: [2, 133],
26: [2, 133],
49: [2, 133],
54: [2, 133],
57: [2, 133],
73: [2, 133],
78: [2, 133],
86: [2, 133],
91: [2, 133],
93: [2, 133],
97: 214,
98: [1, 215],
99: [1, 216],
102: [2, 133],
104: [2, 133],
105: [2, 133],
106: [2, 133],
110: [2, 133],
118: [2, 133],
126: [2, 133],
128: [2, 133],
129: [2, 133],
132: [2, 133],
133: [2, 133],
134: [2, 133],
135: [2, 133],
136: [2, 133],
137: [2, 133]
}, {
1: [2, 146],
6: [2, 146],
25: [2, 146],
26: [2, 146],
49: [2, 146],
54: [2, 146],
57: [2, 146],
73: [2, 146],
78: [2, 146],
86: [2, 146],
91: [2, 146],
93: [2, 146],
102: [2, 146],
104: [2, 146],
105: [2, 146],
106: [2, 146],
110: [2, 146],
118: [2, 146],
126: [2, 146],
128: [2, 146],
129: [2, 146],
132: [2, 146],
133: [2, 146],
134: [2, 146],
135: [2, 146],
136: [2, 146],
137: [2, 146]
}, {
1: [2, 154],
6: [2, 154],
25: [2, 154],
26: [2, 154],
49: [2, 154],
54: [2, 154],
57: [2, 154],
73: [2, 154],
78: [2, 154],
86: [2, 154],
91: [2, 154],
93: [2, 154],
102: [2, 154],
104: [2, 154],
105: [2, 154],
106: [2, 154],
110: [2, 154],
118: [2, 154],
126: [2, 154],
128: [2, 154],
129: [2, 154],
132: [2, 154],
133: [2, 154],
134: [2, 154],
135: [2, 154],
136: [2, 154],
137: [2, 154]
}, {
25: [1, 217],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
120: 218,
122: 219,
123: [1, 220]
}, {
1: [2, 97],
6: [2, 97],
25: [2, 97],
26: [2, 97],
49: [2, 97],
54: [2, 97],
57: [2, 97],
73: [2, 97],
78: [2, 97],
86: [2, 97],
91: [2, 97],
93: [2, 97],
102: [2, 97],
104: [2, 97],
105: [2, 97],
106: [2, 97],
110: [2, 97],
118: [2, 97],
126: [2, 97],
128: [2, 97],
129: [2, 97],
132: [2, 97],
133: [2, 97],
134: [2, 97],
135: [2, 97],
136: [2, 97],
137: [2, 97]
}, {
8: 221,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 100],
5: 222,
6: [2, 100],
25: [1, 5],
26: [2, 100],
49: [2, 100],
54: [2, 100],
57: [2, 100],
66: [2, 72],
67: [2, 72],
68: [2, 72],
69: [2, 72],
71: [2, 72],
73: [2, 100],
74: [2, 72],
78: [2, 100],
80: [1, 223],
84: [2, 72],
85: [2, 72],
86: [2, 100],
91: [2, 100],
93: [2, 100],
102: [2, 100],
104: [2, 100],
105: [2, 100],
106: [2, 100],
110: [2, 100],
118: [2, 100],
126: [2, 100],
128: [2, 100],
129: [2, 100],
132: [2, 100],
133: [2, 100],
134: [2, 100],
135: [2, 100],
136: [2, 100],
137: [2, 100]
}, {
1: [2, 139],
6: [2, 139],
25: [2, 139],
26: [2, 139],
49: [2, 139],
54: [2, 139],
57: [2, 139],
73: [2, 139],
78: [2, 139],
86: [2, 139],
91: [2, 139],
93: [2, 139],
102: [2, 139],
103: 87,
104: [2, 139],
105: [2, 139],
106: [2, 139],
109: 88,
110: [2, 139],
111: 69,
118: [2, 139],
126: [2, 139],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 46],
6: [2, 46],
26: [2, 46],
102: [2, 46],
103: 87,
104: [2, 46],
106: [2, 46],
109: 88,
110: [2, 46],
111: 69,
126: [2, 46],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
6: [1, 74],
102: [1, 224]
}, {
4: 225,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [2, 129],
25: [2, 129],
54: [2, 129],
57: [1, 227],
91: [2, 129],
92: 226,
93: [1, 193],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 115],
6: [2, 115],
25: [2, 115],
26: [2, 115],
40: [2, 115],
49: [2, 115],
54: [2, 115],
57: [2, 115],
66: [2, 115],
67: [2, 115],
68: [2, 115],
69: [2, 115],
71: [2, 115],
73: [2, 115],
74: [2, 115],
78: [2, 115],
84: [2, 115],
85: [2, 115],
86: [2, 115],
91: [2, 115],
93: [2, 115],
102: [2, 115],
104: [2, 115],
105: [2, 115],
106: [2, 115],
110: [2, 115],
116: [2, 115],
117: [2, 115],
118: [2, 115],
126: [2, 115],
128: [2, 115],
129: [2, 115],
132: [2, 115],
133: [2, 115],
134: [2, 115],
135: [2, 115],
136: [2, 115],
137: [2, 115]
}, {
6: [2, 53],
25: [2, 53],
53: 228,
54: [1, 229],
91: [2, 53]
}, {
6: [2, 124],
25: [2, 124],
26: [2, 124],
54: [2, 124],
86: [2, 124],
91: [2, 124]
}, {
8: 202,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 147],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
60: 148,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
87: 230,
88: [1, 58],
89: [1, 59],
90: [1, 57],
94: 146,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [2, 130],
25: [2, 130],
26: [2, 130],
54: [2, 130],
86: [2, 130],
91: [2, 130]
}, {
1: [2, 114],
6: [2, 114],
25: [2, 114],
26: [2, 114],
40: [2, 114],
43: [2, 114],
49: [2, 114],
54: [2, 114],
57: [2, 114],
66: [2, 114],
67: [2, 114],
68: [2, 114],
69: [2, 114],
71: [2, 114],
73: [2, 114],
74: [2, 114],
78: [2, 114],
80: [2, 114],
84: [2, 114],
85: [2, 114],
86: [2, 114],
91: [2, 114],
93: [2, 114],
102: [2, 114],
104: [2, 114],
105: [2, 114],
106: [2, 114],
110: [2, 114],
116: [2, 114],
117: [2, 114],
118: [2, 114],
126: [2, 114],
128: [2, 114],
129: [2, 114],
130: [2, 114],
131: [2, 114],
132: [2, 114],
133: [2, 114],
134: [2, 114],
135: [2, 114],
136: [2, 114],
137: [2, 114],
138: [2, 114]
}, {
5: 231,
25: [1, 5],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 142],
6: [2, 142],
25: [2, 142],
26: [2, 142],
49: [2, 142],
54: [2, 142],
57: [2, 142],
73: [2, 142],
78: [2, 142],
86: [2, 142],
91: [2, 142],
93: [2, 142],
102: [2, 142],
103: 87,
104: [1, 65],
105: [1, 232],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 142],
126: [2, 142],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 144],
6: [2, 144],
25: [2, 144],
26: [2, 144],
49: [2, 144],
54: [2, 144],
57: [2, 144],
73: [2, 144],
78: [2, 144],
86: [2, 144],
91: [2, 144],
93: [2, 144],
102: [2, 144],
103: 87,
104: [1, 65],
105: [1, 233],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 144],
126: [2, 144],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 150],
6: [2, 150],
25: [2, 150],
26: [2, 150],
49: [2, 150],
54: [2, 150],
57: [2, 150],
73: [2, 150],
78: [2, 150],
86: [2, 150],
91: [2, 150],
93: [2, 150],
102: [2, 150],
104: [2, 150],
105: [2, 150],
106: [2, 150],
110: [2, 150],
118: [2, 150],
126: [2, 150],
128: [2, 150],
129: [2, 150],
132: [2, 150],
133: [2, 150],
134: [2, 150],
135: [2, 150],
136: [2, 150],
137: [2, 150]
}, {
1: [2, 151],
6: [2, 151],
25: [2, 151],
26: [2, 151],
49: [2, 151],
54: [2, 151],
57: [2, 151],
73: [2, 151],
78: [2, 151],
86: [2, 151],
91: [2, 151],
93: [2, 151],
102: [2, 151],
103: 87,
104: [1, 65],
105: [2, 151],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 151],
126: [2, 151],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 155],
6: [2, 155],
25: [2, 155],
26: [2, 155],
49: [2, 155],
54: [2, 155],
57: [2, 155],
73: [2, 155],
78: [2, 155],
86: [2, 155],
91: [2, 155],
93: [2, 155],
102: [2, 155],
104: [2, 155],
105: [2, 155],
106: [2, 155],
110: [2, 155],
118: [2, 155],
126: [2, 155],
128: [2, 155],
129: [2, 155],
132: [2, 155],
133: [2, 155],
134: [2, 155],
135: [2, 155],
136: [2, 155],
137: [2, 155]
}, {
116: [2, 157],
117: [2, 157]
}, {
27: 159,
28: [1, 73],
44: 160,
58: 161,
59: 162,
76: [1, 70],
89: [1, 114],
90: [1, 115],
113: 234,
115: 158
}, {
54: [1, 235],
116: [2, 163],
117: [2, 163]
}, {
54: [2, 159],
116: [2, 159],
117: [2, 159]
}, {
54: [2, 160],
116: [2, 160],
117: [2, 160]
}, {
54: [2, 161],
116: [2, 161],
117: [2, 161]
}, {
54: [2, 162],
116: [2, 162],
117: [2, 162]
}, {
1: [2, 156],
6: [2, 156],
25: [2, 156],
26: [2, 156],
49: [2, 156],
54: [2, 156],
57: [2, 156],
73: [2, 156],
78: [2, 156],
86: [2, 156],
91: [2, 156],
93: [2, 156],
102: [2, 156],
104: [2, 156],
105: [2, 156],
106: [2, 156],
110: [2, 156],
118: [2, 156],
126: [2, 156],
128: [2, 156],
129: [2, 156],
132: [2, 156],
133: [2, 156],
134: [2, 156],
135: [2, 156],
136: [2, 156],
137: [2, 156]
}, {
8: 236,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 237,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [2, 53],
25: [2, 53],
53: 238,
54: [1, 239],
78: [2, 53]
}, {
6: [2, 92],
25: [2, 92],
26: [2, 92],
54: [2, 92],
78: [2, 92]
}, {
6: [2, 39],
25: [2, 39],
26: [2, 39],
43: [1, 240],
54: [2, 39],
78: [2, 39]
}, {
6: [2, 42],
25: [2, 42],
26: [2, 42],
54: [2, 42],
78: [2, 42]
}, {
6: [2, 43],
25: [2, 43],
26: [2, 43],
43: [2, 43],
54: [2, 43],
78: [2, 43]
}, {
6: [2, 44],
25: [2, 44],
26: [2, 44],
43: [2, 44],
54: [2, 44],
78: [2, 44]
}, {
6: [2, 45],
25: [2, 45],
26: [2, 45],
43: [2, 45],
54: [2, 45],
78: [2, 45]
}, {
1: [2, 5],
6: [2, 5],
26: [2, 5],
102: [2, 5]
}, {
1: [2, 25],
6: [2, 25],
25: [2, 25],
26: [2, 25],
49: [2, 25],
54: [2, 25],
57: [2, 25],
73: [2, 25],
78: [2, 25],
86: [2, 25],
91: [2, 25],
93: [2, 25],
98: [2, 25],
99: [2, 25],
102: [2, 25],
104: [2, 25],
105: [2, 25],
106: [2, 25],
110: [2, 25],
118: [2, 25],
121: [2, 25],
123: [2, 25],
126: [2, 25],
128: [2, 25],
129: [2, 25],
132: [2, 25],
133: [2, 25],
134: [2, 25],
135: [2, 25],
136: [2, 25],
137: [2, 25]
}, {
1: [2, 194],
6: [2, 194],
25: [2, 194],
26: [2, 194],
49: [2, 194],
54: [2, 194],
57: [2, 194],
73: [2, 194],
78: [2, 194],
86: [2, 194],
91: [2, 194],
93: [2, 194],
102: [2, 194],
103: 87,
104: [2, 194],
105: [2, 194],
106: [2, 194],
109: 88,
110: [2, 194],
111: 69,
118: [2, 194],
126: [2, 194],
128: [2, 194],
129: [2, 194],
132: [1, 78],
133: [1, 81],
134: [2, 194],
135: [2, 194],
136: [2, 194],
137: [2, 194]
}, {
1: [2, 195],
6: [2, 195],
25: [2, 195],
26: [2, 195],
49: [2, 195],
54: [2, 195],
57: [2, 195],
73: [2, 195],
78: [2, 195],
86: [2, 195],
91: [2, 195],
93: [2, 195],
102: [2, 195],
103: 87,
104: [2, 195],
105: [2, 195],
106: [2, 195],
109: 88,
110: [2, 195],
111: 69,
118: [2, 195],
126: [2, 195],
128: [2, 195],
129: [2, 195],
132: [1, 78],
133: [1, 81],
134: [2, 195],
135: [2, 195],
136: [2, 195],
137: [2, 195]
}, {
1: [2, 196],
6: [2, 196],
25: [2, 196],
26: [2, 196],
49: [2, 196],
54: [2, 196],
57: [2, 196],
73: [2, 196],
78: [2, 196],
86: [2, 196],
91: [2, 196],
93: [2, 196],
102: [2, 196],
103: 87,
104: [2, 196],
105: [2, 196],
106: [2, 196],
109: 88,
110: [2, 196],
111: 69,
118: [2, 196],
126: [2, 196],
128: [2, 196],
129: [2, 196],
132: [1, 78],
133: [2, 196],
134: [2, 196],
135: [2, 196],
136: [2, 196],
137: [2, 196]
}, {
1: [2, 197],
6: [2, 197],
25: [2, 197],
26: [2, 197],
49: [2, 197],
54: [2, 197],
57: [2, 197],
73: [2, 197],
78: [2, 197],
86: [2, 197],
91: [2, 197],
93: [2, 197],
102: [2, 197],
103: 87,
104: [2, 197],
105: [2, 197],
106: [2, 197],
109: 88,
110: [2, 197],
111: 69,
118: [2, 197],
126: [2, 197],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [2, 197],
135: [2, 197],
136: [2, 197],
137: [2, 197]
}, {
1: [2, 198],
6: [2, 198],
25: [2, 198],
26: [2, 198],
49: [2, 198],
54: [2, 198],
57: [2, 198],
73: [2, 198],
78: [2, 198],
86: [2, 198],
91: [2, 198],
93: [2, 198],
102: [2, 198],
103: 87,
104: [2, 198],
105: [2, 198],
106: [2, 198],
109: 88,
110: [2, 198],
111: 69,
118: [2, 198],
126: [2, 198],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [2, 198],
136: [2, 198],
137: [1, 85]
}, {
1: [2, 199],
6: [2, 199],
25: [2, 199],
26: [2, 199],
49: [2, 199],
54: [2, 199],
57: [2, 199],
73: [2, 199],
78: [2, 199],
86: [2, 199],
91: [2, 199],
93: [2, 199],
102: [2, 199],
103: 87,
104: [2, 199],
105: [2, 199],
106: [2, 199],
109: 88,
110: [2, 199],
111: 69,
118: [2, 199],
126: [2, 199],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [2, 199],
137: [1, 85]
}, {
1: [2, 200],
6: [2, 200],
25: [2, 200],
26: [2, 200],
49: [2, 200],
54: [2, 200],
57: [2, 200],
73: [2, 200],
78: [2, 200],
86: [2, 200],
91: [2, 200],
93: [2, 200],
102: [2, 200],
103: 87,
104: [2, 200],
105: [2, 200],
106: [2, 200],
109: 88,
110: [2, 200],
111: 69,
118: [2, 200],
126: [2, 200],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [2, 200],
136: [2, 200],
137: [2, 200]
}, {
1: [2, 185],
6: [2, 185],
25: [2, 185],
26: [2, 185],
49: [2, 185],
54: [2, 185],
57: [2, 185],
73: [2, 185],
78: [2, 185],
86: [2, 185],
91: [2, 185],
93: [2, 185],
102: [2, 185],
103: 87,
104: [1, 65],
105: [2, 185],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 185],
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 184],
6: [2, 184],
25: [2, 184],
26: [2, 184],
49: [2, 184],
54: [2, 184],
57: [2, 184],
73: [2, 184],
78: [2, 184],
86: [2, 184],
91: [2, 184],
93: [2, 184],
102: [2, 184],
103: 87,
104: [1, 65],
105: [2, 184],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 184],
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 104],
6: [2, 104],
25: [2, 104],
26: [2, 104],
49: [2, 104],
54: [2, 104],
57: [2, 104],
66: [2, 104],
67: [2, 104],
68: [2, 104],
69: [2, 104],
71: [2, 104],
73: [2, 104],
74: [2, 104],
78: [2, 104],
84: [2, 104],
85: [2, 104],
86: [2, 104],
91: [2, 104],
93: [2, 104],
102: [2, 104],
104: [2, 104],
105: [2, 104],
106: [2, 104],
110: [2, 104],
118: [2, 104],
126: [2, 104],
128: [2, 104],
129: [2, 104],
132: [2, 104],
133: [2, 104],
134: [2, 104],
135: [2, 104],
136: [2, 104],
137: [2, 104]
}, {
1: [2, 80],
6: [2, 80],
25: [2, 80],
26: [2, 80],
40: [2, 80],
49: [2, 80],
54: [2, 80],
57: [2, 80],
66: [2, 80],
67: [2, 80],
68: [2, 80],
69: [2, 80],
71: [2, 80],
73: [2, 80],
74: [2, 80],
78: [2, 80],
80: [2, 80],
84: [2, 80],
85: [2, 80],
86: [2, 80],
91: [2, 80],
93: [2, 80],
102: [2, 80],
104: [2, 80],
105: [2, 80],
106: [2, 80],
110: [2, 80],
118: [2, 80],
126: [2, 80],
128: [2, 80],
129: [2, 80],
130: [2, 80],
131: [2, 80],
132: [2, 80],
133: [2, 80],
134: [2, 80],
135: [2, 80],
136: [2, 80],
137: [2, 80],
138: [2, 80]
}, {
1: [2, 81],
6: [2, 81],
25: [2, 81],
26: [2, 81],
40: [2, 81],
49: [2, 81],
54: [2, 81],
57: [2, 81],
66: [2, 81],
67: [2, 81],
68: [2, 81],
69: [2, 81],
71: [2, 81],
73: [2, 81],
74: [2, 81],
78: [2, 81],
80: [2, 81],
84: [2, 81],
85: [2, 81],
86: [2, 81],
91: [2, 81],
93: [2, 81],
102: [2, 81],
104: [2, 81],
105: [2, 81],
106: [2, 81],
110: [2, 81],
118: [2, 81],
126: [2, 81],
128: [2, 81],
129: [2, 81],
130: [2, 81],
131: [2, 81],
132: [2, 81],
133: [2, 81],
134: [2, 81],
135: [2, 81],
136: [2, 81],
137: [2, 81],
138: [2, 81]
}, {
1: [2, 82],
6: [2, 82],
25: [2, 82],
26: [2, 82],
40: [2, 82],
49: [2, 82],
54: [2, 82],
57: [2, 82],
66: [2, 82],
67: [2, 82],
68: [2, 82],
69: [2, 82],
71: [2, 82],
73: [2, 82],
74: [2, 82],
78: [2, 82],
80: [2, 82],
84: [2, 82],
85: [2, 82],
86: [2, 82],
91: [2, 82],
93: [2, 82],
102: [2, 82],
104: [2, 82],
105: [2, 82],
106: [2, 82],
110: [2, 82],
118: [2, 82],
126: [2, 82],
128: [2, 82],
129: [2, 82],
130: [2, 82],
131: [2, 82],
132: [2, 82],
133: [2, 82],
134: [2, 82],
135: [2, 82],
136: [2, 82],
137: [2, 82],
138: [2, 82]
}, {
1: [2, 83],
6: [2, 83],
25: [2, 83],
26: [2, 83],
40: [2, 83],
49: [2, 83],
54: [2, 83],
57: [2, 83],
66: [2, 83],
67: [2, 83],
68: [2, 83],
69: [2, 83],
71: [2, 83],
73: [2, 83],
74: [2, 83],
78: [2, 83],
80: [2, 83],
84: [2, 83],
85: [2, 83],
86: [2, 83],
91: [2, 83],
93: [2, 83],
102: [2, 83],
104: [2, 83],
105: [2, 83],
106: [2, 83],
110: [2, 83],
118: [2, 83],
126: [2, 83],
128: [2, 83],
129: [2, 83],
130: [2, 83],
131: [2, 83],
132: [2, 83],
133: [2, 83],
134: [2, 83],
135: [2, 83],
136: [2, 83],
137: [2, 83],
138: [2, 83]
}, {
73: [1, 241]
}, {
57: [1, 194],
73: [2, 88],
92: 242,
93: [1, 193],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
73: [2, 89]
}, {
8: 243,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
73: [2, 123],
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
12: [2, 117],
28: [2, 117],
30: [2, 117],
31: [2, 117],
33: [2, 117],
34: [2, 117],
35: [2, 117],
36: [2, 117],
37: [2, 117],
38: [2, 117],
45: [2, 117],
46: [2, 117],
47: [2, 117],
51: [2, 117],
52: [2, 117],
73: [2, 117],
76: [2, 117],
79: [2, 117],
83: [2, 117],
88: [2, 117],
89: [2, 117],
90: [2, 117],
96: [2, 117],
100: [2, 117],
101: [2, 117],
104: [2, 117],
106: [2, 117],
108: [2, 117],
110: [2, 117],
119: [2, 117],
125: [2, 117],
127: [2, 117],
128: [2, 117],
129: [2, 117],
130: [2, 117],
131: [2, 117]
}, {
12: [2, 118],
28: [2, 118],
30: [2, 118],
31: [2, 118],
33: [2, 118],
34: [2, 118],
35: [2, 118],
36: [2, 118],
37: [2, 118],
38: [2, 118],
45: [2, 118],
46: [2, 118],
47: [2, 118],
51: [2, 118],
52: [2, 118],
73: [2, 118],
76: [2, 118],
79: [2, 118],
83: [2, 118],
88: [2, 118],
89: [2, 118],
90: [2, 118],
96: [2, 118],
100: [2, 118],
101: [2, 118],
104: [2, 118],
106: [2, 118],
108: [2, 118],
110: [2, 118],
119: [2, 118],
125: [2, 118],
127: [2, 118],
128: [2, 118],
129: [2, 118],
130: [2, 118],
131: [2, 118]
}, {
1: [2, 87],
6: [2, 87],
25: [2, 87],
26: [2, 87],
40: [2, 87],
49: [2, 87],
54: [2, 87],
57: [2, 87],
66: [2, 87],
67: [2, 87],
68: [2, 87],
69: [2, 87],
71: [2, 87],
73: [2, 87],
74: [2, 87],
78: [2, 87],
80: [2, 87],
84: [2, 87],
85: [2, 87],
86: [2, 87],
91: [2, 87],
93: [2, 87],
102: [2, 87],
104: [2, 87],
105: [2, 87],
106: [2, 87],
110: [2, 87],
118: [2, 87],
126: [2, 87],
128: [2, 87],
129: [2, 87],
130: [2, 87],
131: [2, 87],
132: [2, 87],
133: [2, 87],
134: [2, 87],
135: [2, 87],
136: [2, 87],
137: [2, 87],
138: [2, 87]
}, {
1: [2, 105],
6: [2, 105],
25: [2, 105],
26: [2, 105],
49: [2, 105],
54: [2, 105],
57: [2, 105],
66: [2, 105],
67: [2, 105],
68: [2, 105],
69: [2, 105],
71: [2, 105],
73: [2, 105],
74: [2, 105],
78: [2, 105],
84: [2, 105],
85: [2, 105],
86: [2, 105],
91: [2, 105],
93: [2, 105],
102: [2, 105],
104: [2, 105],
105: [2, 105],
106: [2, 105],
110: [2, 105],
118: [2, 105],
126: [2, 105],
128: [2, 105],
129: [2, 105],
132: [2, 105],
133: [2, 105],
134: [2, 105],
135: [2, 105],
136: [2, 105],
137: [2, 105]
}, {
1: [2, 36],
6: [2, 36],
25: [2, 36],
26: [2, 36],
49: [2, 36],
54: [2, 36],
57: [2, 36],
73: [2, 36],
78: [2, 36],
86: [2, 36],
91: [2, 36],
93: [2, 36],
102: [2, 36],
103: 87,
104: [2, 36],
105: [2, 36],
106: [2, 36],
109: 88,
110: [2, 36],
111: 69,
118: [2, 36],
126: [2, 36],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
8: 244,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 245,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 110],
6: [2, 110],
25: [2, 110],
26: [2, 110],
49: [2, 110],
54: [2, 110],
57: [2, 110],
66: [2, 110],
67: [2, 110],
68: [2, 110],
69: [2, 110],
71: [2, 110],
73: [2, 110],
74: [2, 110],
78: [2, 110],
84: [2, 110],
85: [2, 110],
86: [2, 110],
91: [2, 110],
93: [2, 110],
102: [2, 110],
104: [2, 110],
105: [2, 110],
106: [2, 110],
110: [2, 110],
118: [2, 110],
126: [2, 110],
128: [2, 110],
129: [2, 110],
132: [2, 110],
133: [2, 110],
134: [2, 110],
135: [2, 110],
136: [2, 110],
137: [2, 110]
}, {
6: [2, 53],
25: [2, 53],
53: 246,
54: [1, 229],
86: [2, 53]
}, {
6: [2, 129],
25: [2, 129],
26: [2, 129],
54: [2, 129],
57: [1, 247],
86: [2, 129],
91: [2, 129],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
50: 248,
51: [1, 60],
52: [1, 61]
}, {
6: [2, 54],
25: [2, 54],
26: [2, 54],
27: 110,
28: [1, 73],
44: 111,
55: 249,
56: 109,
58: 112,
59: 113,
76: [1, 70],
89: [1, 114],
90: [1, 115]
}, {
6: [1, 250],
25: [1, 251]
}, {
6: [2, 61],
25: [2, 61],
26: [2, 61],
49: [2, 61],
54: [2, 61]
}, {
8: 252,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 201],
6: [2, 201],
25: [2, 201],
26: [2, 201],
49: [2, 201],
54: [2, 201],
57: [2, 201],
73: [2, 201],
78: [2, 201],
86: [2, 201],
91: [2, 201],
93: [2, 201],
102: [2, 201],
103: 87,
104: [2, 201],
105: [2, 201],
106: [2, 201],
109: 88,
110: [2, 201],
111: 69,
118: [2, 201],
126: [2, 201],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
8: 253,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 254,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 204],
6: [2, 204],
25: [2, 204],
26: [2, 204],
49: [2, 204],
54: [2, 204],
57: [2, 204],
73: [2, 204],
78: [2, 204],
86: [2, 204],
91: [2, 204],
93: [2, 204],
102: [2, 204],
103: 87,
104: [2, 204],
105: [2, 204],
106: [2, 204],
109: 88,
110: [2, 204],
111: 69,
118: [2, 204],
126: [2, 204],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 183],
6: [2, 183],
25: [2, 183],
26: [2, 183],
49: [2, 183],
54: [2, 183],
57: [2, 183],
73: [2, 183],
78: [2, 183],
86: [2, 183],
91: [2, 183],
93: [2, 183],
102: [2, 183],
104: [2, 183],
105: [2, 183],
106: [2, 183],
110: [2, 183],
118: [2, 183],
126: [2, 183],
128: [2, 183],
129: [2, 183],
132: [2, 183],
133: [2, 183],
134: [2, 183],
135: [2, 183],
136: [2, 183],
137: [2, 183]
}, {
8: 255,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 134],
6: [2, 134],
25: [2, 134],
26: [2, 134],
49: [2, 134],
54: [2, 134],
57: [2, 134],
73: [2, 134],
78: [2, 134],
86: [2, 134],
91: [2, 134],
93: [2, 134],
98: [1, 256],
102: [2, 134],
104: [2, 134],
105: [2, 134],
106: [2, 134],
110: [2, 134],
118: [2, 134],
126: [2, 134],
128: [2, 134],
129: [2, 134],
132: [2, 134],
133: [2, 134],
134: [2, 134],
135: [2, 134],
136: [2, 134],
137: [2, 134]
}, {
5: 257,
25: [1, 5]
}, {
27: 258,
28: [1, 73],
59: 259,
76: [1, 70]
}, {
120: 260,
122: 219,
123: [1, 220]
}, {
26: [1, 261],
121: [1, 262],
122: 263,
123: [1, 220]
}, {
26: [2, 176],
121: [2, 176],
123: [2, 176]
}, {
8: 265,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
95: 264,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 98],
5: 266,
6: [2, 98],
25: [1, 5],
26: [2, 98],
49: [2, 98],
54: [2, 98],
57: [2, 98],
73: [2, 98],
78: [2, 98],
86: [2, 98],
91: [2, 98],
93: [2, 98],
102: [2, 98],
103: 87,
104: [1, 65],
105: [2, 98],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 98],
126: [2, 98],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 101],
6: [2, 101],
25: [2, 101],
26: [2, 101],
49: [2, 101],
54: [2, 101],
57: [2, 101],
73: [2, 101],
78: [2, 101],
86: [2, 101],
91: [2, 101],
93: [2, 101],
102: [2, 101],
104: [2, 101],
105: [2, 101],
106: [2, 101],
110: [2, 101],
118: [2, 101],
126: [2, 101],
128: [2, 101],
129: [2, 101],
132: [2, 101],
133: [2, 101],
134: [2, 101],
135: [2, 101],
136: [2, 101],
137: [2, 101]
}, {
8: 267,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 140],
6: [2, 140],
25: [2, 140],
26: [2, 140],
49: [2, 140],
54: [2, 140],
57: [2, 140],
66: [2, 140],
67: [2, 140],
68: [2, 140],
69: [2, 140],
71: [2, 140],
73: [2, 140],
74: [2, 140],
78: [2, 140],
84: [2, 140],
85: [2, 140],
86: [2, 140],
91: [2, 140],
93: [2, 140],
102: [2, 140],
104: [2, 140],
105: [2, 140],
106: [2, 140],
110: [2, 140],
118: [2, 140],
126: [2, 140],
128: [2, 140],
129: [2, 140],
132: [2, 140],
133: [2, 140],
134: [2, 140],
135: [2, 140],
136: [2, 140],
137: [2, 140]
}, {
6: [1, 74],
26: [1, 268]
}, {
8: 269,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [2, 67],
12: [2, 118],
25: [2, 67],
28: [2, 118],
30: [2, 118],
31: [2, 118],
33: [2, 118],
34: [2, 118],
35: [2, 118],
36: [2, 118],
37: [2, 118],
38: [2, 118],
45: [2, 118],
46: [2, 118],
47: [2, 118],
51: [2, 118],
52: [2, 118],
54: [2, 67],
76: [2, 118],
79: [2, 118],
83: [2, 118],
88: [2, 118],
89: [2, 118],
90: [2, 118],
91: [2, 67],
96: [2, 118],
100: [2, 118],
101: [2, 118],
104: [2, 118],
106: [2, 118],
108: [2, 118],
110: [2, 118],
119: [2, 118],
125: [2, 118],
127: [2, 118],
128: [2, 118],
129: [2, 118],
130: [2, 118],
131: [2, 118]
}, {
6: [1, 271],
25: [1, 272],
91: [1, 270]
}, {
6: [2, 54],
8: 202,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [2, 54],
26: [2, 54],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
60: 148,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
86: [2, 54],
88: [1, 58],
89: [1, 59],
90: [1, 57],
91: [2, 54],
94: 273,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [2, 53],
25: [2, 53],
26: [2, 53],
53: 274,
54: [1, 229]
}, {
1: [2, 180],
6: [2, 180],
25: [2, 180],
26: [2, 180],
49: [2, 180],
54: [2, 180],
57: [2, 180],
73: [2, 180],
78: [2, 180],
86: [2, 180],
91: [2, 180],
93: [2, 180],
102: [2, 180],
104: [2, 180],
105: [2, 180],
106: [2, 180],
110: [2, 180],
118: [2, 180],
121: [2, 180],
126: [2, 180],
128: [2, 180],
129: [2, 180],
132: [2, 180],
133: [2, 180],
134: [2, 180],
135: [2, 180],
136: [2, 180],
137: [2, 180]
}, {
8: 275,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 276,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
116: [2, 158],
117: [2, 158]
}, {
27: 159,
28: [1, 73],
44: 160,
58: 161,
59: 162,
76: [1, 70],
89: [1, 114],
90: [1, 115],
115: 277
}, {
1: [2, 165],
6: [2, 165],
25: [2, 165],
26: [2, 165],
49: [2, 165],
54: [2, 165],
57: [2, 165],
73: [2, 165],
78: [2, 165],
86: [2, 165],
91: [2, 165],
93: [2, 165],
102: [2, 165],
103: 87,
104: [2, 165],
105: [1, 278],
106: [2, 165],
109: 88,
110: [2, 165],
111: 69,
118: [1, 279],
126: [2, 165],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 166],
6: [2, 166],
25: [2, 166],
26: [2, 166],
49: [2, 166],
54: [2, 166],
57: [2, 166],
73: [2, 166],
78: [2, 166],
86: [2, 166],
91: [2, 166],
93: [2, 166],
102: [2, 166],
103: 87,
104: [2, 166],
105: [1, 280],
106: [2, 166],
109: 88,
110: [2, 166],
111: 69,
118: [2, 166],
126: [2, 166],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
6: [1, 282],
25: [1, 283],
78: [1, 281]
}, {
6: [2, 54],
11: 169,
25: [2, 54],
26: [2, 54],
27: 170,
28: [1, 73],
29: 171,
30: [1, 71],
31: [1, 72],
41: 284,
42: 168,
44: 172,
46: [1, 46],
78: [2, 54],
89: [1, 114]
}, {
8: 285,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 286],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 86],
6: [2, 86],
25: [2, 86],
26: [2, 86],
40: [2, 86],
49: [2, 86],
54: [2, 86],
57: [2, 86],
66: [2, 86],
67: [2, 86],
68: [2, 86],
69: [2, 86],
71: [2, 86],
73: [2, 86],
74: [2, 86],
78: [2, 86],
80: [2, 86],
84: [2, 86],
85: [2, 86],
86: [2, 86],
91: [2, 86],
93: [2, 86],
102: [2, 86],
104: [2, 86],
105: [2, 86],
106: [2, 86],
110: [2, 86],
118: [2, 86],
126: [2, 86],
128: [2, 86],
129: [2, 86],
130: [2, 86],
131: [2, 86],
132: [2, 86],
133: [2, 86],
134: [2, 86],
135: [2, 86],
136: [2, 86],
137: [2, 86],
138: [2, 86]
}, {
8: 287,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
73: [2, 121],
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
73: [2, 122],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 37],
6: [2, 37],
25: [2, 37],
26: [2, 37],
49: [2, 37],
54: [2, 37],
57: [2, 37],
73: [2, 37],
78: [2, 37],
86: [2, 37],
91: [2, 37],
93: [2, 37],
102: [2, 37],
103: 87,
104: [2, 37],
105: [2, 37],
106: [2, 37],
109: 88,
110: [2, 37],
111: 69,
118: [2, 37],
126: [2, 37],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
26: [1, 288],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
6: [1, 271],
25: [1, 272],
86: [1, 289]
}, {
6: [2, 67],
25: [2, 67],
26: [2, 67],
54: [2, 67],
86: [2, 67],
91: [2, 67]
}, {
5: 290,
25: [1, 5]
}, {
6: [2, 57],
25: [2, 57],
26: [2, 57],
49: [2, 57],
54: [2, 57]
}, {
27: 110,
28: [1, 73],
44: 111,
55: 291,
56: 109,
58: 112,
59: 113,
76: [1, 70],
89: [1, 114],
90: [1, 115]
}, {
6: [2, 55],
25: [2, 55],
26: [2, 55],
27: 110,
28: [1, 73],
44: 111,
48: 292,
54: [2, 55],
55: 108,
56: 109,
58: 112,
59: 113,
76: [1, 70],
89: [1, 114],
90: [1, 115]
}, {
6: [2, 62],
25: [2, 62],
26: [2, 62],
49: [2, 62],
54: [2, 62],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
26: [1, 293],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 203],
6: [2, 203],
25: [2, 203],
26: [2, 203],
49: [2, 203],
54: [2, 203],
57: [2, 203],
73: [2, 203],
78: [2, 203],
86: [2, 203],
91: [2, 203],
93: [2, 203],
102: [2, 203],
103: 87,
104: [2, 203],
105: [2, 203],
106: [2, 203],
109: 88,
110: [2, 203],
111: 69,
118: [2, 203],
126: [2, 203],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
5: 294,
25: [1, 5],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
5: 295,
25: [1, 5]
}, {
1: [2, 135],
6: [2, 135],
25: [2, 135],
26: [2, 135],
49: [2, 135],
54: [2, 135],
57: [2, 135],
73: [2, 135],
78: [2, 135],
86: [2, 135],
91: [2, 135],
93: [2, 135],
102: [2, 135],
104: [2, 135],
105: [2, 135],
106: [2, 135],
110: [2, 135],
118: [2, 135],
126: [2, 135],
128: [2, 135],
129: [2, 135],
132: [2, 135],
133: [2, 135],
134: [2, 135],
135: [2, 135],
136: [2, 135],
137: [2, 135]
}, {
5: 296,
25: [1, 5]
}, {
5: 297,
25: [1, 5]
}, {
26: [1, 298],
121: [1, 299],
122: 263,
123: [1, 220]
}, {
1: [2, 174],
6: [2, 174],
25: [2, 174],
26: [2, 174],
49: [2, 174],
54: [2, 174],
57: [2, 174],
73: [2, 174],
78: [2, 174],
86: [2, 174],
91: [2, 174],
93: [2, 174],
102: [2, 174],
104: [2, 174],
105: [2, 174],
106: [2, 174],
110: [2, 174],
118: [2, 174],
126: [2, 174],
128: [2, 174],
129: [2, 174],
132: [2, 174],
133: [2, 174],
134: [2, 174],
135: [2, 174],
136: [2, 174],
137: [2, 174]
}, {
5: 300,
25: [1, 5]
}, {
26: [2, 177],
121: [2, 177],
123: [2, 177]
}, {
5: 301,
25: [1, 5],
54: [1, 302]
}, {
25: [2, 131],
54: [2, 131],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 99],
6: [2, 99],
25: [2, 99],
26: [2, 99],
49: [2, 99],
54: [2, 99],
57: [2, 99],
73: [2, 99],
78: [2, 99],
86: [2, 99],
91: [2, 99],
93: [2, 99],
102: [2, 99],
104: [2, 99],
105: [2, 99],
106: [2, 99],
110: [2, 99],
118: [2, 99],
126: [2, 99],
128: [2, 99],
129: [2, 99],
132: [2, 99],
133: [2, 99],
134: [2, 99],
135: [2, 99],
136: [2, 99],
137: [2, 99]
}, {
1: [2, 102],
5: 303,
6: [2, 102],
25: [1, 5],
26: [2, 102],
49: [2, 102],
54: [2, 102],
57: [2, 102],
73: [2, 102],
78: [2, 102],
86: [2, 102],
91: [2, 102],
93: [2, 102],
102: [2, 102],
103: 87,
104: [1, 65],
105: [2, 102],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 102],
126: [2, 102],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
102: [1, 304]
}, {
91: [1, 305],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 116],
6: [2, 116],
25: [2, 116],
26: [2, 116],
40: [2, 116],
49: [2, 116],
54: [2, 116],
57: [2, 116],
66: [2, 116],
67: [2, 116],
68: [2, 116],
69: [2, 116],
71: [2, 116],
73: [2, 116],
74: [2, 116],
78: [2, 116],
84: [2, 116],
85: [2, 116],
86: [2, 116],
91: [2, 116],
93: [2, 116],
102: [2, 116],
104: [2, 116],
105: [2, 116],
106: [2, 116],
110: [2, 116],
116: [2, 116],
117: [2, 116],
118: [2, 116],
126: [2, 116],
128: [2, 116],
129: [2, 116],
132: [2, 116],
133: [2, 116],
134: [2, 116],
135: [2, 116],
136: [2, 116],
137: [2, 116]
}, {
8: 202,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
60: 148,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
94: 306,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 202,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 147],
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
60: 148,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
87: 307,
88: [1, 58],
89: [1, 59],
90: [1, 57],
94: 146,
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [2, 125],
25: [2, 125],
26: [2, 125],
54: [2, 125],
86: [2, 125],
91: [2, 125]
}, {
6: [1, 271],
25: [1, 272],
26: [1, 308]
}, {
1: [2, 143],
6: [2, 143],
25: [2, 143],
26: [2, 143],
49: [2, 143],
54: [2, 143],
57: [2, 143],
73: [2, 143],
78: [2, 143],
86: [2, 143],
91: [2, 143],
93: [2, 143],
102: [2, 143],
103: 87,
104: [1, 65],
105: [2, 143],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 143],
126: [2, 143],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 145],
6: [2, 145],
25: [2, 145],
26: [2, 145],
49: [2, 145],
54: [2, 145],
57: [2, 145],
73: [2, 145],
78: [2, 145],
86: [2, 145],
91: [2, 145],
93: [2, 145],
102: [2, 145],
103: 87,
104: [1, 65],
105: [2, 145],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
118: [2, 145],
126: [2, 145],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
116: [2, 164],
117: [2, 164]
}, {
8: 309,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 310,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 311,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 90],
6: [2, 90],
25: [2, 90],
26: [2, 90],
40: [2, 90],
49: [2, 90],
54: [2, 90],
57: [2, 90],
66: [2, 90],
67: [2, 90],
68: [2, 90],
69: [2, 90],
71: [2, 90],
73: [2, 90],
74: [2, 90],
78: [2, 90],
84: [2, 90],
85: [2, 90],
86: [2, 90],
91: [2, 90],
93: [2, 90],
102: [2, 90],
104: [2, 90],
105: [2, 90],
106: [2, 90],
110: [2, 90],
116: [2, 90],
117: [2, 90],
118: [2, 90],
126: [2, 90],
128: [2, 90],
129: [2, 90],
132: [2, 90],
133: [2, 90],
134: [2, 90],
135: [2, 90],
136: [2, 90],
137: [2, 90]
}, {
11: 169,
27: 170,
28: [1, 73],
29: 171,
30: [1, 71],
31: [1, 72],
41: 312,
42: 168,
44: 172,
46: [1, 46],
89: [1, 114]
}, {
6: [2, 91],
11: 169,
25: [2, 91],
26: [2, 91],
27: 170,
28: [1, 73],
29: 171,
30: [1, 71],
31: [1, 72],
41: 167,
42: 168,
44: 172,
46: [1, 46],
54: [2, 91],
77: 313,
89: [1, 114]
}, {
6: [2, 93],
25: [2, 93],
26: [2, 93],
54: [2, 93],
78: [2, 93]
}, {
6: [2, 40],
25: [2, 40],
26: [2, 40],
54: [2, 40],
78: [2, 40],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
8: 314,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
73: [2, 120],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 38],
6: [2, 38],
25: [2, 38],
26: [2, 38],
49: [2, 38],
54: [2, 38],
57: [2, 38],
73: [2, 38],
78: [2, 38],
86: [2, 38],
91: [2, 38],
93: [2, 38],
102: [2, 38],
104: [2, 38],
105: [2, 38],
106: [2, 38],
110: [2, 38],
118: [2, 38],
126: [2, 38],
128: [2, 38],
129: [2, 38],
132: [2, 38],
133: [2, 38],
134: [2, 38],
135: [2, 38],
136: [2, 38],
137: [2, 38]
}, {
1: [2, 111],
6: [2, 111],
25: [2, 111],
26: [2, 111],
49: [2, 111],
54: [2, 111],
57: [2, 111],
66: [2, 111],
67: [2, 111],
68: [2, 111],
69: [2, 111],
71: [2, 111],
73: [2, 111],
74: [2, 111],
78: [2, 111],
84: [2, 111],
85: [2, 111],
86: [2, 111],
91: [2, 111],
93: [2, 111],
102: [2, 111],
104: [2, 111],
105: [2, 111],
106: [2, 111],
110: [2, 111],
118: [2, 111],
126: [2, 111],
128: [2, 111],
129: [2, 111],
132: [2, 111],
133: [2, 111],
134: [2, 111],
135: [2, 111],
136: [2, 111],
137: [2, 111]
}, {
1: [2, 49],
6: [2, 49],
25: [2, 49],
26: [2, 49],
49: [2, 49],
54: [2, 49],
57: [2, 49],
73: [2, 49],
78: [2, 49],
86: [2, 49],
91: [2, 49],
93: [2, 49],
102: [2, 49],
104: [2, 49],
105: [2, 49],
106: [2, 49],
110: [2, 49],
118: [2, 49],
126: [2, 49],
128: [2, 49],
129: [2, 49],
132: [2, 49],
133: [2, 49],
134: [2, 49],
135: [2, 49],
136: [2, 49],
137: [2, 49]
}, {
6: [2, 58],
25: [2, 58],
26: [2, 58],
49: [2, 58],
54: [2, 58]
}, {
6: [2, 53],
25: [2, 53],
26: [2, 53],
53: 315,
54: [1, 204]
}, {
1: [2, 202],
6: [2, 202],
25: [2, 202],
26: [2, 202],
49: [2, 202],
54: [2, 202],
57: [2, 202],
73: [2, 202],
78: [2, 202],
86: [2, 202],
91: [2, 202],
93: [2, 202],
102: [2, 202],
104: [2, 202],
105: [2, 202],
106: [2, 202],
110: [2, 202],
118: [2, 202],
126: [2, 202],
128: [2, 202],
129: [2, 202],
132: [2, 202],
133: [2, 202],
134: [2, 202],
135: [2, 202],
136: [2, 202],
137: [2, 202]
}, {
1: [2, 181],
6: [2, 181],
25: [2, 181],
26: [2, 181],
49: [2, 181],
54: [2, 181],
57: [2, 181],
73: [2, 181],
78: [2, 181],
86: [2, 181],
91: [2, 181],
93: [2, 181],
102: [2, 181],
104: [2, 181],
105: [2, 181],
106: [2, 181],
110: [2, 181],
118: [2, 181],
121: [2, 181],
126: [2, 181],
128: [2, 181],
129: [2, 181],
132: [2, 181],
133: [2, 181],
134: [2, 181],
135: [2, 181],
136: [2, 181],
137: [2, 181]
}, {
1: [2, 136],
6: [2, 136],
25: [2, 136],
26: [2, 136],
49: [2, 136],
54: [2, 136],
57: [2, 136],
73: [2, 136],
78: [2, 136],
86: [2, 136],
91: [2, 136],
93: [2, 136],
102: [2, 136],
104: [2, 136],
105: [2, 136],
106: [2, 136],
110: [2, 136],
118: [2, 136],
126: [2, 136],
128: [2, 136],
129: [2, 136],
132: [2, 136],
133: [2, 136],
134: [2, 136],
135: [2, 136],
136: [2, 136],
137: [2, 136]
}, {
1: [2, 137],
6: [2, 137],
25: [2, 137],
26: [2, 137],
49: [2, 137],
54: [2, 137],
57: [2, 137],
73: [2, 137],
78: [2, 137],
86: [2, 137],
91: [2, 137],
93: [2, 137],
98: [2, 137],
102: [2, 137],
104: [2, 137],
105: [2, 137],
106: [2, 137],
110: [2, 137],
118: [2, 137],
126: [2, 137],
128: [2, 137],
129: [2, 137],
132: [2, 137],
133: [2, 137],
134: [2, 137],
135: [2, 137],
136: [2, 137],
137: [2, 137]
}, {
1: [2, 138],
6: [2, 138],
25: [2, 138],
26: [2, 138],
49: [2, 138],
54: [2, 138],
57: [2, 138],
73: [2, 138],
78: [2, 138],
86: [2, 138],
91: [2, 138],
93: [2, 138],
98: [2, 138],
102: [2, 138],
104: [2, 138],
105: [2, 138],
106: [2, 138],
110: [2, 138],
118: [2, 138],
126: [2, 138],
128: [2, 138],
129: [2, 138],
132: [2, 138],
133: [2, 138],
134: [2, 138],
135: [2, 138],
136: [2, 138],
137: [2, 138]
}, {
1: [2, 172],
6: [2, 172],
25: [2, 172],
26: [2, 172],
49: [2, 172],
54: [2, 172],
57: [2, 172],
73: [2, 172],
78: [2, 172],
86: [2, 172],
91: [2, 172],
93: [2, 172],
102: [2, 172],
104: [2, 172],
105: [2, 172],
106: [2, 172],
110: [2, 172],
118: [2, 172],
126: [2, 172],
128: [2, 172],
129: [2, 172],
132: [2, 172],
133: [2, 172],
134: [2, 172],
135: [2, 172],
136: [2, 172],
137: [2, 172]
}, {
5: 316,
25: [1, 5]
}, {
26: [1, 317]
}, {
6: [1, 318],
26: [2, 178],
121: [2, 178],
123: [2, 178]
}, {
8: 319,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
1: [2, 103],
6: [2, 103],
25: [2, 103],
26: [2, 103],
49: [2, 103],
54: [2, 103],
57: [2, 103],
73: [2, 103],
78: [2, 103],
86: [2, 103],
91: [2, 103],
93: [2, 103],
102: [2, 103],
104: [2, 103],
105: [2, 103],
106: [2, 103],
110: [2, 103],
118: [2, 103],
126: [2, 103],
128: [2, 103],
129: [2, 103],
132: [2, 103],
133: [2, 103],
134: [2, 103],
135: [2, 103],
136: [2, 103],
137: [2, 103]
}, {
1: [2, 141],
6: [2, 141],
25: [2, 141],
26: [2, 141],
49: [2, 141],
54: [2, 141],
57: [2, 141],
66: [2, 141],
67: [2, 141],
68: [2, 141],
69: [2, 141],
71: [2, 141],
73: [2, 141],
74: [2, 141],
78: [2, 141],
84: [2, 141],
85: [2, 141],
86: [2, 141],
91: [2, 141],
93: [2, 141],
102: [2, 141],
104: [2, 141],
105: [2, 141],
106: [2, 141],
110: [2, 141],
118: [2, 141],
126: [2, 141],
128: [2, 141],
129: [2, 141],
132: [2, 141],
133: [2, 141],
134: [2, 141],
135: [2, 141],
136: [2, 141],
137: [2, 141]
}, {
1: [2, 119],
6: [2, 119],
25: [2, 119],
26: [2, 119],
49: [2, 119],
54: [2, 119],
57: [2, 119],
66: [2, 119],
67: [2, 119],
68: [2, 119],
69: [2, 119],
71: [2, 119],
73: [2, 119],
74: [2, 119],
78: [2, 119],
84: [2, 119],
85: [2, 119],
86: [2, 119],
91: [2, 119],
93: [2, 119],
102: [2, 119],
104: [2, 119],
105: [2, 119],
106: [2, 119],
110: [2, 119],
118: [2, 119],
126: [2, 119],
128: [2, 119],
129: [2, 119],
132: [2, 119],
133: [2, 119],
134: [2, 119],
135: [2, 119],
136: [2, 119],
137: [2, 119]
}, {
6: [2, 126],
25: [2, 126],
26: [2, 126],
54: [2, 126],
86: [2, 126],
91: [2, 126]
}, {
6: [2, 53],
25: [2, 53],
26: [2, 53],
53: 320,
54: [1, 229]
}, {
6: [2, 127],
25: [2, 127],
26: [2, 127],
54: [2, 127],
86: [2, 127],
91: [2, 127]
}, {
1: [2, 167],
6: [2, 167],
25: [2, 167],
26: [2, 167],
49: [2, 167],
54: [2, 167],
57: [2, 167],
73: [2, 167],
78: [2, 167],
86: [2, 167],
91: [2, 167],
93: [2, 167],
102: [2, 167],
103: 87,
104: [2, 167],
105: [2, 167],
106: [2, 167],
109: 88,
110: [2, 167],
111: 69,
118: [1, 321],
126: [2, 167],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 169],
6: [2, 169],
25: [2, 169],
26: [2, 169],
49: [2, 169],
54: [2, 169],
57: [2, 169],
73: [2, 169],
78: [2, 169],
86: [2, 169],
91: [2, 169],
93: [2, 169],
102: [2, 169],
103: 87,
104: [2, 169],
105: [1, 322],
106: [2, 169],
109: 88,
110: [2, 169],
111: 69,
118: [2, 169],
126: [2, 169],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 168],
6: [2, 168],
25: [2, 168],
26: [2, 168],
49: [2, 168],
54: [2, 168],
57: [2, 168],
73: [2, 168],
78: [2, 168],
86: [2, 168],
91: [2, 168],
93: [2, 168],
102: [2, 168],
103: 87,
104: [2, 168],
105: [2, 168],
106: [2, 168],
109: 88,
110: [2, 168],
111: 69,
118: [2, 168],
126: [2, 168],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
6: [2, 94],
25: [2, 94],
26: [2, 94],
54: [2, 94],
78: [2, 94]
}, {
6: [2, 53],
25: [2, 53],
26: [2, 53],
53: 323,
54: [1, 239]
}, {
26: [1, 324],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
6: [1, 250],
25: [1, 251],
26: [1, 325]
}, {
26: [1, 326]
}, {
1: [2, 175],
6: [2, 175],
25: [2, 175],
26: [2, 175],
49: [2, 175],
54: [2, 175],
57: [2, 175],
73: [2, 175],
78: [2, 175],
86: [2, 175],
91: [2, 175],
93: [2, 175],
102: [2, 175],
104: [2, 175],
105: [2, 175],
106: [2, 175],
110: [2, 175],
118: [2, 175],
126: [2, 175],
128: [2, 175],
129: [2, 175],
132: [2, 175],
133: [2, 175],
134: [2, 175],
135: [2, 175],
136: [2, 175],
137: [2, 175]
}, {
26: [2, 179],
121: [2, 179],
123: [2, 179]
}, {
25: [2, 132],
54: [2, 132],
103: 87,
104: [1, 65],
106: [1, 66],
109: 88,
110: [1, 68],
111: 69,
126: [1, 86],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
6: [1, 271],
25: [1, 272],
26: [1, 327]
}, {
8: 328,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
8: 329,
9: 118,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 62,
28: [1, 73],
29: 49,
30: [1, 71],
31: [1, 72],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: [1, 54],
38: [1, 55],
39: 23,
44: 63,
45: [1, 45],
46: [1, 46],
47: [1, 29],
50: 30,
51: [1, 60],
52: [1, 61],
58: 47,
59: 48,
61: 36,
63: 25,
64: 26,
65: 27,
76: [1, 70],
79: [1, 43],
83: [1, 28],
88: [1, 58],
89: [1, 59],
90: [1, 57],
96: [1, 38],
100: [1, 44],
101: [1, 56],
103: 39,
104: [1, 65],
106: [1, 66],
107: 40,
108: [1, 67],
109: 41,
110: [1, 68],
111: 69,
119: [1, 42],
124: 37,
125: [1, 64],
127: [1, 31],
128: [1, 32],
129: [1, 33],
130: [1, 34],
131: [1, 35]
}, {
6: [1, 282],
25: [1, 283],
26: [1, 330]
}, {
6: [2, 41],
25: [2, 41],
26: [2, 41],
54: [2, 41],
78: [2, 41]
}, {
6: [2, 59],
25: [2, 59],
26: [2, 59],
49: [2, 59],
54: [2, 59]
}, {
1: [2, 173],
6: [2, 173],
25: [2, 173],
26: [2, 173],
49: [2, 173],
54: [2, 173],
57: [2, 173],
73: [2, 173],
78: [2, 173],
86: [2, 173],
91: [2, 173],
93: [2, 173],
102: [2, 173],
104: [2, 173],
105: [2, 173],
106: [2, 173],
110: [2, 173],
118: [2, 173],
126: [2, 173],
128: [2, 173],
129: [2, 173],
132: [2, 173],
133: [2, 173],
134: [2, 173],
135: [2, 173],
136: [2, 173],
137: [2, 173]
}, {
6: [2, 128],
25: [2, 128],
26: [2, 128],
54: [2, 128],
86: [2, 128],
91: [2, 128]
}, {
1: [2, 170],
6: [2, 170],
25: [2, 170],
26: [2, 170],
49: [2, 170],
54: [2, 170],
57: [2, 170],
73: [2, 170],
78: [2, 170],
86: [2, 170],
91: [2, 170],
93: [2, 170],
102: [2, 170],
103: 87,
104: [2, 170],
105: [2, 170],
106: [2, 170],
109: 88,
110: [2, 170],
111: 69,
118: [2, 170],
126: [2, 170],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
1: [2, 171],
6: [2, 171],
25: [2, 171],
26: [2, 171],
49: [2, 171],
54: [2, 171],
57: [2, 171],
73: [2, 171],
78: [2, 171],
86: [2, 171],
91: [2, 171],
93: [2, 171],
102: [2, 171],
103: 87,
104: [2, 171],
105: [2, 171],
106: [2, 171],
109: 88,
110: [2, 171],
111: 69,
118: [2, 171],
126: [2, 171],
128: [1, 80],
129: [1, 79],
132: [1, 78],
133: [1, 81],
134: [1, 82],
135: [1, 83],
136: [1, 84],
137: [1, 85]
}, {
6: [2, 95],
25: [2, 95],
26: [2, 95],
54: [2, 95],
78: [2, 95]
}],
defaultActions: {
60: [2, 51],
61: [2, 52],
75: [2, 3],
94: [2, 109],
191: [2, 89]
},
parseError: function (t) {
throw Error(t)
},
parse: function (t) {
function e() {
var t;
return t = n.lexer.lex() || 1, "number" != typeof t && (t = n.symbols_[t] || t), t
}
var n = this,
i = [0],
r = [null],
o = [],
s = this.table,
a = "",
l = 0,
u = 0,
c = 0;
this.lexer.setInput(t), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, this.yy.parser = this, void 0 === this.lexer.yylloc && (this.lexer.yylloc = {});
var h = this.lexer.yylloc;
o.push(h);
var p = this.lexer.options && this.lexer.options.ranges;
"function" == typeof this.yy.parseError && (this.parseError = this.yy.parseError);
for (var f, d, m, g, y, v, _, b, x, w = {};;) {
if (m = i[i.length - 1], this.defaultActions[m] ? g = this.defaultActions[m] : ((null === f || void 0 === f) && (f = e()), g = s[m] && s[m][f]), void 0 === g || !g.length || !g[0]) {
var T = "";
if (!c) {
x = [];
for (v in s[m]) this.terminals_[v] && v > 2 && x.push("'" + this.terminals_[v] + "'");
T = this.lexer.showPosition ? "Parse error on line " + (l + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + x.join(", ") + ", got '" + (this.terminals_[f] || f) + "'" : "Parse error on line " + (l + 1) + ": Unexpected " + (1 == f ? "end of input" : "'" + (this.terminals_[f] || f) + "'"), this.parseError(T, {
text: this.lexer.match,
token: this.terminals_[f] || f,
line: this.lexer.yylineno,
loc: h,
expected: x
})
}
}
if (g[0] instanceof Array && g.length > 1) throw Error("Parse Error: multiple actions possible at state: " + m + ", token: " + f);
switch (g[0]) {
case 1:
i.push(f), r.push(this.lexer.yytext), o.push(this.lexer.yylloc), i.push(g[1]), f = null, d ? (f = d, d = null) : (u = this.lexer.yyleng, a = this.lexer.yytext, l = this.lexer.yylineno, h = this.lexer.yylloc, c > 0 && c--);
break;
case 2:
if (_ = this.productions_[g[1]][1], w.$ = r[r.length - _], w._$ = {
first_line: o[o.length - (_ || 1)].first_line,
last_line: o[o.length - 1].last_line,
first_column: o[o.length - (_ || 1)].first_column,
last_column: o[o.length - 1].last_column
}, p && (w._$.range = [o[o.length - (_ || 1)].range[0], o[o.length - 1].range[1]]), y = this.performAction.call(w, a, u, l, this.yy, g[1], r, o), void 0 !== y) return y;
_ && (i = i.slice(0, -2 * _), r = r.slice(0, -1 * _), o = o.slice(0, -1 * _)), i.push(this.productions_[g[1]][0]), r.push(w.$), o.push(w._$), b = s[i[i.length - 2]][i[i.length - 1]], i.push(b);
break;
case 3:
return !0
}
}
return !0
}
};
return t.prototype = e, e.Parser = t, new t
}();
void 0 !== require && void 0 !== t && (t.parser = e, t.Parser = e.Parser, t.parse = function () {
return e.parse.apply(e, arguments)
}, t.main = function (e) {
e[1] || (console.log("Usage: " + e[0] + " FILE"), process.exit(1));
var n = require("fs").readFileSync(require("path").normalize(e[1]), "utf8");
return t.parser.parse(n)
}, "undefined" != typeof module && require.main === module && t.main(process.argv.slice(1)))
}, require["./scope"] = new function () {
var t = this;
(function () {
var e, n, i, r;
r = require("./helpers"), n = r.extend, i = r.last, t.Scope = e = function () {
function t(e, n, i) {
this.parent = e, this.expressions = n, this.method = i, this.variables = [{
name: "arguments",
type: "arguments"
}], this.positions = {}, this.parent || (t.root = this)
}
return t.root = null, t.prototype.add = function (t, e, n) {
return this.shared && !n ? this.parent.add(t, e, n) : Object.prototype.hasOwnProperty.call(this.positions, t) ? this.variables[this.positions[t]].type = e : this.positions[t] = this.variables.push({
name: t,
type: e
}) - 1
}, t.prototype.namedMethod = function () {
var t;
return (null != (t = this.method) ? t.name : void 0) || !this.parent ? this.method : this.parent.namedMethod()
}, t.prototype.find = function (t) {
return this.check(t) ? !0 : (this.add(t, "var"), !1)
}, t.prototype.parameter = function (t) {
return this.shared && this.parent.check(t, !0) ? void 0 : this.add(t, "param")
}, t.prototype.check = function (t) {
var e;
return !!(this.type(t) || (null != (e = this.parent) ? e.check(t) : void 0))
}, t.prototype.temporary = function (t, e) {
return t.length > 1 ? "_" + t + (e > 1 ? e - 1 : "") : "_" + (e + parseInt(t, 36)).toString(36).replace(/\d/g, "a")
}, t.prototype.type = function (t) {
var e, n, i, r;
for (r = this.variables, n = 0, i = r.length; i > n; n++)
if (e = r[n], e.name === t) return e.type;
return null
}, t.prototype.freeVariable = function (t, e) {
var n, i;
for (null == e && (e = !0), n = 0; this.check(i = this.temporary(t, n));) n++;
return e && this.add(i, "var", !0), i
}, t.prototype.assign = function (t, e) {
return this.add(t, {
value: e,
assigned: !0
}, !0), this.hasAssignments = !0
}, t.prototype.hasDeclarations = function () {
return !!this.declaredVariables().length
}, t.prototype.declaredVariables = function () {
var t, e, n, i, r, o;
for (t = [], e = [], o = this.variables, i = 0, r = o.length; r > i; i++) n = o[i], "var" === n.type && ("_" === n.name.charAt(0) ? e : t).push(n.name);
return t.sort().concat(e.sort())
}, t.prototype.assignedVariables = function () {
var t, e, n, i, r;
for (i = this.variables, r = [], e = 0, n = i.length; n > e; e++) t = i[e], t.type.assigned && r.push("" + t.name + " = " + t.type.value);
return r
}, t
}()
}).call(this)
}, require["./nodes"] = new function () {
var t = this;
(function () {
var e, n, i, r, o, s, a, l, u, c, h, p, f, d, m, g, y, v, _, b, x, w, T, k, C, S, E, N, D, O, j, L, A, P, M, F, R, $, I, q, H, B, V, z, W, U, X, Y, G, Q, J, K, Z, te, ee, ne, ie, re, oe, se, ae, le, ue, ce, he, pe, fe, de, me, ge, ye, ve = {}.hasOwnProperty,
_e = function (t, e) {
function n() {
this.constructor = t
}
for (var i in e) ve.call(e, i) && (t[i] = e[i]);
return n.prototype = e.prototype, t.prototype = new n, t.__super__ = e.prototype, t
},
be = [].indexOf || function (t) {
for (var e = 0, n = this.length; n > e; e++)
if (e in this && this[e] === t) return e;
return -1
},
xe = [].slice;
Error.stackTraceLimit = 1 / 0, q = require("./scope").Scope, de = require("./lexer"), M = de.RESERVED, I = de.STRICT_PROSCRIBED, me = require("./helpers"), Z = me.compact, ie = me.flatten, ne = me.extend, ae = me.merge, te = me.del, ce = me.starts, ee = me.ends, oe = me.last, ue = me.some, K = me.addLocationDataFn, se = me.locationDataToString, he = me.throwSyntaxError, t.extend = ne, t.addLocationDataFn = K, J = function () {
return !0
}, O = function () {
return !1
}, W = function () {
return this
}, D = function () {
return this.negated = !this.negated, this
}, t.CodeFragment = c = function () {
function t(t, e) {
var n;
this.code = "" + e, this.locationData = null != t ? t.locationData : void 0, this.type = (null != t ? null != (n = t.constructor) ? n.name : void 0 : void 0) || "unknown"
}
return t.prototype.toString = function () {
return "" + this.code + [this.locationData ? ": " + se(this.locationData) : void 0]
}, t
}(), re = function (t) {
var e;
return function () {
var n, i, r;
for (r = [], n = 0, i = t.length; i > n; n++) e = t[n], r.push(e.code);
return r
}().join("")
}, t.Base = r = function () {
function t() {}
return t.prototype.compile = function (t, e) {
return re(this.compileToFragments(t, e))
}, t.prototype.compileToFragments = function (t, e) {
var n;
return t = ne({}, t), e && (t.level = e), n = this.unfoldSoak(t) || this, n.tab = t.indent, t.level !== S && n.isStatement(t) ? n.compileClosure(t) : n.compileNode(t)
}, t.prototype.compileClosure = function (t) {
var e;
return (e = this.jumps()) && e.error("cannot use a pure statement in an expression"), t.sharedScope = !0, l.wrap(this).compileNode(t)
}, t.prototype.cache = function (t, e, n) {
var r, o;
return this.isComplex() ? (r = new E(n || t.scope.freeVariable("ref")), o = new i(r, this), e ? [o.compileToFragments(t, e), [this.makeCode(r.value)]] : [o, r]) : (r = e ? this.compileToFragments(t, e) : this, [r, r])
}, t.prototype.cacheToCodeFragments = function (t) {
return [re(t[0]), re(t[1])]
}, t.prototype.makeReturn = function (t) {
var e;
return e = this.unwrapAll(), t ? new s(new E("" + t + ".push"), [e]) : new R(e)
}, t.prototype.contains = function (t) {
var e;
return e = void 0, this.traverseChildren(!1, function (n) {
return t(n) ? (e = n, !1) : void 0
}), e
}, t.prototype.lastNonComment = function (t) {
var e;
for (e = t.length; e--;)
if (!(t[e] instanceof h)) return t[e];
return null
}, t.prototype.toString = function (t, e) {
var n;
return null == t && (t = ""), null == e && (e = this.constructor.name), n = "\n" + t + e, this.soak && (n += "?"), this.eachChild(function (e) {
return n += e.toString(t + z)
}), n
}, t.prototype.eachChild = function (t) {
var e, n, i, r, o, s, a, l;
if (!this.children) return this;
for (a = this.children, i = 0, o = a.length; o > i; i++)
if (e = a[i], this[e])
for (l = ie([this[e]]), r = 0, s = l.length; s > r; r++)
if (n = l[r], t(n) === !1) return this;
return this
}, t.prototype.traverseChildren = function (t, e) {
return this.eachChild(function (n) {
return e(n) === !1 ? !1 : n.traverseChildren(t, e)
})
}, t.prototype.invert = function () {
return new L("!", this)
}, t.prototype.unwrapAll = function () {
var t;
for (t = this; t !== (t = t.unwrap()););
return t
}, t.prototype.children = [], t.prototype.isStatement = O, t.prototype.jumps = O, t.prototype.isComplex = J, t.prototype.isChainable = O, t.prototype.isAssignable = O, t.prototype.unwrap = W, t.prototype.unfoldSoak = O, t.prototype.assigns = O, t.prototype.updateLocationDataIfMissing = function (t) {
return this.locationData || (this.locationData = t), this.eachChild(function (e) {
return e.updateLocationDataIfMissing(t)
})
}, t.prototype.error = function (t) {
return he(t, this.locationData)
}, t.prototype.makeCode = function (t) {
return new c(this, t)
}, t.prototype.wrapInBraces = function (t) {
return [].concat(this.makeCode("("), t, this.makeCode(")"))
}, t.prototype.joinFragmentArrays = function (t, e) {
var n, i, r, o, s;
for (n = [], r = o = 0, s = t.length; s > o; r = ++o) i = t[r], r && n.push(this.makeCode(e)), n = n.concat(i);
return n
}, t
}(), t.Block = o = function (t) {
function e(t) {
this.expressions = Z(ie(t || []))
}
return _e(e, t), e.prototype.children = ["expressions"], e.prototype.push = function (t) {
return this.expressions.push(t), this
}, e.prototype.pop = function () {
return this.expressions.pop()
}, e.prototype.unshift = function (t) {
return this.expressions.unshift(t), this
}, e.prototype.unwrap = function () {
return 1 === this.expressions.length ? this.expressions[0] : this
}, e.prototype.isEmpty = function () {
return !this.expressions.length
}, e.prototype.isStatement = function (t) {
var e, n, i, r;
for (r = this.expressions, n = 0, i = r.length; i > n; n++)
if (e = r[n], e.isStatement(t)) return !0;
return !1
}, e.prototype.jumps = function (t) {
var e, n, i, r;
for (r = this.expressions, n = 0, i = r.length; i > n; n++)
if (e = r[n], e.jumps(t)) return e
}, e.prototype.makeReturn = function (t) {
var e, n;
for (n = this.expressions.length; n--;)
if (e = this.expressions[n], !(e instanceof h)) {
this.expressions[n] = e.makeReturn(t), e instanceof R && !e.expression && this.expressions.splice(n, 1);
break
}
return this
}, e.prototype.compileToFragments = function (t, n) {
return null == t && (t = {}), t.scope ? e.__super__.compileToFragments.call(this, t, n) : this.compileRoot(t)
}, e.prototype.compileNode = function (t) {
var n, i, r, o, s, a, l, u, c;
for (this.tab = t.indent, a = t.level === S, i = [], c = this.expressions, o = l = 0, u = c.length; u > l; o = ++l) s = c[o], s = s.unwrapAll(), s = s.unfoldSoak(t) || s, s instanceof e ? i.push(s.compileNode(t)) : a ? (s.front = !0, r = s.compileToFragments(t), s.isStatement(t) || (r.unshift(this.makeCode("" + this.tab)), r.push(this.makeCode(";"))), i.push(r)) : i.push(s.compileToFragments(t, T));
return a ? this.spaced ? [].concat(this.joinFragmentArrays(i, "\n\n"), this.makeCode("\n")) : this.joinFragmentArrays(i, "\n") : (n = i.length ? this.joinFragmentArrays(i, ", ") : [this.makeCode("void 0")], i.length > 1 && t.level >= T ? this.wrapInBraces(n) : n)
}, e.prototype.compileRoot = function (t) {
var e, n, i, r, o, s, a, l, u, c;
for (t.indent = t.bare ? "" : z, t.level = S, this.spaced = !0, t.scope = new q(null, this, null), c = t.locals || [], l = 0, u = c.length; u > l; l++) r = c[l], t.scope.parameter(r);
return o = [], t.bare || (s = function () {
var t, n, r, o;
for (r = this.expressions, o = [], i = t = 0, n = r.length; n > t && (e = r[i], e.unwrap() instanceof h); i = ++t) o.push(e);
return o
}.call(this), a = this.expressions.slice(s.length), this.expressions = s, s.length && (o = this.compileNode(ae(t, {
indent: ""
})), o.push(this.makeCode("\n"))), this.expressions = a), n = this.compileWithDeclarations(t), t.bare ? n : [].concat(o, this.makeCode("(function() {\n"), n, this.makeCode("\n}).call(this);\n"))
}, e.prototype.compileWithDeclarations = function (t) {
var e, n, i, r, o, s, a, l, u, c, p, f, d, m;
for (r = [], s = [], f = this.expressions, o = c = 0, p = f.length; p > c && (i = f[o], i = i.unwrap(), i instanceof h || i instanceof E); o = ++c);
return t = ae(t, {
level: S
}), o && (a = this.expressions.splice(o, 9e9), d = [this.spaced, !1], u = d[0], this.spaced = d[1], m = [this.compileNode(t), u], r = m[0], this.spaced = m[1], this.expressions = a), s = this.compileNode(t), l = t.scope, l.expressions === this && (n = t.scope.hasDeclarations(), e = l.hasAssignments, (n || e) && (o && r.push(this.makeCode("\n")), r.push(this.makeCode("" + this.tab + "var ")), n && r.push(this.makeCode(l.declaredVariables().join(", "))), e && (n && r.push(this.makeCode(",\n" + (this.tab + z))), r.push(this.makeCode(l.assignedVariables().join(",\n" + (this.tab + z))))), r.push(this.makeCode(";\n\n")))), r.concat(s)
}, e.wrap = function (t) {
return 1 === t.length && t[0] instanceof e ? t[0] : new e(t)
}, e
}(r), t.Literal = E = function (t) {
function e(t) {
this.value = t
}
return _e(e, t), e.prototype.makeReturn = function () {
return this.isStatement() ? this : e.__super__.makeReturn.apply(this, arguments)
}, e.prototype.isAssignable = function () {
return m.test(this.value)
}, e.prototype.isStatement = function () {
var t;
return "break" === (t = this.value) || "continue" === t || "debugger" === t
}, e.prototype.isComplex = O, e.prototype.assigns = function (t) {
return t === this.value
}, e.prototype.jumps = function (t) {
return "break" !== this.value || (null != t ? t.loop : void 0) || (null != t ? t.block : void 0) ? "continue" !== this.value || (null != t ? t.loop : void 0) ? void 0 : this : this
}, e.prototype.compileNode = function (t) {
var e, n, i;
return n = "this" === this.value ? (null != (i = t.scope.method) ? i.bound : void 0) ? t.scope.method.context : this.value : this.value.reserved ? '"' + this.value + '"' : this.value, e = this.isStatement() ? "" + this.tab + n + ";" : n, [this.makeCode(e)]
}, e.prototype.toString = function () {
return ' "' + this.value + '"'
}, e
}(r), t.Undefined = function (t) {
function e() {
return ge = e.__super__.constructor.apply(this, arguments)
}
return _e(e, t), e.prototype.isAssignable = O, e.prototype.isComplex = O, e.prototype.compileNode = function (t) {
return [this.makeCode(t.level >= x ? "(void 0)" : "void 0")]
}, e
}(r), t.Null = function (t) {
function e() {
return ye = e.__super__.constructor.apply(this, arguments)
}
return _e(e, t), e.prototype.isAssignable = O, e.prototype.isComplex = O, e.prototype.compileNode = function () {
return [this.makeCode("null")]
}, e
}(r), t.Bool = function (t) {
function e(t) {
this.val = t
}
return _e(e, t), e.prototype.isAssignable = O, e.prototype.isComplex = O, e.prototype.compileNode = function () {
return [this.makeCode(this.val)]
}, e
}(r), t.Return = R = function (t) {
function e(t) {
t && !t.unwrap().isUndefined && (this.expression = t)
}
return _e(e, t), e.prototype.children = ["expression"], e.prototype.isStatement = J, e.prototype.makeReturn = W, e.prototype.jumps = W, e.prototype.compileToFragments = function (t, n) {
var i, r;
return i = null != (r = this.expression) ? r.makeReturn() : void 0, !i || i instanceof e ? e.__super__.compileToFragments.call(this, t, n) : i.compileToFragments(t, n)
}, e.prototype.compileNode = function (t) {
var e;
return e = [], e.push(this.makeCode(this.tab + ("return" + [this.expression ? " " : void 0]))), this.expression && (e = e.concat(this.expression.compileToFragments(t, C))), e.push(this.makeCode(";")), e
}, e
}(r), t.Value = G = function (t) {
function e(t, n, i) {
return !n && t instanceof e ? t : (this.base = t, this.properties = n || [], i && (this[i] = !0), this)
}
return _e(e, t), e.prototype.children = ["base", "properties"], e.prototype.add = function (t) {
return this.properties = this.properties.concat(t), this
}, e.prototype.hasProperties = function () {
return !!this.properties.length
}, e.prototype.isArray = function () {
return !this.properties.length && this.base instanceof n
}, e.prototype.isComplex = function () {
return this.hasProperties() || this.base.isComplex()
}, e.prototype.isAssignable = function () {
return this.hasProperties() || this.base.isAssignable()
}, e.prototype.isSimpleNumber = function () {
return this.base instanceof E && $.test(this.base.value)
}, e.prototype.isString = function () {
return this.base instanceof E && y.test(this.base.value)
}, e.prototype.isAtomic = function () {
var t, e, n, i;
for (i = this.properties.concat(this.base), e = 0, n = i.length; n > e; e++)
if (t = i[e], t.soak || t instanceof s) return !1;
return !0
}, e.prototype.isStatement = function (t) {
return !this.properties.length && this.base.isStatement(t)
}, e.prototype.assigns = function (t) {
return !this.properties.length && this.base.assigns(t)
}, e.prototype.jumps = function (t) {
return !this.properties.length && this.base.jumps(t)
}, e.prototype.isObject = function (t) {
return this.properties.length ? !1 : this.base instanceof j && (!t || this.base.generated)
}, e.prototype.isSplice = function () {
return oe(this.properties) instanceof H
}, e.prototype.unwrap = function () {
return this.properties.length ? this : this.base
}, e.prototype.cacheReference = function (t) {
var n, r, o, s;
return o = oe(this.properties), 2 > this.properties.length && !this.base.isComplex() && !(null != o ? o.isComplex() : void 0) ? [this, this] : (n = new e(this.base, this.properties.slice(0, -1)), n.isComplex() && (r = new E(t.scope.freeVariable("base")), n = new e(new P(new i(r, n)))), o ? (o.isComplex() && (s = new E(t.scope.freeVariable("name")), o = new b(new i(s, o.index)), s = new b(s)), [n.add(o), new e(r || n.base, [s || o])]) : [n, r])
}, e.prototype.compileNode = function (t) {
var e, n, i, r, o;
for (this.base.front = this.front, i = this.properties, e = this.base.compileToFragments(t, i.length ? x : null), (this.base instanceof P || i.length) && $.test(re(e)) && e.push(this.makeCode(".")), r = 0, o = i.length; o > r; r++) n = i[r], e.push.apply(e, n.compileToFragments(t));
return e
}, e.prototype.unfoldSoak = function (t) {
var n, r = this;
return null != (n = this.unfoldedSoak) ? n : this.unfoldedSoak = function () {
var n, o, s, a, l, u, c, h, f, d;
if (s = r.base.unfoldSoak(t)) return (f = s.body.properties).push.apply(f, r.properties), s;
for (d = r.properties, o = c = 0, h = d.length; h > c; o = ++c)
if (a = d[o], a.soak) return a.soak = !1, n = new e(r.base, r.properties.slice(0, o)), u = new e(r.base, r.properties.slice(o)), n.isComplex() && (l = new E(t.scope.freeVariable("ref")), n = new P(new i(l, n)), u.base = l), new v(new p(n), u, {
soak: !0
});
return !1
}()
}, e
}(r), t.Comment = h = function (t) {
function e(t) {
this.comment = t
}
return _e(e, t), e.prototype.isStatement = J, e.prototype.makeReturn = W, e.prototype.compileNode = function (t, e) {
var n;
return n = "/*" + le(this.comment, this.tab) + ("\n" + this.tab + "*/\n"), (e || t.level) === S && (n = t.indent + n), [this.makeCode(n)]
}, e
}(r), t.Call = s = function (t) {
function n(t, e, n) {
this.args = null != e ? e : [], this.soak = n, this.isNew = !1, this.isSuper = "super" === t, this.variable = this.isSuper ? null : t
}
return _e(n, t), n.prototype.children = ["variable", "args"], n.prototype.newInstance = function () {
var t, e;
return t = (null != (e = this.variable) ? e.base : void 0) || this.variable, t instanceof n && !t.isNew ? t.newInstance() : this.isNew = !0, this
}, n.prototype.superReference = function (t) {
var n, i;
return i = t.scope.namedMethod(), (null != i ? i.klass : void 0) ? (n = [new e(new E("__super__"))], i["static"] && n.push(new e(new E("constructor"))), n.push(new e(new E(i.name))), new G(new E(i.klass), n).compile(t)) : (null != i ? i.ctor : void 0) ? "" + i.name + ".__super__.constructor" : this.error("cannot call super outside of an instance method.")
}, n.prototype.superThis = function (t) {
var e;
return e = t.scope.method, e && !e.klass && e.context || "this"
}, n.prototype.unfoldSoak = function (t) {
var e, i, r, o, s, a, l, u, c;
if (this.soak) {
if (this.variable) {
if (i = pe(t, this, "variable")) return i;
u = new G(this.variable).cacheReference(t), r = u[0], s = u[1]
} else r = new E(this.superReference(t)), s = new G(r);
return s = new n(s, this.args), s.isNew = this.isNew, r = new E("typeof " + r.compile(t) + ' === "function"'), new v(r, new G(s), {
soak: !0
})
}
for (e = this, o = [];;)
if (e.variable instanceof n) o.push(e), e = e.variable;
else {
if (!(e.variable instanceof G)) break;
if (o.push(e), !((e = e.variable.base) instanceof n)) break
}
for (c = o.reverse(), a = 0, l = c.length; l > a; a++) e = c[a], i && (e.variable instanceof n ? e.variable = i : e.variable.base = i), i = pe(t, e, "variable");
return i
}, n.prototype.compileNode = function (t) {
var e, n, i, r, o, s, a, l, u, c;
if (null != (u = this.variable) && (u.front = this.front), r = B.compileSplattedArray(t, this.args, !0), r.length) return this.compileSplat(t, r);
for (i = [], c = this.args, n = a = 0, l = c.length; l > a; n = ++a) e = c[n], n && i.push(this.makeCode(", ")), i.push.apply(i, e.compileToFragments(t, T));
return o = [], this.isSuper ? (s = this.superReference(t) + (".call(" + this.superThis(t)), i.length && (s += ", "), o.push(this.makeCode(s))) : (this.isNew && o.push(this.makeCode("new ")), o.push.apply(o, this.variable.compileToFragments(t, x)), o.push(this.makeCode("("))), o.push.apply(o, i), o.push(this.makeCode(")")), o
}, n.prototype.compileSplat = function (t, e) {
var n, i, r, o, s, a;
return this.isSuper ? [].concat(this.makeCode("" + this.superReference(t) + ".apply(" + this.superThis(t) + ", "), e, this.makeCode(")")) : this.isNew ? (o = this.tab + z, [].concat(this.makeCode("(function(func, args, ctor) {\n" + o + "ctor.prototype = func.prototype;\n" + o + "var child = new ctor, result = func.apply(child, args);\n" + o + "return Object(result) === result ? result : child;\n" + this.tab + "})("), this.variable.compileToFragments(t, T), this.makeCode(", "), e, this.makeCode(", function(){})"))) : (n = [], i = new G(this.variable), (s = i.properties.pop()) && i.isComplex() ? (a = t.scope.freeVariable("ref"), n = n.concat(this.makeCode("(" + a + " = "), i.compileToFragments(t, T), this.makeCode(")"), s.compileToFragments(t))) : (r = i.compileToFragments(t, x), $.test(re(r)) && (r = this.wrapInBraces(r)), s ? (a = re(r), r.push.apply(r, s.compileToFragments(t))) : a = "null", n = n.concat(r)), n = n.concat(this.makeCode(".apply(" + a + ", "), e, this.makeCode(")")))
}, n
}(r), t.Extends = f = function (t) {
function e(t, e) {
this.child = t, this.parent = e
}
return _e(e, t), e.prototype.children = ["child", "parent"], e.prototype.compileToFragments = function (t) {
return new s(new G(new E(fe("extends"))), [this.child, this.parent]).compileToFragments(t)
}, e
}(r), t.Access = e = function (t) {
function e(t, e) {
this.name = t, this.name.asKey = !0, this.soak = "soak" === e
}
return _e(e, t), e.prototype.children = ["name"], e.prototype.compileToFragments = function (t) {
var e;
return e = this.name.compileToFragments(t), m.test(re(e)) ? e.unshift(this.makeCode(".")) : (e.unshift(this.makeCode("[")), e.push(this.makeCode("]"))), e
}, e.prototype.isComplex = O, e
}(r), t.Index = b = function (t) {
function e(t) {
this.index = t
}
return _e(e, t), e.prototype.children = ["index"], e.prototype.compileToFragments = function (t) {
return [].concat(this.makeCode("["), this.index.compileToFragments(t, C), this.makeCode("]"))
}, e.prototype.isComplex = function () {
return this.index.isComplex()
}, e
}(r), t.Range = F = function (t) {
function e(t, e, n) {
this.from = t, this.to = e, this.exclusive = "exclusive" === n, this.equals = this.exclusive ? "" : "="
}
return _e(e, t), e.prototype.children = ["from", "to"], e.prototype.compileVariables = function (t) {
var e, n, i, r, o;
return t = ae(t, {
top: !0
}), n = this.cacheToCodeFragments(this.from.cache(t, T)), this.fromC = n[0], this.fromVar = n[1], i = this.cacheToCodeFragments(this.to.cache(t, T)), this.toC = i[0], this.toVar = i[1], (e = te(t, "step")) && (r = this.cacheToCodeFragments(e.cache(t, T)), this.step = r[0], this.stepVar = r[1]), o = [this.fromVar.match($), this.toVar.match($)], this.fromNum = o[0], this.toNum = o[1], this.stepVar ? this.stepNum = this.stepVar.match($) : void 0
}, e.prototype.compileNode = function (t) {
var e, n, i, r, o, s, a, l, u, c, h, p, f, d;
return this.fromVar || this.compileVariables(t), t.index ? (a = this.fromNum && this.toNum, o = te(t, "index"), s = te(t, "name"), u = s && s !== o, p = "" + o + " = " + this.fromC, this.toC !== this.toVar && (p += ", " + this.toC), this.step !== this.stepVar && (p += ", " + this.step), f = ["" + o + " <" + this.equals, "" + o + " >" + this.equals], l = f[0], r = f[1], n = this.stepNum ? +this.stepNum > 0 ? "" + l + " " + this.toVar : "" + r + " " + this.toVar : a ? (d = [+this.fromNum, +this.toNum], i = d[0], h = d[1], h >= i ? "" + l + " " + h : "" + r + " " + h) : (e = this.stepVar ? "" + this.stepVar + " > 0" : "" + this.fromVar + " <= " + this.toVar, "" + e + " ? " + l + " " + this.toVar + " : " + r + " " + this.toVar), c = this.stepVar ? "" + o + " += " + this.stepVar : a ? u ? h >= i ? "++" + o : "--" + o : h >= i ? "" + o + "++" : "" + o + "--" : u ? "" + e + " ? ++" + o + " : --" + o : "" + e + " ? " + o + "++ : " + o + "--", u && (p = "" + s + " = " + p), u && (c = "" + s + " = " + c), [this.makeCode("" + p + "; " + n + "; " + c)]) : this.compileArray(t)
}, e.prototype.compileArray = function (t) {
var e, n, i, r, o, s, a, l, u, c, h, p, f;
return this.fromNum && this.toNum && 20 >= Math.abs(this.fromNum - this.toNum) ? (u = function () {
f = [];
for (var t = p = +this.fromNum, e = +this.toNum; e >= p ? e >= t : t >= e; e >= p ? t++ : t--) f.push(t);
return f
}.apply(this), this.exclusive && u.pop(), [this.makeCode("[" + u.join(", ") + "]")]) : (s = this.tab + z, o = t.scope.freeVariable("i"), c = t.scope.freeVariable("results"), l = "\n" + s + c + " = [];", this.fromNum && this.toNum ? (t.index = o, n = re(this.compileNode(t))) : (h = "" + o + " = " + this.fromC + (this.toC !== this.toVar ? ", " + this.toC : ""), i = "" + this.fromVar + " <= " + this.toVar, n = "var " + h + "; " + i + " ? " + o + " <" + this.equals + " " + this.toVar + " : " + o + " >" + this.equals + " " + this.toVar + "; " + i + " ? " + o + "++ : " + o + "--"), a = "{ " + c + ".push(" + o + "); }\n" + s + "return " + c + ";\n" + t.indent, r = function (t) {
return null != t ? t.contains(function (t) {
return t instanceof E && "arguments" === t.value && !t.asKey
}) : void 0
}, (r(this.from) || r(this.to)) && (e = ", arguments"), [this.makeCode("(function() {" + l + "\n" + s + "for (" + n + ")" + a + "}).apply(this" + (null != e ? e : "") + ")")])
}, e
}(r), t.Slice = H = function (t) {
function e(t) {
this.range = t, e.__super__.constructor.call(this)
}
return _e(e, t), e.prototype.children = ["range"], e.prototype.compileNode = function (t) {
var e, n, i, r, o, s, a;
return a = this.range, o = a.to, i = a.from, r = i && i.compileToFragments(t, C) || [this.makeCode("0")], o && (e = o.compileToFragments(t, C), n = re(e), (this.range.exclusive || -1 !== +n) && (s = ", " + (this.range.exclusive ? n : $.test(n) ? "" + (+n + 1) : (e = o.compileToFragments(t, x), "+" + re(e) + " + 1 || 9e9")))), [this.makeCode(".slice(" + re(r) + (s || "") + ")")]
}, e
}(r), t.Obj = j = function (t) {
function e(t, e) {
this.generated = null != e ? e : !1, this.objects = this.properties = t || []
}
return _e(e, t), e.prototype.children = ["properties"], e.prototype.compileNode = function (t) {
var e, n, r, o, s, a, l, u, c, p, f, d, m;
if (c = this.properties, !c.length) return [this.makeCode(this.front ? "({})" : "{}")];
if (this.generated)
for (p = 0, d = c.length; d > p; p++) l = c[p], l instanceof G && l.error("cannot have an implicit value in an implicit object");
for (r = t.indent += z, a = this.lastNonComment(this.properties), e = [], n = f = 0, m = c.length; m > f; n = ++f) {
if (u = c[n], s = n === c.length - 1 ? "" : u === a || u instanceof h ? "\n" : ",\n", o = u instanceof h ? "" : r, u instanceof i && u.variable instanceof G && u.variable.hasProperties()) throw new SyntaxError("Invalid object key");
u instanceof G && u["this"] && (u = new i(u.properties[0].name, u, "object")), u instanceof h || (u instanceof i || (u = new i(u, u, "object")), (u.variable.base || u.variable).asKey = !0), o && e.push(this.makeCode(o)), e.push.apply(e, u.compileToFragments(t, S)), s && e.push(this.makeCode(s))
}
return e.unshift(this.makeCode("{" + (c.length && "\n"))), e.push(this.makeCode("" + (c.length && "\n" + this.tab) + "}")), this.front ? this.wrapInBraces(e) : e
}, e.prototype.assigns = function (t) {
var e, n, i, r;
for (r = this.properties, n = 0, i = r.length; i > n; n++)
if (e = r[n], e.assigns(t)) return !0;
return !1
}, e
}(r), t.Arr = n = function (t) {
function e(t) {
this.objects = t || []
}
return _e(e, t), e.prototype.children = ["objects"], e.prototype.compileNode = function (t) {
var e, n, i, r, o, s, a;
if (!this.objects.length) return [this.makeCode("[]")];
if (t.indent += z, e = B.compileSplattedArray(t, this.objects), e.length) return e;
for (e = [], n = function () {
var e, n, i, r;
for (i = this.objects, r = [], e = 0, n = i.length; n > e; e++) o = i[e], r.push(o.compileToFragments(t, T));
return r
}.call(this), r = s = 0, a = n.length; a > s; r = ++s) i = n[r], r && e.push(this.makeCode(", ")), e.push.apply(e, i);
return re(e).indexOf("\n") >= 0 ? (e.unshift(this.makeCode("[\n" + t.indent)), e.push(this.makeCode("\n" + this.tab + "]"))) : (e.unshift(this.makeCode("[")), e.push(this.makeCode("]"))), e
}, e.prototype.assigns = function (t) {
var e, n, i, r;
for (r = this.objects, n = 0, i = r.length; i > n; n++)
if (e = r[n], e.assigns(t)) return !0;
return !1
}, e
}(r), t.Class = a = function (t) {
function n(t, e, n) {
this.variable = t, this.parent = e, this.body = null != n ? n : new o, this.boundFuncs = [], this.body.classBody = !0
}
return _e(n, t), n.prototype.children = ["variable", "parent", "body"], n.prototype.determineName = function () {
var t, n;
return this.variable ? (t = (n = oe(this.variable.properties)) ? n instanceof e && n.name.value : this.variable.base.value, be.call(I, t) >= 0 && this.variable.error("class variable name may not be " + t), t && (t = m.test(t) && t)) : null
}, n.prototype.setContext = function (t) {
return this.body.traverseChildren(!1, function (e) {
return e.classBody ? !1 : e instanceof E && "this" === e.value ? e.value = t : e instanceof u && (e.klass = t, e.bound) ? e.context = t : void 0
})
}, n.prototype.addBoundFunctions = function (t) {
var n, i, r, o, s;
for (s = this.boundFuncs, r = 0, o = s.length; o > r; r++) n = s[r], i = new G(new E("this"), [new e(n)]).compile(t), this.ctor.body.unshift(new E("" + i + " = " + fe("bind") + "(" + i + ", this)"))
}, n.prototype.addProperties = function (t, n, r) {
var o, s, a, l, c;
return c = t.base.properties.slice(0), a = function () {
var t;
for (t = []; o = c.shift();) o instanceof i && (s = o.variable.base, delete o.context, l = o.value, "constructor" === s.value ? (this.ctor && o.error("cannot define more than one constructor in a class"), l.bound && o.error("cannot define a constructor as a bound function"), l instanceof u ? o = this.ctor = l : (this.externalCtor = r.scope.freeVariable("class"), o = new i(new E(this.externalCtor), l))) : o.variable["this"] ? (l["static"] = !0, l.bound && (l.context = n)) : (o.variable = new G(new E(n), [new e(new E("prototype")), new e(s)]), l instanceof u && l.bound && (this.boundFuncs.push(s), l.bound = !1))), t.push(o);
return t
}.call(this), Z(a)
}, n.prototype.walkBody = function (t, e) {
var i = this;
return this.traverseChildren(!1, function (r) {
var s, a, l, u, c, h, p;
if (s = !0, r instanceof n) return !1;
if (r instanceof o) {
for (p = a = r.expressions, l = c = 0, h = p.length; h > c; l = ++c) u = p[l], u instanceof G && u.isObject(!0) && (s = !1, a[l] = i.addProperties(u, t, e));
r.expressions = a = ie(a)
}
return s && !(r instanceof n)
})
}, n.prototype.hoistDirectivePrologue = function () {
var t, e, n;
for (e = 0, t = this.body.expressions;
(n = t[e]) && n instanceof h || n instanceof G && n.isString();)++e;
return this.directives = t.splice(0, e)
}, n.prototype.ensureConstructor = function (t, e) {
var n, r, o;
return n = !this.ctor, this.ctor || (this.ctor = new u), this.ctor.ctor = this.ctor.name = t, this.ctor.klass = null, this.ctor.noReturn = !0, n ? (this.parent && (o = new E("" + t + ".__super__.constructor.apply(this, arguments)")), this.externalCtor && (o = new E("" + this.externalCtor + ".apply(this, arguments)")), o && (r = new E(e.scope.freeVariable("ref")), this.ctor.body.unshift(new i(r, o))), this.addBoundFunctions(e), o && (this.ctor.body.push(r), this.ctor.body.makeReturn()), this.body.expressions.unshift(this.ctor)) : this.addBoundFunctions(e)
}, n.prototype.compileNode = function (t) {
var e, n, r, o, s, a, c;
return n = this.determineName(), s = n || "_Class", s.reserved && (s = "_" + s), o = new E(s), this.hoistDirectivePrologue(), this.setContext(s), this.walkBody(s, t), this.ensureConstructor(s, t), this.body.spaced = !0, this.ctor instanceof u || this.body.expressions.unshift(this.ctor), this.body.expressions.push(o), (c = this.body.expressions).unshift.apply(c, this.directives), e = l.wrap(this.body), this.parent && (this.superClass = new E(t.scope.freeVariable("super", !1)), this.body.expressions.unshift(new f(o, this.superClass)), e.args.push(this.parent), a = e.variable.params || e.variable.base.params, a.push(new A(this.superClass))), r = new P(e, !0), this.variable && (r = new i(this.variable, r)), r.compileToFragments(t)
}, n
}(r), t.Assign = i = function (t) {
function n(t, e, n, i) {
var r, o, s;
this.variable = t, this.value = e, this.context = n, this.param = i && i.param, this.subpattern = i && i.subpattern, s = o = this.variable.unwrapAll().value, r = be.call(I, s) >= 0, r && "object" !== this.context && this.variable.error('variable name may not be "' + o + '"')
}
return _e(n, t), n.prototype.children = ["variable", "value"], n.prototype.isStatement = function (t) {
return (null != t ? t.level : void 0) === S && null != this.context && be.call(this.context, "?") >= 0
}, n.prototype.assigns = function (t) {
return this["object" === this.context ? "value" : "variable"].assigns(t)
}, n.prototype.unfoldSoak = function (t) {
return pe(t, this, "variable")
}, n.prototype.compileNode = function (t) {
var e, n, i, r, o, s, a, l, c, h, p;
if (i = this.variable instanceof G) {
if (this.variable.isArray() || this.variable.isObject()) return this.compilePatternMatch(t);
if (this.variable.isSplice()) return this.compileSplice(t);
if ("||=" === (l = this.context) || "&&=" === l || "?=" === l) return this.compileConditional(t)
}
return n = this.variable.compileToFragments(t, T), o = re(n), this.context || (a = this.variable.unwrapAll(), a.isAssignable() || this.variable.error('"' + this.variable.compile(t) + '" cannot be assigned'), ("function" == typeof a.hasProperties ? a.hasProperties() : void 0) || (this.param ? t.scope.add(o, "var") : t.scope.find(o))), this.value instanceof u && (r = N.exec(o)) && (r[1] && (this.value.klass = r[1]), this.value.name = null != (c = null != (h = null != (p = r[2]) ? p : r[3]) ? h : r[4]) ? c : r[5]), s = this.value.compileToFragments(t, T), "object" === this.context ? n.concat(this.makeCode(": "), s) : (e = n.concat(this.makeCode(" " + (this.context || "=") + " "), s), T >= t.level ? e : this.wrapInBraces(e))
}, n.prototype.compilePatternMatch = function (t) {
var i, r, o, s, a, l, u, c, h, p, f, d, g, y, v, _, x, w, C, N, D, O, j, L, A, F, R, $;
if (_ = t.level === S, w = this.value, f = this.variable.base.objects, !(d = f.length)) return o = w.compileToFragments(t), t.level >= k ? this.wrapInBraces(o) : o;
if (u = this.variable.isObject(), _ && 1 === d && !((p = f[0]) instanceof B)) return p instanceof n ? (j = p, L = j.variable, l = L.base, p = j.value) : l = u ? p["this"] ? p.properties[0].name : p : new E(0), i = m.test(l.unwrap().value || 0), w = new G(w), w.properties.push(new(i ? e : b)(l)), A = p.unwrap().value, be.call(M, A) >= 0 && p.error("assignment to a reserved word: " + p.compile(t)), new n(p, w, null, {
param: this.param
}).compileToFragments(t, S);
for (C = w.compileToFragments(t, T), N = re(C), r = [], v = !1, (!m.test(N) || this.variable.assigns(N)) && (r.push([this.makeCode("" + (g = t.scope.freeVariable("ref")) + " = ")].concat(xe.call(C))), C = [this.makeCode(g)], N = g), a = D = 0, O = f.length; O > D; a = ++D) p = f[a], l = a, u && (p instanceof n ? (F = p, R = F.variable, l = R.base, p = F.value) : p.base instanceof P ? ($ = new G(p.unwrapAll()).cacheReference(t), p = $[0], l = $[1]) : l = p["this"] ? p.properties[0].name : p), !v && p instanceof B ? (h = p.name.unwrap().value, p = p.unwrap(), x = "" + d + " <= " + N + ".length ? " + fe("slice") + ".call(" + N + ", " + a, (y = d - a - 1) ? (c = t.scope.freeVariable("i"), x += ", " + c + " = " + N + ".length - " + y + ") : (" + c + " = " + a + ", [])") : x += ") : []", x = new E(x), v = "" + c + "++") : (h = p.unwrap().value, p instanceof B && p.error("multiple splats are disallowed in an assignment"), "number" == typeof l ? (l = new E(v || l), i = !1) : i = u && m.test(l.unwrap().value || 0), x = new G(new E(N), [new(i ? e : b)(l)])), null != h && be.call(M, h) >= 0 && p.error("assignment to a reserved word: " + p.compile(t)), r.push(new n(p, x, null, {
param: this.param,
subpattern: !0
}).compileToFragments(t, T));
return _ || this.subpattern || r.push(C), s = this.joinFragmentArrays(r, ", "), T > t.level ? s : this.wrapInBraces(s)
}, n.prototype.compileConditional = function (t) {
var e, i, r;
return r = this.variable.cacheReference(t), e = r[0], i = r[1], !e.properties.length && e.base instanceof E && "this" !== e.base.value && !t.scope.check(e.base.value) && this.variable.error('the variable "' + e.base.value + "\" can't be assigned with " + this.context + " because it has not been declared before"), be.call(this.context, "?") >= 0 && (t.isExistentialEquals = !0), new L(this.context.slice(0, -1), e, new n(i, this.value, "=")).compileToFragments(t)
}, n.prototype.compileSplice = function (t) {
var e, n, i, r, o, s, a, l, u, c, h, p;
return c = this.variable.properties.pop().range, i = c.from, a = c.to, n = c.exclusive, s = this.variable.compile(t), i ? (h = this.cacheToCodeFragments(i.cache(t, k)), r = h[0], o = h[1]) : r = o = "0", a ? (null != i ? i.isSimpleNumber() : void 0) && a.isSimpleNumber() ? (a = +a.compile(t) - +o, n || (a += 1)) : (a = a.compile(t, x) + " - " + o, n || (a += " + 1")) : a = "9e9", p = this.value.cache(t, T), l = p[0], u = p[1], e = [].concat(this.makeCode("[].splice.apply(" + s + ", [" + r + ", " + a + "].concat("), l, this.makeCode(")), "), u), t.level > S ? this.wrapInBraces(e) : e
}, n
}(r), t.Code = u = function (t) {
function e(t, e, n) {
this.params = t || [], this.body = e || new o, this.bound = "boundfunc" === n, this.bound && (this.context = "_this")
}
return _e(e, t), e.prototype.children = ["params", "body"], e.prototype.isStatement = function () {
return !!this.ctor
}, e.prototype.jumps = O, e.prototype.compileNode = function (t) {
var e, r, o, s, a, l, u, c, h, p, f, d, m, g, y, _, b, w, T, k, C, S, N, D, O, j, A, P, M;
for (t.scope = new q(t.scope, this.body, this), t.scope.shared = te(t, "sharedScope"), t.indent += z, delete t.bare, delete t.isExistentialEquals, h = [], o = [], this.eachParamName(function (e) {
return t.scope.check(e) ? void 0 : t.scope.parameter(e)
}), O = this.params, y = 0, T = O.length; T > y; y++)
if (c = O[y], c.splat) {
for (j = this.params, _ = 0, k = j.length; k > _; _++) u = j[_].name, u["this"] && (u = u.properties[0].name), u.value && t.scope.add(u.value, "var", !0);
f = new i(new G(new n(function () {
var e, n, i, r;
for (i = this.params, r = [], e = 0, n = i.length; n > e; e++) u = i[e], r.push(u.asReference(t));
return r
}.call(this))), new G(new E("arguments")));
break
}
for (A = this.params, b = 0, C = A.length; C > b; b++) c = A[b], c.isComplex() ? (m = p = c.asReference(t), c.value && (m = new L("?", p, c.value)), o.push(new i(new G(c.name), m, "=", {
param: !0
}))) : (p = c, c.value && (l = new E(p.name.value + " == null"), m = new i(new G(c.name), c.value, "="), o.push(new v(l, m)))), f || h.push(p);
for (g = this.body.isEmpty(), f && o.unshift(f), o.length && (P = this.body.expressions).unshift.apply(P, o), s = w = 0, S = h.length; S > w; s = ++w) u = h[s], h[s] = u.compileToFragments(t), t.scope.parameter(re(h[s]));
for (d = [], this.eachParamName(function (t, e) {
return be.call(d, t) >= 0 && e.error("multiple parameters named '" + t + "'"), d.push(t)
}), g || this.noReturn || this.body.makeReturn(), this.bound && ((null != (M = t.scope.parent.method) ? M.bound : void 0) ? this.bound = this.context = t.scope.parent.method.context : this["static"] || t.scope.parent.assign("_this", "this")), a = t.indent, r = "function", this.ctor && (r += " " + this.name), r += "(", e = [this.makeCode(r)], s = D = 0, N = h.length; N > D; s = ++D) u = h[s], s && e.push(this.makeCode(", ")), e.push.apply(e, u);
return e.push(this.makeCode(") {")), this.body.isEmpty() || (e = e.concat(this.makeCode("\n"), this.body.compileWithDeclarations(t), this.makeCode("\n" + this.tab))), e.push(this.makeCode("}")), this.ctor ? [this.makeCode(this.tab)].concat(xe.call(e)) : this.front || t.level >= x ? this.wrapInBraces(e) : e
}, e.prototype.eachParamName = function (t) {
var e, n, i, r, o;
for (r = this.params, o = [], n = 0, i = r.length; i > n; n++) e = r[n], o.push(e.eachName(t));
return o
}, e.prototype.traverseChildren = function (t, n) {
return t ? e.__super__.traverseChildren.call(this, t, n) : void 0
}, e
}(r), t.Param = A = function (t) {
function e(t, e, n) {
var i;
this.name = t, this.value = e, this.splat = n, i = t = this.name.unwrapAll().value, be.call(I, i) >= 0 && this.name.error('parameter name "' + t + '" is not allowed')
}
return _e(e, t), e.prototype.children = ["name", "value"], e.prototype.compileToFragments = function (t) {
return this.name.compileToFragments(t, T)
}, e.prototype.asReference = function (t) {
var e;
return this.reference ? this.reference : (e = this.name, e["this"] ? (e = e.properties[0].name, e.value.reserved && (e = new E(t.scope.freeVariable(e.value)))) : e.isComplex() && (e = new E(t.scope.freeVariable("arg"))), e = new G(e), this.splat && (e = new B(e)), this.reference = e)
}, e.prototype.isComplex = function () {
return this.name.isComplex()
}, e.prototype.eachName = function (t, e) {
var n, r, o, s, a, l;
if (null == e && (e = this.name), n = function (e) {
var n;
return n = e.properties[0].name, n.value.reserved ? void 0 : t(n.value, n)
}, e instanceof E) return t(e.value, e);
if (e instanceof G) return n(e);
for (l = e.objects, s = 0, a = l.length; a > s; s++) o = l[s], o instanceof i ? this.eachName(t, o.value.unwrap()) : o instanceof B ? (r = o.name.unwrap(), t(r.value, r)) : o instanceof G ? o.isArray() || o.isObject() ? this.eachName(t, o.base) : o["this"] ? n(o) : t(o.base.value, o.base) : o.error("illegal parameter " + o.compile())
}, e
}(r), t.Splat = B = function (t) {
function e(t) {
this.name = t.compile ? t : new E(t)
}
return _e(e, t), e.prototype.children = ["name"], e.prototype.isAssignable = J, e.prototype.assigns = function (t) {
return this.name.assigns(t)
}, e.prototype.compileToFragments = function (t) {
return this.name.compileToFragments(t)
}, e.prototype.unwrap = function () {
return this.name
}, e.compileSplattedArray = function (t, n, i) {
var r, o, s, a, l, u, c, h, p, f;
for (c = -1;
(h = n[++c]) && !(h instanceof e););
if (c >= n.length) return [];
if (1 === n.length) return h = n[0], l = h.compileToFragments(t, T), i ? l : [].concat(h.makeCode("" + fe("slice") + ".call("), l, h.makeCode(")"));
for (r = n.slice(c), u = p = 0, f = r.length; f > p; u = ++p) h = r[u], s = h.compileToFragments(t, T), r[u] = h instanceof e ? [].concat(h.makeCode("" + fe("slice") + ".call("), s, h.makeCode(")")) : [].concat(h.makeCode("["), s, h.makeCode("]"));
return 0 === c ? (h = n[0], a = h.joinFragmentArrays(r.slice(1), ", "), r[0].concat(h.makeCode(".concat("), a, h.makeCode(")"))) : (o = function () {
var e, i, r, o;
for (r = n.slice(0, c), o = [], e = 0, i = r.length; i > e; e++) h = r[e], o.push(h.compileToFragments(t, T));
return o
}(), o = n[0].joinFragmentArrays(o, ", "), a = n[c].joinFragmentArrays(r, ", "), [].concat(n[0].makeCode("["), o, n[c].makeCode("].concat("), a, oe(n).makeCode(")")))
}, e
}(r), t.While = Q = function (t) {
function e(t, e) {
this.condition = (null != e ? e.invert : void 0) ? t.invert() : t, this.guard = null != e ? e.guard : void 0
}
return _e(e, t), e.prototype.children = ["condition", "guard", "body"], e.prototype.isStatement = J, e.prototype.makeReturn = function (t) {
return t ? e.__super__.makeReturn.apply(this, arguments) : (this.returns = !this.jumps({
loop: !0
}), this)
}, e.prototype.addBody = function (t) {
return this.body = t, this
}, e.prototype.jumps = function () {
var t, e, n, i;
if (t = this.body.expressions, !t.length) return !1;
for (n = 0, i = t.length; i > n; n++)
if (e = t[n], e.jumps({
loop: !0
})) return e;
return !1
}, e.prototype.compileNode = function (t) {
var e, n, i, r;
return t.indent += z, r = "", n = this.body, n.isEmpty() ? n = "" : (this.returns && (n.makeReturn(i = t.scope.freeVariable("results")), r = "" + this.tab + i + " = [];\n"), this.guard && (n.expressions.length > 1 ? n.expressions.unshift(new v(new P(this.guard).invert(), new E("continue"))) : this.guard && (n = o.wrap([new v(this.guard, n)]))), n = [].concat(this.makeCode("\n"), n.compileToFragments(t, S), this.makeCode("\n" + this.tab))), e = [].concat(this.makeCode(r + this.tab + "while ("), this.condition.compileToFragments(t, C), this.makeCode(") {"), n, this.makeCode("}")), this.returns && e.push(this.makeCode("\n" + this.tab + "return " + i + ";")), e
}, e
}(r), t.Op = L = function (t) {
function e(t, e, i, r) {
if ("in" === t) return new _(e, i);
if ("do" === t) return this.generateDo(e);
if ("new" === t) {
if (e instanceof s && !e["do"] && !e.isNew) return e.newInstance();
(e instanceof u && e.bound || e["do"]) && (e = new P(e))
}
return this.operator = n[t] || t, this.first = e, this.second = i, this.flip = !!r, this
}
var n, r;
return _e(e, t), n = {
"==": "===",
"!=": "!==",
of: "in"
}, r = {
"!==": "===",
"===": "!=="
}, e.prototype.children = ["first", "second"], e.prototype.isSimpleNumber = O, e.prototype.isUnary = function () {
return !this.second
}, e.prototype.isComplex = function () {
var t;
return !(this.isUnary() && ("+" === (t = this.operator) || "-" === t)) || this.first.isComplex()
}, e.prototype.isChainable = function () {
var t;
return "<" === (t = this.operator) || ">" === t || ">=" === t || "<=" === t || "===" === t || "!==" === t
}, e.prototype.invert = function () {
var t, n, i, o, s;
if (this.isChainable() && this.first.isChainable()) {
for (t = !0, n = this; n && n.operator;) t && (t = n.operator in r), n = n.first;
if (!t) return new P(this).invert();
for (n = this; n && n.operator;) n.invert = !n.invert, n.operator = r[n.operator], n = n.first;
return this
}
return (o = r[this.operator]) ? (this.operator = o, this.first.unwrap() instanceof e && this.first.invert(), this) : this.second ? new P(this).invert() : "!" === this.operator && (i = this.first.unwrap()) instanceof e && ("!" === (s = i.operator) || "in" === s || "instanceof" === s) ? i : new e("!", this)
}, e.prototype.unfoldSoak = function (t) {
var e;
return ("++" === (e = this.operator) || "--" === e || "delete" === e) && pe(t, this, "first")
}, e.prototype.generateDo = function (t) {
var e, n, r, o, a, l, c, h;
for (o = [], n = t instanceof i && (a = t.value.unwrap()) instanceof u ? a : t, h = n.params || [], l = 0, c = h.length; c > l; l++) r = h[l], r.value ? (o.push(r.value), delete r.value) : o.push(r);
return e = new s(t, o), e["do"] = !0, e
}, e.prototype.compileNode = function (t) {
var e, n, i, r;
return n = this.isChainable() && this.first.isChainable(), n || (this.first.front = this.front), "delete" === this.operator && t.scope.check(this.first.unwrapAll().value) && this.error("delete operand may not be argument or var"), ("--" === (i = this.operator) || "++" === i) && (r = this.first.unwrapAll().value, be.call(I, r) >= 0) && this.error('cannot increment/decrement "' + this.first.unwrapAll().value + '"'), this.isUnary() ? this.compileUnary(t) : n ? this.compileChain(t) : "?" === this.operator ? this.compileExistence(t) : (e = [].concat(this.first.compileToFragments(t, k), this.makeCode(" " + this.operator + " "), this.second.compileToFragments(t, k)), k >= t.level ? e : this.wrapInBraces(e))
}, e.prototype.compileChain = function (t) {
var e, n, i, r;
return r = this.first.second.cache(t), this.first.second = r[0], i = r[1], n = this.first.compileToFragments(t, k), e = n.concat(this.makeCode(" " + (this.invert ? "&&" : "||") + " "), i.compileToFragments(t), this.makeCode(" " + this.operator + " "), this.second.compileToFragments(t, k)), this.wrapInBraces(e)
}, e.prototype.compileExistence = function (t) {
var e, n;
return this.first.isComplex() ? (n = new E(t.scope.freeVariable("ref")), e = new P(new i(n, this.first))) : (e = this.first, n = e), new v(new p(e), n, {
type: "if"
}).addElse(this.second).compileToFragments(t)
}, e.prototype.compileUnary = function (t) {
var n, i, r;
return i = [], n = this.operator, i.push([this.makeCode(n)]), "!" === n && this.first instanceof p ? (this.first.negated = !this.first.negated, this.first.compileToFragments(t)) : t.level >= x ? new P(this).compileToFragments(t) : (r = "+" === n || "-" === n, ("new" === n || "typeof" === n || "delete" === n || r && this.first instanceof e && this.first.operator === n) && i.push([this.makeCode(" ")]), (r && this.first instanceof e || "new" === n && this.first.isStatement(t)) && (this.first = new P(this.first)), i.push(this.first.compileToFragments(t, k)), this.flip && i.reverse(), this.joinFragmentArrays(i, ""))
}, e.prototype.toString = function (t) {
return e.__super__.toString.call(this, t, this.constructor.name + " " + this.operator)
}, e
}(r), t.In = _ = function (t) {
function e(t, e) {
this.object = t, this.array = e
}
return _e(e, t), e.prototype.children = ["object", "array"], e.prototype.invert = D, e.prototype.compileNode = function (t) {
var e, n, i, r, o;
if (this.array instanceof G && this.array.isArray()) {
for (o = this.array.base.objects, i = 0, r = o.length; r > i; i++)
if (n = o[i], n instanceof B) {
e = !0;
break
}
if (!e) return this.compileOrTest(t)
}
return this.compileLoopTest(t)
}, e.prototype.compileOrTest = function (t) {
var e, n, i, r, o, s, a, l, u, c, h, p;
if (0 === this.array.base.objects.length) return [this.makeCode("" + !!this.negated)];
for (c = this.object.cache(t, k), s = c[0], o = c[1], h = this.negated ? [" !== ", " && "] : [" === ", " || "], e = h[0], n = h[1], a = [], p = this.array.base.objects, i = l = 0, u = p.length; u > l; i = ++l) r = p[i], i && a.push(this.makeCode(n)), a = a.concat(i ? o : s, this.makeCode(e), r.compileToFragments(t, x));
return k > t.level ? a : this.wrapInBraces(a)
}, e.prototype.compileLoopTest = function (t) {
var e, n, i, r;
return r = this.object.cache(t, T), i = r[0], n = r[1], e = [].concat(this.makeCode(fe("indexOf") + ".call("), this.array.compileToFragments(t, T), this.makeCode(", "), n, this.makeCode(") " + (this.negated ? "< 0" : ">= 0"))), re(i) === re(n) ? e : (e = i.concat(this.makeCode(", "), e), T > t.level ? e : this.wrapInBraces(e))
}, e.prototype.toString = function (t) {
return e.__super__.toString.call(this, t, this.constructor.name + (this.negated ? "!" : ""))
}, e
}(r), t.Try = X = function (t) {
function e(t, e, n, i) {
this.attempt = t, this.errorVariable = e, this.recovery = n, this.ensure = i
}
return _e(e, t), e.prototype.children = ["attempt", "recovery", "ensure"], e.prototype.isStatement = J, e.prototype.jumps = function (t) {
var e;
return this.attempt.jumps(t) || (null != (e = this.recovery) ? e.jumps(t) : void 0)
}, e.prototype.makeReturn = function (t) {
return this.attempt && (this.attempt = this.attempt.makeReturn(t)), this.recovery && (this.recovery = this.recovery.makeReturn(t)), this
}, e.prototype.compileNode = function (t) {
var e, n, r, o, s;
return t.indent += z, o = this.attempt.compileToFragments(t, S), e = this.recovery ? (r = new E("_error"), this.recovery.unshift(new i(this.errorVariable, r)), this.errorVariable = r, s = this.errorVariable.value, be.call(I, s) >= 0 ? this.errorVariable.error('catch variable may not be "' + this.errorVariable.value + '"') : void 0, [].concat(this.makeCode(" catch ("), this.errorVariable.compileToFragments(t), this.makeCode(") {\n"), this.recovery.compileToFragments(t, S), this.makeCode("\n" + this.tab + "}"))) : this.ensure || this.recovery ? [] : [this.makeCode(" catch (_error) {}")], n = this.ensure ? [].concat(this.makeCode(" finally {\n"), this.ensure.compileToFragments(t, S), this.makeCode("\n" + this.tab + "}")) : [], [].concat(this.makeCode("" + this.tab + "try {\n"), o, this.makeCode("\n" + this.tab + "}"), e, n)
}, e
}(r), t.Throw = U = function (t) {
function e(t) {
this.expression = t
}
return _e(e, t), e.prototype.children = ["expression"], e.prototype.isStatement = J, e.prototype.jumps = O, e.prototype.makeReturn = W, e.prototype.compileNode = function (t) {
return [].concat(this.makeCode(this.tab + "throw "), this.expression.compileToFragments(t), this.makeCode(";"))
}, e
}(r), t.Existence = p = function (t) {
function e(t) {
this.expression = t
}
return _e(e, t), e.prototype.children = ["expression"], e.prototype.invert = D, e.prototype.compileNode = function (t) {
var e, n, i, r;
return this.expression.front = this.front, i = this.expression.compile(t, k), m.test(i) && !t.scope.check(i) ? (r = this.negated ? ["===", "||"] : ["!==", "&&"], e = r[0], n = r[1], i = "typeof " + i + " " + e + ' "undefined" ' + n + " " + i + " " + e + " null") : i = "" + i + " " + (this.negated ? "==" : "!=") + " null", [this.makeCode(w >= t.level ? i : "(" + i + ")")]
}, e
}(r), t.Parens = P = function (t) {
function e(t) {
this.body = t
}
return _e(e, t), e.prototype.children = ["body"], e.prototype.unwrap = function () {
return this.body
}, e.prototype.isComplex = function () {
return this.body.isComplex()
}, e.prototype.compileNode = function (t) {
var e, n, i;
return n = this.body.unwrap(), n instanceof G && n.isAtomic() ? (n.front = this.front, n.compileToFragments(t)) : (i = n.compileToFragments(t, C), e = k > t.level && (n instanceof L || n instanceof s || n instanceof d && n.returns), e ? i : this.wrapInBraces(i))
}, e
}(r), t.For = d = function (t) {
function e(t, e) {
var n;
this.source = e.source, this.guard = e.guard, this.step = e.step, this.name = e.name, this.index = e.index, this.body = o.wrap([t]), this.own = !!e.own, this.object = !!e.object, this.object && (n = [this.index, this.name], this.name = n[0], this.index = n[1]), this.index instanceof G && this.index.error("index cannot be a pattern matching expression"), this.range = this.source instanceof G && this.source.base instanceof F && !this.source.properties.length, this.pattern = this.name instanceof G, this.range && this.index && this.index.error("indexes do not apply to range loops"), this.range && this.pattern && this.name.error("cannot pattern match over range loops"), this.returns = !1
}
return _e(e, t), e.prototype.children = ["body", "source", "guard", "step"], e.prototype.compileNode = function (t) {
var e, n, r, s, a, l, u, c, h, p, f, d, g, y, _, b, x, w, k, C, N, D, O, j, L, A, M, F, I, q, H, B, V, W;
return e = o.wrap([this.body]), w = null != (V = oe(e.expressions)) ? V.jumps() : void 0, w && w instanceof R && (this.returns = !1), M = this.range ? this.source.base : this.source, A = t.scope, C = this.name && this.name.compile(t, T), y = this.index && this.index.compile(t, T), C && !this.pattern && A.find(C), y && A.find(y), this.returns && (L = A.freeVariable("results")), _ = this.object && y || A.freeVariable("i"), b = this.range && C || y || _, x = b !== _ ? "" + b + " = " : "", this.step && !this.range && (W = this.cacheToCodeFragments(this.step.cache(t, T)), F = W[0], q = W[1], I = q.match($)), this.pattern && (C = _), B = "", f = "", u = "", d = this.tab + z, this.range ? p = M.compileToFragments(ae(t, {
index: _,
name: C,
step: this.step
})) : (H = this.source.compile(t, T), !C && !this.own || m.test(H) || (u += "" + this.tab + (D = A.freeVariable("ref")) + " = " + H + ";\n", H = D), C && !this.pattern && (N = "" + C + " = " + H + "[" + b + "]"), this.object || (F !== q && (u += "" + this.tab + F + ";\n"), this.step && I && (h = 0 > +I) || (k = A.freeVariable("len")), a = "" + x + _ + " = 0, " + k + " = " + H + ".length", l = "" + x + _ + " = " + H + ".length - 1", r = "" + _ + " < " + k, s = "" + _ + " >= 0", this.step ? (I ? h && (r = s, a = l) : (r = "" + q + " > 0 ? " + r + " : " + s, a = "(" + q + " > 0 ? (" + a + ") : " + l + ")"), g = "" + _ + " += " + q) : g = "" + (b !== _ ? "++" + _ : "" + _ + "++"), p = [this.makeCode("" + a + "; " + r + "; " + x + g)])), this.returns && (O = "" + this.tab + L + " = [];\n", j = "\n" + this.tab + "return " + L + ";", e.makeReturn(L)), this.guard && (e.expressions.length > 1 ? e.expressions.unshift(new v(new P(this.guard).invert(), new E("continue"))) : this.guard && (e = o.wrap([new v(this.guard, e)]))), this.pattern && e.expressions.unshift(new i(this.name, new E("" + H + "[" + b + "]"))), c = [].concat(this.makeCode(u), this.pluckDirectCall(t, e)), N && (B = "\n" + d + N + ";"), this.object && (p = [this.makeCode("" + b + " in " + H)], this.own && (f = "\n" + d + "if (!" + fe("hasProp") + ".call(" + H + ", " + b + ")) continue;")), n = e.compileToFragments(ae(t, {
indent: d
}), S), n && n.length > 0 && (n = [].concat(this.makeCode("\n"), n, this.makeCode("\n"))), [].concat(c, this.makeCode("" + (O || "") + this.tab + "for ("), p, this.makeCode(") {" + f + B), n, this.makeCode("" + this.tab + "}" + (j || "")))
}, e.prototype.pluckDirectCall = function (t, e) {
var n, r, o, a, l, c, h, p, f, d, m, g, y, v, _;
for (r = [], d = e.expressions, l = p = 0, f = d.length; f > p; l = ++p) o = d[l], o = o.unwrapAll(), o instanceof s && (h = o.variable.unwrapAll(), (h instanceof u || h instanceof G && (null != (m = h.base) ? m.unwrapAll() : void 0) instanceof u && 1 === h.properties.length && ("call" === (g = null != (y = h.properties[0].name) ? y.value : void 0) || "apply" === g)) && (a = (null != (v = h.base) ? v.unwrapAll() : void 0) || h, c = new E(t.scope.freeVariable("fn")), n = new G(c), h.base && (_ = [n, h], h.base = _[0], n = _[1]), e.expressions[l] = new s(n, o.args), r = r.concat(this.makeCode(this.tab), new i(c, a).compileToFragments(t, S), this.makeCode(";\n"))));
return r
}, e
}(Q), t.Switch = V = function (t) {
function e(t, e, n) {
this.subject = t, this.cases = e, this.otherwise = n
}
return _e(e, t), e.prototype.children = ["subject", "cases", "otherwise"], e.prototype.isStatement = J, e.prototype.jumps = function (t) {
var e, n, i, r, o, s, a;
for (null == t && (t = {
block: !0
}), o = this.cases, i = 0, r = o.length; r > i; i++)
if (s = o[i], n = s[0], e = s[1], e.jumps(t)) return e;
return null != (a = this.otherwise) ? a.jumps(t) : void 0
}, e.prototype.makeReturn = function (t) {
var e, n, i, r, s;
for (r = this.cases, n = 0, i = r.length; i > n; n++) e = r[n], e[1].makeReturn(t);
return t && (this.otherwise || (this.otherwise = new o([new E("void 0")]))), null != (s = this.otherwise) && s.makeReturn(t), this
}, e.prototype.compileNode = function (t) {
var e, n, i, r, o, s, a, l, u, c, h, p, f, d, m, g;
for (l = t.indent + z, u = t.indent = l + z, s = [].concat(this.makeCode(this.tab + "switch ("), this.subject ? this.subject.compileToFragments(t, C) : this.makeCode("false"), this.makeCode(") {\n")), d = this.cases, a = c = 0, p = d.length; p > c; a = ++c) {
for (m = d[a], r = m[0], e = m[1], g = ie([r]), h = 0, f = g.length; f > h; h++) i = g[h], this.subject || (i = i.invert()), s = s.concat(this.makeCode(l + "case "), i.compileToFragments(t, C), this.makeCode(":\n"));
if ((n = e.compileToFragments(t, S)).length > 0 && (s = s.concat(n, this.makeCode("\n"))), a === this.cases.length - 1 && !this.otherwise) break;
o = this.lastNonComment(e.expressions), o instanceof R || o instanceof E && o.jumps() && "debugger" !== o.value || s.push(i.makeCode(u + "break;\n"))
}
return this.otherwise && this.otherwise.expressions.length && s.push.apply(s, [this.makeCode(l + "default:\n")].concat(xe.call(this.otherwise.compileToFragments(t, S)), [this.makeCode("\n")])), s.push(this.makeCode(this.tab + "}")), s
}, e
}(r), t.If = v = function (t) {
function e(t, e, n) {
this.body = e, null == n && (n = {}), this.condition = "unless" === n.type ? t.invert() : t, this.elseBody = null, this.isChain = !1, this.soak = n.soak
}
return _e(e, t), e.prototype.children = ["condition", "body", "elseBody"], e.prototype.bodyNode = function () {
var t;
return null != (t = this.body) ? t.unwrap() : void 0
}, e.prototype.elseBodyNode = function () {
var t;
return null != (t = this.elseBody) ? t.unwrap() : void 0
}, e.prototype.addElse = function (t) {
return this.isChain ? this.elseBodyNode().addElse(t) : (this.isChain = t instanceof e, this.elseBody = this.ensureBlock(t)), this
}, e.prototype.isStatement = function (t) {
var e;
return (null != t ? t.level : void 0) === S || this.bodyNode().isStatement(t) || (null != (e = this.elseBodyNode()) ? e.isStatement(t) : void 0)
}, e.prototype.jumps = function (t) {
var e;
return this.body.jumps(t) || (null != (e = this.elseBody) ? e.jumps(t) : void 0)
}, e.prototype.compileNode = function (t) {
return this.isStatement(t) ? this.compileStatement(t) : this.compileExpression(t)
}, e.prototype.makeReturn = function (t) {
return t && (this.elseBody || (this.elseBody = new o([new E("void 0")]))), this.body && (this.body = new o([this.body.makeReturn(t)])), this.elseBody && (this.elseBody = new o([this.elseBody.makeReturn(t)])), this
}, e.prototype.ensureBlock = function (t) {
return t instanceof o ? t : new o([t])
}, e.prototype.compileStatement = function (t) {
var n, i, r, o, s, a, l;
return r = te(t, "chainChild"), (s = te(t, "isExistentialEquals")) ? new e(this.condition.invert(), this.elseBodyNode(), {
type: "if"
}).compileToFragments(t) : (l = t.indent + z, o = this.condition.compileToFragments(t, C), i = this.ensureBlock(this.body).compileToFragments(ae(t, {
indent: l
})), a = [].concat(this.makeCode("if ("), o, this.makeCode(") {\n"), i, this.makeCode("\n" + this.tab + "}")), r || a.unshift(this.makeCode(this.tab)), this.elseBody ? (n = a.concat(this.makeCode(" else ")), this.isChain ? (t.chainChild = !0, n = n.concat(this.elseBody.unwrap().compileToFragments(t, S))) : n = n.concat(this.makeCode("{\n"), this.elseBody.compileToFragments(ae(t, {
indent: l
}), S), this.makeCode("\n" + this.tab + "}")), n) : a)
}, e.prototype.compileExpression = function (t) {
var e, n, i, r;
return i = this.condition.compileToFragments(t, w), n = this.bodyNode().compileToFragments(t, T), e = this.elseBodyNode() ? this.elseBodyNode().compileToFragments(t, T) : [this.makeCode("void 0")], r = i.concat(this.makeCode(" ? "), n, this.makeCode(" : "), e), t.level >= w ? this.wrapInBraces(r) : r
}, e.prototype.unfoldSoak = function () {
return this.soak && this
}, e
}(r), l = {
wrap: function (t, n, i) {
var r, a, l, c, h;
return t.jumps() ? t : (c = new u([], o.wrap([t])), r = [], a = t.contains(this.isLiteralArguments), a && t.classBody && a.error("Class bodies shouldn't reference arguments"), (a || t.contains(this.isLiteralThis)) && (h = new E(a ? "apply" : "call"), r = [new E("this")], a && r.push(new E("arguments")), c = new G(c, [new e(h)])), c.noReturn = i, l = new s(c, r), n ? o.wrap([l]) : l)
},
isLiteralArguments: function (t) {
return t instanceof E && "arguments" === t.value && !t.asKey
},
isLiteralThis: function (t) {
return t instanceof E && "this" === t.value && !t.asKey || t instanceof u && t.bound || t instanceof s && t.isSuper
}
}, pe = function (t, e, n) {
var i;
return (i = e[n].unfoldSoak(t)) ? (e[n] = i.body, i.body = new G(e), i) : void 0
}, Y = {
"extends": function () {
return "function(child, parent) { for (var key in parent) { if (" + fe("hasProp") + ".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"
},
bind: function () {
return "function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"
},
indexOf: function () {
return "[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"
},
hasProp: function () {
return "{}.hasOwnProperty"
},
slice: function () {
return "[].slice"
}
}, S = 1, C = 2, T = 3, w = 4, k = 5, x = 6, z = " ", g = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*", m = RegExp("^" + g + "$"), $ = /^[+-]?\d+$/, N = RegExp("^(?:(" + g + ")\\.prototype(?:\\.(" + g + ")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\]))|(" + g + ")$"), y = /^['"]/, fe = function (t) {
var e;
return e = "__" + t, q.root.assign(e, Y[t]()), e
}, le = function (t, e) {
return t = t.replace(/\n/g, "$&" + e), t.replace(/\s+$/, "")
}
}).call(this)
}, require["./sourcemap"] = new function () {
var t = this;
(function () {
var e, n, i, r, o, s, a, l;
n = function () {
function t(t) {
this.generatedLine = t, this.columnMap = {}, this.columnMappings = []
}
return t.prototype.addMapping = function (t, e, n) {
var i, r;
return r = e[0], i = e[1], null == n && (n = {}), this.columnMap[t] && n.noReplace ? void 0 : (this.columnMap[t] = {
generatedLine: this.generatedLine,
generatedColumn: t,
sourceLine: r,
sourceColumn: i
}, this.columnMappings.push(this.columnMap[t]), this.columnMappings.sort(function (t, e) {
return t.generatedColumn - e.generatedColumn
}))
}, t.prototype.getSourcePosition = function (t) {
var e, n, i, r, o, s;
for (e = null, i = null, s = this.columnMappings, r = 0, o = s.length; o > r && (n = s[r], !(n.generatedColumn > t)); r++) i = n;
return i ? e = [i.sourceLine, i.sourceColumn] : void 0
}, t
}(), t.SourceMap = function () {
function t() {
this.generatedLines = []
}
return t.prototype.addMapping = function (t, e, i) {
var r, o, s;
return null == i && (i = {}), o = e[0], r = e[1], s = this.generatedLines[o], s || (s = this.generatedLines[o] = new n(o)), s.addMapping(r, t, i)
}, t.prototype.getSourcePosition = function (t) {
var e, n, i, r;
return i = t[0], n = t[1], e = null, r = this.generatedLines[i], r && (e = r.getSourcePosition(n)), e
}, t.prototype.forEachMapping = function (t) {
var e, n, i, r, o, s, a;
for (s = this.generatedLines, a = [], n = r = 0, o = s.length; o > r; n = ++r) i = s[n], i ? a.push(function () {
var n, r, o, s;
for (o = i.columnMappings, s = [], n = 0, r = o.length; r > n; n++) e = o[n], s.push(t(e));
return s
}()) : a.push(void 0);
return a
}, t
}(), t.generateV3SourceMap = function (e, n, i) {
var r, o, s, a, l, u, c, h, p, f;
return null == n && (n = {}), p = n.sourceRoot || "", h = n.sourceFiles || [""], o = n.generatedFile || "", f = 0, s = 0, l = 0, a = 0, c = !1, u = "", e.forEachMapping(function (e) {
for (; e.generatedLine > f;) s = 0, c = !1, u += ";", f++;
return c && (u += ",", c = !1), u += t.vlqEncodeValue(e.generatedColumn - s), s = e.generatedColumn, u += t.vlqEncodeValue(0), u += t.vlqEncodeValue(e.sourceLine - l), l = e.sourceLine, u += t.vlqEncodeValue(e.sourceColumn - a), a = e.sourceColumn, c = !0
}), r = {
version: 3,
file: o,
sourceRoot: p,
sources: h,
names: [],
mappings: u
}, n.inline && (r.sourcesContent = [i]), JSON.stringify(r, null, 2)
}, t.loadV3SourceMap = function () {
return todo()
}, e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", i = e.length - 1, l = function (t) {
if (t > i) throw Error("Cannot encode value " + t + " > " + i);
if (0 > t) throw Error("Cannot encode value " + t + " < 0");
return e[t]
}, a = function (t) {
var n;
if (n = e.indexOf(t), -1 === n) throw Error("Invalid Base 64 character: " + t);
return n
}, o = 5, r = 1 << o, s = r - 1, t.vlqEncodeValue = function (t) {
var e, n, i, a;
for (i = 0 > t ? 1 : 0, a = (Math.abs(t) << 1) + i, e = ""; a || !e;) n = a & s, a >>= o, a && (n |= r), e += l(n);
return e
}, t.vlqDecodeValue = function (t, e) {
var n, i, l, u, c, h, p, f;
for (null == e && (e = 0), h = e, l = !1, f = 0, i = 0; !l;) c = a(t[h]), h += 1, u = c & s, f += u << i, c & r || (l = !0), i += o;
return n = h - e, p = 1 & f, f >>= 1, p && (f = -f), [f, n]
}
}).call(this)
}, require["./coffee-script"] = new function () {
var t = this;
(function () {
var e, n, i, r, o, s, a, l, u, c, h, p, f, d, m, g, y, v, _, b = {}.hasOwnProperty;
if (a = require("fs"), g = require("vm"), d = require("path"), n = require("child_process"), e = require("./lexer").Lexer, h = require("./parser").parser, l = require("./helpers"), m = require("./sourcemap"), t.VERSION = "1.6.2", t.helpers = l, t.compile = i = function (e, n) {
var i, r, o, s, a, c, p, f, d, g, y, v;
for (null == n && (n = {}), f = t.helpers.merge, n.sourceMap && (g = new m.SourceMap), a = h.parse(u.tokenize(e, n)).compileToFragments(n), o = 0, (n.header || n.inline) && (o += 1), r = 0, p = "", y = 0, v = a.length; v > y; y++) s = a[y], g && (s.locationData && g.addMapping([s.locationData.first_line, s.locationData.first_column], [o, r], {
noReplace: !0
}), d = l.count(s.code, "\n"), o += d, r = s.code.length - (d ? s.code.lastIndexOf("\n") : 0)), p += s.code;
return n.header && (c = "Generated by CoffeeScript " + this.VERSION, p = "// " + c + "\n" + p), n.sourceMap ? (i = {
js: p
}, g && (i.sourceMap = g, i.v3SourceMap = m.generateV3SourceMap(g, n, e)), i) : p
}, t.tokens = function (t, e) {
return u.tokenize(t, e)
}, t.nodes = function (t, e) {
return "string" == typeof t ? h.parse(u.tokenize(t, e)) : h.parse(t)
}, t.run = function (t, e) {
var n, r, o;
return null == e && (e = {}), r = require.main, null == (o = e.sourceMap) && (e.sourceMap = !0), r.filename = process.argv[1] = e.filename ? a.realpathSync(e.filename) : ".", r.moduleCache && (r.moduleCache = {}), r.paths = require("module")._nodeModulePaths(d.dirname(a.realpathSync(e.filename || "."))), !l.isCoffee(r.filename) || require.extensions ? (n = i(t, e), p(), r._sourceMaps[r.filename] = n.sourceMap, r._compile(n.js, r.filename)) : r._compile(t, r.filename)
}, t.eval = function (t, e) {
var n, r, o, s, a, l, u, c, h, p, f, m, y, v;
if (null == e && (e = {}), t = t.trim()) {
if (r = g.Script) {
if (null != e.sandbox) {
if (e.sandbox instanceof r.createContext().constructor) u = e.sandbox;
else {
u = r.createContext(), m = e.sandbox;
for (s in m) b.call(m, s) && (c = m[s], u[s] = c)
}
u.global = u.root = u.GLOBAL = u
} else u = global; if (u.__filename = e.filename || "eval", u.__dirname = d.dirname(u.__filename), u === global && !u.module && !u.require) {
for (n = require("module"), u.module = f = new n(e.modulename || "eval"), u.require = v = function (t) {
return n._load(t, f, !0)
}, f.filename = u.__filename, y = Object.getOwnPropertyNames(require), h = 0, p = y.length; p > h; h++) l = y[h], "paths" !== l && (v[l] = require[l]);
v.paths = f.paths = n._nodeModulePaths(process.cwd()), v.resolve = function (t) {
return n._resolveFilename(t, f)
}
}
}
a = {};
for (s in e) b.call(e, s) && (c = e[s], a[s] = c);
return a.bare = !0, o = i(t, a), u === global ? g.runInThisContext(o) : g.runInContext(o, u)
}
}, c = function (t, e) {
var n, r;
return n = a.readFileSync(e, "utf8"), r = 65279 === n.charCodeAt(0) ? n.substring(1) : n, t._compile(i(r, {
filename: e,
literate: l.isLiterate(e)
}), e)
}, require.extensions)
for (_ = [".coffee", ".litcoffee", ".coffee.md"], y = 0, v = _.length; v > y; y++) r = _[y], require.extensions[r] = c;
n && (o = n.fork, n.fork = function (t, e, n) {
var i;
return null == e && (e = []), null == n && (n = {}), i = l.isCoffee(t) ? "coffee" : null, Array.isArray(e) || (e = [], n = e || {}), n.execPath || (n.execPath = i), o(t, e, n)
}), u = new e, h.lexer = {
lex: function () {
var t, e;
return e = this.tokens[this.pos++], e ? (t = e[0], this.yytext = e[1], this.yylloc = e[2], this.yylineno = this.yylloc.first_line) : t = "", t
},
setInput: function (t) {
return this.tokens = t, this.pos = 0
},
upcomingInput: function () {
return ""
}
}, h.yy = require("./nodes"), h.yy.parseError = function (t, e) {
var n;
return n = e.token, t = "unexpected " + (1 === n ? "end of input" : n), l.throwSyntaxError(t, h.lexer.yylloc)
}, f = !1, p = function () {
var e;
return f ? void 0 : (f = !0, e = require.main, e._sourceMaps = {}, Error.prepareStackTrace = function (n, i) {
var r, o, a, l, u;
return l = {}, a = function (t, n, i) {
var r, o;
return o = e._sourceMaps[t], o && (r = o.getSourcePosition([n - 1, i - 1])), r ? [r[0] + 1, r[1] + 1] : null
}, o = function () {
var e, n, o;
for (o = [], e = 0, n = i.length; n > e && (r = i[e], r.getFunction() !== t.run); e++) o.push(" at " + s(r, a));
return o
}(), "" + n.name + ": " + (null != (u = n.message) ? u : "") + "\n" + o.join("\n") + "\n"
})
}, s = function (t, e) {
var n, i, r, o, s, a, l, u, c, h, p, f;
return o = void 0, r = "", t.isNative() ? r = "native" : (t.isEval() ? (o = t.getScriptNameOrSourceURL(), o || (r = "" + t.getEvalOrigin() + ", ")) : o = t.getFileName(), o || (o = "<anonymous>"), u = t.getLineNumber(), i = t.getColumnNumber(), h = e(o, u, i), r = h ? "" + o + ":" + h[0] + ":" + h[1] + ", <js>:" + u + ":" + i : "" + o + ":" + u + ":" + i), s = t.getFunctionName(), a = t.isConstructor(), l = !(t.isToplevel() || a), l ? (c = t.getMethodName(), f = t.getTypeName(), s ? (p = n = "", f && s.indexOf(f) && (p = "" + f + "."), c && s.indexOf("." + c) !== s.length - c.length - 1 && (n = " [as " + c + "]"), "" + p + s + n + " (" + r + ")") : "" + f + "." + (c || "<anonymous>") + " (" + r + ")") : a ? "new " + (s || "<anonymous>") + " (" + r + ")" : s ? "" + s + " (" + r + ")" : r
}
}).call(this)
}, require["./browser"] = new function () {
var exports = this;
(function () {
var CoffeeScript, compile, runScripts, __indexOf = [].indexOf || function (t) {
for (var e = 0, n = this.length; n > e; e++)
if (e in this && this[e] === t) return e;
return -1
};
CoffeeScript = require("./coffee-script"), CoffeeScript.require = require, compile = CoffeeScript.compile, CoffeeScript.eval = function (code, options) {
var _ref;
return null == options && (options = {}), null == (_ref = options.bare) && (options.bare = !0), eval(compile(code, options))
}, CoffeeScript.run = function (t, e) {
return null == e && (e = {}), e.bare = !0, Function(compile(t, e))()
}, "undefined" != typeof window && null !== window && ("undefined" != typeof btoa && null !== btoa && "undefined" != typeof JSON && null !== JSON && (compile = function (t, e) {
var n, i, r;
return null == e && (e = {}), e.sourceMap = !0, e.inline = !0, r = CoffeeScript.compile(t, e), n = r.js, i = r.v3SourceMap, "" + n + "\n//@ sourceMappingURL=data:application/json;base64," + btoa(i) + "\n//@ sourceURL=coffeescript"
}), CoffeeScript.load = function (t, e, n) {
var i;
return null == n && (n = {}), n.sourceFiles = [t], i = window.ActiveXObject ? new window.ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest, i.open("GET", t, !0), "overrideMimeType" in i && i.overrideMimeType("text/plain"), i.onreadystatechange = function () {
var r;
if (4 === i.readyState) {
if (0 !== (r = i.status) && 200 !== r) throw Error("Could not load " + t);
if (CoffeeScript.run(i.responseText, n), e) return e()
}
}, i.send(null)
}, runScripts = function () {
var t, e, n, i, r, o, s;
return s = document.getElementsByTagName("script"), e = ["text/coffeescript", "text/literate-coffeescript"], t = function () {
var t, n, i, r;
for (r = [], t = 0, n = s.length; n > t; t++) o = s[t], i = o.type, __indexOf.call(e, i) >= 0 && r.push(o);
return r
}(), i = 0, r = t.length, (n = function () {
var r, o, s;
return s = t[i++], r = null != s ? s.type : void 0, __indexOf.call(e, r) >= 0 ? (o = {
literate: "text/literate-coffeescript" === r
}, s.src ? CoffeeScript.load(s.src, n, o) : (o.sourceFiles = ["embedded"], CoffeeScript.run(s.innerHTML, o), n())) : void 0
})(), null
}, window.addEventListener ? addEventListener("DOMContentLoaded", runScripts, !1) : attachEvent("onload", runScripts))
}).call(this)
}, require["./coffee-script"]
}();
"function" == typeof define && define.amd ? define("coffee-script", [], function () {
return CoffeeScript
}) : root.CoffeeScript = CoffeeScript
}(this), define("cs", ["coffee-script"], function (t) {
var e, n, i = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP", "Msxml2.XMLHTTP.4.0"],
r = function () {
throw Error("Environment unsupported.")
},
o = {};
return "undefined" != typeof process && process.versions && process.versions.node ? (e = require.nodeRequire("fs"), r = function (t, n) {
n(e.readFileSync(t, "utf8"))
}) : "undefined" != typeof window && window.navigator && window.document || "undefined" != typeof importScripts ? (n = function () {
var t, e, n;
if ("undefined" != typeof XMLHttpRequest) return new XMLHttpRequest;
for (e = 0; 3 > e; e += 1) {
n = i[e];
try {
t = new ActiveXObject(n)
} catch (r) {}
if (t) {
i = [n];
break
}
}
if (!t) throw Error("getXhr(): XMLHttpRequest not available");
return t
}, r = function (t, e) {
var i = n();
i.open("GET", t, !0), i.onreadystatechange = function () {
4 === i.readyState && e(i.responseText)
}, i.send(null)
}) : "undefined" != typeof Packages && (r = function (t, e) {
var n, i, r = "utf-8",
o = new java.io.File(t),
s = java.lang.System.getProperty("line.separator"),
a = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(o), r)),
l = "";
try {
for (n = new java.lang.StringBuffer, i = a.readLine(), i && i.length() && 65279 === i.charAt(0) && (i = i.substring(1)), n.append(i); null !== (i = a.readLine());) n.append(s), n.append(i);
l = "" + n + ""
} finally {
a.close()
}
e(l)
}), {
fetchText: r,
get: function () {
return t
},
write: function (t, e, n) {
if (o.hasOwnProperty(e)) {
var i = o[e];
n.asModule(t + "!" + e, i)
}
},
version: "0.4.3",
load: function (e, n, i, s) {
var a = n.toUrl(/\.((lit)?coffee|coffee\.md)$/.test(e) ? e : e + ".coffee");
r(a, function (r) {
var l = s.CoffeeScript || {};
l.literate = /\.(litcoffee|coffee\.md)$/.test(a);
try {
r = t.compile(r, l)
} catch (u) {
throw u.message = "In " + a + ", " + u.message, u
}
s.isBuild && (o[e] = r), s.isBuild || (r += "\r\n//@ sourceURL=" + a), i.fromText(e, r), n([e], function (t) {
i(t)
})
})
}
}
}),
function (t, e) {
function n(t) {
var e = t.length,
n = oe.type(t);
return oe.isWindow(t) ? !1 : 1 === t.nodeType && e ? !0 : "array" === n || "function" !== n && (0 === e || "number" == typeof e && e > 0 && e - 1 in t)
}
function i(t) {
var e = de[t] = {};
return oe.each(t.match(ae) || [], function (t, n) {
e[n] = !0
}), e
}
function r() {
Object.defineProperty(this.cache = {}, 0, {
get: function () {
return {}
}
}), this.expando = oe.expando + Math.random()
}
function o(t, n, i) {
var r;
if (i === e && 1 === t.nodeType)
if (r = "data-" + n.replace(ve, "-$1").toLowerCase(), i = t.getAttribute(r), "string" == typeof i) {
try {
i = "true" === i ? !0 : "false" === i ? !1 : "null" === i ? null : +i + "" === i ? +i : ye.test(i) ? JSON.parse(i) : i
} catch (o) {}
me.set(t, n, i)
} else i = e;
return i
}
function s() {
return !0
}
function a() {
return !1
}
function l() {
try {
return W.activeElement
} catch (t) {}
}
function u(t, e) {
for (;
(t = t[e]) && 1 !== t.nodeType;);
return t
}
function c(t, e, n) {
if (oe.isFunction(e)) return oe.grep(t, function (t, i) {
return !!e.call(t, i, t) !== n
});
if (e.nodeType) return oe.grep(t, function (t) {
return t === e !== n
});
if ("string" == typeof e) {
if (Ne.test(e)) return oe.filter(e, t, n);
e = oe.filter(e, t)
}
return oe.grep(t, function (t) {
return ee.call(e, t) >= 0 !== n
})
}
function h(t, e) {
return oe.nodeName(t, "table") && oe.nodeName(1 === e.nodeType ? e : e.firstChild, "tr") ? t.getElementsByTagName("tbody")[0] || t.appendChild(t.ownerDocument.createElement("tbody")) : t
}
function p(t) {
return t.type = (null !== t.getAttribute("type")) + "/" + t.type, t
}
function f(t) {
var e = Ie.exec(t.type);
return e ? t.type = e[1] : t.removeAttribute("type"), t
}
function d(t, e) {
for (var n = t.length, i = 0; n > i; i++) ge.set(t[i], "globalEval", !e || ge.get(e[i], "globalEval"))
}
function m(t, e) {
var n, i, r, o, s, a, l, u;
if (1 === e.nodeType) {
if (ge.hasData(t) && (o = ge.access(t), s = ge.set(e, o), u = o.events)) {
delete s.handle, s.events = {};
for (r in u)
for (n = 0, i = u[r].length; i > n; n++) oe.event.add(e, r, u[r][n])
}
me.hasData(t) && (a = me.access(t), l = oe.extend({}, a), me.set(e, l))
}
}
function g(t, n) {
var i = t.getElementsByTagName ? t.getElementsByTagName(n || "*") : t.querySelectorAll ? t.querySelectorAll(n || "*") : [];
return n === e || n && oe.nodeName(t, n) ? oe.merge([t], i) : i
}
function y(t, e) {
var n = e.nodeName.toLowerCase();
"input" === n && Fe.test(t.type) ? e.checked = t.checked : ("input" === n || "textarea" === n) && (e.defaultValue = t.defaultValue)
}
function v(t, e) {
if (e in t) return e;
for (var n = e.charAt(0).toUpperCase() + e.slice(1), i = e, r = Ze.length; r--;)
if (e = Ze[r] + n, e in t) return e;
return i
}
function _(t, e) {
return t = e || t, "none" === oe.css(t, "display") || !oe.contains(t.ownerDocument, t)
}
function b(e) {
return t.getComputedStyle(e, null)
}
function x(t, e) {
for (var n, i, r, o = [], s = 0, a = t.length; a > s; s++) i = t[s], i.style && (o[s] = ge.get(i, "olddisplay"), n = i.style.display, e ? (o[s] || "none" !== n || (i.style.display = ""), "" === i.style.display && _(i) && (o[s] = ge.access(i, "olddisplay", C(i.nodeName)))) : o[s] || (r = _(i), (n && "none" !== n || !r) && ge.set(i, "olddisplay", r ? n : oe.css(i, "display"))));
for (s = 0; a > s; s++) i = t[s], i.style && (e && "none" !== i.style.display && "" !== i.style.display || (i.style.display = e ? o[s] || "" : "none"));
return t
}
function w(t, e, n) {
var i = Ue.exec(e);
return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : e
}
function T(t, e, n, i, r) {
for (var o = n === (i ? "border" : "content") ? 4 : "width" === e ? 1 : 0, s = 0; 4 > o; o += 2) "margin" === n && (s += oe.css(t, n + Ke[o], !0, r)), i ? ("content" === n && (s -= oe.css(t, "padding" + Ke[o], !0, r)), "margin" !== n && (s -= oe.css(t, "border" + Ke[o] + "Width", !0, r))) : (s += oe.css(t, "padding" + Ke[o], !0, r), "padding" !== n && (s += oe.css(t, "border" + Ke[o] + "Width", !0, r)));
return s
}
function k(t, e, n) {
var i = !0,
r = "width" === e ? t.offsetWidth : t.offsetHeight,
o = b(t),
s = oe.support.boxSizing && "border-box" === oe.css(t, "boxSizing", !1, o);
if (0 >= r || null == r) {
if (r = Be(t, e, o), (0 > r || null == r) && (r = t.style[e]), Xe.test(r)) return r;
i = s && (oe.support.boxSizingReliable || r === t.style[e]), r = parseFloat(r) || 0
}
return r + T(t, e, n || (s ? "border" : "content"), i, o) + "px"
}
function C(t) {
var e = W,
n = Ge[t];
return n || (n = S(t, e), "none" !== n && n || (Ve = (Ve || oe("<iframe frameborder='0' width='0' height='0'/>").css("cssText", "display:block !important")).appendTo(e.documentElement), e = (Ve[0].contentWindow || Ve[0].contentDocument).document, e.write("<!doctype html><html><body>"), e.close(), n = S(t, e), Ve.detach()), Ge[t] = n), n
}
function S(t, e) {
var n = oe(e.createElement(t)).appendTo(e.body),
i = oe.css(n[0], "display");
return n.remove(), i
}
function E(t, e, n, i) {
var r;
if (oe.isArray(e)) oe.each(e, function (e, r) {
n || en.test(t) ? i(t, r) : E(t + "[" + ("object" == typeof r ? e : "") + "]", r, n, i)
});
else if (n || "object" !== oe.type(e)) i(t, e);
else
for (r in e) E(t + "[" + r + "]", e[r], n, i)
}
function N(t) {
return function (e, n) {
"string" != typeof e && (n = e, e = "*");
var i, r = 0,
o = e.toLowerCase().match(ae) || [];
if (oe.isFunction(n))
for (; i = o[r++];) "+" === i[0] ? (i = i.slice(1) || "*", (t[i] = t[i] || []).unshift(n)) : (t[i] = t[i] || []).push(n)
}
}
function D(t, n, i, r) {
function o(l) {
var u;
return s[l] = !0, oe.each(t[l] || [], function (t, l) {
var c = l(n, i, r);
return "string" != typeof c || a || s[c] ? a ? !(u = c) : e : (n.dataTypes.unshift(c), o(c), !1)
}), u
}
var s = {},
a = t === _n;
return o(n.dataTypes[0]) || !s["*"] && o("*")
}
function O(t, n) {
var i, r, o = oe.ajaxSettings.flatOptions || {};
for (i in n) n[i] !== e && ((o[i] ? t : r || (r = {}))[i] = n[i]);
return r && oe.extend(!0, t, r), t
}
function j(t, n, i) {
for (var r, o, s, a, l = t.contents, u = t.dataTypes;
"*" === u[0];) u.shift(), r === e && (r = t.mimeType || n.getResponseHeader("Content-Type"));
if (r)
for (o in l)
if (l[o] && l[o].test(r)) {
u.unshift(o);
break
}
if (u[0] in i) s = u[0];
else {
for (o in i) {
if (!u[0] || t.converters[o + " " + u[0]]) {
s = o;
break
}
a || (a = o)
}
s = s || a
}
return s ? (s !== u[0] && u.unshift(s), i[s]) : e
}
function L(t, e, n, i) {
var r, o, s, a, l, u = {},
c = t.dataTypes.slice();
if (c[1])
for (s in t.converters) u[s.toLowerCase()] = t.converters[s];
for (o = c.shift(); o;)
if (t.responseFields[o] && (n[t.responseFields[o]] = e), !l && i && t.dataFilter && (e = t.dataFilter(e, t.dataType)), l = o, o = c.shift())
if ("*" === o) o = l;
else if ("*" !== l && l !== o) {
if (s = u[l + " " + o] || u["* " + o], !s)
for (r in u)
if (a = r.split(" "), a[1] === o && (s = u[l + " " + a[0]] || u["* " + a[0]])) {
s === !0 ? s = u[r] : u[r] !== !0 && (o = a[0], c.unshift(a[1]));
break
}
if (s !== !0)
if (s && t["throws"]) e = s(e);
else try {
e = s(e)
} catch (h) {
return {
state: "parsererror",
error: s ? h : "No conversion from " + l + " to " + o
}
}
}
return {
state: "success",
data: e
}
}
function A() {
return setTimeout(function () {
Nn = e
}), Nn = oe.now()
}
function P(t, e, n) {
for (var i, r = (Pn[e] || []).concat(Pn["*"]), o = 0, s = r.length; s > o; o++)
if (i = r[o].call(n, e, t)) return i
}
function M(t, e, n) {
var i, r, o = 0,
s = An.length,
a = oe.Deferred().always(function () {
delete l.elem
}),
l = function () {
if (r) return !1;
for (var e = Nn || A(), n = Math.max(0, u.startTime + u.duration - e), i = n / u.duration || 0, o = 1 - i, s = 0, l = u.tweens.length; l > s; s++) u.tweens[s].run(o);
return a.notifyWith(t, [u, o, n]), 1 > o && l ? n : (a.resolveWith(t, [u]), !1)
},
u = a.promise({
elem: t,
props: oe.extend({}, e),
opts: oe.extend(!0, {
specialEasing: {}
}, n),
originalProperties: e,
originalOptions: n,
startTime: Nn || A(),
duration: n.duration,
tweens: [],
createTween: function (e, n) {
var i = oe.Tween(t, u.opts, e, n, u.opts.specialEasing[e] || u.opts.easing);
return u.tweens.push(i), i
},
stop: function (e) {
var n = 0,
i = e ? u.tweens.length : 0;
if (r) return this;
for (r = !0; i > n; n++) u.tweens[n].run(1);
return e ? a.resolveWith(t, [u, e]) : a.rejectWith(t, [u, e]), this
}
}),
c = u.props;
for (F(c, u.opts.specialEasing); s > o; o++)
if (i = An[o].call(u, t, c, u.opts)) return i;
return oe.map(c, P, u), oe.isFunction(u.opts.start) && u.opts.start.call(t, u), oe.fx.timer(oe.extend(l, {
elem: t,
anim: u,
queue: u.opts.queue
})), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always)
}
function F(t, e) {
var n, i, r, o, s;
for (n in t)
if (i = oe.camelCase(n), r = e[i], o = t[n], oe.isArray(o) && (r = o[1], o = t[n] = o[0]), n !== i && (t[i] = o, delete t[n]), s = oe.cssHooks[i], s && "expand" in s) {
o = s.expand(o), delete t[i];
for (n in o) n in t || (t[n] = o[n], e[n] = r)
} else e[i] = r
}
function R(t, n, i) {
var r, o, s, a, l, u, c = this,
h = {},
p = t.style,
f = t.nodeType && _(t),
d = ge.get(t, "fxshow");
i.queue || (l = oe._queueHooks(t, "fx"), null == l.unqueued && (l.unqueued = 0, u = l.empty.fire, l.empty.fire = function () {
l.unqueued || u()
}), l.unqueued++, c.always(function () {
c.always(function () {
l.unqueued--, oe.queue(t, "fx").length || l.empty.fire()
})
})), 1 === t.nodeType && ("height" in n || "width" in n) && (i.overflow = [p.overflow, p.overflowX, p.overflowY], "inline" === oe.css(t, "display") && "none" === oe.css(t, "float") && (p.display = "inline-block")), i.overflow && (p.overflow = "hidden", c.always(function () {
p.overflow = i.overflow[0], p.overflowX = i.overflow[1], p.overflowY = i.overflow[2]
}));
for (r in n)
if (o = n[r], On.exec(o)) {
if (delete n[r], s = s || "toggle" === o, o === (f ? "hide" : "show")) {
if ("show" !== o || !d || d[r] === e) continue;
f = !0
}
h[r] = d && d[r] || oe.style(t, r)
}
if (!oe.isEmptyObject(h)) {
d ? "hidden" in d && (f = d.hidden) : d = ge.access(t, "fxshow", {}), s && (d.hidden = !f), f ? oe(t).show() : c.done(function () {
oe(t).hide()
}), c.done(function () {
var e;
ge.remove(t, "fxshow");
for (e in h) oe.style(t, e, h[e])
});
for (r in h) a = P(f ? d[r] : 0, r, c), r in d || (d[r] = a.start, f && (a.end = a.start, a.start = "width" === r || "height" === r ? 1 : 0))
}
}
function $(t, e, n, i, r) {
return new $.prototype.init(t, e, n, i, r)
}
function I(t, e) {
var n, i = {
height: t
},
r = 0;
for (e = e ? 1 : 0; 4 > r; r += 2 - e) n = Ke[r], i["margin" + n] = i["padding" + n] = t;
return e && (i.opacity = i.width = t), i
}
function q(t) {
return oe.isWindow(t) ? t : 9 === t.nodeType && t.defaultView
}
var H, B, V = typeof e,
z = t.location,
W = t.document,
U = W.documentElement,
X = t.jQuery,
Y = t.$,
G = {},
Q = [],
J = "2.0.3",
K = Q.concat,
Z = Q.push,
te = Q.slice,
ee = Q.indexOf,
ne = G.toString,
ie = G.hasOwnProperty,
re = J.trim,
oe = function (t, e) {
return new oe.fn.init(t, e, H)
},
se = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
ae = /\S+/g,
le = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
ue = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
ce = /^-ms-/,
he = /-([\da-z])/gi,
pe = function (t, e) {
return e.toUpperCase()
},
fe = function () {
W.removeEventListener("DOMContentLoaded", fe, !1), t.removeEventListener("load", fe, !1), oe.ready()
};
oe.fn = oe.prototype = {
jquery: J,
constructor: oe,
init: function (t, n, i) {
var r, o;
if (!t) return this;
if ("string" == typeof t) {
if (r = "<" === t.charAt(0) && ">" === t.charAt(t.length - 1) && t.length >= 3 ? [null, t, null] : le.exec(t), !r || !r[1] && n) return !n || n.jquery ? (n || i).find(t) : this.constructor(n).find(t);
if (r[1]) {
if (n = n instanceof oe ? n[0] : n, oe.merge(this, oe.parseHTML(r[1], n && n.nodeType ? n.ownerDocument || n : W, !0)), ue.test(r[1]) && oe.isPlainObject(n))
for (r in n) oe.isFunction(this[r]) ? this[r](n[r]) : this.attr(r, n[r]);
return this
}
return o = W.getElementById(r[2]), o && o.parentNode && (this.length = 1, this[0] = o), this.context = W, this.selector = t, this
}
return t.nodeType ? (this.context = this[0] = t, this.length = 1, this) : oe.isFunction(t) ? i.ready(t) : (t.selector !== e && (this.selector = t.selector, this.context = t.context), oe.makeArray(t, this))
},
selector: "",
length: 0,
toArray: function () {
return te.call(this)
},
get: function (t) {
return null == t ? this.toArray() : 0 > t ? this[this.length + t] : this[t]
},
pushStack: function (t) {
var e = oe.merge(this.constructor(), t);
return e.prevObject = this, e.context = this.context, e
},
each: function (t, e) {
return oe.each(this, t, e)
},
ready: function (t) {
return oe.ready.promise().done(t), this
},
slice: function () {
return this.pushStack(te.apply(this, arguments))
},
first: function () {
return this.eq(0)
},
last: function () {
return this.eq(-1)
},
eq: function (t) {
var e = this.length,
n = +t + (0 > t ? e : 0);
return this.pushStack(n >= 0 && e > n ? [this[n]] : [])
},
map: function (t) {
return this.pushStack(oe.map(this, function (e, n) {
return t.call(e, n, e)
}))
},
end: function () {
return this.prevObject || this.constructor(null)
},
push: Z,
sort: [].sort,
splice: [].splice
}, oe.fn.init.prototype = oe.fn, oe.extend = oe.fn.extend = function () {
var t, n, i, r, o, s, a = arguments[0] || {},
l = 1,
u = arguments.length,
c = !1;
for ("boolean" == typeof a && (c = a, a = arguments[1] || {}, l = 2), "object" == typeof a || oe.isFunction(a) || (a = {}), u === l && (a = this, --l); u > l; l++)
if (null != (t = arguments[l]))
for (n in t) i = a[n], r = t[n], a !== r && (c && r && (oe.isPlainObject(r) || (o = oe.isArray(r))) ? (o ? (o = !1, s = i && oe.isArray(i) ? i : []) : s = i && oe.isPlainObject(i) ? i : {}, a[n] = oe.extend(c, s, r)) : r !== e && (a[n] = r));
return a
}, oe.extend({
expando: "jQuery" + (J + Math.random()).replace(/\D/g, ""),
noConflict: function (e) {
return t.$ === oe && (t.$ = Y), e && t.jQuery === oe && (t.jQuery = X), oe
},
isReady: !1,
readyWait: 1,
holdReady: function (t) {
t ? oe.readyWait++ : oe.ready(!0)
},
ready: function (t) {
(t === !0 ? --oe.readyWait : oe.isReady) || (oe.isReady = !0, t !== !0 && --oe.readyWait > 0 || (B.resolveWith(W, [oe]), oe.fn.trigger && oe(W).trigger("ready").off("ready")))
},
isFunction: function (t) {
return "function" === oe.type(t)
},
isArray: Array.isArray,
isWindow: function (t) {
return null != t && t === t.window
},
isNumeric: function (t) {
return !isNaN(parseFloat(t)) && isFinite(t)
},
type: function (t) {
return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? G[ne.call(t)] || "object" : typeof t
},
isPlainObject: function (t) {
if ("object" !== oe.type(t) || t.nodeType || oe.isWindow(t)) return !1;
try {
if (t.constructor && !ie.call(t.constructor.prototype, "isPrototypeOf")) return !1
} catch (e) {
return !1
}
return !0
},
isEmptyObject: function (t) {
var e;
for (e in t) return !1;
return !0
},
error: function (t) {
throw Error(t)
},
parseHTML: function (t, e, n) {
if (!t || "string" != typeof t) return null;
"boolean" == typeof e && (n = e, e = !1), e = e || W;
var i = ue.exec(t),
r = !n && [];
return i ? [e.createElement(i[1])] : (i = oe.buildFragment([t], e, r), r && oe(r).remove(), oe.merge([], i.childNodes))
},
parseJSON: JSON.parse,
parseXML: function (t) {
var n, i;
if (!t || "string" != typeof t) return null;
try {
i = new DOMParser, n = i.parseFromString(t, "text/xml")
} catch (r) {
n = e
}
return (!n || n.getElementsByTagName("parsererror").length) && oe.error("Invalid XML: " + t), n
},
noop: function () {},
globalEval: function (t) {
var e, n = eval;
t = oe.trim(t), t && (1 === t.indexOf("use strict") ? (e = W.createElement("script"), e.text = t, W.head.appendChild(e).parentNode.removeChild(e)) : n(t))
},
camelCase: function (t) {
return t.replace(ce, "ms-").replace(he, pe)
},
nodeName: function (t, e) {
return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase()
},
each: function (t, e, i) {
var r, o = 0,
s = t.length,
a = n(t);
if (i) {
if (a)
for (; s > o && (r = e.apply(t[o], i), r !== !1); o++);
else
for (o in t)
if (r = e.apply(t[o], i), r === !1) break
} else if (a)
for (; s > o && (r = e.call(t[o], o, t[o]), r !== !1); o++);
else
for (o in t)
if (r = e.call(t[o], o, t[o]), r === !1) break; return t
},
trim: function (t) {
return null == t ? "" : re.call(t)
},
makeArray: function (t, e) {
var i = e || [];
return null != t && (n(Object(t)) ? oe.merge(i, "string" == typeof t ? [t] : t) : Z.call(i, t)), i
},
inArray: function (t, e, n) {
return null == e ? -1 : ee.call(e, t, n)
},
merge: function (t, n) {
var i = n.length,
r = t.length,
o = 0;
if ("number" == typeof i)
for (; i > o; o++) t[r++] = n[o];
else
for (; n[o] !== e;) t[r++] = n[o++];
return t.length = r, t
},
grep: function (t, e, n) {
var i, r = [],
o = 0,
s = t.length;
for (n = !!n; s > o; o++) i = !!e(t[o], o), n !== i && r.push(t[o]);
return r
},
map: function (t, e, i) {
var r, o = 0,
s = t.length,
a = n(t),
l = [];
if (a)
for (; s > o; o++) r = e(t[o], o, i), null != r && (l[l.length] = r);
else
for (o in t) r = e(t[o], o, i), null != r && (l[l.length] = r);
return K.apply([], l)
},
guid: 1,
proxy: function (t, n) {
var i, r, o;
return "string" == typeof n && (i = t[n], n = t, t = i), oe.isFunction(t) ? (r = te.call(arguments, 2), o = function () {
return t.apply(n || this, r.concat(te.call(arguments)))
}, o.guid = t.guid = t.guid || oe.guid++, o) : e
},
access: function (t, n, i, r, o, s, a) {
var l = 0,
u = t.length,
c = null == i;
if ("object" === oe.type(i)) {
o = !0;
for (l in i) oe.access(t, n, l, i[l], !0, s, a)
} else if (r !== e && (o = !0, oe.isFunction(r) || (a = !0), c && (a ? (n.call(t, r), n = null) : (c = n, n = function (t, e, n) {
return c.call(oe(t), n)
})), n))
for (; u > l; l++) n(t[l], i, a ? r : r.call(t[l], l, n(t[l], i)));
return o ? t : c ? n.call(t) : u ? n(t[0], i) : s
},
now: Date.now,
swap: function (t, e, n, i) {
var r, o, s = {};
for (o in e) s[o] = t.style[o], t.style[o] = e[o];
r = n.apply(t, i || []);
for (o in e) t.style[o] = s[o];
return r
}
}), oe.ready.promise = function (e) {
return B || (B = oe.Deferred(), "complete" === W.readyState ? setTimeout(oe.ready) : (W.addEventListener("DOMContentLoaded", fe, !1), t.addEventListener("load", fe, !1))), B.promise(e)
}, oe.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (t, e) {
G["[object " + e + "]"] = e.toLowerCase()
}), H = oe(W),
function (t, e) {
function n(t, e, n, i) {
var r, o, s, a, l, u, c, h, d, m;
if ((e ? e.ownerDocument || e : q) !== L && j(e), e = e || L, n = n || [], !t || "string" != typeof t) return n;
if (1 !== (a = e.nodeType) && 9 !== a) return [];
if (P && !i) {
if (r = _e.exec(t))
if (s = r[1]) {
if (9 === a) {
if (o = e.getElementById(s), !o || !o.parentNode) return n;
if (o.id === s) return n.push(o), n
} else if (e.ownerDocument && (o = e.ownerDocument.getElementById(s)) && $(e, o) && o.id === s) return n.push(o), n
} else {
if (r[2]) return te.apply(n, e.getElementsByTagName(t)), n;
if ((s = r[3]) && T.getElementsByClassName && e.getElementsByClassName) return te.apply(n, e.getElementsByClassName(s)), n
}
if (T.qsa && (!M || !M.test(t))) {
if (h = c = I, d = e, m = 9 === a && t, 1 === a && "object" !== e.nodeName.toLowerCase()) {
for (u = p(t), (c = e.getAttribute("id")) ? h = c.replace(we, "\\$&") : e.setAttribute("id", h), h = "[id='" + h + "'] ", l = u.length; l--;) u[l] = h + f(u[l]);
d = fe.test(t) && e.parentNode || e, m = u.join(",")
}
if (m) try {
return te.apply(n, d.querySelectorAll(m)), n
} catch (g) {} finally {
c || e.removeAttribute("id")
}
}
}
return x(t.replace(ce, "$1"), e, n, i)
}
function i() {
function t(n, i) {
return e.push(n += " ") > C.cacheLength && delete t[e.shift()], t[n] = i
}
var e = [];
return t
}
function r(t) {
return t[I] = !0, t
}
function o(t) {
var e = L.createElement("div");
try {
return !!t(e)
} catch (n) {
return !1
} finally {
e.parentNode && e.parentNode.removeChild(e), e = null
}
}
function s(t, e) {
for (var n = t.split("|"), i = t.length; i--;) C.attrHandle[n[i]] = e
}
function a(t, e) {
var n = e && t,
i = n && 1 === t.nodeType && 1 === e.nodeType && (~e.sourceIndex || G) - (~t.sourceIndex || G);
if (i) return i;
if (n)
for (; n = n.nextSibling;)
if (n === e) return -1;
return t ? 1 : -1
}
function l(t) {
return function (e) {
var n = e.nodeName.toLowerCase();
return "input" === n && e.type === t
}
}
function u(t) {
return function (e) {
var n = e.nodeName.toLowerCase();
return ("input" === n || "button" === n) && e.type === t
}
}
function c(t) {
return r(function (e) {
return e = +e, r(function (n, i) {
for (var r, o = t([], n.length, e), s = o.length; s--;) n[r = o[s]] && (n[r] = !(i[r] = n[r]))
})
})
}
function h() {}
function p(t, e) {
var i, r, o, s, a, l, u, c = z[t + " "];
if (c) return e ? 0 : c.slice(0);
for (a = t, l = [], u = C.preFilter; a;) {
(!i || (r = he.exec(a))) && (r && (a = a.slice(r[0].length) || a), l.push(o = [])), i = !1, (r = pe.exec(a)) && (i = r.shift(), o.push({
value: i,
type: r[0].replace(ce, " ")
}), a = a.slice(i.length));
for (s in C.filter)!(r = ye[s].exec(a)) || u[s] && !(r = u[s](r)) || (i = r.shift(), o.push({
value: i,
type: s,
matches: r
}), a = a.slice(i.length));
if (!i) break
}
return e ? a.length : a ? n.error(t) : z(t, l).slice(0)
}
function f(t) {
for (var e = 0, n = t.length, i = ""; n > e; e++) i += t[e].value;
return i
}
function d(t, e, n) {
var i = e.dir,
r = n && "parentNode" === i,
o = B++;
return e.first ? function (e, n, o) {
for (; e = e[i];)
if (1 === e.nodeType || r) return t(e, n, o)
} : function (e, n, s) {
var a, l, u, c = H + " " + o;
if (s) {
for (; e = e[i];)
if ((1 === e.nodeType || r) && t(e, n, s)) return !0
} else
for (; e = e[i];)
if (1 === e.nodeType || r)
if (u = e[I] || (e[I] = {}), (l = u[i]) && l[0] === c) {
if ((a = l[1]) === !0 || a === k) return a === !0
} else if (l = u[i] = [c], l[1] = t(e, n, s) || k, l[1] === !0) return !0
}
}
function m(t) {
return t.length > 1 ? function (e, n, i) {
for (var r = t.length; r--;)
if (!t[r](e, n, i)) return !1;
return !0
} : t[0]
}
function g(t, e, n, i, r) {
for (var o, s = [], a = 0, l = t.length, u = null != e; l > a; a++)(o = t[a]) && (!n || n(o, i, r)) && (s.push(o), u && e.push(a));
return s
}
function y(t, e, n, i, o, s) {
return i && !i[I] && (i = y(i)), o && !o[I] && (o = y(o, s)), r(function (r, s, a, l) {
var u, c, h, p = [],
f = [],
d = s.length,
m = r || b(e || "*", a.nodeType ? [a] : a, []),
y = !t || !r && e ? m : g(m, p, t, a, l),
v = n ? o || (r ? t : d || i) ? [] : s : y;
if (n && n(y, v, a, l), i)
for (u = g(v, f), i(u, [], a, l), c = u.length; c--;)(h = u[c]) && (v[f[c]] = !(y[f[c]] = h));
if (r) {
if (o || t) {
if (o) {
for (u = [], c = v.length; c--;)(h = v[c]) && u.push(y[c] = h);
o(null, v = [], u, l)
}
for (c = v.length; c--;)(h = v[c]) && (u = o ? ne.call(r, h) : p[c]) > -1 && (r[u] = !(s[u] = h))
}
} else v = g(v === s ? v.splice(d, v.length) : v), o ? o(null, s, v, l) : te.apply(s, v)
})
}
function v(t) {
for (var e, n, i, r = t.length, o = C.relative[t[0].type], s = o || C.relative[" "], a = o ? 1 : 0, l = d(function (t) {
return t === e
}, s, !0), u = d(function (t) {
return ne.call(e, t) > -1
}, s, !0), c = [
function (t, n, i) {
return !o && (i || n !== D) || ((e = n).nodeType ? l(t, n, i) : u(t, n, i))
}
]; r > a; a++)
if (n = C.relative[t[a].type]) c = [d(m(c), n)];
else {
if (n = C.filter[t[a].type].apply(null, t[a].matches), n[I]) {
for (i = ++a; r > i && !C.relative[t[i].type]; i++);
return y(a > 1 && m(c), a > 1 && f(t.slice(0, a - 1).concat({
value: " " === t[a - 2].type ? "*" : ""
})).replace(ce, "$1"), n, i > a && v(t.slice(a, i)), r > i && v(t = t.slice(i)), r > i && f(t))
}
c.push(n)
}
return m(c)
}
function _(t, e) {
var i = 0,
o = e.length > 0,
s = t.length > 0,
a = function (r, a, l, u, c) {
var h, p, f, d = [],
m = 0,
y = "0",
v = r && [],
_ = null != c,
b = D,
x = r || s && C.find.TAG("*", c && a.parentNode || a),
w = H += null == b ? 1 : Math.random() || .1;
for (_ && (D = a !== L && a, k = i); null != (h = x[y]); y++) {
if (s && h) {
for (p = 0; f = t[p++];)
if (f(h, a, l)) {
u.push(h);
break
}
_ && (H = w, k = ++i)
}
o && ((h = !f && h) && m--, r && v.push(h))
}
if (m += y, o && y !== m) {
for (p = 0; f = e[p++];) f(v, d, a, l);
if (r) {
if (m > 0)
for (; y--;) v[y] || d[y] || (d[y] = K.call(u));
d = g(d)
}
te.apply(u, d), _ && !r && d.length > 0 && m + e.length > 1 && n.uniqueSort(u)
}
return _ && (H = w, D = b), v
};
return o ? r(a) : a
}
function b(t, e, i) {
for (var r = 0, o = e.length; o > r; r++) n(t, e[r], i);
return i
}
function x(t, e, n, i) {
var r, o, s, a, l, u = p(t);
if (!i && 1 === u.length) {
if (o = u[0] = u[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && T.getById && 9 === e.nodeType && P && C.relative[o[1].type]) {
if (e = (C.find.ID(s.matches[0].replace(Te, ke), e) || [])[0], !e) return n;
t = t.slice(o.shift().value.length)
}
for (r = ye.needsContext.test(t) ? 0 : o.length; r-- && (s = o[r], !C.relative[a = s.type]);)
if ((l = C.find[a]) && (i = l(s.matches[0].replace(Te, ke), fe.test(o[0].type) && e.parentNode || e))) {
if (o.splice(r, 1), t = i.length && f(o), !t) return te.apply(n, i), n;
break
}
}
return N(t, u)(i, e, !P, n, fe.test(t)), n
}
var w, T, k, C, S, E, N, D, O, j, L, A, P, M, F, R, $, I = "sizzle" + -new Date,
q = t.document,
H = 0,
B = 0,
V = i(),
z = i(),
W = i(),
U = !1,
X = function (t, e) {
return t === e ? (U = !0, 0) : 0
},
Y = typeof e,
G = 1 << 31,
Q = {}.hasOwnProperty,
J = [],
K = J.pop,
Z = J.push,
te = J.push,
ee = J.slice,
ne = J.indexOf || function (t) {
for (var e = 0, n = this.length; n > e; e++)
if (this[e] === t) return e;
return -1
},
ie = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
re = "[\\x20\\t\\r\\n\\f]",
se = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
ae = se.replace("w", "w#"),
le = "\\[" + re + "*(" + se + ")" + re + "*(?:([*^$|!~]?=)" + re + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + ae + ")|)|)" + re + "*\\]",
ue = ":(" + se + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + le.replace(3, 8) + ")*)|.*)\\)|)",
ce = RegExp("^" + re + "+|((?:^|[^\\\\])(?:\\\\.)*)" + re + "+$", "g"),
he = RegExp("^" + re + "*," + re + "*"),
pe = RegExp("^" + re + "*([>+~]|" + re + ")" + re + "*"),
fe = RegExp(re + "*[+~]"),
de = RegExp("=" + re + "*([^\\]'\"]*)" + re + "*\\]", "g"),
me = RegExp(ue),
ge = RegExp("^" + ae + "$"),
ye = {
ID: RegExp("^#(" + se + ")"),
CLASS: RegExp("^\\.(" + se + ")"),
TAG: RegExp("^(" + se.replace("w", "w*") + ")"),
ATTR: RegExp("^" + le),
PSEUDO: RegExp("^" + ue),
CHILD: RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + re + "*(even|odd|(([+-]|)(\\d*)n|)" + re + "*(?:([+-]|)" + re + "*(\\d+)|))" + re + "*\\)|)", "i"),
bool: RegExp("^(?:" + ie + ")$", "i"),
needsContext: RegExp("^" + re + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + re + "*((?:-\\d)?\\d*)" + re + "*\\)|)(?=[^-]|$)", "i")
},
ve = /^[^{]+\{\s*\[native \w/,
_e = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
be = /^(?:input|select|textarea|button)$/i,
xe = /^h\d$/i,
we = /'|\\/g,
Te = RegExp("\\\\([\\da-f]{1,6}" + re + "?|(" + re + ")|.)", "ig"),
ke = function (t, e, n) {
var i = "0x" + e - 65536;
return i !== i || n ? e : 0 > i ? String.fromCharCode(i + 65536) : String.fromCharCode(55296 | i >> 10, 56320 | 1023 & i)
};
try {
te.apply(J = ee.call(q.childNodes), q.childNodes), J[q.childNodes.length].nodeType
} catch (Ce) {
te = {
apply: J.length ? function (t, e) {
Z.apply(t, ee.call(e))
} : function (t, e) {
for (var n = t.length, i = 0; t[n++] = e[i++];);
t.length = n - 1
}
}
}
E = n.isXML = function (t) {
var e = t && (t.ownerDocument || t).documentElement;
return e ? "HTML" !== e.nodeName : !1
}, T = n.support = {}, j = n.setDocument = function (t) {
var n = t ? t.ownerDocument || t : q,
i = n.defaultView;
return n !== L && 9 === n.nodeType && n.documentElement ? (L = n, A = n.documentElement, P = !E(n), i && i.attachEvent && i !== i.top && i.attachEvent("onbeforeunload", function () {
j()
}), T.attributes = o(function (t) {
return t.className = "i", !t.getAttribute("className")
}), T.getElementsByTagName = o(function (t) {
return t.appendChild(n.createComment("")), !t.getElementsByTagName("*").length
}), T.getElementsByClassName = o(function (t) {
return t.innerHTML = "<div class='a'></div><div class='a i'></div>", t.firstChild.className = "i", 2 === t.getElementsByClassName("i").length
}), T.getById = o(function (t) {
return A.appendChild(t).id = I, !n.getElementsByName || !n.getElementsByName(I).length
}), T.getById ? (C.find.ID = function (t, e) {
if (typeof e.getElementById !== Y && P) {
var n = e.getElementById(t);
return n && n.parentNode ? [n] : []
}
}, C.filter.ID = function (t) {
var e = t.replace(Te, ke);
return function (t) {
return t.getAttribute("id") === e
}
}) : (delete C.find.ID, C.filter.ID = function (t) {
var e = t.replace(Te, ke);
return function (t) {
var n = typeof t.getAttributeNode !== Y && t.getAttributeNode("id");
return n && n.value === e
}
}), C.find.TAG = T.getElementsByTagName ? function (t, n) {
return typeof n.getElementsByTagName !== Y ? n.getElementsByTagName(t) : e
} : function (t, e) {
var n, i = [],
r = 0,
o = e.getElementsByTagName(t);
if ("*" === t) {
for (; n = o[r++];) 1 === n.nodeType && i.push(n);
return i
}
return o
}, C.find.CLASS = T.getElementsByClassName && function (t, n) {
return typeof n.getElementsByClassName !== Y && P ? n.getElementsByClassName(t) : e
}, F = [], M = [], (T.qsa = ve.test(n.querySelectorAll)) && (o(function (t) {
t.innerHTML = "<select><option selected=''></option></select>", t.querySelectorAll("[selected]").length || M.push("\\[" + re + "*(?:value|" + ie + ")"), t.querySelectorAll(":checked").length || M.push(":checked")
}), o(function (t) {
var e = n.createElement("input");
e.setAttribute("type", "hidden"), t.appendChild(e).setAttribute("t", ""), t.querySelectorAll("[t^='']").length && M.push("[*^$]=" + re + "*(?:''|\"\")"), t.querySelectorAll(":enabled").length || M.push(":enabled", ":disabled"), t.querySelectorAll("*,:x"), M.push(",.*:")
})), (T.matchesSelector = ve.test(R = A.webkitMatchesSelector || A.mozMatchesSelector || A.oMatchesSelector || A.msMatchesSelector)) && o(function (t) {
T.disconnectedMatch = R.call(t, "div"), R.call(t, "[s!='']:x"), F.push("!=", ue)
}), M = M.length && RegExp(M.join("|")), F = F.length && RegExp(F.join("|")), $ = ve.test(A.contains) || A.compareDocumentPosition ? function (t, e) {
var n = 9 === t.nodeType ? t.documentElement : t,
i = e && e.parentNode;
return t === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(i)))
} : function (t, e) {
if (e)
for (; e = e.parentNode;)
if (e === t) return !0;
return !1
}, X = A.compareDocumentPosition ? function (t, e) {
if (t === e) return U = !0, 0;
var i = e.compareDocumentPosition && t.compareDocumentPosition && t.compareDocumentPosition(e);
return i ? 1 & i || !T.sortDetached && e.compareDocumentPosition(t) === i ? t === n || $(q, t) ? -1 : e === n || $(q, e) ? 1 : O ? ne.call(O, t) - ne.call(O, e) : 0 : 4 & i ? -1 : 1 : t.compareDocumentPosition ? -1 : 1
} : function (t, e) {
var i, r = 0,
o = t.parentNode,
s = e.parentNode,
l = [t],
u = [e];
if (t === e) return U = !0, 0;
if (!o || !s) return t === n ? -1 : e === n ? 1 : o ? -1 : s ? 1 : O ? ne.call(O, t) - ne.call(O, e) : 0;
if (o === s) return a(t, e);
for (i = t; i = i.parentNode;) l.unshift(i);
for (i = e; i = i.parentNode;) u.unshift(i);
for (; l[r] === u[r];) r++;
return r ? a(l[r], u[r]) : l[r] === q ? -1 : u[r] === q ? 1 : 0
}, n) : L
}, n.matches = function (t, e) {
return n(t, null, null, e)
}, n.matchesSelector = function (t, e) {
if ((t.ownerDocument || t) !== L && j(t), e = e.replace(de, "='$1']"), !(!T.matchesSelector || !P || F && F.test(e) || M && M.test(e))) try {
var i = R.call(t, e);
if (i || T.disconnectedMatch || t.document && 11 !== t.document.nodeType) return i
} catch (r) {}
return n(e, L, null, [t]).length > 0
}, n.contains = function (t, e) {
return (t.ownerDocument || t) !== L && j(t), $(t, e)
}, n.attr = function (t, n) {
(t.ownerDocument || t) !== L && j(t);
var i = C.attrHandle[n.toLowerCase()],
r = i && Q.call(C.attrHandle, n.toLowerCase()) ? i(t, n, !P) : e;
return r === e ? T.attributes || !P ? t.getAttribute(n) : (r = t.getAttributeNode(n)) && r.specified ? r.value : null : r
}, n.error = function (t) {
throw Error("Syntax error, unrecognized expression: " + t)
}, n.uniqueSort = function (t) {
var e, n = [],
i = 0,
r = 0;
if (U = !T.detectDuplicates, O = !T.sortStable && t.slice(0), t.sort(X), U) {
for (; e = t[r++];) e === t[r] && (i = n.push(r));
for (; i--;) t.splice(n[i], 1)
}
return t
}, S = n.getText = function (t) {
var e, n = "",
i = 0,
r = t.nodeType;
if (r) {
if (1 === r || 9 === r || 11 === r) {
if ("string" == typeof t.textContent) return t.textContent;
for (t = t.firstChild; t; t = t.nextSibling) n += S(t)
} else if (3 === r || 4 === r) return t.nodeValue
} else
for (; e = t[i]; i++) n += S(e);
return n
}, C = n.selectors = {
cacheLength: 50,
createPseudo: r,
match: ye,
attrHandle: {},
find: {},
relative: {
">": {
dir: "parentNode",
first: !0
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: !0
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function (t) {
return t[1] = t[1].replace(Te, ke), t[3] = (t[4] || t[5] || "").replace(Te, ke), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4)
},
CHILD: function (t) {
return t[1] = t[1].toLowerCase(), "nth" === t[1].slice(0, 3) ? (t[3] || n.error(t[0]), t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3])), t[5] = +(t[7] + t[8] || "odd" === t[3])) : t[3] && n.error(t[0]), t
},
PSEUDO: function (t) {
var n, i = !t[5] && t[2];
return ye.CHILD.test(t[0]) ? null : (t[3] && t[4] !== e ? t[2] = t[4] : i && me.test(i) && (n = p(i, !0)) && (n = i.indexOf(")", i.length - n) - i.length) && (t[0] = t[0].slice(0, n), t[2] = i.slice(0, n)), t.slice(0, 3))
}
},
filter: {
TAG: function (t) {
var e = t.replace(Te, ke).toLowerCase();
return "*" === t ? function () {
return !0
} : function (t) {
return t.nodeName && t.nodeName.toLowerCase() === e
}
},
CLASS: function (t) {
var e = V[t + " "];
return e || (e = RegExp("(^|" + re + ")" + t + "(" + re + "|$)")) && V(t, function (t) {
return e.test("string" == typeof t.className && t.className || typeof t.getAttribute !== Y && t.getAttribute("class") || "")
})
},
ATTR: function (t, e, i) {
return function (r) {
var o = n.attr(r, t);
return null == o ? "!=" === e : e ? (o += "", "=" === e ? o === i : "!=" === e ? o !== i : "^=" === e ? i && 0 === o.indexOf(i) : "*=" === e ? i && o.indexOf(i) > -1 : "$=" === e ? i && o.slice(-i.length) === i : "~=" === e ? (" " + o + " ").indexOf(i) > -1 : "|=" === e ? o === i || o.slice(0, i.length + 1) === i + "-" : !1) : !0
}
},
CHILD: function (t, e, n, i, r) {
var o = "nth" !== t.slice(0, 3),
s = "last" !== t.slice(-4),
a = "of-type" === e;
return 1 === i && 0 === r ? function (t) {
return !!t.parentNode
} : function (e, n, l) {
var u, c, h, p, f, d, m = o !== s ? "nextSibling" : "previousSibling",
g = e.parentNode,
y = a && e.nodeName.toLowerCase(),
v = !l && !a;
if (g) {
if (o) {
for (; m;) {
for (h = e; h = h[m];)
if (a ? h.nodeName.toLowerCase() === y : 1 === h.nodeType) return !1;
d = m = "only" === t && !d && "nextSibling"
}
return !0
}
if (d = [s ? g.firstChild : g.lastChild], s && v) {
for (c = g[I] || (g[I] = {}), u = c[t] || [], f = u[0] === H && u[1], p = u[0] === H && u[2], h = f && g.childNodes[f]; h = ++f && h && h[m] || (p = f = 0) || d.pop();)
if (1 === h.nodeType && ++p && h === e) {
c[t] = [H, f, p];
break
}
} else if (v && (u = (e[I] || (e[I] = {}))[t]) && u[0] === H) p = u[1];
else
for (;
(h = ++f && h && h[m] || (p = f = 0) || d.pop()) && ((a ? h.nodeName.toLowerCase() !== y : 1 !== h.nodeType) || !++p || (v && ((h[I] || (h[I] = {}))[t] = [H, p]), h !== e)););
return p -= r, p === i || 0 === p % i && p / i >= 0
}
}
},
PSEUDO: function (t, e) {
var i, o = C.pseudos[t] || C.setFilters[t.toLowerCase()] || n.error("unsupported pseudo: " + t);
return o[I] ? o(e) : o.length > 1 ? (i = [t, t, "", e], C.setFilters.hasOwnProperty(t.toLowerCase()) ? r(function (t, n) {
for (var i, r = o(t, e), s = r.length; s--;) i = ne.call(t, r[s]), t[i] = !(n[i] = r[s])
}) : function (t) {
return o(t, 0, i)
}) : o
}
},
pseudos: {
not: r(function (t) {
var e = [],
n = [],
i = N(t.replace(ce, "$1"));
return i[I] ? r(function (t, e, n, r) {
for (var o, s = i(t, null, r, []), a = t.length; a--;)(o = s[a]) && (t[a] = !(e[a] = o))
}) : function (t, r, o) {
return e[0] = t, i(e, null, o, n), !n.pop()
}
}),
has: r(function (t) {
return function (e) {
return n(t, e).length > 0
}
}),
contains: r(function (t) {
return function (e) {
return (e.textContent || e.innerText || S(e)).indexOf(t) > -1
}
}),
lang: r(function (t) {
return ge.test(t || "") || n.error("unsupported lang: " + t), t = t.replace(Te, ke).toLowerCase(),
function (e) {
var n;
do
if (n = P ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return n = n.toLowerCase(), n === t || 0 === n.indexOf(t + "-");
while ((e = e.parentNode) && 1 === e.nodeType);
return !1
}
}),
target: function (e) {
var n = t.location && t.location.hash;
return n && n.slice(1) === e.id
},
root: function (t) {
return t === A
},
focus: function (t) {
return t === L.activeElement && (!L.hasFocus || L.hasFocus()) && !!(t.type || t.href || ~t.tabIndex)
},
enabled: function (t) {
return t.disabled === !1
},
disabled: function (t) {
return t.disabled === !0
},
checked: function (t) {
var e = t.nodeName.toLowerCase();
return "input" === e && !!t.checked || "option" === e && !!t.selected
},
selected: function (t) {
return t.parentNode && t.parentNode.selectedIndex, t.selected === !0
},
empty: function (t) {
for (t = t.firstChild; t; t = t.nextSibling)
if (t.nodeName > "@" || 3 === t.nodeType || 4 === t.nodeType) return !1;
return !0
},
parent: function (t) {
return !C.pseudos.empty(t)
},
header: function (t) {
return xe.test(t.nodeName)
},
input: function (t) {
return be.test(t.nodeName)
},
button: function (t) {
var e = t.nodeName.toLowerCase();
return "input" === e && "button" === t.type || "button" === e
},
text: function (t) {
var e;
return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (e = t.getAttribute("type")) || e.toLowerCase() === t.type)
},
first: c(function () {
return [0]
}),
last: c(function (t, e) {
return [e - 1]
}),
eq: c(function (t, e, n) {
return [0 > n ? n + e : n]
}),
even: c(function (t, e) {
for (var n = 0; e > n; n += 2) t.push(n);
return t
}),
odd: c(function (t, e) {
for (var n = 1; e > n; n += 2) t.push(n);
return t
}),
lt: c(function (t, e, n) {
for (var i = 0 > n ? n + e : n; --i >= 0;) t.push(i);
return t
}),
gt: c(function (t, e, n) {
for (var i = 0 > n ? n + e : n; e > ++i;) t.push(i);
return t
})
}
}, C.pseudos.nth = C.pseudos.eq;
for (w in {
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
}) C.pseudos[w] = l(w);
for (w in {
submit: !0,
reset: !0
}) C.pseudos[w] = u(w);
h.prototype = C.filters = C.pseudos, C.setFilters = new h, N = n.compile = function (t, e) {
var n, i = [],
r = [],
o = W[t + " "];
if (!o) {
for (e || (e = p(t)), n = e.length; n--;) o = v(e[n]), o[I] ? i.push(o) : r.push(o);
o = W(t, _(r, i))
}
return o
}, T.sortStable = I.split("").sort(X).join("") === I, T.detectDuplicates = U, j(), T.sortDetached = o(function (t) {
return 1 & t.compareDocumentPosition(L.createElement("div"))
}), o(function (t) {
return t.innerHTML = "<a href='#'></a>", "#" === t.firstChild.getAttribute("href")
}) || s("type|href|height|width", function (t, n, i) {
return i ? e : t.getAttribute(n, "type" === n.toLowerCase() ? 1 : 2)
}), T.attributes && o(function (t) {
return t.innerHTML = "<input/>", t.firstChild.setAttribute("value", ""), "" === t.firstChild.getAttribute("value")
}) || s("value", function (t, n, i) {
return i || "input" !== t.nodeName.toLowerCase() ? e : t.defaultValue
}), o(function (t) {
return null == t.getAttribute("disabled")
}) || s(ie, function (t, n, i) {
var r;
return i ? e : (r = t.getAttributeNode(n)) && r.specified ? r.value : t[n] === !0 ? n.toLowerCase() : null
}), oe.find = n, oe.expr = n.selectors, oe.expr[":"] = oe.expr.pseudos, oe.unique = n.uniqueSort, oe.text = n.getText, oe.isXMLDoc = n.isXML, oe.contains = n.contains
}(t);
var de = {};
oe.Callbacks = function (t) {
t = "string" == typeof t ? de[t] || i(t) : oe.extend({}, t);
var n, r, o, s, a, l, u = [],
c = !t.once && [],
h = function (e) {
for (n = t.memory && e, r = !0, l = s || 0, s = 0, a = u.length, o = !0; u && a > l; l++)
if (u[l].apply(e[0], e[1]) === !1 && t.stopOnFalse) {
n = !1;
break
}
o = !1, u && (c ? c.length && h(c.shift()) : n ? u = [] : p.disable())
},
p = {
add: function () {
if (u) {
var e = u.length;
(function i(e) {
oe.each(e, function (e, n) {
var r = oe.type(n);
"function" === r ? t.unique && p.has(n) || u.push(n) : n && n.length && "string" !== r && i(n)
})
})(arguments), o ? a = u.length : n && (s = e, h(n))
}
return this
},
remove: function () {
return u && oe.each(arguments, function (t, e) {
for (var n;
(n = oe.inArray(e, u, n)) > -1;) u.splice(n, 1), o && (a >= n && a--, l >= n && l--)
}), this
},
has: function (t) {
return t ? oe.inArray(t, u) > -1 : !(!u || !u.length)
},
empty: function () {
return u = [], a = 0, this
},
disable: function () {
return u = c = n = e, this
},
disabled: function () {
return !u
},
lock: function () {
return c = e, n || p.disable(), this
},
locked: function () {
return !c
},
fireWith: function (t, e) {
return !u || r && !c || (e = e || [], e = [t, e.slice ? e.slice() : e], o ? c.push(e) : h(e)), this
},
fire: function () {
return p.fireWith(this, arguments), this
},
fired: function () {
return !!r
}
};
return p
}, oe.extend({
Deferred: function (t) {
var e = [
["resolve", "done", oe.Callbacks("once memory"), "resolved"],
["reject", "fail", oe.Callbacks("once memory"), "rejected"],
["notify", "progress", oe.Callbacks("memory")]
],
n = "pending",
i = {
state: function () {
return n
},
always: function () {
return r.done(arguments).fail(arguments), this
},
then: function () {
var t = arguments;
return oe.Deferred(function (n) {
oe.each(e, function (e, o) {
var s = o[0],
a = oe.isFunction(t[e]) && t[e];
r[o[1]](function () {
var t = a && a.apply(this, arguments);
t && oe.isFunction(t.promise) ? t.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "With"](this === i ? n.promise() : this, a ? [t] : arguments)
})
}), t = null
}).promise()
},
promise: function (t) {
return null != t ? oe.extend(t, i) : i
}
},
r = {};
return i.pipe = i.then, oe.each(e, function (t, o) {
var s = o[2],
a = o[3];
i[o[1]] = s.add, a && s.add(function () {
n = a
}, e[1 ^ t][2].disable, e[2][2].lock), r[o[0]] = function () {
return r[o[0] + "With"](this === r ? i : this, arguments), this
}, r[o[0] + "With"] = s.fireWith
}), i.promise(r), t && t.call(r, r), r
},
when: function (t) {
var e, n, i, r = 0,
o = te.call(arguments),
s = o.length,
a = 1 !== s || t && oe.isFunction(t.promise) ? s : 0,
l = 1 === a ? t : oe.Deferred(),
u = function (t, n, i) {
return function (r) {
n[t] = this, i[t] = arguments.length > 1 ? te.call(arguments) : r, i === e ? l.notifyWith(n, i) : --a || l.resolveWith(n, i)
}
};
if (s > 1)
for (e = Array(s), n = Array(s), i = Array(s); s > r; r++) o[r] && oe.isFunction(o[r].promise) ? o[r].promise().done(u(r, i, o)).fail(l.reject).progress(u(r, n, e)) : --a;
return a || l.resolveWith(i, o), l.promise()
}
}), oe.support = function (e) {
var n = W.createElement("input"),
i = W.createDocumentFragment(),
r = W.createElement("div"),
o = W.createElement("select"),
s = o.appendChild(W.createElement("option"));
return n.type ? (n.type = "checkbox", e.checkOn = "" !== n.value, e.optSelected = s.selected, e.reliableMarginRight = !0, e.boxSizingReliable = !0, e.pixelPosition = !1, n.checked = !0, e.noCloneChecked = n.cloneNode(!0).checked, o.disabled = !0, e.optDisabled = !s.disabled, n = W.createElement("input"), n.value = "t", n.type = "radio", e.radioValue = "t" === n.value, n.setAttribute("checked", "t"), n.setAttribute("name", "t"), i.appendChild(n), e.checkClone = i.cloneNode(!0).cloneNode(!0).lastChild.checked, e.focusinBubbles = "onfocusin" in t, r.style.backgroundClip = "content-box", r.cloneNode(!0).style.backgroundClip = "", e.clearCloneStyle = "content-box" === r.style.backgroundClip, oe(function () {
var n, i, o = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",
s = W.getElementsByTagName("body")[0];
s && (n = W.createElement("div"), n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", s.appendChild(n).appendChild(r), r.innerHTML = "", r.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%", oe.swap(s, null != s.style.zoom ? {
zoom: 1
} : {}, function () {
e.boxSizing = 4 === r.offsetWidth
}), t.getComputedStyle && (e.pixelPosition = "1%" !== (t.getComputedStyle(r, null) || {}).top, e.boxSizingReliable = "4px" === (t.getComputedStyle(r, null) || {
width: "4px"
}).width, i = r.appendChild(W.createElement("div")), i.style.cssText = r.style.cssText = o, i.style.marginRight = i.style.width = "0", r.style.width = "1px", e.reliableMarginRight = !parseFloat((t.getComputedStyle(i, null) || {}).marginRight)), s.removeChild(n))
}), e) : e
}({});
var me, ge, ye = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
ve = /([A-Z])/g;
r.uid = 1, r.accepts = function (t) {
return t.nodeType ? 1 === t.nodeType || 9 === t.nodeType : !0
}, r.prototype = {
key: function (t) {
if (!r.accepts(t)) return 0;
var e = {},
n = t[this.expando];
if (!n) {
n = r.uid++;
try {
e[this.expando] = {
value: n
}, Object.defineProperties(t, e)
} catch (i) {
e[this.expando] = n, oe.extend(t, e)
}
}
return this.cache[n] || (this.cache[n] = {}), n
},
set: function (t, e, n) {
var i, r = this.key(t),
o = this.cache[r];
if ("string" == typeof e) o[e] = n;
else if (oe.isEmptyObject(o)) oe.extend(this.cache[r], e);
else
for (i in e) o[i] = e[i];
return o
},
get: function (t, n) {
var i = this.cache[this.key(t)];
return n === e ? i : i[n]
},
access: function (t, n, i) {
var r;
return n === e || n && "string" == typeof n && i === e ? (r = this.get(t, n), r !== e ? r : this.get(t, oe.camelCase(n))) : (this.set(t, n, i), i !== e ? i : n)
},
remove: function (t, n) {
var i, r, o, s = this.key(t),
a = this.cache[s];
if (n === e) this.cache[s] = {};
else {
oe.isArray(n) ? r = n.concat(n.map(oe.camelCase)) : (o = oe.camelCase(n), n in a ? r = [n, o] : (r = o, r = r in a ? [r] : r.match(ae) || [])), i = r.length;
for (; i--;) delete a[r[i]]
}
},
hasData: function (t) {
return !oe.isEmptyObject(this.cache[t[this.expando]] || {})
},
discard: function (t) {
t[this.expando] && delete this.cache[t[this.expando]]
}
}, me = new r, ge = new r, oe.extend({
acceptData: r.accepts,
hasData: function (t) {
return me.hasData(t) || ge.hasData(t)
},
data: function (t, e, n) {
return me.access(t, e, n)
},
removeData: function (t, e) {
me.remove(t, e)
},
_data: function (t, e, n) {
return ge.access(t, e, n)
},
_removeData: function (t, e) {
ge.remove(t, e)
}
}), oe.fn.extend({
data: function (t, n) {
var i, r, s = this[0],
a = 0,
l = null;
if (t === e) {
if (this.length && (l = me.get(s), 1 === s.nodeType && !ge.get(s, "hasDataAttrs"))) {
for (i = s.attributes; i.length > a; a++) r = i[a].name, 0 === r.indexOf("data-") && (r = oe.camelCase(r.slice(5)), o(s, r, l[r]));
ge.set(s, "hasDataAttrs", !0)
}
return l
}
return "object" == typeof t ? this.each(function () {
me.set(this, t)
}) : oe.access(this, function (n) {
var i, r = oe.camelCase(t);
if (s && n === e) {
if (i = me.get(s, t), i !== e) return i;
if (i = me.get(s, r), i !== e) return i;
if (i = o(s, r, e), i !== e) return i
} else this.each(function () {
var i = me.get(this, r);
me.set(this, r, n), -1 !== t.indexOf("-") && i !== e && me.set(this, t, n)
})
}, null, n, arguments.length > 1, null, !0)
},
removeData: function (t) {
return this.each(function () {
me.remove(this, t)
})
}
}), oe.extend({
queue: function (t, n, i) {
var r;
return t ? (n = (n || "fx") + "queue", r = ge.get(t, n), i && (!r || oe.isArray(i) ? r = ge.access(t, n, oe.makeArray(i)) : r.push(i)), r || []) : e
},
dequeue: function (t, e) {
e = e || "fx";
var n = oe.queue(t, e),
i = n.length,
r = n.shift(),
o = oe._queueHooks(t, e),
s = function () {
oe.dequeue(t, e)
};
"inprogress" === r && (r = n.shift(), i--), r && ("fx" === e && n.unshift("inprogress"), delete o.stop, r.call(t, s, o)), !i && o && o.empty.fire()
},
_queueHooks: function (t, e) {
var n = e + "queueHooks";
return ge.get(t, n) || ge.access(t, n, {
empty: oe.Callbacks("once memory").add(function () {
ge.remove(t, [e + "queue", n])
})
})
}
}), oe.fn.extend({
queue: function (t, n) {
var i = 2;
return "string" != typeof t && (n = t, t = "fx", i--), i > arguments.length ? oe.queue(this[0], t) : n === e ? this : this.each(function () {
var e = oe.queue(this, t, n);
oe._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && oe.dequeue(this, t)
})
},
dequeue: function (t) {
return this.each(function () {
oe.dequeue(this, t)
})
},
delay: function (t, e) {
return t = oe.fx ? oe.fx.speeds[t] || t : t, e = e || "fx", this.queue(e, function (e, n) {
var i = setTimeout(e, t);
n.stop = function () {
clearTimeout(i)
}
})
},
clearQueue: function (t) {
return this.queue(t || "fx", [])
},
promise: function (t, n) {
var i, r = 1,
o = oe.Deferred(),
s = this,
a = this.length,
l = function () {
--r || o.resolveWith(s, [s])
};
for ("string" != typeof t && (n = t, t = e), t = t || "fx"; a--;) i = ge.get(s[a], t + "queueHooks"), i && i.empty && (r++, i.empty.add(l));
return l(), o.promise(n)
}
});
var _e, be, xe = /[\t\r\n\f]/g,
we = /\r/g,
Te = /^(?:input|select|textarea|button)$/i;
oe.fn.extend({
attr: function (t, e) {
return oe.access(this, oe.attr, t, e, arguments.length > 1)
},
removeAttr: function (t) {
return this.each(function () {
oe.removeAttr(this, t)
})
},
prop: function (t, e) {
return oe.access(this, oe.prop, t, e, arguments.length > 1)
},
removeProp: function (t) {
return this.each(function () {
delete this[oe.propFix[t] || t]
})
},
addClass: function (t) {
var e, n, i, r, o, s = 0,
a = this.length,
l = "string" == typeof t && t;
if (oe.isFunction(t)) return this.each(function (e) {
oe(this).addClass(t.call(this, e, this.className))
});
if (l)
for (e = (t || "").match(ae) || []; a > s; s++)
if (n = this[s], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(xe, " ") : " ")) {
for (o = 0; r = e[o++];) 0 > i.indexOf(" " + r + " ") && (i += r + " ");
n.className = oe.trim(i)
}
return this
},
removeClass: function (t) {
var e, n, i, r, o, s = 0,
a = this.length,
l = 0 === arguments.length || "string" == typeof t && t;
if (oe.isFunction(t)) return this.each(function (e) {
oe(this).removeClass(t.call(this, e, this.className))
});
if (l)
for (e = (t || "").match(ae) || []; a > s; s++)
if (n = this[s], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(xe, " ") : "")) {
for (o = 0; r = e[o++];)
for (; i.indexOf(" " + r + " ") >= 0;) i = i.replace(" " + r + " ", " ");
n.className = t ? oe.trim(i) : ""
}
return this
},
toggleClass: function (t, e) {
var n = typeof t;
return "boolean" == typeof e && "string" === n ? e ? this.addClass(t) : this.removeClass(t) : oe.isFunction(t) ? this.each(function (n) {
oe(this).toggleClass(t.call(this, n, this.className, e), e)
}) : this.each(function () {
if ("string" === n)
for (var e, i = 0, r = oe(this), o = t.match(ae) || []; e = o[i++];) r.hasClass(e) ? r.removeClass(e) : r.addClass(e);
else(n === V || "boolean" === n) && (this.className && ge.set(this, "__className__", this.className), this.className = this.className || t === !1 ? "" : ge.get(this, "__className__") || "")
})
},
hasClass: function (t) {
for (var e = " " + t + " ", n = 0, i = this.length; i > n; n++)
if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(xe, " ").indexOf(e) >= 0) return !0;
return !1
},
val: function (t) {
var n, i, r, o = this[0];
return arguments.length ? (r = oe.isFunction(t), this.each(function (i) {
var o;
1 === this.nodeType && (o = r ? t.call(this, i, oe(this).val()) : t, null == o ? o = "" : "number" == typeof o ? o += "" : oe.isArray(o) && (o = oe.map(o, function (t) {
return null == t ? "" : t + ""
})), n = oe.valHooks[this.type] || oe.valHooks[this.nodeName.toLowerCase()], n && "set" in n && n.set(this, o, "value") !== e || (this.value = o))
})) : o ? (n = oe.valHooks[o.type] || oe.valHooks[o.nodeName.toLowerCase()], n && "get" in n && (i = n.get(o, "value")) !== e ? i : (i = o.value, "string" == typeof i ? i.replace(we, "") : null == i ? "" : i)) : e
}
}), oe.extend({
valHooks: {
option: {
get: function (t) {
var e = t.attributes.value;
return !e || e.specified ? t.value : t.text
}
},
select: {
get: function (t) {
for (var e, n, i = t.options, r = t.selectedIndex, o = "select-one" === t.type || 0 > r, s = o ? null : [], a = o ? r + 1 : i.length, l = 0 > r ? a : o ? r : 0; a > l; l++)
if (n = i[l], !(!n.selected && l !== r || (oe.support.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && oe.nodeName(n.parentNode, "optgroup"))) {
if (e = oe(n).val(), o) return e;
s.push(e)
}
return s
},
set: function (t, e) {
for (var n, i, r = t.options, o = oe.makeArray(e), s = r.length; s--;) i = r[s], (i.selected = oe.inArray(oe(i).val(), o) >= 0) && (n = !0);
return n || (t.selectedIndex = -1), o
}
}
},
attr: function (t, n, i) {
var r, o, s = t.nodeType;
return t && 3 !== s && 8 !== s && 2 !== s ? typeof t.getAttribute === V ? oe.prop(t, n, i) : (1 === s && oe.isXMLDoc(t) || (n = n.toLowerCase(), r = oe.attrHooks[n] || (oe.expr.match.bool.test(n) ? be : _e)), i === e ? r && "get" in r && null !== (o = r.get(t, n)) ? o : (o = oe.find.attr(t, n), null == o ? e : o) : null !== i ? r && "set" in r && (o = r.set(t, i, n)) !== e ? o : (t.setAttribute(n, i + ""), i) : (oe.removeAttr(t, n), e)) : e
},
removeAttr: function (t, e) {
var n, i, r = 0,
o = e && e.match(ae);
if (o && 1 === t.nodeType)
for (; n = o[r++];) i = oe.propFix[n] || n, oe.expr.match.bool.test(n) && (t[i] = !1), t.removeAttribute(n)
},
attrHooks: {
type: {
set: function (t, e) {
if (!oe.support.radioValue && "radio" === e && oe.nodeName(t, "input")) {
var n = t.value;
return t.setAttribute("type", e), n && (t.value = n), e
}
}
}
},
propFix: {
"for": "htmlFor",
"class": "className"
},
prop: function (t, n, i) {
var r, o, s, a = t.nodeType;
return t && 3 !== a && 8 !== a && 2 !== a ? (s = 1 !== a || !oe.isXMLDoc(t), s && (n = oe.propFix[n] || n, o = oe.propHooks[n]), i !== e ? o && "set" in o && (r = o.set(t, i, n)) !== e ? r : t[n] = i : o && "get" in o && null !== (r = o.get(t, n)) ? r : t[n]) : e
},
propHooks: {
tabIndex: {
get: function (t) {
return t.hasAttribute("tabindex") || Te.test(t.nodeName) || t.href ? t.tabIndex : -1
}
}
}
}), be = {
set: function (t, e, n) {
return e === !1 ? oe.removeAttr(t, n) : t.setAttribute(n, n), n
}
}, oe.each(oe.expr.match.bool.source.match(/\w+/g), function (t, n) {
var i = oe.expr.attrHandle[n] || oe.find.attr;
oe.expr.attrHandle[n] = function (t, n, r) {
var o = oe.expr.attrHandle[n],
s = r ? e : (oe.expr.attrHandle[n] = e) != i(t, n, r) ? n.toLowerCase() : null;
return oe.expr.attrHandle[n] = o, s
}
}), oe.support.optSelected || (oe.propHooks.selected = {
get: function (t) {
var e = t.parentNode;
return e && e.parentNode && e.parentNode.selectedIndex, null
}
}), oe.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
oe.propFix[this.toLowerCase()] = this
}), oe.each(["radio", "checkbox"], function () {
oe.valHooks[this] = {
set: function (t, n) {
return oe.isArray(n) ? t.checked = oe.inArray(oe(t).val(), n) >= 0 : e
}
}, oe.support.checkOn || (oe.valHooks[this].get = function (t) {
return null === t.getAttribute("value") ? "on" : t.value
})
});
var ke = /^key/,
Ce = /^(?:mouse|contextmenu)|click/,
Se = /^(?:focusinfocus|focusoutblur)$/,
Ee = /^([^.]*)(?:\.(.+)|)$/;
oe.event = {
global: {},
add: function (t, n, i, r, o) {
var s, a, l, u, c, h, p, f, d, m, g, y = ge.get(t);
if (y) {
for (i.handler && (s = i, i = s.handler, o = s.selector), i.guid || (i.guid = oe.guid++), (u = y.events) || (u = y.events = {}), (a = y.handle) || (a = y.handle = function (t) {
return typeof oe === V || t && oe.event.triggered === t.type ? e : oe.event.dispatch.apply(a.elem, arguments)
}, a.elem = t), n = (n || "").match(ae) || [""], c = n.length; c--;) l = Ee.exec(n[c]) || [], d = g = l[1], m = (l[2] || "").split(".").sort(), d && (p = oe.event.special[d] || {}, d = (o ? p.delegateType : p.bindType) || d, p = oe.event.special[d] || {}, h = oe.extend({
type: d,
origType: g,
data: r,
handler: i,
guid: i.guid,
selector: o,
needsContext: o && oe.expr.match.needsContext.test(o),
namespace: m.join(".")
}, s), (f = u[d]) || (f = u[d] = [], f.delegateCount = 0, p.setup && p.setup.call(t, r, m, a) !== !1 || t.addEventListener && t.addEventListener(d, a, !1)), p.add && (p.add.call(t, h), h.handler.guid || (h.handler.guid = i.guid)), o ? f.splice(f.delegateCount++, 0, h) : f.push(h), oe.event.global[d] = !0);
t = null
}
},
remove: function (t, e, n, i, r) {
var o, s, a, l, u, c, h, p, f, d, m, g = ge.hasData(t) && ge.get(t);
if (g && (l = g.events)) {
for (e = (e || "").match(ae) || [""], u = e.length; u--;)
if (a = Ee.exec(e[u]) || [], f = m = a[1], d = (a[2] || "").split(".").sort(), f) {
for (h = oe.event.special[f] || {}, f = (i ? h.delegateType : h.bindType) || f, p = l[f] || [], a = a[2] && RegExp("(^|\\.)" + d.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = p.length; o--;) c = p[o], !r && m !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || i && i !== c.selector && ("**" !== i || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, h.remove && h.remove.call(t, c));
s && !p.length && (h.teardown && h.teardown.call(t, d, g.handle) !== !1 || oe.removeEvent(t, f, g.handle), delete l[f])
} else
for (f in l) oe.event.remove(t, f + e[u], n, i, !0);
oe.isEmptyObject(l) && (delete g.handle, ge.remove(t, "events"))
}
},
trigger: function (n, i, r, o) {
var s, a, l, u, c, h, p, f = [r || W],
d = ie.call(n, "type") ? n.type : n,
m = ie.call(n, "namespace") ? n.namespace.split(".") : [];
if (a = l = r = r || W, 3 !== r.nodeType && 8 !== r.nodeType && !Se.test(d + oe.event.triggered) && (d.indexOf(".") >= 0 && (m = d.split("."), d = m.shift(), m.sort()), c = 0 > d.indexOf(":") && "on" + d, n = n[oe.expando] ? n : new oe.Event(d, "object" == typeof n && n), n.isTrigger = o ? 2 : 3, n.namespace = m.join("."), n.namespace_re = n.namespace ? RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, n.result = e, n.target || (n.target = r), i = null == i ? [n] : oe.makeArray(i, [n]), p = oe.event.special[d] || {}, o || !p.trigger || p.trigger.apply(r, i) !== !1)) {
if (!o && !p.noBubble && !oe.isWindow(r)) {
for (u = p.delegateType || d, Se.test(u + d) || (a = a.parentNode); a; a = a.parentNode) f.push(a), l = a;
l === (r.ownerDocument || W) && f.push(l.defaultView || l.parentWindow || t)
}
for (s = 0;
(a = f[s++]) && !n.isPropagationStopped();) n.type = s > 1 ? u : p.bindType || d, h = (ge.get(a, "events") || {})[n.type] && ge.get(a, "handle"), h && h.apply(a, i), h = c && a[c], h && oe.acceptData(a) && h.apply && h.apply(a, i) === !1 && n.preventDefault();
return n.type = d, o || n.isDefaultPrevented() || p._default && p._default.apply(f.pop(), i) !== !1 || !oe.acceptData(r) || c && oe.isFunction(r[d]) && !oe.isWindow(r) && (l = r[c], l && (r[c] = null), oe.event.triggered = d, r[d](), oe.event.triggered = e, l && (r[c] = l)), n.result
}
},
dispatch: function (t) {
t = oe.event.fix(t);
var n, i, r, o, s, a = [],
l = te.call(arguments),
u = (ge.get(this, "events") || {})[t.type] || [],
c = oe.event.special[t.type] || {};
if (l[0] = t, t.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, t) !== !1) {
for (a = oe.event.handlers.call(this, t, u), n = 0;
(o = a[n++]) && !t.isPropagationStopped();)
for (t.currentTarget = o.elem, i = 0;
(s = o.handlers[i++]) && !t.isImmediatePropagationStopped();)(!t.namespace_re || t.namespace_re.test(s.namespace)) && (t.handleObj = s, t.data = s.data, r = ((oe.event.special[s.origType] || {}).handle || s.handler).apply(o.elem, l), r !== e && (t.result = r) === !1 && (t.preventDefault(), t.stopPropagation()));
return c.postDispatch && c.postDispatch.call(this, t), t.result
}
},
handlers: function (t, n) {
var i, r, o, s, a = [],
l = n.delegateCount,
u = t.target;
if (l && u.nodeType && (!t.button || "click" !== t.type))
for (; u !== this; u = u.parentNode || this)
if (u.disabled !== !0 || "click" !== t.type) {
for (r = [], i = 0; l > i; i++) s = n[i], o = s.selector + " ", r[o] === e && (r[o] = s.needsContext ? oe(o, this).index(u) >= 0 : oe.find(o, this, null, [u]).length), r[o] && r.push(s);
r.length && a.push({
elem: u,
handlers: r
})
}
return n.length > l && a.push({
elem: this,
handlers: n.slice(l)
}), a
},
props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: "char charCode key keyCode".split(" "),
filter: function (t, e) {
return null == t.which && (t.which = null != e.charCode ? e.charCode : e.keyCode), t
}
},
mouseHooks: {
props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function (t, n) {
var i, r, o, s = n.button;
return null == t.pageX && null != n.clientX && (i = t.target.ownerDocument || W, r = i.documentElement, o = i.body, t.pageX = n.clientX + (r && r.scrollLeft || o && o.scrollLeft || 0) - (r && r.clientLeft || o && o.clientLeft || 0), t.pageY = n.clientY + (r && r.scrollTop || o && o.scrollTop || 0) - (r && r.clientTop || o && o.clientTop || 0)), t.which || s === e || (t.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 : 0), t
}
},
fix: function (t) {
if (t[oe.expando]) return t;
var e, n, i, r = t.type,
o = t,
s = this.fixHooks[r];
for (s || (this.fixHooks[r] = s = Ce.test(r) ? this.mouseHooks : ke.test(r) ? this.keyHooks : {}), i = s.props ? this.props.concat(s.props) : this.props, t = new oe.Event(o), e = i.length; e--;) n = i[e], t[n] = o[n];
return t.target || (t.target = W), 3 === t.target.nodeType && (t.target = t.target.parentNode), s.filter ? s.filter(t, o) : t
},
special: {
load: {
noBubble: !0
},
focus: {
trigger: function () {
return this !== l() && this.focus ? (this.focus(), !1) : e
},
delegateType: "focusin"
},
blur: {
trigger: function () {
return this === l() && this.blur ? (this.blur(), !1) : e
},
delegateType: "focusout"
},
click: {
trigger: function () {
return "checkbox" === this.type && this.click && oe.nodeName(this, "input") ? (this.click(), !1) : e
},
_default: function (t) {
return oe.nodeName(t.target, "a")
}
},
beforeunload: {
postDispatch: function (t) {
t.result !== e && (t.originalEvent.returnValue = t.result)
}
}
},
simulate: function (t, e, n, i) {
var r = oe.extend(new oe.Event, n, {
type: t,
isSimulated: !0,
originalEvent: {}
});
i ? oe.event.trigger(r, null, e) : oe.event.dispatch.call(e, r), r.isDefaultPrevented() && n.preventDefault()
}
}, oe.removeEvent = function (t, e, n) {
t.removeEventListener && t.removeEventListener(e, n, !1)
}, oe.Event = function (t, n) {
return this instanceof oe.Event ? (t && t.type ? (this.originalEvent = t, this.type = t.type, this.isDefaultPrevented = t.defaultPrevented || t.getPreventDefault && t.getPreventDefault() ? s : a) : this.type = t, n && oe.extend(this, n), this.timeStamp = t && t.timeStamp || oe.now(), this[oe.expando] = !0, e) : new oe.Event(t, n)
}, oe.Event.prototype = {
isDefaultPrevented: a,
isPropagationStopped: a,
isImmediatePropagationStopped: a,
preventDefault: function () {
var t = this.originalEvent;
this.isDefaultPrevented = s, t && t.preventDefault && t.preventDefault()
},
stopPropagation: function () {
var t = this.originalEvent;
this.isPropagationStopped = s, t && t.stopPropagation && t.stopPropagation()
},
stopImmediatePropagation: function () {
this.isImmediatePropagationStopped = s, this.stopPropagation()
}
}, oe.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function (t, e) {
oe.event.special[t] = {
delegateType: e,
bindType: e,
handle: function (t) {
var n, i = this,
r = t.relatedTarget,
o = t.handleObj;
return (!r || r !== i && !oe.contains(i, r)) && (t.type = o.origType, n = o.handler.apply(this, arguments), t.type = e), n
}
}
}), oe.support.focusinBubbles || oe.each({
focus: "focusin",
blur: "focusout"
}, function (t, e) {
var n = 0,
i = function (t) {
oe.event.simulate(e, t.target, oe.event.fix(t), !0)
};
oe.event.special[e] = {
setup: function () {
0 === n++ && W.addEventListener(t, i, !0)
},
teardown: function () {
0 === --n && W.removeEventListener(t, i, !0)
}
}
}), oe.fn.extend({
on: function (t, n, i, r, o) {
var s, l;
if ("object" == typeof t) {
"string" != typeof n && (i = i || n, n = e);
for (l in t) this.on(l, n, i, t[l], o);
return this
}
if (null == i && null == r ? (r = n, i = n = e) : null == r && ("string" == typeof n ? (r = i, i = e) : (r = i, i = n, n = e)), r === !1) r = a;
else if (!r) return this;
return 1 === o && (s = r, r = function (t) {
return oe().off(t), s.apply(this, arguments)
}, r.guid = s.guid || (s.guid = oe.guid++)), this.each(function () {
oe.event.add(this, t, r, i, n)
})
},
one: function (t, e, n, i) {
return this.on(t, e, n, i, 1)
},
off: function (t, n, i) {
var r, o;
if (t && t.preventDefault && t.handleObj) return r = t.handleObj, oe(t.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
if ("object" == typeof t) {
for (o in t) this.off(o, n, t[o]);
return this
}
return (n === !1 || "function" == typeof n) && (i = n, n = e), i === !1 && (i = a), this.each(function () {
oe.event.remove(this, t, i, n)
})
},
trigger: function (t, e) {
return this.each(function () {
oe.event.trigger(t, e, this)
})
},
triggerHandler: function (t, n) {
var i = this[0];
return i ? oe.event.trigger(t, n, i, !0) : e
}
});
var Ne = /^.[^:#\[\.,]*$/,
De = /^(?:parents|prev(?:Until|All))/,
Oe = oe.expr.match.needsContext,
je = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
oe.fn.extend({
find: function (t) {
var e, n = [],
i = this,
r = i.length;
if ("string" != typeof t) return this.pushStack(oe(t).filter(function () {
for (e = 0; r > e; e++)
if (oe.contains(i[e], this)) return !0
}));
for (e = 0; r > e; e++) oe.find(t, i[e], n);
return n = this.pushStack(r > 1 ? oe.unique(n) : n), n.selector = this.selector ? this.selector + " " + t : t, n
},
has: function (t) {
var e = oe(t, this),
n = e.length;
return this.filter(function () {
for (var t = 0; n > t; t++)
if (oe.contains(this, e[t])) return !0
})
},
not: function (t) {
return this.pushStack(c(this, t || [], !0))
},
filter: function (t) {
return this.pushStack(c(this, t || [], !1))
},
is: function (t) {
return !!c(this, "string" == typeof t && Oe.test(t) ? oe(t) : t || [], !1).length
},
closest: function (t, e) {
for (var n, i = 0, r = this.length, o = [], s = Oe.test(t) || "string" != typeof t ? oe(t, e || this.context) : 0; r > i; i++)
for (n = this[i]; n && n !== e; n = n.parentNode)
if (11 > n.nodeType && (s ? s.index(n) > -1 : 1 === n.nodeType && oe.find.matchesSelector(n, t))) {
n = o.push(n);
break
}
return this.pushStack(o.length > 1 ? oe.unique(o) : o)
},
index: function (t) {
return t ? "string" == typeof t ? ee.call(oe(t), this[0]) : ee.call(this, t.jquery ? t[0] : t) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
},
add: function (t, e) {
var n = "string" == typeof t ? oe(t, e) : oe.makeArray(t && t.nodeType ? [t] : t),
i = oe.merge(this.get(), n);
return this.pushStack(oe.unique(i))
},
addBack: function (t) {
return this.add(null == t ? this.prevObject : this.prevObject.filter(t))
}
}), oe.each({
parent: function (t) {
var e = t.parentNode;
return e && 11 !== e.nodeType ? e : null
},
parents: function (t) {
return oe.dir(t, "parentNode")
},
parentsUntil: function (t, e, n) {
return oe.dir(t, "parentNode", n)
},
next: function (t) {
return u(t, "nextSibling")
},
prev: function (t) {
return u(t, "previousSibling")
},
nextAll: function (t) {
return oe.dir(t, "nextSibling")
},
prevAll: function (t) {
return oe.dir(t, "previousSibling")
},
nextUntil: function (t, e, n) {
return oe.dir(t, "nextSibling", n)
},
prevUntil: function (t, e, n) {
return oe.dir(t, "previousSibling", n)
},
siblings: function (t) {
return oe.sibling((t.parentNode || {}).firstChild, t)
},
children: function (t) {
return oe.sibling(t.firstChild)
},
contents: function (t) {
return t.contentDocument || oe.merge([], t.childNodes)
}
}, function (t, e) {
oe.fn[t] = function (n, i) {
var r = oe.map(this, e, n);
return "Until" !== t.slice(-5) && (i = n), i && "string" == typeof i && (r = oe.filter(i, r)), this.length > 1 && (je[t] || oe.unique(r), De.test(t) && r.reverse()), this.pushStack(r)
}
}), oe.extend({
filter: function (t, e, n) {
var i = e[0];
return n && (t = ":not(" + t + ")"), 1 === e.length && 1 === i.nodeType ? oe.find.matchesSelector(i, t) ? [i] : [] : oe.find.matches(t, oe.grep(e, function (t) {
return 1 === t.nodeType
}))
},
dir: function (t, n, i) {
for (var r = [], o = i !== e;
(t = t[n]) && 9 !== t.nodeType;)
if (1 === t.nodeType) {
if (o && oe(t).is(i)) break;
r.push(t)
}
return r
},
sibling: function (t, e) {
for (var n = []; t; t = t.nextSibling) 1 === t.nodeType && t !== e && n.push(t);
return n
}
});
var Le = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
Ae = /<([\w:]+)/,
Pe = /<|&#?\w+;/,
Me = /<(?:script|style|link)/i,
Fe = /^(?:checkbox|radio)$/i,
Re = /checked\s*(?:[^=]|=\s*.checked.)/i,
$e = /^$|\/(?:java|ecma)script/i,
Ie = /^true\/(.*)/,
qe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
He = {
option: [1, "<select multiple='multiple'>", "</select>"],
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, "", ""]
};
He.optgroup = He.option, He.tbody = He.tfoot = He.colgroup = He.caption = He.thead, He.th = He.td, oe.fn.extend({
text: function (t) {
return oe.access(this, function (t) {
return t === e ? oe.text(this) : this.empty().append((this[0] && this[0].ownerDocument || W).createTextNode(t))
}, null, t, arguments.length)
},
append: function () {
return this.domManip(arguments, function (t) {
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
var e = h(this, t);
e.appendChild(t)
}
})
},
prepend: function () {
return this.domManip(arguments, function (t) {
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
var e = h(this, t);
e.insertBefore(t, e.firstChild)
}
})
},
before: function () {
return this.domManip(arguments, function (t) {
this.parentNode && this.parentNode.insertBefore(t, this)
})
},
after: function () {
return this.domManip(arguments, function (t) {
this.parentNode && this.parentNode.insertBefore(t, this.nextSibling)
})
},
remove: function (t, e) {
for (var n, i = t ? oe.filter(t, this) : this, r = 0; null != (n = i[r]); r++) e || 1 !== n.nodeType || oe.cleanData(g(n)), n.parentNode && (e && oe.contains(n.ownerDocument, n) && d(g(n, "script")), n.parentNode.removeChild(n));
return this
},
empty: function () {
for (var t, e = 0; null != (t = this[e]); e++) 1 === t.nodeType && (oe.cleanData(g(t, !1)), t.textContent = "");
return this
},
clone: function (t, e) {
return t = null == t ? !1 : t, e = null == e ? t : e, this.map(function () {
return oe.clone(this, t, e)
})
},
html: function (t) {
return oe.access(this, function (t) {
var n = this[0] || {},
i = 0,
r = this.length;
if (t === e && 1 === n.nodeType) return n.innerHTML;
if ("string" == typeof t && !Me.test(t) && !He[(Ae.exec(t) || ["", ""])[1].toLowerCase()]) {
t = t.replace(Le, "<$1></$2>");
try {
for (; r > i; i++) n = this[i] || {}, 1 === n.nodeType && (oe.cleanData(g(n, !1)), n.innerHTML = t);
n = 0
} catch (o) {}
}
n && this.empty().append(t)
}, null, t, arguments.length)
},
replaceWith: function () {
var t = oe.map(this, function (t) {
return [t.nextSibling, t.parentNode]
}),
e = 0;
return this.domManip(arguments, function (n) {
var i = t[e++],
r = t[e++];
r && (i && i.parentNode !== r && (i = this.nextSibling), oe(this).remove(), r.insertBefore(n, i))
}, !0), e ? this : this.remove()
},
detach: function (t) {
return this.remove(t, !0)
},
domManip: function (t, e, n) {
t = K.apply([], t);
var i, r, o, s, a, l, u = 0,
c = this.length,
h = this,
d = c - 1,
m = t[0],
y = oe.isFunction(m);
if (y || !(1 >= c || "string" != typeof m || oe.support.checkClone) && Re.test(m)) return this.each(function (i) {
var r = h.eq(i);
y && (t[0] = m.call(this, i, r.html())), r.domManip(t, e, n)
});
if (c && (i = oe.buildFragment(t, this[0].ownerDocument, !1, !n && this), r = i.firstChild, 1 === i.childNodes.length && (i = r), r)) {
for (o = oe.map(g(i, "script"), p), s = o.length; c > u; u++) a = i, u !== d && (a = oe.clone(a, !0, !0), s && oe.merge(o, g(a, "script"))), e.call(this[u], a, u);
if (s)
for (l = o[o.length - 1].ownerDocument, oe.map(o, f), u = 0; s > u; u++) a = o[u], $e.test(a.type || "") && !ge.access(a, "globalEval") && oe.contains(l, a) && (a.src ? oe._evalUrl(a.src) : oe.globalEval(a.textContent.replace(qe, "")))
}
return this
}
}), oe.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function (t, e) {
oe.fn[t] = function (t) {
for (var n, i = [], r = oe(t), o = r.length - 1, s = 0; o >= s; s++) n = s === o ? this : this.clone(!0), oe(r[s])[e](n), Z.apply(i, n.get());
return this.pushStack(i)
}
}), oe.extend({
clone: function (t, e, n) {
var i, r, o, s, a = t.cloneNode(!0),
l = oe.contains(t.ownerDocument, t);
if (!(oe.support.noCloneChecked || 1 !== t.nodeType && 11 !== t.nodeType || oe.isXMLDoc(t)))
for (s = g(a), o = g(t), i = 0, r = o.length; r > i; i++) y(o[i], s[i]);
if (e)
if (n)
for (o = o || g(t), s = s || g(a), i = 0, r = o.length; r > i; i++) m(o[i], s[i]);
else m(t, a);
return s = g(a, "script"), s.length > 0 && d(s, !l && g(t, "script")), a
},
buildFragment: function (t, e, n, i) {
for (var r, o, s, a, l, u, c = 0, h = t.length, p = e.createDocumentFragment(), f = []; h > c; c++)
if (r = t[c], r || 0 === r)
if ("object" === oe.type(r)) oe.merge(f, r.nodeType ? [r] : r);
else if (Pe.test(r)) {
for (o = o || p.appendChild(e.createElement("div")), s = (Ae.exec(r) || ["", ""])[1].toLowerCase(), a = He[s] || He._default, o.innerHTML = a[1] + r.replace(Le, "<$1></$2>") + a[2], u = a[0]; u--;) o = o.lastChild;
oe.merge(f, o.childNodes), o = p.firstChild, o.textContent = ""
} else f.push(e.createTextNode(r));
for (p.textContent = "", c = 0; r = f[c++];)
if ((!i || -1 === oe.inArray(r, i)) && (l = oe.contains(r.ownerDocument, r), o = g(p.appendChild(r), "script"), l && d(o), n))
for (u = 0; r = o[u++];) $e.test(r.type || "") && n.push(r);
return p
},
cleanData: function (t) {
for (var n, i, o, s, a, l, u = oe.event.special, c = 0;
(i = t[c]) !== e; c++) {
if (r.accepts(i) && (a = i[ge.expando], a && (n = ge.cache[a]))) {
if (o = Object.keys(n.events || {}), o.length)
for (l = 0;
(s = o[l]) !== e; l++) u[s] ? oe.event.remove(i, s) : oe.removeEvent(i, s, n.handle);
ge.cache[a] && delete ge.cache[a]
}
delete me.cache[i[me.expando]]
}
},
_evalUrl: function (t) {
return oe.ajax({
url: t,
type: "GET",
dataType: "script",
async: !1,
global: !1,
"throws": !0
})
}
}), oe.fn.extend({
wrapAll: function (t) {
var e;
return oe.isFunction(t) ? this.each(function (e) {
oe(this).wrapAll(t.call(this, e))
}) : (this[0] && (e = oe(t, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && e.insertBefore(this[0]), e.map(function () {
for (var t = this; t.firstElementChild;) t = t.firstElementChild;
return t
}).append(this)), this)
},
wrapInner: function (t) {
return oe.isFunction(t) ? this.each(function (e) {
oe(this).wrapInner(t.call(this, e))
}) : this.each(function () {
var e = oe(this),
n = e.contents();
n.length ? n.wrapAll(t) : e.append(t)
})
},
wrap: function (t) {
var e = oe.isFunction(t);
return this.each(function (n) {
oe(this).wrapAll(e ? t.call(this, n) : t)
})
},
unwrap: function () {
return this.parent().each(function () {
oe.nodeName(this, "body") || oe(this).replaceWith(this.childNodes)
}).end()
}
});
var Be, Ve, ze = /^(none|table(?!-c[ea]).+)/,
We = /^margin/,
Ue = RegExp("^(" + se + ")(.*)$", "i"),
Xe = RegExp("^(" + se + ")(?!px)[a-z%]+$", "i"),
Ye = RegExp("^([+-])=(" + se + ")", "i"),
Ge = {
BODY: "block"
},
Qe = {
position: "absolute",
visibility: "hidden",
display: "block"
},
Je = {
letterSpacing: 0,
fontWeight: 400
},
Ke = ["Top", "Right", "Bottom", "Left"],
Ze = ["Webkit", "O", "Moz", "ms"];
oe.fn.extend({
css: function (t, n) {
return oe.access(this, function (t, n, i) {
var r, o, s = {},
a = 0;
if (oe.isArray(n)) {
for (r = b(t), o = n.length; o > a; a++) s[n[a]] = oe.css(t, n[a], !1, r);
return s
}
return i !== e ? oe.style(t, n, i) : oe.css(t, n)
}, t, n, arguments.length > 1)
},
show: function () {
return x(this, !0)
},
hide: function () {
return x(this)
},
toggle: function (t) {
return "boolean" == typeof t ? t ? this.show() : this.hide() : this.each(function () {
_(this) ? oe(this).show() : oe(this).hide()
})
}
}), oe.extend({
cssHooks: {
opacity: {
get: function (t, e) {
if (e) {
var n = Be(t, "opacity");
return "" === n ? "1" : n
}
}
}
},
cssNumber: {
columnCount: !0,
fillOpacity: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
"float": "cssFloat"
},
style: function (t, n, i, r) {
if (t && 3 !== t.nodeType && 8 !== t.nodeType && t.style) {
var o, s, a, l = oe.camelCase(n),
u = t.style;
return n = oe.cssProps[l] || (oe.cssProps[l] = v(u, l)), a = oe.cssHooks[n] || oe.cssHooks[l], i === e ? a && "get" in a && (o = a.get(t, !1, r)) !== e ? o : u[n] : (s = typeof i, "string" === s && (o = Ye.exec(i)) && (i = (o[1] + 1) * o[2] + parseFloat(oe.css(t, n)), s = "number"), null == i || "number" === s && isNaN(i) || ("number" !== s || oe.cssNumber[l] || (i += "px"), oe.support.clearCloneStyle || "" !== i || 0 !== n.indexOf("background") || (u[n] = "inherit"), a && "set" in a && (i = a.set(t, i, r)) === e || (u[n] = i)), e)
}
},
css: function (t, n, i, r) {
var o, s, a, l = oe.camelCase(n);
return n = oe.cssProps[l] || (oe.cssProps[l] = v(t.style, l)), a = oe.cssHooks[n] || oe.cssHooks[l], a && "get" in a && (o = a.get(t, !0, i)), o === e && (o = Be(t, n, r)), "normal" === o && n in Je && (o = Je[n]), "" === i || i ? (s = parseFloat(o), i === !0 || oe.isNumeric(s) ? s || 0 : o) : o
}
}), Be = function (t, n, i) {
var r, o, s, a = i || b(t),
l = a ? a.getPropertyValue(n) || a[n] : e,
u = t.style;
return a && ("" !== l || oe.contains(t.ownerDocument, t) || (l = oe.style(t, n)), Xe.test(l) && We.test(n) && (r = u.width, o = u.minWidth, s = u.maxWidth, u.minWidth = u.maxWidth = u.width = l, l = a.width, u.width = r, u.minWidth = o, u.maxWidth = s)), l
}, oe.each(["height", "width"], function (t, n) {
oe.cssHooks[n] = {
get: function (t, i, r) {
return i ? 0 === t.offsetWidth && ze.test(oe.css(t, "display")) ? oe.swap(t, Qe, function () {
return k(t, n, r)
}) : k(t, n, r) : e
},
set: function (t, e, i) {
var r = i && b(t);
return w(t, e, i ? T(t, n, i, oe.support.boxSizing && "border-box" === oe.css(t, "boxSizing", !1, r), r) : 0)
}
}
}), oe(function () {
oe.support.reliableMarginRight || (oe.cssHooks.marginRight = {
get: function (t, n) {
return n ? oe.swap(t, {
display: "inline-block"
}, Be, [t, "marginRight"]) : e
}
}), !oe.support.pixelPosition && oe.fn.position && oe.each(["top", "left"], function (t, n) {
oe.cssHooks[n] = {
get: function (t, i) {
return i ? (i = Be(t, n), Xe.test(i) ? oe(t).position()[n] + "px" : i) : e
}
}
})
}), oe.expr && oe.expr.filters && (oe.expr.filters.hidden = function (t) {
return 0 >= t.offsetWidth && 0 >= t.offsetHeight
}, oe.expr.filters.visible = function (t) {
return !oe.expr.filters.hidden(t)
}), oe.each({
margin: "",
padding: "",
border: "Width"
}, function (t, e) {
oe.cssHooks[t + e] = {
expand: function (n) {
for (var i = 0, r = {}, o = "string" == typeof n ? n.split(" ") : [n]; 4 > i; i++) r[t + Ke[i] + e] = o[i] || o[i - 2] || o[0];
return r
}
}, We.test(t) || (oe.cssHooks[t + e].set = w)
});
var tn = /%20/g,
en = /\[\]$/,
nn = /\r?\n/g,
rn = /^(?:submit|button|image|reset|file)$/i,
on = /^(?:input|select|textarea|keygen)/i;
oe.fn.extend({
serialize: function () {
return oe.param(this.serializeArray())
},
serializeArray: function () {
return this.map(function () {
var t = oe.prop(this, "elements");
return t ? oe.makeArray(t) : this
}).filter(function () {
var t = this.type;
return this.name && !oe(this).is(":disabled") && on.test(this.nodeName) && !rn.test(t) && (this.checked || !Fe.test(t))
}).map(function (t, e) {
var n = oe(this).val();
return null == n ? null : oe.isArray(n) ? oe.map(n, function (t) {
return {
name: e.name,
value: t.replace(nn, "\r\n")
}
}) : {
name: e.name,
value: n.replace(nn, "\r\n")
}
}).get()
}
}), oe.param = function (t, n) {
var i, r = [],
o = function (t, e) {
e = oe.isFunction(e) ? e() : null == e ? "" : e, r[r.length] = encodeURIComponent(t) + "=" + encodeURIComponent(e)
};
if (n === e && (n = oe.ajaxSettings && oe.ajaxSettings.traditional), oe.isArray(t) || t.jquery && !oe.isPlainObject(t)) oe.each(t, function () {
o(this.name, this.value)
});
else
for (i in t) E(i, t[i], n, o);
return r.join("&").replace(tn, "+")
}, oe.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (t, e) {
oe.fn[e] = function (t, n) {
return arguments.length > 0 ? this.on(e, null, t, n) : this.trigger(e)
}
}), oe.fn.extend({
hover: function (t, e) {
return this.mouseenter(t).mouseleave(e || t)
},
bind: function (t, e, n) {
return this.on(t, null, e, n)
},
unbind: function (t, e) {
return this.off(t, null, e)
},
delegate: function (t, e, n, i) {
return this.on(e, t, n, i)
},
undelegate: function (t, e, n) {
return 1 === arguments.length ? this.off(t, "**") : this.off(e, t || "**", n)
}
});
var sn, an, ln = oe.now(),
un = /\?/,
cn = /#.*$/,
hn = /([?&])_=[^&]*/,
pn = /^(.*?):[ \t]*([^\r\n]*)$/gm,
fn = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
dn = /^(?:GET|HEAD)$/,
mn = /^\/\//,
gn = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
yn = oe.fn.load,
vn = {},
_n = {},
bn = "*/".concat("*");
try {
an = z.href
} catch (xn) {
an = W.createElement("a"), an.href = "", an = an.href
}
sn = gn.exec(an.toLowerCase()) || [], oe.fn.load = function (t, n, i) {
if ("string" != typeof t && yn) return yn.apply(this, arguments);
var r, o, s, a = this,
l = t.indexOf(" ");
return l >= 0 && (r = t.slice(l), t = t.slice(0, l)), oe.isFunction(n) ? (i = n, n = e) : n && "object" == typeof n && (o = "POST"), a.length > 0 && oe.ajax({
url: t,
type: o,
dataType: "html",
data: n
}).done(function (t) {
s = arguments, a.html(r ? oe("<div>").append(oe.parseHTML(t)).find(r) : t)
}).complete(i && function (t, e) {
a.each(i, s || [t.responseText, e, t])
}), this
}, oe.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (t, e) {
oe.fn[e] = function (t) {
return this.on(e, t)
}
}), oe.extend({
active: 0,
lastModified: {},
etag: {},
ajaxSettings: {
url: an,
type: "GET",
isLocal: fn.test(sn[1]),
global: !0,
processData: !0,
async: !0,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
accepts: {
"*": bn,
text: "text/plain",
html: "text/html",
xml: "application/xml, text/xml",
json: "application/json, text/javascript"
},
contents: {
xml: /xml/,
html: /html/,
json: /json/
},
responseFields: {
xml: "responseXML",
text: "responseText",
json: "responseJSON"
},
converters: {
"* text": String,
"text html": !0,
"text json": oe.parseJSON,
"text xml": oe.parseXML
},
flatOptions: {
url: !0,
context: !0
}
},
ajaxSetup: function (t, e) {
return e ? O(O(t, oe.ajaxSettings), e) : O(oe.ajaxSettings, t)
},
ajaxPrefilter: N(vn),
ajaxTransport: N(_n),
ajax: function (t, n) {
function i(t, n, i, a) {
var u, h, v, _, x, T = n;
2 !== b && (b = 2, l && clearTimeout(l), r = e, s = a || "", w.readyState = t > 0 ? 4 : 0, u = t >= 200 && 300 > t || 304 === t, i && (_ = j(p, w, i)), _ = L(p, _, w, u), u ? (p.ifModified && (x = w.getResponseHeader("Last-Modified"), x && (oe.lastModified[o] = x), x = w.getResponseHeader("etag"), x && (oe.etag[o] = x)), 204 === t || "HEAD" === p.type ? T = "nocontent" : 304 === t ? T = "notmodified" : (T = _.state, h = _.data, v = _.error, u = !v)) : (v = T, (t || !T) && (T = "error", 0 > t && (t = 0))), w.status = t, w.statusText = (n || T) + "", u ? m.resolveWith(f, [h, T, w]) : m.rejectWith(f, [w, T, v]), w.statusCode(y), y = e, c && d.trigger(u ? "ajaxSuccess" : "ajaxError", [w, p, u ? h : v]), g.fireWith(f, [w, T]), c && (d.trigger("ajaxComplete", [w, p]), --oe.active || oe.event.trigger("ajaxStop")))
}
"object" == typeof t && (n = t, t = e), n = n || {};
var r, o, s, a, l, u, c, h, p = oe.ajaxSetup({}, n),
f = p.context || p,
d = p.context && (f.nodeType || f.jquery) ? oe(f) : oe.event,
m = oe.Deferred(),
g = oe.Callbacks("once memory"),
y = p.statusCode || {},
v = {},
_ = {},
b = 0,
x = "canceled",
w = {
readyState: 0,
getResponseHeader: function (t) {
var e;
if (2 === b) {
if (!a)
for (a = {}; e = pn.exec(s);) a[e[1].toLowerCase()] = e[2];
e = a[t.toLowerCase()]
}
return null == e ? null : e
},
getAllResponseHeaders: function () {
return 2 === b ? s : null
},
setRequestHeader: function (t, e) {
var n = t.toLowerCase();
return b || (t = _[n] = _[n] || t, v[t] = e), this
},
overrideMimeType: function (t) {
return b || (p.mimeType = t), this
},
statusCode: function (t) {
var e;
if (t)
if (2 > b)
for (e in t) y[e] = [y[e], t[e]];
else w.always(t[w.status]);
return this
},
abort: function (t) {
var e = t || x;
return r && r.abort(e), i(0, e), this
}
};
if (m.promise(w).complete = g.add, w.success = w.done, w.error = w.fail, p.url = ((t || p.url || an) + "").replace(cn, "").replace(mn, sn[1] + "//"), p.type = n.method || n.type || p.method || p.type, p.dataTypes = oe.trim(p.dataType || "*").toLowerCase().match(ae) || [""], null == p.crossDomain && (u = gn.exec(p.url.toLowerCase()), p.crossDomain = !(!u || u[1] === sn[1] && u[2] === sn[2] && (u[3] || ("http:" === u[1] ? "80" : "443")) === (sn[3] || ("http:" === sn[1] ? "80" : "443")))), p.data && p.processData && "string" != typeof p.data && (p.data = oe.param(p.data, p.traditional)), D(vn, p, n, w), 2 === b) return w;
c = p.global, c && 0 === oe.active++ && oe.event.trigger("ajaxStart"), p.type = p.type.toUpperCase(), p.hasContent = !dn.test(p.type), o = p.url, p.hasContent || (p.data && (o = p.url += (un.test(o) ? "&" : "?") + p.data, delete p.data), p.cache === !1 && (p.url = hn.test(o) ? o.replace(hn, "$1_=" + ln++) : o + (un.test(o) ? "&" : "?") + "_=" + ln++)), p.ifModified && (oe.lastModified[o] && w.setRequestHeader("If-Modified-Since", oe.lastModified[o]), oe.etag[o] && w.setRequestHeader("If-None-Match", oe.etag[o])), (p.data && p.hasContent && p.contentType !== !1 || n.contentType) && w.setRequestHeader("Content-Type", p.contentType), w.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + bn + "; q=0.01" : "") : p.accepts["*"]);
for (h in p.headers) w.setRequestHeader(h, p.headers[h]);
if (p.beforeSend && (p.beforeSend.call(f, w, p) === !1 || 2 === b)) return w.abort();
x = "abort";
for (h in {
success: 1,
error: 1,
complete: 1
}) w[h](p[h]);
if (r = D(_n, p, n, w)) {
w.readyState = 1, c && d.trigger("ajaxSend", [w, p]), p.async && p.timeout > 0 && (l = setTimeout(function () {
w.abort("timeout")
}, p.timeout));
try {
b = 1, r.send(v, i)
} catch (T) {
if (!(2 > b)) throw T;
i(-1, T)
}
} else i(-1, "No Transport");
return w
},
getJSON: function (t, e, n) {
return oe.get(t, e, n, "json")
},
getScript: function (t, n) {
return oe.get(t, e, n, "script")
}
}), oe.each(["get", "post"], function (t, n) {
oe[n] = function (t, i, r, o) {
return oe.isFunction(i) && (o = o || r, r = i, i = e), oe.ajax({
url: t,
type: n,
dataType: o,
data: i,
success: r
})
}
}), oe.ajaxSetup({
accepts: {
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents: {
script: /(?:java|ecma)script/
},
converters: {
"text script": function (t) {
return oe.globalEval(t), t
}
}
}), oe.ajaxPrefilter("script", function (t) {
t.cache === e && (t.cache = !1), t.crossDomain && (t.type = "GET")
}), oe.ajaxTransport("script", function (t) {
if (t.crossDomain) {
var e, n;
return {
send: function (i, r) {
e = oe("<script>").prop({
async: !0,
charset: t.scriptCharset,
src: t.url
}).on("load error", n = function (t) {
e.remove(), n = null, t && r("error" === t.type ? 404 : 200, t.type)
}), W.head.appendChild(e[0])
},
abort: function () {
n && n()
}
}
}
});
var wn = [],
Tn = /(=)\?(?=&|$)|\?\?/;
oe.ajaxSetup({
jsonp: "callback",
jsonpCallback: function () {
var t = wn.pop() || oe.expando + "_" + ln++;
return this[t] = !0, t
}
}), oe.ajaxPrefilter("json jsonp", function (n, i, r) {
var o, s, a, l = n.jsonp !== !1 && (Tn.test(n.url) ? "url" : "string" == typeof n.data && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Tn.test(n.data) && "data");
return l || "jsonp" === n.dataTypes[0] ? (o = n.jsonpCallback = oe.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, l ? n[l] = n[l].replace(Tn, "$1" + o) : n.jsonp !== !1 && (n.url += (un.test(n.url) ? "&" : "?") + n.jsonp + "=" + o), n.converters["script json"] = function () {
return a || oe.error(o + " was not called"), a[0]
}, n.dataTypes[0] = "json", s = t[o], t[o] = function () {
a = arguments
}, r.always(function () {
t[o] = s, n[o] && (n.jsonpCallback = i.jsonpCallback, wn.push(o)), a && oe.isFunction(s) && s(a[0]), a = s = e
}), "script") : e
}), oe.ajaxSettings.xhr = function () {
try {
return new XMLHttpRequest
} catch (t) {}
};
var kn = oe.ajaxSettings.xhr(),
Cn = {
0: 200,
1223: 204
},
Sn = 0,
En = {};
t.ActiveXObject && oe(t).on("unload", function () {
for (var t in En) En[t]();
En = e
}), oe.support.cors = !!kn && "withCredentials" in kn, oe.support.ajax = kn = !!kn, oe.ajaxTransport(function (t) {
var n;
return oe.support.cors || kn && !t.crossDomain ? {
send: function (i, r) {
var o, s, a = t.xhr();
if (a.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields)
for (o in t.xhrFields) a[o] = t.xhrFields[o];
t.mimeType && a.overrideMimeType && a.overrideMimeType(t.mimeType), t.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
for (o in i) a.setRequestHeader(o, i[o]);
n = function (t) {
return function () {
n && (delete En[s], n = a.onload = a.onerror = null, "abort" === t ? a.abort() : "error" === t ? r(a.status || 404, a.statusText) : r(Cn[a.status] || a.status, a.statusText, "string" == typeof a.responseText ? {
text: a.responseText
} : e, a.getAllResponseHeaders()))
}
}, a.onload = n(), a.onerror = n("error"), n = En[s = Sn++] = n("abort"), a.send(t.hasContent && t.data || null)
},
abort: function () {
n && n()
}
} : e
});
var Nn, Dn, On = /^(?:toggle|show|hide)$/,
jn = RegExp("^(?:([+-])=|)(" + se + ")([a-z%]*)$", "i"),
Ln = /queueHooks$/,
An = [R],
Pn = {
"*": [
function (t, e) {
var n = this.createTween(t, e),
i = n.cur(),
r = jn.exec(e),
o = r && r[3] || (oe.cssNumber[t] ? "" : "px"),
s = (oe.cssNumber[t] || "px" !== o && +i) && jn.exec(oe.css(n.elem, t)),
a = 1,
l = 20;
if (s && s[3] !== o) {
o = o || s[3], r = r || [], s = +i || 1;
do a = a || ".5", s /= a, oe.style(n.elem, t, s + o); while (a !== (a = n.cur() / i) && 1 !== a && --l)
}
return r && (s = n.start = +s || +i || 0, n.unit = o, n.end = r[1] ? s + (r[1] + 1) * r[2] : +r[2]), n
}
]
};
oe.Animation = oe.extend(M, {
tweener: function (t, e) {
oe.isFunction(t) ? (e = t, t = ["*"]) : t = t.split(" ");
for (var n, i = 0, r = t.length; r > i; i++) n = t[i], Pn[n] = Pn[n] || [], Pn[n].unshift(e)
},
prefilter: function (t, e) {
e ? An.unshift(t) : An.push(t)
}
}), oe.Tween = $, $.prototype = {
constructor: $,
init: function (t, e, n, i, r, o) {
this.elem = t, this.prop = n, this.easing = r || "swing", this.options = e, this.start = this.now = this.cur(), this.end = i, this.unit = o || (oe.cssNumber[n] ? "" : "px")
},
cur: function () {
var t = $.propHooks[this.prop];
return t && t.get ? t.get(this) : $.propHooks._default.get(this)
},
run: function (t) {
var e, n = $.propHooks[this.prop];
return this.pos = e = this.options.duration ? oe.easing[this.easing](t, this.options.duration * t, 0, 1, this.options.duration) : t, this.now = (this.end - this.start) * e + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : $.propHooks._default.set(this), this
}
}, $.prototype.init.prototype = $.prototype, $.propHooks = {
_default: {
get: function (t) {
var e;
return null == t.elem[t.prop] || t.elem.style && null != t.elem.style[t.prop] ? (e = oe.css(t.elem, t.prop, ""), e && "auto" !== e ? e : 0) : t.elem[t.prop]
},
set: function (t) {
oe.fx.step[t.prop] ? oe.fx.step[t.prop](t) : t.elem.style && (null != t.elem.style[oe.cssProps[t.prop]] || oe.cssHooks[t.prop]) ? oe.style(t.elem, t.prop, t.now + t.unit) : t.elem[t.prop] = t.now
}
}
}, $.propHooks.scrollTop = $.propHooks.scrollLeft = {
set: function (t) {
t.elem.nodeType && t.elem.parentNode && (t.elem[t.prop] = t.now)
}
}, oe.each(["toggle", "show", "hide"], function (t, e) {
var n = oe.fn[e];
oe.fn[e] = function (t, i, r) {
return null == t || "boolean" == typeof t ? n.apply(this, arguments) : this.animate(I(e, !0), t, i, r)
}
}), oe.fn.extend({
fadeTo: function (t, e, n, i) {
return this.filter(_).css("opacity", 0).show().end().animate({
opacity: e
}, t, n, i)
},
animate: function (t, e, n, i) {
var r = oe.isEmptyObject(t),
o = oe.speed(e, n, i),
s = function () {
var e = M(this, oe.extend({}, t), o);
(r || ge.get(this, "finish")) && e.stop(!0)
};
return s.finish = s, r || o.queue === !1 ? this.each(s) : this.queue(o.queue, s)
},
stop: function (t, n, i) {
var r = function (t) {
var e = t.stop;
delete t.stop, e(i)
};
return "string" != typeof t && (i = n, n = t, t = e), n && t !== !1 && this.queue(t || "fx", []), this.each(function () {
var e = !0,
n = null != t && t + "queueHooks",
o = oe.timers,
s = ge.get(this);
if (n) s[n] && s[n].stop && r(s[n]);
else
for (n in s) s[n] && s[n].stop && Ln.test(n) && r(s[n]);
for (n = o.length; n--;) o[n].elem !== this || null != t && o[n].queue !== t || (o[n].anim.stop(i), e = !1, o.splice(n, 1));
(e || !i) && oe.dequeue(this, t)
})
},
finish: function (t) {
return t !== !1 && (t = t || "fx"), this.each(function () {
var e, n = ge.get(this),
i = n[t + "queue"],
r = n[t + "queueHooks"],
o = oe.timers,
s = i ? i.length : 0;
for (n.finish = !0, oe.queue(this, t, []), r && r.stop && r.stop.call(this, !0), e = o.length; e--;) o[e].elem === this && o[e].queue === t && (o[e].anim.stop(!0), o.splice(e, 1));
for (e = 0; s > e; e++) i[e] && i[e].finish && i[e].finish.call(this);
delete n.finish
})
}
}), oe.each({
slideDown: I("show"),
slideUp: I("hide"),
slideToggle: I("toggle"),
fadeIn: {
opacity: "show"
},
fadeOut: {
opacity: "hide"
},
fadeToggle: {
opacity: "toggle"
}
}, function (t, e) {
oe.fn[t] = function (t, n, i) {
return this.animate(e, t, n, i)
}
}), oe.speed = function (t, e, n) {
var i = t && "object" == typeof t ? oe.extend({}, t) : {
complete: n || !n && e || oe.isFunction(t) && t,
duration: t,
easing: n && e || e && !oe.isFunction(e) && e
};
return i.duration = oe.fx.off ? 0 : "number" == typeof i.duration ? i.duration : i.duration in oe.fx.speeds ? oe.fx.speeds[i.duration] : oe.fx.speeds._default, (null == i.queue || i.queue === !0) && (i.queue = "fx"), i.old = i.complete, i.complete = function () {
oe.isFunction(i.old) && i.old.call(this), i.queue && oe.dequeue(this, i.queue)
}, i
}, oe.easing = {
linear: function (t) {
return t
},
swing: function (t) {
return .5 - Math.cos(t * Math.PI) / 2
}
}, oe.timers = [], oe.fx = $.prototype.init, oe.fx.tick = function () {
var t, n = oe.timers,
i = 0;
for (Nn = oe.now(); n.length > i; i++) t = n[i], t() || n[i] !== t || n.splice(i--, 1);
n.length || oe.fx.stop(), Nn = e
}, oe.fx.timer = function (t) {
t() && oe.timers.push(t) && oe.fx.start()
}, oe.fx.interval = 13, oe.fx.start = function () {
Dn || (Dn = setInterval(oe.fx.tick, oe.fx.interval))
}, oe.fx.stop = function () {
clearInterval(Dn), Dn = null
}, oe.fx.speeds = {
slow: 600,
fast: 200,
_default: 400
}, oe.fx.step = {}, oe.expr && oe.expr.filters && (oe.expr.filters.animated = function (t) {
return oe.grep(oe.timers, function (e) {
return t === e.elem
}).length
}), oe.fn.offset = function (t) {
if (arguments.length) return t === e ? this : this.each(function (e) {
oe.offset.setOffset(this, t, e)
});
var n, i, r = this[0],
o = {
top: 0,
left: 0
},
s = r && r.ownerDocument;
return s ? (n = s.documentElement, oe.contains(n, r) ? (typeof r.getBoundingClientRect !== V && (o = r.getBoundingClientRect()), i = q(s), {
top: o.top + i.pageYOffset - n.clientTop,
left: o.left + i.pageXOffset - n.clientLeft
}) : o) : e
}, oe.offset = {
setOffset: function (t, e, n) {
var i, r, o, s, a, l, u, c = oe.css(t, "position"),
h = oe(t),
p = {};
"static" === c && (t.style.position = "relative"), a = h.offset(), o = oe.css(t, "top"), l = oe.css(t, "left"), u = ("absolute" === c || "fixed" === c) && (o + l).indexOf("auto") > -1, u ? (i = h.position(), s = i.top, r = i.left) : (s = parseFloat(o) || 0, r = parseFloat(l) || 0), oe.isFunction(e) && (e = e.call(t, n, a)), null != e.top && (p.top = e.top - a.top + s), null != e.left && (p.left = e.left - a.left + r), "using" in e ? e.using.call(t, p) : h.css(p)
}
}, oe.fn.extend({
position: function () {
if (this[0]) {
var t, e, n = this[0],
i = {
top: 0,
left: 0
};
return "fixed" === oe.css(n, "position") ? e = n.getBoundingClientRect() : (t = this.offsetParent(), e = this.offset(), oe.nodeName(t[0], "html") || (i = t.offset()), i.top += oe.css(t[0], "borderTopWidth", !0), i.left += oe.css(t[0], "borderLeftWidth", !0)), {
top: e.top - i.top - oe.css(n, "marginTop", !0),
left: e.left - i.left - oe.css(n, "marginLeft", !0)
}
}
},
offsetParent: function () {
return this.map(function () {
for (var t = this.offsetParent || U; t && !oe.nodeName(t, "html") && "static" === oe.css(t, "position");) t = t.offsetParent;
return t || U
})
}
}), oe.each({
scrollLeft: "pageXOffset",
scrollTop: "pageYOffset"
}, function (n, i) {
var r = "pageYOffset" === i;
oe.fn[n] = function (o) {
return oe.access(this, function (n, o, s) {
var a = q(n);
return s === e ? a ? a[i] : n[o] : (a ? a.scrollTo(r ? t.pageXOffset : s, r ? s : t.pageYOffset) : n[o] = s, e)
}, n, o, arguments.length, null)
}
}), oe.each({
Height: "height",
Width: "width"
}, function (t, n) {
oe.each({
padding: "inner" + t,
content: n,
"": "outer" + t
}, function (i, r) {
oe.fn[r] = function (r, o) {
var s = arguments.length && (i || "boolean" != typeof r),
a = i || (r === !0 || o === !0 ? "margin" : "border");
return oe.access(this, function (n, i, r) {
var o;
return oe.isWindow(n) ? n.document.documentElement["client" + t] : 9 === n.nodeType ? (o = n.documentElement, Math.max(n.body["scroll" + t], o["scroll" + t], n.body["offset" + t], o["offset" + t], o["client" + t])) : r === e ? oe.css(n, i, a) : oe.style(n, i, r, a)
}, n, s ? r : e, s, null)
}
})
}), oe.fn.size = function () {
return this.length
}, oe.fn.andSelf = oe.fn.addBack, "object" == typeof module && module && "object" == typeof module.exports ? module.exports = oe : "function" == typeof define && define.amd && define("jquery", [], function () {
return oe
}), "object" == typeof t && "object" == typeof t.document && (t.jQuery = t.$ = oe)
}(window),
function () {
var t = this,
e = t._,
n = {},
i = Array.prototype,
r = Object.prototype,
o = Function.prototype,
s = i.push,
a = i.slice,
l = i.concat,
u = r.toString,
c = r.hasOwnProperty,
h = i.forEach,
p = i.map,
f = i.reduce,
d = i.reduceRight,
m = i.filter,
g = i.every,
y = i.some,
v = i.indexOf,
_ = i.lastIndexOf,
b = Array.isArray,
x = Object.keys,
w = o.bind,
T = function (t) {
return t instanceof T ? t : this instanceof T ? (this._wrapped = t, void 0) : new T(t)
};
"undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = T), exports._ = T) : t._ = T, T.VERSION = "1.5.2";
var k = T.each = T.forEach = function (t, e, i) {
if (null != t)
if (h && t.forEach === h) t.forEach(e, i);
else if (t.length === +t.length) {
for (var r = 0, o = t.length; o > r; r++)
if (e.call(i, t[r], r, t) === n) return
} else
for (var s = T.keys(t), r = 0, o = s.length; o > r; r++)
if (e.call(i, t[s[r]], s[r], t) === n) return
};
T.map = T.collect = function (t, e, n) {
var i = [];
return null == t ? i : p && t.map === p ? t.map(e, n) : (k(t, function (t, r, o) {
i.push(e.call(n, t, r, o))
}), i)
};
var C = "Reduce of empty array with no initial value";
T.reduce = T.foldl = T.inject = function (t, e, n, i) {
var r = arguments.length > 2;
if (null == t && (t = []), f && t.reduce === f) return i && (e = T.bind(e, i)), r ? t.reduce(e, n) : t.reduce(e);
if (k(t, function (t, o, s) {
r ? n = e.call(i, n, t, o, s) : (n = t, r = !0)
}), !r) throw new TypeError(C);
return n
}, T.reduceRight = T.foldr = function (t, e, n, i) {
var r = arguments.length > 2;
if (null == t && (t = []), d && t.reduceRight === d) return i && (e = T.bind(e, i)), r ? t.reduceRight(e, n) : t.reduceRight(e);
var o = t.length;
if (o !== +o) {
var s = T.keys(t);
o = s.length
}
if (k(t, function (a, l, u) {
l = s ? s[--o] : --o, r ? n = e.call(i, n, t[l], l, u) : (n = t[l], r = !0)
}), !r) throw new TypeError(C);
return n
}, T.find = T.detect = function (t, e, n) {
var i;
return S(t, function (t, r, o) {
return e.call(n, t, r, o) ? (i = t, !0) : void 0
}), i
}, T.filter = T.select = function (t, e, n) {
var i = [];
return null == t ? i : m && t.filter === m ? t.filter(e, n) : (k(t, function (t, r, o) {
e.call(n, t, r, o) && i.push(t)
}), i)
}, T.reject = function (t, e, n) {
return T.filter(t, function (t, i, r) {
return !e.call(n, t, i, r)
}, n)
}, T.every = T.all = function (t, e, i) {
e || (e = T.identity);
var r = !0;
return null == t ? r : g && t.every === g ? t.every(e, i) : (k(t, function (t, o, s) {
return (r = r && e.call(i, t, o, s)) ? void 0 : n
}), !!r)
};
var S = T.some = T.any = function (t, e, i) {
e || (e = T.identity);
var r = !1;
return null == t ? r : y && t.some === y ? t.some(e, i) : (k(t, function (t, o, s) {
return r || (r = e.call(i, t, o, s)) ? n : void 0
}), !!r)
};
T.contains = T.include = function (t, e) {
return null == t ? !1 : v && t.indexOf === v ? -1 != t.indexOf(e) : S(t, function (t) {
return t === e
})
}, T.invoke = function (t, e) {
var n = a.call(arguments, 2),
i = T.isFunction(e);
return T.map(t, function (t) {
return (i ? e : t[e]).apply(t, n)
})
}, T.pluck = function (t, e) {
return T.map(t, function (t) {
return t[e]
})
}, T.where = function (t, e, n) {
return T.isEmpty(e) ? n ? void 0 : [] : T[n ? "find" : "filter"](t, function (t) {
for (var n in e)
if (e[n] !== t[n]) return !1;
return !0
})
}, T.findWhere = function (t, e) {
return T.where(t, e, !0)
}, T.max = function (t, e, n) {
if (!e && T.isArray(t) && t[0] === +t[0] && 65535 > t.length) return Math.max.apply(Math, t);
if (!e && T.isEmpty(t)) return -1 / 0;
var i = {
computed: -1 / 0,
value: -1 / 0
};
return k(t, function (t, r, o) {
var s = e ? e.call(n, t, r, o) : t;
s > i.computed && (i = {
value: t,
computed: s
})
}), i.value
}, T.min = function (t, e, n) {
if (!e && T.isArray(t) && t[0] === +t[0] && 65535 > t.length) return Math.min.apply(Math, t);
if (!e && T.isEmpty(t)) return 1 / 0;
var i = {
computed: 1 / 0,
value: 1 / 0
};
return k(t, function (t, r, o) {
var s = e ? e.call(n, t, r, o) : t;
i.computed > s && (i = {
value: t,
computed: s
})
}), i.value
}, T.shuffle = function (t) {
var e, n = 0,
i = [];
return k(t, function (t) {
e = T.random(n++), i[n - 1] = i[e], i[e] = t
}), i
}, T.sample = function (t, e, n) {
return 2 > arguments.length || n ? t[T.random(t.length - 1)] : T.shuffle(t).slice(0, Math.max(0, e))
};
var E = function (t) {
return T.isFunction(t) ? t : function (e) {
return e[t]
}
};
T.sortBy = function (t, e, n) {
var i = E(e);
return T.pluck(T.map(t, function (t, e, r) {
return {
value: t,
index: e,
criteria: i.call(n, t, e, r)
}
}).sort(function (t, e) {
var n = t.criteria,
i = e.criteria;
if (n !== i) {
if (n > i || void 0 === n) return 1;
if (i > n || void 0 === i) return -1
}
return t.index - e.index
}), "value")
};
var N = function (t) {
return function (e, n, i) {
var r = {},
o = null == n ? T.identity : E(n);
return k(e, function (n, s) {
var a = o.call(i, n, s, e);
t(r, a, n)
}), r
}
};
T.groupBy = N(function (t, e, n) {
(T.has(t, e) ? t[e] : t[e] = []).push(n)
}), T.indexBy = N(function (t, e, n) {
t[e] = n
}), T.countBy = N(function (t, e) {
T.has(t, e) ? t[e]++ : t[e] = 1
}), T.sortedIndex = function (t, e, n, i) {
n = null == n ? T.identity : E(n);
for (var r = n.call(i, e), o = 0, s = t.length; s > o;) {
var a = o + s >>> 1;
r > n.call(i, t[a]) ? o = a + 1 : s = a
}
return o
}, T.toArray = function (t) {
return t ? T.isArray(t) ? a.call(t) : t.length === +t.length ? T.map(t, T.identity) : T.values(t) : []
}, T.size = function (t) {
return null == t ? 0 : t.length === +t.length ? t.length : T.keys(t).length
}, T.first = T.head = T.take = function (t, e, n) {
return null == t ? void 0 : null == e || n ? t[0] : a.call(t, 0, e)
}, T.initial = function (t, e, n) {
return a.call(t, 0, t.length - (null == e || n ? 1 : e))
}, T.last = function (t, e, n) {
return null == t ? void 0 : null == e || n ? t[t.length - 1] : a.call(t, Math.max(t.length - e, 0))
}, T.rest = T.tail = T.drop = function (t, e, n) {
return a.call(t, null == e || n ? 1 : e)
}, T.compact = function (t) {
return T.filter(t, T.identity)
};
var D = function (t, e, n) {
return e && T.every(t, T.isArray) ? l.apply(n, t) : (k(t, function (t) {
T.isArray(t) || T.isArguments(t) ? e ? s.apply(n, t) : D(t, e, n) : n.push(t)
}), n)
};
T.flatten = function (t, e) {
return D(t, e, [])
}, T.without = function (t) {
return T.difference(t, a.call(arguments, 1))
}, T.uniq = T.unique = function (t, e, n, i) {
T.isFunction(e) && (i = n, n = e, e = !1);
var r = n ? T.map(t, n, i) : t,
o = [],
s = [];
return k(r, function (n, i) {
(e ? i && s[s.length - 1] === n : T.contains(s, n)) || (s.push(n), o.push(t[i]))
}), o
}, T.union = function () {
return T.uniq(T.flatten(arguments, !0))
}, T.intersection = function (t) {
var e = a.call(arguments, 1);
return T.filter(T.uniq(t), function (t) {
return T.every(e, function (e) {
return T.indexOf(e, t) >= 0
})
})
}, T.difference = function (t) {
var e = l.apply(i, a.call(arguments, 1));
return T.filter(t, function (t) {
return !T.contains(e, t)
})
}, T.zip = function () {
for (var t = T.max(T.pluck(arguments, "length").concat(0)), e = Array(t), n = 0; t > n; n++) e[n] = T.pluck(arguments, "" + n);
return e
}, T.object = function (t, e) {
if (null == t) return {};
for (var n = {}, i = 0, r = t.length; r > i; i++) e ? n[t[i]] = e[i] : n[t[i][0]] = t[i][1];
return n
}, T.indexOf = function (t, e, n) {
if (null == t) return -1;
var i = 0,
r = t.length;
if (n) {
if ("number" != typeof n) return i = T.sortedIndex(t, e), t[i] === e ? i : -1;
i = 0 > n ? Math.max(0, r + n) : n
}
if (v && t.indexOf === v) return t.indexOf(e, n);
for (; r > i; i++)
if (t[i] === e) return i;
return -1
}, T.lastIndexOf = function (t, e, n) {
if (null == t) return -1;
var i = null != n;
if (_ && t.lastIndexOf === _) return i ? t.lastIndexOf(e, n) : t.lastIndexOf(e);
for (var r = i ? n : t.length; r--;)
if (t[r] === e) return r;
return -1
}, T.range = function (t, e, n) {
1 >= arguments.length && (e = t || 0, t = 0), n = arguments[2] || 1;
for (var i = Math.max(Math.ceil((e - t) / n), 0), r = 0, o = Array(i); i > r;) o[r++] = t, t += n;
return o
};
var O = function () {};
T.bind = function (t, e) {
var n, i;
if (w && t.bind === w) return w.apply(t, a.call(arguments, 1));
if (!T.isFunction(t)) throw new TypeError;
return n = a.call(arguments, 2), i = function () {
if (!(this instanceof i)) return t.apply(e, n.concat(a.call(arguments)));
O.prototype = t.prototype;
var r = new O;
O.prototype = null;
var o = t.apply(r, n.concat(a.call(arguments)));
return Object(o) === o ? o : r
}
}, T.partial = function (t) {
var e = a.call(arguments, 1);
return function () {
return t.apply(this, e.concat(a.call(arguments)))
}
}, T.bindAll = function (t) {
var e = a.call(arguments, 1);
if (0 === e.length) throw Error("bindAll must be passed function names");
return k(e, function (e) {
t[e] = T.bind(t[e], t)
}), t
}, T.memoize = function (t, e) {
var n = {};
return e || (e = T.identity),
function () {
var i = e.apply(this, arguments);
return T.has(n, i) ? n[i] : n[i] = t.apply(this, arguments)
}
}, T.delay = function (t, e) {
var n = a.call(arguments, 2);
return setTimeout(function () {
return t.apply(null, n)
}, e)
}, T.defer = function (t) {
return T.delay.apply(T, [t, 1].concat(a.call(arguments, 1)))
}, T.throttle = function (t, e, n) {
var i, r, o, s = null,
a = 0;
n || (n = {});
var l = function () {
a = n.leading === !1 ? 0 : new Date, s = null, o = t.apply(i, r)
};
return function () {
var u = new Date;
a || n.leading !== !1 || (a = u);
var c = e - (u - a);
return i = this, r = arguments, 0 >= c ? (clearTimeout(s), s = null, a = u, o = t.apply(i, r)) : s || n.trailing === !1 || (s = setTimeout(l, c)), o
}
}, T.debounce = function (t, e, n) {
var i, r, o, s, a;
return function () {
o = this, r = arguments, s = new Date;
var l = function () {
var u = new Date - s;
e > u ? i = setTimeout(l, e - u) : (i = null, n || (a = t.apply(o, r)))
},
u = n && !i;
return i || (i = setTimeout(l, e)), u && (a = t.apply(o, r)), a
}
}, T.once = function (t) {
var e, n = !1;
return function () {
return n ? e : (n = !0, e = t.apply(this, arguments), t = null, e)
}
}, T.wrap = function (t, e) {
return function () {
var n = [t];
return s.apply(n, arguments), e.apply(this, n)
}
}, T.compose = function () {
var t = arguments;
return function () {
for (var e = arguments, n = t.length - 1; n >= 0; n--) e = [t[n].apply(this, e)];
return e[0]
}
}, T.after = function (t, e) {
return function () {
return 1 > --t ? e.apply(this, arguments) : void 0
}
}, T.keys = x || function (t) {
if (t !== Object(t)) throw new TypeError("Invalid object");
var e = [];
for (var n in t) T.has(t, n) && e.push(n);
return e
}, T.values = function (t) {
for (var e = T.keys(t), n = e.length, i = Array(n), r = 0; n > r; r++) i[r] = t[e[r]];
return i
}, T.pairs = function (t) {
for (var e = T.keys(t), n = e.length, i = Array(n), r = 0; n > r; r++) i[r] = [e[r], t[e[r]]];
return i
}, T.invert = function (t) {
for (var e = {}, n = T.keys(t), i = 0, r = n.length; r > i; i++) e[t[n[i]]] = n[i];
return e
}, T.functions = T.methods = function (t) {
var e = [];
for (var n in t) T.isFunction(t[n]) && e.push(n);
return e.sort()
}, T.extend = function (t) {
return k(a.call(arguments, 1), function (e) {
if (e)
for (var n in e) t[n] = e[n]
}), t
}, T.pick = function (t) {
var e = {},
n = l.apply(i, a.call(arguments, 1));
return k(n, function (n) {
n in t && (e[n] = t[n])
}), e
}, T.omit = function (t) {
var e = {},
n = l.apply(i, a.call(arguments, 1));
for (var r in t) T.contains(n, r) || (e[r] = t[r]);
return e
}, T.defaults = function (t) {
return k(a.call(arguments, 1), function (e) {
if (e)
for (var n in e) void 0 === t[n] && (t[n] = e[n])
}), t
}, T.clone = function (t) {
return T.isObject(t) ? T.isArray(t) ? t.slice() : T.extend({}, t) : t
}, T.tap = function (t, e) {
return e(t), t
};
var j = function (t, e, n, i) {
if (t === e) return 0 !== t || 1 / t == 1 / e;
if (null == t || null == e) return t === e;
t instanceof T && (t = t._wrapped), e instanceof T && (e = e._wrapped);
var r = u.call(t);
if (r != u.call(e)) return !1;
switch (r) {
case "[object String]":
return t == e + "";
case "[object Number]":
return t != +t ? e != +e : 0 == t ? 1 / t == 1 / e : t == +e;
case "[object Date]":
case "[object Boolean]":
return +t == +e;
case "[object RegExp]":
return t.source == e.source && t.global == e.global && t.multiline == e.multiline && t.ignoreCase == e.ignoreCase
}
if ("object" != typeof t || "object" != typeof e) return !1;
for (var o = n.length; o--;)
if (n[o] == t) return i[o] == e;
var s = t.constructor,
a = e.constructor;
if (s !== a && !(T.isFunction(s) && s instanceof s && T.isFunction(a) && a instanceof a)) return !1;
n.push(t), i.push(e);
var l = 0,
c = !0;
if ("[object Array]" == r) {
if (l = t.length, c = l == e.length)
for (; l-- && (c = j(t[l], e[l], n, i)););
} else {
for (var h in t)
if (T.has(t, h) && (l++, !(c = T.has(e, h) && j(t[h], e[h], n, i)))) break;
if (c) {
for (h in e)
if (T.has(e, h) && !l--) break;
c = !l
}
}
return n.pop(), i.pop(), c
};
T.isEqual = function (t, e) {
return j(t, e, [], [])
}, T.isEmpty = function (t) {
if (null == t) return !0;
if (T.isArray(t) || T.isString(t)) return 0 === t.length;
for (var e in t)
if (T.has(t, e)) return !1;
return !0
}, T.isElement = function (t) {
return !(!t || 1 !== t.nodeType)
}, T.isArray = b || function (t) {
return "[object Array]" == u.call(t)
}, T.isObject = function (t) {
return t === Object(t)
}, k(["Arguments", "Function", "String", "Number", "Date", "RegExp"], function (t) {
T["is" + t] = function (e) {
return u.call(e) == "[object " + t + "]"
}
}), T.isArguments(arguments) || (T.isArguments = function (t) {
return !(!t || !T.has(t, "callee"))
}), T.isFunction = function (t) {
return "function" == typeof t
}, T.isFinite = function (t) {
return isFinite(t) && !isNaN(parseFloat(t))
}, T.isNaN = function (t) {
return T.isNumber(t) && t != +t
}, T.isBoolean = function (t) {
return t === !0 || t === !1 || "[object Boolean]" == u.call(t)
}, T.isNull = function (t) {
return null === t
}, T.isUndefined = function (t) {
return void 0 === t
}, T.has = function (t, e) {
return c.call(t, e)
}, T.noConflict = function () {
return t._ = e, this
}, T.identity = function (t) {
return t
}, T.times = function (t, e, n) {
for (var i = Array(Math.max(0, t)), r = 0; t > r; r++) i[r] = e.call(n, r);
return i
}, T.random = function (t, e) {
return null == e && (e = t, t = 0), t + Math.floor(Math.random() * (e - t + 1))
};
var L = {
escape: {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#x27;"
}
};
L.unescape = T.invert(L.escape);
var A = {
escape: RegExp("[" + T.keys(L.escape).join("") + "]", "g"),
unescape: RegExp("(" + T.keys(L.unescape).join("|") + ")", "g")
};
T.each(["escape", "unescape"], function (t) {
T[t] = function (e) {
return null == e ? "" : ("" + e).replace(A[t], function (e) {
return L[t][e]
})
}
}), T.result = function (t, e) {
if (null == t) return void 0;
var n = t[e];
return T.isFunction(n) ? n.call(t) : n
}, T.mixin = function (t) {
k(T.functions(t), function (e) {
var n = T[e] = t[e];
T.prototype[e] = function () {
var t = [this._wrapped];
return s.apply(t, arguments), $.call(this, n.apply(T, t))
}
})
};
var P = 0;
T.uniqueId = function (t) {
var e = ++P + "";
return t ? t + e : e
}, T.templateSettings = {
evaluate: /<%([\s\S]+?)%>/g,
interpolate: /<%=([\s\S]+?)%>/g,
escape: /<%-([\s\S]+?)%>/g
};
var M = /(.)^/,
F = {
"'": "'",
"\\": "\\",
"\r": "r",
"\n": "n",
" ": "t",
"\u2028": "u2028",
"\u2029": "u2029"
},
R = /\\|'|\r|\n|\t|\u2028|\u2029/g;
T.template = function (t, e, n) {
var i;
n = T.defaults({}, n, T.templateSettings);
var r = RegExp([(n.escape || M).source, (n.interpolate || M).source, (n.evaluate || M).source].join("|") + "|$", "g"),
o = 0,
s = "__p+='";
t.replace(r, function (e, n, i, r, a) {
return s += t.slice(o, a).replace(R, function (t) {
return "\\" + F[t]
}), n && (s += "'+\n((__t=(" + n + "))==null?'':_.escape(__t))+\n'"), i && (s += "'+\n((__t=(" + i + "))==null?'':__t)+\n'"), r && (s += "';\n" + r + "\n__p+='"), o = a + e.length, e
}), s += "';\n", n.variable || (s = "with(obj||{}){\n" + s + "}\n"), s = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + s + "return __p;\n";
try {
i = Function(n.variable || "obj", "_", s)
} catch (a) {
throw a.source = s, a
}
if (e) return i(e, T);
var l = function (t) {
return i.call(this, t, T)
};
return l.source = "function(" + (n.variable || "obj") + "){\n" + s + "}", l
}, T.chain = function (t) {
return T(t).chain()
};
var $ = function (t) {
return this._chain ? T(t).chain() : t
};
T.mixin(T), k(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (t) {
var e = i[t];
T.prototype[t] = function () {
var n = this._wrapped;
return e.apply(n, arguments), "shift" != t && "splice" != t || 0 !== n.length || delete n[0], $.call(this, n)
}
}), k(["concat", "join", "slice"], function (t) {
var e = i[t];
T.prototype[t] = function () {
return $.call(this, e.apply(this._wrapped, arguments))
}
}), T.extend(T.prototype, {
chain: function () {
return this._chain = !0, this
},
value: function () {
return this._wrapped
}
}), "function" == typeof define && define.amd && define("underscore", [], function () {
return T
})
}.call(this),
function (t, e) {
"undefined" != typeof exports ? e(t, exports, require("underscore")) : "function" == typeof define && define.amd ? define("backbone", ["underscore", "jquery", "exports"], function (n, i, r) {
t.Backbone = e(t, r, n, i)
}) : t.Backbone = e(t, {}, t._, t.jQuery || t.Zepto || t.ender || t.$)
}(this, function (t, e, n, i) {
var r = t.Backbone,
o = [],
s = o.push,
a = o.slice,
l = o.splice;
e.VERSION = "1.0.0", e.$ = i, e.noConflict = function () {
return t.Backbone = r, this
}, e.emulateHTTP = !1, e.emulateJSON = !1;
var u = e.Events = {
on: function (t, e, n) {
if (!h(this, "on", t, [e, n]) || !e) return this;
this._events || (this._events = {});
var i = this._events[t] || (this._events[t] = []);
return i.push({
callback: e,
context: n,
ctx: n || this
}), this
},
once: function (t, e, i) {
if (!h(this, "once", t, [e, i]) || !e) return this;
var r = this,
o = n.once(function () {
r.off(t, o), e.apply(this, arguments)
});
return o._callback = e, this.on(t, o, i)
},
off: function (t, e, i) {
var r, o, s, a, l, u, c, p;
if (!this._events || !h(this, "off", t, [e, i])) return this;
if (!t && !e && !i) return this._events = {}, this;
for (a = t ? [t] : n.keys(this._events), l = 0, u = a.length; u > l; l++)
if (t = a[l], s = this._events[t]) {
if (this._events[t] = r = [], e || i)
for (c = 0, p = s.length; p > c; c++) o = s[c], (e && e !== o.callback && e !== o.callback._callback || i && i !== o.context) && r.push(o);
r.length || delete this._events[t]
}
return this
},
trigger: function (t) {
if (!this._events) return this;
var e = a.call(arguments, 1);
if (!h(this, "trigger", t, e)) return this;
var n = this._events[t],
i = this._events.all;
return n && p(n, e), i && p(i, arguments), this
},
stopListening: function (t, e, n) {
var i = this._listeners;
if (!i) return this;
var r = !e && !n;
"object" == typeof e && (n = this), t && ((i = {})[t._listenerId] = t);
for (var o in i) i[o].off(e, n, this), r && delete this._listeners[o];
return this
}
},
c = /\s+/,
h = function (t, e, n, i) {
if (!n) return !0;
if ("object" == typeof n) {
for (var r in n) t[e].apply(t, [r, n[r]].concat(i));
return !1
}
if (c.test(n)) {
for (var o = n.split(c), s = 0, a = o.length; a > s; s++) t[e].apply(t, [o[s]].concat(i));
return !1
}
return !0
},
p = function (t, e) {
var n, i = -1,
r = t.length,
o = e[0],
s = e[1],
a = e[2];
switch (e.length) {
case 0:
for (; r > ++i;)(n = t[i]).callback.call(n.ctx);
return;
case 1:
for (; r > ++i;)(n = t[i]).callback.call(n.ctx, o);
return;
case 2:
for (; r > ++i;)(n = t[i]).callback.call(n.ctx, o, s);
return;
case 3:
for (; r > ++i;)(n = t[i]).callback.call(n.ctx, o, s, a);
return;
default:
for (; r > ++i;)(n = t[i]).callback.apply(n.ctx, e)
}
},
f = {
listenTo: "on",
listenToOnce: "once"
};
n.each(f, function (t, e) {
u[e] = function (e, i, r) {
var o = this._listeners || (this._listeners = {}),
s = e._listenerId || (e._listenerId = n.uniqueId("l"));
return o[s] = e, "object" == typeof i && (r = this), e[t](i, r, this), this
}
}), u.bind = u.on, u.unbind = u.off, n.extend(e, u);
var d = e.Model = function (t, e) {
var i, r = t || {};
e || (e = {}), this.cid = n.uniqueId("c"), this.attributes = {}, n.extend(this, n.pick(e, m)), e.parse && (r = this.parse(r, e) || {}), (i = n.result(this, "defaults")) && (r = n.defaults({}, r, i)), this.set(r, e), this.changed = {}, this.initialize.apply(this, arguments)
},
m = ["url", "urlRoot", "collection"];
n.extend(d.prototype, u, {
changed: null,
validationError: null,
idAttribute: "id",
initialize: function () {},
toJSON: function () {
return n.clone(this.attributes)
},
sync: function () {
return e.sync.apply(this, arguments)
},
get: function (t) {
return this.attributes[t]
},
escape: function (t) {
return n.escape(this.get(t))
},
has: function (t) {
return null != this.get(t)
},
set: function (t, e, i) {
var r, o, s, a, l, u, c, h;
if (null == t) return this;
if ("object" == typeof t ? (o = t, i = e) : (o = {})[t] = e, i || (i = {}), !this._validate(o, i)) return !1;
s = i.unset, l = i.silent, a = [], u = this._changing, this._changing = !0, u || (this._previousAttributes = n.clone(this.attributes), this.changed = {}), h = this.attributes, c = this._previousAttributes, this.idAttribute in o && (this.id = o[this.idAttribute]);
for (r in o) e = o[r], n.isEqual(h[r], e) || a.push(r), n.isEqual(c[r], e) ? delete this.changed[r] : this.changed[r] = e, s ? delete h[r] : h[r] = e;
if (!l) {
a.length && (this._pending = !0);
for (var p = 0, f = a.length; f > p; p++) this.trigger("change:" + a[p], this, h[a[p]], i)
}
if (u) return this;
if (!l)
for (; this._pending;) this._pending = !1, this.trigger("change", this, i);
return this._pending = !1, this._changing = !1, this
},
unset: function (t, e) {
return this.set(t, void 0, n.extend({}, e, {
unset: !0
}))
},
clear: function (t) {
var e = {};
for (var i in this.attributes) e[i] = void 0;
return this.set(e, n.extend({}, t, {
unset: !0
}))
},
hasChanged: function (t) {
return null == t ? !n.isEmpty(this.changed) : n.has(this.changed, t)
},
changedAttributes: function (t) {
if (!t) return this.hasChanged() ? n.clone(this.changed) : !1;
var e, i = !1,
r = this._changing ? this._previousAttributes : this.attributes;
for (var o in t) n.isEqual(r[o], e = t[o]) || ((i || (i = {}))[o] = e);
return i
},
previous: function (t) {
return null != t && this._previousAttributes ? this._previousAttributes[t] : null
},
previousAttributes: function () {
return n.clone(this._previousAttributes)
},
fetch: function (t) {
t = t ? n.clone(t) : {}, void 0 === t.parse && (t.parse = !0);
var e = this,
i = t.success;
return t.success = function (n) {
return e.set(e.parse(n, t), t) ? (i && i(e, n, t), e.trigger("sync", e, n, t), void 0) : !1
}, $(this, t), this.sync("read", this, t)
},
save: function (t, e, i) {
var r, o, s, a = this.attributes;
if (null == t || "object" == typeof t ? (r = t, i = e) : (r = {})[t] = e, !(!r || i && i.wait || this.set(r, i))) return !1;
if (i = n.extend({
validate: !0
}, i), !this._validate(r, i)) return !1;
r && i.wait && (this.attributes = n.extend({}, a, r)), void 0 === i.parse && (i.parse = !0);
var l = this,
u = i.success;
return i.success = function (t) {
l.attributes = a;
var e = l.parse(t, i);
return i.wait && (e = n.extend(r || {}, e)), n.isObject(e) && !l.set(e, i) ? !1 : (u && u(l, t, i), l.trigger("sync", l, t, i), void 0)
}, $(this, i), o = this.isNew() ? "create" : i.patch ? "patch" : "update", "patch" === o && (i.attrs = r), s = this.sync(o, this, i), r && i.wait && (this.attributes = a), s
},
destroy: function (t) {
t = t ? n.clone(t) : {};
var e = this,
i = t.success,
r = function () {
e.trigger("destroy", e, e.collection, t)
};
if (t.success = function (n) {
(t.wait || e.isNew()) && r(), i && i(e, n, t), e.isNew() || e.trigger("sync", e, n, t)
}, this.isNew()) return t.success(), !1;
$(this, t);
var o = this.sync("delete", this, t);
return t.wait || r(), o
},
url: function () {
var t = n.result(this, "urlRoot") || n.result(this.collection, "url") || R();
return this.isNew() ? t : t + ("/" === t.charAt(t.length - 1) ? "" : "/") + encodeURIComponent(this.id)
},
parse: function (t) {
return t
},
clone: function () {
return new this.constructor(this.attributes)
},
isNew: function () {
return null == this.id
},
isValid: function (t) {
return this._validate({}, n.extend(t || {}, {
validate: !0
}))
},
_validate: function (t, e) {
if (!e.validate || !this.validate) return !0;
t = n.extend({}, this.attributes, t);
var i = this.validationError = this.validate(t, e) || null;
return i ? (this.trigger("invalid", this, i, n.extend(e || {}, {
validationError: i
})), !1) : !0
}
});
var g = ["keys", "values", "pairs", "invert", "pick", "omit"];
n.each(g, function (t) {
d.prototype[t] = function () {
var e = a.call(arguments);
return e.unshift(this.attributes), n[t].apply(n, e)
}
});
var y = e.Collection = function (t, e) {
e || (e = {}), e.url && (this.url = e.url), e.model && (this.model = e.model), void 0 !== e.comparator && (this.comparator = e.comparator), this._reset(), this.initialize.apply(this, arguments), t && this.reset(t, n.extend({
silent: !0
}, e))
},
v = {
add: !0,
remove: !0,
merge: !0
},
_ = {
add: !0,
merge: !1,
remove: !1
};
n.extend(y.prototype, u, {
model: d,
initialize: function () {},
toJSON: function (t) {
return this.map(function (e) {
return e.toJSON(t)
})
},
sync: function () {
return e.sync.apply(this, arguments)
},
add: function (t, e) {
return this.set(t, n.defaults(e || {}, _))
},
remove: function (t, e) {
t = n.isArray(t) ? t.slice() : [t], e || (e = {});
var i, r, o, s;
for (i = 0, r = t.length; r > i; i++) s = this.get(t[i]), s && (delete this._byId[s.id], delete this._byId[s.cid], o = this.indexOf(s), this.models.splice(o, 1), this.length--, e.silent || (e.index = o, s.trigger("remove", s, this, e)), this._removeReference(s));
return this
},
set: function (t, e) {
e = n.defaults(e || {}, v), e.parse && (t = this.parse(t, e)), n.isArray(t) || (t = t ? [t] : []);
var i, r, o, a, u, c = e.at,
h = this.comparator && null == c && e.sort !== !1,
p = n.isString(this.comparator) ? this.comparator : null,
f = [],
d = [],
m = {};
for (i = 0, r = t.length; r > i; i++)(o = this._prepareModel(t[i], e)) && ((a = this.get(o)) ? (e.remove && (m[a.cid] = !0), e.merge && (a.set(o.attributes, e), h && !u && a.hasChanged(p) && (u = !0))) : e.add && (f.push(o), o.on("all", this._onModelEvent, this), this._byId[o.cid] = o, null != o.id && (this._byId[o.id] = o)));
if (e.remove) {
for (i = 0, r = this.length; r > i; ++i) m[(o = this.models[i]).cid] || d.push(o);
d.length && this.remove(d, e)
}
if (f.length && (h && (u = !0), this.length += f.length, null != c ? l.apply(this.models, [c, 0].concat(f)) : s.apply(this.models, f)), u && this.sort({
silent: !0
}), e.silent) return this;
for (i = 0, r = f.length; r > i; i++)(o = f[i]).trigger("add", o, this, e);
return u && this.trigger("sort", this, e), this
},
reset: function (t, e) {
e || (e = {});
for (var i = 0, r = this.models.length; r > i; i++) this._removeReference(this.models[i]);
return e.previousModels = this.models, this._reset(), this.add(t, n.extend({
silent: !0
}, e)), e.silent || this.trigger("reset", this, e), this
},
push: function (t, e) {
return t = this._prepareModel(t, e), this.add(t, n.extend({
at: this.length
}, e)), t
},
pop: function (t) {
var e = this.at(this.length - 1);
return this.remove(e, t), e
},
unshift: function (t, e) {
return t = this._prepareModel(t, e), this.add(t, n.extend({
at: 0
}, e)), t
},
shift: function (t) {
var e = this.at(0);
return this.remove(e, t), e
},
slice: function (t, e) {
return this.models.slice(t, e)
},
get: function (t) {
return null == t ? void 0 : this._byId[null != t.id ? t.id : t.cid || t]
},
at: function (t) {
return this.models[t]
},
where: function (t, e) {
return n.isEmpty(t) ? e ? void 0 : [] : this[e ? "find" : "filter"](function (e) {
for (var n in t)
if (t[n] !== e.get(n)) return !1;
return !0
})
},
findWhere: function (t) {
return this.where(t, !0)
},
sort: function (t) {
if (!this.comparator) throw Error("Cannot sort a set without a comparator");
return t || (t = {}), n.isString(this.comparator) || 1 === this.comparator.length ? this.models = this.sortBy(this.comparator, this) : this.models.sort(n.bind(this.comparator, this)), t.silent || this.trigger("sort", this, t), this
},
sortedIndex: function (t, e, i) {
e || (e = this.comparator);
var r = n.isFunction(e) ? e : function (t) {
return t.get(e)
};
return n.sortedIndex(this.models, t, r, i)
},
pluck: function (t) {
return n.invoke(this.models, "get", t)
},
fetch: function (t) {
t = t ? n.clone(t) : {}, void 0 === t.parse && (t.parse = !0);
var e = t.success,
i = this;
return t.success = function (n) {
var r = t.reset ? "reset" : "set";
i[r](n, t), e && e(i, n, t), i.trigger("sync", i, n, t)
}, $(this, t), this.sync("read", this, t)
},
create: function (t, e) {
if (e = e ? n.clone(e) : {}, !(t = this._prepareModel(t, e))) return !1;
e.wait || this.add(t, e);
var i = this,
r = e.success;
return e.success = function (n) {
e.wait && i.add(t, e), r && r(t, n, e)
}, t.save(null, e), t
},
parse: function (t) {
return t
},
clone: function () {
return new this.constructor(this.models)
},
_reset: function () {
this.length = 0, this.models = [], this._byId = {}
},
_prepareModel: function (t, e) {
if (t instanceof d) return t.collection || (t.collection = this), t;
e || (e = {}), e.collection = this;
var n = new this.model(t, e);
return n._validate(t, e) ? n : (this.trigger("invalid", this, t, e), !1)
},
_removeReference: function (t) {
this === t.collection && delete t.collection, t.off("all", this._onModelEvent, this)
},
_onModelEvent: function (t, e, n, i) {
("add" !== t && "remove" !== t || n === this) && ("destroy" === t && this.remove(e, i), e && t === "change:" + e.idAttribute && (delete this._byId[e.previous(e.idAttribute)], null != e.id && (this._byId[e.id] = e)), this.trigger.apply(this, arguments))
}
});
var b = ["forEach", "each", "map", "collect", "reduce", "foldl", "inject", "reduceRight", "foldr", "find", "detect", "filter", "select", "reject", "every", "all", "some", "any", "include", "contains", "invoke", "max", "min", "toArray", "size", "first", "head", "take", "initial", "rest", "tail", "drop", "last", "without", "indexOf", "shuffle", "lastIndexOf", "isEmpty", "chain"];
n.each(b, function (t) {
y.prototype[t] = function () {
var e = a.call(arguments);
return e.unshift(this.models), n[t].apply(n, e)
}
});
var x = ["groupBy", "countBy", "sortBy"];
n.each(x, function (t) {
y.prototype[t] = function (e, i) {
var r = n.isFunction(e) ? e : function (t) {
return t.get(e)
};
return n[t](this.models, r, i)
}
});
var w = e.View = function (t) {
this.cid = n.uniqueId("view"), this._configure(t || {}), this._ensureElement(), this.initialize.apply(this, arguments), this.delegateEvents()
},
T = /^(\S+)\s*(.*)$/,
k = ["model", "collection", "el", "id", "attributes", "className", "tagName", "events"];
n.extend(w.prototype, u, {
tagName: "div",
$: function (t) {
return this.$el.find(t)
},
initialize: function () {},
render: function () {
return this
},
remove: function () {
return this.$el.remove(), this.stopListening(), this
},
setElement: function (t, n) {
return this.$el && this.undelegateEvents(), this.$el = t instanceof e.$ ? t : e.$(t), this.el = this.$el[0], n !== !1 && this.delegateEvents(), this
},
delegateEvents: function (t) {
if (!t && !(t = n.result(this, "events"))) return this;
this.undelegateEvents();
for (var e in t) {
var i = t[e];
if (n.isFunction(i) || (i = this[t[e]]), i) {
var r = e.match(T),
o = r[1],
s = r[2];
i = n.bind(i, this), o += ".delegateEvents" + this.cid, "" === s ? this.$el.on(o, i) : this.$el.on(o, s, i)
}
}
return this
},
undelegateEvents: function () {
return this.$el.off(".delegateEvents" + this.cid), this
},
_configure: function (t) {
this.options && (t = n.extend({}, n.result(this, "options"), t)), n.extend(this, n.pick(t, k)), this.options = t
},
_ensureElement: function () {
if (this.el) this.setElement(n.result(this, "el"), !1);
else {
var t = n.extend({}, n.result(this, "attributes"));
this.id && (t.id = n.result(this, "id")), this.className && (t["class"] = n.result(this, "className"));
var i = e.$("<" + n.result(this, "tagName") + ">").attr(t);
this.setElement(i, !1)
}
}
}), e.sync = function (t, i, r) {
var o = C[t];
n.defaults(r || (r = {}), {
emulateHTTP: e.emulateHTTP,
emulateJSON: e.emulateJSON
});
var s = {
type: o,
dataType: "json"
};
if (r.url || (s.url = n.result(i, "url") || R()), null != r.data || !i || "create" !== t && "update" !== t && "patch" !== t || (s.contentType = "application/json", s.data = JSON.stringify(r.attrs || i.toJSON(r))), r.emulateJSON && (s.contentType = "application/x-www-form-urlencoded", s.data = s.data ? {
model: s.data
} : {}), r.emulateHTTP && ("PUT" === o || "DELETE" === o || "PATCH" === o)) {
s.type = "POST", r.emulateJSON && (s.data._method = o);
var a = r.beforeSend;
r.beforeSend = function (t) {
return t.setRequestHeader("X-HTTP-Method-Override", o), a ? a.apply(this, arguments) : void 0
}
}
"GET" === s.type || r.emulateJSON || (s.processData = !1), "PATCH" !== s.type || !window.ActiveXObject || window.external && window.external.msActiveXFilteringEnabled || (s.xhr = function () {
return new ActiveXObject("Microsoft.XMLHTTP")
});
var l = r.xhr = e.ajax(n.extend(s, r));
return i.trigger("request", i, l, r), l
};
var C = {
create: "POST",
update: "PUT",
patch: "PATCH",
"delete": "DELETE",
read: "GET"
};
e.ajax = function () {
return e.$.ajax.apply(e.$, arguments)
};
var S = e.Router = function (t) {
t || (t = {}), t.routes && (this.routes = t.routes), this._bindRoutes(), this.initialize.apply(this, arguments)
},
E = /\((.*?)\)/g,
N = /(\(\?)?:\w+/g,
D = /\*\w+/g,
O = /[\-{}\[\]+?.,\\\^$|#\s]/g;
n.extend(S.prototype, u, {
initialize: function () {},
route: function (t, i, r) {
n.isRegExp(t) || (t = this._routeToRegExp(t)), n.isFunction(i) && (r = i, i = ""), r || (r = this[i]);
var o = this;
return e.history.route(t, function (n) {
var s = o._extractParameters(t, n);
r && r.apply(o, s), o.trigger.apply(o, ["route:" + i].concat(s)), o.trigger("route", i, s), e.history.trigger("route", o, i, s)
}), this
},
navigate: function (t, n) {
return e.history.navigate(t, n), this
},
_bindRoutes: function () {
if (this.routes) {
this.routes = n.result(this, "routes");
for (var t, e = n.keys(this.routes); null != (t = e.pop());) this.route(t, this.routes[t])
}
},
_routeToRegExp: function (t) {
return t = t.replace(O, "\\$&").replace(E, "(?:$1)?").replace(N, function (t, e) {
return e ? t : "([^/]+)"
}).replace(D, "(.*?)"), RegExp("^" + t + "$")
},
_extractParameters: function (t, e) {
var i = t.exec(e).slice(1);
return n.map(i, function (t) {
return t ? decodeURIComponent(t) : null
})
}
});
var j = e.History = function () {
this.handlers = [], n.bindAll(this, "checkUrl"), "undefined" != typeof window && (this.location = window.location, this.history = window.history)
},
L = /^[#\/]|\s+$/g,
A = /^\/+|\/+$/g,
P = /msie [\w.]+/,
M = /\/$/;
j.started = !1, n.extend(j.prototype, u, {
interval: 50,
getHash: function (t) {
var e = (t || this).location.href.match(/#(.*)$/);
return e ? e[1] : ""
},
getFragment: function (t, e) {
if (null == t)
if (this._hasPushState || !this._wantsHashChange || e) {
t = this.location.pathname;
var n = this.root.replace(M, "");
t.indexOf(n) || (t = t.substr(n.length))
} else t = this.getHash();
return t.replace(L, "")
},
start: function (t) {
if (j.started) throw Error("Backbone.history has already been started");
j.started = !0, this.options = n.extend({}, {
root: "/"
}, this.options, t), this.root = this.options.root, this._wantsHashChange = this.options.hashChange !== !1, this._wantsPushState = !!this.options.pushState, this._hasPushState = !!(this.options.pushState && this.history && this.history.pushState);
var i = this.getFragment(),
r = document.documentMode,
o = P.exec(navigator.userAgent.toLowerCase()) && (!r || 7 >= r);
this.root = ("/" + this.root + "/").replace(A, "/"), o && this._wantsHashChange && (this.iframe = e.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow, this.navigate(i)), this._hasPushState ? e.$(window).on("popstate", this.checkUrl) : this._wantsHashChange && "onhashchange" in window && !o ? e.$(window).on("hashchange", this.checkUrl) : this._wantsHashChange && (this._checkUrlInterval = setInterval(this.checkUrl, this.interval)), this.fragment = i;
var s = this.location,
a = s.pathname.replace(/[^\/]$/, "$&/") === this.root;
return this._wantsHashChange && this._wantsPushState && !this._hasPushState && !a ? (this.fragment = this.getFragment(null, !0), this.location.replace(this.root + this.location.search + "#" + this.fragment), !0) : (this._wantsPushState && this._hasPushState && a && s.hash && (this.fragment = this.getHash().replace(L, ""), this.history.replaceState({}, document.title, this.root + this.fragment + s.search)), this.options.silent ? void 0 : this.loadUrl())
},
stop: function () {
e.$(window).off("popstate", this.checkUrl).off("hashchange", this.checkUrl), clearInterval(this._checkUrlInterval), j.started = !1
},
route: function (t, e) {
this.handlers.unshift({
route: t,
callback: e
})
},
checkUrl: function () {
var t = this.getFragment();
return t === this.fragment && this.iframe && (t = this.getFragment(this.getHash(this.iframe))), t === this.fragment ? !1 : (this.iframe && this.navigate(t), this.loadUrl() || this.loadUrl(this.getHash()), void 0)
},
loadUrl: function (t) {
var e = this.fragment = this.getFragment(t),
i = n.any(this.handlers, function (t) {
return t.route.test(e) ? (t.callback(e), !0) : void 0
});
return i
},
navigate: function (t, e) {
if (!j.started) return !1;
if (e && e !== !0 || (e = {
trigger: e
}), t = this.getFragment(t || ""), this.fragment !== t) {
this.fragment = t;
var n = this.root + t;
if (this._hasPushState) this.history[e.replace ? "replaceState" : "pushState"]({}, document.title, n);
else {
if (!this._wantsHashChange) return this.location.assign(n);
this._updateHash(this.location, t, e.replace), this.iframe && t !== this.getFragment(this.getHash(this.iframe)) && (e.replace || this.iframe.document.open().close(), this._updateHash(this.iframe.location, t, e.replace))
}
e.trigger && this.loadUrl(t)
}
},
_updateHash: function (t, e, n) {
if (n) {
var i = t.href.replace(/(javascript:|#).*$/, "");
t.replace(i + "#" + e)
} else t.hash = "#" + e
}
}), e.history = new j;
var F = function (t, e) {
var i, r = this;
i = t && n.has(t, "constructor") ? t.constructor : function () {
return r.apply(this, arguments)
}, n.extend(i, r, e);
var o = function () {
this.constructor = i
};
return o.prototype = r.prototype, i.prototype = new o, t && n.extend(i.prototype, t), i.__super__ = r.prototype, i
};
d.extend = y.extend = S.extend = w.extend = j.extend = F;
var R = function () {
throw Error('A "url" property or function must be specified')
},
$ = function (t, e) {
var n = e.error;
e.error = function (i) {
n && n(t, i, e), t.trigger("error", t, i, e)
}
};
return e
}),
function () {
var t = {}.hasOwnProperty,
e = function (e, n) {
function i() {
this.constructor = e
}
for (var r in n) t.call(n, r) && (e[r] = n[r]);
return i.prototype = n.prototype, e.prototype = new i, e.__super__ = n.prototype, e
};
define("cs!models/project", ["backbone"], function (t) {
var n, i;
return n = function (t) {
function n() {
return i = n.__super__.constructor.apply(this, arguments)
}
return e(n, t), n.prototype.defaults = {
name: null,
thumb: null,
thumbSize: "large"
}, n.prototype.initialize = function () {
var t, e;
switch (e = 0, t = 0, this.get("thumbSize")) {
case "large":
e = 436, t = 300;
break;
default:
e = 218, t = 150
}
return this.set({
thumbWidth: e,
thumbHeight: t
})
}, n.prototype.url = function () {
return "data/project/" + this.id + ".json?v=" + Math.random()
}, n
}(t.Model)
})
}.call(this),
function () {
var t = {}.hasOwnProperty,
e = function (e, n) {
function i() {
this.constructor = e
}
for (var r in n) t.call(n, r) && (e[r] = n[r]);
return i.prototype = n.prototype, e.prototype = new i, e.__super__ = n.prototype, e
};
define("cs!collections/projects", ["underscore", "backbone", "cs!models/project"], function (t, n, i) {
var r, o;
return r = function (t) {
function n() {
return o = n.__super__.constructor.apply(this, arguments)
}
return e(n, t), n.prototype.model = i, n.prototype.selectedModel = null, n.prototype.url = "data/projects.json?v=" + Math.random(), n.prototype.setSelected = function (t) {
var e;
return t && this.get(t) ? (e = this.get(t), this.selectedModel = e) : this.selectedModel = null, this.trigger("change")
}, n.prototype.getSelected = function () {
return this.selectedModel
}, n.prototype.getPrevious = function () {
return this.selectedModel ? this.indexOf(this.selectedModel) > 0 ? this.at(this.indexOf(this.selectedModel) - 1) : this.at(this.length - 1) : null
}, n.prototype.getNext = function () {
return this.selectedModel ? this.indexOf(this.selectedModel) >= this.length - 1 ? this.at(0) : this.at(this.indexOf(this.selectedModel) + 1) : null
}, n.prototype.getSlug = function (t) {
var e;
return e = this.where({
slug: t
}), 1 === e.length ? e[0] : null
}, n
}(n.Collection)
})
}.call(this),
function () {
define("cs!config", ["module"], function (t) {
var e;
return e = function () {
function e() {}
return e.prototype.mobileBreakWidth = 568, e.prototype.isHandheld = function () {
var t, e;
return e = void 0, t = void 0, e = window.innerWidth !== void 0 ? window.innerWidth : document.documentElement !== void 0 && document.documentElement.clientWidth !== void 0 && 0 !== document.documentElement.clientWidth ? document.documentElement.clientWidth : document.getElementsByTagName("body")([0].clientWidth), this.mobileBreakWidth > e
}, e.prototype.isHandheldDevice = function () {
return screen.width < this.mobileBreakWidth
}, e.prototype.relUri = t.config().relUri, e.prototype.rootUri = t.config().rootUri, e
}(), new e
})
}.call(this), (window._gsQueue || (window._gsQueue = [])).push(function () {
window._gsDefine("TweenMax", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function (t, e, n) {
var i = [].slice,
r = function (t, e, i) {
n.call(this, t, e, i), this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._dirty = !0, this.render = r.prototype.render
},
o = function (t) {
return t.jquery || t.length && t !== window && t[0] && (t[0] === window || t[0].nodeType && t[0].style && !t.nodeType)
},
s = r.prototype = n.to({}, .1, {}),
a = [];
r.version = "1.10.2", s.constructor = r, s.kill()._gc = !1, r.killTweensOf = r.killDelayedCallsTo = n.killTweensOf, r.getTweensOf = n.getTweensOf, r.ticker = n.ticker, s.invalidate = function () {
return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), n.prototype.invalidate.call(this)
}, s.updateTo = function (t, e) {
var i, r = this.ratio;
e && this.timeline && this._startTime < this._timeline._time && (this._startTime = this._timeline._time, this._uncache(!1), this._gc ? this._enabled(!0, !1) : this._timeline.insert(this, this._startTime - this._delay));
for (i in t) this.vars[i] = t[i];
if (this._initted)
if (e) this._initted = !1;
else if (this._notifyPluginsOfEnabled && this._firstPT && n._onPluginEvent("_onDisable", this), this._time / this._duration > .998) {
var o = this._time;
this.render(0, !0, !1), this._initted = !1, this.render(o, !0, !1)
} else if (this._time > 0) {
this._initted = !1, this._init();
for (var s, a = 1 / (1 - r), l = this._firstPT; l;) s = l.s + l.c, l.c *= a, l.s = s - l.c, l = l._next
}
return this
}, s.render = function (t, e, n) {
var i, r, o, s, l, u, c, h = this._dirty ? this.totalDuration() : this._totalDuration,
p = this._time,
f = this._totalTime,
d = this._cycle;
if (t >= h ? (this._totalTime = h, this._cycle = this._repeat, this._yoyo && 0 !== (1 & this._cycle) ? (this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0) : (this._time = this._duration, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1), this._reversed || (i = !0, r = "onComplete"), 0 === this._duration && ((0 === t || 0 > this._rawPrevTime) && this._rawPrevTime !== t && (n = !0, this._rawPrevTime > 0 && (r = "onReverseComplete", e && (t = -1))), this._rawPrevTime = t)) : 1e-7 > t ? (this._totalTime = this._time = this._cycle = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== f || 0 === this._duration && this._rawPrevTime > 0) && (r = "onReverseComplete", i = this._reversed), 0 > t ? (this._active = !1, 0 === this._duration && (this._rawPrevTime >= 0 && (n = !0), this._rawPrevTime = t)) : this._initted || (n = !0)) : (this._totalTime = this._time = t, 0 !== this._repeat && (s = this._duration + this._repeatDelay, this._cycle = this._totalTime / s >> 0, 0 !== this._cycle && this._cycle === this._totalTime / s && this._cycle--, this._time = this._totalTime - this._cycle * s, this._yoyo && 0 !== (1 & this._cycle) && (this._time = this._duration - this._time), this._time > this._duration ? this._time = this._duration : 0 > this._time && (this._time = 0)), this._easeType ? (l = this._time / this._duration, u = this._easeType, c = this._easePower, (1 === u || 3 === u && l >= .5) && (l = 1 - l), 3 === u && (l *= 2), 1 === c ? l *= l : 2 === c ? l *= l * l : 3 === c ? l *= l * l * l : 4 === c && (l *= l * l * l * l), this.ratio = 1 === u ? 1 - l : 2 === u ? l : .5 > this._time / this._duration ? l / 2 : 1 - l / 2) : this.ratio = this._ease.getRatio(this._time / this._duration)), p === this._time && !n) return f !== this._totalTime && this._onUpdate && (e || this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || a)), void 0;
if (!this._initted) {
if (this._init(), !this._initted) return;
this._time && !i ? this.ratio = this._ease.getRatio(this._time / this._duration) : i && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
}
for (this._active || !this._paused && this._time !== p && t >= 0 && (this._active = !0), 0 === f && (this._startAt && (t >= 0 ? this._startAt.render(t, e, n) : r || (r = "_dummyGS")), this.vars.onStart && (0 !== this._totalTime || 0 === this._duration) && (e || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || a))), o = this._firstPT; o;) o.f ? o.t[o.p](o.c * this.ratio + o.s) : o.t[o.p] = o.c * this.ratio + o.s, o = o._next;
this._onUpdate && (0 > t && this._startAt && this._startAt.render(t, e, n), e || this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || a)), this._cycle !== d && (e || this._gc || this.vars.onRepeat && this.vars.onRepeat.apply(this.vars.onRepeatScope || this, this.vars.onRepeatParams || a)), r && (this._gc || (0 > t && this._startAt && !this._onUpdate && this._startAt.render(t, e, n), i && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !e && this.vars[r] && this.vars[r].apply(this.vars[r + "Scope"] || this, this.vars[r + "Params"] || a)))
}, r.to = function (t, e, n) {
return new r(t, e, n)
}, r.from = function (t, e, n) {
return n.runBackwards = !0, n.immediateRender = 0 != n.immediateRender, new r(t, e, n)
}, r.fromTo = function (t, e, n, i) {
return i.startAt = n, i.immediateRender = 0 != i.immediateRender && 0 != n.immediateRender, new r(t, e, i)
}, r.staggerTo = r.allTo = function (t, e, s, l, u, c, h) {
l = l || 0;
var p, f, d, m, g = s.delay || 0,
y = [],
v = function () {
s.onComplete && s.onComplete.apply(s.onCompleteScope || this, arguments), u.apply(h || this, c || a)
};
for (t instanceof Array || ("string" == typeof t && (t = n.selector(t) || t), o(t) && (t = i.call(t, 0))), p = t.length, d = 0; p > d; d++) {
f = {};
for (m in s) f[m] = s[m];
f.delay = g, d === p - 1 && u && (f.onComplete = v), y[d] = new r(t[d], e, f), g += l
}
return y
}, r.staggerFrom = r.allFrom = function (t, e, n, i, o, s, a) {
return n.runBackwards = !0, n.immediateRender = 0 != n.immediateRender, r.staggerTo(t, e, n, i, o, s, a)
}, r.staggerFromTo = r.allFromTo = function (t, e, n, i, o, s, a, l) {
return i.startAt = n, i.immediateRender = 0 != i.immediateRender && 0 != n.immediateRender, r.staggerTo(t, e, i, o, s, a, l)
}, r.delayedCall = function (t, e, n, i, o) {
return new r(e, 0, {
delay: t,
onComplete: e,
onCompleteParams: n,
onCompleteScope: i,
onReverseComplete: e,
onReverseCompleteParams: n,
onReverseCompleteScope: i,
immediateRender: !1,
useFrames: o,
overwrite: 0
})
}, r.set = function (t, e) {
return new r(t, 0, e)
}, r.isTweening = function (t) {
for (var e, i = n.getTweensOf(t), r = i.length; --r > -1;)
if (e = i[r], e._active || e._startTime === e._timeline._time && e._timeline._active) return !0;
return !1
};
var l = function (t, e) {
for (var i = [], r = 0, o = t._first; o;) o instanceof n ? i[r++] = o : (e && (i[r++] = o), i = i.concat(l(o, e)), r = i.length), o = o._next;
return i
},
u = r.getAllTweens = function (e) {
return l(t._rootTimeline, e).concat(l(t._rootFramesTimeline, e))
};
r.killAll = function (t, n, i, r) {
null == n && (n = !0), null == i && (i = !0);
var o, s, a, l = u(0 != r),
c = l.length,
h = n && i && r;
for (a = 0; c > a; a++) s = l[a], (h || s instanceof e || (o = s.target === s.vars.onComplete) && i || n && !o) && (t ? s.totalTime(s.totalDuration()) : s._enabled(!1, !1))
}, r.killChildTweensOf = function (t, e) {
if (null != t) {
var s, a, l, u, c, h = n._tweenLookup;
if ("string" == typeof t && (t = n.selector(t) || t), o(t) && (t = i(t, 0)), t instanceof Array)
for (u = t.length; --u > -1;) r.killChildTweensOf(t[u], e);
else {
s = [];
for (l in h)
for (a = h[l].target.parentNode; a;) a === t && (s = s.concat(h[l].tweens)), a = a.parentNode;
for (c = s.length, u = 0; c > u; u++) e && s[u].totalTime(s[u].totalDuration()), s[u]._enabled(!1, !1)
}
}
};
var c = function (t, n, i, r) {
n = n !== !1, i = i !== !1, r = r !== !1;
for (var o, s, a = u(r), l = n && i && r, c = a.length; --c > -1;) s = a[c], (l || s instanceof e || (o = s.target === s.vars.onComplete) && i || n && !o) && s.paused(t)
};
return r.pauseAll = function (t, e, n) {
c(!0, t, e, n)
}, r.resumeAll = function (t, e, n) {
c(!1, t, e, n)
}, r.globalTimeScale = function (e) {
var i = t._rootTimeline,
r = n.ticker.time;
return arguments.length ? (e = e || 1e-6, i._startTime = r - (r - i._startTime) * i._timeScale / e, i = t._rootFramesTimeline, r = n.ticker.frame, i._startTime = r - (r - i._startTime) * i._timeScale / e, i._timeScale = t._rootTimeline._timeScale = e, e) : i._timeScale
}, s.progress = function (t) {
return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - t : t) + this._cycle * (this._duration + this._repeatDelay), !1) : this._time / this.duration()
}, s.totalProgress = function (t) {
return arguments.length ? this.totalTime(this.totalDuration() * t, !1) : this._totalTime / this.totalDuration()
}, s.time = function (t, e) {
return arguments.length ? (this._dirty && this.totalDuration(), t > this._duration && (t = this._duration), this._yoyo && 0 !== (1 & this._cycle) ? t = this._duration - t + this._cycle * (this._duration + this._repeatDelay) : 0 !== this._repeat && (t += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(t, e)) : this._time
}, s.duration = function (e) {
return arguments.length ? t.prototype.duration.call(this, e) : this._duration
}, s.totalDuration = function (t) {
return arguments.length ? -1 === this._repeat ? this : this.duration((t - this._repeat * this._repeatDelay) / (this._repeat + 1)) : (this._dirty && (this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat, this._dirty = !1), this._totalDuration)
}, s.repeat = function (t) {
return arguments.length ? (this._repeat = t, this._uncache(!0)) : this._repeat
}, s.repeatDelay = function (t) {
return arguments.length ? (this._repeatDelay = t, this._uncache(!0)) : this._repeatDelay
}, s.yoyo = function (t) {
return arguments.length ? (this._yoyo = t, this) : this._yoyo
}, r
}, !0), window._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function (t, e, n) {
var i = function (t) {
e.call(this, t), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate;
var n, i, r = this.vars;
for (i in r) n = r[i], n instanceof Array && -1 !== n.join("").indexOf("{self}") && (r[i] = this._swapSelfInParams(n));
r.tweens instanceof Array && this.add(r.tweens, 0, r.align, r.stagger)
},
r = [],
o = function (t) {
var e, n = {};
for (e in t) n[e] = t[e];
return n
},
s = function (t, e, n, i) {
t._timeline.pause(t._startTime), e && e.apply(i || t._timeline, n || r)
},
a = r.slice,
l = i.prototype = new e;
return i.version = "1.10.2", l.constructor = i, l.kill()._gc = !1, l.to = function (t, e, i, r) {
return e ? this.add(new n(t, e, i), r) : this.set(t, i, r)
}, l.from = function (t, e, i, r) {
return this.add(n.from(t, e, i), r)
}, l.fromTo = function (t, e, i, r, o) {
return e ? this.add(n.fromTo(t, e, i, r), o) : this.set(t, r, o)
}, l.staggerTo = function (t, e, r, s, l, u, c, h) {
var p, f = new i({
onComplete: u,
onCompleteParams: c,
onCompleteScope: h
});
for ("string" == typeof t && (t = n.selector(t) || t), !(t instanceof Array) && t.length && t !== window && t[0] && (t[0] === window || t[0].nodeType && t[0].style && !t.nodeType) && (t = a.call(t, 0)), s = s || 0, p = 0; t.length > p; p++) r.startAt && (r.startAt = o(r.startAt)), f.to(t[p], e, o(r), p * s);
return this.add(f, l)
}, l.staggerFrom = function (t, e, n, i, r, o, s, a) {
return n.immediateRender = 0 != n.immediateRender, n.runBackwards = !0, this.staggerTo(t, e, n, i, r, o, s, a)
}, l.staggerFromTo = function (t, e, n, i, r, o, s, a, l) {
return i.startAt = n, i.immediateRender = 0 != i.immediateRender && 0 != n.immediateRender, this.staggerTo(t, e, i, r, o, s, a, l)
}, l.call = function (t, e, i, r) {
return this.add(n.delayedCall(0, t, e, i), r)
}, l.set = function (t, e, i) {
return i = this._parseTimeOrLabel(i, 0, !0), null == e.immediateRender && (e.immediateRender = i === this._time && !this._paused), this.add(new n(t, 0, e), i)
}, i.exportRoot = function (t, e) {
t = t || {}, null == t.smoothChildTiming && (t.smoothChildTiming = !0);
var r, o, s = new i(t),
a = s._timeline;
for (null == e && (e = !0), a._remove(s, !0), s._startTime = 0, s._rawPrevTime = s._time = s._totalTime = a._time, r = a._first; r;) o = r._next, e && r instanceof n && r.target === r.vars.onComplete || s.add(r, r._startTime - r._delay), r = o;
return a.add(s, 0), s
}, l.add = function (r, o, s, a) {
var l, u, c, h, p;
if ("number" != typeof o && (o = this._parseTimeOrLabel(o, 0, !0, r)), !(r instanceof t)) {
if (r instanceof Array) {
for (s = s || "normal", a = a || 0, l = o, u = r.length, c = 0; u > c; c++)(h = r[c]) instanceof Array && (h = new i({
tweens: h
})), this.add(h, l), "string" != typeof h && "function" != typeof h && ("sequence" === s ? l = h._startTime + h.totalDuration() / h._timeScale : "start" === s && (h._startTime -= h.delay())), l += a;
return this._uncache(!0)
}
if ("string" == typeof r) return this.addLabel(r, o);
if ("function" != typeof r) throw "Cannot add " + r + " into the timeline; it is neither a tween, timeline, function, nor a string.";
r = n.delayedCall(0, r)
}
if (e.prototype.add.call(this, r, o), this._gc && !this._paused && this._time === this._duration && this._time < this.duration())
for (p = this; p._gc && p._timeline;) p._timeline.smoothChildTiming ? p.totalTime(p._totalTime, !0) : p._enabled(!0, !1), p = p._timeline;
return this
}, l.remove = function (e) {
if (e instanceof t) return this._remove(e, !1);
if (e instanceof Array) {
for (var n = e.length; --n > -1;) this.remove(e[n]);
return this
}
return "string" == typeof e ? this.removeLabel(e) : this.kill(null, e)
}, l._remove = function (t, n) {
return e.prototype._remove.call(this, t, n), this._last ? this._time > this._last._startTime && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = 0, this
}, l.append = function (t, e) {
return this.add(t, this._parseTimeOrLabel(null, e, !0, t))
}, l.insert = l.insertMultiple = function (t, e, n, i) {
return this.add(t, e || 0, n, i)
}, l.appendMultiple = function (t, e, n, i) {
return this.add(t, this._parseTimeOrLabel(null, e, !0, t), n, i)
}, l.addLabel = function (t, e) {
return this._labels[t] = this._parseTimeOrLabel(e), this
}, l.addPause = function (t, e, n, i) {
return this.call(s, ["{self}", e, n, i], this, t)
}, l.removeLabel = function (t) {
return delete this._labels[t], this
}, l.getLabelTime = function (t) {
return null != this._labels[t] ? this._labels[t] : -1
}, l._parseTimeOrLabel = function (e, n, i, r) {
var o;
if (r instanceof t && r.timeline === this) this.remove(r);
else if (r instanceof Array)
for (o = r.length; --o > -1;) r[o] instanceof t && r[o].timeline === this && this.remove(r[o]);
if ("string" == typeof n) return this._parseTimeOrLabel(n, i && "number" == typeof e && null == this._labels[n] ? e - this.duration() : 0, i);
if (n = n || 0, "string" != typeof e || !isNaN(e) && null == this._labels[e]) null == e && (e = this.duration());
else {
if (o = e.indexOf("="), -1 === o) return null == this._labels[e] ? i ? this._labels[e] = this.duration() + n : n : this._labels[e] + n;
n = parseInt(e.charAt(o - 1) + "1", 10) * Number(e.substr(o + 1)), e = o > 1 ? this._parseTimeOrLabel(e.substr(0, o - 1), 0, i) : this.duration()
}
return Number(e) + n
}, l.seek = function (t, e) {
return this.totalTime("number" == typeof t ? t : this._parseTimeOrLabel(t), e !== !1)
}, l.stop = function () {
return this.paused(!0)
}, l.gotoAndPlay = function (t, e) {
return this.play(t, e)
}, l.gotoAndStop = function (t, e) {
return this.pause(t, e)
}, l.render = function (t, e, n) {
this._gc && this._enabled(!0, !1);
var i, o, s, a, l, u = this._dirty ? this.totalDuration() : this._totalDuration,
c = this._time,
h = this._startTime,
p = this._timeScale,
f = this._paused;
if (t >= u ? (this._totalTime = this._time = u, this._reversed || this._hasPausedChild() || (o = !0, a = "onComplete", 0 === this._duration && (0 === t || 0 > this._rawPrevTime) && this._rawPrevTime !== t && this._first && (l = !0, this._rawPrevTime > 0 && (a = "onReverseComplete"))), this._rawPrevTime = t, t = u + 1e-6) : 1e-7 > t ? (this._totalTime = this._time = 0, (0 !== c || 0 === this._duration && this._rawPrevTime > 0) && (a = "onReverseComplete", o = this._reversed), 0 > t ? (this._active = !1, 0 === this._duration && this._rawPrevTime >= 0 && this._first && (l = !0), this._rawPrevTime = t) : (this._rawPrevTime = t, t = 0, this._initted || (l = !0))) : this._totalTime = this._time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment