var r = l.call(arguments, 2), e = m.isFunction(t);
var r = l.call(arguments, 2), e = m.isFunction(t);
return m.map(n, function (n) {
return m.map(n, function (n) {
var u = e ? t : n[t];
var u = e ? t : n[t];
return null == u ? u : u.apply(n, r)
return null == u ? u : u.apply(n, r)
})
})
}, m.pluck = function (n, t) {
}, m.pluck = function (n, t) {
return m.map(n, m.property(t))
return m.map(n, m.property(t))
}, m.where = function (n, t) {
}, m.where = function (n, t) {
return m.filter(n, m.matcher(t))
return m.filter(n, m.matcher(t))
}, m.findWhere = function (n, t) {
}, m.findWhere = function (n, t) {
return m.find(n, m.matcher(t))
return m.find(n, m.matcher(t))
}, m.max = function (n, t, r) {
}, m.max = function (n, t, r) {
var e, u, i = -1 / 0, o = -1 / 0;
var e, u, i = -1 / 0, o = -1 / 0;
if (null == t && null != n) {
if (null == t && null != n) {
n = w(n) ? n : m.values(n);
n = w(n) ? n : m.values(n);
for (var a = 0, c = n.length; c > a; a++)
for (var a = 0, c = n.length; c > a; a++)
e = n[a], e > i && (i = e)
e = n[a], e > i && (i = e)
} else
} else
t = b(t, r), m.each(n, function (n, r, e) { u = t(n, r, e), (u > o || u === -1 / 0 && i === -1 / 0) && (i = n, o = u) });
t = b(t, r), m.each(n, function (n, r, e) { u = t(n, r, e), (u > o || u === -1 / 0 && i === -1 / 0) && (i = n, o = u) });
return i
return i
}, m.min = function (n, t, r) {
}, m.min = function (n, t, r) {
var e, u, i = 1 / 0, o = 1 / 0;
var e, u, i = 1 / 0, o = 1 / 0;
if (null == t && null != n) {
if (null == t && null != n) {
n = w(n) ? n : m.values(n);
n = w(n) ? n : m.values(n);
for (var a = 0, c = n.length; c > a; a++)
for (var a = 0, c = n.length; c > a; a++)
e = n[a], i > e && (i = e)
e = n[a], i > e && (i = e)
} else
} else
t = b(t, r), m.each(n, function (n, r, e) { u = t(n, r, e), (o > u || 1 / 0 === u && 1 / 0 === i) && (i = n, o = u) });
t = b(t, r), m.each(n, function (n, r, e) { u = t(n, r, e), (o > u || 1 / 0 === u && 1 / 0 === i) && (i = n, o = u) });
return i
return i
}, m.shuffle = function (n) {
}, m.shuffle = function (n) {
for (var t, r = w(n) ? n : m.values(n), e = r.length, u = Array(e), i = 0; e > i; i++)
for (var t, r = w(n) ? n : m.values(n), e = r.length, u = Array(e), i = 0; e > i; i++)
t = m.random(0, i), t !== i && (u[i] = u[t]), u[t] = r[i];
t = m.random(0, i), t !== i && (u[i] = u[t]), u[t] = r[i];
return u
return u
}, m.sample = function (n, t, r) {
}, m.sample = function (n, t, r) {
return null == t || r ? (w(n) || (n = m.values(n)), n[m.random(n.length - 1)]) : m.shuffle(n).slice(0, Math.max(0, t))
return null == t || r ? (w(n) || (n = m.values(n)), n[m.random(n.length - 1)]) : m.shuffle(n).slice(0, Math.max(0, t))
}, m.sortBy = function (n, t, r) {
}, m.sortBy = function (n, t, r) {
return t = b(t, r), m.pluck(m.map(n, function (n, r, e) {
return t = b(t, r), m.pluck(m.map(n, function (n, r, e) {
return {
return {
value: n, index: r, criteria: t(n, r, e)
value: n, index: r, criteria: t(n, r, e)
}
}
}).sort(function (n, t) {
}).sort(function (n, t) {
var r = n.criteria, e = t.criteria; if (r !== e) { if (r > e || r === void 0) return 1; if (e > r || e === void 0) return -1 } return n.index - t.index
var r = n.criteria, e = t.criteria; if (r !== e) { if (r > e || r === void 0) return 1; if (e > r || e === void 0) return -1 } return n.index - t.index
}), "value")
}), "value")
};
};
var A = function (n) {
var A = function (n) {
return function (t, r, e) {
return function (t, r, e) {
var u = {}; return r = b(r, e), m.each(t, function (e, i) { var o = r(e, i, t); n(u, e, o) }), u
var u = {}; return r = b(r, e), m.each(t, function (e, i) { var o = r(e, i, t); n(u, e, o) }), u
for (var u = [], i = 0, o = e || 0, a = n && n.length; a > o; o++) {
for (var u = [], i = 0, o = e || 0, a = n && n.length; a > o; o++) {
var c = n[o];
var c = n[o];
if (w(c) && (m.isArray(c) || m.isArguments(c))) {
if (w(c) && (m.isArray(c) || m.isArguments(c))) {
t || (c = k(c, t, r));
t || (c = k(c, t, r));
var l = 0, f = c.length;
var l = 0, f = c.length;
for (u.length += f; f > l;)
for (u.length += f; f > l;)
u[i++] = c[l++]
u[i++] = c[l++]
} else
} else
r || (u[i++] = c)
r || (u[i++] = c)
}
}
return u
return u
};
};
m.flatten = function (n, t) {
m.flatten = function (n, t) {
return k(n, t, !1)
return k(n, t, !1)
}, m.without = function (n) {
}, m.without = function (n) {
return m.difference(n, l.call(arguments, 1))
return m.difference(n, l.call(arguments, 1))
}, m.uniq = m.unique = function (n, t, r, e) {
}, m.uniq = m.unique = function (n, t, r, e) {
if (null == n)
if (null == n)
return [];
return [];
m.isBoolean(t) || (e = r, r = t, t = !1), null != r && (r = b(r, e));
m.isBoolean(t) || (e = r, r = t, t = !1), null != r && (r = b(r, e));
for (var u = [], i = [], o = 0, a = n.length; a > o; o++) {
for (var u = [], i = [], o = 0, a = n.length; a > o; o++) {
var c = n[o], l = r ? r(c, o, n) : c; t ? (o && i === l || u.push(c), i = l) : r ? m.contains(i, l) || (i.push(l), u.push(c)) : m.contains(u, c) || u.push(c)
var c = n[o], l = r ? r(c, o, n) : c; t ? (o && i === l || u.push(c), i = l) : r ? m.contains(i, l) || (i.push(l), u.push(c)) : m.contains(u, c) || u.push(c)
}
}
return u
return u
}, m.union = function () {
}, m.union = function () {
return m.uniq(k(arguments, !0, !0))
return m.uniq(k(arguments, !0, !0))
}, m.intersection = function (n) {
}, m.intersection = function (n) {
if (null == n)
if (null == n)
return [];
return [];
for (var t = [], r = arguments.length, e = 0, u = n.length; u > e; e++) {
for (var t = [], r = arguments.length, e = 0, u = n.length; u > e; e++) {
var i = n[e];
var i = n[e];
if (!m.contains(t, i)) {
if (!m.contains(t, i)) {
for (var o = 1; r > o && m.contains(arguments[o], i); o++); o === r && t.push(i)
for (var o = 1; r > o && m.contains(arguments[o], i); o++); o === r && t.push(i)
}
}
}
}
return t
return t
}, m.difference = function (n) {
}, m.difference = function (n) {
var t = k(arguments, !0, !0, 1);
var t = k(arguments, !0, !0, 1);
return m.filter(n, function (n) {
return m.filter(n, function (n) {
return !m.contains(t, n)
return !m.contains(t, n)
})
})
}, m.zip = function () {
}, m.zip = function () {
return m.unzip(arguments)
return m.unzip(arguments)
}, m.unzip = function (n) {
}, m.unzip = function (n) {
for (var t = n && m.max(n, "length").length || 0, r = Array(t), e = 0; t > e; e++)
for (var t = n && m.max(n, "length").length || 0, r = Array(t), e = 0; t > e; e++)
r[e] = m.pluck(n, e);
r[e] = m.pluck(n, e);
return r
return r
}, m.object = function (n, t) {
}, m.object = function (n, t) {
for (var r = {}, e = 0, u = n && n.length; u > e; e++)
for (var r = {}, e = 0, u = n && n.length; u > e; e++)
t ? r[n[e]] = t[e] : r[n[e][0]] = n[e][1];
t ? r[n[e]] = t[e] : r[n[e][0]] = n[e][1];
return r
return r
}, m.indexOf = function (n, t, r) {
}, m.indexOf = function (n, t, r) {
var e = 0, u = n && n.length;
var e = 0, u = n && n.length;
if ("number" == typeof r)
if ("number" == typeof r)
e = 0 > r ? Math.max(0, u + r) : r;
e = 0 > r ? Math.max(0, u + r) : r;
else if (r && u)
else if (r && u)
return e = m.sortedIndex(n, t), n[e] === t ? e : -1;
return e = m.sortedIndex(n, t), n[e] === t ? e : -1;
if (t !== t)
if (t !== t)
return m.findIndex(l.call(n, e), m.isNaN);
return m.findIndex(l.call(n, e), m.isNaN);
for (; u > e; e++)
for (; u > e; e++)
if (n[e] === t)
if (n[e] === t)
return e;
return e;
return -1
return -1
}, m.lastIndexOf = function (n, t, r) {
}, m.lastIndexOf = function (n, t, r) {
var e = n ? n.length : 0;
var e = n ? n.length : 0;
if ("number" == typeof r && (e = 0 > r ? e + r + 1 : Math.min(e, r + 1)), t !== t)
if ("number" == typeof r && (e = 0 > r ? e + r + 1 : Math.min(e, r + 1)), t !== t)
}, m.defer = m.partial(m.delay, m, 1), m.throttle = function (n, t, r) {
}, m.defer = m.partial(m.delay, m, 1), m.throttle = function (n, t, r) {
var e, u, i, o = null, a = 0;
var e, u, i, o = null, a = 0;
r || (r = {});
r || (r = {});
var c = function () {
var c = function () {
a = r.leading === !1 ? 0 : m.now(), o = null, i = n.apply(e, u), o || (e = u = null)
a = r.leading === !1 ? 0 : m.now(), o = null, i = n.apply(e, u), o || (e = u = null)
};
};
return function () {
return function () {
var l = m.now(); a || r.leading !== !1 || (a = l);
var l = m.now(); a || r.leading !== !1 || (a = l);
var f = t - (l - a);
var f = t - (l - a);
return e = this, u = arguments, 0 >= f || f > t ? (o && (clearTimeout(o), o = null), a = l, i = n.apply(e, u), o || (e = u = null)) : o || r.trailing === !1 || (o = setTimeout(c, f)), i
return e = this, u = arguments, 0 >= f || f > t ? (o && (clearTimeout(o), o = null), a = l, i = n.apply(e, u), o || (e = u = null)) : o || r.trailing === !1 || (o = setTimeout(c, f)), i
}
}
}, m.debounce = function (n, t, r) {
}, m.debounce = function (n, t, r) {
var e, u, i, o, a, c = function () {
var e, u, i, o, a, c = function () {
var l = m.now() - o; t > l && l >= 0 ? e = setTimeout(c, t - l) : (e = null, r || (a = n.apply(i, u), e || (i = u = null)))
var l = m.now() - o; t > l && l >= 0 ? e = setTimeout(c, t - l) : (e = null, r || (a = n.apply(i, u), e || (i = u = null)))
};
};
return function () {
return function () {
i = this, u = arguments, o = m.now();
i = this, u = arguments, o = m.now();
var l = r && !e;
var l = r && !e;
return e || (e = setTimeout(c, t)), l && (a = n.apply(i, u), i = u = null), a
return e || (e = setTimeout(c, t)), l && (a = n.apply(i, u), i = u = null), a
}
}
}, m.wrap = function (n, t) {
}, m.wrap = function (n, t) {
return m.partial(t, n)
return m.partial(t, n)
}, m.negate = function (n) {
}, m.negate = function (n) {
return function () {
return function () {
return !n.apply(this, arguments)
return !n.apply(this, arguments)
}
}
}, m.compose = function () {
}, m.compose = function () {
var n = arguments, t = n.length - 1;
var n = arguments, t = n.length - 1;
return function () {
return function () {
for (var r = t, e = n[t].apply(this, arguments); r--;)
for (var r = t, e = n[t].apply(this, arguments); r--;)
return e === void 0 && (e = r), m.isFunction(e) ? e.call(n) : e
return e === void 0 && (e = r), m.isFunction(e) ? e.call(n) : e
};
};
var B = 0;
var B = 0;
m.uniqueId = function (n) {
m.uniqueId = function (n) {
var t = ++B + "";
var t = ++B + "";
return n ? n + t : t
return n ? n + t : t
}, m.templateSettings = {
}, m.templateSettings = {
evaluate: /<%([\s\S]+?)%>/g,
evaluate: /<%([\s\S]+?)%>/g,
interpolate: /<%=([\s\S]+?)%>/g,
interpolate: /<%=([\s\S]+?)%>/g,
escape: /<%-([\s\S]+?)%>/g
escape: /<%-([\s\S]+?)%>/g
};
};
var T = /(.)^/, R = {
var T = /(.)^/, R = {
"'": "'",
"'": "'",
"\\": "\\",
"\\": "\\",
"\r": "r",
"\r": "r",
"\n": "n",
"\n": "n",
"\u2028": "u2028",
"\u2028": "u2028",
"\u2029": "u2029"
"\u2029": "u2029"
}, q = /\\|'|\r|\n|\u2028|\u2029/g, K = function (n) {
}, q = /\\|'|\r|\n|\u2028|\u2029/g, K = function (n) {
return "\\" + R[n]
return "\\" + R[n]
};
};
m.template = function (n, t, r) {
m.template = function (n, t, r) {
!t && r && (t = r), t = m.defaults({}, t, m.templateSettings);
!t && r && (t = r), t = m.defaults({}, t, m.templateSettings);
var e = RegExp([(t.escape || T).source, (t.interpolate || T).source, (t.evaluate || T).source].join("|") + "|$", "g"), u = 0, i = "__p+='";
var e = RegExp([(t.escape || T).source, (t.interpolate || T).source, (t.evaluate || T).source].join("|") + "|$", "g"), u = 0, i = "__p+='";
n.replace(e, function (t, r, e, o, a) {
n.replace(e, function (t, r, e, o, a) {
return i += n.slice(u, a).replace(q, K), u = a + t.length, r ? i += "'+\n((__t=(" + r + "))==null?'':_.escape(__t))+\n'" : e ? i += "'+\n((__t=(" + e + "))==null?'':__t)+\n'" : o && (i += "';\n" + o + "\n__p+='"), t
return i += n.slice(u, a).replace(q, K), u = a + t.length, r ? i += "'+\n((__t=(" + r + "))==null?'':_.escape(__t))+\n'" : e ? i += "'+\n((__t=(" + e + "))==null?'':__t)+\n'" : o && (i += "';\n" + o + "\n__p+='"), t
}), i += "';\n", t.variable || (i = "with(obj||{}){\n" + i + "}\n"), i = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + i + "return __p;\n";
}), i += "';\n", t.variable || (i = "with(obj||{}){\n" + i + "}\n"), i = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + i + "return __p;\n";
try {
try {
var o = new Function(t.variable || "obj", "_", i)
var o = new Function(t.variable || "obj", "_", i)
}
}
catch (a) {
catch (a) {
throw a.source = i, a
throw a.source = i, a
}
}
var c = function (n) {
var c = function (n) {
return o.call(this, n, m)
return o.call(this, n, m)
}, l = t.variable || "obj";
}, l = t.variable || "obj";
return c.source = "function(" + l + "){\n" + i + "}", c
return c.source = "function(" + l + "){\n" + i + "}", c