Update docs and builds.

Former-commit-id: 1f7bfb21276f1c871f4e6ce8a6bf168784509994
This commit is contained in:
John-David Dalton
2013-03-03 20:12:06 -08:00
parent 9638c393bb
commit d88da3589d
8 changed files with 479 additions and 440 deletions

186
dist/lodash.compat.js vendored
View File

@@ -506,7 +506,7 @@
/** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
var eachIteratorOptions = {
'args': 'collection, callback, thisArg',
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg)",
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : lodash.createCallback(callback, thisArg)",
'arrays': "typeof length == 'number'",
'loop': 'if (callback(iterable[index], index, collection) === false) return result'
};
@@ -650,64 +650,6 @@
return bound;
}
/**
* Produces a callback bound to an optional `thisArg`. If `func` is a property
* name, the created callback will return the property value for a given element.
* If `func` is an object, the created callback will return `true` for elements
* that contain the equivalent object properties, otherwise it will return `false`.
*
* @private
* @param {Mixed} [func=identity] The value to convert to a callback.
* @param {Mixed} [thisArg] The `this` binding of the created callback.
* @param {Number} [argCount=3] The number of arguments the callback accepts.
* @returns {Function} Returns a callback function.
*/
function createCallback(func, thisArg, argCount) {
if (func == null) {
return identity;
}
var type = typeof func;
if (type != 'function') {
if (type != 'object') {
return function(object) {
return object[func];
};
}
var props = keys(func);
return function(object) {
var length = props.length,
result = false;
while (length--) {
if (!(result = isEqual(object[props[length]], func[props[length]], indicatorObject))) {
break;
}
}
return result;
};
}
if (typeof thisArg != 'undefined') {
if (argCount === 1) {
return function(value) {
return func.call(thisArg, value);
};
}
if (argCount === 2) {
return function(a, b) {
return func.call(thisArg, a, b);
};
}
if (argCount === 4) {
return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
}
return func;
}
/**
* Creates compiled iteration functions.
*
@@ -750,13 +692,13 @@
// create the function factory
var factory = Function(
'createCallback, hasOwnProperty, isArguments, isArray, isString, ' +
'hasOwnProperty, isArguments, isArray, isString, lodash, ' +
'objectTypes, nativeKeys',
'return function(' + args + ') {\n' + iteratorTemplate(data) + '\n}'
);
// return the compiled function
return factory(
createCallback, hasOwnProperty, isArguments, isArray, isString,
hasOwnProperty, isArguments, isArray, isString, lodash,
objectTypes, nativeKeys
);
}
@@ -1130,7 +1072,7 @@
defaultsIteratorOptions.top.replace(';',
';\n' +
"if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n" +
' var callback = createCallback(args[--argsLength - 1], args[argsLength--], 2);\n' +
' var callback = lodash.createCallback(args[--argsLength - 1], args[argsLength--], 2);\n' +
"} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n" +
' callback = args[--argsLength];\n' +
'}'
@@ -1191,9 +1133,11 @@
deep = false;
}
if (typeof callback == 'function') {
callback = typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg, 1);
result = callback(result);
callback = (typeof thisArg == 'undefined')
? callback
: lodash.createCallback(callback, thisArg, 1);
result = callback(result);
if (typeof result != 'undefined') {
return result;
}
@@ -1504,8 +1448,8 @@
* @param {Mixed} b The other value to compare.
* @param {Function} [callback] The function to customize comparing values.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @param- {Object} [stackA=[]] Internally used track traversed `a` objects.
* @param- {Object} [stackB=[]] Internally used track traversed `b` objects.
* @param- {Array} [stackA=[]] Internally used track traversed `a` objects.
* @param- {Array} [stackB=[]] Internally used track traversed `b` objects.
* @returns {Boolean} Returns `true`, if the values are equivalent, else `false`.
* @example
*
@@ -1534,7 +1478,10 @@
// used to indicate that when comparing objects, `a` has at least the properties of `b`
var whereIndicator = callback === indicatorObject;
if (callback && !whereIndicator) {
callback = typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg, 2);
callback = (typeof thisArg == 'undefined')
? callback
: lodash.createCallback(callback, thisArg, 2);
var result = callback(a, b);
if (typeof result != 'undefined') {
return !!result;
@@ -1999,7 +1946,7 @@
length = args.length;
}
if (length > 3 && typeof args[length - 2] == 'function') {
callback = createCallback(args[--length - 1], args[length--], 2);
callback = lodash.createCallback(args[--length - 1], args[length--], 2);
} else if (length > 2 && typeof args[length - 1] == 'function') {
callback = args[--length];
}
@@ -2089,7 +2036,7 @@
result = {};
if (isFunc) {
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
} else {
var props = concat.apply(arrayRef, arguments);
}
@@ -2191,7 +2138,7 @@
}
}
} else {
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forIn(object, function(value, key, object) {
if (callback(value, key, object)) {
result[key] = value;
@@ -2347,7 +2294,7 @@
*/
function countBy(collection, callback, thisArg) {
var result = {};
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, key, collection) {
key = callback(value, key, collection) + '';
@@ -2399,7 +2346,7 @@
*/
function every(collection, callback, thisArg) {
var result = true;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
@@ -2460,7 +2407,7 @@
*/
function filter(collection, callback, thisArg) {
var result = [];
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
@@ -2527,7 +2474,7 @@
*/
function find(collection, callback, thisArg) {
var result;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, index, collection) {
if (callback(value, index, collection)) {
@@ -2612,7 +2559,7 @@
*/
function groupBy(collection, callback, thisArg) {
var result = {};
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, key, collection) {
key = callback(value, key, collection) + '';
@@ -2700,7 +2647,7 @@
length = collection ? collection.length : 0,
result = Array(typeof length == 'number' ? length : 0);
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
while (++index < length) {
result[index] = callback(collection[index], index, collection);
@@ -2769,7 +2716,7 @@
} else {
callback = (!callback && isString(collection))
? charAtCallback
: createCallback(callback, thisArg);
: lodash.createCallback(callback, thisArg);
each(collection, function(value, index, collection) {
var current = callback(value, index, collection);
@@ -2838,7 +2785,7 @@
} else {
callback = (!callback && isString(collection))
? charAtCallback
: createCallback(callback, thisArg);
: lodash.createCallback(callback, thisArg);
each(collection, function(value, index, collection) {
var current = callback(value, index, collection);
@@ -2905,7 +2852,7 @@
*/
function reduce(collection, callback, accumulator, thisArg) {
var noaccum = arguments.length < 3;
callback = createCallback(callback, thisArg, 4);
callback = lodash.createCallback(callback, thisArg, 4);
if (isArray(collection)) {
var index = -1,
@@ -2957,7 +2904,7 @@
} else if (noCharByIndex && isString(collection)) {
iterable = collection.split('');
}
callback = createCallback(callback, thisArg, 4);
callback = lodash.createCallback(callback, thisArg, 4);
forEach(collection, function(value, index, collection) {
index = props ? props[--length] : --length;
accumulator = noaccum
@@ -3007,7 +2954,7 @@
* // => [{ 'name': 'carrot', 'organic': true, 'type': 'vegetable' }]
*/
function reject(collection, callback, thisArg) {
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
return filter(collection, function(value, index, collection) {
return !callback(value, index, collection);
});
@@ -3109,7 +3056,7 @@
*/
function some(collection, callback, thisArg) {
var result;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
@@ -3168,7 +3115,7 @@
length = collection ? collection.length : 0,
result = Array(typeof length == 'number' ? length : 0);
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, key, collection) {
result[++index] = {
'criteria': callback(value, key, collection),
@@ -3358,7 +3305,7 @@
if (typeof callback != 'number' && callback != null) {
var index = -1;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (++index < length && callback(array[index], index, array)) {
n++;
}
@@ -3515,7 +3462,7 @@
if (typeof callback != 'number' && callback != null) {
var index = length;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (index-- && callback(array[index], index, array)) {
n++;
}
@@ -3639,7 +3586,7 @@
if (typeof callback != 'number' && callback != null) {
var index = length;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (index-- && callback(array[index], index, array)) {
n++;
}
@@ -3799,7 +3746,7 @@
index = -1,
length = array ? array.length : 0;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (++index < length && callback(array[index], index, array)) {
n++;
}
@@ -3862,7 +3809,7 @@
high = array ? array.length : low;
// explicitly reference `identity` for better inlining in Firefox
callback = callback ? createCallback(callback, thisArg, 1) : identity;
callback = callback ? lodash.createCallback(callback, thisArg, 1) : identity;
value = callback(value);
while (low < high) {
@@ -3955,7 +3902,7 @@
}
if (callback != null) {
seen = [];
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
}
while (++index < length) {
var value = array[index],
@@ -4239,6 +4186,66 @@
};
}
/**
* Produces a callback bound to an optional `thisArg`. If `func` is a property
* name, the created callback will return the property value for a given element.
* If `func` is an object, the created callback will return `true` for elements
* that contain the equivalent object properties, otherwise it will return `false`.
*
* @static
* @memberOf _
* @category Functions
* @param {Mixed} [func=identity] The value to convert to a callback.
* @param {Mixed} [thisArg] The `this` binding of the created callback.
* @param {Number} [argCount=3] The number of arguments the callback accepts.
* @returns {Function} Returns a callback function.
*/
function createCallback(func, thisArg, argCount) {
if (func == null) {
return identity;
}
var type = typeof func;
if (type != 'function') {
if (type != 'object') {
return function(object) {
return object[func];
};
}
var props = keys(func);
return function(object) {
var length = props.length,
result = false;
while (length--) {
if (!(result = isEqual(object[props[length]], func[props[length]], indicatorObject))) {
break;
}
}
return result;
};
}
if (typeof thisArg != 'undefined') {
if (argCount === 1) {
return function(value) {
return func.call(thisArg, value);
};
}
if (argCount === 2) {
return function(a, b) {
return func.call(thisArg, a, b);
};
}
if (argCount === 4) {
return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
}
return func;
}
/**
* Creates a function that will delay the execution of `func` until after
* `wait` milliseconds have elapsed since the last time it was invoked. Pass
@@ -5013,6 +5020,7 @@
lodash.compact = compact;
lodash.compose = compose;
lodash.countBy = countBy;
lodash.createCallback = createCallback;
lodash.debounce = debounce;
lodash.defaults = defaults;
lodash.defer = defer;

View File

@@ -4,41 +4,41 @@
* Build: `lodash -o ./dist/lodash.compat.js`
* Underscore.js 1.4.4 underscorejs.org/LICENSE
*/
;(function(n){function t(e){function o(n){return n&&typeof n=="object"&&Qt.call(n,"__wrapped__")?n:this instanceof o?(this.__wrapped__=n,void 0):new o(n)}function B(n,t,r){t||(t=0);var e=n.length,u=e-t>=(r||a);if(u){var o={};for(r=t-1;++r<e;){var i=n[r]+"";(Qt.call(o,i)?o[i]:o[i]=[]).push(n[r])}}return function(r){if(u){var e=r+"";return Qt.call(o,e)&&-1<dt(o[e],r)}return-1<dt(n,r,t)}}function R(n){return n.charCodeAt(0)}function T(n,t){var r=n.b,e=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;
if(n<t||typeof t=="undefined")return-1}return r<e?-1:1}function D(n,t,r,e){function u(){var a=arguments,c=i?this:t;return o||(n=t[f]),r.length&&(a=a.length?(a=V(a),e?a.concat(r):r.concat(a)):r),this instanceof u?(c=kr(n.prototype),a=n.apply(c,a),tt(a)?a:c):n.apply(c,a)}var o=nt(n),i=!r,f=t;return i&&(r=t),o||(t=n),u}function P(n,t,r){if(null==n)return St;var e=typeof n;if("function"!=e){if("object"!=e)return function(t){return t[n]};var u=$r(n);return function(t){for(var r=u.length,e=!1;r--&&(e=Z(t[u[r]],n[u[r]],f)););return e
}}return typeof t!="undefined"?1===r?function(r){return n.call(t,r)}:2===r?function(r,e){return n.call(t,r,e)}:4===r?function(r,e,u,o){return n.call(t,r,e,u,o)}:function(r,e,u){return n.call(t,r,e,u)}:n}function z(){for(var n,t={e:It,f:Nt,g:gr,i:yr,j:_r,k:b,b:"l(n)",c:"",h:"",l:"",m:!0},r=0;n=arguments[r];r++)for(var e in n)t[e]=n[e];if(n=t.a,t.d=/^[^,]+/.exec(n)[0],r=Bt,e="var j,n="+t.d+",u=n;if(!n)return u;"+t.l+";",t.b?(e+="var o=n.length;j=-1;if("+t.b+"){",t.j&&(e+="if(m(n)){n=n.split('')}"),e+="while(++j<o){"+t.h+"}}else{"):t.i&&(e+="var o=n.length;j=-1;if(o&&k(n)){while(++j<o){j+='';"+t.h+"}}else{"),t.f&&(e+="var v=typeof n=='function';"),t.g&&t.m?(e+="var s=-1,t=r[typeof n]?p(n):[],o=t.length;while(++s<o){j=t[s];",t.f&&(e+="if(!(v&&j=='prototype')){"),e+=t.h+"",t.f&&(e+="}")):(e+="for(j in n){",(t.f||t.m)&&(e+="if(",t.f&&(e+="!(v&&j=='prototype')"),t.f&&t.m&&(e+="&&"),t.m&&(e+="i.call(n,j)"),e+="){"),e+=t.h+";",(t.f||t.m)&&(e+="}")),e+="}",t.e){e+="var g=n.constructor;";
for(var u=0;7>u;u++)e+="j='"+t.k[u]+"';if(","constructor"==t.k[u]&&(e+="!(g&&g.prototype===n)&&"),e+="i.call(n,j)){"+t.h+"}"}return(t.b||t.i)&&(e+="}"),e+=t.c+";return u",r("f,i,k,l,m,r,p","return function("+n+"){"+e+"}")(P,Qt,H,Ar,et,$,or)}function C(n){var t=kr(o.prototype);return t.__wrapped__=n,t}function M(n){return"\\"+F[n]}function K(n){return Fr[n]}function L(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function U(){}function V(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);
var e=-1;r=r-t||0;for(var u=$t(0>r?0:r);++e<r;)u[e]=n[t+e];return u}function G(n){return qr[n]}function H(n){return Zt.call(n)==j}function J(n){var t=!1;if(!n||typeof n!="object"||H(n))return t;var r=n.constructor;return!nt(r)&&(!br||!L(n))||r instanceof r?At?(Ir(n,function(n,r,e){return t=!Qt.call(e,r),!1}),!1===t):(Ir(n,function(n,r){t=r}),!1===t||Qt.call(n,t)):t}function Q(n){var t=[];return Nr(n,function(n,r){t.push(r)}),t}function W(n,t,e,u,o,i){var f=n;if(typeof t=="function"&&(u=e,e=t,t=!1),typeof e=="function"){if(e=typeof u=="undefined"?e:P(e,u,1),f=e(f),typeof f!="undefined")return f;
f=n}if(u=tt(f)){var a=Zt.call(f);if(!A[a]||br&&L(f))return f;var c=Ar(f)}if(!u||!t)return u?c?V(f):Br({},f):f;switch(u=wr[a],a){case x:case O:return new u(+f);case k:case N:return new u(f);case I:return u(f.source,v.exec(f))}for(o||(o=[]),i||(i=[]),a=o.length;a--;)if(o[a]==n)return i[a];return f=c?u(f.length):{},c&&(Qt.call(n,"index")&&(f.index=n.index),Qt.call(n,"input")&&(f.input=n.input)),o.push(n),i.push(f),(c?lt:Nr)(n,function(n,u){f[u]=W(n,t,e,r,o,i)}),f}function X(n){var t=[];return Ir(n,function(n,r){nt(n)&&t.push(r)
}),t.sort()}function Y(n){for(var t=-1,r=$r(n),e=r.length,u={};++t<e;){var o=r[t];u[n[o]]=o}return u}function Z(n,t,r,e,u,o){var i=r===f;if(r&&!i){r=typeof e=="undefined"?r:P(r,e,2);var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var c=typeof n,l=typeof t;if(n===n&&(!n||"function"!=c&&"object"!=c)&&(!t||"function"!=l&&"object"!=l))return!1;if(null==n||null==t)return n===t;if(l=Zt.call(n),c=Zt.call(t),l==j&&(l=E),c==j&&(c=E),l!=c)return!1;switch(l){case x:case O:return+n==+t;
case k:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case I:case N:return n==t+""}if(c=l==w,!c){if(Qt.call(n,"__wrapped__")||Qt.call(t,"__wrapped__"))return Z(n.__wrapped__||n,t.__wrapped__||t,r,e,u,o);if(l!=E||br&&(L(n)||L(t)))return!1;var l=!mr&&H(n)?Dt:n.constructor,p=!mr&&H(t)?Dt:t.constructor;if(l!=p&&(!nt(l)||!(l instanceof l&&nt(p)&&p instanceof p)))return!1}for(u||(u=[]),o||(o=[]),l=u.length;l--;)if(u[l]==n)return o[l]==t;var s=0,a=!0;if(u.push(n),o.push(t),c){if(l=n.length,s=t.length,a=s==n.length,!a&&!i)return a;
for(;s--;)if(c=l,p=t[s],i)for(;c--&&!(a=Z(n[c],p,r,e,u,o)););else if(!(a=Z(n[s],p,r,e,u,o)))break;return a}return Ir(t,function(t,i,f){return Qt.call(f,i)?(s++,a=Qt.call(n,i)&&Z(n[i],t,r,e,u,o)):void 0}),a&&!i&&Ir(n,function(n,t,r){return Qt.call(r,t)?a=-1<--s:void 0}),a}function nt(n){return typeof n=="function"}function tt(n){return n?$[typeof n]:!1}function rt(n){return typeof n=="number"||Zt.call(n)==k}function et(n){return typeof n=="string"||Zt.call(n)==N}function ut(n,t,r){var e=arguments,u=0,o=2;
if(!tt(n))return n;if(r===f)var i=e[3],a=e[4],c=e[5];else a=[],c=[],typeof r!="number"&&(o=e.length),3<o&&"function"==typeof e[o-2]?i=P(e[--o-1],e[o--],2):2<o&&"function"==typeof e[o-1]&&(i=e[--o]);for(;++u<o;)(Ar(e[u])?lt:Nr)(e[u],function(t,r){var e,u,o=t,l=n[r];if(t&&((u=Ar(t))||Tr(t))){for(o=a.length;o--;)if(e=a[o]==t){l=c[o];break}e||(l=u?Ar(l)?l:[]:Tr(l)?l:{},i&&(o=i(l,t),typeof o!="undefined"&&(l=o)),a.push(t),c.push(l),i||(l=ut(l,t,f,i,a,c)))}else i&&(o=i(l,t),typeof o=="undefined"&&(o=t)),typeof o!="undefined"&&(l=o);
n[r]=l});return n}function ot(n){for(var t=-1,r=$r(n),e=r.length,u=$t(e);++t<e;)u[t]=n[r[t]];return u}function it(n,t,r){var e=-1,u=n?n.length:0,o=!1;return r=(0>r?ir(0,u+r):r)||0,typeof u=="number"?o=-1<(et(n)?n.indexOf(t,r):dt(n,t,r)):Er(n,function(n){return++e<r?void 0:!(o=n===t)}),o}function ft(n,t,r){var e=!0;if(t=P(t,r),Ar(n)){r=-1;for(var u=n.length;++r<u&&(e=!!t(n[r],r,n)););}else Er(n,function(n,r,u){return e=!!t(n,r,u)});return e}function at(n,t,r){var e=[];if(t=P(t,r),Ar(n)){r=-1;for(var u=n.length;++r<u;){var o=n[r];
t(o,r,n)&&e.push(o)}}else Er(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function ct(n,t,r){var e;return t=P(t,r),lt(n,function(n,r,u){return t(n,r,u)?(e=n,!1):void 0}),e}function lt(n,t,r){if(t&&typeof r=="undefined"&&Ar(n)){r=-1;for(var e=n.length;++r<e&&!1!==t(n[r],r,n););}else Er(n,t,r);return n}function pt(n,t,r){var e=-1,u=n?n.length:0,o=$t(typeof u=="number"?u:0);if(t=P(t,r),Ar(n))for(;++e<u;)o[e]=t(n[e],e,n);else Er(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function st(n,t,r){var e=-1/0,u=e;
if(!t&&Ar(n)){r=-1;for(var o=n.length;++r<o;){var i=n[r];i>u&&(u=i)}}else t=!t&&et(n)?R:P(t,r),Er(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)});return u}function vt(n,t,r,e){var u=3>arguments.length;if(t=P(t,e,4),Ar(n)){var o=-1,i=n.length;for(u&&(r=n[++o]);++o<i;)r=t(r,n[o],o,n)}else Er(n,function(n,e,o){r=u?(u=!1,n):t(r,n,e,o)});return r}function gt(n,t,r,e){var u=n,o=n?n.length:0,i=3>arguments.length;if(typeof o!="number")var f=$r(n),o=f.length;else _r&&et(n)&&(u=n.split(""));return t=P(t,e,4),lt(n,function(n,e,a){e=f?f[--o]:--o,r=i?(i=!1,u[e]):t(r,u[e],e,a)
}),r}function ht(n,t,r){var e;if(t=P(t,r),Ar(n)){r=-1;for(var u=n.length;++r<u&&!(e=t(n[r],r,n)););}else Er(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function yt(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=-1;for(t=P(t,r);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n[0];return V(n,0,fr(ir(0,e),u))}}function mt(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];Ar(o)?Wt.apply(u,t?o:mt(o)):u.push(o)}return u}function dt(n,t,r){var e=-1,u=n?n.length:0;
if(typeof r=="number")e=(0>r?ir(0,u+r):r||0)-1;else if(r)return e=bt(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function _t(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=P(t,r);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:ir(0,t);return V(n,e)}function bt(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?P(r,e,1):St,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function jt(n,t,r,e){var u=-1,o=n?n.length:0,i=[],f=i;typeof t!="boolean"&&null!=t&&(e=r,r=t,t=!1);
var a=!t&&75<=o;if(a)var c={};for(null!=r&&(f=[],r=P(r,e));++u<o;){e=n[u];var l=r?r(e,u,n):e;if(a)var p=l+"",p=Qt.call(c,p)?!(f=c[p]):f=c[p]=[];(t?!u||f[f.length-1]!==l:p||0>dt(f,l))&&((r||a)&&f.push(l),i.push(e))}return i}function wt(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var o=n[r];t?u[o]=t[r]:u[o[0]]=o[1]}return u}function xt(n,t){return vr||nr&&2<arguments.length?nr.call.apply(nr,arguments):D(n,t,V(arguments,2))}function Ot(n){var t=V(arguments,1);return Yt(function(){n.apply(r,t)},1)}function St(n){return n
}function kt(n){lt(X(n),function(t){var r=o[t]=n[t];o.prototype[t]=function(){var n=this.__wrapped__,t=[n];return Wt.apply(t,arguments),t=r.apply(o,t),n&&typeof n=="object"&&n==t?this:C(t)}})}function Et(){return this.__wrapped__}e=e?q.defaults(n.Object(),e,q.pick(n,_)):n;var It,Nt,At,$t=e.Array,Ft=e.Boolean,qt=e.Date,Bt=e.Function,Rt=e.Math,Tt=e.Number,Dt=e.Object,Pt=e.RegExp,zt=e.String,Ct=$t(),Mt=Dt(),Kt=e._,Lt=Pt("^"+(Mt.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Ut=Rt.ceil,Vt=e.clearTimeout,Gt=Ct.concat,Ht=Rt.floor,Jt=Lt.test(Jt=Dt.getPrototypeOf)&&Jt,Qt=Mt.hasOwnProperty,Wt=Ct.push,Xt=e.setImmediate,Yt=e.setTimeout,Zt=Mt.toString,nr=Lt.test(nr=V.bind)&&nr,tr=Lt.test(tr=Dt.create)&&tr,rr=Lt.test(rr=$t.isArray)&&rr,er=e.isFinite,ur=e.isNaN,or=Lt.test(or=Dt.keys)&&or,ir=Rt.max,fr=Rt.min,ar=e.parseInt,cr=Rt.random,lr=Lt.test(e.attachEvent),pr=!/\n{2,}/.test(Bt()),sr=nr&&!/\n|true/.test(nr+lr),vr=nr&&!sr,gr=or&&(lr||sr||!pr),hr=(hr={0:1,length:1},Ct.splice.call(hr,0,1),hr[0]),yr=!0;
(function(){function n(){this.x=1}var t=[];n.prototype={valueOf:1,y:1};for(var r in new n)t.push(r);for(r in arguments)yr=!r;It=!/valueOf/.test(t),Nt=n.propertyIsEnumerable("prototype"),At="x"!=t[0]})(1);var mr=arguments.constructor==Dt,dr=!H(arguments),_r="xx"!="x"[0]+Dt("x")[0];try{var br=Zt.call(document)==E&&!({toString:0}+"")}catch(jr){}var wr={};wr[w]=$t,wr[x]=Ft,wr[O]=qt,wr[E]=Dt,wr[k]=Tt,wr[I]=Pt,wr[N]=zt,o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:h,variable:"",imports:{_:o}};
var xr={a:"q,w,h",l:"var a=arguments,b=0,c=typeof h=='number'?2:a.length;while(++b<c){n=a[b];if(n&&r[typeof n]){",h:"if(typeof u[j]=='undefined')u[j]=n[j]",c:"}}"},Or={a:"e,d,x",l:"d=d&&typeof x=='undefined'?d:f(d,x)",b:"typeof o=='number'",h:"if(d(n[j],j,e)===false)return u"},Sr={l:"if(!r[typeof n])return u;"+Or.l,b:!1},kr=tr||function(n){return U.prototype=n,n=new U,U.prototype=null,n},Er=z(Or);dr&&(H=function(n){return n?Qt.call(n,"callee"):!1});var Ir=z(Or,Sr,{m:!1}),Nr=z(Or,Sr),Ar=rr||function(n){return mr&&n instanceof $t||Zt.call(n)==w
},$r=or?function(n){return tt(n)?Nt&&typeof n=="function"||yr&&n.length&&H(n)?Q(n):or(n):[]}:Q,Fr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},qr=Y(Fr),Br=z(xr,{l:xr.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=f(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[j]=d?d(u[j],n[j]):n[j]"}),Rr=z(xr);nt(/x/)&&(nt=function(n){return n instanceof Bt||Zt.call(n)==S});var Tr=Jt?function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,r=typeof t=="function"&&(r=Jt(t))&&Jt(r);
return r?n==r||Jt(n)==r&&!H(n):J(n)}:J,Dr=8==ar("08")?ar:function(n,t){return ar(et(n)?n.replace(/^0+(?=.$)/,""):n,t||0)},Pr=pt,zr=at;return sr&&u&&typeof Xt=="function"&&(Ot=xt(Xt,e)),o.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},o.assign=Br,o.at=function(n){var t=-1,r=Gt.apply(Ct,V(arguments,1)),e=r.length,u=$t(e);for(_r&&et(n)&&(n=n.split(""));++t<e;)u[t]=n[r[t]];return u},o.bind=xt,o.bindAll=function(n){for(var t=Gt.apply(Ct,arguments),r=1<t.length?0:(t=X(n),-1),e=t.length;++r<e;){var u=t[r];
n[u]=xt(n[u],n)}return n},o.bindKey=function(n,t){return D(n,t,V(arguments,2))},o.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},o.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},o.countBy=function(n,t,r){var e={};return t=P(t,r),lt(n,function(n,r,u){r=t(n,r,u)+"",Qt.call(e,r)?e[r]++:e[r]=1}),e},o.debounce=function(n,t,r){function e(){f=null,r||(o=n.apply(i,u))}var u,o,i,f;
return function(){var a=r&&!f;return u=arguments,i=this,Vt(f),f=Yt(e,t),a&&(o=n.apply(i,u)),o}},o.defaults=Rr,o.defer=Ot,o.delay=function(n,t){var e=V(arguments,2);return Yt(function(){n.apply(r,e)},t)},o.difference=function(n){for(var t=-1,r=n?n.length:0,e=Gt.apply(Ct,arguments),e=B(e,r),u=[];++t<r;){var o=n[t];e(o)||u.push(o)}return u},o.filter=at,o.flatten=mt,o.forEach=lt,o.forIn=Ir,o.forOwn=Nr,o.functions=X,o.groupBy=function(n,t,r){var e={};return t=P(t,r),lt(n,function(n,r,u){r=t(n,r,u)+"",(Qt.call(e,r)?e[r]:e[r]=[]).push(n)
}),e},o.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=P(t,r);o--&&t(n[o],o,n);)e++}else e=null==t||r?1:t||e;return V(n,0,fr(ir(0,u-e),u))},o.intersection=function(n){var t=arguments,r=t.length,e={0:{}},u=-1,o=n?n.length:0,i=100<=o,f=[],a=f;n:for(;++u<o;){var c=n[u];if(i)var l=c+"",l=Qt.call(e[0],l)?!(a=e[0][l]):a=e[0][l]=[];if(l||0>dt(a,c)){i&&a.push(c);for(var p=r;--p;)if(!(e[p]||(e[p]=B(t[p],0,100)))(c))continue n;f.push(c)}}return f},o.invert=Y,o.invoke=function(n,t){var r=V(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=$t(typeof o=="number"?o:0);
return lt(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},o.keys=$r,o.map=pt,o.max=st,o.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return Qt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},o.merge=ut,o.min=function(n,t,r){var e=1/0,u=e;if(!t&&Ar(n)){r=-1;for(var o=n.length;++r<o;){var i=n[r];i<u&&(u=i)}}else t=!t&&et(n)?R:P(t,r),Er(n,function(n,r,o){r=t(n,r,o),r<e&&(e=r,u=n)});return u},o.omit=function(n,t,r){var e=typeof t=="function",u={};if(e)t=P(t,r);
else var o=Gt.apply(Ct,arguments);return Ir(n,function(n,r,i){(e?!t(n,r,i):0>dt(o,r,1))&&(u[r]=n)}),u},o.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},o.pairs=function(n){for(var t=-1,r=$r(n),e=r.length,u=$t(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},o.partial=function(n){return D(n,V(arguments,1))},o.partialRight=function(n){return D(n,V(arguments,1),null,f)},o.pick=function(n,t,r){var e={};if(typeof t!="function")for(var u=0,o=Gt.apply(Ct,arguments),i=tt(n)?o.length:0;++u<i;){var f=o[u];
f in n&&(e[f]=n[f])}else t=P(t,r),Ir(n,function(n,r,u){t(n,r,u)&&(e[r]=n)});return e},o.pluck=Pr,o.range=function(n,t,r){n=+n||0,r=+r||1,null==t&&(t=n,n=0);var e=-1;t=ir(0,Ut((t-n)/r));for(var u=$t(t);++e<t;)u[e]=n,n+=r;return u},o.reject=function(n,t,r){return t=P(t,r),at(n,function(n,r,e){return!t(n,r,e)})},o.rest=_t,o.shuffle=function(n){var t=-1,r=n?n.length:0,e=$t(typeof r=="number"?r:0);return lt(n,function(n){var r=Ht(cr()*(++t+1));e[t]=e[r],e[r]=n}),e},o.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=$t(typeof u=="number"?u:0);
for(t=P(t,r),lt(n,function(n,r,u){o[++e]={a:t(n,r,u),b:e,c:n}}),u=o.length,o.sort(T);u--;)o[u]=o[u].c;return o},o.tap=function(n,t){return t(n),n},o.throttle=function(n,t){function r(){f=new qt,i=null,u=n.apply(o,e)}var e,u,o,i,f=0;return function(){var a=new qt,c=t-(a-f);return e=arguments,o=this,0<c?i||(i=Yt(r,c)):(Vt(i),i=null,f=a,u=n.apply(o,e)),u}},o.times=function(n,t,r){n=+n||0;for(var e=-1,u=$t(n);++e<n;)u[e]=t.call(r,e);return u},o.toArray=function(n){return n&&typeof n.length=="number"?_r&&et(n)?n.split(""):V(n):ot(n)
},o.union=function(){return jt(Gt.apply(Ct,arguments))},o.uniq=jt,o.values=ot,o.where=zr,o.without=function(n){for(var t=-1,r=n?n.length:0,e=B(arguments,1),u=[];++t<r;){var o=n[t];e(o)||u.push(o)}return u},o.wrap=function(n,t){return function(){var r=[n];return Wt.apply(r,arguments),t.apply(this,r)}},o.zip=function(n){for(var t=-1,r=n?st(Pr(arguments,"length")):0,e=$t(r);++t<r;)e[t]=Pr(arguments,t);return e},o.zipObject=wt,o.collect=pt,o.drop=_t,o.each=lt,o.extend=Br,o.methods=X,o.object=wt,o.select=at,o.tail=_t,o.unique=jt,kt(o),o.clone=W,o.cloneDeep=function(n,t,r){return W(n,!0,t,r)
},o.contains=it,o.escape=function(n){return null==n?"":(n+"").replace(m,K)},o.every=ft,o.find=ct,o.has=function(n,t){return n?Qt.call(n,t):!1},o.identity=St,o.indexOf=dt,o.isArguments=H,o.isArray=Ar,o.isBoolean=function(n){return!0===n||!1===n||Zt.call(n)==x},o.isDate=function(n){return n instanceof qt||Zt.call(n)==O},o.isElement=function(n){return n?1===n.nodeType:!1},o.isEmpty=function(n){var t=!0;if(!n)return t;var r=Zt.call(n),e=n.length;return r==w||r==N||r==j||dr&&H(n)||r==E&&typeof e=="number"&&nt(n.splice)?!e:(Nr(n,function(){return t=!1
}),t)},o.isEqual=Z,o.isFinite=function(n){return er(n)&&!ur(parseFloat(n))},o.isFunction=nt,o.isNaN=function(n){return rt(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=rt,o.isObject=tt,o.isPlainObject=Tr,o.isRegExp=function(n){return n instanceof Pt||Zt.call(n)==I},o.isString=et,o.isUndefined=function(n){return typeof n=="undefined"},o.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?ir(0,e+r):fr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},o.mixin=kt,o.noConflict=function(){return e._=Kt,this
},o.parseInt=Dr,o.random=function(n,t){return null==n&&null==t&&(t=1),n=+n||0,null==t&&(t=n,n=0),n+Ht(cr()*((+t||0)-n+1))},o.reduce=vt,o.reduceRight=gt,o.result=function(n,t){var e=n?n[t]:r;return nt(e)?n[t]():e},o.runInContext=t,o.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:$r(n).length},o.some=ht,o.sortedIndex=bt,o.template=function(n,t,e){var u=o.templateSettings;n||(n=""),e=Rr({},e,u);var i,f=Rr({},e.imports,u.imports),u=$r(f),f=ot(f),a=0,c=e.interpolate||y,v="__p+='",c=Pt((e.escape||y).source+"|"+c.source+"|"+(c===h?g:y).source+"|"+(e.evaluate||y).source+"|$","g");
n.replace(c,function(t,r,e,u,o,f){return e||(e=u),v+=n.slice(a,f).replace(d,M),r&&(v+="'+__e("+r+")+'"),o&&(i=!0,v+="';"+o+";__p+='"),e&&(v+="'+((__t=("+e+"))==null?'':__t)+'"),a=f+t.length,t}),v+="';\n",c=e=e.variable,c||(e="obj",v="with("+e+"){"+v+"}"),v=(i?v.replace(l,""):v).replace(p,"$1").replace(s,"$1;"),v="function("+e+"){"+(c?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+v+"return __p}";try{var m=Bt(u,"return "+v).apply(r,f)
}catch(_){throw _.source=v,_}return t?m(t):(m.source=v,m)},o.unescape=function(n){return null==n?"":(n+"").replace(c,G)},o.uniqueId=function(n){var t=++i;return(null==n?"":n+"")+t},o.all=ft,o.any=ht,o.detect=ct,o.foldl=vt,o.foldr=gt,o.include=it,o.inject=vt,Nr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(){var t=[this.__wrapped__];return Wt.apply(t,arguments),n.apply(o,t)})}),o.first=yt,o.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=P(t,r);o--&&t(n[o],o,n);)e++
}else if(e=t,null==e||r)return n[u-1];return V(n,ir(0,u-e))}},o.take=yt,o.head=yt,Nr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r);return null==t||r&&typeof t!="function"?e:C(e)})}),o.VERSION="1.0.1",o.prototype.toString=function(){return this.__wrapped__+""},o.prototype.value=Et,o.prototype.valueOf=Et,Er(["join","pop","shift"],function(n){var t=Ct[n];o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),Er(["push","reverse","sort","unshift"],function(n){var t=Ct[n];
o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Er(["concat","slice","splice"],function(n){var t=Ct[n];o.prototype[n]=function(){return C(t.apply(this.__wrapped__,arguments))}}),hr&&Er(["pop","shift","splice"],function(n){var t=Ct[n],r="splice"==n;o.prototype[n]=function(){var n=this.__wrapped__,e=t.apply(n,arguments);return 0===n.length&&delete n[0],r?C(e):e}}),o}var r,e=typeof exports=="object"&&exports,u=typeof module=="object"&&module&&module.exports==e&&module,o=typeof global=="object"&&global;
o.global===o&&(n=o);var i=0,f={},a=30,c=/&(?:amp|lt|gt|quot|#39);/g,l=/\b__p\+='';/g,p=/\b(__p\+=)''\+/g,s=/(__e\(.*?\)|\b__t\))\+'';/g,v=/\w*$/,g=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,h=/<%=([\s\S]+?)%>/g,y=/($^)/,m=/[&<>"']/g,d=/['\n\r\t\u2028\u2029\\]/g,_="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),b="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),j="[object Arguments]",w="[object Array]",x="[object Boolean]",O="[object Date]",S="[object Function]",k="[object Number]",E="[object Object]",I="[object RegExp]",N="[object String]",A={};
A[S]=!1,A[j]=A[w]=A[x]=A[O]=A[k]=A[E]=A[I]=A[N]=!0;var $={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},F={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},q=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=q,define(function(){return q})):e&&!e.nodeType?u?(u.exports=q)._=q:e._=q:n._=q})(this);
;(function(n){function t(r){function a(n){return n&&typeof n=="object"&&Jt.call(n,"__wrapped__")?n:this instanceof a?(this.__wrapped__=n,void 0):new a(n)}function q(n,t,e){t||(t=0);var r=n.length,u=r-t>=(e||f);if(u){var a={};for(e=t-1;++e<r;){var o=n[e]+"";(Jt.call(a,o)?a[o]:a[o]=[]).push(n[e])}}return function(e){if(u){var r=e+"";return Jt.call(a,r)&&-1<mt(a[r],e)}return-1<mt(n,e,t)}}function B(n){return n.charCodeAt(0)}function R(n,t){var e=n.b,r=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;
if(n<t||typeof t=="undefined")return-1}return e<r?-1:1}function T(n,t,e,r){function u(){var f=arguments,c=o?this:t;return a||(n=t[i]),e.length&&(f=f.length?(f=U(f),r?f.concat(e):e.concat(f)):e),this instanceof u?(c=Ce(n.prototype),f=n.apply(c,f),nt(f)?f:c):n.apply(c,f)}var a=Z(n),o=!e,i=t;return o&&(e=t),a||(t=n),u}function D(){for(var n,t={e:St,f:Et,g:ve,i:he,j:de,k:_,b:"k(m)",c:"",h:"",l:"",m:!0},e=0;n=arguments[e];e++)for(var r in n)t[r]=n[r];if(n=t.a,t.d=/^[^,]+/.exec(n)[0],e=Ft,r="var i,m="+t.d+",u=m;if(!m)return u;"+t.l+";",t.b?(r+="var n=m.length;i=-1;if("+t.b+"){",t.j&&(r+="if(l(m)){m=m.split('')}"),r+="while(++i<n){"+t.h+"}}else{"):t.i&&(r+="var n=m.length;i=-1;if(n&&j(m)){while(++i<n){i+='';"+t.h+"}}else{"),t.f&&(r+="var v=typeof m=='function';"),t.g&&t.m?(r+="var s=-1,t=r[typeof m]?p(m):[],n=t.length;while(++s<n){i=t[s];",t.f&&(r+="if(!(v&&i=='prototype')){"),r+=t.h+"",t.f&&(r+="}")):(r+="for(i in m){",(t.f||t.m)&&(r+="if(",t.f&&(r+="!(v&&i=='prototype')"),t.f&&t.m&&(r+="&&"),t.m&&(r+="h.call(m,i)"),r+="){"),r+=t.h+";",(t.f||t.m)&&(r+="}")),r+="}",t.e){r+="var f=m.constructor;";
for(var u=0;7>u;u++)r+="i='"+t.k[u]+"';if(","constructor"==t.k[u]&&(r+="!(f&&f.prototype===m)&&"),r+="h.call(m,i)){"+t.h+"}"}return(t.b||t.i)&&(r+="}"),r+=t.c+";return u",e("h,j,k,l,o,r,p","return function("+n+"){"+r+"}")(Jt,G,Ie,et,a,A,ue)}function P(n){var t=Ce(a.prototype);return t.__wrapped__=n,t}function z(n){return"\\"+$[n]}function M(n){return Ae[n]}function K(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function L(){}function U(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);
var r=-1;e=e-t||0;for(var u=Nt(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function V(n){return $e[n]}function G(n){return Yt.call(n)==k}function H(n){var t=!1;if(!n||typeof n!="object"||G(n))return t;var e=n.constructor;return!Z(e)&&(!be||!K(n))||e instanceof e?It?(Se(n,function(n,e,r){return t=!Jt.call(r,e),!1}),!1===t):(Se(n,function(n,e){t=e}),!1===t||Jt.call(n,t)):t}function J(n){var t=[];return Ee(n,function(n,e){t.push(e)}),t}function Q(n,t,r,u,o,i){var f=n;if(typeof t=="function"&&(u=r,r=t,t=!1),typeof r=="function"){if(r=typeof u=="undefined"?r:a.createCallback(r,u,1),f=r(f),typeof f!="undefined")return f;
f=n}if(u=nt(f)){var c=Yt.call(f);if(!N[c]||be&&K(f))return f;var l=Ie(f)}if(!u||!t)return u?l?U(f):Fe({},f):f;switch(u=ke[c],c){case w:case x:return new u(+f);case O:case I:return new u(f);case E:return u(f.source,v.exec(f))}for(o||(o=[]),i||(i=[]),c=o.length;c--;)if(o[c]==n)return i[c];return f=l?u(f.length):{},l&&(Jt.call(n,"index")&&(f.index=n.index),Jt.call(n,"input")&&(f.input=n.input)),o.push(n),i.push(f),(l?ct:Ee)(n,function(n,u){f[u]=Q(n,t,r,e,o,i)}),f}function W(n){var t=[];return Se(n,function(n,e){Z(n)&&t.push(e)
}),t.sort()}function X(n){for(var t=-1,e=Ne(n),r=e.length,u={};++t<r;){var a=e[t];u[n[a]]=a}return u}function Y(n,t,e,r,u,o){var f=e===i;if(e&&!f){e=typeof r=="undefined"?e:a.createCallback(e,r,2);var c=e(n,t);if(typeof c!="undefined")return!!c}if(n===t)return 0!==n||1/n==1/t;var l=typeof n,p=typeof t;if(n===n&&(!n||"function"!=l&&"object"!=l)&&(!t||"function"!=p&&"object"!=p))return!1;if(null==n||null==t)return n===t;if(p=Yt.call(n),l=Yt.call(t),p==k&&(p=S),l==k&&(l=S),p!=l)return!1;switch(p){case w:case x:return+n==+t;
case O:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case E:case I:return n==t+""}if(l=p==j,!l){if(Jt.call(n,"__wrapped__")||Jt.call(t,"__wrapped__"))return Y(n.__wrapped__||n,t.__wrapped__||t,e,r,u,o);if(p!=S||be&&(K(n)||K(t)))return!1;var p=!ye&&G(n)?Rt:n.constructor,s=!ye&&G(t)?Rt:t.constructor;if(p!=s&&(!Z(p)||!(p instanceof p&&Z(s)&&s instanceof s)))return!1}for(u||(u=[]),o||(o=[]),p=u.length;p--;)if(u[p]==n)return o[p]==t;var v=0,c=!0;if(u.push(n),o.push(t),l){if(p=n.length,v=t.length,c=v==n.length,!c&&!f)return c;
for(;v--;)if(l=p,s=t[v],f)for(;l--&&!(c=Y(n[l],s,e,r,u,o)););else if(!(c=Y(n[v],s,e,r,u,o)))break;return c}return Se(t,function(t,a,i){return Jt.call(i,a)?(v++,c=Jt.call(n,a)&&Y(n[a],t,e,r,u,o)):void 0}),c&&!f&&Se(n,function(n,t,e){return Jt.call(e,t)?c=-1<--v:void 0}),c}function Z(n){return typeof n=="function"}function nt(n){return n?A[typeof n]:!1}function tt(n){return typeof n=="number"||Yt.call(n)==O}function et(n){return typeof n=="string"||Yt.call(n)==I}function rt(n,t,e){var r=arguments,u=0,o=2;
if(!nt(n))return n;if(e===i)var f=r[3],c=r[4],l=r[5];else c=[],l=[],typeof e!="number"&&(o=r.length),3<o&&"function"==typeof r[o-2]?f=a.createCallback(r[--o-1],r[o--],2):2<o&&"function"==typeof r[o-1]&&(f=r[--o]);for(;++u<o;)(Ie(r[u])?ct:Ee)(r[u],function(t,e){var r,u,a=t,o=n[e];if(t&&((u=Ie(t))||Be(t))){for(a=c.length;a--;)if(r=c[a]==t){o=l[a];break}r||(o=u?Ie(o)?o:[]:Be(o)?o:{},f&&(a=f(o,t),typeof a!="undefined"&&(o=a)),c.push(t),l.push(o),f||(o=rt(o,t,i,f,c,l)))}else f&&(a=f(o,t),typeof a=="undefined"&&(a=t)),typeof a!="undefined"&&(o=a);
n[e]=o});return n}function ut(n){for(var t=-1,e=Ne(n),r=e.length,u=Nt(r);++t<r;)u[t]=n[e[t]];return u}function at(n,t,e){var r=-1,u=n?n.length:0,a=!1;return e=(0>e?ae(0,u+e):e)||0,typeof u=="number"?a=-1<(et(n)?n.indexOf(t,e):mt(n,t,e)):Oe(n,function(n){return++r<e?void 0:!(a=n===t)}),a}function ot(n,t,e){var r=!0;if(t=a.createCallback(t,e),Ie(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else Oe(n,function(n,e,u){return r=!!t(n,e,u)});return r}function it(n,t,e){var r=[];if(t=a.createCallback(t,e),Ie(n)){e=-1;
for(var u=n.length;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}}else Oe(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function ft(n,t,e){var r;return t=a.createCallback(t,e),ct(n,function(n,e,u){return t(n,e,u)?(r=n,!1):void 0}),r}function ct(n,t,e){if(t&&typeof e=="undefined"&&Ie(n)){e=-1;for(var r=n.length;++e<r&&!1!==t(n[e],e,n););}else Oe(n,t,e);return n}function lt(n,t,e){var r=-1,u=n?n.length:0,o=Nt(typeof u=="number"?u:0);if(t=a.createCallback(t,e),Ie(n))for(;++r<u;)o[r]=t(n[r],r,n);else Oe(n,function(n,e,u){o[++r]=t(n,e,u)
});return o}function pt(n,t,e){var r=-1/0,u=r;if(!t&&Ie(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i>u&&(u=i)}}else t=!t&&et(n)?B:a.createCallback(t,e),Oe(n,function(n,e,a){e=t(n,e,a),e>r&&(r=e,u=n)});return u}function st(n,t,e,r){var u=3>arguments.length;if(t=a.createCallback(t,r,4),Ie(n)){var o=-1,i=n.length;for(u&&(e=n[++o]);++o<i;)e=t(e,n[o],o,n)}else Oe(n,function(n,r,a){e=u?(u=!1,n):t(e,n,r,a)});return e}function vt(n,t,e,r){var u=n,o=n?n.length:0,i=3>arguments.length;if(typeof o!="number")var f=Ne(n),o=f.length;
else de&&et(n)&&(u=n.split(""));return t=a.createCallback(t,r,4),ct(n,function(n,r,a){r=f?f[--o]:--o,e=i?(i=!1,u[r]):t(e,u[r],r,a)}),e}function gt(n,t,e){var r;if(t=a.createCallback(t,e),Ie(n)){e=-1;for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else Oe(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function ht(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&null!=t){var o=-1;for(t=a.createCallback(t,e);++o<u&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n[0];return U(n,0,oe(ae(0,r),u))
}}function yt(n,t){for(var e=-1,r=n?n.length:0,u=[];++e<r;){var a=n[e];Ie(a)?Qt.apply(u,t?a:yt(a)):u.push(a)}return u}function mt(n,t,e){var r=-1,u=n?n.length:0;if(typeof e=="number")r=(0>e?ae(0,u+e):e||0)-1;else if(e)return r=bt(n,t),n[r]===t?r:-1;for(;++r<u;)if(n[r]===t)return r;return-1}function dt(n,t,e){if(typeof t!="number"&&null!=t){var r=0,u=-1,o=n?n.length:0;for(t=a.createCallback(t,e);++u<o&&t(n[u],u,n);)r++}else r=null==t||e?1:ae(0,t);return U(n,r)}function bt(n,t,e,r){var u=0,o=n?n.length:u;
for(e=e?a.createCallback(e,r,1):xt,t=e(t);u<o;)r=u+o>>>1,e(n[r])<t?u=r+1:o=r;return u}function _t(n,t,e,r){var u=-1,o=n?n.length:0,i=[],f=i;typeof t!="boolean"&&null!=t&&(r=e,e=t,t=!1);var c=!t&&75<=o;if(c)var l={};for(null!=e&&(f=[],e=a.createCallback(e,r));++u<o;){r=n[u];var p=e?e(r,u,n):r;if(c)var s=p+"",s=Jt.call(l,s)?!(f=l[s]):f=l[s]=[];(t?!u||f[f.length-1]!==p:s||0>mt(f,p))&&((e||c)&&f.push(p),i.push(r))}return i}function kt(n,t){for(var e=-1,r=n?n.length:0,u={};++e<r;){var a=n[e];t?u[a]=t[e]:u[a[0]]=a[1]
}return u}function jt(n,t){return se||Zt&&2<arguments.length?Zt.call.apply(Zt,arguments):T(n,t,U(arguments,2))}function wt(n){var t=U(arguments,1);return Xt(function(){n.apply(e,t)},1)}function xt(n){return n}function Ct(n){ct(W(n),function(t){var e=a[t]=n[t];a.prototype[t]=function(){var n=this.__wrapped__,t=[n];return Qt.apply(t,arguments),t=e.apply(a,t),n&&typeof n=="object"&&n==t?this:P(t)}})}function Ot(){return this.__wrapped__}r=r?F.defaults(n.Object(),r,F.pick(n,b)):n;var St,Et,It,Nt=r.Array,At=r.Boolean,$t=r.Date,Ft=r.Function,qt=r.Math,Bt=r.Number,Rt=r.Object,Tt=r.RegExp,Dt=r.String,Pt=Nt(),zt=Rt(),Mt=r._,Kt=Tt("^"+(zt.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Lt=qt.ceil,Ut=r.clearTimeout,Vt=Pt.concat,Gt=qt.floor,Ht=Kt.test(Ht=Rt.getPrototypeOf)&&Ht,Jt=zt.hasOwnProperty,Qt=Pt.push,Wt=r.setImmediate,Xt=r.setTimeout,Yt=zt.toString,Zt=Kt.test(Zt=U.bind)&&Zt,ne=Kt.test(ne=Rt.create)&&ne,te=Kt.test(te=Nt.isArray)&&te,ee=r.isFinite,re=r.isNaN,ue=Kt.test(ue=Rt.keys)&&ue,ae=qt.max,oe=qt.min,ie=r.parseInt,fe=qt.random,ce=Kt.test(r.attachEvent),le=!/\n{2,}/.test(Ft()),pe=Zt&&!/\n|true/.test(Zt+ce),se=Zt&&!pe,ve=ue&&(ce||pe||!le),ge=(ge={0:1,length:1},Pt.splice.call(ge,0,1),ge[0]),he=!0;
(function(){function n(){this.x=1}var t=[];n.prototype={valueOf:1,y:1};for(var e in new n)t.push(e);for(e in arguments)he=!e;St=!/valueOf/.test(t),Et=n.propertyIsEnumerable("prototype"),It="x"!=t[0]})(1);var ye=arguments.constructor==Rt,me=!G(arguments),de="xx"!="x"[0]+Rt("x")[0];try{var be=Yt.call(document)==S&&!({toString:0}+"")}catch(_e){}var ke={};ke[j]=Nt,ke[w]=At,ke[x]=$t,ke[S]=Rt,ke[O]=Bt,ke[E]=Tt,ke[I]=Dt,a.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:h,variable:"",imports:{_:a}};
var je={a:"q,w,g",l:"var a=arguments,b=0,c=typeof g=='number'?2:a.length;while(++b<c){m=a[b];if(m&&r[typeof m]){",h:"if(typeof u[i]=='undefined')u[i]=m[i]",c:"}}"},we={a:"e,d,x",l:"d=d&&typeof x=='undefined'?d:o['createCallback'](d,x)",b:"typeof n=='number'",h:"if(d(m[i],i,e)===false)return u"},xe={l:"if(!r[typeof m])return u;"+we.l,b:!1},Ce=ne||function(n){return L.prototype=n,n=new L,L.prototype=null,n},Oe=D(we);me&&(G=function(n){return n?Jt.call(n,"callee"):!1});var Se=D(we,xe,{m:!1}),Ee=D(we,xe),Ie=te||function(n){return ye&&n instanceof Nt||Yt.call(n)==j
},Ne=ue?function(n){return nt(n)?Et&&typeof n=="function"||he&&n.length&&G(n)?J(n):ue(n):[]}:J,Ae={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},$e=X(Ae),Fe=D(je,{l:je.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=o.createCallback(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[i]=d?d(u[i],m[i]):m[i]"}),qe=D(je);Z(/x/)&&(Z=function(n){return n instanceof Ft||Yt.call(n)==C});var Be=Ht?function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,e=typeof t=="function"&&(e=Ht(t))&&Ht(e);
return e?n==e||Ht(n)==e&&!G(n):H(n)}:H,Re=8==ie("08")?ie:function(n,t){return ie(et(n)?n.replace(/^0+(?=.$)/,""):n,t||0)},Te=lt,De=it;return pe&&u&&typeof Wt=="function"&&(wt=jt(Wt,r)),a.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},a.assign=Fe,a.at=function(n){var t=-1,e=Vt.apply(Pt,U(arguments,1)),r=e.length,u=Nt(r);for(de&&et(n)&&(n=n.split(""));++t<r;)u[t]=n[e[t]];return u},a.bind=jt,a.bindAll=function(n){for(var t=Vt.apply(Pt,arguments),e=1<t.length?0:(t=W(n),-1),r=t.length;++e<r;){var u=t[e];
n[u]=jt(n[u],n)}return n},a.bindKey=function(n,t){return T(n,t,U(arguments,2))},a.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},a.compose=function(){var n=arguments;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},a.countBy=function(n,t,e){var r={};return t=a.createCallback(t,e),ct(n,function(n,e,u){e=t(n,e,u)+"",Jt.call(r,e)?r[e]++:r[e]=1}),r},a.createCallback=function(n,t,e){if(null==n)return xt;var r=typeof n;
if("function"!=r){if("object"!=r)return function(t){return t[n]};var u=Ne(n);return function(t){for(var e=u.length,r=!1;e--&&(r=Y(t[u[e]],n[u[e]],i)););return r}}return typeof t!="undefined"?1===e?function(e){return n.call(t,e)}:2===e?function(e,r){return n.call(t,e,r)}:4===e?function(e,r,u,a){return n.call(t,e,r,u,a)}:function(e,r,u){return n.call(t,e,r,u)}:n},a.debounce=function(n,t,e){function r(){i=null,e||(a=n.apply(o,u))}var u,a,o,i;return function(){var f=e&&!i;return u=arguments,o=this,Ut(i),i=Xt(r,t),f&&(a=n.apply(o,u)),a
}},a.defaults=qe,a.defer=wt,a.delay=function(n,t){var r=U(arguments,2);return Xt(function(){n.apply(e,r)},t)},a.difference=function(n){for(var t=-1,e=n?n.length:0,r=Vt.apply(Pt,arguments),r=q(r,e),u=[];++t<e;){var a=n[t];r(a)||u.push(a)}return u},a.filter=it,a.flatten=yt,a.forEach=ct,a.forIn=Se,a.forOwn=Ee,a.functions=W,a.groupBy=function(n,t,e){var r={};return t=a.createCallback(t,e),ct(n,function(n,e,u){e=t(n,e,u)+"",(Jt.call(r,e)?r[e]:r[e]=[]).push(n)}),r},a.initial=function(n,t,e){if(!n)return[];
var r=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=a.createCallback(t,e);o--&&t(n[o],o,n);)r++}else r=null==t||e?1:t||r;return U(n,0,oe(ae(0,u-r),u))},a.intersection=function(n){var t=arguments,e=t.length,r={0:{}},u=-1,a=n?n.length:0,o=100<=a,i=[],f=i;n:for(;++u<a;){var c=n[u];if(o)var l=c+"",l=Jt.call(r[0],l)?!(f=r[0][l]):f=r[0][l]=[];if(l||0>mt(f,c)){o&&f.push(c);for(var p=e;--p;)if(!(r[p]||(r[p]=q(t[p],0,100)))(c))continue n;i.push(c)}}return i},a.invert=X,a.invoke=function(n,t){var e=U(arguments,2),r=-1,u=typeof t=="function",a=n?n.length:0,o=Nt(typeof a=="number"?a:0);
return ct(n,function(n){o[++r]=(u?t:n[t]).apply(n,e)}),o},a.keys=Ne,a.map=lt,a.max=pt,a.memoize=function(n,t){var e={};return function(){var r=(t?t.apply(this,arguments):arguments[0])+"";return Jt.call(e,r)?e[r]:e[r]=n.apply(this,arguments)}},a.merge=rt,a.min=function(n,t,e){var r=1/0,u=r;if(!t&&Ie(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i<u&&(u=i)}}else t=!t&&et(n)?B:a.createCallback(t,e),Oe(n,function(n,e,a){e=t(n,e,a),e<r&&(r=e,u=n)});return u},a.omit=function(n,t,e){var r=typeof t=="function",u={};
if(r)t=a.createCallback(t,e);else var o=Vt.apply(Pt,arguments);return Se(n,function(n,e,a){(r?!t(n,e,a):0>mt(o,e,1))&&(u[e]=n)}),u},a.once=function(n){var t,e;return function(){return t?e:(t=!0,e=n.apply(this,arguments),n=null,e)}},a.pairs=function(n){for(var t=-1,e=Ne(n),r=e.length,u=Nt(r);++t<r;){var a=e[t];u[t]=[a,n[a]]}return u},a.partial=function(n){return T(n,U(arguments,1))},a.partialRight=function(n){return T(n,U(arguments,1),null,i)},a.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=0,o=Vt.apply(Pt,arguments),i=nt(n)?o.length:0;++u<i;){var f=o[u];
f in n&&(r[f]=n[f])}else t=a.createCallback(t,e),Se(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},a.pluck=Te,a.range=function(n,t,e){n=+n||0,e=+e||1,null==t&&(t=n,n=0);var r=-1;t=ae(0,Lt((t-n)/e));for(var u=Nt(t);++r<t;)u[r]=n,n+=e;return u},a.reject=function(n,t,e){return t=a.createCallback(t,e),it(n,function(n,e,r){return!t(n,e,r)})},a.rest=dt,a.shuffle=function(n){var t=-1,e=n?n.length:0,r=Nt(typeof e=="number"?e:0);return ct(n,function(n){var e=Gt(fe()*(++t+1));r[t]=r[e],r[e]=n}),r},a.sortBy=function(n,t,e){var r=-1,u=n?n.length:0,o=Nt(typeof u=="number"?u:0);
for(t=a.createCallback(t,e),ct(n,function(n,e,u){o[++r]={a:t(n,e,u),b:r,c:n}}),u=o.length,o.sort(R);u--;)o[u]=o[u].c;return o},a.tap=function(n,t){return t(n),n},a.throttle=function(n,t){function e(){i=new $t,o=null,u=n.apply(a,r)}var r,u,a,o,i=0;return function(){var f=new $t,c=t-(f-i);return r=arguments,a=this,0<c?o||(o=Xt(e,c)):(Ut(o),o=null,i=f,u=n.apply(a,r)),u}},a.times=function(n,t,e){n=+n||0;for(var r=-1,u=Nt(n);++r<n;)u[r]=t.call(e,r);return u},a.toArray=function(n){return n&&typeof n.length=="number"?de&&et(n)?n.split(""):U(n):ut(n)
},a.union=function(){return _t(Vt.apply(Pt,arguments))},a.uniq=_t,a.values=ut,a.where=De,a.without=function(n){for(var t=-1,e=n?n.length:0,r=q(arguments,1),u=[];++t<e;){var a=n[t];r(a)||u.push(a)}return u},a.wrap=function(n,t){return function(){var e=[n];return Qt.apply(e,arguments),t.apply(this,e)}},a.zip=function(n){for(var t=-1,e=n?pt(Te(arguments,"length")):0,r=Nt(e);++t<e;)r[t]=Te(arguments,t);return r},a.zipObject=kt,a.collect=lt,a.drop=dt,a.each=ct,a.extend=Fe,a.methods=W,a.object=kt,a.select=it,a.tail=dt,a.unique=_t,Ct(a),a.clone=Q,a.cloneDeep=function(n,t,e){return Q(n,!0,t,e)
},a.contains=at,a.escape=function(n){return null==n?"":(n+"").replace(m,M)},a.every=ot,a.find=ft,a.has=function(n,t){return n?Jt.call(n,t):!1},a.identity=xt,a.indexOf=mt,a.isArguments=G,a.isArray=Ie,a.isBoolean=function(n){return!0===n||!1===n||Yt.call(n)==w},a.isDate=function(n){return n instanceof $t||Yt.call(n)==x},a.isElement=function(n){return n?1===n.nodeType:!1},a.isEmpty=function(n){var t=!0;if(!n)return t;var e=Yt.call(n),r=n.length;return e==j||e==I||e==k||me&&G(n)||e==S&&typeof r=="number"&&Z(n.splice)?!r:(Ee(n,function(){return t=!1
}),t)},a.isEqual=Y,a.isFinite=function(n){return ee(n)&&!re(parseFloat(n))},a.isFunction=Z,a.isNaN=function(n){return tt(n)&&n!=+n},a.isNull=function(n){return null===n},a.isNumber=tt,a.isObject=nt,a.isPlainObject=Be,a.isRegExp=function(n){return n instanceof Tt||Yt.call(n)==E},a.isString=et,a.isUndefined=function(n){return typeof n=="undefined"},a.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?ae(0,r+e):oe(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},a.mixin=Ct,a.noConflict=function(){return r._=Mt,this
},a.parseInt=Re,a.random=function(n,t){return null==n&&null==t&&(t=1),n=+n||0,null==t&&(t=n,n=0),n+Gt(fe()*((+t||0)-n+1))},a.reduce=st,a.reduceRight=vt,a.result=function(n,t){var r=n?n[t]:e;return Z(r)?n[t]():r},a.runInContext=t,a.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Ne(n).length},a.some=gt,a.sortedIndex=bt,a.template=function(n,t,r){var u=a.templateSettings;n||(n=""),r=qe({},r,u);var o,i=qe({},r.imports,u.imports),u=Ne(i),i=ut(i),f=0,c=r.interpolate||y,v="__p+='",c=Tt((r.escape||y).source+"|"+c.source+"|"+(c===h?g:y).source+"|"+(r.evaluate||y).source+"|$","g");
n.replace(c,function(t,e,r,u,a,i){return r||(r=u),v+=n.slice(f,i).replace(d,z),e&&(v+="'+__e("+e+")+'"),a&&(o=!0,v+="';"+a+";__p+='"),r&&(v+="'+((__t=("+r+"))==null?'':__t)+'"),f=i+t.length,t}),v+="';\n",c=r=r.variable,c||(r="obj",v="with("+r+"){"+v+"}"),v=(o?v.replace(l,""):v).replace(p,"$1").replace(s,"$1;"),v="function("+r+"){"+(c?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+v+"return __p}";try{var m=Ft(u,"return "+v).apply(e,i)
}catch(b){throw b.source=v,b}return t?m(t):(m.source=v,m)},a.unescape=function(n){return null==n?"":(n+"").replace(c,V)},a.uniqueId=function(n){var t=++o;return(null==n?"":n+"")+t},a.all=ot,a.any=gt,a.detect=ft,a.foldl=st,a.foldr=vt,a.include=at,a.inject=st,Ee(a,function(n,t){a.prototype[t]||(a.prototype[t]=function(){var t=[this.__wrapped__];return Qt.apply(t,arguments),n.apply(a,t)})}),a.first=ht,a.last=function(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=a.createCallback(t,e);o--&&t(n[o],o,n);)r++
}else if(r=t,null==r||e)return n[u-1];return U(n,ae(0,u-r))}},a.take=ht,a.head=ht,Ee(a,function(n,t){a.prototype[t]||(a.prototype[t]=function(t,e){var r=n(this.__wrapped__,t,e);return null==t||e&&typeof t!="function"?r:P(r)})}),a.VERSION="1.0.1",a.prototype.toString=function(){return this.__wrapped__+""},a.prototype.value=Ot,a.prototype.valueOf=Ot,Oe(["join","pop","shift"],function(n){var t=Pt[n];a.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),Oe(["push","reverse","sort","unshift"],function(n){var t=Pt[n];
a.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Oe(["concat","slice","splice"],function(n){var t=Pt[n];a.prototype[n]=function(){return P(t.apply(this.__wrapped__,arguments))}}),ge&&Oe(["pop","shift","splice"],function(n){var t=Pt[n],e="splice"==n;a.prototype[n]=function(){var n=this.__wrapped__,r=t.apply(n,arguments);return 0===n.length&&delete n[0],e?P(r):r}}),a}var e,r=typeof exports=="object"&&exports,u=typeof module=="object"&&module&&module.exports==r&&module,a=typeof global=="object"&&global;
a.global===a&&(n=a);var o=0,i={},f=30,c=/&(?:amp|lt|gt|quot|#39);/g,l=/\b__p\+='';/g,p=/\b(__p\+=)''\+/g,s=/(__e\(.*?\)|\b__t\))\+'';/g,v=/\w*$/,g=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,h=/<%=([\s\S]+?)%>/g,y=/($^)/,m=/[&<>"']/g,d=/['\n\r\t\u2028\u2029\\]/g,b="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),k="[object Arguments]",j="[object Array]",w="[object Boolean]",x="[object Date]",C="[object Function]",O="[object Number]",S="[object Object]",E="[object RegExp]",I="[object String]",N={};
N[C]=!1,N[k]=N[j]=N[w]=N[x]=N[O]=N[S]=N[E]=N[I]=!0;var A={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},$={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},F=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=F,define(function(){return F})):r&&!r.nodeType?u?(u.exports=F)._=F:r._=F:n._=F})(this);

186
dist/lodash.js vendored
View File

@@ -388,7 +388,7 @@
/** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
var eachIteratorOptions = {
'args': 'collection, callback, thisArg',
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg)",
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : lodash.createCallback(callback, thisArg)",
'arrays': "typeof length == 'number'",
'loop': 'if (callback(iterable[index], index, collection) === false) return result'
};
@@ -532,64 +532,6 @@
return bound;
}
/**
* Produces a callback bound to an optional `thisArg`. If `func` is a property
* name, the created callback will return the property value for a given element.
* If `func` is an object, the created callback will return `true` for elements
* that contain the equivalent object properties, otherwise it will return `false`.
*
* @private
* @param {Mixed} [func=identity] The value to convert to a callback.
* @param {Mixed} [thisArg] The `this` binding of the created callback.
* @param {Number} [argCount=3] The number of arguments the callback accepts.
* @returns {Function} Returns a callback function.
*/
function createCallback(func, thisArg, argCount) {
if (func == null) {
return identity;
}
var type = typeof func;
if (type != 'function') {
if (type != 'object') {
return function(object) {
return object[func];
};
}
var props = keys(func);
return function(object) {
var length = props.length,
result = false;
while (length--) {
if (!(result = isEqual(object[props[length]], func[props[length]], indicatorObject))) {
break;
}
}
return result;
};
}
if (typeof thisArg != 'undefined') {
if (argCount === 1) {
return function(value) {
return func.call(thisArg, value);
};
}
if (argCount === 2) {
return function(a, b) {
return func.call(thisArg, a, b);
};
}
if (argCount === 4) {
return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
}
return func;
}
/**
* Creates compiled iteration functions.
*
@@ -627,13 +569,13 @@
// create the function factory
var factory = Function(
'createCallback, hasOwnProperty, isArguments, isArray, isString, ' +
'hasOwnProperty, isArguments, isArray, isString, lodash, ' +
'objectTypes, nativeKeys',
'return function(' + args + ') {\n' + iteratorTemplate(data) + '\n}'
);
// return the compiled function
return factory(
createCallback, hasOwnProperty, isArguments, isArray, isString,
hasOwnProperty, isArguments, isArray, isString, lodash,
objectTypes, nativeKeys
);
}
@@ -987,7 +929,7 @@
defaultsIteratorOptions.top.replace(';',
';\n' +
"if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n" +
' var callback = createCallback(args[--argsLength - 1], args[argsLength--], 2);\n' +
' var callback = lodash.createCallback(args[--argsLength - 1], args[argsLength--], 2);\n' +
"} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n" +
' callback = args[--argsLength];\n' +
'}'
@@ -1048,9 +990,11 @@
deep = false;
}
if (typeof callback == 'function') {
callback = typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg, 1);
result = callback(result);
callback = (typeof thisArg == 'undefined')
? callback
: lodash.createCallback(callback, thisArg, 1);
result = callback(result);
if (typeof result != 'undefined') {
return result;
}
@@ -1361,8 +1305,8 @@
* @param {Mixed} b The other value to compare.
* @param {Function} [callback] The function to customize comparing values.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @param- {Object} [stackA=[]] Internally used track traversed `a` objects.
* @param- {Object} [stackB=[]] Internally used track traversed `b` objects.
* @param- {Array} [stackA=[]] Internally used track traversed `a` objects.
* @param- {Array} [stackB=[]] Internally used track traversed `b` objects.
* @returns {Boolean} Returns `true`, if the values are equivalent, else `false`.
* @example
*
@@ -1391,7 +1335,10 @@
// used to indicate that when comparing objects, `a` has at least the properties of `b`
var whereIndicator = callback === indicatorObject;
if (callback && !whereIndicator) {
callback = typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg, 2);
callback = (typeof thisArg == 'undefined')
? callback
: lodash.createCallback(callback, thisArg, 2);
var result = callback(a, b);
if (typeof result != 'undefined') {
return !!result;
@@ -1850,7 +1797,7 @@
length = args.length;
}
if (length > 3 && typeof args[length - 2] == 'function') {
callback = createCallback(args[--length - 1], args[length--], 2);
callback = lodash.createCallback(args[--length - 1], args[length--], 2);
} else if (length > 2 && typeof args[length - 1] == 'function') {
callback = args[--length];
}
@@ -1940,7 +1887,7 @@
result = {};
if (isFunc) {
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
} else {
var props = concat.apply(arrayRef, arguments);
}
@@ -2042,7 +1989,7 @@
}
}
} else {
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forIn(object, function(value, key, object) {
if (callback(value, key, object)) {
result[key] = value;
@@ -2195,7 +2142,7 @@
*/
function countBy(collection, callback, thisArg) {
var result = {};
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, key, collection) {
key = callback(value, key, collection) + '';
@@ -2247,7 +2194,7 @@
*/
function every(collection, callback, thisArg) {
var result = true;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
@@ -2308,7 +2255,7 @@
*/
function filter(collection, callback, thisArg) {
var result = [];
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
@@ -2375,7 +2322,7 @@
*/
function find(collection, callback, thisArg) {
var result;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, index, collection) {
if (callback(value, index, collection)) {
@@ -2460,7 +2407,7 @@
*/
function groupBy(collection, callback, thisArg) {
var result = {};
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, key, collection) {
key = callback(value, key, collection) + '';
@@ -2548,7 +2495,7 @@
length = collection ? collection.length : 0,
result = Array(typeof length == 'number' ? length : 0);
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
while (++index < length) {
result[index] = callback(collection[index], index, collection);
@@ -2617,7 +2564,7 @@
} else {
callback = (!callback && isString(collection))
? charAtCallback
: createCallback(callback, thisArg);
: lodash.createCallback(callback, thisArg);
each(collection, function(value, index, collection) {
var current = callback(value, index, collection);
@@ -2686,7 +2633,7 @@
} else {
callback = (!callback && isString(collection))
? charAtCallback
: createCallback(callback, thisArg);
: lodash.createCallback(callback, thisArg);
each(collection, function(value, index, collection) {
var current = callback(value, index, collection);
@@ -2753,7 +2700,7 @@
*/
function reduce(collection, callback, accumulator, thisArg) {
var noaccum = arguments.length < 3;
callback = createCallback(callback, thisArg, 4);
callback = lodash.createCallback(callback, thisArg, 4);
if (isArray(collection)) {
var index = -1,
@@ -2803,7 +2750,7 @@
var props = keys(collection);
length = props.length;
}
callback = createCallback(callback, thisArg, 4);
callback = lodash.createCallback(callback, thisArg, 4);
forEach(collection, function(value, index, collection) {
index = props ? props[--length] : --length;
accumulator = noaccum
@@ -2853,7 +2800,7 @@
* // => [{ 'name': 'carrot', 'organic': true, 'type': 'vegetable' }]
*/
function reject(collection, callback, thisArg) {
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
return filter(collection, function(value, index, collection) {
return !callback(value, index, collection);
});
@@ -2955,7 +2902,7 @@
*/
function some(collection, callback, thisArg) {
var result;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
@@ -3014,7 +2961,7 @@
length = collection ? collection.length : 0,
result = Array(typeof length == 'number' ? length : 0);
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
forEach(collection, function(value, key, collection) {
result[++index] = {
'criteria': callback(value, key, collection),
@@ -3202,7 +3149,7 @@
if (typeof callback != 'number' && callback != null) {
var index = -1;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (++index < length && callback(array[index], index, array)) {
n++;
}
@@ -3359,7 +3306,7 @@
if (typeof callback != 'number' && callback != null) {
var index = length;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (index-- && callback(array[index], index, array)) {
n++;
}
@@ -3483,7 +3430,7 @@
if (typeof callback != 'number' && callback != null) {
var index = length;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (index-- && callback(array[index], index, array)) {
n++;
}
@@ -3643,7 +3590,7 @@
index = -1,
length = array ? array.length : 0;
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
while (++index < length && callback(array[index], index, array)) {
n++;
}
@@ -3706,7 +3653,7 @@
high = array ? array.length : low;
// explicitly reference `identity` for better inlining in Firefox
callback = callback ? createCallback(callback, thisArg, 1) : identity;
callback = callback ? lodash.createCallback(callback, thisArg, 1) : identity;
value = callback(value);
while (low < high) {
@@ -3799,7 +3746,7 @@
}
if (callback != null) {
seen = [];
callback = createCallback(callback, thisArg);
callback = lodash.createCallback(callback, thisArg);
}
while (++index < length) {
var value = array[index],
@@ -4083,6 +4030,66 @@
};
}
/**
* Produces a callback bound to an optional `thisArg`. If `func` is a property
* name, the created callback will return the property value for a given element.
* If `func` is an object, the created callback will return `true` for elements
* that contain the equivalent object properties, otherwise it will return `false`.
*
* @static
* @memberOf _
* @category Functions
* @param {Mixed} [func=identity] The value to convert to a callback.
* @param {Mixed} [thisArg] The `this` binding of the created callback.
* @param {Number} [argCount=3] The number of arguments the callback accepts.
* @returns {Function} Returns a callback function.
*/
function createCallback(func, thisArg, argCount) {
if (func == null) {
return identity;
}
var type = typeof func;
if (type != 'function') {
if (type != 'object') {
return function(object) {
return object[func];
};
}
var props = keys(func);
return function(object) {
var length = props.length,
result = false;
while (length--) {
if (!(result = isEqual(object[props[length]], func[props[length]], indicatorObject))) {
break;
}
}
return result;
};
}
if (typeof thisArg != 'undefined') {
if (argCount === 1) {
return function(value) {
return func.call(thisArg, value);
};
}
if (argCount === 2) {
return function(a, b) {
return func.call(thisArg, a, b);
};
}
if (argCount === 4) {
return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
}
return func;
}
/**
* Creates a function that will delay the execution of `func` until after
* `wait` milliseconds have elapsed since the last time it was invoked. Pass
@@ -4857,6 +4864,7 @@
lodash.compact = compact;
lodash.compose = compose;
lodash.countBy = countBy;
lodash.createCallback = createCallback;
lodash.debounce = debounce;
lodash.defaults = defaults;
lodash.defer = defer;

70
dist/lodash.min.js vendored
View File

@@ -4,38 +4,38 @@
* Build: `lodash modern -o ./dist/lodash.js`
* Underscore.js 1.4.4 underscorejs.org/LICENSE
*/
;(function(n){function t(e){function o(n){return n&&typeof n=="object"&&Kt.call(n,"__wrapped__")?n:this instanceof o?(this.__wrapped__=n,void 0):new o(n)}function F(n,t,r){t||(t=0);var e=n.length,u=e-t>=(r||a);if(u){var o={};for(r=t-1;++r<e;){var i=n[r]+"";(Kt.call(o,i)?o[i]:o[i]=[]).push(n[r])}}return function(r){if(u){var e=r+"";return Kt.call(o,e)&&-1<gt(o[e],r)}return-1<gt(n,r,t)}}function q(n){return n.charCodeAt(0)}function B(n,t){var r=n.b,e=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;
if(n<t||typeof t=="undefined")return-1}return r<e?-1:1}function R(n,t,r,e){function u(){var a=arguments,c=i?this:t;return o||(n=t[f]),r.length&&(a=a.length?(a=K(a),e?a.concat(r):r.concat(a)):r),this instanceof u?(c=sr(n.prototype),a=n.apply(c,a),X(a)?a:c):n.apply(c,a)}var o=W(n),i=!r,f=t;return i&&(r=t),o||(t=n),u}function T(n,t,r){if(null==n)return jt;var e=typeof n;if("function"!=e){if("object"!=e)return function(t){return t[n]};var u=mr(n);return function(t){for(var r=u.length,e=!1;r--&&(e=Q(t[u[r]],n[u[r]],f)););return e
}}return typeof t!="undefined"?1===r?function(r){return n.call(t,r)}:2===r?function(r,e){return n.call(t,r,e)}:4===r?function(r,e,u,o){return n.call(t,r,e,u,o)}:function(r,e,u){return n.call(t,r,e,u)}:n}function D(){for(var n,t={g:fr,b:"l(n)",c:"",h:"",l:"",m:!0},r=0;n=arguments[r];r++)for(var e in n)t[e]=n[e];return n=t.a,t.d=/^[^,]+/.exec(n)[0],r=At,e="var j,n="+t.d+",u=n;if(!n)return u;"+t.l+";",t.b&&(e+="var o=n.length;j=-1;if("+t.b+"){while(++j<o){"+t.h+"}}else{"),t.g&&t.m?e+="var s=-1,t=r[typeof n]?p(n):[],o=t.length;while(++s<o){j=t[s];"+t.h+"}":(e+="for(j in n){",t.m&&(e+="if(",t.m&&(e+="i.call(n,j)"),e+="){"),e+=t.h+";",t.m&&(e+="}"),e+="}"),t.b&&(e+="}"),e+=t.c+";return u",r("f,i,k,l,m,r,p","return function("+n+"){"+e+"}")(T,Kt,V,yr,Z,I,Yt)
}function z(n){var t=sr(o.prototype);return t.__wrapped__=n,t}function C(n){return"\\"+k[n]}function P(n){return dr[n]}function M(){}function K(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);var e=-1;r=r-t||0;for(var u=Ot(0>r?0:r);++e<r;)u[e]=n[t+e];return u}function U(n){return _r[n]}function V(n){return Ht.call(n)==b}function G(n){var t=[];return hr(n,function(n,r){t.push(r)}),t}function H(n,t,e,u,o,i){var f=n;if(typeof t=="function"&&(u=e,e=t,t=!1),typeof e=="function"){if(e=typeof u=="undefined"?e:T(e,u,1),f=e(f),typeof f!="undefined")return f;
f=n}if(u=X(f)){var a=Ht.call(f);if(!E[a])return f;var c=yr(f)}if(!u||!t)return u?c?K(f):br({},f):f;switch(u=ar[a],a){case w:case x:return new u(+f);case O:case A:return new u(f);case S:return u(f.source,v.exec(f))}for(o||(o=[]),i||(i=[]),a=o.length;a--;)if(o[a]==n)return i[a];return f=c?u(f.length):{},c&&(Kt.call(n,"index")&&(f.index=n.index),Kt.call(n,"input")&&(f.input=n.input)),o.push(n),i.push(f),(c?it:hr)(n,function(n,u){f[u]=H(n,t,e,r,o,i)}),f}function J(n){var t=[];return gr(n,function(n,r){W(n)&&t.push(r)
}),t.sort()}function L(n){for(var t=-1,r=mr(n),e=r.length,u={};++t<e;){var o=r[t];u[n[o]]=o}return u}function Q(n,t,r,e,u,o){var i=r===f;if(r&&!i){r=typeof e=="undefined"?r:T(r,e,2);var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var c=typeof n,l=typeof t;if(n===n&&(!n||"function"!=c&&"object"!=c)&&(!t||"function"!=l&&"object"!=l))return!1;if(null==n||null==t)return n===t;if(l=Ht.call(n),c=Ht.call(t),l==b&&(l=N),c==b&&(c=N),l!=c)return!1;switch(l){case w:case x:return+n==+t;
case O:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case S:case A:return n==t+""}if(c=l==j,!c){if(Kt.call(n,"__wrapped__")||Kt.call(t,"__wrapped__"))return Q(n.__wrapped__||n,t.__wrapped__||t,r,e,u,o);if(l!=N)return!1;var l=n.constructor,p=t.constructor;if(l!=p&&(!W(l)||!(l instanceof l&&W(p)&&p instanceof p)))return!1}for(u||(u=[]),o||(o=[]),l=u.length;l--;)if(u[l]==n)return o[l]==t;var s=0,a=!0;if(u.push(n),o.push(t),c){if(l=n.length,s=t.length,a=s==n.length,!a&&!i)return a;for(;s--;)if(c=l,p=t[s],i)for(;c--&&!(a=Q(n[c],p,r,e,u,o)););else if(!(a=Q(n[s],p,r,e,u,o)))break;
return a}return gr(t,function(t,i,f){return Kt.call(f,i)?(s++,a=Kt.call(n,i)&&Q(n[i],t,r,e,u,o)):void 0}),a&&!i&&gr(n,function(n,t,r){return Kt.call(r,t)?a=-1<--s:void 0}),a}function W(n){return typeof n=="function"}function X(n){return n?I[typeof n]:!1}function Y(n){return typeof n=="number"||Ht.call(n)==O}function Z(n){return typeof n=="string"||Ht.call(n)==A}function nt(n,t,r){var e=arguments,u=0,o=2;if(!X(n))return n;if(r===f)var i=e[3],a=e[4],c=e[5];else a=[],c=[],typeof r!="number"&&(o=e.length),3<o&&"function"==typeof e[o-2]?i=T(e[--o-1],e[o--],2):2<o&&"function"==typeof e[o-1]&&(i=e[--o]);
for(;++u<o;)(yr(e[u])?it:hr)(e[u],function(t,r){var e,u,o=t,l=n[r];if(t&&((u=yr(t))||wr(t))){for(o=a.length;o--;)if(e=a[o]==t){l=c[o];break}e||(l=u?yr(l)?l:[]:wr(l)?l:{},i&&(o=i(l,t),typeof o!="undefined"&&(l=o)),a.push(t),c.push(l),i||(l=nt(l,t,f,i,a,c)))}else i&&(o=i(l,t),typeof o=="undefined"&&(o=t)),typeof o!="undefined"&&(l=o);n[r]=l});return n}function tt(n){for(var t=-1,r=mr(n),e=r.length,u=Ot(e);++t<e;)u[t]=n[r[t]];return u}function rt(n,t,r){var e=-1,u=n?n.length:0,o=!1;return r=(0>r?Zt(0,u+r):r)||0,typeof u=="number"?o=-1<(Z(n)?n.indexOf(t,r):gt(n,t,r)):vr(n,function(n){return++e<r?void 0:!(o=n===t)
}),o}function et(n,t,r){var e=!0;if(t=T(t,r),yr(n)){r=-1;for(var u=n.length;++r<u&&(e=!!t(n[r],r,n)););}else vr(n,function(n,r,u){return e=!!t(n,r,u)});return e}function ut(n,t,r){var e=[];if(t=T(t,r),yr(n)){r=-1;for(var u=n.length;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}}else vr(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function ot(n,t,r){var e;return t=T(t,r),it(n,function(n,r,u){return t(n,r,u)?(e=n,!1):void 0}),e}function it(n,t,r){if(t&&typeof r=="undefined"&&yr(n)){r=-1;for(var e=n.length;++r<e&&!1!==t(n[r],r,n););}else vr(n,t,r);
return n}function ft(n,t,r){var e=-1,u=n?n.length:0,o=Ot(typeof u=="number"?u:0);if(t=T(t,r),yr(n))for(;++e<u;)o[e]=t(n[e],e,n);else vr(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function at(n,t,r){var e=-1/0,u=e;if(!t&&yr(n)){r=-1;for(var o=n.length;++r<o;){var i=n[r];i>u&&(u=i)}}else t=!t&&Z(n)?q:T(t,r),vr(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)});return u}function ct(n,t,r,e){var u=3>arguments.length;if(t=T(t,e,4),yr(n)){var o=-1,i=n.length;for(u&&(r=n[++o]);++o<i;)r=t(r,n[o],o,n)}else vr(n,function(n,e,o){r=u?(u=!1,n):t(r,n,e,o)
});return r}function lt(n,t,r,e){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var i=mr(n),u=i.length;return t=T(t,e,4),it(n,function(e,f,a){f=i?i[--u]:--u,r=o?(o=!1,n[f]):t(r,n[f],f,a)}),r}function pt(n,t,r){var e;if(t=T(t,r),yr(n)){r=-1;for(var u=n.length;++r<u&&!(e=t(n[r],r,n)););}else vr(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function st(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=-1;for(t=T(t,r);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n[0];
return K(n,0,nr(Zt(0,e),u))}}function vt(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];yr(o)?Ut.apply(u,t?o:vt(o)):u.push(o)}return u}function gt(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?Zt(0,u+r):r||0)-1;else if(r)return e=yt(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function ht(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=T(t,r);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:Zt(0,t);return K(n,e)}function yt(n,t,r,e){var u=0,o=n?n.length:u;
for(r=r?T(r,e,1):jt,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function mt(n,t,r,e){var u=-1,o=n?n.length:0,i=[],f=i;typeof t!="boolean"&&null!=t&&(e=r,r=t,t=!1);var a=!t&&75<=o;if(a)var c={};for(null!=r&&(f=[],r=T(r,e));++u<o;){e=n[u];var l=r?r(e,u,n):e;if(a)var p=l+"",p=Kt.call(c,p)?!(f=c[p]):f=c[p]=[];(t?!u||f[f.length-1]!==l:p||0>gt(f,l))&&((r||a)&&f.push(l),i.push(e))}return i}function dt(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var o=n[r];t?u[o]=t[r]:u[o[0]]=o[1]}return u}function _t(n,t){return ir||Jt&&2<arguments.length?Jt.call.apply(Jt,arguments):R(n,t,K(arguments,2))
}function bt(n){var t=K(arguments,1);return Gt(function(){n.apply(r,t)},1)}function jt(n){return n}function wt(n){it(J(n),function(t){var r=o[t]=n[t];o.prototype[t]=function(){var n=this.__wrapped__,t=[n];return Ut.apply(t,arguments),t=r.apply(o,t),n&&typeof n=="object"&&n==t?this:z(t)}})}function xt(){return this.__wrapped__}e=e?$.defaults(n.Object(),e,$.pick(n,_)):n;var Ot=e.Array,Nt=e.Boolean,St=e.Date,At=e.Function,Et=e.Math,It=e.Number,kt=e.Object,$t=e.RegExp,Ft=e.String,qt=Ot(),Bt=kt(),Rt=e._,Tt=$t("^"+(Bt.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Dt=Et.ceil,zt=e.clearTimeout,Ct=qt.concat,Pt=Et.floor,Mt=Tt.test(Mt=kt.getPrototypeOf)&&Mt,Kt=Bt.hasOwnProperty,Ut=qt.push,Vt=e.setImmediate,Gt=e.setTimeout,Ht=Bt.toString,Jt=Tt.test(Jt=K.bind)&&Jt,Lt=Tt.test(Lt=kt.create)&&Lt,Qt=Tt.test(Qt=Ot.isArray)&&Qt,Wt=e.isFinite,Xt=e.isNaN,Yt=Tt.test(Yt=kt.keys)&&Yt,Zt=Et.max,nr=Et.min,tr=e.parseInt,rr=Et.random,er=Tt.test(e.attachEvent),ur=!/\n{2,}/.test(At()),or=Jt&&!/\n|true/.test(Jt+er),ir=Jt&&!or,fr=Yt&&(er||or||!ur),ar={};
ar[j]=Ot,ar[w]=Nt,ar[x]=St,ar[N]=kt,ar[O]=It,ar[S]=$t,ar[A]=Ft,o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:h,variable:"",imports:{_:o}};var cr={a:"q,w,h",l:"var a=arguments,b=0,c=typeof h=='number'?2:a.length;while(++b<c){n=a[b];if(n&&r[typeof n]){",h:"if(typeof u[j]=='undefined')u[j]=n[j]",c:"}}"},lr={a:"e,d,x",l:"d=d&&typeof x=='undefined'?d:f(d,x)",b:"typeof o=='number'",h:"if(d(n[j],j,e)===false)return u"},pr={l:"if(!r[typeof n])return u;"+lr.l,b:!1},sr=Lt||function(n){return M.prototype=n,n=new M,M.prototype=null,n
},vr=D(lr),gr=D(lr,pr,{m:!1}),hr=D(lr,pr),yr=Qt||function(n){return n instanceof Ot||Ht.call(n)==j},mr=Yt?function(n){return X(n)?Yt(n):[]}:G,dr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},_r=L(dr),br=D(cr,{l:cr.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=f(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[j]=d?d(u[j],n[j]):n[j]"}),jr=D(cr),wr=function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,r=typeof t=="function"&&(r=Mt(t))&&Mt(r);
if(r)n=n==r||Mt(n)==r&&!V(n);else{var e=!1;!n||typeof n!="object"||V(n)?n=e:(t=n.constructor,!W(t)||t instanceof t?(gr(n,function(n,t){e=t}),n=!1===e||Kt.call(n,e)):n=e)}return n},xr=8==tr("08")?tr:function(n,t){return tr(Z(n)?n.replace(/^0+(?=.$)/,""):n,t||0)};return or&&u&&typeof Vt=="function"&&(bt=_t(Vt,e)),o.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},o.assign=br,o.at=function(n){for(var t=-1,r=Ct.apply(qt,K(arguments,1)),e=r.length,u=Ot(e);++t<e;)u[t]=n[r[t]];
return u},o.bind=_t,o.bindAll=function(n){for(var t=Ct.apply(qt,arguments),r=1<t.length?0:(t=J(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=_t(n[u],n)}return n},o.bindKey=function(n,t){return R(n,t,K(arguments,2))},o.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},o.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},o.countBy=function(n,t,r){var e={};return t=T(t,r),it(n,function(n,r,u){r=t(n,r,u)+"",Kt.call(e,r)?e[r]++:e[r]=1
}),e},o.debounce=function(n,t,r){function e(){f=null,r||(o=n.apply(i,u))}var u,o,i,f;return function(){var a=r&&!f;return u=arguments,i=this,zt(f),f=Gt(e,t),a&&(o=n.apply(i,u)),o}},o.defaults=jr,o.defer=bt,o.delay=function(n,t){var e=K(arguments,2);return Gt(function(){n.apply(r,e)},t)},o.difference=function(n){for(var t=-1,r=n?n.length:0,e=Ct.apply(qt,arguments),e=F(e,r),u=[];++t<r;){var o=n[t];e(o)||u.push(o)}return u},o.filter=ut,o.flatten=vt,o.forEach=it,o.forIn=gr,o.forOwn=hr,o.functions=J,o.groupBy=function(n,t,r){var e={};
return t=T(t,r),it(n,function(n,r,u){r=t(n,r,u)+"",(Kt.call(e,r)?e[r]:e[r]=[]).push(n)}),e},o.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=T(t,r);o--&&t(n[o],o,n);)e++}else e=null==t||r?1:t||e;return K(n,0,nr(Zt(0,u-e),u))},o.intersection=function(n){var t=arguments,r=t.length,e={0:{}},u=-1,o=n?n.length:0,i=100<=o,f=[],a=f;n:for(;++u<o;){var c=n[u];if(i)var l=c+"",l=Kt.call(e[0],l)?!(a=e[0][l]):a=e[0][l]=[];if(l||0>gt(a,c)){i&&a.push(c);for(var p=r;--p;)if(!(e[p]||(e[p]=F(t[p],0,100)))(c))continue n;
f.push(c)}}return f},o.invert=L,o.invoke=function(n,t){var r=K(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Ot(typeof o=="number"?o:0);return it(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},o.keys=mr,o.map=ft,o.max=at,o.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return Kt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},o.merge=nt,o.min=function(n,t,r){var e=1/0,u=e;if(!t&&yr(n)){r=-1;for(var o=n.length;++r<o;){var i=n[r];i<u&&(u=i)
}}else t=!t&&Z(n)?q:T(t,r),vr(n,function(n,r,o){r=t(n,r,o),r<e&&(e=r,u=n)});return u},o.omit=function(n,t,r){var e=typeof t=="function",u={};if(e)t=T(t,r);else var o=Ct.apply(qt,arguments);return gr(n,function(n,r,i){(e?!t(n,r,i):0>gt(o,r,1))&&(u[r]=n)}),u},o.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},o.pairs=function(n){for(var t=-1,r=mr(n),e=r.length,u=Ot(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},o.partial=function(n){return R(n,K(arguments,1))
},o.partialRight=function(n){return R(n,K(arguments,1),null,f)},o.pick=function(n,t,r){var e={};if(typeof t!="function")for(var u=0,o=Ct.apply(qt,arguments),i=X(n)?o.length:0;++u<i;){var f=o[u];f in n&&(e[f]=n[f])}else t=T(t,r),gr(n,function(n,r,u){t(n,r,u)&&(e[r]=n)});return e},o.pluck=ft,o.range=function(n,t,r){n=+n||0,r=+r||1,null==t&&(t=n,n=0);var e=-1;t=Zt(0,Dt((t-n)/r));for(var u=Ot(t);++e<t;)u[e]=n,n+=r;return u},o.reject=function(n,t,r){return t=T(t,r),ut(n,function(n,r,e){return!t(n,r,e)
})},o.rest=ht,o.shuffle=function(n){var t=-1,r=n?n.length:0,e=Ot(typeof r=="number"?r:0);return it(n,function(n){var r=Pt(rr()*(++t+1));e[t]=e[r],e[r]=n}),e},o.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=Ot(typeof u=="number"?u:0);for(t=T(t,r),it(n,function(n,r,u){o[++e]={a:t(n,r,u),b:e,c:n}}),u=o.length,o.sort(B);u--;)o[u]=o[u].c;return o},o.tap=function(n,t){return t(n),n},o.throttle=function(n,t){function r(){f=new St,i=null,u=n.apply(o,e)}var e,u,o,i,f=0;return function(){var a=new St,c=t-(a-f);
return e=arguments,o=this,0<c?i||(i=Gt(r,c)):(zt(i),i=null,f=a,u=n.apply(o,e)),u}},o.times=function(n,t,r){n=+n||0;for(var e=-1,u=Ot(n);++e<n;)u[e]=t.call(r,e);return u},o.toArray=function(n){return n&&typeof n.length=="number"?K(n):tt(n)},o.union=function(){return mt(Ct.apply(qt,arguments))},o.uniq=mt,o.values=tt,o.where=ut,o.without=function(n){for(var t=-1,r=n?n.length:0,e=F(arguments,1),u=[];++t<r;){var o=n[t];e(o)||u.push(o)}return u},o.wrap=function(n,t){return function(){var r=[n];return Ut.apply(r,arguments),t.apply(this,r)
}},o.zip=function(n){for(var t=-1,r=n?at(ft(arguments,"length")):0,e=Ot(r);++t<r;)e[t]=ft(arguments,t);return e},o.zipObject=dt,o.collect=ft,o.drop=ht,o.each=it,o.extend=br,o.methods=J,o.object=dt,o.select=ut,o.tail=ht,o.unique=mt,wt(o),o.clone=H,o.cloneDeep=function(n,t,r){return H(n,!0,t,r)},o.contains=rt,o.escape=function(n){return null==n?"":(n+"").replace(m,P)},o.every=et,o.find=ot,o.has=function(n,t){return n?Kt.call(n,t):!1},o.identity=jt,o.indexOf=gt,o.isArguments=V,o.isArray=yr,o.isBoolean=function(n){return!0===n||!1===n||Ht.call(n)==w
},o.isDate=function(n){return n instanceof St||Ht.call(n)==x},o.isElement=function(n){return n?1===n.nodeType:!1},o.isEmpty=function(n){var t=!0;if(!n)return t;var r=Ht.call(n),e=n.length;return r==j||r==A||r==b||r==N&&typeof e=="number"&&W(n.splice)?!e:(hr(n,function(){return t=!1}),t)},o.isEqual=Q,o.isFinite=function(n){return Wt(n)&&!Xt(parseFloat(n))},o.isFunction=W,o.isNaN=function(n){return Y(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=Y,o.isObject=X,o.isPlainObject=wr,o.isRegExp=function(n){return n instanceof $t||Ht.call(n)==S
},o.isString=Z,o.isUndefined=function(n){return typeof n=="undefined"},o.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Zt(0,e+r):nr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},o.mixin=wt,o.noConflict=function(){return e._=Rt,this},o.parseInt=xr,o.random=function(n,t){return null==n&&null==t&&(t=1),n=+n||0,null==t&&(t=n,n=0),n+Pt(rr()*((+t||0)-n+1))},o.reduce=ct,o.reduceRight=lt,o.result=function(n,t){var e=n?n[t]:r;return W(e)?n[t]():e},o.runInContext=t,o.size=function(n){var t=n?n.length:0;
return typeof t=="number"?t:mr(n).length},o.some=pt,o.sortedIndex=yt,o.template=function(n,t,e){var u=o.templateSettings;n||(n=""),e=jr({},e,u);var i,f=jr({},e.imports,u.imports),u=mr(f),f=tt(f),a=0,c=e.interpolate||y,v="__p+='",c=$t((e.escape||y).source+"|"+c.source+"|"+(c===h?g:y).source+"|"+(e.evaluate||y).source+"|$","g");n.replace(c,function(t,r,e,u,o,f){return e||(e=u),v+=n.slice(a,f).replace(d,C),r&&(v+="'+__e("+r+")+'"),o&&(i=!0,v+="';"+o+";__p+='"),e&&(v+="'+((__t=("+e+"))==null?'':__t)+'"),a=f+t.length,t
}),v+="';\n",c=e=e.variable,c||(e="obj",v="with("+e+"){"+v+"}"),v=(i?v.replace(l,""):v).replace(p,"$1").replace(s,"$1;"),v="function("+e+"){"+(c?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+v+"return __p}";try{var m=At(u,"return "+v).apply(r,f)}catch(_){throw _.source=v,_}return t?m(t):(m.source=v,m)},o.unescape=function(n){return null==n?"":(n+"").replace(c,U)},o.uniqueId=function(n){var t=++i;return(null==n?"":n+"")+t
},o.all=et,o.any=pt,o.detect=ot,o.foldl=ct,o.foldr=lt,o.include=rt,o.inject=ct,hr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(){var t=[this.__wrapped__];return Ut.apply(t,arguments),n.apply(o,t)})}),o.first=st,o.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=T(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n[u-1];return K(n,Zt(0,u-e))}},o.take=st,o.head=st,hr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r);
return null==t||r&&typeof t!="function"?e:z(e)})}),o.VERSION="1.0.1",o.prototype.toString=function(){return this.__wrapped__+""},o.prototype.value=xt,o.prototype.valueOf=xt,vr(["join","pop","shift"],function(n){var t=qt[n];o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),vr(["push","reverse","sort","unshift"],function(n){var t=qt[n];o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),vr(["concat","slice","splice"],function(n){var t=qt[n];o.prototype[n]=function(){return z(t.apply(this.__wrapped__,arguments))
}}),o}var r,e=typeof exports=="object"&&exports,u=typeof module=="object"&&module&&module.exports==e&&module,o=typeof global=="object"&&global;o.global===o&&(n=o);var i=0,f={},a=30,c=/&(?:amp|lt|gt|quot|#39);/g,l=/\b__p\+='';/g,p=/\b(__p\+=)''\+/g,s=/(__e\(.*?\)|\b__t\))\+'';/g,v=/\w*$/,g=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,h=/<%=([\s\S]+?)%>/g,y=/($^)/,m=/[&<>"']/g,d=/['\n\r\t\u2028\u2029\\]/g,_="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),b="[object Arguments]",j="[object Array]",w="[object Boolean]",x="[object Date]",O="[object Number]",N="[object Object]",S="[object RegExp]",A="[object String]",E={"[object Function]":!1};
E[b]=E[j]=E[w]=E[x]=E[O]=E[N]=E[S]=E[A]=!0;var I={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},k={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},$=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=$,define(function(){return $})):e&&!e.nodeType?u?(u.exports=$)._=$:e._=$:n._=$})(this);
;(function(n){function t(r){function a(n){return n&&typeof n=="object"&&Mt.call(n,"__wrapped__")?n:this instanceof a?(this.__wrapped__=n,void 0):new a(n)}function $(n,t,e){t||(t=0);var r=n.length,u=r-t>=(e||f);if(u){var a={};for(e=t-1;++e<r;){var o=n[e]+"";(Mt.call(a,o)?a[o]:a[o]=[]).push(n[e])}}return function(e){if(u){var r=e+"";return Mt.call(a,r)&&-1<vt(a[r],e)}return-1<vt(n,e,t)}}function F(n){return n.charCodeAt(0)}function q(n,t){var e=n.b,r=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;
if(n<t||typeof t=="undefined")return-1}return e<r?-1:1}function B(n,t,e,r){function u(){var f=arguments,c=o?this:t;return a||(n=t[i]),e.length&&(f=f.length?(f=M(f),r?f.concat(e):e.concat(f)):e),this instanceof u?(c=pe(n.prototype),f=n.apply(c,f),W(f)?f:c):n.apply(c,f)}var a=Q(n),o=!e,i=t;return o&&(e=t),a||(t=n),u}function R(){for(var n,t={g:oe,b:"k(m)",c:"",h:"",l:"",m:!0},e=0;n=arguments[e];e++)for(var r in n)t[r]=n[r];return n=t.a,t.d=/^[^,]+/.exec(n)[0],e=Ot,r="var i,m="+t.d+",u=m;if(!m)return u;"+t.l+";",t.b&&(r+="var n=m.length;i=-1;if("+t.b+"){while(++i<n){"+t.h+"}}else{"),t.g&&t.m?r+="var s=-1,t=r[typeof m]?p(m):[],n=t.length;while(++s<n){i=t[s];"+t.h+"}":(r+="for(i in m){",t.m&&(r+="if(",t.m&&(r+="h.call(m,i)"),r+="){"),r+=t.h+";",t.m&&(r+="}"),r+="}"),t.b&&(r+="}"),r+=t.c+";return u",e("h,j,k,l,o,r,p","return function("+n+"){"+r+"}")(Mt,U,he,Y,a,A,Xt)
}function T(n){var t=pe(a.prototype);return t.__wrapped__=n,t}function D(n){return"\\"+E[n]}function z(n){return me[n]}function P(){}function M(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=wt(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function K(n){return de[n]}function U(n){return Gt.call(n)==_}function V(n){var t=[];return ge(n,function(n,e){t.push(e)}),t}function G(n,t,r,u,o,i){var f=n;if(typeof t=="function"&&(u=r,r=t,t=!1),typeof r=="function"){if(r=typeof u=="undefined"?r:a.createCallback(r,u,1),f=r(f),typeof f!="undefined")return f;
f=n}if(u=W(f)){var c=Gt.call(f);if(!S[c])return f;var l=he(f)}if(!u||!t)return u?l?M(f):be({},f):f;switch(u=ie[c],c){case j:case w:return new u(+f);case C:case N:return new u(f);case O:return u(f.source,v.exec(f))}for(o||(o=[]),i||(i=[]),c=o.length;c--;)if(o[c]==n)return i[c];return f=l?u(f.length):{},l&&(Mt.call(n,"index")&&(f.index=n.index),Mt.call(n,"input")&&(f.input=n.input)),o.push(n),i.push(f),(l?at:ge)(n,function(n,u){f[u]=G(n,t,r,e,o,i)}),f}function H(n){var t=[];return ve(n,function(n,e){Q(n)&&t.push(e)
}),t.sort()}function J(n){for(var t=-1,e=ye(n),r=e.length,u={};++t<r;){var a=e[t];u[n[a]]=a}return u}function L(n,t,e,r,u,o){var f=e===i;if(e&&!f){e=typeof r=="undefined"?e:a.createCallback(e,r,2);var c=e(n,t);if(typeof c!="undefined")return!!c}if(n===t)return 0!==n||1/n==1/t;var l=typeof n,p=typeof t;if(n===n&&(!n||"function"!=l&&"object"!=l)&&(!t||"function"!=p&&"object"!=p))return!1;if(null==n||null==t)return n===t;if(p=Gt.call(n),l=Gt.call(t),p==_&&(p=x),l==_&&(l=x),p!=l)return!1;switch(p){case j:case w:return+n==+t;
case C:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case O:case N:return n==t+""}if(l=p==k,!l){if(Mt.call(n,"__wrapped__")||Mt.call(t,"__wrapped__"))return L(n.__wrapped__||n,t.__wrapped__||t,e,r,u,o);if(p!=x)return!1;var p=n.constructor,s=t.constructor;if(p!=s&&(!Q(p)||!(p instanceof p&&Q(s)&&s instanceof s)))return!1}for(u||(u=[]),o||(o=[]),p=u.length;p--;)if(u[p]==n)return o[p]==t;var v=0,c=!0;if(u.push(n),o.push(t),l){if(p=n.length,v=t.length,c=v==n.length,!c&&!f)return c;for(;v--;)if(l=p,s=t[v],f)for(;l--&&!(c=L(n[l],s,e,r,u,o)););else if(!(c=L(n[v],s,e,r,u,o)))break;
return c}return ve(t,function(t,a,i){return Mt.call(i,a)?(v++,c=Mt.call(n,a)&&L(n[a],t,e,r,u,o)):void 0}),c&&!f&&ve(n,function(n,t,e){return Mt.call(e,t)?c=-1<--v:void 0}),c}function Q(n){return typeof n=="function"}function W(n){return n?A[typeof n]:!1}function X(n){return typeof n=="number"||Gt.call(n)==C}function Y(n){return typeof n=="string"||Gt.call(n)==N}function Z(n,t,e){var r=arguments,u=0,o=2;if(!W(n))return n;if(e===i)var f=r[3],c=r[4],l=r[5];else c=[],l=[],typeof e!="number"&&(o=r.length),3<o&&"function"==typeof r[o-2]?f=a.createCallback(r[--o-1],r[o--],2):2<o&&"function"==typeof r[o-1]&&(f=r[--o]);
for(;++u<o;)(he(r[u])?at:ge)(r[u],function(t,e){var r,u,a=t,o=n[e];if(t&&((u=he(t))||ke(t))){for(a=c.length;a--;)if(r=c[a]==t){o=l[a];break}r||(o=u?he(o)?o:[]:ke(o)?o:{},f&&(a=f(o,t),typeof a!="undefined"&&(o=a)),c.push(t),l.push(o),f||(o=Z(o,t,i,f,c,l)))}else f&&(a=f(o,t),typeof a=="undefined"&&(a=t)),typeof a!="undefined"&&(o=a);n[e]=o});return n}function nt(n){for(var t=-1,e=ye(n),r=e.length,u=wt(r);++t<r;)u[t]=n[e[t]];return u}function tt(n,t,e){var r=-1,u=n?n.length:0,a=!1;return e=(0>e?Yt(0,u+e):e)||0,typeof u=="number"?a=-1<(Y(n)?n.indexOf(t,e):vt(n,t,e)):se(n,function(n){return++r<e?void 0:!(a=n===t)
}),a}function et(n,t,e){var r=!0;if(t=a.createCallback(t,e),he(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else se(n,function(n,e,u){return r=!!t(n,e,u)});return r}function rt(n,t,e){var r=[];if(t=a.createCallback(t,e),he(n)){e=-1;for(var u=n.length;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}}else se(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function ut(n,t,e){var r;return t=a.createCallback(t,e),at(n,function(n,e,u){return t(n,e,u)?(r=n,!1):void 0}),r}function at(n,t,e){if(t&&typeof e=="undefined"&&he(n)){e=-1;
for(var r=n.length;++e<r&&!1!==t(n[e],e,n););}else se(n,t,e);return n}function ot(n,t,e){var r=-1,u=n?n.length:0,o=wt(typeof u=="number"?u:0);if(t=a.createCallback(t,e),he(n))for(;++r<u;)o[r]=t(n[r],r,n);else se(n,function(n,e,u){o[++r]=t(n,e,u)});return o}function it(n,t,e){var r=-1/0,u=r;if(!t&&he(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i>u&&(u=i)}}else t=!t&&Y(n)?F:a.createCallback(t,e),se(n,function(n,e,a){e=t(n,e,a),e>r&&(r=e,u=n)});return u}function ft(n,t,e,r){var u=3>arguments.length;
if(t=a.createCallback(t,r,4),he(n)){var o=-1,i=n.length;for(u&&(e=n[++o]);++o<i;)e=t(e,n[o],o,n)}else se(n,function(n,r,a){e=u?(u=!1,n):t(e,n,r,a)});return e}function ct(n,t,e,r){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var i=ye(n),u=i.length;return t=a.createCallback(t,r,4),at(n,function(r,a,f){a=i?i[--u]:--u,e=o?(o=!1,n[a]):t(e,n[a],a,f)}),e}function lt(n,t,e){var r;if(t=a.createCallback(t,e),he(n)){e=-1;for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else se(n,function(n,e,u){return!(r=t(n,e,u))
});return!!r}function pt(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&null!=t){var o=-1;for(t=a.createCallback(t,e);++o<u&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n[0];return M(n,0,Zt(Yt(0,r),u))}}function st(n,t){for(var e=-1,r=n?n.length:0,u=[];++e<r;){var a=n[e];he(a)?Kt.apply(u,t?a:st(a)):u.push(a)}return u}function vt(n,t,e){var r=-1,u=n?n.length:0;if(typeof e=="number")r=(0>e?Yt(0,u+e):e||0)-1;else if(e)return r=ht(n,t),n[r]===t?r:-1;for(;++r<u;)if(n[r]===t)return r;return-1
}function gt(n,t,e){if(typeof t!="number"&&null!=t){var r=0,u=-1,o=n?n.length:0;for(t=a.createCallback(t,e);++u<o&&t(n[u],u,n);)r++}else r=null==t||e?1:Yt(0,t);return M(n,r)}function ht(n,t,e,r){var u=0,o=n?n.length:u;for(e=e?a.createCallback(e,r,1):_t,t=e(t);u<o;)r=u+o>>>1,e(n[r])<t?u=r+1:o=r;return u}function yt(n,t,e,r){var u=-1,o=n?n.length:0,i=[],f=i;typeof t!="boolean"&&null!=t&&(r=e,e=t,t=!1);var c=!t&&75<=o;if(c)var l={};for(null!=e&&(f=[],e=a.createCallback(e,r));++u<o;){r=n[u];var p=e?e(r,u,n):r;
if(c)var s=p+"",s=Mt.call(l,s)?!(f=l[s]):f=l[s]=[];(t?!u||f[f.length-1]!==p:s||0>vt(f,p))&&((e||c)&&f.push(p),i.push(r))}return i}function mt(n,t){for(var e=-1,r=n?n.length:0,u={};++e<r;){var a=n[e];t?u[a]=t[e]:u[a[0]]=a[1]}return u}function dt(n,t){return ae||Ht&&2<arguments.length?Ht.call.apply(Ht,arguments):B(n,t,M(arguments,2))}function bt(n){var t=M(arguments,1);return Vt(function(){n.apply(e,t)},1)}function _t(n){return n}function kt(n){at(H(n),function(t){var e=a[t]=n[t];a.prototype[t]=function(){var n=this.__wrapped__,t=[n];
return Kt.apply(t,arguments),t=e.apply(a,t),n&&typeof n=="object"&&n==t?this:T(t)}})}function jt(){return this.__wrapped__}r=r?I.defaults(n.Object(),r,I.pick(n,b)):n;var wt=r.Array,Ct=r.Boolean,xt=r.Date,Ot=r.Function,Nt=r.Math,St=r.Number,At=r.Object,Et=r.RegExp,It=r.String,$t=wt(),Ft=At(),qt=r._,Bt=Et("^"+(Ft.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Rt=Nt.ceil,Tt=r.clearTimeout,Dt=$t.concat,zt=Nt.floor,Pt=Bt.test(Pt=At.getPrototypeOf)&&Pt,Mt=Ft.hasOwnProperty,Kt=$t.push,Ut=r.setImmediate,Vt=r.setTimeout,Gt=Ft.toString,Ht=Bt.test(Ht=M.bind)&&Ht,Jt=Bt.test(Jt=At.create)&&Jt,Lt=Bt.test(Lt=wt.isArray)&&Lt,Qt=r.isFinite,Wt=r.isNaN,Xt=Bt.test(Xt=At.keys)&&Xt,Yt=Nt.max,Zt=Nt.min,ne=r.parseInt,te=Nt.random,ee=Bt.test(r.attachEvent),re=!/\n{2,}/.test(Ot()),ue=Ht&&!/\n|true/.test(Ht+ee),ae=Ht&&!ue,oe=Xt&&(ee||ue||!re),ie={};
ie[k]=wt,ie[j]=Ct,ie[w]=xt,ie[x]=At,ie[C]=St,ie[O]=Et,ie[N]=It,a.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:h,variable:"",imports:{_:a}};var fe={a:"q,w,g",l:"var a=arguments,b=0,c=typeof g=='number'?2:a.length;while(++b<c){m=a[b];if(m&&r[typeof m]){",h:"if(typeof u[i]=='undefined')u[i]=m[i]",c:"}}"},ce={a:"e,d,x",l:"d=d&&typeof x=='undefined'?d:o['createCallback'](d,x)",b:"typeof n=='number'",h:"if(d(m[i],i,e)===false)return u"},le={l:"if(!r[typeof m])return u;"+ce.l,b:!1},pe=Jt||function(n){return P.prototype=n,n=new P,P.prototype=null,n
},se=R(ce),ve=R(ce,le,{m:!1}),ge=R(ce,le),he=Lt||function(n){return n instanceof wt||Gt.call(n)==k},ye=Xt?function(n){return W(n)?Xt(n):[]}:V,me={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},de=J(me),be=R(fe,{l:fe.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=o.createCallback(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[i]=d?d(u[i],m[i]):m[i]"}),_e=R(fe),ke=function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,e=typeof t=="function"&&(e=Pt(t))&&Pt(e);
if(e)n=n==e||Pt(n)==e&&!U(n);else{var r=!1;!n||typeof n!="object"||U(n)?n=r:(t=n.constructor,!Q(t)||t instanceof t?(ve(n,function(n,t){r=t}),n=!1===r||Mt.call(n,r)):n=r)}return n},je=8==ne("08")?ne:function(n,t){return ne(Y(n)?n.replace(/^0+(?=.$)/,""):n,t||0)};return ue&&u&&typeof Ut=="function"&&(bt=dt(Ut,r)),a.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},a.assign=be,a.at=function(n){for(var t=-1,e=Dt.apply($t,M(arguments,1)),r=e.length,u=wt(r);++t<r;)u[t]=n[e[t]];
return u},a.bind=dt,a.bindAll=function(n){for(var t=Dt.apply($t,arguments),e=1<t.length?0:(t=H(n),-1),r=t.length;++e<r;){var u=t[e];n[u]=dt(n[u],n)}return n},a.bindKey=function(n,t){return B(n,t,M(arguments,2))},a.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},a.compose=function(){var n=arguments;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},a.countBy=function(n,t,e){var r={};return t=a.createCallback(t,e),at(n,function(n,e,u){e=t(n,e,u)+"",Mt.call(r,e)?r[e]++:r[e]=1
}),r},a.createCallback=function(n,t,e){if(null==n)return _t;var r=typeof n;if("function"!=r){if("object"!=r)return function(t){return t[n]};var u=ye(n);return function(t){for(var e=u.length,r=!1;e--&&(r=L(t[u[e]],n[u[e]],i)););return r}}return typeof t!="undefined"?1===e?function(e){return n.call(t,e)}:2===e?function(e,r){return n.call(t,e,r)}:4===e?function(e,r,u,a){return n.call(t,e,r,u,a)}:function(e,r,u){return n.call(t,e,r,u)}:n},a.debounce=function(n,t,e){function r(){i=null,e||(a=n.apply(o,u))
}var u,a,o,i;return function(){var f=e&&!i;return u=arguments,o=this,Tt(i),i=Vt(r,t),f&&(a=n.apply(o,u)),a}},a.defaults=_e,a.defer=bt,a.delay=function(n,t){var r=M(arguments,2);return Vt(function(){n.apply(e,r)},t)},a.difference=function(n){for(var t=-1,e=n?n.length:0,r=Dt.apply($t,arguments),r=$(r,e),u=[];++t<e;){var a=n[t];r(a)||u.push(a)}return u},a.filter=rt,a.flatten=st,a.forEach=at,a.forIn=ve,a.forOwn=ge,a.functions=H,a.groupBy=function(n,t,e){var r={};return t=a.createCallback(t,e),at(n,function(n,e,u){e=t(n,e,u)+"",(Mt.call(r,e)?r[e]:r[e]=[]).push(n)
}),r},a.initial=function(n,t,e){if(!n)return[];var r=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=a.createCallback(t,e);o--&&t(n[o],o,n);)r++}else r=null==t||e?1:t||r;return M(n,0,Zt(Yt(0,u-r),u))},a.intersection=function(n){var t=arguments,e=t.length,r={0:{}},u=-1,a=n?n.length:0,o=100<=a,i=[],f=i;n:for(;++u<a;){var c=n[u];if(o)var l=c+"",l=Mt.call(r[0],l)?!(f=r[0][l]):f=r[0][l]=[];if(l||0>vt(f,c)){o&&f.push(c);for(var p=e;--p;)if(!(r[p]||(r[p]=$(t[p],0,100)))(c))continue n;i.push(c)
}}return i},a.invert=J,a.invoke=function(n,t){var e=M(arguments,2),r=-1,u=typeof t=="function",a=n?n.length:0,o=wt(typeof a=="number"?a:0);return at(n,function(n){o[++r]=(u?t:n[t]).apply(n,e)}),o},a.keys=ye,a.map=ot,a.max=it,a.memoize=function(n,t){var e={};return function(){var r=(t?t.apply(this,arguments):arguments[0])+"";return Mt.call(e,r)?e[r]:e[r]=n.apply(this,arguments)}},a.merge=Z,a.min=function(n,t,e){var r=1/0,u=r;if(!t&&he(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i<u&&(u=i)}}else t=!t&&Y(n)?F:a.createCallback(t,e),se(n,function(n,e,a){e=t(n,e,a),e<r&&(r=e,u=n)
});return u},a.omit=function(n,t,e){var r=typeof t=="function",u={};if(r)t=a.createCallback(t,e);else var o=Dt.apply($t,arguments);return ve(n,function(n,e,a){(r?!t(n,e,a):0>vt(o,e,1))&&(u[e]=n)}),u},a.once=function(n){var t,e;return function(){return t?e:(t=!0,e=n.apply(this,arguments),n=null,e)}},a.pairs=function(n){for(var t=-1,e=ye(n),r=e.length,u=wt(r);++t<r;){var a=e[t];u[t]=[a,n[a]]}return u},a.partial=function(n){return B(n,M(arguments,1))},a.partialRight=function(n){return B(n,M(arguments,1),null,i)
},a.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=0,o=Dt.apply($t,arguments),i=W(n)?o.length:0;++u<i;){var f=o[u];f in n&&(r[f]=n[f])}else t=a.createCallback(t,e),ve(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},a.pluck=ot,a.range=function(n,t,e){n=+n||0,e=+e||1,null==t&&(t=n,n=0);var r=-1;t=Yt(0,Rt((t-n)/e));for(var u=wt(t);++r<t;)u[r]=n,n+=e;return u},a.reject=function(n,t,e){return t=a.createCallback(t,e),rt(n,function(n,e,r){return!t(n,e,r)})},a.rest=gt,a.shuffle=function(n){var t=-1,e=n?n.length:0,r=wt(typeof e=="number"?e:0);
return at(n,function(n){var e=zt(te()*(++t+1));r[t]=r[e],r[e]=n}),r},a.sortBy=function(n,t,e){var r=-1,u=n?n.length:0,o=wt(typeof u=="number"?u:0);for(t=a.createCallback(t,e),at(n,function(n,e,u){o[++r]={a:t(n,e,u),b:r,c:n}}),u=o.length,o.sort(q);u--;)o[u]=o[u].c;return o},a.tap=function(n,t){return t(n),n},a.throttle=function(n,t){function e(){i=new xt,o=null,u=n.apply(a,r)}var r,u,a,o,i=0;return function(){var f=new xt,c=t-(f-i);return r=arguments,a=this,0<c?o||(o=Vt(e,c)):(Tt(o),o=null,i=f,u=n.apply(a,r)),u
}},a.times=function(n,t,e){n=+n||0;for(var r=-1,u=wt(n);++r<n;)u[r]=t.call(e,r);return u},a.toArray=function(n){return n&&typeof n.length=="number"?M(n):nt(n)},a.union=function(){return yt(Dt.apply($t,arguments))},a.uniq=yt,a.values=nt,a.where=rt,a.without=function(n){for(var t=-1,e=n?n.length:0,r=$(arguments,1),u=[];++t<e;){var a=n[t];r(a)||u.push(a)}return u},a.wrap=function(n,t){return function(){var e=[n];return Kt.apply(e,arguments),t.apply(this,e)}},a.zip=function(n){for(var t=-1,e=n?it(ot(arguments,"length")):0,r=wt(e);++t<e;)r[t]=ot(arguments,t);
return r},a.zipObject=mt,a.collect=ot,a.drop=gt,a.each=at,a.extend=be,a.methods=H,a.object=mt,a.select=rt,a.tail=gt,a.unique=yt,kt(a),a.clone=G,a.cloneDeep=function(n,t,e){return G(n,!0,t,e)},a.contains=tt,a.escape=function(n){return null==n?"":(n+"").replace(m,z)},a.every=et,a.find=ut,a.has=function(n,t){return n?Mt.call(n,t):!1},a.identity=_t,a.indexOf=vt,a.isArguments=U,a.isArray=he,a.isBoolean=function(n){return!0===n||!1===n||Gt.call(n)==j},a.isDate=function(n){return n instanceof xt||Gt.call(n)==w
},a.isElement=function(n){return n?1===n.nodeType:!1},a.isEmpty=function(n){var t=!0;if(!n)return t;var e=Gt.call(n),r=n.length;return e==k||e==N||e==_||e==x&&typeof r=="number"&&Q(n.splice)?!r:(ge(n,function(){return t=!1}),t)},a.isEqual=L,a.isFinite=function(n){return Qt(n)&&!Wt(parseFloat(n))},a.isFunction=Q,a.isNaN=function(n){return X(n)&&n!=+n},a.isNull=function(n){return null===n},a.isNumber=X,a.isObject=W,a.isPlainObject=ke,a.isRegExp=function(n){return n instanceof Et||Gt.call(n)==O},a.isString=Y,a.isUndefined=function(n){return typeof n=="undefined"
},a.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Yt(0,r+e):Zt(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},a.mixin=kt,a.noConflict=function(){return r._=qt,this},a.parseInt=je,a.random=function(n,t){return null==n&&null==t&&(t=1),n=+n||0,null==t&&(t=n,n=0),n+zt(te()*((+t||0)-n+1))},a.reduce=ft,a.reduceRight=ct,a.result=function(n,t){var r=n?n[t]:e;return Q(r)?n[t]():r},a.runInContext=t,a.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:ye(n).length
},a.some=lt,a.sortedIndex=ht,a.template=function(n,t,r){var u=a.templateSettings;n||(n=""),r=_e({},r,u);var o,i=_e({},r.imports,u.imports),u=ye(i),i=nt(i),f=0,c=r.interpolate||y,v="__p+='",c=Et((r.escape||y).source+"|"+c.source+"|"+(c===h?g:y).source+"|"+(r.evaluate||y).source+"|$","g");n.replace(c,function(t,e,r,u,a,i){return r||(r=u),v+=n.slice(f,i).replace(d,D),e&&(v+="'+__e("+e+")+'"),a&&(o=!0,v+="';"+a+";__p+='"),r&&(v+="'+((__t=("+r+"))==null?'':__t)+'"),f=i+t.length,t}),v+="';\n",c=r=r.variable,c||(r="obj",v="with("+r+"){"+v+"}"),v=(o?v.replace(l,""):v).replace(p,"$1").replace(s,"$1;"),v="function("+r+"){"+(c?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+v+"return __p}";
try{var m=Ot(u,"return "+v).apply(e,i)}catch(b){throw b.source=v,b}return t?m(t):(m.source=v,m)},a.unescape=function(n){return null==n?"":(n+"").replace(c,K)},a.uniqueId=function(n){var t=++o;return(null==n?"":n+"")+t},a.all=et,a.any=lt,a.detect=ut,a.foldl=ft,a.foldr=ct,a.include=tt,a.inject=ft,ge(a,function(n,t){a.prototype[t]||(a.prototype[t]=function(){var t=[this.__wrapped__];return Kt.apply(t,arguments),n.apply(a,t)})}),a.first=pt,a.last=function(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;
for(t=a.createCallback(t,e);o--&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n[u-1];return M(n,Yt(0,u-r))}},a.take=pt,a.head=pt,ge(a,function(n,t){a.prototype[t]||(a.prototype[t]=function(t,e){var r=n(this.__wrapped__,t,e);return null==t||e&&typeof t!="function"?r:T(r)})}),a.VERSION="1.0.1",a.prototype.toString=function(){return this.__wrapped__+""},a.prototype.value=jt,a.prototype.valueOf=jt,se(["join","pop","shift"],function(n){var t=$t[n];a.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)
}}),se(["push","reverse","sort","unshift"],function(n){var t=$t[n];a.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),se(["concat","slice","splice"],function(n){var t=$t[n];a.prototype[n]=function(){return T(t.apply(this.__wrapped__,arguments))}}),a}var e,r=typeof exports=="object"&&exports,u=typeof module=="object"&&module&&module.exports==r&&module,a=typeof global=="object"&&global;a.global===a&&(n=a);var o=0,i={},f=30,c=/&(?:amp|lt|gt|quot|#39);/g,l=/\b__p\+='';/g,p=/\b(__p\+=)''\+/g,s=/(__e\(.*?\)|\b__t\))\+'';/g,v=/\w*$/,g=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,h=/<%=([\s\S]+?)%>/g,y=/($^)/,m=/[&<>"']/g,d=/['\n\r\t\u2028\u2029\\]/g,b="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),_="[object Arguments]",k="[object Array]",j="[object Boolean]",w="[object Date]",C="[object Number]",x="[object Object]",O="[object RegExp]",N="[object String]",S={"[object Function]":!1};
S[_]=S[k]=S[j]=S[w]=S[C]=S[x]=S[O]=S[N]=!0;var A={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},E={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},I=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=I,define(function(){return I})):r&&!r.nodeType?u?(u.exports=I)._=I:r._=I:n._=I})(this);

View File

@@ -345,64 +345,6 @@
return bound;
}
/**
* Produces a callback bound to an optional `thisArg`. If `func` is a property
* name, the created callback will return the property value for a given element.
* If `func` is an object, the created callback will return `true` for elements
* that contain the equivalent object properties, otherwise it will return `false`.
*
* @private
* @param {Mixed} [func=identity] The value to convert to a callback.
* @param {Mixed} [thisArg] The `this` binding of the created callback.
* @param {Number} [argCount=3] The number of arguments the callback accepts.
* @returns {Function} Returns a callback function.
*/
function createCallback(func, thisArg, argCount) {
if (func == null) {
return identity;
}
var type = typeof func;
if (type != 'function') {
if (type != 'object') {
return function(object) {
return object[func];
};
}
var props = keys(func);
return function(object) {
var length = props.length,
result = false;
while (length--) {
if (!(result = object[props[length]] === func[props[length]])) {
break;
}
}
return result;
};
}
if (typeof thisArg != 'undefined') {
if (argCount === 1) {
return function(value) {
return func.call(thisArg, value);
};
}
if (argCount === 2) {
return function(a, b) {
return func.call(thisArg, a, b);
};
}
if (argCount === 4) {
return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
}
return func;
}
/**
* Creates a new object that inherits from the given `prototype` object.
*
@@ -1061,8 +1003,8 @@
* @param {Mixed} b The other value to compare.
* @param {Function} [callback] The function to customize comparing values.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @param- {Object} [stackA=[]] Internally used track traversed `a` objects.
* @param- {Object} [stackB=[]] Internally used track traversed `b` objects.
* @param- {Array} [stackA=[]] Internally used track traversed `a` objects.
* @param- {Array} [stackB=[]] Internally used track traversed `b` objects.
* @returns {Boolean} Returns `true`, if the values are equivalent, else `false`.
* @example
*
@@ -3421,6 +3363,66 @@
};
}
/**
* Produces a callback bound to an optional `thisArg`. If `func` is a property
* name, the created callback will return the property value for a given element.
* If `func` is an object, the created callback will return `true` for elements
* that contain the equivalent object properties, otherwise it will return `false`.
*
* @static
* @memberOf _
* @category Functions
* @param {Mixed} [func=identity] The value to convert to a callback.
* @param {Mixed} [thisArg] The `this` binding of the created callback.
* @param {Number} [argCount=3] The number of arguments the callback accepts.
* @returns {Function} Returns a callback function.
*/
function createCallback(func, thisArg, argCount) {
if (func == null) {
return identity;
}
var type = typeof func;
if (type != 'function') {
if (type != 'object') {
return function(object) {
return object[func];
};
}
var props = keys(func);
return function(object) {
var length = props.length,
result = false;
while (length--) {
if (!(result = object[props[length]] === func[props[length]])) {
break;
}
}
return result;
};
}
if (typeof thisArg != 'undefined') {
if (argCount === 1) {
return function(value) {
return func.call(thisArg, value);
};
}
if (argCount === 2) {
return function(a, b) {
return func.call(thisArg, a, b);
};
}
if (argCount === 4) {
return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
}
return func;
}
/**
* Creates a function that will delay the execution of `func` until after
* `wait` milliseconds have elapsed since the last time it was invoked. Pass

View File

@@ -4,31 +4,31 @@
* Build: `lodash underscore -o ./dist/lodash.underscore.js`
* Underscore.js 1.4.4 underscorejs.org/LICENSE
*/
;(function(n){function r(n,r){var t;if(n&&pr[typeof n])for(t in r||(r=V),n)if(r(n[t],t,n)===Y)break}function t(n,r,t){if(n){r=r&&typeof t=="undefined"?r:i(r,t);var e=n.length;if(t=-1,typeof e=="number")for(;++t<e&&r(n[t],t,n)!==Y;);else for(t in n)if(br.call(n,t)&&r(n[t],t,n)===Y)break}}function e(n){return n instanceof e?n:this instanceof e?(this.__wrapped__=n,void 0):new e(n)}function u(n,r){var t=n.b,e=r.b;if(n=n.a,r=r.a,n!==r){if(n>r||typeof n=="undefined")return 1;if(n<r||typeof r=="undefined")return-1
}return t<e?-1:1}function o(n,r,t){function e(){var a=arguments,f=o?this:r;return u||(n=r[i]),t.length&&(a=a.length?(a=l(a),t.concat(a)):t),this instanceof e?(f=$r(n.prototype),a=n.apply(f,a),j(a)?a:f):n.apply(f,a)}var u=b(n),o=!t,i=r;return o&&(t=r),u||(r=n),e}function i(n,r,t){if(n==H)return V;var e=typeof n;if("function"!=e){if("object"!=e)return function(r){return r[n]};var u=Tr(n);return function(r){for(var t=u.length,e=J;t--&&(e=r[u[t]]===n[u[t]]););return e}}return typeof r!="undefined"?1===t?function(t){return n.call(r,t)
}:2===t?function(t,e){return n.call(r,t,e)}:4===t?function(t,e,u,o){return n.call(r,t,e,u,o)}:function(t,e,u){return n.call(r,t,e,u)}:n}function a(n){return"\\"+sr[n]}function f(n){return zr[n]}function c(){}function l(n,r,t){r||(r=0),typeof t=="undefined"&&(t=n?n.length:0);var e=-1;t=t-r||0;for(var u=Array(0>t?0:t);++e<t;)u[e]=n[r+e];return u}function p(n){return Cr[n]}function s(n){return Ar.call(n)==er}function v(n){var r,t=[],e=function(n,r){t.push(r)};if(n&&pr[typeof n])for(r in e||(e=V),n)if(br.call(n,r)&&e(n[r],r,n)===Y)break;
return t}function h(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]=e[u]}return n}function g(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]==H&&(n[u]=e[u])}return n}function y(n){var t=[];return r(n,function(n,r){b(n)&&t.push(r)}),t.sort()}function m(n){for(var r=-1,t=Tr(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u}function _(n){if(!n)return G;if(Ir(n)||A(n))return!n.length;for(var r in n)if(br.call(n,r))return J;
return G}function d(n,t,u,o){if(n===t)return 0!==n||1/n==1/t;var i=typeof n,a=typeof t;if(n===n&&(!n||"function"!=i&&"object"!=i)&&(!t||"function"!=a&&"object"!=a))return J;if(n==H||t==H)return n===t;if(a=Ar.call(n),i=Ar.call(t),a!=i)return J;switch(a){case or:case ir:return+n==+t;case ar:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case cr:case lr:return n==t+""}if(i=a==ur,!i){if(n instanceof e||t instanceof e)return d(n.__wrapped__||n,t.__wrapped__||t,u,o);if(a!=fr)return J;var a=n.constructor,f=t.constructor;
if(a!=f&&(!b(a)||!(a instanceof a&&b(f)&&f instanceof f)))return J}for(u||(u=[]),o||(o=[]),a=u.length;a--;)if(u[a]==n)return o[a]==t;var c=G,l=0;if(u.push(n),o.push(t),i){if(l=t.length,c=l==n.length)for(;l--&&(c=d(n[l],t[l],u,o)););return c}return r(t,function(r,t,e){return br.call(e,t)?(l++,!(c=br.call(n,t)&&d(n[t],r,u,o))&&Y):void 0}),c&&r(n,function(n,r,t){return br.call(t,r)?!(c=-1<--l)&&Y:void 0}),c}function b(n){return typeof n=="function"}function j(n){return n?pr[typeof n]:J}function w(n){return typeof n=="number"||Ar.call(n)==ar
}function A(n){return typeof n=="string"||Ar.call(n)==lr}function x(n){for(var r=-1,t=Tr(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function E(n,r){var e=J;return typeof(n?n.length:0)=="number"?e=-1<T(n,r):t(n,function(n){return(e=n===r)&&Y}),e}function O(n,r,e){var u=G;if(r=i(r,e),Ir(n)){e=-1;for(var o=n.length;++e<o&&(u=!!r(n[e],e,n)););}else t(n,function(n,t,e){return!(u=!!r(n,t,e))&&Y});return u}function S(n,r,e){var u=[];if(r=i(r,e),Ir(n)){e=-1;for(var o=n.length;++e<o;){var a=n[e];
r(a,e,n)&&u.push(a)}}else t(n,function(n,t,e){r(n,t,e)&&u.push(n)});return u}function N(n,r,t){var e;return r=i(r,t),k(n,function(n,t,u){return r(n,t,u)?(e=n,Y):void 0}),e}function k(n,r,e){if(r&&typeof e=="undefined"&&Ir(n)){e=-1;for(var u=n.length;++e<u&&r(n[e],e,n)!==Y;);}else t(n,r,e)}function F(n,r,e){var u=-1,o=n?n.length:0,a=Array(typeof o=="number"?o:0);if(r=i(r,e),Ir(n))for(;++u<o;)a[u]=r(n[u],u,n);else t(n,function(n,t,e){a[++u]=r(n,t,e)});return a}function R(n,r,e){var u=-1/0,o=u;if(!r&&Ir(n)){e=-1;
for(var a=n.length;++e<a;){var f=n[e];f>o&&(o=f)}}else r=i(r,e),t(n,function(n,t,e){t=r(n,t,e),t>u&&(u=t,o=n)});return o}function q(n,r,e,u){var o=3>arguments.length;if(r=i(r,u,4),Ir(n)){var a=-1,f=n.length;for(o&&(e=n[++a]);++a<f;)e=r(e,n[a],a,n)}else t(n,function(n,t,u){e=o?(o=J,n):r(e,n,t,u)});return e}function B(n,r,t,e){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var a=Tr(n),u=a.length;return r=i(r,e,4),k(n,function(e,i,f){i=a?a[--u]:--u,t=o?(o=J,n[i]):r(t,n[i],i,f)}),t}function D(n,r,e){var u;
if(r=i(r,e),Ir(n)){e=-1;for(var o=n.length;++e<o&&!(u=r(n[e],e,n)););}else t(n,function(n,t,e){return(u=r(n,t,e))&&Y});return!!u}function M(n,r,t){return t&&_(r)?H:(t?N:S)(n,r)}function $(n,r,t){if(n){var e=0,u=n.length;if(typeof r!="number"&&r!=H){var o=-1;for(r=i(r,t);++o<u&&r(n[o],o,n);)e++}else if(e=r,e==H||t)return n[0];return l(n,0,Rr(Fr(0,e),u))}}function I(n,r){for(var t=-1,e=n?n.length:0,u=[];++t<e;){var o=n[t];Ir(o)?jr.apply(u,r?o:I(o)):u.push(o)}return u}function T(n,r,t){var e=-1,u=n?n.length:0;
if(typeof t=="number")e=(0>t?Fr(0,u+t):t||0)-1;else if(t)return e=C(n,r),n[e]===r?e:-1;for(;++e<u;)if(n[e]===r)return e;return-1}function z(n,r,t){if(typeof r!="number"&&r!=H){var e=0,u=-1,o=n?n.length:0;for(r=i(r,t);++u<o&&r(n[u],u,n);)e++}else e=r==H||t?1:Fr(0,r);return l(n,e)}function C(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?i(t,e,1):V,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function P(n,r,t,e){var u=-1,o=n?n.length:0,a=[],f=a;for(typeof r!="boolean"&&r!=H&&(e=t,t=r,r=J),t!=H&&(f=[],t=i(t,e));++u<o;){e=n[u];
var c=t?t(e,u,n):e;(r?!u||f[f.length-1]!==c:0>T(f,c))&&(t&&f.push(c),a.push(e))}return a}function U(n,r){return Br||xr&&2<arguments.length?xr.call.apply(xr,arguments):o(n,r,l(arguments,2))}function V(n){return n}function W(n){k(y(n),function(r){var t=e[r]=n[r];e.prototype[r]=function(){var n=[this.__wrapped__];if(jr.apply(n,arguments),n=t.apply(e,n),this.__chain__){var r=$r(e.prototype);r.__wrapped__=n,n=r,n.__chain__=G}return n}})}var G=!0,H=null,J=!1,K=typeof exports=="object"&&exports,L=typeof module=="object"&&module&&module.exports==K&&module,Q=typeof global=="object"&&global;
Q.global===Q&&(n=Q);var X=0,Y={},Z=/&(?:amp|lt|gt|quot|#39);/g,nr=/($^)/,rr=/[&<>"']/g,tr=/['\n\r\t\u2028\u2029\\]/g,er="[object Arguments]",ur="[object Array]",or="[object Boolean]",ir="[object Date]",ar="[object Number]",fr="[object Object]",cr="[object RegExp]",lr="[object String]",pr={"boolean":J,"function":G,object:G,number:J,string:J,undefined:J},sr={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},vr=[],Q={},hr=n._,gr=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),yr=Math.ceil,mr=n.clearTimeout,_r=vr.concat,dr=Math.floor,br=Q.hasOwnProperty,jr=vr.push,wr=n.setTimeout,Ar=Q.toString,xr=gr.test(xr=l.bind)&&xr,Er=gr.test(Er=Object.create)&&Er,Or=gr.test(Or=Array.isArray)&&Or,Sr=n.isFinite,Nr=n.isNaN,kr=gr.test(kr=Object.keys)&&kr,Fr=Math.max,Rr=Math.min,qr=Math.random,Q=gr.test(n.attachEvent),Q=xr&&!/\n|true/.test(xr+Q),Br=xr&&!Q,Dr=(Dr={0:1,length:1},vr.splice.call(Dr,0,1),Dr[0]),Mr=arguments.constructor==Object;
e.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var $r=Er||function(n){return c.prototype=n,n=new c,c.prototype=H,n};s(arguments)||(s=function(n){return n?br.call(n,"callee"):J});var Ir=Or||function(n){return Mr&&n instanceof Array||Ar.call(n)==ur},Tr=kr?function(n){return j(n)?kr(n):[]}:v,zr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Cr=m(zr);b(/x/)&&(b=function(n){return n instanceof Function||"[object Function]"==Ar.call(n)
});var Pr=F;e.after=function(n,r){return 1>n?r():function(){return 1>--n?r.apply(this,arguments):void 0}},e.bind=U,e.bindAll=function(n){for(var r=_r.apply(vr,arguments),t=1<r.length?0:(r=y(n),-1),e=r.length;++t<e;){var u=r[t];n[u]=U(n[u],n)}return n},e.compact=function(n){for(var r=-1,t=n?n.length:0,e=[];++r<t;){var u=n[r];u&&e.push(u)}return e},e.compose=function(){var n=arguments;return function(){for(var r=arguments,t=n.length;t--;)r=[n[t].apply(this,r)];return r[0]}},e.countBy=function(n,r,t){var e={};
return r=i(r,t),k(n,function(n,t,u){t=r(n,t,u)+"",br.call(e,t)?e[t]++:e[t]=1}),e},e.debounce=function(n,r,t){function e(){a=H,t||(o=n.apply(i,u))}var u,o,i,a;return function(){var f=t&&!a;return u=arguments,i=this,mr(a),a=wr(e,r),f&&(o=n.apply(i,u)),o}},e.defaults=g,e.defer=function(n){var r=l(arguments,1);return wr(function(){n.apply(void 0,r)},1)},e.delay=function(n,r){var t=l(arguments,2);return wr(function(){n.apply(void 0,t)},r)},e.difference=function(n){for(var r=-1,t=n.length,e=_r.apply(vr,arguments),u=[];++r<t;){var o=n[r];
0>T(e,o,t)&&u.push(o)}return u},e.filter=S,e.flatten=I,e.forEach=k,e.functions=y,e.groupBy=function(n,r,t){var e={};return r=i(r,t),k(n,function(n,t,u){t=r(n,t,u)+"",(br.call(e,t)?e[t]:e[t]=[]).push(n)}),e},e.initial=function(n,r,t){if(!n)return[];var e=0,u=n.length;if(typeof r!="number"&&r!=H){var o=u;for(r=i(r,t);o--&&r(n[o],o,n);)e++}else e=r==H||t?1:r||e;return l(n,0,Rr(Fr(0,u-e),u))},e.intersection=function(n){var r=arguments,t=r.length,e=-1,u=n?n.length:0,o=[];n:for(;++e<u;){var i=n[e];if(0>T(o,i)){for(var a=t;--a;)if(0>T(r[a],i))continue n;
o.push(i)}}return o},e.invert=m,e.invoke=function(n,r){var t=l(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);return k(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},e.keys=Tr,e.map=F,e.max=R,e.memoize=function(n,r){var t={};return function(){var e=(r?r.apply(this,arguments):arguments[0])+"";return br.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},e.min=function(n,r,e){var u=1/0,o=u;if(!r&&Ir(n)){e=-1;for(var a=n.length;++e<a;){var f=n[e];f<o&&(o=f)}}else r=i(r,e),t(n,function(n,t,e){t=r(n,t,e),t<u&&(u=t,o=n)
});return o},e.omit=function(n){var t=_r.apply(vr,arguments),e={};return r(n,function(n,r){0>T(t,r,1)&&(e[r]=n)}),e},e.once=function(n){var r,t;return function(){return r?t:(r=G,t=n.apply(this,arguments),n=H,t)}},e.pairs=function(n){for(var r=-1,t=Tr(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},e.partial=function(n){return o(n,l(arguments,1))},e.pick=function(n){for(var r=0,t=_r.apply(vr,arguments),e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u},e.pluck=Pr,e.range=function(n,r,t){n=+n||0,t=+t||1,r==H&&(r=n,n=0);
var e=-1;r=Fr(0,yr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},e.reject=function(n,r,t){return r=i(r,t),S(n,function(n,t,e){return!r(n,t,e)})},e.rest=z,e.shuffle=function(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return k(n,function(n){var t=dr(qr()*(++r+1));e[r]=e[t],e[t]=n}),e},e.sortBy=function(n,r,t){var e=-1,o=n?n.length:0,a=Array(typeof o=="number"?o:0);for(r=i(r,t),k(n,function(n,t,u){a[++e]={a:r(n,t,u),b:e,c:n}}),o=a.length,a.sort(u);o--;)a[o]=a[o].c;return a
},e.tap=function(n,r){return r(n),n},e.throttle=function(n,r){function t(){a=new Date,i=H,u=n.apply(o,e)}var e,u,o,i,a=0;return function(){var f=new Date,c=r-(f-a);return e=arguments,o=this,0<c?i||(i=wr(t,c)):(mr(i),i=H,a=f,u=n.apply(o,e)),u}},e.times=function(n,r,t){n=+n||0;for(var e=-1,u=Array(n);++e<n;)u[e]=r.call(t,e);return u},e.toArray=function(n){return n&&typeof n.length=="number"?l(n):x(n)},e.union=function(){return P(_r.apply(vr,arguments))},e.uniq=P,e.values=x,e.where=M,e.without=function(n){for(var r=-1,t=n.length,e=[];++r<t;){var u=n[r];
0>T(arguments,u,1)&&e.push(u)}return e},e.wrap=function(n,r){return function(){var t=[n];return jr.apply(t,arguments),r.apply(this,t)}},e.zip=function(n){for(var r=-1,t=n?R(Pr(arguments,"length")):0,e=Array(t);++r<t;)e[r]=Pr(arguments,r);return e},e.collect=F,e.drop=z,e.each=k,e.extend=h,e.methods=y,e.object=function(n,r){for(var t=-1,e=n?n.length:0,u={};++t<e;){var o=n[t];r?u[o]=r[t]:u[o[0]]=o[1]}return u},e.select=S,e.tail=z,e.unique=P,e.clone=function(n){return j(n)?Ir(n)?l(n):h({},n):n},e.contains=E,e.escape=function(n){return n==H?"":(n+"").replace(rr,f)
},e.every=O,e.find=N,e.findWhere=function(n,r){return M(n,r,G)},e.has=function(n,r){return n?br.call(n,r):J},e.identity=V,e.indexOf=T,e.isArguments=s,e.isArray=Ir,e.isBoolean=function(n){return n===G||n===J||Ar.call(n)==or},e.isDate=function(n){return n instanceof Date||Ar.call(n)==ir},e.isElement=function(n){return n?1===n.nodeType:J},e.isEmpty=_,e.isEqual=d,e.isFinite=function(n){return Sr(n)&&!Nr(parseFloat(n))},e.isFunction=b,e.isNaN=function(n){return w(n)&&n!=+n},e.isNull=function(n){return n===H
},e.isNumber=w,e.isObject=j,e.isRegExp=function(n){return n instanceof RegExp||Ar.call(n)==cr},e.isString=A,e.isUndefined=function(n){return typeof n=="undefined"},e.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Fr(0,e+t):Rr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},e.mixin=W,e.noConflict=function(){return n._=hr,this},e.random=function(n,r){return n==H&&r==H&&(r=1),n=+n||0,r==H&&(r=n,n=0),n+dr(qr()*((+r||0)-n+1))},e.reduce=q,e.reduceRight=B,e.result=function(n,r){var t=n?n[r]:H;
return b(t)?n[r]():t},e.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Tr(n).length},e.some=D,e.sortedIndex=C,e.template=function(n,r,t){n||(n=""),t=g({},t,e.templateSettings);var u=0,o="__p+='",i=t.variable;n.replace(RegExp((t.escape||nr).source+"|"+(t.interpolate||nr).source+"|"+(t.evaluate||nr).source+"|$","g"),function(r,t,e,i,f){return o+=n.slice(u,f).replace(tr,a),t&&(o+="'+_['escape']("+t+")+'"),i&&(o+="';"+i+";__p+='"),e&&(o+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+r.length,r
}),o+="';\n",i||(i="obj",o="with("+i+"||{}){"+o+"}"),o="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}";try{var f=Function("_","return "+o)(e)}catch(c){throw c.source=o,c}return r?f(r):(f.source=o,f)},e.unescape=function(n){return n==H?"":(n+"").replace(Z,p)},e.uniqueId=function(n){var r=++X+"";return n?n+r:r},e.all=O,e.any=D,e.detect=N,e.foldl=q,e.foldr=B,e.include=E,e.inject=q,e.first=$,e.last=function(n,r,t){if(n){var e=0,u=n.length;
if(typeof r!="number"&&r!=H){var o=u;for(r=i(r,t);o--&&r(n[o],o,n);)e++}else if(e=r,e==H||t)return n[u-1];return l(n,Fr(0,u-e))}},e.take=$,e.head=$,e.chain=function(n){return n=new e(n),n.__chain__=G,n},e.VERSION="1.0.1",W(e),e.prototype.chain=function(){return this.__chain__=G,this},e.prototype.value=function(){return this.__wrapped__},t("pop push reverse shift sort splice unshift".split(" "),function(n){var r=vr[n];e.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Dr&&0===n.length&&delete n[0],this
;(function(n){function r(n,r){var t;if(n&&pr[typeof n])for(t in r||(r=V),n)if(r(n[t],t,n)===Y)break}function t(n,r,t){if(n){r=r&&typeof t=="undefined"?r:U(r,t);var e=n.length;if(t=-1,typeof e=="number")for(;++t<e&&r(n[t],t,n)!==Y;);else for(t in n)if(br.call(n,t)&&r(n[t],t,n)===Y)break}}function e(n){return n instanceof e?n:this instanceof e?(this.__wrapped__=n,void 0):new e(n)}function u(n,r){var t=n.b,e=r.b;if(n=n.a,r=r.a,n!==r){if(n>r||typeof n=="undefined")return 1;if(n<r||typeof r=="undefined")return-1
}return t<e?-1:1}function o(n,r,t){function e(){var a=arguments,f=o?this:r;return u||(n=r[i]),t.length&&(a=a.length?(a=c(a),t.concat(a)):t),this instanceof e?(f=$r(n.prototype),a=n.apply(f,a),b(a)?a:f):n.apply(f,a)}var u=d(n),o=!t,i=r;return o&&(t=r),u||(r=n),e}function i(n){return"\\"+sr[n]}function a(n){return zr[n]}function f(){}function c(n,r,t){r||(r=0),typeof t=="undefined"&&(t=n?n.length:0);var e=-1;t=t-r||0;for(var u=Array(0>t?0:t);++e<t;)u[e]=n[r+e];return u}function l(n){return Cr[n]}function p(n){return Ar.call(n)==er
}function s(n){var r,t=[],e=function(n,r){t.push(r)};if(n&&pr[typeof n])for(r in e||(e=V),n)if(br.call(n,r)&&e(n[r],r,n)===Y)break;return t}function v(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]=e[u]}return n}function h(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]==H&&(n[u]=e[u])}return n}function g(n){var t=[];return r(n,function(n,r){d(n)&&t.push(r)}),t.sort()}function y(n){for(var r=-1,t=Tr(n),e=t.length,u={};++r<e;){var o=t[r];
u[n[o]]=o}return u}function m(n){if(!n)return G;if(Ir(n)||w(n))return!n.length;for(var r in n)if(br.call(n,r))return J;return G}function _(n,t,u,o){if(n===t)return 0!==n||1/n==1/t;var i=typeof n,a=typeof t;if(n===n&&(!n||"function"!=i&&"object"!=i)&&(!t||"function"!=a&&"object"!=a))return J;if(n==H||t==H)return n===t;if(a=Ar.call(n),i=Ar.call(t),a!=i)return J;switch(a){case or:case ir:return+n==+t;case ar:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case cr:case lr:return n==t+""}if(i=a==ur,!i){if(n instanceof e||t instanceof e)return _(n.__wrapped__||n,t.__wrapped__||t,u,o);
if(a!=fr)return J;var a=n.constructor,f=t.constructor;if(a!=f&&(!d(a)||!(a instanceof a&&d(f)&&f instanceof f)))return J}for(u||(u=[]),o||(o=[]),a=u.length;a--;)if(u[a]==n)return o[a]==t;var c=G,l=0;if(u.push(n),o.push(t),i){if(l=t.length,c=l==n.length)for(;l--&&(c=_(n[l],t[l],u,o)););return c}return r(t,function(r,t,e){return br.call(e,t)?(l++,!(c=br.call(n,t)&&_(n[t],r,u,o))&&Y):void 0}),c&&r(n,function(n,r,t){return br.call(t,r)?!(c=-1<--l)&&Y:void 0}),c}function d(n){return typeof n=="function"
}function b(n){return n?pr[typeof n]:J}function j(n){return typeof n=="number"||Ar.call(n)==ar}function w(n){return typeof n=="string"||Ar.call(n)==lr}function A(n){for(var r=-1,t=Tr(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function x(n,r){var e=J;return typeof(n?n.length:0)=="number"?e=-1<I(n,r):t(n,function(n){return(e=n===r)&&Y}),e}function E(n,r,e){var u=G;if(r=U(r,e),Ir(n)){e=-1;for(var o=n.length;++e<o&&(u=!!r(n[e],e,n)););}else t(n,function(n,t,e){return!(u=!!r(n,t,e))&&Y});return u
}function O(n,r,e){var u=[];if(r=U(r,e),Ir(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];r(i,e,n)&&u.push(i)}}else t(n,function(n,t,e){r(n,t,e)&&u.push(n)});return u}function S(n,r,t){var e;return r=U(r,t),N(n,function(n,t,u){return r(n,t,u)?(e=n,Y):void 0}),e}function N(n,r,e){if(r&&typeof e=="undefined"&&Ir(n)){e=-1;for(var u=n.length;++e<u&&r(n[e],e,n)!==Y;);}else t(n,r,e)}function k(n,r,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);if(r=U(r,e),Ir(n))for(;++u<o;)i[u]=r(n[u],u,n);
else t(n,function(n,t,e){i[++u]=r(n,t,e)});return i}function F(n,r,e){var u=-1/0,o=u;if(!r&&Ir(n)){e=-1;for(var i=n.length;++e<i;){var a=n[e];a>o&&(o=a)}}else r=U(r,e),t(n,function(n,t,e){t=r(n,t,e),t>u&&(u=t,o=n)});return o}function R(n,r,e,u){var o=3>arguments.length;if(r=U(r,u,4),Ir(n)){var i=-1,a=n.length;for(o&&(e=n[++i]);++i<a;)e=r(e,n[i],i,n)}else t(n,function(n,t,u){e=o?(o=J,n):r(e,n,t,u)});return e}function q(n,r,t,e){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var i=Tr(n),u=i.length;
return r=U(r,e,4),N(n,function(e,a,f){a=i?i[--u]:--u,t=o?(o=J,n[a]):r(t,n[a],a,f)}),t}function B(n,r,e){var u;if(r=U(r,e),Ir(n)){e=-1;for(var o=n.length;++e<o&&!(u=r(n[e],e,n)););}else t(n,function(n,t,e){return(u=r(n,t,e))&&Y});return!!u}function D(n,r,t){return t&&m(r)?H:(t?S:O)(n,r)}function M(n,r,t){if(n){var e=0,u=n.length;if(typeof r!="number"&&r!=H){var o=-1;for(r=U(r,t);++o<u&&r(n[o],o,n);)e++}else if(e=r,e==H||t)return n[0];return c(n,0,Rr(Fr(0,e),u))}}function $(n,r){for(var t=-1,e=n?n.length:0,u=[];++t<e;){var o=n[t];
Ir(o)?jr.apply(u,r?o:$(o)):u.push(o)}return u}function I(n,r,t){var e=-1,u=n?n.length:0;if(typeof t=="number")e=(0>t?Fr(0,u+t):t||0)-1;else if(t)return e=z(n,r),n[e]===r?e:-1;for(;++e<u;)if(n[e]===r)return e;return-1}function T(n,r,t){if(typeof r!="number"&&r!=H){var e=0,u=-1,o=n?n.length:0;for(r=U(r,t);++u<o&&r(n[u],u,n);)e++}else e=r==H||t?1:Fr(0,r);return c(n,e)}function z(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?U(t,e,1):V,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function C(n,r,t,e){var u=-1,o=n?n.length:0,i=[],a=i;
for(typeof r!="boolean"&&r!=H&&(e=t,t=r,r=J),t!=H&&(a=[],t=U(t,e));++u<o;){e=n[u];var f=t?t(e,u,n):e;(r?!u||a[a.length-1]!==f:0>I(a,f))&&(t&&a.push(f),i.push(e))}return i}function P(n,r){return Br||xr&&2<arguments.length?xr.call.apply(xr,arguments):o(n,r,c(arguments,2))}function U(n,r,t){if(n==H)return V;var e=typeof n;if("function"!=e){if("object"!=e)return function(r){return r[n]};var u=Tr(n);return function(r){for(var t=u.length,e=J;t--&&(e=r[u[t]]===n[u[t]]););return e}}return typeof r!="undefined"?1===t?function(t){return n.call(r,t)
}:2===t?function(t,e){return n.call(r,t,e)}:4===t?function(t,e,u,o){return n.call(r,t,e,u,o)}:function(t,e,u){return n.call(r,t,e,u)}:n}function V(n){return n}function W(n){N(g(n),function(r){var t=e[r]=n[r];e.prototype[r]=function(){var n=[this.__wrapped__];if(jr.apply(n,arguments),n=t.apply(e,n),this.__chain__){var r=$r(e.prototype);r.__wrapped__=n,n=r,n.__chain__=G}return n}})}var G=!0,H=null,J=!1,K=typeof exports=="object"&&exports,L=typeof module=="object"&&module&&module.exports==K&&module,Q=typeof global=="object"&&global;
Q.global===Q&&(n=Q);var X=0,Y={},Z=/&(?:amp|lt|gt|quot|#39);/g,nr=/($^)/,rr=/[&<>"']/g,tr=/['\n\r\t\u2028\u2029\\]/g,er="[object Arguments]",ur="[object Array]",or="[object Boolean]",ir="[object Date]",ar="[object Number]",fr="[object Object]",cr="[object RegExp]",lr="[object String]",pr={"boolean":J,"function":G,object:G,number:J,string:J,undefined:J},sr={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},vr=[],Q={},hr=n._,gr=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),yr=Math.ceil,mr=n.clearTimeout,_r=vr.concat,dr=Math.floor,br=Q.hasOwnProperty,jr=vr.push,wr=n.setTimeout,Ar=Q.toString,xr=gr.test(xr=c.bind)&&xr,Er=gr.test(Er=Object.create)&&Er,Or=gr.test(Or=Array.isArray)&&Or,Sr=n.isFinite,Nr=n.isNaN,kr=gr.test(kr=Object.keys)&&kr,Fr=Math.max,Rr=Math.min,qr=Math.random,Q=gr.test(n.attachEvent),Q=xr&&!/\n|true/.test(xr+Q),Br=xr&&!Q,Dr=(Dr={0:1,length:1},vr.splice.call(Dr,0,1),Dr[0]),Mr=arguments.constructor==Object;
e.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var $r=Er||function(n){return f.prototype=n,n=new f,f.prototype=H,n};p(arguments)||(p=function(n){return n?br.call(n,"callee"):J});var Ir=Or||function(n){return Mr&&n instanceof Array||Ar.call(n)==ur},Tr=kr?function(n){return b(n)?kr(n):[]}:s,zr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Cr=y(zr);d(/x/)&&(d=function(n){return n instanceof Function||"[object Function]"==Ar.call(n)
});var Pr=k;e.after=function(n,r){return 1>n?r():function(){return 1>--n?r.apply(this,arguments):void 0}},e.bind=P,e.bindAll=function(n){for(var r=_r.apply(vr,arguments),t=1<r.length?0:(r=g(n),-1),e=r.length;++t<e;){var u=r[t];n[u]=P(n[u],n)}return n},e.compact=function(n){for(var r=-1,t=n?n.length:0,e=[];++r<t;){var u=n[r];u&&e.push(u)}return e},e.compose=function(){var n=arguments;return function(){for(var r=arguments,t=n.length;t--;)r=[n[t].apply(this,r)];return r[0]}},e.countBy=function(n,r,t){var e={};
return r=U(r,t),N(n,function(n,t,u){t=r(n,t,u)+"",br.call(e,t)?e[t]++:e[t]=1}),e},e.debounce=function(n,r,t){function e(){a=H,t||(o=n.apply(i,u))}var u,o,i,a;return function(){var f=t&&!a;return u=arguments,i=this,mr(a),a=wr(e,r),f&&(o=n.apply(i,u)),o}},e.defaults=h,e.defer=function(n){var r=c(arguments,1);return wr(function(){n.apply(void 0,r)},1)},e.delay=function(n,r){var t=c(arguments,2);return wr(function(){n.apply(void 0,t)},r)},e.difference=function(n){for(var r=-1,t=n.length,e=_r.apply(vr,arguments),u=[];++r<t;){var o=n[r];
0>I(e,o,t)&&u.push(o)}return u},e.filter=O,e.flatten=$,e.forEach=N,e.functions=g,e.groupBy=function(n,r,t){var e={};return r=U(r,t),N(n,function(n,t,u){t=r(n,t,u)+"",(br.call(e,t)?e[t]:e[t]=[]).push(n)}),e},e.initial=function(n,r,t){if(!n)return[];var e=0,u=n.length;if(typeof r!="number"&&r!=H){var o=u;for(r=U(r,t);o--&&r(n[o],o,n);)e++}else e=r==H||t?1:r||e;return c(n,0,Rr(Fr(0,u-e),u))},e.intersection=function(n){var r=arguments,t=r.length,e=-1,u=n?n.length:0,o=[];n:for(;++e<u;){var i=n[e];if(0>I(o,i)){for(var a=t;--a;)if(0>I(r[a],i))continue n;
o.push(i)}}return o},e.invert=y,e.invoke=function(n,r){var t=c(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);return N(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},e.keys=Tr,e.map=k,e.max=F,e.memoize=function(n,r){var t={};return function(){var e=(r?r.apply(this,arguments):arguments[0])+"";return br.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},e.min=function(n,r,e){var u=1/0,o=u;if(!r&&Ir(n)){e=-1;for(var i=n.length;++e<i;){var a=n[e];a<o&&(o=a)}}else r=U(r,e),t(n,function(n,t,e){t=r(n,t,e),t<u&&(u=t,o=n)
});return o},e.omit=function(n){var t=_r.apply(vr,arguments),e={};return r(n,function(n,r){0>I(t,r,1)&&(e[r]=n)}),e},e.once=function(n){var r,t;return function(){return r?t:(r=G,t=n.apply(this,arguments),n=H,t)}},e.pairs=function(n){for(var r=-1,t=Tr(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},e.partial=function(n){return o(n,c(arguments,1))},e.pick=function(n){for(var r=0,t=_r.apply(vr,arguments),e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u},e.pluck=Pr,e.range=function(n,r,t){n=+n||0,t=+t||1,r==H&&(r=n,n=0);
var e=-1;r=Fr(0,yr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},e.reject=function(n,r,t){return r=U(r,t),O(n,function(n,t,e){return!r(n,t,e)})},e.rest=T,e.shuffle=function(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return N(n,function(n){var t=dr(qr()*(++r+1));e[r]=e[t],e[t]=n}),e},e.sortBy=function(n,r,t){var e=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(r=U(r,t),N(n,function(n,t,u){i[++e]={a:r(n,t,u),b:e,c:n}}),o=i.length,i.sort(u);o--;)i[o]=i[o].c;return i
},e.tap=function(n,r){return r(n),n},e.throttle=function(n,r){function t(){a=new Date,i=H,u=n.apply(o,e)}var e,u,o,i,a=0;return function(){var f=new Date,c=r-(f-a);return e=arguments,o=this,0<c?i||(i=wr(t,c)):(mr(i),i=H,a=f,u=n.apply(o,e)),u}},e.times=function(n,r,t){n=+n||0;for(var e=-1,u=Array(n);++e<n;)u[e]=r.call(t,e);return u},e.toArray=function(n){return n&&typeof n.length=="number"?c(n):A(n)},e.union=function(){return C(_r.apply(vr,arguments))},e.uniq=C,e.values=A,e.where=D,e.without=function(n){for(var r=-1,t=n.length,e=[];++r<t;){var u=n[r];
0>I(arguments,u,1)&&e.push(u)}return e},e.wrap=function(n,r){return function(){var t=[n];return jr.apply(t,arguments),r.apply(this,t)}},e.zip=function(n){for(var r=-1,t=n?F(Pr(arguments,"length")):0,e=Array(t);++r<t;)e[r]=Pr(arguments,r);return e},e.collect=k,e.drop=T,e.each=N,e.extend=v,e.methods=g,e.object=function(n,r){for(var t=-1,e=n?n.length:0,u={};++t<e;){var o=n[t];r?u[o]=r[t]:u[o[0]]=o[1]}return u},e.select=O,e.tail=T,e.unique=C,e.clone=function(n){return b(n)?Ir(n)?c(n):v({},n):n},e.contains=x,e.escape=function(n){return n==H?"":(n+"").replace(rr,a)
},e.every=E,e.find=S,e.findWhere=function(n,r){return D(n,r,G)},e.has=function(n,r){return n?br.call(n,r):J},e.identity=V,e.indexOf=I,e.isArguments=p,e.isArray=Ir,e.isBoolean=function(n){return n===G||n===J||Ar.call(n)==or},e.isDate=function(n){return n instanceof Date||Ar.call(n)==ir},e.isElement=function(n){return n?1===n.nodeType:J},e.isEmpty=m,e.isEqual=_,e.isFinite=function(n){return Sr(n)&&!Nr(parseFloat(n))},e.isFunction=d,e.isNaN=function(n){return j(n)&&n!=+n},e.isNull=function(n){return n===H
},e.isNumber=j,e.isObject=b,e.isRegExp=function(n){return n instanceof RegExp||Ar.call(n)==cr},e.isString=w,e.isUndefined=function(n){return typeof n=="undefined"},e.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Fr(0,e+t):Rr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},e.mixin=W,e.noConflict=function(){return n._=hr,this},e.random=function(n,r){return n==H&&r==H&&(r=1),n=+n||0,r==H&&(r=n,n=0),n+dr(qr()*((+r||0)-n+1))},e.reduce=R,e.reduceRight=q,e.result=function(n,r){var t=n?n[r]:H;
return d(t)?n[r]():t},e.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Tr(n).length},e.some=B,e.sortedIndex=z,e.template=function(n,r,t){n||(n=""),t=h({},t,e.templateSettings);var u=0,o="__p+='",a=t.variable;n.replace(RegExp((t.escape||nr).source+"|"+(t.interpolate||nr).source+"|"+(t.evaluate||nr).source+"|$","g"),function(r,t,e,a,f){return o+=n.slice(u,f).replace(tr,i),t&&(o+="'+_['escape']("+t+")+'"),a&&(o+="';"+a+";__p+='"),e&&(o+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+r.length,r
}),o+="';\n",a||(a="obj",o="with("+a+"||{}){"+o+"}"),o="function("+a+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}";try{var f=Function("_","return "+o)(e)}catch(c){throw c.source=o,c}return r?f(r):(f.source=o,f)},e.unescape=function(n){return n==H?"":(n+"").replace(Z,l)},e.uniqueId=function(n){var r=++X+"";return n?n+r:r},e.all=E,e.any=B,e.detect=S,e.foldl=R,e.foldr=q,e.include=x,e.inject=R,e.first=M,e.last=function(n,r,t){if(n){var e=0,u=n.length;
if(typeof r!="number"&&r!=H){var o=u;for(r=U(r,t);o--&&r(n[o],o,n);)e++}else if(e=r,e==H||t)return n[u-1];return c(n,Fr(0,u-e))}},e.take=M,e.head=M,e.chain=function(n){return n=new e(n),n.__chain__=G,n},e.VERSION="1.0.1",W(e),e.prototype.chain=function(){return this.__chain__=G,this},e.prototype.value=function(){return this.__wrapped__},t("pop push reverse shift sort splice unshift".split(" "),function(n){var r=vr[n];e.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Dr&&0===n.length&&delete n[0],this
}}),t(["concat","join","slice"],function(n){var r=vr[n];e.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new e(n),n.__chain__=G),n}}),K&&!K.nodeType?L?(L.exports=e)._=e:K._=e:n._=e})(this);