queen
Version:
A platform for running scripts on many browsers
2 lines • 40.4 kB
JavaScript
Queen=function(){var a=function(a,b){return a.exports=b,function(){var c=this,d=c._,e={},f=Array.prototype,g=Object.prototype,h=Function.prototype,i=f.push,j=f.slice,k=f.concat,l=g.toString,m=g.hasOwnProperty,n=f.forEach,o=f.map,p=f.reduce,q=f.reduceRight,r=f.filter,s=f.every,t=f.some,u=f.indexOf,v=f.lastIndexOf,w=Array.isArray,x=Object.keys,y=h.bind,z=function(a){return a instanceof z?a:this instanceof z?void(this._wrapped=a):new z(a)};"undefined"!=typeof b?("undefined"!=typeof a&&a.exports&&(b=a.exports=z),b._=z):c._=z,z.VERSION="1.4.4";var A=z.each=z.forEach=function(a,b,c){if(null!=a)if(n&&a.forEach===n)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,f=a.length;f>d;d++)if(b.call(c,a[d],d,a)===e)return}else for(var g in a)if(z.has(a,g)&&b.call(c,a[g],g,a)===e)return};z.map=z.collect=function(a,b,c){var d=[];return null==a?d:o&&a.map===o?a.map(b,c):(A(a,function(a,e,f){d[d.length]=b.call(c,a,e,f)}),d)};var B="Reduce of empty array with no initial value";z.reduce=z.foldl=z.inject=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),p&&a.reduce===p)return d&&(b=z.bind(b,d)),e?a.reduce(b,c):a.reduce(b);if(A(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)}),!e)throw new TypeError(B);return c},z.reduceRight=z.foldr=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),q&&a.reduceRight===q)return d&&(b=z.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=a.length;if(f!==+f){var g=z.keys(a);f=g.length}if(A(a,function(h,i,j){i=g?g[--f]:--f,e?c=b.call(d,c,a[i],i,j):(c=a[i],e=!0)}),!e)throw new TypeError(B);return c},z.find=z.detect=function(a,b,c){var d;return C(a,function(a,e,f){return b.call(c,a,e,f)?(d=a,!0):void 0}),d},z.filter=z.select=function(a,b,c){var d=[];return null==a?d:r&&a.filter===r?a.filter(b,c):(A(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},z.reject=function(a,b,c){return z.filter(a,function(a,d,e){return!b.call(c,a,d,e)},c)},z.every=z.all=function(a,b,c){b||(b=z.identity);var d=!0;return null==a?d:s&&a.every===s?a.every(b,c):(A(a,function(a,f,g){return(d=d&&b.call(c,a,f,g))?void 0:e}),!!d)};var C=z.some=z.any=function(a,b,c){b||(b=z.identity);var d=!1;return null==a?d:t&&a.some===t?a.some(b,c):(A(a,function(a,f,g){return d||(d=b.call(c,a,f,g))?e:void 0}),!!d)};z.contains=z.include=function(a,b){return null==a?!1:u&&a.indexOf===u?-1!=a.indexOf(b):C(a,function(a){return a===b})},z.invoke=function(a,b){var c=j.call(arguments,2),d=z.isFunction(b);return z.map(a,function(a){return(d?b:a[b]).apply(a,c)})},z.pluck=function(a,b){return z.map(a,function(a){return a[b]})},z.where=function(a,b,c){return z.isEmpty(b)?c?null:[]:z[c?"find":"filter"](a,function(a){for(var c in b)if(b[c]!==a[c])return!1;return!0})},z.findWhere=function(a,b){return z.where(a,b,!0)},z.max=function(a,b,c){if(!b&&z.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);if(!b&&z.isEmpty(a))return-1/0;var d={computed:-1/0,value:-1/0};return A(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},z.min=function(a,b,c){if(!b&&z.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&z.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return A(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g<d.computed&&(d={value:a,computed:g})}),d.value},z.shuffle=function(a){var b,c=0,d=[];return A(a,function(a){b=z.random(c++),d[c-1]=d[b],d[b]=a}),d};var D=function(a){return z.isFunction(a)?a:function(b){return b[a]}};z.sortBy=function(a,b,c){var d=D(b);return z.pluck(z.map(a,function(a,b,e){return{value:a,index:b,criteria:d.call(c,a,b,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index<b.index?-1:1}),"value")};var E=function(a,b,c,d){var e={},f=D(b||z.identity);return A(a,function(b,g){var h=f.call(c,b,g,a);d(e,h,b)}),e};z.groupBy=function(a,b,c){return E(a,b,c,function(a,b,c){(z.has(a,b)?a[b]:a[b]=[]).push(c)})},z.countBy=function(a,b,c){return E(a,b,c,function(a,b){z.has(a,b)||(a[b]=0),a[b]++})},z.sortedIndex=function(a,b,c,d){c=null==c?z.identity:D(c);for(var e=c.call(d,b),f=0,g=a.length;g>f;){var h=f+g>>>1;c.call(d,a[h])<e?f=h+1:g=h}return f},z.toArray=function(a){return a?z.isArray(a)?j.call(a):a.length===+a.length?z.map(a,z.identity):z.values(a):[]},z.size=function(a){return null==a?0:a.length===+a.length?a.length:z.keys(a).length},z.first=z.head=z.take=function(a,b,c){return null==a?void 0:null==b||c?a[0]:j.call(a,0,b)},z.initial=function(a,b,c){return j.call(a,0,a.length-(null==b||c?1:b))},z.last=function(a,b,c){return null==a?void 0:null==b||c?a[a.length-1]:j.call(a,Math.max(a.length-b,0))},z.rest=z.tail=z.drop=function(a,b,c){return j.call(a,null==b||c?1:b)},z.compact=function(a){return z.filter(a,z.identity)};var F=function(a,b,c){return A(a,function(a){z.isArray(a)?b?i.apply(c,a):F(a,b,c):c.push(a)}),c};z.flatten=function(a,b){return F(a,b,[])},z.without=function(a){return z.difference(a,j.call(arguments,1))},z.uniq=z.unique=function(a,b,c,d){z.isFunction(b)&&(d=c,c=b,b=!1);var e=c?z.map(a,c,d):a,f=[],g=[];return A(e,function(c,d){(b?d&&g[g.length-1]===c:z.contains(g,c))||(g.push(c),f.push(a[d]))}),f},z.union=function(){return z.uniq(k.apply(f,arguments))},z.intersection=function(a){var b=j.call(arguments,1);return z.filter(z.uniq(a),function(a){return z.every(b,function(b){return z.indexOf(b,a)>=0})})},z.difference=function(a){var b=k.apply(f,j.call(arguments,1));return z.filter(a,function(a){return!z.contains(b,a)})},z.zip=function(){for(var a=j.call(arguments),b=z.max(z.pluck(a,"length")),c=new Array(b),d=0;b>d;d++)c[d]=z.pluck(a,""+d);return c},z.object=function(a,b){if(null==a)return{};for(var c={},d=0,e=a.length;e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},z.indexOf=function(a,b,c){if(null==a)return-1;var d=0,e=a.length;if(c){if("number"!=typeof c)return d=z.sortedIndex(a,b),a[d]===b?d:-1;d=0>c?Math.max(0,e+c):c}if(u&&a.indexOf===u)return a.indexOf(b,c);for(;e>d;d++)if(a[d]===b)return d;return-1},z.lastIndexOf=function(a,b,c){if(null==a)return-1;var d=null!=c;if(v&&a.lastIndexOf===v)return d?a.lastIndexOf(b,c):a.lastIndexOf(b);for(var e=d?c:a.length;e--;)if(a[e]===b)return e;return-1},z.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=new Array(d);d>e;)f[e++]=a,a+=c;return f},z.bind=function(a,b){if(a.bind===y&&y)return y.apply(a,j.call(arguments,1));var c=j.call(arguments,2);return function(){return a.apply(b,c.concat(j.call(arguments)))}},z.partial=function(a){var b=j.call(arguments,1);return function(){return a.apply(this,b.concat(j.call(arguments)))}},z.bindAll=function(a){var b=j.call(arguments,1);return 0===b.length&&(b=z.functions(a)),A(b,function(b){a[b]=z.bind(a[b],a)}),a},z.memoize=function(a,b){var c={};return b||(b=z.identity),function(){var d=b.apply(this,arguments);return z.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}},z.delay=function(a,b){var c=j.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},z.defer=function(a){return z.delay.apply(z,[a,1].concat(j.call(arguments,1)))},z.throttle=function(a,b){var c,d,e,f,g=0,h=function(){g=new Date,e=null,f=a.apply(c,d)};return function(){var i=new Date,j=b-(i-g);return c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},z.debounce=function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},z.once=function(a){var b,c=!1;return function(){return c?b:(c=!0,b=a.apply(this,arguments),a=null,b)}},z.wrap=function(a,b){return function(){var c=[a];return i.apply(c,arguments),b.apply(this,c)}},z.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},z.after=function(a,b){return 0>=a?b():function(){return--a<1?b.apply(this,arguments):void 0}},z.keys=x||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)z.has(a,c)&&(b[b.length]=c);return b},z.values=function(a){var b=[];for(var c in a)z.has(a,c)&&b.push(a[c]);return b},z.pairs=function(a){var b=[];for(var c in a)z.has(a,c)&&b.push([c,a[c]]);return b},z.invert=function(a){var b={};for(var c in a)z.has(a,c)&&(b[a[c]]=c);return b},z.functions=z.methods=function(a){var b=[];for(var c in a)z.isFunction(a[c])&&b.push(c);return b.sort()},z.extend=function(a){return A(j.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},z.pick=function(a){var b={},c=k.apply(f,j.call(arguments,1));return A(c,function(c){c in a&&(b[c]=a[c])}),b},z.omit=function(a){var b={},c=k.apply(f,j.call(arguments,1));for(var d in a)z.contains(c,d)||(b[d]=a[d]);return b},z.defaults=function(a){return A(j.call(arguments,1),function(b){if(b)for(var c in b)null==a[c]&&(a[c]=b[c])}),a},z.clone=function(a){return z.isObject(a)?z.isArray(a)?a.slice():z.extend({},a):a},z.tap=function(a,b){return b(a),a};var G=function(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a instanceof z&&(a=a._wrapped),b instanceof z&&(b=b._wrapped);var e=l.call(a);if(e!=l.call(b))return!1;switch(e){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var f=c.length;f--;)if(c[f]==a)return d[f]==b;c.push(a),d.push(b);var g=0,h=!0;if("[object Array]"==e){if(g=a.length,h=g==b.length)for(;g--&&(h=G(a[g],b[g],c,d)););}else{var i=a.constructor,j=b.constructor;if(i!==j&&!(z.isFunction(i)&&i instanceof i&&z.isFunction(j)&&j instanceof j))return!1;for(var k in a)if(z.has(a,k)&&(g++,!(h=z.has(b,k)&&G(a[k],b[k],c,d))))break;if(h){for(k in b)if(z.has(b,k)&&!g--)break;h=!g}}return c.pop(),d.pop(),h};z.isEqual=function(a,b){return G(a,b,[],[])},z.isEmpty=function(a){if(null==a)return!0;if(z.isArray(a)||z.isString(a))return 0===a.length;for(var b in a)if(z.has(a,b))return!1;return!0},z.isElement=function(a){return!(!a||1!==a.nodeType)},z.isArray=w||function(a){return"[object Array]"==l.call(a)},z.isObject=function(a){return a===Object(a)},A(["Arguments","Function","String","Number","Date","RegExp"],function(a){z["is"+a]=function(b){return l.call(b)=="[object "+a+"]"}}),z.isArguments(arguments)||(z.isArguments=function(a){return!(!a||!z.has(a,"callee"))}),"function"!=typeof/./&&(z.isFunction=function(a){return"function"==typeof a}),z.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},z.isNaN=function(a){return z.isNumber(a)&&a!=+a},z.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"==l.call(a)},z.isNull=function(a){return null===a},z.isUndefined=function(a){return void 0===a},z.has=function(a,b){return m.call(a,b)},z.noConflict=function(){return c._=d,this},z.identity=function(a){return a},z.times=function(a,b,c){for(var d=Array(a),e=0;a>e;e++)d[e]=b.call(c,e);return d},z.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};var H={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};H.unescape=z.invert(H.escape);var I={escape:new RegExp("["+z.keys(H.escape).join("")+"]","g"),unescape:new RegExp("("+z.keys(H.unescape).join("|")+")","g")};z.each(["escape","unescape"],function(a){z[a]=function(b){return null==b?"":(""+b).replace(I[a],function(b){return H[a][b]})}}),z.result=function(a,b){if(null==a)return null;var c=a[b];return z.isFunction(c)?c.call(a):c},z.mixin=function(a){A(z.functions(a),function(b){var c=z[b]=a[b];z.prototype[b]=function(){var a=[this._wrapped];return i.apply(a,arguments),N.call(this,c.apply(z,a))}})};var J=0;z.uniqueId=function(a){var b=++J+"";return a?a+b:b},z.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,L={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},M=/\\|'|\r|\n|\t|\u2028|\u2029/g;z.template=function(a,b,c){var d;c=z.defaults({},c,z.templateSettings);var e=new RegExp([(c.escape||K).source,(c.interpolate||K).source,(c.evaluate||K).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(M,function(a){return"\\"+L[a]}),c&&(g+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'"),d&&(g+="'+\n((__t=("+d+"))==null?'':__t)+\n'"),e&&(g+="';\n"+e+"\n__p+='"),f=h+b.length,b}),g+="';\n",c.variable||(g="with(obj||{}){\n"+g+"}\n"),g="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+g+"return __p;\n";try{d=new Function(c.variable||"obj","_",g)}catch(h){throw h.source=g,h}if(b)return d(b,z);var i=function(a){return d.call(this,a,z)};return i.source="function("+(c.variable||"obj")+"){\n"+g+"}",i},z.chain=function(a){return z(a).chain()};var N=function(a){return this._chain?z(a).chain():a};z.mixin(z),A(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=f[a];z.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!=a&&"splice"!=a||0!==c.length||delete c[0],N.call(this,c)}}),A(["concat","join","slice"],function(a){var b=f[a];z.prototype[a]=function(){return N.call(this,b.apply(this._wrapped,arguments))}}),z.extend(z.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}.call(this),a.exports}({},{}),b=function(a,b){return a.exports=b,function(a){function c(a){if(c[a]!==f)return c[a];var b;if("bug-string-char-index"==a)b="a"!="a"[0];else if("json"==a)b=c("json-stringify")&&c("json-parse");else{var d,e='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==a){var h=j.stringify,i="function"==typeof h&&k;if(i){(d=function(){return 1}).toJSON=d;try{i="0"===h(0)&&"0"===h(new Number)&&'""'==h(new String)&&h(g)===f&&h(f)===f&&h()===f&&"1"===h(d)&&"[1]"==h([d])&&"[null]"==h([f])&&"null"==h(null)&&"[null,null,null]"==h([f,g,null])&&h({a:[d,!0,!1,null,"\x00\b\n\f\r "]})==e&&"1"===h(null,d)&&"[\n 1,\n 2\n]"==h([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==h(new Date(-864e13))&&'"+275760-09-13T00:00:00.000Z"'==h(new Date(864e13))&&'"-000001-01-01T00:00:00.000Z"'==h(new Date(-621987552e5))&&'"1969-12-31T23:59:59.999Z"'==h(new Date(-1))}catch(l){i=!1}}b=i}if("json-parse"==a){var m=j.parse;if("function"==typeof m)try{if(0===m("0")&&!m(!1)){d=m(e);var n=5==d.a.length&&1===d.a[0];if(n){try{n=!m('" "')}catch(l){}if(n)try{n=1!==m("01")}catch(l){}if(n)try{n=1!==m("1.")}catch(l){}}}}catch(l){n=!1}b=n}}return c[a]=!!b}var d,e,f,g={}.toString,h="function"==typeof define&&define.amd,i="object"==typeof JSON&&JSON,j="object"==typeof b&&b&&!b.nodeType&&b;j&&i?(j.stringify=i.stringify,j.parse=i.parse):j=a.JSON=i||{};var k=new Date(-0xc782b5b800cec);try{k=-109252==k.getUTCFullYear()&&0===k.getUTCMonth()&&1===k.getUTCDate()&&10==k.getUTCHours()&&37==k.getUTCMinutes()&&6==k.getUTCSeconds()&&708==k.getUTCMilliseconds()}catch(l){}if(!c("json")){var m="[object Function]",n="[object Date]",o="[object Number]",p="[object String]",q="[object Array]",r="[object Boolean]",s=c("bug-string-char-index");if(!k)var t=Math.floor,u=[0,31,59,90,120,151,181,212,243,273,304,334],v=function(a,b){return u[b]+365*(a-1970)+t((a-1969+(b=+(b>1)))/4)-t((a-1901+b)/100)+t((a-1601+b)/400)};(d={}.hasOwnProperty)||(d=function(a){var b,c={};return(c.__proto__=null,c.__proto__={toString:1},c).toString!=g?d=function(a){var b=this.__proto__,c=a in(this.__proto__=null,this);return this.__proto__=b,c}:(b=c.constructor,d=function(a){var c=(this.constructor||b).prototype;return a in this&&!(a in c&&this[a]===c[a])}),c=null,d.call(this,a)});var w={"boolean":1,number:1,string:1,undefined:1},x=function(a,b){var c=typeof a[b];return"object"==c?!!a[b]:!w[c]};if(e=function(a,b){var c,f,h,i=0;(c=function(){this.valueOf=0}).prototype.valueOf=0,f=new c;for(h in f)d.call(f,h)&&i++;return c=f=null,i?e=2==i?function(a,b){var c,e={},f=g.call(a)==m;for(c in a)f&&"prototype"==c||d.call(e,c)||!(e[c]=1)||!d.call(a,c)||b(c)}:function(a,b){var c,e,f=g.call(a)==m;for(c in a)f&&"prototype"==c||!d.call(a,c)||(e="constructor"===c)||b(c);(e||d.call(a,c="constructor"))&&b(c)}:(f=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],e=function(a,b){var c,e,h=g.call(a)==m,i=!h&&"function"!=typeof a.constructor&&x(a,"hasOwnProperty")?a.hasOwnProperty:d;for(c in a)h&&"prototype"==c||!i.call(a,c)||b(c);for(e=f.length;c=f[--e];i.call(a,c)&&b(c));}),e(a,b)},!c("json-stringify")){var y={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},z="000000",A=function(a,b){return(z+(b||0)).slice(-a)},B="\\u00",C=function(a){var b,c='"',d=0,e=a.length,f=e>10&&s;for(f&&(b=a.split(""));e>d;d++){var g=a.charCodeAt(d);switch(g){case 8:case 9:case 10:case 12:case 13:case 34:case 92:c+=y[g];break;default:if(32>g){c+=B+A(2,g.toString(16));break}c+=f?b[d]:s?a.charAt(d):a[d]}}return c+'"'},D=function(a,b,c,h,i,j,k){var l,m,s,u,w,x,y,z,B,E,F,G,H,I,J,K;try{l=b[a]}catch(L){}if("object"==typeof l&&l)if(m=g.call(l),m!=n||d.call(l,"toJSON"))"function"==typeof l.toJSON&&(m!=o&&m!=p&&m!=q||d.call(l,"toJSON"))&&(l=l.toJSON(a));else if(l>-1/0&&1/0>l){if(v){for(w=t(l/864e5),s=t(w/365.2425)+1970-1;v(s+1,0)<=w;s++);for(u=t((w-v(s,0))/30.42);v(s,u+1)<=w;u++);w=1+w-v(s,u),x=(l%864e5+864e5)%864e5,y=t(x/36e5)%24,z=t(x/6e4)%60,B=t(x/1e3)%60,E=x%1e3}else s=l.getUTCFullYear(),u=l.getUTCMonth(),w=l.getUTCDate(),y=l.getUTCHours(),z=l.getUTCMinutes(),B=l.getUTCSeconds(),E=l.getUTCMilliseconds();l=(0>=s||s>=1e4?(0>s?"-":"+")+A(6,0>s?-s:s):A(4,s))+"-"+A(2,u+1)+"-"+A(2,w)+"T"+A(2,y)+":"+A(2,z)+":"+A(2,B)+"."+A(3,E)+"Z"}else l=null;if(c&&(l=c.call(b,a,l)),null===l)return"null";if(m=g.call(l),m==r)return""+l;if(m==o)return l>-1/0&&1/0>l?""+l:"null";if(m==p)return C(""+l);if("object"==typeof l){for(I=k.length;I--;)if(k[I]===l)throw TypeError();if(k.push(l),F=[],J=j,j+=i,m==q){for(H=0,I=l.length;I>H;H++)G=D(H,l,c,h,i,j,k),F.push(G===f?"null":G);K=F.length?i?"[\n"+j+F.join(",\n"+j)+"\n"+J+"]":"["+F.join(",")+"]":"[]"}else e(h||l,function(a){var b=D(a,l,c,h,i,j,k);b!==f&&F.push(C(a)+":"+(i?" ":"")+b)}),K=F.length?i?"{\n"+j+F.join(",\n"+j)+"\n"+J+"}":"{"+F.join(",")+"}":"{}";return k.pop(),K}};j.stringify=function(a,b,c){var d,e,f,h;if("function"==typeof b||"object"==typeof b&&b)if((h=g.call(b))==m)e=b;else if(h==q){f={};for(var i,j=0,k=b.length;k>j;i=b[j++],h=g.call(i),(h==p||h==o)&&(f[i]=1));}if(c)if((h=g.call(c))==o){if((c-=c%1)>0)for(d="",c>10&&(c=10);d.length<c;d+=" ");}else h==p&&(d=c.length<=10?c:c.slice(0,10));return D("",(i={},i[""]=a,i),e,f,d,"",[])}}if(!c("json-parse")){var E,F,G=String.fromCharCode,H={92:"\\",34:'"',47:"/",98:"\b",116:" ",110:"\n",102:"\f",114:"\r"},I=function(){throw E=F=null,SyntaxError()},J=function(){for(var a,b,c,d,e,f=F,g=f.length;g>E;)switch(e=f.charCodeAt(E)){case 9:case 10:case 13:case 32:E++;break;case 123:case 125:case 91:case 93:case 58:case 44:return a=s?f.charAt(E):f[E],E++,a;case 34:for(a="@",E++;g>E;)if(e=f.charCodeAt(E),32>e)I();else if(92==e)switch(e=f.charCodeAt(++E)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:a+=H[e],E++;break;case 117:for(b=++E,c=E+4;c>E;E++)e=f.charCodeAt(E),e>=48&&57>=e||e>=97&&102>=e||e>=65&&70>=e||I();a+=G("0x"+f.slice(b,E));break;default:I()}else{if(34==e)break;for(e=f.charCodeAt(E),b=E;e>=32&&92!=e&&34!=e;)e=f.charCodeAt(++E);a+=f.slice(b,E)}if(34==f.charCodeAt(E))return E++,a;I();default:if(b=E,45==e&&(d=!0,e=f.charCodeAt(++E)),e>=48&&57>=e){for(48==e&&(e=f.charCodeAt(E+1),e>=48&&57>=e)&&I(),d=!1;g>E&&(e=f.charCodeAt(E),e>=48&&57>=e);E++);if(46==f.charCodeAt(E)){for(c=++E;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==E&&I(),E=c}if(e=f.charCodeAt(E),101==e||69==e){for(e=f.charCodeAt(++E),(43==e||45==e)&&E++,c=E;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==E&&I(),E=c}return+f.slice(b,E)}if(d&&I(),"true"==f.slice(E,E+4))return E+=4,!0;if("false"==f.slice(E,E+5))return E+=5,!1;if("null"==f.slice(E,E+4))return E+=4,null;I()}return"$"},K=function(a){var b,c;if("$"==a&&I(),"string"==typeof a){if("@"==(s?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];a=J(),"]"!=a;c||(c=!0))c&&(","==a?(a=J(),"]"==a&&I()):I()),","==a&&I(),b.push(K(a));return b}if("{"==a){for(b={};a=J(),"}"!=a;c||(c=!0))c&&(","==a?(a=J(),"}"==a&&I()):I()),(","==a||"string"!=typeof a||"@"!=(s?a.charAt(0):a[0])||":"!=J())&&I(),b[a.slice(1)]=K(J());return b}I()}return a},L=function(a,b,c){var d=M(a,b,c);d===f?delete a[b]:a[b]=d},M=function(a,b,c){var d,f=a[b];if("object"==typeof f&&f)if(g.call(f)==q)for(d=f.length;d--;)L(f,d,c);else e(f,function(a){L(f,a,c)});return c.call(a,b,f)};j.parse=function(a,b){var c,d;return E=0,F=""+a,c=K(J()),"$"!=J()&&I(),E=F=null,b&&g.call(b)==m?M((d={},d[""]=c,d),"",b):c}}}h&&define(function(){return j})}(this),a.exports}({},{}),c=(function(a,b){return a.exports=b,window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.6.3",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["­",'<style id="s',r,'">',a,"</style>"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,"undefined"!=typeof p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=r.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=q[a[o]];return b||(b={},p++,a[o]=p,q[p]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():n.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),f.canHaveChildren&&!m.test(a)?d.frag.appendChild(f):f}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function i(a){a||(a=b);var d=e(a);return!r.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),k||h(a,d),a}var j,k,l=a.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,n=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,o="_html5shiv",p=0,q={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var r={elements:l.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:l.shivCSS!==!1,supportsUnknownElements:k,shivMethods:l.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=r,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document),a.exports}({},{}),function(a,b){return a.exports=b,b.WORKER_PROVIDER_MESSAGE_TYPE={register:1,"worker message":2,"worker spawned":3,"worker dead":4,available:5,unavailable:6,"kill worker":7,"spawn worker":8,"start heartbeats":9,heartbeat:10,unresponsive:11,responsive:12,dead:13},b.MONITOR_MESSAGE_TYPE={"new worker provider":0,"worker provider message":1},a.exports
}({},{})),d=function(a,b){return a.exports=b,function(a){"use strict";function b(){}function c(a,b){if(e)return b.indexOf(a);for(var c=b.length;c--;)if(b[c]===a)return c;return-1}var d=b.prototype,e=Array.prototype.indexOf?!0:!1;d.getListeners=function(a){var b=this._events||(this._events={});return b[a]||(b[a]=[])},d.addListener=function(a,b){var d=this.getListeners(a);return-1===c(b,d)&&d.push(b),this},d.on=d.addListener,d.removeListener=function(a,b){var d=this.getListeners(a),e=c(b,d);return-1!==e&&(d.splice(e,1),0===d.length&&(this._events[a]=null)),this},d.off=d.removeListener,d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"==typeof b)for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));else for(d=c.length;d--;)f.call(this,b,c[d]);return this},d.removeEvent=function(a){return a?this._events[a]=null:this._events=null,this},d.emitEvent=function(a,b){for(var c,d=this.getListeners(a),e=d.length;e--;)c=b?d[e].apply(null,b):d[e](),c===!0&&this.removeListener(a,d[e]);return this},d.trigger=d.emitEvent,"function"==typeof define&&define.amd?define(function(){return b}):a.EventEmitter=b}(b),b.EventEmitter.prototype.emit=function(a,c){b.EventEmitter.prototype.trigger.call(this,a,[c])},a.exports}({},{}),e=function(a,b){return a.exports=b,b.noop=function(){},a.exports}({},{}),f=function(b,c){b.exports=c;var f=a,g=d.EventEmitter,h=e;window.iframeSockets={};var i=function(){this.pendingMessages=[],this.message=this.message.bind(this),this.api=this.postMessage.bind(this),this.api.onMessage=h.noop,this.ready=f.once(this.ready.bind(this))};i.prototype.onPostMessage=h.noop,i.prototype.isReady=!1,i.prototype.postMessage=function(a){this.onPostMessage(a)},i.prototype.ready=function(){this.isReady=!0,f.each(this.pendingMessages,this.message)},i.prototype.message=function(a){this.isReady?this.api.onMessage(a):this.pendingMessages.push(a)},c.create=function(a){var b=new j(a);return b};var j=function(a){this.id=a,this.iframe=document.createElement("IFRAME"),this.iframe.className="queen-worker",document.body.appendChild(this.iframe),this.kill=f.once(f.bind(this.kill,this)),this.start=f.once(f.bind(this.start,this)),this.emitter=new g,this.pendingMessages=[],this.socket=new i,this.socket.onPostMessage=f.bind(this.postMessageFromWorker,this),this.socket.api.kill=this.kill,window.iframeSockets[this.id]=this.socket.api,this.postMessage=this.socket.message,this.api=k.call(this)},k=function(){var a={};return a.id=this.id,a.on=f.bind(this.emitter.on,this.emitter),a.removeListener=f.bind(this.emitter.removeListener,this.emitter),a.kill=this.kill,a};j.prototype.postMessageFromWorker=function(a){this.emitter.emit("message",a)},j.prototype.start=function(a){var b=a.run;"string"==typeof b?this.loadUrl(b):b.length?this.runScripts(b):this.kill()};var l="<script>window.queenSocket = window.parent.iframeSockets['QUEEN_SOCKET_ID'];window.alert = function(){};window.confirm = function(){return false;};window.prompt = function(){return null;};</script>";return j.prototype.runScripts=function(a){var b,c,d;b=this.iframe,c=b.contentDocument?b.contentDocument:b.contentWindow.document,d="<html><head><title></title></head><body>",d+=l.replace("QUEEN_SOCKET_ID",this.id),f.each(a,function(a){d+='<script type="text/javascript" src="'+a+'"></script>'}),d+="<script></script>",this.waitForIframeToLoad(),c.open(),c.write(d),c.close()},j.prototype.loadUrl=function(a){{var b=this.iframe;b.contentDocument?b.contentDocument:b.contentWindow.document}b.src=a+"?queenSocketId="+this.id,this.waitForIframeToLoad()},j.prototype.waitForIframeToLoad=function(){function a(){b.socket.ready()}var b=this,c=this.iframe;this.iframeWindow=c.contentWindow,c.attachEvent?c.onreadystatechange=function(){"complete"===b.iframe.readyState&&a()}:this.iframe.onload=a},j.prototype.kill=function(a){delete window.iframeSockets[this.id],document.body.removeChild(this.iframe),this.iframe=void 0,this.emitter.emit("dead",a)},b.exports}({},{}),g=function(g,h){g.exports=h;var i=b;window.JSON||(window.JSON=i);var j=a,k=d.EventEmitter,l=f.create,m=e,n=c.WORKER_PROVIDER_MESSAGE_TYPE;"undefined"!=typeof io&&(window.io=io),g.exports=function(a,b){b=b||{};var c=(b.env||window,io.connect(a,{"max reconnection attempts":1/0,"reconnection limit":6e4})),d=new p(c);return b.workerTimeout&&(d.workerTimeout=b.workerTimeout),b.maxWorkerCount&&(d.maxWorkerCount=b.maxWorkerCount),b.logger&&(d.log=b.logger),d.api};var o=function(){var a={};return a.on=j.bind(this.emitter.on,this.emitter),a.removeListener=j.bind(this.emitter.removeListener,this.emitter),a.kill=this.kill,a.attributes=this.attributes,a},p=function(a){var b=this;this.emitter=new k,this.socket=a,this.workers={},this.kill=j.once(j.bind(this.kill,this)),this.workerCount=0,a.on("connect",j.bind(this.connectionHandler,this)),a.on("message",j.bind(this.messageHandler,this)),a.on("disconnect",j.bind(this.disconnectionHandler,this)),this.attributes={populatorClientId:this.getClientId(),userAgent:navigator.userAgent,capabilities:{}},j.each(Modernizr,function(a,c){j.isFunction(a)||j.isArray(a)||"_version"===c||(b.attributes.capabilities[c]=a)}),this.api=o.call(this)};return p.prototype.maxWorkerCount=200,p.prototype.workerTimeout=1/0,p.prototype.log=m.noop,p.prototype.getClientId=function(){var a=window.location.search.match(/(?:\?|\&)clientId=(.*)(?:\&|$)/);return a?a[1]:void 0},p.prototype.kill=function(){this.destroyWorkers(),this.emitter.emit("dead"),this.socket=void 0,this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),delete this.heartbeatTimer)},p.prototype.sendToSocket=function(a){this.socket.send(JSON.stringify(a))},p.prototype.connectionHandler=function(){this.isReconnecting?window.location.reload(!0):(this.log("Connected"),this.emitter.emit("connect"),this.startHeartbeats(),this.register())},p.prototype.startHeartbeats=function(a){function b(){c.sendToSocket([n.heartbeat])}var c=this;this.heartbeatTimer=setInterval(b,a)},p.prototype.messageHandler=function(a){switch(a=JSON.parse(a),a[0]){case n["start heartbeats"]:this.startHeartbeats(a[1]);break;case n["worker message"]:this.workerMessageHandler(a[1],a[2]);break;case n["spawn worker"]:this.spawnWorkerHandler(a[1],a[2]);break;case n["kill worker"]:this.killWorkerHandler(a[1])}},p.prototype.workerMessageHandler=function(a,b){var c=this.workers[a];void 0!==c&&c.postMessage(b)},p.prototype.spawnWorkerHandler=function(a,b){this.log("Spawning Worker");{var c,d,e=this;b.timeout}return this.workerCount>=this.maxWorkerCount?void this.log("Max worker count reached, can't spawn additional workers"):(c=l(a),this.workers[a]=c,b.timeout&&b.timeout<this.workerTimeout?d=setTimeout(function(){c.kill("timeout")},b.timeout):1/0!==this.workerTimeout&&void 0!==this.workerTimeout&&(d=setTimeout(function(){c.kill("timeout")},this.workerTimeout)),c.api.on("message",function(b){e.sendToSocket([n["worker message"],a,b])}),c.api.on("dead",function(b){void 0!==d&&clearTimeout(d),delete e.workers[a],e.workerCount--,e.workerCount===e.maxWorkerCount-1&&(e.sendToSocket([n.available]),e.emitter.emit("available")),e.emitter.emit("workerDead",a),e.sendToSocket([n["worker dead"],a,b])}),this.workerCount++,this.workerCount===this.maxWorkerCount&&(e.sendToSocket([n.unavailable]),this.emitter.emit("unavailable")),this.sendToSocket([n["worker spawned"],a]),c.start(b),void e.emitter.emit("worker",c.api))},p.prototype.killWorkerHandler=function(a){var b=this.workers[a];void 0!==b&&b.kill()},p.prototype.disconnectionHandler=function(){this.log("Disconnected"),this.emitter.emit("disconnect"),this.destroyWorkers(),this.isReconnecting=!0,this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),delete this.heartbeatTimer)},p.prototype.destroyWorkers=function(){j.each(this.workers,function(a){a.kill()}),this.workers={},this.workerCount=0},p.prototype.register=function(){this.sendToSocket([n.register,this.attributes])},g.exports}({},{});return g}();