(function(){function l(t,i,r){var s,f,e,o;if(t===i)return 0!==t||1/t==1/i;if(null==t||null==i)return t===i;if(t._chain&&(t=t._wrapped),i._chain&&(i=i._wrapped),t.isEqual&&n.isFunction(t.isEqual))return t.isEqual(i);if(i.isEqual&&n.isFunction(i.isEqual))return i.isEqual(t);if(s=u.call(t),s!=u.call(i))return!1;switch(s){case"[object String]":return t==""+i;case"[object Number]":return t!=+t?i!=+i:0==t?1/t==1/i:t==+i;case"[object Date]":case"[object Boolean]":return+t==+i;case"[object RegExp]":return t.source==i.source&&t.global==i.global&&t.multiline==i.multiline&&t.ignoreCase==i.ignoreCase}if("object"!=typeof t||"object"!=typeof i)return!1;for(f=r.length;f--;)if(r[f]==t)return!0;if(r.push(t),f=0,e=!0,"[object Array]"==s){if(f=t.length,e=f==i.length)for(;f--&&(e=f in t==f in i&&l(t[f],i[f],r)););}else{if("constructor"in t!="constructor"in i||t.constructor!=i.constructor)return!1;for(o in t)if(n.has(t,o)&&(f++,!(e=n.has(i,o)&&l(t[o],i[o],r))))break;if(e){for(o in i)if(n.has(i,o)&&!f--)break;e=!f}}return r.pop(),e}var a=this,st=a._,o={},r=Array.prototype,v=Object.prototype,t=r.slice,ht=r.unshift,u=v.toString,ct=v.hasOwnProperty,d=r.forEach,g=r.map,nt=r.reduce,tt=r.reduceRight,it=r.filter,rt=r.every,ut=r.some,s=r.indexOf,ft=r.lastIndexOf,v=Array.isArray,lt=Object.keys,y=Function.prototype.bind,n=function(n){return new f(n)},i,p,w,et,h,e,b,f,c,ot;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=n),exports._=n):a._=n;n.VERSION="1.3.3";i=n.each=n.forEach=function(t,i,r){if(t!=null)if(d&&t.forEach===d)t.forEach(i,r);else if(t.length===+t.length){for(var u=0,f=t.length;u<f;u++)if(u in t&&i.call(r,t[u],u,t)===o)break}else for(u in t)if(n.has(t,u)&&i.call(r,t[u],u,t)===o)break};n.map=n.collect=function(n,t,r){var u=[];return n==null?u:g&&n.map===g?n.map(t,r):(i(n,function(n,i,f){u[u.length]=t.call(r,n,i,f)}),n.length===+n.length&&(u.length=n.length),u)};n.reduce=n.foldl=n.inject=function(t,r,u,f){var e=arguments.length>2;if(t==null&&(t=[]),nt&&t.reduce===nt)return f&&(r=n.bind(r,f)),e?t.reduce(r,u):t.reduce(r);if(i(t,function(n,t,i){e?u=r.call(f,u,n,t,i):(u=n,e=!0)}),!e)throw new TypeError("Reduce of empty array with no initial value");return u};n.reduceRight=n.foldr=function(t,i,r,u){var f=arguments.length>2,e;return(t==null&&(t=[]),tt&&t.reduceRight===tt)?(u&&(i=n.bind(i,u)),f?t.reduceRight(i,r):t.reduceRight(i)):(e=n.toArray(t).reverse(),u&&!f&&(i=n.bind(i,u)),f?n.reduce(e,i,r,u):n.reduce(e,i))};n.find=n.detect=function(n,t,i){var r;return p(n,function(n,u,f){if(t.call(i,n,u,f))return r=n,!0}),r};n.filter=n.select=function(n,t,r){var u=[];return n==null?u:it&&n.filter===it?n.filter(t,r):(i(n,function(n,i,f){t.call(r,n,i,f)&&(u[u.length]=n)}),u)};n.reject=function(n,t,r){var u=[];return n==null?u:(i(n,function(n,i,f){t.call(r,n,i,f)||(u[u.length]=n)}),u)};n.every=n.all=function(n,t,r){var u=!0;return n==null?u:rt&&n.every===rt?n.every(t,r):(i(n,function(n,i,f){if(!(u=u&&t.call(r,n,i,f)))return o}),!!u)};p=n.some=n.any=function(t,r,u){r||(r=n.identity);var f=!1;return t==null?f:ut&&t.some===ut?t.some(r,u):(i(t,function(n,t,i){if(f||(f=r.call(u,n,t,i)))return o}),!!f)};n.include=n.contains=function(n,t){return n==null?!1:s&&n.indexOf===s?n.indexOf(t)!=-1:p(n,function(n){return n===t})};n.invoke=function(i,r){var u=t.call(arguments,2);return n.map(i,function(t){return(n.isFunction(r)?r||t:t[r]).apply(t,u)})};n.pluck=function(t,i){return n.map(t,function(n){return n[i]})};n.max=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0])return Math.max.apply(Math,t);if(!r&&n.isEmpty(t))return-Infinity;var f={computed:-Infinity};return i(t,function(n,t,i){t=r?r.call(u,n,t,i):n;t>=f.computed&&(f={value:n,computed:t})}),f.value};n.min=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0])return Math.min.apply(Math,t);if(!r&&n.isEmpty(t))return Infinity;var f={computed:Infinity};return i(t,function(n,t,i){t=r?r.call(u,n,t,i):n;t<f.computed&&(f={value:n,computed:t})}),f.value};n.shuffle=function(n){var t=[],r;return i(n,function(n,i){r=Math.floor(Math.random()*(i+1));t[i]=t[r];t[r]=n}),t};n.sortBy=function(t,i,r){var u=n.isFunction(i)?i:function(n){return n[i]};return n.pluck(n.map(t,function(n,t,i){return{value:n,criteria:u.call(r,n,t,i)}}).sort(function(n,t){var i=n.criteria,r=t.criteria;return i===void 0?1:r===void 0?-1:i<r?-1:i>r?1:0}),"value")};n.groupBy=function(t,r){var u={},f=n.isFunction(r)?r:function(n){return n[r]};return i(t,function(n,t){var i=f(n,t);(u[i]||(u[i]=[])).push(n)}),u};n.sortedIndex=function(t,i,r){var u,f,e;for(r||(r=n.identity),u=0,f=t.length;u<f;)e=u+f>>1,r(t[e])<r(i)?u=e+1:f=e;return u};n.toArray=function(i){return i?n.isArray(i)||n.isArguments(i)?t.call(i):i.toArray&&n.isFunction(i.toArray)?i.toArray():n.values(i):[]};n.size=function(t){return n.isArray(t)?t.length:n.keys(t).length};n.first=n.head=n.take=function(n,i,r){return i!=null&&!r?t.call(n,0,i):n[0]};n.initial=function(n,i,r){return t.call(n,0,n.length-(i==null||r?1:i))};n.last=function(n,i,r){return i!=null&&!r?t.call(n,Math.max(n.length-i,0)):n[n.length-1]};n.rest=n.tail=function(n,i,r){return t.call(n,i==null||r?1:i)};n.compact=function(t){return n.filter(t,function(n){return!!n})};n.flatten=function(t,i){return n.reduce(t,function(t,r){return n.isArray(r)?t.concat(i?r:n.flatten(r)):(t[t.length]=r,t)},[])};n.without=function(i){return n.difference(i,t.call(arguments,1))};n.uniq=n.unique=function(t,i,r){var r=r?n.map(t,r):t,u=[];return t.length<3&&(i=!0),n.reduce(r,function(r,f,e){return(i?n.last(r)===f&&r.length:n.include(r,f))||(r.push(f),u.push(t[e])),r},[]),u};n.union=function(){return n.uniq(n.flatten(arguments,!0))};n.intersection=n.intersect=function(i){var r=t.call(arguments,1);return n.filter(n.uniq(i),function(t){return n.every(r,function(i){return n.indexOf(i,t)>=0})})};n.difference=function(i){var r=n.flatten(t.call(arguments,1),!0);return n.filter(i,function(t){return!n.include(r,t)})};n.zip=function(){for(var r=t.call(arguments),u=n.max(n.pluck(r,"length")),f=Array(u),i=0;i<u;i++)f[i]=n.pluck(r,""+i);return f};n.indexOf=function(t,i,r){if(t==null)return-1;var u;if(r)return r=n.sortedIndex(t,i),t[r]===i?r:-1;if(s&&t.indexOf===s)return t.indexOf(i);for(r=0,u=t.length;r<u;r++)if(r in t&&t[r]===i)return r;return-1};n.lastIndexOf=function(n,t){if(n==null)return-1;if(ft&&n.lastIndexOf===ft)return n.lastIndexOf(t);for(var i=n.length;i--;)if(i in n&&n[i]===t)return i;return-1};n.range=function(n,t,i){arguments.length<=1&&(t=n||0,n=0);for(var i=arguments[2]||1,r=Math.max(Math.ceil((t-n)/i),0),u=0,f=Array(r);u<r;)f[u++]=n,n=n+i;return f};w=function(){};n.bind=function(i,r){var f,u;if(i.bind===y&&y)return y.apply(i,t.call(arguments,1));if(!n.isFunction(i))throw new TypeError;return u=t.call(arguments,2),f=function(){if(!(this instanceof f))return i.apply(r,u.concat(t.call(arguments)));w.prototype=i.prototype;var e=new w,n=i.apply(e,u.concat(t.call(arguments)));return Object(n)===n?n:e}};n.bindAll=function(r){var u=t.call(arguments,1);return u.length==0&&(u=n.functions(r)),i(u,function(t){r[t]=n.bind(r[t],r)}),r};n.memoize=function(t,i){var r={};return i||(i=n.identity),function(){var u=i.apply(this,arguments);return n.has(r,u)?r[u]:r[u]=t.apply(this,arguments)}};n.delay=function(n,i){var r=t.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},i)};n.defer=function(i){return n.delay.apply(n,[i,1].concat(t.call(arguments,1)))};n.throttle=function(t,i){var r,u,f,e,o,s,h=n.debounce(function(){o=e=!1},i);return function(){return r=this,u=arguments,f||(f=setTimeout(function(){f=null;o&&t.apply(r,u);h()},i)),e?o=!0:s=t.apply(r,u),h(),e=!0,s}};n.debounce=function(n,t,i){var r;return function(){var u=this,f=arguments;i&&!r&&n.apply(u,f);clearTimeout(r);r=setTimeout(function(){r=null;i||n.apply(u,f)},t)}};n.once=function(n){var t=!1,i;return function(){return t?i:(t=!0,i=n.apply(this,arguments))}};n.wrap=function(n,i){return function(){var r=[n].concat(t.call(arguments,0));return i.apply(this,r)}};n.compose=function(){var n=arguments;return function(){for(var t=arguments,i=n.length-1;i>=0;i--)t=[n[i].apply(this,t)];return t[0]}};n.after=function(n,t){return n<=0?t():function(){if(--n<1)return t.apply(this,arguments)}};n.keys=lt||function(t){if(t!==Object(t))throw new TypeError("Invalid object");var i=[];for(var r in t)n.has(t,r)&&(i[i.length]=r);return i};n.values=function(t){return n.map(t,n.identity)};n.functions=n.methods=function(t){var i=[];for(var r in t)n.isFunction(t[r])&&i.push(r);return i.sort()};n.extend=function(n){return i(t.call(arguments,1),function(t){for(var i in t)n[i]=t[i]}),n};n.pick=function(r){var u={};return i(n.flatten(t.call(arguments,1)),function(n){n in r&&(u[n]=r[n])}),u};n.defaults=function(n){return i(t.call(arguments,1),function(t){for(var i in t)n[i]==null&&(n[i]=t[i])}),n};n.clone=function(t){return n.isObject(t)?n.isArray(t)?t.slice():n.extend({},t):t};n.tap=function(n,t){return t(n),n};n.isEqual=function(n,t){return l(n,t,[])};n.isEmpty=function(t){if(t==null)return!0;if(n.isArray(t)||n.isString(t))return t.length===0;for(var i in t)if(n.has(t,i))return!1;return!0};n.isElement=function(n){return!!(n&&n.nodeType==1)};n.isArray=v||function(n){return u.call(n)=="[object Array]"};n.isObject=function(n){return n===Object(n)};n.isArguments=function(n){return u.call(n)=="[object Arguments]"};n.isArguments(arguments)||(n.isArguments=function(t){return!(!t||!n.has(t,"callee"))});n.isFunction=function(n){return u.call(n)=="[object Function]"};n.isString=function(n){return u.call(n)=="[object String]"};n.isNumber=function(n){return u.call(n)=="[object Number]"};n.isFinite=function(t){return n.isNumber(t)&&isFinite(t)};n.isNaN=function(n){return n!==n};n.isBoolean=function(n){return n===!0||n===!1||u.call(n)=="[object Boolean]"};n.isDate=function(n){return u.call(n)=="[object Date]"};n.isRegExp=function(n){return u.call(n)=="[object RegExp]"};n.isNull=function(n){return n===null};n.isUndefined=function(n){return n===void 0};n.has=function(n,t){return ct.call(n,t)};n.noConflict=function(){return a._=st,this};n.identity=function(n){return n};n.times=function(n,t,i){for(var r=0;r<n;r++)t.call(i,r)};n.escape=function(n){return(""+n).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")};n.result=function(t,i){if(t==null)return null;var r=t[i];return n.isFunction(r)?r.call(t):r};n.mixin=function(t){i(n.functions(t),function(i){ot(i,n[i]=t[i])})};et=0;n.uniqueId=function(n){var t=et++;return n?n+t:t};n.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};h=/.^/;e={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(b in e)e[e[b]]=b;var at=/\\|'|\r|\n|\t|\u2028|\u2029/g,vt=/\\(\\|'|r|n|t|u2028|u2029)/g,k=function(n){return n.replace(vt,function(n,t){return e[t]})};n.template=function(t,i,r){r=n.defaults(r||{},n.templateSettings);t="__p+='"+t.replace(at,function(n){return"\\"+e[n]}).replace(r.escape||h,function(n,t){return"'+\n_.escape("+k(t)+")+\n'"}).replace(r.interpolate||h,function(n,t){return"'+\n("+k(t)+")+\n'"}).replace(r.evaluate||h,function(n,t){return"';\n"+k(t)+"\n;__p+='"})+"';\n";r.variable||(t="with(obj||{}){\n"+t+"}\n");var t="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+t+"return __p;\n",u=new Function(r.variable||"obj","_",t);return i?u(i,n):(i=function(t){return u.call(this,t,n)},i.source="function("+(r.variable||"obj")+"){\n"+t+"}",i)};n.chain=function(t){return n(t).chain()};f=function(n){this._wrapped=n};n.prototype=f.prototype;c=function(t,i){return i?n(t).chain():t};ot=function(i,r){f.prototype[i]=function(){var i=t.call(arguments);return ht.call(i,this._wrapped),c(r.apply(n,i),this._chain)}};n.mixin(n);i("pop,push,reverse,shift,sort,splice,unshift".split(","),function(n){var t=r[n];f.prototype[n]=function(){var i=this._wrapped,r;return t.apply(i,arguments),r=i.length,(n=="shift"||n=="splice")&&r===0&&delete i[0],c(i,this._chain)}});i(["concat","join","slice"],function(n){var t=r[n];f.prototype[n]=function(){return c(t.apply(this._wrapped,arguments),this._chain)}});f.prototype.chain=function(){return this._chain=!0,this};f.prototype.value=function(){return this._wrapped}}).call(this)