(function(){function aq(b){function a(g,h,j,d,f,k){for(;f>=0&&k>f;f+=b){var c=d?d[f]:f;j=h(j,g[c],c,g)}return j}return function(h,j,f,g){j=aD(j,g,4);var k=!au(h)&&ar.keys(h),d=(k||h).length,l=b>0?0:d-1;return arguments.length<3&&(f=h[k?k[l]:l],l+=b),a(h,j,f,k,l,d)}}function ak(a){return function(d,f,g){f=ag(f,g);for(var b=Q(d),c=a>0?0:b-1;c>=0&&b>c;c+=a){if(f(d[c],c,d)){return c}}return -1}}function am(c,a,b){return function(h,f,g){var j=0,d=Q(h);if("number"==typeof g){c>0?j=g>=0?g:Math.max(g+d,j):d=g>=0?Math.min(g+1,d):g+d+1}else{if(b&&g&&d){return g=b(h,f),h[g]===f?g:-1}}if(f!==f){return g=a(at.call(h,j,d),ar.isNaN),g>=0?g+j:-1}for(g=c>0?j:d-1;g>=0&&d>g;g+=c){if(h[g]===f){return g}}return -1}}function aA(g,c){var d=Y.length,f=g.constructor,a=ar.isFunction(f)&&f.prototype||aE,b="constructor";for(ar.has(g,b)&&!ar.contains(c,b)&&c.push(b);d--;){b=Y[d],b in g&&g[b]!==a[b]&&!ar.contains(c,b)&&c.push(b)}}var aj=this,aw=aj._,ap=Array.prototype,aE=Object.prototype,aC=Function.prototype,az=ap.push,at=ap.slice,al=aE.toString,ao=aE.hasOwnProperty,ax=Array.isArray,ai=Object.keys,ay=aC.bind,af=Object.create,aB=function(){},ar=function(a){return a instanceof ar?a:this instanceof ar?void (this._wrapped=a):new ar(a)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=ar),exports._=ar):aj._=ar,ar.VERSION="0.0.0";var aD=function(c,a,b){if(a===void 0){return c}switch(null==b?3:b){case 1:return function(d){return c.call(a,d)};case 2:return function(d,f){return c.call(a,d,f)};case 3:return function(f,g,d){return c.call(a,f,g,d)};case 4:return function(g,h,d,f){return c.call(a,g,h,d,f)}}return function(){return c.apply(a,arguments)}},ag=function(c,a,b){return null==c?ar.identity:ar.isFunction(c)?aD(c,a,b):ar.isObject(c)?ar.matcher(c):ar.property(c)};ar.iteratee=function(b,a){return ag(b,a,1/0)};var aF=function(b,a){return function(j){var l=arguments.length;if(2>l||null==j){return j}for(var g=1;l>g;g++){for(var h=arguments[g],m=b(h),d=m.length,n=0;d>n;n++){var k=m[n];a&&j[k]!==void 0||(j[k]=h[k])}}return j}},av=function(b){if(!ar.isObject(b)){return{}}if(af){return af(b)}aB.prototype=b;var a=new aB;return aB.prototype=null,a},ah=function(a){return function(b){return null==b?void 0:b[a]}},ad=Math.pow(2,53)-1,Q=ah("length"),au=function(b){var a=Q(b);return"number"==typeof a&&a>=0&&ad>=a};ar.each=ar.forEach=function(g,c,d){c=aD(c,d);var f,a;if(au(g)){for(f=0,a=g.length;a>f;f++){c(g[f],f,g)}}else{var b=ar.keys(g);for(f=0,a=b.length;a>f;f++){c(g[b[f]],b[f],g)}}return g},ar.map=ar.collect=function(k,f,g){f=ag(f,g);for(var h=!au(k)&&ar.keys(k),c=(h||k).length,d=Array(c),j=0;c>j;j++){var b=h?h[j]:j;d[j]=f(k[b],b,k)}return d},ar.reduce=ar.foldl=ar.inject=aq(1),ar.reduceRight=ar.foldr=aq(-1),ar.find=ar.detect=function(d,a,b){var c;return c=au(d)?ar.findIndex(d,a,b):ar.findKey(d,a,b),c!==void 0&&c!==-1?d[c]:void 0},ar.filter=ar.select=function(d,a,b){var c=[];return a=ag(a,b),ar.each(d,function(g,f,e){a(g,f,e)&&c.push(g)}),c},ar.reject=function(c,a,b){return ar.filter(c,ar.negate(ag(a)),b)},ar.every=ar.all=function(h,c,d){c=ag(c,d);for(var f=!au(h)&&ar.keys(h),a=(f||h).length,b=0;a>b;b++){var g=f?f[b]:b;if(!c(h[g],g,h)){return !1}}return !0},ar.some=ar.any=function(h,c,d){c=ag(c,d);for(var f=!au(h)&&ar.keys(h),a=(f||h).length,b=0;a>b;b++){var g=f?f[b]:b;if(c(h[g],g,h)){return !0}}return !1},ar.contains=ar.includes=ar.include=function(d,a,b,c){return au(d)||(d=ar.values(d)),("number"!=typeof b||c)&&(b=0),ar.indexOf(d,a,b)>=0},ar.invoke=function(d,a){var b=at.call(arguments,2),c=ar.isFunction(a);return ar.map(d,function(f){var e=c?a:f[a];return null==e?e:e.apply(f,b)})},ar.pluck=function(b,a){return ar.map(b,ar.property(a))},ar.where=function(b,a){return ar.filter(b,ar.matcher(a))},ar.findWhere=function(b,a){return ar.find(b,ar.matcher(a))},ar.max=function(f,m,b){var h,l,g=-1/0,d=-1/0;if(null==m&&null!=f){f=au(f)?f:ar.values(f);for(var k=0,j=f.length;j>k;k++){h=f[k],h>g&&(g=h)}}else{m=ag(m,b),ar.each(f,function(i,a,c){l=m(i,a,c),(l>d||l===-1/0&&g===-1/0)&&(g=i,d=l)})}return g},ar.min=function(f,m,b){var h,l,g=1/0,d=1/0;if(null==m&&null!=f){f=au(f)?f:ar.values(f);for(var k=0,j=f.length;j>k;k++){h=f[k],g>h&&(g=h)}}else{m=ag(m,b),ar.each(f,function(i,a,c){l=m(i,a,c),(d>l||1/0===l&&1/0===g)&&(g=i,d=l)})}return g},ar.shuffle=function(g){for(var c,d=au(g)?g:ar.values(g),f=d.length,a=Array(f),b=0;f>b;b++){c=ar.random(0,b),c!==b&&(a[b]=a[c]),a[c]=d[b]}return a},ar.sample=function(c,a,b){return null==a||b?(au(c)||(c=ar.values(c)),c[ar.random(c.length-1)]):ar.shuffle(c).slice(0,Math.max(0,a))},ar.sortBy=function(c,a,b){return a=ag(a,b),ar.pluck(ar.map(c,function(g,d,f){return{value:g,index:d,criteria:a(g,d,f)}}).sort(function(h,d){var f=h.criteria,g=d.criteria;if(f!==g){if(f>g||f===void 0){return 1}if(g>f||g===void 0){return -1}}return h.index-d.index}),"value")};var Z=function(a){return function(c,d,f){var b={};return d=ag(d,f),ar.each(c,function(h,g){var j=d(h,g,c);a(b,h,j)}),b}};ar.groupBy=Z(function(c,a,b){ar.has(c,b)?c[b].push(a):c[b]=[a]}),ar.indexBy=Z(function(c,a,b){c[b]=a}),ar.countBy=Z(function(c,a,b){ar.has(c,b)?c[b]++:c[b]=1}),ar.toArray=function(a){return a?ar.isArray(a)?at.call(a):au(a)?ar.map(a,ar.identity):ar.values(a):[]},ar.size=function(a){return null==a?0:au(a)?a.length:ar.keys(a).length},ar.partition=function(f,b,c){b=ag(b,c);var d=[],a=[];return ar.each(f,function(h,g,e){(b(h,g,e)?d:a).push(h)}),[d,a]},ar.first=ar.head=ar.take=function(c,a,b){return null==c?void 0:null==a||b?c[0]:ar.initial(c,c.length-a)},ar.initial=function(c,a,b){return at.call(c,0,Math.max(0,c.length-(null==a||b?1:a)))},ar.last=function(c,a,b){return null==c?void 0:null==a||b?c[c.length-1]:ar.rest(c,Math.max(0,c.length-a))},ar.rest=ar.tail=ar.drop=function(c,a,b){return at.call(c,null==a||b?1:a)},ar.compact=function(a){return ar.filter(a,ar.identity)};var G=function(g,v,b,m){for(var s=[],j=0,d=m||0,q=Q(g);q>d;d++){var p=g[d];if(au(p)&&(ar.isArray(p)||ar.isArguments(p))){v||(p=G(p,v,b));var k=0,h=p.length;for(s.length+=h;h>k;){s[j++]=p[k++]}}else{b||(s[j++]=p)}}return s};ar.flatten=function(b,a){return G(b,a,!1)},ar.without=function(a){return ar.difference(a,at.call(arguments,1))},ar.uniq=ar.unique=function(g,q,b,k){ar.isBoolean(q)||(k=b,b=q,q=!1),null!=b&&(b=ag(b,k));for(var p=[],h=[],d=0,m=Q(g);m>d;d++){var l=g[d],j=b?b(l,d,g):l;q?(d&&h===j||p.push(l),h=j):b?ar.contains(h,j)||(h.push(j),p.push(l)):ar.contains(p,l)||p.push(l)}return p},ar.union=function(){return ar.uniq(G(arguments,!0,!0))},ar.intersection=function(h){for(var c=[],d=arguments.length,f=0,a=Q(h);a>f;f++){var b=h[f];if(!ar.contains(c,b)){for(var g=1;d>g&&ar.contains(arguments[g],b);g++){}g===d&&c.push(b)}}return c},ar.difference=function(b){var a=G(arguments,!0,!0,1);return ar.filter(b,function(c){return !ar.contains(a,c)})},ar.zip=function(){return ar.unzip(arguments)},ar.unzip=function(d){for(var a=d&&ar.max(d,Q).length||0,b=Array(a),c=0;a>c;c++){b[c]=ar.pluck(d,c)}return b},ar.object=function(f,b){for(var c={},d=0,a=Q(f);a>d;d++){b?c[f[d]]=b[d]:c[f[d][0]]=f[d][1]}return c},ar.findIndex=ak(1),ar.findLastIndex=ak(-1),ar.sortedIndex=function(k,f,g,h){g=ag(g,h,1);for(var c=g(f),d=0,j=Q(k);j>d;){var b=Math.floor((d+j)/2);g(k[b])<c?d=b+1:j=b}return d},ar.indexOf=am(1,ar.findIndex,ar.sortedIndex),ar.lastIndexOf=am(-1,ar.findLastIndex),ar.range=function(g,c,d){null==c&&(c=g||0,g=0),d=d||1;for(var f=Math.max(Math.ceil((c-g)/d),0),a=Array(f),b=0;f>b;b++,g+=d){a[b]=g}return a};var aa=function(h,c,d,f,a){if(!(f instanceof c)){return h.apply(d,a)}var b=av(h.prototype),g=h.apply(b,a);return ar.isObject(g)?g:b};ar.bind=function(d,a){if(ay&&d.bind===ay){return ay.apply(d,at.call(arguments,1))}if(!ar.isFunction(d)){throw new TypeError("Bind must be called on a function")}var b=at.call(arguments,2),c=function(){return aa(d,c,a,this,b.concat(at.call(arguments)))};return c},ar.partial=function(c){var a=at.call(arguments,1),b=function(){for(var g=0,d=a.length,f=Array(d),h=0;d>h;h++){f[h]=a[h]===ar?arguments[g++]:a[h]}for(;g<arguments.length;){f.push(arguments[g++])}return aa(c,b,this,this,f)};return b},ar.bindAll=function(d){var a,b,c=arguments.length;if(1>=c){throw new Error("bindAll must be passed function names")}for(a=1;c>a;a++){b=arguments[a],d[b]=ar.bind(d[b],d)}return d},ar.memoize=function(c,a){var b=function(g){var d=b.cache,f=""+(a?a.apply(this,arguments):g);return ar.has(d,f)||(d[f]=c.apply(this,arguments)),d[f]};return b.cache={},b},ar.delay=function(c,a){var b=at.call(arguments,2);return setTimeout(function(){return c.apply(null,b)},a)},ar.defer=ar.partial(ar.delay,ar,1),ar.throttle=function(f,m,b){var h,l,g,d=null,k=0;b||(b={});var j=function(){k=b.leading===!1?0:ar.now(),d=null,g=f.apply(h,l),d||(h=l=null)};return function(){var c=ar.now();k||b.leading!==!1||(k=c);var a=m-(c-k);return h=this,l=arguments,0>=a||a>m?(d&&(clearTimeout(d),d=null),k=c,g=f.apply(h,l),d||(h=l=null)):d||b.trailing===!1||(d=setTimeout(j,a)),g}},ar.debounce=function(f,m,b){var h,l,g,d,k,j=function(){var a=ar.now()-d;m>a&&a>=0?h=setTimeout(j,m-a):(h=null,b||(k=f.apply(g,l),h||(g=l=null)))};return function(){g=this,l=arguments,d=ar.now();var a=b&&!h;return h||(h=setTimeout(j,m)),a&&(k=f.apply(g,l),g=l=null),k}},ar.wrap=function(b,a){return ar.partial(a,b)},ar.negate=function(a){return function(){return !a.apply(this,arguments)}},ar.compose=function(){var b=arguments,a=b.length-1;return function(){for(var c=a,d=b[a].apply(this,arguments);c--;){d=b[c].call(this,d)}return d}},ar.after=function(b,a){return function(){return --b<1?a.apply(this,arguments):void 0}},ar.before=function(c,a){var b;return function(){return --c>0&&(b=a.apply(this,arguments)),1>=c&&(a=null),b}},ar.once=ar.partial(ar.before,2);var V=!{toString:null}.propertyIsEnumerable("toString"),Y=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];ar.keys=function(c){if(!ar.isObject(c)){return[]}if(ai){return ai(c)}var a=[];for(var b in c){ar.has(c,b)&&a.push(b)}return V&&aA(c,a),a},ar.allKeys=function(c){if(!ar.isObject(c)){return[]}var a=[];for(var b in c){a.push(b)}return V&&aA(c,a),a},ar.values=function(f){for(var b=ar.keys(f),c=b.length,d=Array(c),a=0;c>a;a++){d[a]=f[b[a]]}return d},ar.mapObject=function(k,f,g){f=ag(f,g);for(var h,c=ar.keys(k),d=c.length,j={},b=0;d>b;b++){h=c[b],j[h]=f(k[h],h,k)}return j},ar.pairs=function(f){for(var b=ar.keys(f),c=b.length,d=Array(c),a=0;c>a;a++){d[a]=[b[a],f[b[a]]]}return d},ar.invert=function(f){for(var b={},c=ar.keys(f),d=0,a=c.length;a>d;d++){b[f[c[d]]]=c[d]}return b},ar.functions=ar.methods=function(c){var a=[];for(var b in c){ar.isFunction(c[b])&&a.push(b)}return a.sort()},ar.extend=aF(ar.allKeys),ar.extendOwn=ar.assign=aF(ar.keys),ar.findKey=function(h,c,d){c=ag(c,d);for(var f,a=ar.keys(h),b=0,g=a.length;g>b;b++){if(f=a[b],c(h[f],f,h)){return f}}},ar.pick=function(g,v,b){var m,s,j={},d=g;if(null==d){return j}ar.isFunction(v)?(s=ar.allKeys(d),m=aD(v,b)):(s=G(arguments,!1,!1,1),m=function(e,a,c){return a in c},d=Object(d));for(var q=0,p=s.length;p>q;q++){var k=s[q],h=d[k];m(h,k,d)&&(j[k]=h)}return j},ar.omit=function(d,a,b){if(ar.isFunction(a)){a=ar.negate(a)}else{var c=ar.map(G(arguments,!1,!1,1),String);a=function(f,e){return !ar.contains(c,e)}}return ar.pick(d,a,b)},ar.defaults=aF(ar.allKeys,!0),ar.create=function(c,a){var b=av(c);return a&&ar.extendOwn(b,a),b},ar.clone=function(a){return ar.isObject(a)?ar.isArray(a)?a.slice():ar.extend({},a):a},ar.tap=function(b,a){return a(b),b},ar.isMatch=function(h,c){var d=ar.keys(c),f=d.length;if(null==h){return !f}for(var a=Object(h),b=0;f>b;b++){var g=d[b];if(c[g]!==a[g]||!(g in a)){return !1}}return !0};var U=function(g,v,b,m){if(g===v){return 0!==g||1/g===1/v}if(null==g||null==v){return g===v}g instanceof ar&&(g=g._wrapped),v instanceof ar&&(v=v._wrapped);var s=al.call(g);if(s!==al.call(v)){return !1}switch(s){case"[object RegExp]":case"[object String]":return""+g==""+v;case"[object Number]":return +g!==+g?+v!==+v:0===+g?1/+g===1/v:+g===+v;case"[object Date]":case"[object Boolean]":return +g===+v}var j="[object Array]"===s;if(!j){if("object"!=typeof g||"object"!=typeof v){return !1}var d=g.constructor,q=v.constructor;if(d!==q&&!(ar.isFunction(d)&&d instanceof d&&ar.isFunction(q)&&q instanceof q)&&"constructor" in g&&"constructor" in v){return !1}}b=b||[],m=m||[];for(var p=b.length;p--;){if(b[p]===g){return m[p]===v}}if(b.push(g),m.push(v),j){if(p=g.length,p!==v.length){return !1}for(;p--;){if(!U(g[p],v[p],b,m)){return !1}}}else{var k,h=ar.keys(g);if(p=h.length,ar.keys(v).length!==p){return !1}for(;p--;){if(k=h[p],!ar.has(v,k)||!U(g[k],v[k],b,m)){return !1}}}return b.pop(),m.pop(),!0};ar.isEqual=function(b,a){return U(b,a)},ar.isEmpty=function(a){return null==a?!0:au(a)&&(ar.isArray(a)||ar.isString(a)||ar.isArguments(a))?0===a.length:0===ar.keys(a).length},ar.isElement=function(a){return !(!a||1!==a.nodeType)},ar.isArray=ax||function(a){return"[object Array]"===al.call(a)},ar.isObject=function(b){var a=typeof b;return"function"===a||"object"===a&&!!b},ar.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(a){ar["is"+a]=function(b){return al.call(b)==="[object "+a+"]"}}),ar.isArguments(arguments)||(ar.isArguments=function(a){return ar.has(a,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(ar.isFunction=function(a){return"function"==typeof a||!1}),ar.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},ar.isNaN=function(a){return ar.isNumber(a)&&a!==+a},ar.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"===al.call(a)},ar.isNull=function(a){return null===a},ar.isUndefined=function(a){return a===void 0},ar.has=function(b,a){return null!=b&&ao.call(b,a)},ar.noConflict=function(){return aj._=aw,this},ar.identity=function(a){return a},ar.constant=function(a){return function(){return a}},ar.noop=function(){},ar.property=ah,ar.propertyOf=function(a){return null==a?function(){}:function(b){return a[b]}},ar.matcher=ar.matches=function(a){return a=ar.extendOwn({},a),function(b){return ar.isMatch(b,a)}},ar.times=function(f,b,c){var d=Array(Math.max(0,f));b=aD(b,c,1);for(var a=0;f>a;a++){d[a]=b(a)}return d},ar.random=function(b,a){return null==a&&(a=b,b=0),b+Math.floor(Math.random()*(a-b+1))},ar.now=Date.now||function(){return(new Date).getTime()};var ac={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},C=ar.invert(ac),H=function(f){var b=function(e){return f[e]},c="(?:"+ar.keys(f).join("|")+")",d=RegExp(c),a=RegExp(c,"g");return function(e){return e=null==e?"":""+e,d.test(e)?e.replace(a,b):e}};ar.escape=H(ac),ar.unescape=H(C),ar.result=function(d,a,b){var c=null==d?void 0:d[a];return c===void 0&&(c=b),ar.isFunction(c)?c.call(d):c};var an=0;ar.uniqueId=function(b){var a=++an+"";return b?b+a:a},ar.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var X=/(.)^/,ae={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},ab=/\\|'|\r|\n|\u2028|\u2029/g,W=function(a){return"\\"+ae[a]};ar.template=function(g,q,b){!q&&b&&(q=b),q=ar.defaults({},q,ar.templateSettings);var k=RegExp([(q.escape||X).source,(q.interpolate||X).source,(q.evaluate||X).source].join("|")+"|$","g"),p=0,h="__p+='";g.replace(k,function(f,i,n,s,c){return h+=g.slice(p,c).replace(ab,W),p=c+f.length,i?h+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'":n?h+="'+\n((__t=("+n+"))==null?'':__t)+\n'":s&&(h+="';\n"+s+"\n__p+='"),f}),h+="';\n",q.variable||(h="with(obj||{}){\n"+h+"}\n"),h="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+h+"return __p;\n";try{var d=new Function(q.variable||"obj","_",h)}catch(m){throw m.source=h,m}var l=function(a){return d.call(this,a,ar)},j=q.variable||"obj";return l.source="function("+j+"){\n"+h+"}",l},ar.chain=function(b){var a=ar(b);return a._chain=!0,a};var J=function(b,a){return b._chain?ar(a).chain():a};ar.mixin=function(a){ar.each(ar.functions(a),function(b){var c=ar[b]=a[b];ar.prototype[b]=function(){var d=[this._wrapped];return az.apply(d,arguments),J(this,c.apply(ar,d))}})},ar.mixin(ar),ar.each(["pop","push","reverse","shift","sort","splice","unshift"],function(b){var a=ap[b];ar.prototype[b]=function(){var c=this._wrapped;return a.apply(c,arguments),"shift"!==b&&"splice"!==b||0!==c.length||delete c[0],J(this,c)}}),ar.each(["concat","join","slice"],function(b){var a=ap[b];ar.prototype[b]=function(){return J(this,a.apply(this._wrapped,arguments))}}),ar.prototype.value=function(){return this._wrapped},ar.prototype.valueOf=ar.prototype.toJSON=ar.prototype.value,ar.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return ar})}).call(this);