Skip to content

Instantly share code, notes, and snippets.

@shotgunner
Created December 3, 2017 19:54
Show Gist options
  • Save shotgunner/9ed36812420e853f584e87141618ad77 to your computer and use it in GitHub Desktop.
Save shotgunner/9ed36812420e853f584e87141618ad77 to your computer and use it in GitHub Desktop.
cube slam corrected js file
function require(e,t,n){var i=require.resolve(e);if(null==i){n=n||e,t=t||"root";var a=new Error('Failed to require "'+n+'" from "'+t+'"');throw a.path=n,a.parent=t,a.require=!0,a}var r=require.modules[i];return r.exports||(r.exports={},r.client=r.component=!0,r.call(this,r.exports,require.relative(i),r)),r.exports}var has=Object.prototype.hasOwnProperty;require.modules={},require.aliases={},require.resolve=function(e){for(var t=e+"/index.js",n=[e,e+".js",e+".json",e+"/index.js",e+"/index.json"],i=0;i<n.length;i++){var e=n[i];if(has.call(require.modules,e))return e}return has.call(require.aliases,t)?require.aliases[t]:void 0},require.normalize=function(e,t){var n=[];if("."!=t.charAt(0))return t;e=e.split("/"),t=t.split("/");for(var i=0;i<t.length;++i)".."==t[i]?e.pop():"."!=t[i]&&""!=t[i]&&n.push(t[i]);return e.concat(n).join("/")},require.register=function(e,t){require.modules[e]=t},require.alias=function(e,t){if(!has.call(require.modules,e))throw new Error('Failed to alias "'+e+'", it does not exist');require.aliases[t]=e},require.relative=function(e){function t(e,t){for(var n=e.length;n--;)if(e[n]===t)return n;return-1}function n(t){var i=n.resolve(t);return require(i,e,t)}var i=require.normalize(e,"..");return n.resolve=function(n){if("."!=n.charAt(0)){var a=e.split("/"),r=t(a,"deps")+1;return r||(r=0),n=a.slice(0,r+1).join("/")+"/deps/"+n}return require.normalize(i,n)},n.exists=function(e){return has.call(require.modules,n.resolve(e))},n},require.register("component-indexof/index.js",function(e,t,n){n.exports=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1}}),require.register("component-emitter/index.js",function(e,t,n){function i(e){return e?a(e):void 0}function a(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}var r=t("indexof");n.exports=i,i.prototype.on=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[e]=this._callbacks[e]||[]).push(t),this},i.prototype.once=function(e,t){function n(){i.off(e,n),t.apply(this,arguments)}var i=this;return this._callbacks=this._callbacks||{},t._off=n,this.on(e,n),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks[e];if(!n)return this;if(1==arguments.length)return delete this._callbacks[e],this;var i=r(n,t._off||t);return~i&&n.splice(i,1),this},i.prototype.emit=function(e){this._callbacks=this._callbacks||{};var t=[].slice.call(arguments,1),n=this._callbacks[e];if(n){n=n.slice(0);for(var i=0,a=n.length;a>i;++i)n[i].apply(this,t)}return this},i.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[e]||[]},i.prototype.hasListeners=function(e){return!!this.listeners(e).length}}),require.register("component-mousetrap/index.js",function(e,t,n){function i(e,t,n){return e.addEventListener?e.addEventListener(t,n,!1):(e.attachEvent("on"+t,n),void 0)}function a(e){return"keypress"==e.type?String.fromCharCode(e.which):w[e.which]?w[e.which]:T[e.which]?T[e.which]:String.fromCharCode(e.which).toLowerCase()}function r(e){var t=e.target||e.srcElement,n=t.tagName;return(" "+t.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==n||"SELECT"==n||"TEXTAREA"==n||t.contentEditable&&"true"==t.contentEditable}function s(e,t){return e.sort().join(",")===t.sort().join(",")}function o(e){e=e||{};var t,n=!1;for(t in S)e[t]?n=!0:S[t]=0;n||(N=!1)}function l(e,t,n,i,a){var r,o,l=[];if(!A[e])return[];for("keyup"==n&&m(e)&&(t=[e]),r=0;r<A[e].length;++r)o=A[e][r],o.seq&&S[o.seq]!=o.level||n==o.action&&("keypress"==n||s(t,o.modifiers))&&(i&&o.combo==a&&A[e].splice(r,1),l.push(o));return l}function c(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function u(e,t){e(t)===!1&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.returnValue=!1,t.cancelBubble=!0)}function d(e,t){if(!r(t)){var n,i=l(e,c(t),t.type),a={},s=!1;for(n=0;n<i.length;++n)i[n].seq?(s=!0,a[i[n].seq]=1,u(i[n].callback,t)):s||N||u(i[n].callback,t);t.type!=N||m(e)||o(a)}}function p(e){e.which="number"==typeof e.which?e.which:e.keyCode;var t=a(e);if(t)return"keyup"==e.type&&C==t?(C=!1,void 0):(d(t,e),void 0)}function m(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function h(){clearTimeout(x),x=setTimeout(o,1e3)}function f(){if(!_){_={};for(var e in w)e>95&&112>e||w.hasOwnProperty(e)&&(_[w[e]]=e)}return _}function g(e,t,n){return n||(n=f()[e]?"keydown":"keypress"),"keypress"==n&&t.length&&(n="keydown"),n}function y(e,t,n,i){S[e]=0,i||(i=g(t[0],[]));var r,s=function(){N=i,++S[e],h()},l=function(e){u(n,e),"keyup"!==i&&(C=a(e)),setTimeout(o,10)};for(r=0;r<t.length;++r)v(t[r],r<t.length-1?s:l,i,e,r)}function v(e,t,n,i,a){e=e.replace(/\s+/g," ");var r,s,o,c=e.split(" "),u=[];if(c.length>1)return y(e,c,t,n);for(o="+"===e?["+"]:e.split("+"),r=0;r<o.length;++r)s=o[r],k[s]&&(s=k[s]),n&&"keypress"!=n&&E[s]&&(s=E[s],u.push("shift")),m(s)&&u.push(s);n=g(s,u,n),A[s]||(A[s]=[]),l(s,u,n,!i,e),A[s][i?"unshift":"push"]({callback:t,modifiers:u,action:n,seq:i,level:a,combo:e})}function b(e,t,n){for(var i=0;i<e.length;++i)v(e[i],t,n)}for(var _,x,w={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},T={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},E={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},k={option:"alt",command:"meta","return":"enter",escape:"esc"},A={},P={},S={},C=!1,N=!1,I=1;20>I;++I)w[111+I]="f"+I;for(I=0;9>=I;++I)w[I+96]=I;i(document,"keypress",p),i(document,"keydown",p),i(document,"keyup",p);var M={bind:function(e,t,n){return b(e instanceof Array?e:[e],t,n),P[e+":"+n]=t,this},unbind:function(e,t){return P[e+":"+t]&&(delete P[e+":"+t],this.bind(e,function(){},t)),this},trigger:function(e,t){return P[e+":"+t](),this},reset:function(){return A={},P={},this}};n.exports=M}),require.register("component-cookie/index.js",function(e,t,n){function i(e,t,n){n=n||{};var i=o(e)+"="+o(t);null==t&&(n.maxage=-1),n.maxage&&(n.expires=new Date(+new Date+n.maxage)),n.path&&(i+="; path="+n.path),n.domain&&(i+="; domain="+n.domain),n.expires&&(i+="; expires="+n.expires.toUTCString()),n.secure&&(i+="; secure"),document.cookie=i}function a(){return s(document.cookie)}function r(e){return a()[e]}function s(e){var t,n={},i=e.split(/ *; */);if(""==i[0])return n;for(var a=0;a<i.length;++a)t=i[a].split("="),n[l(t[0])]=l(t[1]);return n}var o=encodeURIComponent,l=decodeURIComponent;n.exports=function(e,t,n){switch(arguments.length){case 3:case 2:return i(e,t,n);case 1:return r(e);default:return a()}}}),require.register("component-jquery/index.js",function(e,t,n){!function(e,t){function i(e){var t=e.length,n=ct.type(e);return ct.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function a(e){var t=Et[e]={};return ct.each(e.match(dt)||[],function(e,n){t[n]=!0}),t}function r(e,n,i,a){if(ct.acceptData(e)){var r,s,o=ct.expando,l="string"==typeof n,c=e.nodeType,u=c?ct.cache:e,d=c?e[o]:e[o]&&o;if(d&&u[d]&&(a||u[d].data)||!l||i!==t)return d||(c?e[o]=d=et.pop()||ct.guid++:d=o),u[d]||(u[d]={},c||(u[d].toJSON=ct.noop)),("object"==typeof n||"function"==typeof n)&&(a?u[d]=ct.extend(u[d],n):u[d].data=ct.extend(u[d].data,n)),r=u[d],a||(r.data||(r.data={}),r=r.data),i!==t&&(r[ct.camelCase(n)]=i),l?(s=r[n],null==s&&(s=r[ct.camelCase(n)])):s=r,s}}function s(e,t,n){if(ct.acceptData(e)){var i,a,r,s=e.nodeType,o=s?ct.cache:e,c=s?e[ct.expando]:ct.expando;if(o[c]){if(t&&(r=n?o[c]:o[c].data)){ct.isArray(t)?t=t.concat(ct.map(t,ct.camelCase)):t in r?t=[t]:(t=ct.camelCase(t),t=t in r?[t]:t.split(" "));for(i=0,a=t.length;a>i;i++)delete r[t[i]];if(!(n?l:ct.isEmptyObject)(r))return}(n||(delete o[c].data,l(o[c])))&&(s?ct.cleanData([e],!0):ct.support.deleteExpando||o!=o.window?delete o[c]:o[c]=null)}}}function o(e,n,i){if(i===t&&1===e.nodeType){var a="data-"+n.replace(At,"-$1").toLowerCase();if(i=e.getAttribute(a),"string"==typeof i){try{i="true"===i?!0:"false"===i?!1:"null"===i?null:+i+""===i?+i:kt.test(i)?ct.parseJSON(i):i}catch(r){}ct.data(e,n,i)}else i=t}return i}function l(e){var t;for(t in e)if(("data"!==t||!ct.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(){return!0}function u(){return!1}function d(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function p(e,t,n){if(t=t||0,ct.isFunction(t))return ct.grep(e,function(e,i){var a=!!t.call(e,i,e);return a===n});if(t.nodeType)return ct.grep(e,function(e){return e===t===n});if("string"==typeof t){var i=ct.grep(e,function(e){return 1===e.nodeType});if(Ht.test(t))return ct.filter(t,i,!n);t=ct.filter(t,i)}return ct.grep(e,function(e){return ct.inArray(e,t)>=0===n})}function m(e){var t=Yt.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function f(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function g(e){var t=sn.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function y(e,t){for(var n,i=0;null!=(n=e[i]);i++)ct._data(n,"globalEval",!t||ct._data(t[i],"globalEval"))}function v(e,t){if(1===t.nodeType&&ct.hasData(e)){var n,i,a,r=ct._data(e),s=ct._data(t,r),o=r.events;if(o){delete s.handle,s.events={};for(n in o)for(i=0,a=o[n].length;a>i;i++)ct.event.add(t,n,o[n][i])}s.data&&(s.data=ct.extend({},s.data))}}function b(e,t){var n,i,a;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!ct.support.noCloneEvent&&t[ct.expando]){a=ct._data(t);for(i in a.events)ct.removeEvent(t,i,a.handle);t.removeAttribute(ct.expando)}"script"===n&&t.text!==e.text?(f(t).text=e.text,g(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),ct.support.html5Clone&&e.innerHTML&&!ct.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&nn.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function _(e,n){var i,a,r=0,s=typeof e.getElementsByTagName!==W?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==W?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],i=e.childNodes||e;null!=(a=i[r]);r++)!n||ct.nodeName(a,n)?s.push(a):ct.merge(s,_(a,n));return n===t||n&&ct.nodeName(e,n)?ct.merge([e],s):s}function x(e){nn.test(e.type)&&(e.defaultChecked=e.checked)}function w(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),i=t,a=An.length;a--;)if(t=An[a]+n,t in e)return t;return i}function T(e,t){return e=t||e,"none"===ct.css(e,"display")||!ct.contains(e.ownerDocument,e)}function E(e,t){for(var n,i,a,r=[],s=0,o=e.length;o>s;s++)i=e[s],i.style&&(r[s]=ct._data(i,"olddisplay"),n=i.style.display,t?(r[s]||"none"!==n||(i.style.display=""),""===i.style.display&&T(i)&&(r[s]=ct._data(i,"olddisplay",S(i.nodeName)))):r[s]||(a=T(i),(n&&"none"!==n||!a)&&ct._data(i,"olddisplay",a?n:ct.css(i,"display"))));for(s=0;o>s;s++)i=e[s],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?r[s]||"":"none"));return e}function k(e,t,n){var i=bn.exec(t);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):t}function A(e,t,n,i,a){for(var r=n===(i?"border":"content")?4:"width"===t?1:0,s=0;4>r;r+=2)"margin"===n&&(s+=ct.css(e,n+kn[r],!0,a)),i?("content"===n&&(s-=ct.css(e,"padding"+kn[r],!0,a)),"margin"!==n&&(s-=ct.css(e,"border"+kn[r]+"Width",!0,a))):(s+=ct.css(e,"padding"+kn[r],!0,a),"padding"!==n&&(s+=ct.css(e,"border"+kn[r]+"Width",!0,a)));return s}function P(e,t,n){var i=!0,a="width"===t?e.offsetWidth:e.offsetHeight,r=pn(e),s=ct.support.boxSizing&&"border-box"===ct.css(e,"boxSizing",!1,r);if(0>=a||null==a){if(a=mn(e,t,r),(0>a||null==a)&&(a=e.style[t]),_n.test(a))return a;i=s&&(ct.support.boxSizingReliable||a===e.style[t]),a=parseFloat(a)||0}return a+A(e,t,n||(s?"border":"content"),i,r)+"px"}function S(e){var t=$,n=wn[e];return n||(n=C(e,t),"none"!==n&&n||(dn=(dn||ct("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(dn[0].contentWindow||dn[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=C(e,t),dn.detach()),wn[e]=n),n}function C(e,t){var n=ct(t.createElement(e)).appendTo(t.body),i=ct.css(n[0],"display");return n.remove(),i}function N(e,t,n,i){var a;if(ct.isArray(t))ct.each(t,function(t,a){n||Sn.test(e)?i(e,a):N(e+"["+("object"==typeof a?t:"")+"]",a,n,i)});else if(n||"object"!==ct.type(t))i(e,t);else for(a in t)N(e+"["+a+"]",t[a],n,i)}function I(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,a=0,r=t.toLowerCase().match(dt)||[];if(ct.isFunction(n))for(;i=r[a++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function M(e,t,n,i){function a(o){var l;return r[o]=!0,ct.each(e[o]||[],function(e,o){var c=o(t,n,i);return"string"!=typeof c||s||r[c]?s?!(l=c):void 0:(t.dataTypes.unshift(c),a(c),!1)}),l}var r={},s=e===Vn;return a(t.dataTypes[0])||!r["*"]&&a("*")}function z(e,n){var i,a,r=ct.ajaxSettings.flatOptions||{};for(a in n)n[a]!==t&&((r[a]?e:i||(i={}))[a]=n[a]);return i&&ct.extend(!0,e,i),e}function L(e,n,i){var a,r,s,o,l=e.contents,c=e.dataTypes,u=e.responseFields;for(o in u)o in i&&(n[u[o]]=i[o]);for(;"*"===c[0];)c.shift(),r===t&&(r=e.mimeType||n.getResponseHeader("Content-Type"));if(r)for(o in l)if(l[o]&&l[o].test(r)){c.unshift(o);break}if(c[0]in i)s=c[0];else{for(o in i){if(!c[0]||e.converters[o+" "+c[0]]){s=o;break}a||(a=o)}s=s||a}return s?(s!==c[0]&&c.unshift(s),i[s]):void 0}function B(e,t){var n,i,a,r,s={},o=0,l=e.dataTypes.slice(),c=l[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l[1])for(a in e.converters)s[a.toLowerCase()]=e.converters[a];for(;i=l[++o];)if("*"!==i){if("*"!==c&&c!==i){if(a=s[c+" "+i]||s["* "+i],!a)for(n in s)if(r=n.split(" "),r[1]===i&&(a=s[c+" "+r[0]]||s["* "+r[0]])){a===!0?a=s[n]:s[n]!==!0&&(i=r[0],l.splice(o--,0,i));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(u){return{state:"parsererror",error:a?u:"No conversion from "+c+" to "+i}}}c=i}return{state:"success",data:t}}function R(){try{return new e.XMLHttpRequest}catch(t){}}function q(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function O(){return setTimeout(function(){ei=t}),ei=ct.now()}function j(e,t){ct.each(t,function(t,n){for(var i=(si[t]||[]).concat(si["*"]),a=0,r=i.length;r>a;a++)if(i[a].call(e,t,n))return})}function D(e,t,n){var i,a,r=0,s=ri.length,o=ct.Deferred().always(function(){delete l.elem}),l=function(){if(a)return!1;for(var t=ei||O(),n=Math.max(0,c.startTime+c.duration-t),i=n/c.duration||0,r=1-i,s=0,l=c.tweens.length;l>s;s++)c.tweens[s].run(r);return o.notifyWith(e,[c,r,n]),1>r&&l?n:(o.resolveWith(e,[c]),!1)},c=o.promise({elem:e,props:ct.extend({},t),opts:ct.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:ei||O(),duration:n.duration,tweens:[],createTween:function(t,n){var i=ct.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(i),i},stop:function(t){var n=0,i=t?c.tweens.length:0;if(a)return this;for(a=!0;i>n;n++)c.tweens[n].run(1);return t?o.resolveWith(e,[c,t]):o.rejectWith(e,[c,t]),this}}),u=c.props;for(F(u,c.opts.specialEasing);s>r;r++)if(i=ri[r].call(c,e,u,c.opts))return i;return j(c,u),ct.isFunction(c.opts.start)&&c.opts.start.call(e,c),ct.fx.timer(ct.extend(l,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function F(e,t){var n,i,a,r,s;for(a in e)if(i=ct.camelCase(a),r=t[i],n=e[a],ct.isArray(n)&&(r=n[1],n=e[a]=n[0]),a!==i&&(e[i]=n,delete e[a]),s=ct.cssHooks[i],s&&"expand"in s){n=s.expand(n),delete e[i];for(a in n)a in e||(e[a]=n[a],t[a]=r)}else t[i]=r}function G(e,t,n){var i,a,r,s,o,l,c,u,d,p=this,m=e.style,h={},f=[],g=e.nodeType&&T(e);n.queue||(u=ct._queueHooks(e,"fx"),null==u.unqueued&&(u.unqueued=0,d=u.empty.fire,u.empty.fire=function(){u.unqueued||d()}),u.unqueued++,p.always(function(){p.always(function(){u.unqueued--,ct.queue(e,"fx").length||u.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[m.overflow,m.overflowX,m.overflowY],"inline"===ct.css(e,"display")&&"none"===ct.css(e,"float")&&(ct.support.inlineBlockNeedsLayout&&"inline"!==S(e.nodeName)?m.zoom=1:m.display="inline-block")),n.overflow&&(m.overflow="hidden",ct.support.shrinkWrapBlocks||p.always(function(){m.overflow=n.overflow[0],m.overflowX=n.overflow[1],m.overflowY=n.overflow[2]}));for(a in t)if(s=t[a],ni.exec(s)){if(delete t[a],l=l||"toggle"===s,s===(g?"hide":"show"))continue;f.push(a)}if(r=f.length){o=ct._data(e,"fxshow")||ct._data(e,"fxshow",{}),"hidden"in o&&(g=o.hidden),l&&(o.hidden=!g),g?ct(e).show():p.done(function(){ct(e).hide()}),p.done(function(){var t;ct._removeData(e,"fxshow");for(t in h)ct.style(e,t,h[t])});for(a=0;r>a;a++)i=f[a],c=p.createTween(i,g?o[i]:0),h[i]=o[i]||ct.style(e,i),i in o||(o[i]=c.start,g&&(c.end=c.start,c.start="width"===i||"height"===i?1:0))}}function X(e,t,n,i,a){return new X.prototype.init(e,t,n,i,a)}function H(e,t){var n,i={height:e},a=0;for(t=t?1:0;4>a;a+=2-t)n=kn[a],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function V(e){return ct.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var U,Y,W=typeof t,$=e.document,Q=e.location,J=e.jQuery,K=e.$,Z={},et=[],tt="1.9.1",nt=et.concat,it=et.push,at=et.slice,rt=et.indexOf,st=Z.toString,ot=Z.hasOwnProperty,lt=tt.trim,ct=function(e,t){return new ct.fn.init(e,t,Y)},ut=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,dt=/\S+/g,pt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,mt=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,ht=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ft=/^[\],:{}\s]*$/,gt=/(?:^|:|,)(?:\s*\[)+/g,yt=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,vt=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bt=/^-ms-/,_t=/-([\da-z])/gi,xt=function(e,t){return t.toUpperCase()},wt=function(e){($.addEventListener||"load"===e.type||"complete"===$.readyState)&&(Tt(),ct.ready())},Tt=function(){$.addEventListener?($.removeEventListener("DOMContentLoaded",wt,!1),e.removeEventListener("load",wt,!1)):($.detachEvent("onreadystatechange",wt),e.detachEvent("onload",wt))};ct.fn=ct.prototype={jquery:tt,constructor:ct,init:function(e,n,i){var a,r;if(!e)return this;if("string"==typeof e){if(a="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:mt.exec(e),!a||!a[1]&&n)return!n||n.jquery?(n||i).find(e):this.constructor(n).find(e);if(a[1]){if(n=n instanceof ct?n[0]:n,ct.merge(this,ct.parseHTML(a[1],n&&n.nodeType?n.ownerDocument||n:$,!0)),ht.test(a[1])&&ct.isPlainObject(n))for(a in n)ct.isFunction(this[a])?this[a](n[a]):this.attr(a,n[a]);return this}if(r=$.getElementById(a[2]),r&&r.parentNode){if(r.id!==a[2])return i.find(e);this.length=1,this[0]=r}return this.context=$,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):ct.isFunction(e)?i.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),ct.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return at.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=ct.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return ct.each(this,e,t)},ready:function(e){return ct.ready.promise().done(e),this},slice:function(){return this.pushStack(at.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(ct.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:it,sort:[].sort,splice:[].splice},ct.fn.init.prototype=ct.fn,ct.extend=ct.fn.extend=function(){var e,n,i,a,r,s,o=arguments[0]||{},l=1,c=arguments.length,u=!1;for("boolean"==typeof o&&(u=o,o=arguments[1]||{},l=2),"object"==typeof o||ct.isFunction(o)||(o={}),c===l&&(o=this,--l);c>l;l++)if(null!=(r=arguments[l]))for(a in r)e=o[a],i=r[a],o!==i&&(u&&i&&(ct.isPlainObject(i)||(n=ct.isArray(i)))?(n?(n=!1,s=e&&ct.isArray(e)?e:[]):s=e&&ct.isPlainObject(e)?e:{},o[a]=ct.extend(u,s,i)):i!==t&&(o[a]=i));return o},ct.extend({noConflict:function(t){return e.$===ct&&(e.$=K),t&&e.jQuery===ct&&(e.jQuery=J),ct},isReady:!1,readyWait:1,holdReady:function(e){e?ct.readyWait++:ct.ready(!0)},ready:function(e){if(e===!0?!--ct.readyWait:!ct.isReady){if(!$.body)return setTimeout(ct.ready);ct.isReady=!0,e!==!0&&--ct.readyWait>0||(U.resolveWith($,[ct]),ct.fn.trigger&&ct($).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===ct.type(e)},isArray:Array.isArray||function(e){return"array"===ct.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?String(e):"object"==typeof e||"function"==typeof e?Z[st.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==ct.type(e)||e.nodeType||ct.isWindow(e))return!1;try{if(e.constructor&&!ot.call(e,"constructor")&&!ot.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var i;for(i in e);return i===t||ot.call(e,i)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||$;var i=ht.exec(e),a=!n&&[];return i?[t.createElement(i[1])]:(i=ct.buildFragment([e],t,a),a&&ct(a).remove(),ct.merge([],i.childNodes))},parseJSON:function(t){return e.JSON&&e.JSON.parse?e.JSON.parse(t):null===t?t:"string"==typeof t&&(t=ct.trim(t),t&&ft.test(t.replace(yt,"@").replace(vt,"]").replace(gt,"")))?new Function("return "+t)():(ct.error("Invalid JSON: "+t),void 0)},parseXML:function(n){var i,a;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(a=new DOMParser,i=a.parseFromString(n,"text/xml")):(i=new ActiveXObject("Microsoft.XMLDOM"),i.async="false",i.loadXML(n))}catch(r){i=t}return i&&i.documentElement&&!i.getElementsByTagName("parsererror").length||ct.error("Invalid XML: "+n),i},noop:function(){},globalEval:function(t){t&&ct.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(bt,"ms-").replace(_t,xt)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var a,r=0,s=e.length,o=i(e);if(n){if(o)for(;s>r&&(a=t.apply(e[r],n),a!==!1);r++);else for(r in e)if(a=t.apply(e[r],n),a===!1)break}else if(o)for(;s>r&&(a=t.call(e[r],r,e[r]),a!==!1);r++);else for(r in e)if(a=t.call(e[r],r,e[r]),a===!1)break;return e},trim:lt&&!lt.call(" ")?function(e){return null==e?"":lt.call(e)}:function(e){return null==e?"":(e+"").replace(pt,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(i(Object(e))?ct.merge(n,"string"==typeof e?[e]:e):it.call(n,e)),n},inArray:function(e,t,n){var i;if(t){if(rt)return rt.call(t,e,n);for(i=t.length,n=n?0>n?Math.max(0,i+n):n:0;i>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var i=n.length,a=e.length,r=0;if("number"==typeof i)for(;i>r;r++)e[a++]=n[r];else for(;n[r]!==t;)e[a++]=n[r++];return e.length=a,e},grep:function(e,t,n){var i,a=[],r=0,s=e.length;for(n=!!n;s>r;r++)i=!!t(e[r],r),n!==i&&a.push(e[r]);return a},map:function(e,t,n){var a,r=0,s=e.length,o=i(e),l=[];if(o)for(;s>r;r++)a=t(e[r],r,n),null!=a&&(l[l.length]=a);else for(r in e)a=t(e[r],r,n),null!=a&&(l[l.length]=a);return nt.apply([],l)},guid:1,proxy:function(e,n){var i,a,r;return"string"==typeof n&&(r=e[n],n=e,e=r),ct.isFunction(e)?(i=at.call(arguments,2),a=function(){return e.apply(n||this,i.concat(at.call(arguments)))},a.guid=e.guid=e.guid||ct.guid++,a):t},access:function(e,n,i,a,r,s,o){var l=0,c=e.length,u=null==i;if("object"===ct.type(i)){r=!0;for(l in i)ct.access(e,n,l,i[l],!0,s,o)}else if(a!==t&&(r=!0,ct.isFunction(a)||(o=!0),u&&(o?(n.call(e,a),n=null):(u=n,n=function(e,t,n){return u.call(ct(e),n)})),n))for(;c>l;l++)n(e[l],i,o?a:a.call(e[l],l,n(e[l],i)));return r?e:u?n.call(e):c?n(e[0],i):s},now:function(){return(new Date).getTime()}}),ct.ready.promise=function(t){if(!U)if(U=ct.Deferred(),"complete"===$.readyState)setTimeout(ct.ready);else if($.addEventListener)$.addEventListener("DOMContentLoaded",wt,!1),e.addEventListener("load",wt,!1);else{$.attachEvent("onreadystatechange",wt),e.attachEvent("onload",wt);var n=!1;try{n=null==e.frameElement&&$.documentElement}catch(i){}n&&n.doScroll&&function a(){if(!ct.isReady){try{n.doScroll("left")}catch(e){return setTimeout(a,50)}Tt(),ct.ready()}}()}return U.promise(t)},ct.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Z["[object "+t+"]"]=t.toLowerCase()}),Y=ct($);var Et={};ct.Callbacks=function(e){e="string"==typeof e?Et[e]||a(e):ct.extend({},e);var n,i,r,s,o,l,c=[],u=!e.once&&[],d=function(t){for(i=e.memory&&t,r=!0,o=l||0,l=0,s=c.length,n=!0;c&&s>o;o++)if(c[o].apply(t[0],t[1])===!1&&e.stopOnFalse){i=!1;break}n=!1,c&&(u?u.length&&d(u.shift()):i?c=[]:p.disable())},p={add:function(){if(c){var t=c.length;!function a(t){ct.each(t,function(t,n){var i=ct.type(n);"function"===i?e.unique&&p.has(n)||c.push(n):n&&n.length&&"string"!==i&&a(n)})}(arguments),n?s=c.length:i&&(l=t,d(i))}return this},remove:function(){return c&&ct.each(arguments,function(e,t){for(var i;(i=ct.inArray(t,c,i))>-1;)c.splice(i,1),n&&(s>=i&&s--,o>=i&&o--)}),this},has:function(e){return e?ct.inArray(e,c)>-1:!(!c||!c.length)},empty:function(){return c=[],this},disable:function(){return c=u=i=t,this},disabled:function(){return!c},lock:function(){return u=t,i||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!c||r&&!u||(n?u.push(t):d(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!r}};return p},ct.extend({Deferred:function(e){var t=[["resolve","done",ct.Callbacks("once memory"),"resolved"],["reject","fail",ct.Callbacks("once memory"),"rejected"],["notify","progress",ct.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return a.done(arguments).fail(arguments),this},then:function(){var e=arguments;return ct.Deferred(function(n){ct.each(t,function(t,r){var s=r[0],o=ct.isFunction(e[t])&&e[t];a[r[1]](function(){var e=o&&o.apply(this,arguments);e&&ct.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?ct.extend(e,i):i}},a={};return i.pipe=i.then,ct.each(t,function(e,r){var s=r[2],o=r[3];i[r[1]]=s.add,o&&s.add(function(){n=o},t[1^e][2].disable,t[2][2].lock),a[r[0]]=function(){return a[r[0]+"With"](this===a?i:this,arguments),this},a[r[0]+"With"]=s.fireWith}),i.promise(a),e&&e.call(a,a),a},when:function(e){var t,n,i,a=0,r=at.call(arguments),s=r.length,o=1!==s||e&&ct.isFunction(e.promise)?s:0,l=1===o?e:ct.Deferred(),c=function(e,n,i){return function(a){n[e]=this,i[e]=arguments.length>1?at.call(arguments):a,i===t?l.notifyWith(n,i):--o||l.resolveWith(n,i)}};if(s>1)for(t=new Array(s),n=new Array(s),i=new Array(s);s>a;a++)r[a]&&ct.isFunction(r[a].promise)?r[a].promise().done(c(a,i,r)).fail(l.reject).progress(c(a,n,t)):--o;return o||l.resolveWith(i,r),l.promise()}}),ct.support=function(){var t,n,i,a,r,s,o,l,c,u,d=$.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),i=d.getElementsByTagName("a")[0],!n||!i||!n.length)return{};r=$.createElement("select"),o=r.appendChild($.createElement("option")),a=d.getElementsByTagName("input")[0],i.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(i.getAttribute("style")),hrefNormalized:"/a"===i.getAttribute("href"),opacity:/^0.5/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,checkOn:!!a.value,optSelected:o.selected,enctype:!!$.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==$.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===$.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,r.disabled=!0,t.optDisabled=!o.disabled;try{delete d.test}catch(p){t.deleteExpando=!1}a=$.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),s=$.createDocumentFragment(),s.appendChild(a),t.appendChecked=a.checked,t.checkClone=s.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(u in{submit:!0,change:!0,focusin:!0})d.setAttribute(l="on"+u,"t"),t[u+"Bubbles"]=l in e||d.attributes[l].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,ct(function(){var n,i,a,r="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",s=$.getElementsByTagName("body")[0];s&&(n=$.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",s.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",c=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=c&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==s.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,i=d.appendChild($.createElement("div")),i.style.cssText=d.style.cssText=r,i.style.marginRight=i.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(i,null)||{}).marginRight)),typeof d.style.zoom!==W&&(d.innerHTML="",d.style.cssText=r+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(s.style.zoom=1)),s.removeChild(n),n=d=a=i=null)}),n=r=s=o=i=a=null,t}();var kt=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,At=/([A-Z])/g;ct.extend({cache:{},expando:"jQuery"+(tt+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?ct.cache[e[ct.expando]]:e[ct.expando],!!e&&!l(e)},data:function(e,t,n){return r(e,t,n)},removeData:function(e,t){return s(e,t)},_data:function(e,t,n){return r(e,t,n,!0)},_removeData:function(e,t){return s(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&ct.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t
}}),ct.fn.extend({data:function(e,n){var i,a,r=this[0],s=0,l=null;if(e===t){if(this.length&&(l=ct.data(r),1===r.nodeType&&!ct._data(r,"parsedAttrs"))){for(i=r.attributes;s<i.length;s++)a=i[s].name,a.indexOf("data-")||(a=ct.camelCase(a.slice(5)),o(r,a,l[a]));ct._data(r,"parsedAttrs",!0)}return l}return"object"==typeof e?this.each(function(){ct.data(this,e)}):ct.access(this,function(n){return n===t?r?o(r,e,ct.data(r,e)):null:(this.each(function(){ct.data(this,e,n)}),void 0)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){ct.removeData(this,e)})}}),ct.extend({queue:function(e,t,n){var i;return e?(t=(t||"fx")+"queue",i=ct._data(e,t),n&&(!i||ct.isArray(n)?i=ct._data(e,t,ct.makeArray(n)):i.push(n)),i||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=ct.queue(e,t),i=n.length,a=n.shift(),r=ct._queueHooks(e,t),s=function(){ct.dequeue(e,t)};"inprogress"===a&&(a=n.shift(),i--),r.cur=a,a&&("fx"===t&&n.unshift("inprogress"),delete r.stop,a.call(e,s,r)),!i&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return ct._data(e,n)||ct._data(e,n,{empty:ct.Callbacks("once memory").add(function(){ct._removeData(e,t+"queue"),ct._removeData(e,n)})})}}),ct.fn.extend({queue:function(e,n){var i=2;return"string"!=typeof e&&(n=e,e="fx",i--),arguments.length<i?ct.queue(this[0],e):n===t?this:this.each(function(){var t=ct.queue(this,e,n);ct._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&ct.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ct.dequeue(this,e)})},delay:function(e,t){return e=ct.fx?ct.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var i=setTimeout(t,e);n.stop=function(){clearTimeout(i)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var i,a=1,r=ct.Deferred(),s=this,o=this.length,l=function(){--a||r.resolveWith(s,[s])};for("string"!=typeof e&&(n=e,e=t),e=e||"fx";o--;)i=ct._data(s[o],e+"queueHooks"),i&&i.empty&&(a++,i.empty.add(l));return l(),r.promise(n)}});var Pt,St,Ct=/[\t\r\n]/g,Nt=/\r/g,It=/^(?:input|select|textarea|button|object)$/i,Mt=/^(?:a|area)$/i,zt=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,Lt=/^(?:checked|selected)$/i,Bt=ct.support.getSetAttribute,Rt=ct.support.input;ct.fn.extend({attr:function(e,t){return ct.access(this,ct.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ct.removeAttr(this,e)})},prop:function(e,t){return ct.access(this,ct.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ct.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,i,a,r,s=0,o=this.length,l="string"==typeof e&&e;if(ct.isFunction(e))return this.each(function(t){ct(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(dt)||[];o>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Ct," "):" ")){for(r=0;a=t[r++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");n.className=ct.trim(i)}return this},removeClass:function(e){var t,n,i,a,r,s=0,o=this.length,l=0===arguments.length||"string"==typeof e&&e;if(ct.isFunction(e))return this.each(function(t){ct(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(dt)||[];o>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Ct," "):"")){for(r=0;a=t[r++];)for(;i.indexOf(" "+a+" ")>=0;)i=i.replace(" "+a+" "," ");n.className=e?ct.trim(i):""}return this},toggleClass:function(e,t){var n=typeof e,i="boolean"==typeof t;return ct.isFunction(e)?this.each(function(n){ct(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n)for(var a,r=0,s=ct(this),o=t,l=e.match(dt)||[];a=l[r++];)o=i?o:!s.hasClass(a),s[o?"addClass":"removeClass"](a);else(n===W||"boolean"===n)&&(this.className&&ct._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ct._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(Ct," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,i,a,r=this[0];{if(arguments.length)return a=ct.isFunction(e),this.each(function(n){var r,s=ct(this);1===this.nodeType&&(r=a?e.call(this,n,s.val()):e,null==r?r="":"number"==typeof r?r+="":ct.isArray(r)&&(r=ct.map(r,function(e){return null==e?"":e+""})),i=ct.valHooks[this.type]||ct.valHooks[this.nodeName.toLowerCase()],i&&"set"in i&&i.set(this,r,"value")!==t||(this.value=r))});if(r)return i=ct.valHooks[r.type]||ct.valHooks[r.nodeName.toLowerCase()],i&&"get"in i&&(n=i.get(r,"value"))!==t?n:(n=r.value,"string"==typeof n?n.replace(Nt,""):null==n?"":n)}}}),ct.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){for(var t,n,i=e.options,a=e.selectedIndex,r="select-one"===e.type||0>a,s=r?null:[],o=r?a+1:i.length,l=0>a?o:r?a:0;o>l;l++)if(n=i[l],!(!n.selected&&l!==a||(ct.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&ct.nodeName(n.parentNode,"optgroup"))){if(t=ct(n).val(),r)return t;s.push(t)}return s},set:function(e,t){var n=ct.makeArray(t);return ct(e).find("option").each(function(){this.selected=ct.inArray(ct(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,i){var a,r,s,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return typeof e.getAttribute===W?ct.prop(e,n,i):(r=1!==o||!ct.isXMLDoc(e),r&&(n=n.toLowerCase(),a=ct.attrHooks[n]||(zt.test(n)?St:Pt)),i===t?a&&r&&"get"in a&&null!==(s=a.get(e,n))?s:(typeof e.getAttribute!==W&&(s=e.getAttribute(n)),null==s?t:s):null!==i?a&&r&&"set"in a&&(s=a.set(e,i,n))!==t?s:(e.setAttribute(n,i+""),i):(ct.removeAttr(e,n),void 0))},removeAttr:function(e,t){var n,i,a=0,r=t&&t.match(dt);if(r&&1===e.nodeType)for(;n=r[a++];)i=ct.propFix[n]||n,zt.test(n)?!Bt&&Lt.test(n)?e[ct.camelCase("default-"+n)]=e[i]=!1:e[i]=!1:ct.attr(e,n,""),e.removeAttribute(Bt?n:i)},attrHooks:{type:{set:function(e,t){if(!ct.support.radioValue&&"radio"===t&&ct.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,i){var a,r,s,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return s=1!==o||!ct.isXMLDoc(e),s&&(n=ct.propFix[n]||n,r=ct.propHooks[n]),i!==t?r&&"set"in r&&(a=r.set(e,i,n))!==t?a:e[n]=i:r&&"get"in r&&null!==(a=r.get(e,n))?a:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):It.test(e.nodeName)||Mt.test(e.nodeName)&&e.href?0:t}}}}),St={get:function(e,n){var i=ct.prop(e,n),a="boolean"==typeof i&&e.getAttribute(n),r="boolean"==typeof i?Rt&&Bt?null!=a:Lt.test(n)?e[ct.camelCase("default-"+n)]:!!a:e.getAttributeNode(n);return r&&r.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?ct.removeAttr(e,n):Rt&&Bt||!Lt.test(n)?e.setAttribute(!Bt&&ct.propFix[n]||n,n):e[ct.camelCase("default-"+n)]=e[n]=!0,n}},Rt&&Bt||(ct.attrHooks.value={get:function(e,n){var i=e.getAttributeNode(n);return ct.nodeName(e,"input")?e.defaultValue:i&&i.specified?i.value:t},set:function(e,t,n){return ct.nodeName(e,"input")?(e.defaultValue=t,void 0):Pt&&Pt.set(e,t,n)}}),Bt||(Pt=ct.valHooks.button={get:function(e,n){var i=e.getAttributeNode(n);return i&&("id"===n||"name"===n||"coords"===n?""!==i.value:i.specified)?i.value:t},set:function(e,n,i){var a=e.getAttributeNode(i);return a||e.setAttributeNode(a=e.ownerDocument.createAttribute(i)),a.value=n+="","value"===i||n===e.getAttribute(i)?n:t}},ct.attrHooks.contenteditable={get:Pt.get,set:function(e,t,n){Pt.set(e,""===t?!1:t,n)}},ct.each(["width","height"],function(e,t){ct.attrHooks[t]=ct.extend(ct.attrHooks[t],{set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}})})),ct.support.hrefNormalized||(ct.each(["href","src","width","height"],function(e,n){ct.attrHooks[n]=ct.extend(ct.attrHooks[n],{get:function(e){var i=e.getAttribute(n,2);return null==i?t:i}})}),ct.each(["href","src"],function(e,t){ct.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),ct.support.style||(ct.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),ct.support.optSelected||(ct.propHooks.selected=ct.extend(ct.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),ct.support.enctype||(ct.propFix.enctype="encoding"),ct.support.checkOn||ct.each(["radio","checkbox"],function(){ct.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),ct.each(["radio","checkbox"],function(){ct.valHooks[this]=ct.extend(ct.valHooks[this],{set:function(e,t){return ct.isArray(t)?e.checked=ct.inArray(ct(e).val(),t)>=0:void 0}})});var qt=/^(?:input|select|textarea)$/i,Ot=/^key/,jt=/^(?:mouse|contextmenu)|click/,Dt=/^(?:focusinfocus|focusoutblur)$/,Ft=/^([^.]*)(?:\.(.+)|)$/;ct.event={global:{},add:function(e,n,i,a,r){var s,o,l,c,u,d,p,m,h,f,g,y=ct._data(e);if(y){for(i.handler&&(c=i,i=c.handler,r=c.selector),i.guid||(i.guid=ct.guid++),(o=y.events)||(o=y.events={}),(d=y.handle)||(d=y.handle=function(e){return typeof ct===W||e&&ct.event.triggered===e.type?t:ct.event.dispatch.apply(d.elem,arguments)},d.elem=e),n=(n||"").match(dt)||[""],l=n.length;l--;)s=Ft.exec(n[l])||[],h=g=s[1],f=(s[2]||"").split(".").sort(),u=ct.event.special[h]||{},h=(r?u.delegateType:u.bindType)||h,u=ct.event.special[h]||{},p=ct.extend({type:h,origType:g,data:a,handler:i,guid:i.guid,selector:r,needsContext:r&&ct.expr.match.needsContext.test(r),namespace:f.join(".")},c),(m=o[h])||(m=o[h]=[],m.delegateCount=0,u.setup&&u.setup.call(e,a,f,d)!==!1||(e.addEventListener?e.addEventListener(h,d,!1):e.attachEvent&&e.attachEvent("on"+h,d))),u.add&&(u.add.call(e,p),p.handler.guid||(p.handler.guid=i.guid)),r?m.splice(m.delegateCount++,0,p):m.push(p),ct.event.global[h]=!0;e=null}},remove:function(e,t,n,i,a){var r,s,o,l,c,u,d,p,m,h,f,g=ct.hasData(e)&&ct._data(e);if(g&&(u=g.events)){for(t=(t||"").match(dt)||[""],c=t.length;c--;)if(o=Ft.exec(t[c])||[],m=f=o[1],h=(o[2]||"").split(".").sort(),m){for(d=ct.event.special[m]||{},m=(i?d.delegateType:d.bindType)||m,p=u[m]||[],o=o[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=r=p.length;r--;)s=p[r],!a&&f!==s.origType||n&&n.guid!==s.guid||o&&!o.test(s.namespace)||i&&i!==s.selector&&("**"!==i||!s.selector)||(p.splice(r,1),s.selector&&p.delegateCount--,d.remove&&d.remove.call(e,s));l&&!p.length&&(d.teardown&&d.teardown.call(e,h,g.handle)!==!1||ct.removeEvent(e,m,g.handle),delete u[m])}else for(m in u)ct.event.remove(e,m+t[c],n,i,!0);ct.isEmptyObject(u)&&(delete g.handle,ct._removeData(e,"events"))}},trigger:function(n,i,a,r){var s,o,l,c,u,d,p,m=[a||$],h=ot.call(n,"type")?n.type:n,f=ot.call(n,"namespace")?n.namespace.split("."):[];if(l=d=a=a||$,3!==a.nodeType&&8!==a.nodeType&&!Dt.test(h+ct.event.triggered)&&(h.indexOf(".")>=0&&(f=h.split("."),h=f.shift(),f.sort()),o=h.indexOf(":")<0&&"on"+h,n=n[ct.expando]?n:new ct.Event(h,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=f.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=a),i=null==i?[n]:ct.makeArray(i,[n]),u=ct.event.special[h]||{},r||!u.trigger||u.trigger.apply(a,i)!==!1)){if(!r&&!u.noBubble&&!ct.isWindow(a)){for(c=u.delegateType||h,Dt.test(c+h)||(l=l.parentNode);l;l=l.parentNode)m.push(l),d=l;d===(a.ownerDocument||$)&&m.push(d.defaultView||d.parentWindow||e)}for(p=0;(l=m[p++])&&!n.isPropagationStopped();)n.type=p>1?c:u.bindType||h,s=(ct._data(l,"events")||{})[n.type]&&ct._data(l,"handle"),s&&s.apply(l,i),s=o&&l[o],s&&ct.acceptData(l)&&s.apply&&s.apply(l,i)===!1&&n.preventDefault();if(n.type=h,!(r||n.isDefaultPrevented()||u._default&&u._default.apply(a.ownerDocument,i)!==!1||"click"===h&&ct.nodeName(a,"a")||!ct.acceptData(a)||!o||!a[h]||ct.isWindow(a))){d=a[o],d&&(a[o]=null),ct.event.triggered=h;try{a[h]()}catch(g){}ct.event.triggered=t,d&&(a[o]=d)}return n.result}},dispatch:function(e){e=ct.event.fix(e);var n,i,a,r,s,o=[],l=at.call(arguments),c=(ct._data(this,"events")||{})[e.type]||[],u=ct.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!u.preDispatch||u.preDispatch.call(this,e)!==!1){for(o=ct.event.handlers.call(this,e,c),n=0;(r=o[n++])&&!e.isPropagationStopped();)for(e.currentTarget=r.elem,s=0;(a=r.handlers[s++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(a.namespace))&&(e.handleObj=a,e.data=a.data,i=((ct.event.special[a.origType]||{}).handle||a.handler).apply(r.elem,l),i!==t&&(e.result=i)===!1&&(e.preventDefault(),e.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,e),e.result}},handlers:function(e,n){var i,a,r,s,o=[],l=n.delegateCount,c=e.target;if(l&&c.nodeType&&(!e.button||"click"!==e.type))for(;c!=this;c=c.parentNode||this)if(1===c.nodeType&&(c.disabled!==!0||"click"!==e.type)){for(r=[],s=0;l>s;s++)a=n[s],i=a.selector+" ",r[i]===t&&(r[i]=a.needsContext?ct(i,this).index(c)>=0:ct.find(i,this,null,[c]).length),r[i]&&r.push(a);r.length&&o.push({elem:c,handlers:r})}return l<n.length&&o.push({elem:this,handlers:n.slice(l)}),o},fix:function(e){if(e[ct.expando])return e;var t,n,i,a=e.type,r=e,s=this.fixHooks[a];for(s||(this.fixHooks[a]=s=jt.test(a)?this.mouseHooks:Ot.test(a)?this.keyHooks:{}),i=s.props?this.props.concat(s.props):this.props,e=new ct.Event(r),t=i.length;t--;)n=i[t],e[n]=r[n];return e.target||(e.target=r.srcElement||$),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var i,a,r,s=n.button,o=n.fromElement;return null==e.pageX&&null!=n.clientX&&(a=e.target.ownerDocument||$,r=a.documentElement,i=a.body,e.pageX=n.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=n.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),!e.relatedTarget&&o&&(e.relatedTarget=o===e.target?n.toElement:o),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return ct.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0}},focus:{trigger:function(){if(this!==$.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===$.activeElement&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,i){var a=ct.extend(new ct.Event,n,{type:e,isSimulated:!0,originalEvent:{}});i?ct.event.trigger(a,null,t):ct.event.dispatch.call(t,a),a.isDefaultPrevented()&&n.preventDefault()}},ct.removeEvent=$.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var i="on"+t;e.detachEvent&&(typeof e[i]===W&&(e[i]=null),e.detachEvent(i,n))},ct.Event=function(e,t){return this instanceof ct.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?c:u):this.type=e,t&&ct.extend(this,t),this.timeStamp=e&&e.timeStamp||ct.now(),this[ct.expando]=!0,void 0):new ct.Event(e,t)},ct.Event.prototype={isDefaultPrevented:u,isPropagationStopped:u,isImmediatePropagationStopped:u,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=c,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=c,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=c,this.stopPropagation()}},ct.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){ct.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,i=this,a=e.relatedTarget,r=e.handleObj;return(!a||a!==i&&!ct.contains(i,a))&&(e.type=r.origType,n=r.handler.apply(this,arguments),e.type=t),n}}}),ct.support.submitBubbles||(ct.event.special.submit={setup:function(){return ct.nodeName(this,"form")?!1:(ct.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,i=ct.nodeName(n,"input")||ct.nodeName(n,"button")?n.form:t;i&&!ct._data(i,"submitBubbles")&&(ct.event.add(i,"submit._submit",function(e){e._submit_bubble=!0}),ct._data(i,"submitBubbles",!0))}),void 0)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&ct.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return ct.nodeName(this,"form")?!1:(ct.event.remove(this,"._submit"),void 0)}}),ct.support.changeBubbles||(ct.event.special.change={setup:function(){return qt.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(ct.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),ct.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),ct.event.simulate("change",this,e,!0)})),!1):(ct.event.add(this,"beforeactivate._change",function(e){var t=e.target;qt.test(t.nodeName)&&!ct._data(t,"changeBubbles")&&(ct.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||ct.event.simulate("change",this.parentNode,e,!0)}),ct._data(t,"changeBubbles",!0))}),void 0)},handle:function(e){var t=e.target;return this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type?e.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return ct.event.remove(this,"._change"),!qt.test(this.nodeName)}}),ct.support.focusinBubbles||ct.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,i=function(e){ct.event.simulate(t,e.target,ct.event.fix(e),!0)};ct.event.special[t]={setup:function(){0===n++&&$.addEventListener(e,i,!0)},teardown:function(){0===--n&&$.removeEventListener(e,i,!0)}}}),ct.fn.extend({on:function(e,n,i,a,r){var s,o;if("object"==typeof e){"string"!=typeof n&&(i=i||n,n=t);for(s in e)this.on(s,n,i,e[s],r);return this}if(null==i&&null==a?(a=n,i=n=t):null==a&&("string"==typeof n?(a=i,i=t):(a=i,i=n,n=t)),a===!1)a=u;else if(!a)return this;return 1===r&&(o=a,a=function(e){return ct().off(e),o.apply(this,arguments)},a.guid=o.guid||(o.guid=ct.guid++)),this.each(function(){ct.event.add(this,e,a,i,n)})},one:function(e,t,n,i){return this.on(e,t,n,i,1)},off:function(e,n,i){var a,r;if(e&&e.preventDefault&&e.handleObj)return a=e.handleObj,ct(e.delegateTarget).off(a.namespace?a.origType+"."+a.namespace:a.origType,a.selector,a.handler),this;if("object"==typeof e){for(r in e)this.off(r,n,e[r]);return this}return(n===!1||"function"==typeof n)&&(i=n,n=t),i===!1&&(i=u),this.each(function(){ct.event.remove(this,e,i,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){ct.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?ct.event.trigger(e,t,n,!0):void 0}}),function(e,t){function n(e){return ht.test(e+"")}function i(){var e,t=[];return e=function(n,i){return t.push(n+=" ")>E.cacheLength&&delete e[t.shift()],e[n]=i}}function a(e){return e[j]=!0,e}function r(e){var t=I.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function s(e,t,n,i){var a,r,s,o,l,c,u,m,h,f;if((t?t.ownerDocument||t:D)!==I&&N(t),t=t||I,n=n||[],!e||"string"!=typeof e)return n;if(1!==(o=t.nodeType)&&9!==o)return[];if(!z&&!i){if(a=ft.exec(e))if(s=a[1]){if(9===o){if(r=t.getElementById(s),!r||!r.parentNode)return n;if(r.id===s)return n.push(r),n}else if(t.ownerDocument&&(r=t.ownerDocument.getElementById(s))&&q(t,r)&&r.id===s)return n.push(r),n}else{if(a[2])return J.apply(n,K.call(t.getElementsByTagName(e),0)),n;if((s=a[3])&&F.getByClassName&&t.getElementsByClassName)return J.apply(n,K.call(t.getElementsByClassName(s),0)),n}if(F.qsa&&!L.test(e)){if(u=!0,m=j,h=t,f=9===o&&e,1===o&&"object"!==t.nodeName.toLowerCase()){for(c=d(e),(u=t.getAttribute("id"))?m=u.replace(vt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=c.length;l--;)c[l]=m+p(c[l]);h=mt.test(e)&&t.parentNode||t,f=c.join(",")}if(f)try{return J.apply(n,K.call(h.querySelectorAll(f),0)),n}catch(g){}finally{u||t.removeAttribute("id")}}}return _(e.replace(st,"$1"),t,n,i)}function o(e,t){var n=t&&e,i=n&&(~t.sourceIndex||W)-(~e.sourceIndex||W);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function l(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function c(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function u(e){return a(function(t){return t=+t,a(function(n,i){for(var a,r=e([],n.length,t),s=r.length;s--;)n[a=r[s]]&&(n[a]=!(i[a]=n[a]))})})}function d(e,t){var n,i,a,r,o,l,c,u=V[e+" "];if(u)return t?0:u.slice(0);for(o=e,l=[],c=E.preFilter;o;){(!n||(i=ot.exec(o)))&&(i&&(o=o.slice(i[0].length)||o),l.push(a=[])),n=!1,(i=lt.exec(o))&&(n=i.shift(),a.push({value:n,type:i[0].replace(st," ")}),o=o.slice(n.length));for(r in E.filter)!(i=pt[r].exec(o))||c[r]&&!(i=c[r](i))||(n=i.shift(),a.push({value:n,type:r,matches:i}),o=o.slice(n.length));if(!n)break}return t?o.length:o?s.error(e):V(e,l).slice(0)}function p(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function m(e,t,n){var i=t.dir,a=n&&"parentNode"===i,r=X++;return t.first?function(t,n,r){for(;t=t[i];)if(1===t.nodeType||a)return e(t,n,r)}:function(t,n,s){var o,l,c,u=G+" "+r;if(s){for(;t=t[i];)if((1===t.nodeType||a)&&e(t,n,s))return!0}else for(;t=t[i];)if(1===t.nodeType||a)if(c=t[j]||(t[j]={}),(l=c[i])&&l[0]===u){if((o=l[1])===!0||o===T)return o===!0}else if(l=c[i]=[u],l[1]=e(t,n,s)||T,l[1]===!0)return!0}}function h(e){return e.length>1?function(t,n,i){for(var a=e.length;a--;)if(!e[a](t,n,i))return!1;return!0}:e[0]}function f(e,t,n,i,a){for(var r,s=[],o=0,l=e.length,c=null!=t;l>o;o++)(r=e[o])&&(!n||n(r,i,a))&&(s.push(r),c&&t.push(o));return s}function g(e,t,n,i,r,s){return i&&!i[j]&&(i=g(i)),r&&!r[j]&&(r=g(r,s)),a(function(a,s,o,l){var c,u,d,p=[],m=[],h=s.length,g=a||b(t||"*",o.nodeType?[o]:o,[]),y=!e||!a&&t?g:f(g,p,e,o,l),v=n?r||(a?e:h||i)?[]:s:y;if(n&&n(y,v,o,l),i)for(c=f(v,m),i(c,[],o,l),u=c.length;u--;)(d=c[u])&&(v[m[u]]=!(y[m[u]]=d));if(a){if(r||e){if(r){for(c=[],u=v.length;u--;)(d=v[u])&&c.push(y[u]=d);r(null,v=[],c,l)}for(u=v.length;u--;)(d=v[u])&&(c=r?Z.call(a,d):p[u])>-1&&(a[c]=!(s[c]=d))}}else v=f(v===s?v.splice(h,v.length):v),r?r(null,s,v,l):J.apply(s,v)})}function y(e){for(var t,n,i,a=e.length,r=E.relative[e[0].type],s=r||E.relative[" "],o=r?1:0,l=m(function(e){return e===t},s,!0),c=m(function(e){return Z.call(t,e)>-1},s,!0),u=[function(e,n,i){return!r&&(i||n!==C)||((t=n).nodeType?l(e,n,i):c(e,n,i))}];a>o;o++)if(n=E.relative[e[o].type])u=[m(h(u),n)];else{if(n=E.filter[e[o].type].apply(null,e[o].matches),n[j]){for(i=++o;a>i&&!E.relative[e[i].type];i++);return g(o>1&&h(u),o>1&&p(e.slice(0,o-1)).replace(st,"$1"),n,i>o&&y(e.slice(o,i)),a>i&&y(e=e.slice(i)),a>i&&p(e))}u.push(n)}return h(u)}function v(e,t){var n=0,i=t.length>0,r=e.length>0,o=function(a,o,l,c,u){var d,p,m,h=[],g=0,y="0",v=a&&[],b=null!=u,_=C,x=a||r&&E.find.TAG("*",u&&o.parentNode||o),w=G+=null==_?1:Math.random()||.1;for(b&&(C=o!==I&&o,T=n);null!=(d=x[y]);y++){if(r&&d){for(p=0;m=e[p++];)if(m(d,o,l)){c.push(d);break}b&&(G=w,T=++n)}i&&((d=!m&&d)&&g--,a&&v.push(d))}if(g+=y,i&&y!==g){for(p=0;m=t[p++];)m(v,h,o,l);if(a){if(g>0)for(;y--;)v[y]||h[y]||(h[y]=Q.call(c));h=f(h)}J.apply(c,h),b&&!a&&h.length>0&&g+t.length>1&&s.uniqueSort(c)}return b&&(G=w,C=_),v};return i?a(o):o}function b(e,t,n){for(var i=0,a=t.length;a>i;i++)s(e,t[i],n);return n}function _(e,t,n,i){var a,r,s,o,l,c=d(e);if(!i&&1===c.length){if(r=c[0]=c[0].slice(0),r.length>2&&"ID"===(s=r[0]).type&&9===t.nodeType&&!z&&E.relative[r[1].type]){if(t=E.find.ID(s.matches[0].replace(_t,xt),t)[0],!t)return n;e=e.slice(r.shift().value.length)}for(a=pt.needsContext.test(e)?0:r.length;a--&&(s=r[a],!E.relative[o=s.type]);)if((l=E.find[o])&&(i=l(s.matches[0].replace(_t,xt),mt.test(r[0].type)&&t.parentNode||t))){if(r.splice(a,1),e=i.length&&p(r),!e)return J.apply(n,K.call(i,0)),n;break}}return P(e,c)(i,t,z,n,mt.test(e)),n}function x(){}var w,T,E,k,A,P,S,C,N,I,M,z,L,B,R,q,O,j="sizzle"+-new Date,D=e.document,F={},G=0,X=0,H=i(),V=i(),U=i(),Y=typeof t,W=1<<31,$=[],Q=$.pop,J=$.push,K=$.slice,Z=$.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},et="[\\x20\\t\\r\\n\\f]",tt="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",nt=tt.replace("w","w#"),it="([*^$|!~]?=)",at="\\["+et+"*("+tt+")"+et+"*(?:"+it+et+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+nt+")|)|)"+et+"*\\]",rt=":("+tt+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+at.replace(3,8)+")*)|.*)\\)|)",st=new RegExp("^"+et+"+|((?:^|[^\\\\])(?:\\\\.)*)"+et+"+$","g"),ot=new RegExp("^"+et+"*,"+et+"*"),lt=new RegExp("^"+et+"*([\\x20\\t\\r\\n\\f>+~])"+et+"*"),ut=new RegExp(rt),dt=new RegExp("^"+nt+"$"),pt={ID:new RegExp("^#("+tt+")"),CLASS:new RegExp("^\\.("+tt+")"),NAME:new RegExp("^\\[name=['\"]?("+tt+")['\"]?\\]"),TAG:new RegExp("^("+tt.replace("w","w*")+")"),ATTR:new RegExp("^"+at),PSEUDO:new RegExp("^"+rt),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+et+"*(even|odd|(([+-]|)(\\d*)n|)"+et+"*(?:([+-]|)"+et+"*(\\d+)|))"+et+"*\\)|)","i"),needsContext:new RegExp("^"+et+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+et+"*((?:-\\d)?\\d*)"+et+"*\\)|)(?=[^-]|$)","i")},mt=/[\x20\t\r\n\f]*[+~]/,ht=/^[^{]+\{\s*\[native code/,ft=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,gt=/^(?:input|select|textarea|button)$/i,yt=/^h\d$/i,vt=/'|\\/g,bt=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,_t=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,xt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{K.call(D.documentElement.childNodes,0)[0].nodeType}catch(wt){K=function(e){for(var t,n=[];t=this[e++];)n.push(t);return n}}A=s.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},N=s.setDocument=function(e){var i=e?e.ownerDocument||e:D;return i!==I&&9===i.nodeType&&i.documentElement?(I=i,M=i.documentElement,z=A(i),F.tagNameNoComments=r(function(e){return e.appendChild(i.createComment("")),!e.getElementsByTagName("*").length}),F.attributes=r(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),F.getByClassName=r(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),F.getByName=r(function(e){e.id=j+0,e.innerHTML="<a name='"+j+"'></a><div name='"+j+"'></div>",M.insertBefore(e,M.firstChild);var t=i.getElementsByName&&i.getElementsByName(j).length===2+i.getElementsByName(j+0).length;return F.getIdNotName=!i.getElementById(j),M.removeChild(e),t}),E.attrHandle=r(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==Y&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},F.getIdNotName?(E.find.ID=function(e,t){if(typeof t.getElementById!==Y&&!z){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},E.filter.ID=function(e){var t=e.replace(_t,xt);return function(e){return e.getAttribute("id")===t}}):(E.find.ID=function(e,n){if(typeof n.getElementById!==Y&&!z){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==Y&&i.getAttributeNode("id").value===e?[i]:t:[]}},E.filter.ID=function(e){var t=e.replace(_t,xt);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),E.find.TAG=F.tagNameNoComments?function(e,t){return typeof t.getElementsByTagName!==Y?t.getElementsByTagName(e):void 0}:function(e,t){var n,i=[],a=0,r=t.getElementsByTagName(e);if("*"===e){for(;n=r[a++];)1===n.nodeType&&i.push(n);return i}return r},E.find.NAME=F.getByName&&function(e,t){return typeof t.getElementsByName!==Y?t.getElementsByName(name):void 0},E.find.CLASS=F.getByClassName&&function(e,t){return typeof t.getElementsByClassName===Y||z?void 0:t.getElementsByClassName(e)},B=[],L=[":focus"],(F.qsa=n(i.querySelectorAll))&&(r(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||L.push("\\["+et+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||L.push(":checked")}),r(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&L.push("[*^$]="+et+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||L.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),L.push(",.*:")})),(F.matchesSelector=n(R=M.matchesSelector||M.mozMatchesSelector||M.webkitMatchesSelector||M.oMatchesSelector||M.msMatchesSelector))&&r(function(e){F.disconnectedMatch=R.call(e,"div"),R.call(e,"[s!='']:x"),B.push("!=",rt)}),L=new RegExp(L.join("|")),B=new RegExp(B.join("|")),q=n(M.contains)||M.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},O=M.compareDocumentPosition?function(e,t){var n;return e===t?(S=!0,0):(n=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&n||e.parentNode&&11===e.parentNode.nodeType?e===i||q(D,e)?-1:t===i||q(D,t)?1:0:4&n?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var n,a=0,r=e.parentNode,s=t.parentNode,l=[e],c=[t];if(e===t)return S=!0,0;if(!r||!s)return e===i?-1:t===i?1:r?-1:s?1:0;if(r===s)return o(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;l[a]===c[a];)a++;return a?o(l[a],c[a]):l[a]===D?-1:c[a]===D?1:0},S=!1,[0,0].sort(O),F.detectDuplicates=S,I):I},s.matches=function(e,t){return s(e,null,null,t)},s.matchesSelector=function(e,t){if((e.ownerDocument||e)!==I&&N(e),t=t.replace(bt,"='$1']"),!(!F.matchesSelector||z||B&&B.test(t)||L.test(t)))try{var n=R.call(e,t);if(n||F.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return s(t,I,null,[e]).length>0},s.contains=function(e,t){return(e.ownerDocument||e)!==I&&N(e),q(e,t)},s.attr=function(e,t){var n;return(e.ownerDocument||e)!==I&&N(e),z||(t=t.toLowerCase()),(n=E.attrHandle[t])?n(e):z||F.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},s.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},s.uniqueSort=function(e){var t,n=[],i=1,a=0;if(S=!F.detectDuplicates,e.sort(O),S){for(;t=e[i];i++)t===e[i-1]&&(a=n.push(i));for(;a--;)e.splice(n[a],1)}return e},k=s.getText=function(e){var t,n="",i=0,a=e.nodeType;if(a){if(1===a||9===a||11===a){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=k(e)
}else if(3===a||4===a)return e.nodeValue}else for(;t=e[i];i++)n+=k(t);return n},E=s.selectors={cacheLength:50,createPseudo:a,match:pt,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(_t,xt),e[3]=(e[4]||e[5]||"").replace(_t,xt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||s.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&s.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return pt.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&ut.test(n)&&(t=d(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(_t,xt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=H[e+" "];return t||(t=new RegExp("(^|"+et+")"+e+"("+et+"|$)"))&&H(e,function(e){return t.test(e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(i){var a=s.attr(i,e);return null==a?"!="===t:t?(a+="","="===t?a===n:"!="===t?a!==n:"^="===t?n&&0===a.indexOf(n):"*="===t?n&&a.indexOf(n)>-1:"$="===t?n&&a.slice(-n.length)===n:"~="===t?(" "+a+" ").indexOf(n)>-1:"|="===t?a===n||a.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,i,a){var r="nth"!==e.slice(0,3),s="last"!==e.slice(-4),o="of-type"===t;return 1===i&&0===a?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,p,m,h,f=r!==s?"nextSibling":"previousSibling",g=t.parentNode,y=o&&t.nodeName.toLowerCase(),v=!l&&!o;if(g){if(r){for(;f;){for(d=t;d=d[f];)if(o?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=f="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?g.firstChild:g.lastChild],s&&v){for(u=g[j]||(g[j]={}),c=u[e]||[],m=c[0]===G&&c[1],p=c[0]===G&&c[2],d=m&&g.childNodes[m];d=++m&&d&&d[f]||(p=m=0)||h.pop();)if(1===d.nodeType&&++p&&d===t){u[e]=[G,m,p];break}}else if(v&&(c=(t[j]||(t[j]={}))[e])&&c[0]===G)p=c[1];else for(;(d=++m&&d&&d[f]||(p=m=0)||h.pop())&&((o?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++p||(v&&((d[j]||(d[j]={}))[e]=[G,p]),d!==t)););return p-=a,p===i||0===p%i&&p/i>=0}}},PSEUDO:function(e,t){var n,i=E.pseudos[e]||E.setFilters[e.toLowerCase()]||s.error("unsupported pseudo: "+e);return i[j]?i(t):i.length>1?(n=[e,e,"",t],E.setFilters.hasOwnProperty(e.toLowerCase())?a(function(e,n){for(var a,r=i(e,t),s=r.length;s--;)a=Z.call(e,r[s]),e[a]=!(n[a]=r[s])}):function(e){return i(e,0,n)}):i}},pseudos:{not:a(function(e){var t=[],n=[],i=P(e.replace(st,"$1"));return i[j]?a(function(e,t,n,a){for(var r,s=i(e,null,a,[]),o=e.length;o--;)(r=s[o])&&(e[o]=!(t[o]=r))}):function(e,a,r){return t[0]=e,i(t,null,r,n),!n.pop()}}),has:a(function(e){return function(t){return s(e,t).length>0}}),contains:a(function(e){return function(t){return(t.textContent||t.innerText||k(t)).indexOf(e)>-1}}),lang:a(function(e){return dt.test(e||"")||s.error("unsupported lang: "+e),e=e.replace(_t,xt).toLowerCase(),function(t){var n;do if(n=z?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===M},focus:function(e){return e===I.activeElement&&(!I.hasFocus||I.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!E.pseudos.empty(e)},header:function(e){return yt.test(e.nodeName)},input:function(e){return gt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[0>n?n+t:n]}),even:u(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i);return e}),gt:u(function(e,t,n){for(var i=0>n?n+t:n;++i<t;)e.push(i);return e})}};for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})E.pseudos[w]=l(w);for(w in{submit:!0,reset:!0})E.pseudos[w]=c(w);P=s.compile=function(e,t){var n,i=[],a=[],r=U[e+" "];if(!r){for(t||(t=d(e)),n=t.length;n--;)r=y(t[n]),r[j]?i.push(r):a.push(r);r=U(e,v(a,i))}return r},E.pseudos.nth=E.pseudos.eq,E.filters=x.prototype=E.pseudos,E.setFilters=new x,N(),s.attr=ct.attr,ct.find=s,ct.expr=s.selectors,ct.expr[":"]=ct.expr.pseudos,ct.unique=s.uniqueSort,ct.text=s.getText,ct.isXMLDoc=s.isXML,ct.contains=s.contains}(e);var Gt=/Until$/,Xt=/^(?:parents|prev(?:Until|All))/,Ht=/^.[^:#\[\.,]*$/,Vt=ct.expr.match.needsContext,Ut={children:!0,contents:!0,next:!0,prev:!0};ct.fn.extend({find:function(e){var t,n,i,a=this.length;if("string"!=typeof e)return i=this,this.pushStack(ct(e).filter(function(){for(t=0;a>t;t++)if(ct.contains(i[t],this))return!0}));for(n=[],t=0;a>t;t++)ct.find(e,this[t],n);return n=this.pushStack(a>1?ct.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=ct(e,this),i=n.length;return this.filter(function(){for(t=0;i>t;t++)if(ct.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(p(this,e,!1))},filter:function(e){return this.pushStack(p(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?Vt.test(e)?ct(e,this.context).index(this[0])>=0:ct.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){for(var n,i=0,a=this.length,r=[],s=Vt.test(e)||"string"!=typeof e?ct(e,t||this.context):0;a>i;i++)for(n=this[i];n&&n.ownerDocument&&n!==t&&11!==n.nodeType;){if(s?s.index(n)>-1:ct.find.matchesSelector(n,e)){r.push(n);break}n=n.parentNode}return this.pushStack(r.length>1?ct.unique(r):r)},index:function(e){return e?"string"==typeof e?ct.inArray(this[0],ct(e)):ct.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?ct(e,t):ct.makeArray(e&&e.nodeType?[e]:e),i=ct.merge(this.get(),n);return this.pushStack(ct.unique(i))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ct.fn.andSelf=ct.fn.addBack,ct.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return ct.dir(e,"parentNode")},parentsUntil:function(e,t,n){return ct.dir(e,"parentNode",n)},next:function(e){return d(e,"nextSibling")},prev:function(e){return d(e,"previousSibling")},nextAll:function(e){return ct.dir(e,"nextSibling")},prevAll:function(e){return ct.dir(e,"previousSibling")},nextUntil:function(e,t,n){return ct.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return ct.dir(e,"previousSibling",n)},siblings:function(e){return ct.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return ct.sibling(e.firstChild)},contents:function(e){return ct.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:ct.merge([],e.childNodes)}},function(e,t){ct.fn[e]=function(n,i){var a=ct.map(this,t,n);return Gt.test(e)||(i=n),i&&"string"==typeof i&&(a=ct.filter(i,a)),a=this.length>1&&!Ut[e]?ct.unique(a):a,this.length>1&&Xt.test(e)&&(a=a.reverse()),this.pushStack(a)}}),ct.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?ct.find.matchesSelector(t[0],e)?[t[0]]:[]:ct.find.matches(e,t)},dir:function(e,n,i){for(var a=[],r=e[n];r&&9!==r.nodeType&&(i===t||1!==r.nodeType||!ct(r).is(i));)1===r.nodeType&&a.push(r),r=r[n];return a},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});var Yt="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Wt=/ jQuery\d+="(?:null|\d+)"/g,$t=new RegExp("<(?:"+Yt+")[\\s/>]","i"),Qt=/^\s+/,Jt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Kt=/<([\w:]+)/,Zt=/<tbody/i,en=/<|&#?\w+;/,tn=/<(?:script|style|link)/i,nn=/^(?:checkbox|radio)$/i,an=/checked\s*(?:[^=]|=\s*.checked.)/i,rn=/^$|\/(?:java|ecma)script/i,sn=/^true\/(.*)/,on=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ln={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:ct.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},cn=m($),un=cn.appendChild($.createElement("div"));ln.optgroup=ln.option,ln.tbody=ln.tfoot=ln.colgroup=ln.caption=ln.thead,ln.th=ln.td,ct.fn.extend({text:function(e){return ct.access(this,function(e){return e===t?ct.text(this):this.empty().append((this[0]&&this[0].ownerDocument||$).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(ct.isFunction(e))return this.each(function(t){ct(this).wrapAll(e.call(this,t))});if(this[0]){var t=ct(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return ct.isFunction(e)?this.each(function(t){ct(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ct(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ct.isFunction(e);return this.each(function(n){ct(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){ct.nodeName(this,"body")||ct(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,i=0;null!=(n=this[i]);i++)(!e||ct.filter(e,[n]).length>0)&&(t||1!==n.nodeType||ct.cleanData(_(n)),n.parentNode&&(t&&ct.contains(n.ownerDocument,n)&&y(_(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&ct.cleanData(_(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&ct.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return ct.clone(this,e,t)})},html:function(e){return ct.access(this,function(e){var n=this[0]||{},i=0,a=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(Wt,""):t;if(!("string"!=typeof e||tn.test(e)||!ct.support.htmlSerialize&&$t.test(e)||!ct.support.leadingWhitespace&&Qt.test(e)||ln[(Kt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(Jt,"<$1></$2>");try{for(;a>i;i++)n=this[i]||{},1===n.nodeType&&(ct.cleanData(_(n,!1)),n.innerHTML=e);n=0}catch(r){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=ct.isFunction(e);return t||"string"==typeof e||(e=ct(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(ct(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,i){e=nt.apply([],e);var a,r,s,o,l,c,u=0,d=this.length,p=this,m=d-1,y=e[0],v=ct.isFunction(y);if(v||!(1>=d||"string"!=typeof y||ct.support.checkClone)&&an.test(y))return this.each(function(a){var r=p.eq(a);v&&(e[0]=y.call(this,a,n?r.html():t)),r.domManip(e,n,i)});if(d&&(c=ct.buildFragment(e,this[0].ownerDocument,!1,this),a=c.firstChild,1===c.childNodes.length&&(c=a),a)){for(n=n&&ct.nodeName(a,"tr"),o=ct.map(_(c,"script"),f),s=o.length;d>u;u++)r=c,u!==m&&(r=ct.clone(r,!0,!0),s&&ct.merge(o,_(r,"script"))),i.call(n&&ct.nodeName(this[u],"table")?h(this[u],"tbody"):this[u],r,u);if(s)for(l=o[o.length-1].ownerDocument,ct.map(o,g),u=0;s>u;u++)r=o[u],rn.test(r.type||"")&&!ct._data(r,"globalEval")&&ct.contains(l,r)&&(r.src?ct.ajax({url:r.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):ct.globalEval((r.text||r.textContent||r.innerHTML||"").replace(on,"")));c=a=null}return this}}),ct.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){ct.fn[e]=function(e){for(var n,i=0,a=[],r=ct(e),s=r.length-1;s>=i;i++)n=i===s?this:this.clone(!0),ct(r[i])[t](n),it.apply(a,n.get());return this.pushStack(a)}}),ct.extend({clone:function(e,t,n){var i,a,r,s,o,l=ct.contains(e.ownerDocument,e);if(ct.support.html5Clone||ct.isXMLDoc(e)||!$t.test("<"+e.nodeName+">")?r=e.cloneNode(!0):(un.innerHTML=e.outerHTML,un.removeChild(r=un.firstChild)),!(ct.support.noCloneEvent&&ct.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ct.isXMLDoc(e)))for(i=_(r),o=_(e),s=0;null!=(a=o[s]);++s)i[s]&&b(a,i[s]);if(t)if(n)for(o=o||_(e),i=i||_(r),s=0;null!=(a=o[s]);s++)v(a,i[s]);else v(e,r);return i=_(r,"script"),i.length>0&&y(i,!l&&_(e,"script")),i=o=a=null,r},buildFragment:function(e,t,n,i){for(var a,r,s,o,l,c,u,d=e.length,p=m(t),h=[],f=0;d>f;f++)if(r=e[f],r||0===r)if("object"===ct.type(r))ct.merge(h,r.nodeType?[r]:r);else if(en.test(r)){for(o=o||p.appendChild(t.createElement("div")),l=(Kt.exec(r)||["",""])[1].toLowerCase(),u=ln[l]||ln._default,o.innerHTML=u[1]+r.replace(Jt,"<$1></$2>")+u[2],a=u[0];a--;)o=o.lastChild;if(!ct.support.leadingWhitespace&&Qt.test(r)&&h.push(t.createTextNode(Qt.exec(r)[0])),!ct.support.tbody)for(r="table"!==l||Zt.test(r)?"<table>"!==u[1]||Zt.test(r)?0:o:o.firstChild,a=r&&r.childNodes.length;a--;)ct.nodeName(c=r.childNodes[a],"tbody")&&!c.childNodes.length&&r.removeChild(c);for(ct.merge(h,o.childNodes),o.textContent="";o.firstChild;)o.removeChild(o.firstChild);o=p.lastChild}else h.push(t.createTextNode(r));for(o&&p.removeChild(o),ct.support.appendChecked||ct.grep(_(h,"input"),x),f=0;r=h[f++];)if((!i||-1===ct.inArray(r,i))&&(s=ct.contains(r.ownerDocument,r),o=_(p.appendChild(r),"script"),s&&y(o),n))for(a=0;r=o[a++];)rn.test(r.type||"")&&n.push(r);return o=null,p},cleanData:function(e,t){for(var n,i,a,r,s=0,o=ct.expando,l=ct.cache,c=ct.support.deleteExpando,u=ct.event.special;null!=(n=e[s]);s++)if((t||ct.acceptData(n))&&(a=n[o],r=a&&l[a])){if(r.events)for(i in r.events)u[i]?ct.event.remove(n,i):ct.removeEvent(n,i,r.handle);l[a]&&(delete l[a],c?delete n[o]:typeof n.removeAttribute!==W?n.removeAttribute(o):n[o]=null,et.push(a))}}});var dn,pn,mn,hn=/alpha\([^)]*\)/i,fn=/opacity\s*=\s*([^)]*)/,gn=/^(top|right|bottom|left)$/,yn=/^(none|table(?!-c[ea]).+)/,vn=/^margin/,bn=new RegExp("^("+ut+")(.*)$","i"),_n=new RegExp("^("+ut+")(?!px)[a-z%]+$","i"),xn=new RegExp("^([+-])=("+ut+")","i"),wn={BODY:"block"},Tn={position:"absolute",visibility:"hidden",display:"block"},En={letterSpacing:0,fontWeight:400},kn=["Top","Right","Bottom","Left"],An=["Webkit","O","Moz","ms"];ct.fn.extend({css:function(e,n){return ct.access(this,function(e,n,i){var a,r,s={},o=0;if(ct.isArray(n)){for(r=pn(e),a=n.length;a>o;o++)s[n[o]]=ct.css(e,n[o],!1,r);return s}return i!==t?ct.style(e,n,i):ct.css(e,n)},e,n,arguments.length>1)},show:function(){return E(this,!0)},hide:function(){return E(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:T(this))?ct(this).show():ct(this).hide()})}}),ct.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=mn(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":ct.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,i,a){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,s,o,l=ct.camelCase(n),c=e.style;if(n=ct.cssProps[l]||(ct.cssProps[l]=w(c,l)),o=ct.cssHooks[n]||ct.cssHooks[l],i===t)return o&&"get"in o&&(r=o.get(e,!1,a))!==t?r:c[n];if(s=typeof i,"string"===s&&(r=xn.exec(i))&&(i=(r[1]+1)*r[2]+parseFloat(ct.css(e,n)),s="number"),!(null==i||"number"===s&&isNaN(i)||("number"!==s||ct.cssNumber[l]||(i+="px"),ct.support.clearCloneStyle||""!==i||0!==n.indexOf("background")||(c[n]="inherit"),o&&"set"in o&&(i=o.set(e,i,a))===t)))try{c[n]=i}catch(u){}}},css:function(e,n,i,a){var r,s,o,l=ct.camelCase(n);return n=ct.cssProps[l]||(ct.cssProps[l]=w(e.style,l)),o=ct.cssHooks[n]||ct.cssHooks[l],o&&"get"in o&&(s=o.get(e,!0,i)),s===t&&(s=mn(e,n,a)),"normal"===s&&n in En&&(s=En[n]),""===i||i?(r=parseFloat(s),i===!0||ct.isNumeric(r)?r||0:s):s},swap:function(e,t,n,i){var a,r,s={};for(r in t)s[r]=e.style[r],e.style[r]=t[r];a=n.apply(e,i||[]);for(r in t)e.style[r]=s[r];return a}}),e.getComputedStyle?(pn=function(t){return e.getComputedStyle(t,null)},mn=function(e,n,i){var a,r,s,o=i||pn(e),l=o?o.getPropertyValue(n)||o[n]:t,c=e.style;return o&&(""!==l||ct.contains(e.ownerDocument,e)||(l=ct.style(e,n)),_n.test(l)&&vn.test(n)&&(a=c.width,r=c.minWidth,s=c.maxWidth,c.minWidth=c.maxWidth=c.width=l,l=o.width,c.width=a,c.minWidth=r,c.maxWidth=s)),l}):$.documentElement.currentStyle&&(pn=function(e){return e.currentStyle},mn=function(e,n,i){var a,r,s,o=i||pn(e),l=o?o[n]:t,c=e.style;return null==l&&c&&c[n]&&(l=c[n]),_n.test(l)&&!gn.test(n)&&(a=c.left,r=e.runtimeStyle,s=r&&r.left,s&&(r.left=e.currentStyle.left),c.left="fontSize"===n?"1em":l,l=c.pixelLeft+"px",c.left=a,s&&(r.left=s)),""===l?"auto":l}),ct.each(["height","width"],function(e,t){ct.cssHooks[t]={get:function(e,n,i){return n?0===e.offsetWidth&&yn.test(ct.css(e,"display"))?ct.swap(e,Tn,function(){return P(e,t,i)}):P(e,t,i):void 0},set:function(e,n,i){var a=i&&pn(e);return k(e,n,i?A(e,t,i,ct.support.boxSizing&&"border-box"===ct.css(e,"boxSizing",!1,a),a):0)}}}),ct.support.opacity||(ct.cssHooks.opacity={get:function(e,t){return fn.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,i=e.currentStyle,a=ct.isNumeric(t)?"alpha(opacity="+100*t+")":"",r=i&&i.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===ct.trim(r.replace(hn,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||i&&!i.filter)||(n.filter=hn.test(r)?r.replace(hn,a):r+" "+a)}}),ct(function(){ct.support.reliableMarginRight||(ct.cssHooks.marginRight={get:function(e,t){return t?ct.swap(e,{display:"inline-block"},mn,[e,"marginRight"]):void 0}}),!ct.support.pixelPosition&&ct.fn.position&&ct.each(["top","left"],function(e,t){ct.cssHooks[t]={get:function(e,n){return n?(n=mn(e,t),_n.test(n)?ct(e).position()[t]+"px":n):void 0}}})}),ct.expr&&ct.expr.filters&&(ct.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||!ct.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||ct.css(e,"display"))},ct.expr.filters.visible=function(e){return!ct.expr.filters.hidden(e)}),ct.each({margin:"",padding:"",border:"Width"},function(e,t){ct.cssHooks[e+t]={expand:function(n){for(var i=0,a={},r="string"==typeof n?n.split(" "):[n];4>i;i++)a[e+kn[i]+t]=r[i]||r[i-2]||r[0];return a}},vn.test(e)||(ct.cssHooks[e+t].set=k)});var Pn=/%20/g,Sn=/\[\]$/,Cn=/\r?\n/g,Nn=/^(?:submit|button|image|reset|file)$/i,In=/^(?:input|select|textarea|keygen)/i;ct.fn.extend({serialize:function(){return ct.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ct.prop(this,"elements");return e?ct.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ct(this).is(":disabled")&&In.test(this.nodeName)&&!Nn.test(e)&&(this.checked||!nn.test(e))}).map(function(e,t){var n=ct(this).val();return null==n?null:ct.isArray(n)?ct.map(n,function(e){return{name:t.name,value:e.replace(Cn,"\r\n")}}):{name:t.name,value:n.replace(Cn,"\r\n")}}).get()}}),ct.param=function(e,n){var i,a=[],r=function(e,t){t=ct.isFunction(t)?t():null==t?"":t,a[a.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=ct.ajaxSettings&&ct.ajaxSettings.traditional),ct.isArray(e)||e.jquery&&!ct.isPlainObject(e))ct.each(e,function(){r(this.name,this.value)});else for(i in e)N(i,e[i],n,r);return a.join("&").replace(Pn,"+")},ct.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ct.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ct.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var Mn,zn,Ln=ct.now(),Bn=/\?/,Rn=/#.*$/,qn=/([?&])_=[^&]*/,On=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,jn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Dn=/^(?:GET|HEAD)$/,Fn=/^\/\//,Gn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Xn=ct.fn.load,Hn={},Vn={},Un="*/".concat("*");try{zn=Q.href}catch(Yn){zn=$.createElement("a"),zn.href="",zn=zn.href}Mn=Gn.exec(zn.toLowerCase())||[],ct.fn.load=function(e,n,i){if("string"!=typeof e&&Xn)return Xn.apply(this,arguments);var a,r,s,o=this,l=e.indexOf(" ");return l>=0&&(a=e.slice(l,e.length),e=e.slice(0,l)),ct.isFunction(n)?(i=n,n=t):n&&"object"==typeof n&&(s="POST"),o.length>0&&ct.ajax({url:e,type:s,dataType:"html",data:n}).done(function(e){r=arguments,o.html(a?ct("<div>").append(ct.parseHTML(e)).find(a):e)}).complete(i&&function(e,t){o.each(i,r||[e.responseText,t,e])}),this},ct.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ct.fn[t]=function(e){return this.on(t,e)}}),ct.each(["get","post"],function(e,n){ct[n]=function(e,i,a,r){return ct.isFunction(i)&&(r=r||a,a=i,i=t),ct.ajax({url:e,type:n,dataType:r,data:i,success:a})}}),ct.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zn,type:"GET",isLocal:jn.test(Mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Un,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":ct.parseJSON,"text xml":ct.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?z(z(e,ct.ajaxSettings),t):z(ct.ajaxSettings,e)},ajaxPrefilter:I(Hn),ajaxTransport:I(Vn),ajax:function(e,n){function i(e,n,i,a){var r,d,v,b,x,T=n;2!==_&&(_=2,l&&clearTimeout(l),u=t,o=a||"",w.readyState=e>0?4:0,i&&(b=L(p,w,i)),e>=200&&300>e||304===e?(p.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(ct.lastModified[s]=x),x=w.getResponseHeader("etag"),x&&(ct.etag[s]=x)),204===e?(r=!0,T="nocontent"):304===e?(r=!0,T="notmodified"):(r=B(p,b),T=r.state,d=r.data,v=r.error,r=!v)):(v=T,(e||!T)&&(T="error",0>e&&(e=0))),w.status=e,w.statusText=(n||T)+"",r?f.resolveWith(m,[d,T,w]):f.rejectWith(m,[w,T,v]),w.statusCode(y),y=t,c&&h.trigger(r?"ajaxSuccess":"ajaxError",[w,p,r?d:v]),g.fireWith(m,[w,T]),c&&(h.trigger("ajaxComplete",[w,p]),--ct.active||ct.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var a,r,s,o,l,c,u,d,p=ct.ajaxSetup({},n),m=p.context||p,h=p.context&&(m.nodeType||m.jquery)?ct(m):ct.event,f=ct.Deferred(),g=ct.Callbacks("once memory"),y=p.statusCode||{},v={},b={},_=0,x="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===_){if(!d)for(d={};t=On.exec(o);)d[t[1].toLowerCase()]=t[2];t=d[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===_?o:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return _||(e=b[n]=b[n]||e,v[e]=t),this},overrideMimeType:function(e){return _||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>_)for(t in e)y[t]=[y[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||x;return u&&u.abort(t),i(0,t),this}};if(f.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,p.url=((e||p.url||zn)+"").replace(Rn,"").replace(Fn,Mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=ct.trim(p.dataType||"*").toLowerCase().match(dt)||[""],null==p.crossDomain&&(a=Gn.exec(p.url.toLowerCase()),p.crossDomain=!(!a||a[1]===Mn[1]&&a[2]===Mn[2]&&(a[3]||("http:"===a[1]?80:443))==(Mn[3]||("http:"===Mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=ct.param(p.data,p.traditional)),M(Hn,p,n,w),2===_)return w;c=p.global,c&&0===ct.active++&&ct.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Dn.test(p.type),s=p.url,p.hasContent||(p.data&&(s=p.url+=(Bn.test(s)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=qn.test(s)?s.replace(qn,"$1_="+Ln++):s+(Bn.test(s)?"&":"?")+"_="+Ln++)),p.ifModified&&(ct.lastModified[s]&&w.setRequestHeader("If-Modified-Since",ct.lastModified[s]),ct.etag[s]&&w.setRequestHeader("If-None-Match",ct.etag[s])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&w.setRequestHeader("Content-Type",p.contentType),w.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Un+"; q=0.01":""):p.accepts["*"]);for(r in p.headers)w.setRequestHeader(r,p.headers[r]);if(p.beforeSend&&(p.beforeSend.call(m,w,p)===!1||2===_))return w.abort();x="abort";for(r in{success:1,error:1,complete:1})w[r](p[r]);if(u=M(Vn,p,n,w)){w.readyState=1,c&&h.trigger("ajaxSend",[w,p]),p.async&&p.timeout>0&&(l=setTimeout(function(){w.abort("timeout")},p.timeout));try{_=1,u.send(v,i)}catch(T){if(!(2>_))throw T;i(-1,T)}}else i(-1,"No Transport");return w},getScript:function(e,n){return ct.get(e,t,n,"script")},getJSON:function(e,t,n){return ct.get(e,t,n,"json")}}),ct.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return ct.globalEval(e),e}}}),ct.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),ct.ajaxTransport("script",function(e){if(e.crossDomain){var n,i=$.head||ct("head")[0]||$.documentElement;return{send:function(t,a){n=$.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||a(200,"success"))},i.insertBefore(n,i.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Wn=[],$n=/(=)\?(?=&|$)|\?\?/;ct.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Wn.pop()||ct.expando+"_"+Ln++;return this[e]=!0,e}}),ct.ajaxPrefilter("json jsonp",function(n,i,a){var r,s,o,l=n.jsonp!==!1&&($n.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&$n.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(r=n.jsonpCallback=ct.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace($n,"$1"+r):n.jsonp!==!1&&(n.url+=(Bn.test(n.url)?"&":"?")+n.jsonp+"="+r),n.converters["script json"]=function(){return o||ct.error(r+" was not called"),o[0]},n.dataTypes[0]="json",s=e[r],e[r]=function(){o=arguments},a.always(function(){e[r]=s,n[r]&&(n.jsonpCallback=i.jsonpCallback,Wn.push(r)),o&&ct.isFunction(s)&&s(o[0]),o=s=t}),"script"):void 0});var Qn,Jn,Kn=0,Zn=e.ActiveXObject&&function(){var e;for(e in Qn)Qn[e](t,!0)};ct.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&R()||q()}:R,Jn=ct.ajaxSettings.xhr(),ct.support.cors=!!Jn&&"withCredentials"in Jn,Jn=ct.support.ajax=!!Jn,Jn&&ct.ajaxTransport(function(n){if(!n.crossDomain||ct.support.cors){var i;return{send:function(a,r){var s,o,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(o in n.xhrFields)l[o]=n.xhrFields[o];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||a["X-Requested-With"]||(a["X-Requested-With"]="XMLHttpRequest");try{for(o in a)l.setRequestHeader(o,a[o])}catch(c){}l.send(n.hasContent&&n.data||null),i=function(e,a){var o,c,u,d;try{if(i&&(a||4===l.readyState))if(i=t,s&&(l.onreadystatechange=ct.noop,Zn&&delete Qn[s]),a)4!==l.readyState&&l.abort();else{d={},o=l.status,c=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(d.text=l.responseText);try{u=l.statusText}catch(p){u=""}o||!n.isLocal||n.crossDomain?1223===o&&(o=204):o=d.text?200:404}}catch(m){a||r(-1,m)}d&&r(o,u,d,c)},n.async?4===l.readyState?setTimeout(i):(s=++Kn,Zn&&(Qn||(Qn={},ct(e).unload(Zn)),Qn[s]=i),l.onreadystatechange=i):i()},abort:function(){i&&i(t,!0)}}}});var ei,ti,ni=/^(?:toggle|show|hide)$/,ii=new RegExp("^(?:([+-])=|)("+ut+")([a-z%]*)$","i"),ai=/queueHooks$/,ri=[G],si={"*":[function(e,t){var n,i,a=this.createTween(e,t),r=ii.exec(t),s=a.cur(),o=+s||0,l=1,c=20;if(r){if(n=+r[2],i=r[3]||(ct.cssNumber[e]?"":"px"),"px"!==i&&o){o=ct.css(a.elem,e,!0)||n||1;do l=l||".5",o/=l,ct.style(a.elem,e,o+i);while(l!==(l=a.cur()/s)&&1!==l&&--c)}a.unit=i,a.start=o,a.end=r[1]?o+(r[1]+1)*n:n}return a}]};ct.Animation=ct.extend(D,{tweener:function(e,t){ct.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,i=0,a=e.length;a>i;i++)n=e[i],si[n]=si[n]||[],si[n].unshift(t)},prefilter:function(e,t){t?ri.unshift(e):ri.push(e)}}),ct.Tween=X,X.prototype={constructor:X,init:function(e,t,n,i,a,r){this.elem=e,this.prop=n,this.easing=a||"swing",this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=r||(ct.cssNumber[n]?"":"px")},cur:function(){var e=X.propHooks[this.prop];return e&&e.get?e.get(this):X.propHooks._default.get(this)},run:function(e){var t,n=X.propHooks[this.prop];return this.pos=t=this.options.duration?ct.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):X.propHooks._default.set(this),this}},X.prototype.init.prototype=X.prototype,X.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=ct.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){ct.fx.step[e.prop]?ct.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[ct.cssProps[e.prop]]||ct.cssHooks[e.prop])?ct.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},X.propHooks.scrollTop=X.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ct.each(["toggle","show","hide"],function(e,t){var n=ct.fn[t];ct.fn[t]=function(e,i,a){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(H(t,!0),e,i,a)}}),ct.fn.extend({fadeTo:function(e,t,n,i){return this.filter(T).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var a=ct.isEmptyObject(e),r=ct.speed(t,n,i),s=function(){var t=D(this,ct.extend({},e),r);s.finish=function(){t.stop(!0)},(a||ct._data(this,"finish"))&&t.stop(!0)};return s.finish=s,a||r.queue===!1?this.each(s):this.queue(r.queue,s)},stop:function(e,n,i){var a=function(e){var t=e.stop;delete e.stop,t(i)};return"string"!=typeof e&&(i=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",r=ct.timers,s=ct._data(this);if(n)s[n]&&s[n].stop&&a(s[n]);else for(n in s)s[n]&&s[n].stop&&ai.test(n)&&a(s[n]);
for(n=r.length;n--;)r[n].elem!==this||null!=e&&r[n].queue!==e||(r[n].anim.stop(i),t=!1,r.splice(n,1));(t||!i)&&ct.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=ct._data(this),i=n[e+"queue"],a=n[e+"queueHooks"],r=ct.timers,s=i?i.length:0;for(n.finish=!0,ct.queue(this,e,[]),a&&a.cur&&a.cur.finish&&a.cur.finish.call(this),t=r.length;t--;)r[t].elem===this&&r[t].queue===e&&(r[t].anim.stop(!0),r.splice(t,1));for(t=0;s>t;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),ct.each({slideDown:H("show"),slideUp:H("hide"),slideToggle:H("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){ct.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),ct.speed=function(e,t,n){var i=e&&"object"==typeof e?ct.extend({},e):{complete:n||!n&&t||ct.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ct.isFunction(t)&&t};return i.duration=ct.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in ct.fx.speeds?ct.fx.speeds[i.duration]:ct.fx.speeds._default,(null==i.queue||i.queue===!0)&&(i.queue="fx"),i.old=i.complete,i.complete=function(){ct.isFunction(i.old)&&i.old.call(this),i.queue&&ct.dequeue(this,i.queue)},i},ct.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},ct.timers=[],ct.fx=X.prototype.init,ct.fx.tick=function(){var e,n=ct.timers,i=0;for(ei=ct.now();i<n.length;i++)e=n[i],e()||n[i]!==e||n.splice(i--,1);n.length||ct.fx.stop(),ei=t},ct.fx.timer=function(e){e()&&ct.timers.push(e)&&ct.fx.start()},ct.fx.interval=13,ct.fx.start=function(){ti||(ti=setInterval(ct.fx.tick,ct.fx.interval))},ct.fx.stop=function(){clearInterval(ti),ti=null},ct.fx.speeds={slow:600,fast:200,_default:400},ct.fx.step={},ct.expr&&ct.expr.filters&&(ct.expr.filters.animated=function(e){return ct.grep(ct.timers,function(t){return e===t.elem}).length}),ct.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){ct.offset.setOffset(this,e,t)});var n,i,a={top:0,left:0},r=this[0],s=r&&r.ownerDocument;if(s)return n=s.documentElement,ct.contains(n,r)?(typeof r.getBoundingClientRect!==W&&(a=r.getBoundingClientRect()),i=V(s),{top:a.top+(i.pageYOffset||n.scrollTop)-(n.clientTop||0),left:a.left+(i.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):a},ct.offset={setOffset:function(e,t,n){var i=ct.css(e,"position");"static"===i&&(e.style.position="relative");var a,r,s=ct(e),o=s.offset(),l=ct.css(e,"top"),c=ct.css(e,"left"),u=("absolute"===i||"fixed"===i)&&ct.inArray("auto",[l,c])>-1,d={},p={};u?(p=s.position(),a=p.top,r=p.left):(a=parseFloat(l)||0,r=parseFloat(c)||0),ct.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(d.top=t.top-o.top+a),null!=t.left&&(d.left=t.left-o.left+r),"using"in t?t.using.call(e,d):s.css(d)}},ct.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},i=this[0];return"fixed"===ct.css(i,"position")?t=i.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),ct.nodeName(e[0],"html")||(n=e.offset()),n.top+=ct.css(e[0],"borderTopWidth",!0),n.left+=ct.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-ct.css(i,"marginTop",!0),left:t.left-n.left-ct.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||$.documentElement;e&&!ct.nodeName(e,"html")&&"static"===ct.css(e,"position");)e=e.offsetParent;return e||$.documentElement})}}),ct.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var i=/Y/.test(n);ct.fn[e]=function(a){return ct.access(this,function(e,a,r){var s=V(e);return r===t?s?n in s?s[n]:s.document.documentElement[a]:e[a]:(s?s.scrollTo(i?ct(s).scrollLeft():r,i?r:ct(s).scrollTop()):e[a]=r,void 0)},e,a,arguments.length,null)}}),ct.each({Height:"height",Width:"width"},function(e,n){ct.each({padding:"inner"+e,content:n,"":"outer"+e},function(i,a){ct.fn[a]=function(a,r){var s=arguments.length&&(i||"boolean"!=typeof a),o=i||(a===!0||r===!0?"margin":"border");return ct.access(this,function(n,i,a){var r;return ct.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(r=n.documentElement,Math.max(n.body["scroll"+e],r["scroll"+e],n.body["offset"+e],r["offset"+e],r["client"+e])):a===t?ct.css(n,i,o):ct.style(n,i,a,o)},n,s?a:t,s,null)}})}),n.exports=ct,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return ct})}(window)}),require.register("visionmedia-batch/index.js",function(e,t,n){function i(){}function a(){if(!(this instanceof a))return new a;this.fns=[],this.concurrency(1/0),this.throws(!0);for(var e=0,t=arguments.length;t>e;++e)this.push(arguments[e])}try{var r=t("events").EventEmitter}catch(s){var o=t("emitter")}n.exports=a,r?a.prototype.__proto__=r.prototype:o(a.prototype),a.prototype.concurrency=function(e){return this.n=e,this},a.prototype.push=function(e){return this.fns.push(e),this},a.prototype.throws=function(e){return this.e=!!e,this},a.prototype.end=function(e){function t(){function i(i,c){if(!n){if(i&&d)return n=!0,e(i);var p=r-s+1,m=new Date;o[u]=c,l[u]=i,a.emit("progress",{index:u,value:c,error:i,pending:s,total:r,complete:p,percent:0|100*(p/r),start:h,end:m,duration:m-h}),--s?t():d?e(null,o):e(l,o)}}var u=p++,m=c[u];if(m){var h=new Date;try{m(i)}catch(f){i(f)}}}var n,a=this,r=this.fns.length,s=r,o=[],l=[],e=e||i,c=this.fns,u=this.n,d=this.e,p=0;if(!c.length)return e(null,o);for(var m=0;m<c.length&&m!=u;m++)t();return this}}),require.register("component-inherit/index.js",function(e,t,n){n.exports=function(e,t){var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}),require.register("component-preloader/index.js",function(e,t,n){function i(){a.call(this),this.urls=[]}var a=t("batch"),r=t("inherit");n.exports=i,r(i,a),i.prototype.add=function(e){this.urls.push(e),this.push(function(t){var n=new Image;n.onload=function(){t()},n.src=e})}}),require.register("publicclass-rtc/index.js",function(e,t){function n(e){return e.sdp=e.sdp.replace("b=AS:30","b=AS:64"),e}function i(t,n){var i=new XMLHttpRequest;i.onreadystatechange=function(){if(4==i.readyState&&200==i.status){var t;try{t=JSON.parse(i.responseText)}catch(a){return o.connection("got bad data from turn ajax service.",i.responseText)}if(t.uris&&t.uris[0]&&t.username&&t.password){for(var r=0;r<t.uris.length;r++)e.servers.iceServers.push({url:t.uris[r].replace(":",":"+t.username+"@"),credential:t.password});n&&n.reconnect()}}},i.open("GET",t,!0),i.send()}var a=t("emitter"),r=t("./signal/web-socket"),s=t("./signal/app-channel"),o={connection:t("debug")("rtc:connection"),channel:t("debug")("rtc:channel")},l=window.webkitRTCPeerConnection||window.mozRTCPeerConnection||window.RTCPeerConnection;e.sdpConstraints={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}},e.servers={iceServers:[{url:"stun:stun.l.google.com:19302"}]},e.available=function(){if("function"!=typeof l||!l.prototype||"function"!=typeof l.prototype.createDataChannel)return!1;try{var e=new l(null,{optional:[{RtpDataChannels:!0}]});return e.createDataChannel("feat",{reliable:!1}).close(),!0}catch(t){return!1}}(),e.connect=function(t){function c(){o.connection("create"),I("create");var n={optional:[{RtpDataChannels:!!t.dataChannels}]},i=new l(e.servers,n);return i.onconnecting=function(e){o.connection("connecting",arguments),x.emit("connecting",e)},i.onclose=function(e){o.connection("close",arguments),x.emit("close",e),I("onclose"),u()},i.onaddstream=function(e){o.connection("addstream",arguments),x.emit("addstream",e)},i.onremovestream=function(e){o.connection("removestream",arguments),x.emit("removestream",e)},i.ondatachannel=function(e){o.connection("datachannel",arguments),w[e.channel.label]=y(e.channel),x.emit("datachannel",e)},i.ongatheringchange=function(e){o.connection("gatheringchange -> %s",i.iceGatheringState,arguments),x.emit("gatheringchange",e),u()},i.onicecandidate=function(e){e.candidate?b.send(e.candidate):(o.connection("icecandidate end %s",t.bufferCandidates?"(buffered)":""),b.send({candidate:null})),x.emit("icecandidate",e),u()},i.oniceconnectionstatechange=i.onicechange=function(e){o.connection("icechange -> %s",i.iceConnectionState,arguments),x.emit("icechange",e),u()},i.onnegotiationneeded=function(e){o.connection("negotiationneeded",arguments),x.emit("negotiationneeded",e),t.autoNegotiate&&(C?x.offer():P=!0)},i.onsignalingstatechange=i.onstatechange=function(e){o.connection("statechange -> %s",i.signalingState,arguments),x.emit("statechange",e),u()},x.connection=i,i}function u(){var e=v&&E&&k&&null!==A&&"stable"==v.signalingState&&"disconnected"!=v.iceConnectionState&&("connected"==v.iceConnectionState||"complete"==v.iceGatheringState);!C&&e?(o.connection("CLOSED -> OPEN"),I("isopen"),x.open=C=!0,x.emit("open"),m(v),P&&(o.connection("negotiationneeded on open"),x.offer())):C||e?C&&!e?(o.connection("OPEN -> CLOSED"),x.open=C=!1,I("isopen"),x.emit("close")):o.connection("OPEN -> OPEN"):(o.connection("CLOSED -> CLOSED"),N("isopen"))}function d(){if(t.dataChannels)for(var e="string"==typeof t.dataChannels?[t.dataChannels]:t.dataChannels,n=0;n<e.length;n++)p(e[n])}function p(e){o.channel("create",e);var t;try{t=v.createDataChannel(e,{reliable:!1})}catch(n){return console.error("Create Data channel failed with exception: "+n.message),null}return w[e]=y(t),t}function m(e){for(var t=0;t<S.length;t+=2){var n=S[t];h(e,n.id)||(o.connection("re-added missing stream",n.id),e.addStream(n))}}function h(e,t){if("function"==typeof e.getStreamById)return e.getStreamById(t);for(var n=e.localStreams||e.getLocalStreams(),i=0;i<n.length;i++)if(n[i].id===t)return n[i];return null}function f(e){var t=w[e];t&&("closed"!=t.readyState&&t.close(),t.onmessage=null,t.onopen=null,t.onclose=null,t.onerror=null,delete w[e])}function g(){v&&(I("close"),"closed"!=v.signalingState&&v.close(),v.onconnecting=null,v.onopen=null,v.onclose=null,v.onaddstream=null,v.onremovestream=null,v.ondatachannel=null,v.ongatheringchange=null,v.onicecandidate=null,v.onicechange=null,v.onidentityresult=null,v.onnegotiationneeded=null,v.oniceconnectionstatechange=null,v.onsignalingstatechange=null,v.onstatechange=null,v=null),x.connection=null}function y(e){return e&&(o.channel("adding listeners",e.label),e.onmessage=function(t){o.channel("message %s",e.label,t),x.emit("channel "+e.label+" message",t),x.emit("channel message",t)},e.onopen=function(t){o.channel("open %s",e.label),x.emit("channel "+e.label+" open",t),x.emit("channel open",t)},e.onclose=function(t){o.channel("close %s",e.label),x.emit("channel "+e.label+" close",t),x.emit("channel close",t)},e.onerror=function(t){o.channel("error %s",e.label,t),x.emit("channel "+e.label+" error",t),x.emit("channel error",t),x.emit("error",t)}),e}t=t||{},t.dataChannels=t.dataChannels||!1,t.connectionTimeout=t.connectionTimeout||3e4,t.turnConfigURL=t.turnConfigURL||"",t.autoNegotiate="boolean"==typeof t.autoNegotiate?t.autoNegotiate:!0;var v,b,_,x=a({}),w=x.channels={},T=Date.now()+Math.random(),E=x.challenged=!1,k=x.challenger=!1,A=x.initiator=null,P=!1,S=[],C=x.open=!1;b=x.signal="ws"==t.signal?new r(t):new s(t),b.on("open",function(){v&&x.close(),v=c(),d(),m(v)}),b.on("offer",function(t){v&&(o.connection("remote offer",v.signalingState,[t]),"stable"==v.signalingState?v.setRemoteDescription(n(t),function(){o.connection("create answer"),v.createAnswer(q,null,e.sdpConstraints)},R("remote offer")):o.connection('received remote "offer" bit expected an "answer"'))}),b.on("answer",function(e){v&&(o.connection("remote answer",v.signalingState,[e]),"stable"!=v.signalingState?v.setRemoteDescription(n(e),function(){},R("remote answer")):o.connection('received "answer" but expected an "offer"'))}),b.on("candidate",function(e){if(v&&"disconnected"!=v.iceConnectionState)try{o.connection("signal icecandidate",arguments),v.addIceCandidate(e)}catch(t){console.warn("failed to add ice candidate. was it received from a previous connection?",t)}}),b.on("request-for-offer",function(){o.connection("signal request-for-offer"),M()}),b.on("challenge",function(e){return null===e.challenge?(o.connection("request-for-challenge",T),z(),void 0):(k||z(),o.connection("challenge",T,e.challenge),e.challenge>T?(x.initiator=A=!0,M()):x.initiator=A=!1,x.challenged=E=!0,x.emit("connected"),void 0)}),b.on("connected",function(){o.connection("signal connected"),B()}),b.on("disconnected",function(){o.connection("signal disconnected"),x.emit("disconnected"),x.reconnect()}),b.on("event",function(e){var t=e.type;delete e.type,x.emit(t,e)}),b.on("error",function(e){x.emit("error",e)});var N=function(e){o.connection("timeout started",e),clearTimeout(_),_=setTimeout(function(){x.emit("timeout")},t.connectionTimeout)},I=function(e){_&&(o.connection("timeout stopped",e),clearTimeout(_),_=null)},M=function(){v&&(o.connection("send offer",v.signalingState),"have-remote-offer"!=v.signalingState?v.createOffer(q,null,e.sdpConstraints):o.connection("offer not sent because of signalingState",v.signalingState),P=!1)},z=function(){o.connection("send challenge",T),b.send({challenge:T}),x.challenger=k=!0},L=function(){v&&(o.connection("request offer"),b.send({type:"request-for-offer"}),P=!1)},B=function(){o.connection("request challenge"),b.send({challenge:null})},R=function(e){return function(t){v&&(console.log("signalingState",v.signalingState),console.log("iceConnectionState",v.iceConnectionState),console.log("iceGatheringState",v.iceGatheringState)),console.warn("could not set %s description",e,t)}},q=function(e){o.connection("local description",e),v&&(v.setLocalDescription(e,function(){},R("local "+e.type)),b.send(e))};x.offer=function(){A===!0?M():A===!1?L():console.warn("attempting to offer before open")},x.addStream=function(e,t){o.connection("adding local stream");try{v&&v.addStream(e,t),S.push(e,t)}catch(n){}return this},x.removeStream=function(e){o.connection("removing local stream");var t=S.indexOf(e);return~t&&S.splice(t,2),v&&v.removeStream(e),this},x.reconnect=function(){return o.connection("reconnect"),v&&x.close(!0),v=c(),d(),B(),x.emit("reconnect"),this},x.close=function(e){o.connection("close");var t=Object.keys(w);t.forEach(f),g(),x.challenged=E=!1,x.challenger=k=!1,x.initiator=A=null,u(),e||b.send("close")},x.send=function(e,t){o.channel("send",e,t);var n=w[e];n?"open"==n.readyState?n.send(t):console.warn("tried to send data on a not open channel %s",e):console.error("tried to send to non-existing channel %s",e)};var O=window.onbeforeunload;return window.onbeforeunload=function(){I("unload"),x.close(),"function"==typeof O&&O.apply(window,arguments)},t.turnConfigURL&&i(t.turnConfigURL,x),x}}),require.register("publicclass-rtc/signal/app-channel.js",function(e,t,n){function i(e){function t(){function a(){s("close"),clearTimeout(l.timeout),o.emit("close"),c&&(c=!1,o.emit("disconnected"),l.timeout=setTimeout(t,n))}if(s("create",e.token,e.room,e.user),n*=2,i++,i>=e.maxAttempts)return o.emit("error",new Error("unable to connect to signal: "+e.token));var r=new goog.appengine.Channel(e.token),l=r.open(),c=null,u=!1,d=[];l.onopen=function(){s("open"),u=!0;var t=new XMLHttpRequest;t.open("POST","/_connect?from="+e.user+"-"+e.room,!1),t.send(),o.emit("open"),clearTimeout(l.timeout)},l.onmessage=function(t){if(n=e.retryTimeout,i=0,"connected"==t.data)c||(c=!0,s("connected"),o.emit("connected"));else if("disconnected"==t.data)c===!0&&(c=!1,s("disconnected"),o.emit("disconnected"));else if("full"==t.data)s("full"),o.emit("event",{type:"full"}),a();else{if(!c)return console.warn("received messages from channel before being connected. ignoring.",t.data),void 0;var r=JSON.parse(t.data);if(r&&"offer"==r.type)s("offer",r),o.emit("offer",new RTCSessionDescription(r));else if(r&&"request-for-offer"==r.type)s("request-for-offer"),o.emit("request-for-offer");else if(r&&"answer"==r.type)s("answer",r),o.emit("answer",new RTCSessionDescription(r));else if(r&&"challenge"in r)s("challenge",[r]),o.emit("challenge",r);else if(r&&r.candidates){if(s("candidates",[r]),c===!0)for(var l=0;l<r.candidates.length;l++)o.emit("candidate",new RTCIceCandidate(r.candidates[l]))}else r&&r.candidate?(s("candidate",[r]),c===!0&&o.emit("candidate",new RTCIceCandidate(r))):r?(s("message",t.data),r.type&&o.emit("event",r)):console.warn("invalid json",r)}},l.onerror=function(e){console.error("Socket error: ",e),o.emit("error",e),a()},l.onclose=function(){s("closed (retrying in %sms)",n),clearTimeout(l.timeout),l.timeout=setTimeout(t,n)},clearTimeout(l.timeout),l.timeout=setTimeout(function(){s("timed out (retrying in %sms)",n),clearTimeout(l.timeout),l.timeout=setTimeout(t,n)},e.timeout),o.send=function(t){s("send",t);var n=t;if(u){if("string"==typeof t)t=JSON.stringify({type:t});else if("candidate"in t&&e.bufferCandidates){if(t.candidate)return d.push(t),void 0;t=JSON.stringify({candidates:d})}else t=JSON.stringify(t);var i=new XMLHttpRequest;i.onerror=function(e){console.error("error while sending app-channel-message (retrying)",e),setTimeout(function(){o.send(n)},100)},i.open("POST","/_message?from="+e.user+"-"+e.room,!0),i.setRequestHeader("Content-Type","application/json"),i.send(t)}else console.error("attempted to send a message too early, waiting for open"),o.on("open",o.send.bind(o,n))};var p=window.onbeforeunload;return window.onbeforeunload=function(){if(c)try{var t=new XMLHttpRequest;t.open("POST","/_disconnect?from="+e.user+"-"+e.room,!1),t.send()}catch(n){}"function"==typeof p&&p.apply(window,arguments)},o}e=e||{},e.token=e.token||"",e.room=e.room||"",e.user=e.user||"",e.timeout=e.timeout||15e3,e.retryTimeout=e.retryTimeout||5e3,e.maxAttempts=e.maxAttempts||5,e.bufferCandidates=e.bufferCandidates||!1;var n=e.retryTimeout,i=0,o=r({});if(o.send=function(e){o.on("open",function(){o.send(e)})},"undefined"==typeof goog)return o;if(!e.token){var l=new XMLHttpRequest;return l.onload=function(){if(4==l.readyState&&200==l.status){var n=a(l.responseText);e.user=n.user,e.token=n.token,e.user&&e.token&&(n.type="token",o.emit("event",n),t())}},l.open("POST","/_token?room="+e.room,!0),l.send(),o}return t()}function a(e){for(var t={},n=e.split("&"),i=0;i<n.length;i++){var a=n[i].split("="),r=decodeURIComponent(a[0]),s=decodeURIComponent(a[1]);t[r]=s}return t}var r=t("emitter"),s=t("debug")("rtc:signal:appchan");n.exports=i}),require.register("publicclass-rtc/signal/web-socket.js",function(e,t,n){function i(e){function t(){if(r("create"),n*=2,i++,i>=e.maxAttempts)return s.emit("error",new Error("unable to connect to signal: "+e.url));var a=new WebSocket(e.url),o=null;return a.onopen=function(){r("open"),s.emit("open"),clearTimeout(a.timeout)},a.onmessage=function(t){n=e.retryTimeout,i=0;var a=JSON.parse(t.data);if(a&&"offer"==a.type)r("offer",a),s.emit("offer",new RTCSessionDescription(a));else if(a&&"request-for-offer"==a.type)r("request-for-offer"),s.emit("request-for-offer");else if(a&&"answer"==a.type)r("answer",a),s.emit("answer",new RTCSessionDescription(a));else if(a&&"close"==a.type)r("close"),s.emit("close"),o===!0&&(o=!1,r("disconnected"),s.emit("disconnected"));else if(a&&a.candidates){r("candidates",[a]);for(var l=0;l<a.candidates.length;l++)s.emit("candidate",new RTCIceCandidate(a.candidates[l]))}else a&&a.candidate?(r("candidate",[a]),s.emit("candidate",new RTCIceCandidate(a))):a&&a.a&&a.b?o||(o=!0,r("connected"),s.emit("connected")):a&&(a.a&&!a.b||a.b&&!a.a)?o===!0&&(o=!1,r("disconnected"),s.emit("disconnected")):a&&"challenge"in a?(r("challenge",[a]),s.emit("challenge",a)):a?(r("message",t.data),a.type&&s.emit("event",a)):console.warn("invalid json",a)},a.onerror=function(e){console.error("WS error: ",e),clearTimeout(a.timeout),s.emit("close"),s.emit("error",e)},a.onclose=function(e){1e3===e.code&&null===o?(r("closed (probably full)",e.code),s.emit("event",{type:"full"})):(r("closed (retrying in %sms)",n),s.emit("close"),clearTimeout(a.timeout),a.timeout=setTimeout(t,n))},clearTimeout(a.timeout),a.timeout=setTimeout(function(){r("timed out (retrying in %sms)",n),clearTimeout(a.timeout),a.timeout=setTimeout(t,n)},e.timeout),s.send=function(e){r("send",e),a.readyState==a.OPEN?(e="string"==typeof e?JSON.stringify({type:e}):JSON.stringify(e),a.send(e)):(console.warn("attempted to send a message too early, waiting for open"),s.on("open",s.send.bind(s,e)))},s}e=e||{},e.url=e.url||"ws://localhost:8080/test",e.timeout=e.timeout||5e3,e.retryTimeout=e.retryTimeout||500,e.maxAttempts=e.maxAttempts||5;var n=e.retryTimeout,i=0,s=a({});return t()}var a=t("emitter"),r=t("debug")("rtc:signal:ws");n.exports=i}),require.register("publicclass-request-animation-frame/index.js",function(e,t,n){var i=function(e){setTimeout(e,1e3/60)};n.exports="undefined"!=typeof window?window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||i:i}),require.register("publicclass-now/index.js",function(e,t,n){n.exports=function(){return"undefined"!=typeof window&&window.performance?(window.performance.now||window.performance.mozNow||window.performance.msNow||window.performance.oNow||window.performance.webkitNow||Date.now).bind(window.performance||{}):Date.now||function(){return+new Date}}()}),require.register("publicclass-geom-vec/index.js",function(e,t,n){function i(e){return Math.round(e/o)*o}var a=[],r=[],s=0,o=1e-12,l=n.exports={verbose:!0,_unallocated:a,_allocated:r,make:function(e,t){var n=l.alloc();return"object"==typeof e?(n[0]=e[0]||e.x||e.u||0,n[1]=e[1]||e.y||e.v||0):(n[0]=e||0,n[1]=t||0),n},alloc:function(){if(!a.length){var e=s,t=a.length-e;for(s=2*(s||64),r.length=s,l.verbose&&console.warn("vec alloc",s);s>e;){var n=[0,0];a[t+e]=n,r[e]=n,e++}}return a.pop()},free:function(e){return e&&a.push(e),l},copy:function(e,t){return t=t||l.make(),t[0]=e[0],t[1]=e[1],t},add:function(e,t,n){return n=n||l.make(),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n},sadd:function(e,t,n){return n=n||l.make(),n[0]=e[0]+t,n[1]=e[1]+t,n},sub:function(e,t,n){return n=n||l.make(),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n},ssub:function(e,t,n){return n=n||l.make(),n[0]=e[0]-t,n[1]=e[1]-t,n},mul:function(e,t,n){return n=n||l.make(),n[0]=e[0]*t[0],n[1]=e[1]*t[1],n},smul:function(e,t,n){return n=n||l.make(),n[0]=e[0]*t,n[1]=e[1]*t,n},div:function(e,t,n){return n=n||l.make(),n[0]=e[0]/t[0],n[1]=e[1]/t[1],n},sdiv:function(e,t,n){return n=n||l.make(),n[0]=e[0]/t,n[1]=e[1]/t,n},min:function(e,t,n){return n=n||l.make(),n[0]=Math.min(e[0],t[0]),n[1]=Math.min(e[1],t[1]),n},smin:function(e,t,n){return n=n||l.make(),n[0]=Math.min(e[0],t),n[1]=Math.min(e[1],t),n},max:function(e,t,n){return n=n||l.make(),n[0]=Math.max(e[0],t[0]),n[1]=Math.max(e[1],t[1]),n},smax:function(e,t,n){return n=n||l.make(),n[0]=Math.max(e[0],t),n[1]=Math.max(e[1],t),n},clamp:function(e,t,n,i){return i=i||l.make(),l.min(n,t,i),l.max(e,i,i),i},sclamp:function(e,t,n,i){return i=i||l.make(),l.min(v,n,i),l.max(i,e,i),i},abs:function(e,t){return t=t||l.make(),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t},neg:function(e,t){return t=t||l.make(),t[0]=-e[0],t[1]=-e[1],t},perp:function(e,t){t=t||l.make();var n=e[0],i=e[1];return t[0]=-i,t[1]=+n,t},cross:function(e,t){return e[0]*t[1]-e[1]*t[0]},dot:function(e,t){return e[0]*t[0]+e[1]*t[1]},len:function(e){return Math.sqrt(l.lenSq(e))},lenSq:function(e){return l.dot(e,e)},dist:function(e,t){var n=l.sub(e,t),i=l.len(n);return l.free(n),i},distSq:function(e,t){var n=l.sub(e,t),i=l.lenSq(n);return l.free(n),i},norm:function(e,t){t=t||l.make();var n=l.len(e);return t[0]=n?e[0]/n:0,t[1]=n?e[1]/n:0,t},rot:function(e,t,n){n=n||l.make();var a=Math.cos(t),r=Math.sin(t);return n[0]=i(a*e[0]-r*e[1]),n[1]=i(r*e[0]+a*e[1]),n},eq:function(e,t){return e[0]===t[0]&&e[1]===t[1]},lerp:function(e,t,n,i){return i=i||l.make(),i[0]=e[0]+(t[0]-e[0])*n,i[1]=e[1]+(t[1]-e[1])*n,i},transform:function(e,t,n){n=n||l.make();var i=e[0],a=e[1];return n[0]=t[0]*i+t[3]*a+t[2],n[1]=t[1]*i+t[4]*a+t[5],n},reflect:function(e,t,n){n=n||l.make();var i=l.dot(e,t);return n[0]=e[0]-2*i*t[0],n[1]=e[1]-2*i*t[1],n}}}),require.register("publicclass-geom-mat/index.js",function(e,t,n){function i(e){return Math.round(e/o)*o}var a=[],r=[],s=0,o=1e-12,l=n.exports={verbose:!0,_unallocated:a,_allocated:r,make:function(e,t,n,i,a,r){var s=l.ident(),o=void 0;return e!==o&&(s[0]=e),t!==o&&(s[1]=t),n!==o&&(s[3]=n),i!==o&&(s[4]=i),a!==o&&(s[2]=a),r!==o&&(s[5]=r),s},alloc:function(){if(!a.length){var e=s,t=a.length-e;for(s=2*(s||64),r.length=s,l.verbose&&console.warn("mat alloc",s);s>e;){var n=[1,0,0,0,1,0,0,0,1];a[t+e]=n,r[e]=n,e++}}return a.pop()},free:function(e){return e&&a.push(e),l},copy:function(e,t){return t=t||l.make(),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},ident:function(e){return e=e||l.alloc(),e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},mul:function(e,t,n){var i=l.make();return i[0]=e[0]*t[0]+e[3]*t[1],i[1]=e[1]*t[0]+e[4]*t[1],i[3]=e[0]*t[3]+e[3]*t[4],i[4]=e[1]*t[3]+e[4]*t[4],i[2]=e[0]*t[2]+e[3]*t[5]+e[2],i[5]=e[1]*t[2]+e[4]*t[5]+e[5],n?(l.copy(i,n),l.free(i),n):i},translate:function(e,t,n){var i=l.make(1,0,0,1,e,t);return n?(l.mul(i,n,n),l.free(i),n):i},rotate:function(e,t){var n=i(Math.cos(e)),a=i(Math.sin(e)),r=l.make(n,a,-a,n);return t?(l.mul(r,t,t),l.free(r),t):r},scale:function(e,t,n){var i=l.make(e,0,0,t);return n?(l.mul(i,n,n),l.free(i),n):i},inv:function(e,t){var n=1/(e[0]*e[4]-e[1]*e[3]);return e=l.make(e[4]*n,-e[1]*n,-e[3]*n,e[0]*n,(e[3]*e[5]-e[4]*e[2])*n,(e[1]*e[2]-e[0]*e[5])*n),t?(l.mul(e,t,t),l.free(e),t):e}}}),require.register("publicclass-geom-poly/index.js",function(e,t,n){function i(){this.length=0,this.vertices=[],this.edges=[]}function a(e,t){return e[0]<t[0]?t[0]-e[1]:e[0]-t[1]}var r=t("geom-vec"),s=[],o=[],l=0,c=n.exports={verbose:!0,make:function(){var e=c.alloc();if(arguments.length){for(var t=0;t<arguments.length;t+=2)c.add(e,arguments[t],arguments[t+1]);c.close(e)}return e},alloc:function(){if(!s.length){var e=l,t=s.length-e;for(l=2*(l||64),o.length=l,c.verbose&&console.warn("poly alloc",l);l>e;){var n=new i;s[t+e]=n,o[e]=n,e++}}return s.pop()},free:function(e){if(e){for(;e.vertices.length;)r.free(e.vertices.pop());for(;e.edges.length;)r.free(e.edges.pop());e.length=0,s.push(e)}return e},copy:function(e,t){t=c.free(t)||c.make();for(var n=0;n<e.vertices.length;n++)c.add(t,e.vertices[n][0],e.vertices[n][1]);return c.close(t),t},add:function(e,t,n){var i=r.make(t,n);if(e.length){var a=e.vertices[e.length-1];e.edges.push(r.sub(i,a))}return e.vertices.push(i),e.length++,e},close:function(e){if(e.length){var t=e.vertices[e.length-1],n=e.vertices[0];e.edges.push(r.sub(n,t))}return e},inside:function(e,t,n){for(var i=!1,a=0,r=e.vertices.length-1;a<e.vertices.length;a++){var s=e.vertices[a],o=e.vertices[r];(s.y<n&&o.y>=n||o.y<n&&s.y>=n)&&(s.x<=t||o.x<=t)&&(i^=s.x+(n-s.y)/(o.y-s.y)*(o.x-s.x)<t),r=a}return i},area:function(e){for(var t=e.vertices.length,n=0,i=0,a=t-1;t>i;a=i,i++){var r=e.vertices[i],s=e.vertices[a];n+=r[0]*s[1],n-=r[1]*s[0]}return Math.abs(n/2)},perimeter:function(e){for(var t=0,n=0;n<e.edges.length;n++){var i=e.edges[n];t+=r.len(i)}return t},radiusSq:function(e,t){var n=0;t=t||c.centroid(e);for(var i=0;i<e.length;i++){var a=e.vertices[i],s=r.distSq(a,t);s>n&&(n=s)}return n},radius:function(e,t){return Math.sqrt(c.radiusSq(e,t))},centroid:function(e){for(var t=c.area(e),n=e.length,i=e.vertices,a=r.make(),s=0,o=n-1;n>s;o=s,s++){var l=i[s],u=i[o],d=r.cross(l,u);a[0]+=(l[0]+u[0])*d,a[1]+=(l[1]+u[1])*d}var p=1/(6*t);return r.smul(a,p,a),a[0]<0&&r.neg(a,a),a},translate:function(e,t,n,i){if(i&&i.length!==e.length)throw new Error("translate to unequal polys are not supported");var a=r.make(t,n);i=i||e;for(var s=0;s<e.length;s++)r.add(e.vertices[s],a,i.vertices[s]);return r.free(a),i},rotate:function(){throw new Error("rotate not implemented")},scale:function(){throw new Error("scale not implemented")},transform:function(e,t,n){if(n&&n.length!==e.length)throw new Error("transform to unequal polys are not supported");n=n||e;for(var i=e.length,a=0,s=i-1;i>a;s=a,a++)r.transform(e.vertices[a],t,n.vertices[a]),r.sub(e.vertices[a],e.vertices[s],n.edges[s]);return r.sub(e.vertices[0],e.vertices[i-1],n.edges[i-1]),n},convexHull:function(){throw new Error("convexHull not implemented")},reverse:function(e){for(var t=c.make(),n=e.length-1;n>=0;n--){var i=e.vertices[n];c.add(t,i[0],i[1])}return c.close(t)},aabb:function(e,t){var n=t||[0,0,0,0];n[0]=1/0,n[1]=-1/0,n[2]=-1/0,n[3]=1/0;for(var i=0;i<e.length;i++){var a=e.vertices[i];a[1]<n[0]&&(n[0]=a[1]),a[0]>n[1]&&(n[1]=a[0]),a[1]>n[2]&&(n[2]=a[1]),a[0]<n[3]&&(n[3]=a[0])}return n},intersects:function(){throw new Error("intersects not implemented")},collides:function(e,t,n,i){var s=i||{};s.intersect=!0,s.willIntersect=!0,s.minTranslationVector=null,s.nearestEdge=null,n=n||r.make();for(var o,l,u,d=1/0,p=r.make(),m=r.make(),h=r.make(),f=r.make(),g=r.make(),y=0;y<e.length+t.length;y++){var v=y<e.length?y:y-e.length,b=y<e.length?e.edges[v]:t.edges[v];r.perp(b,h),r.norm(h,h),c.project(e,h,f),c.project(t,h,g);var _=a(f,g);_>=0&&(s.intersect=!1);var x=r.dot(h,n);if(0>x?f[0]+=x:f[1]+=x,_=a(f,g),_>=0&&(s.willIntersect=!1),_=Math.abs(_),d>_&&(d=_,r.copy(b,m),r.copy(h,p),o=o||c.centroid(e),l=l||c.centroid(t),u=r.sub(o,l,u),r.dot(u,p)<0&&r.neg(p,p)),!s.intersect&&!s.willIntersect)break}return s.willIntersect?(p[0]*=d,p[1]*=d,s.minTranslationVector=p,s.nearestEdge=m):(r.free(p),r.free(m)),r.free(f),r.free(g),r.free(o),r.free(l),r.free(u),r.free(h),arguments[2]||r.free(n),s},project:function(e,t,n){n=n||r.make(),n[0]=1/0,n[1]=-1/0;for(var i=0;i<e.length;i++){var a=r.dot(t,e.vertices[i]);a<n[0]&&(n[0]=a),a>n[1]&&(n[1]=a)}return n}}}),require.register("publicclass-geom/index.js",function(e,t){e.vec=t("geom-vec"),e.mat=t("geom-mat"),e.poly=t("geom-poly")}),require.register("component-type/index.js",function(e,t,n){var i=Object.prototype.toString;n.exports=function(e){switch(i.call(e)){case"[object Function]":return"function";case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object String]":return"string"}return null===e?"null":void 0===e?"undefined":e&&1===e.nodeType?"element":e===Object(e)?"object":typeof e}}),require.register("publicclass-copy/index.js",function(e,t,n){function i(e,t,n){switch(a(e)){case"object":var r="object"==a(t)?t:{};for(var s in e)e.hasOwnProperty(s)&&(r[s]=i(e[s],r[s],n));if(n)for(var s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&delete r[s];return r;case"array":var r="array"==a(t)?t:[];r.length=e.length;for(var o=0,l=e.length;l>o;o++)r[o]=i(e[o],r[o],n);return r;case"regexp":var c="";return c+=e.multiline?"m":"",c+=e.global?"g":"",c+=e.ignoreCase?"i":"",new RegExp(e.source,c);case"date":return new Date(e.getTime());default:return e}}var a;try{a=t("type")}catch(r){a=t("type-component")}n.exports=i}),require.register("publicclass-stash/index.js",function(e,t,n){function i(){this.values=[],this.lookup={},this.reverse={},this.length=0}n.exports=function(){return new i},n.exports.Stash=i,i.prototype={set:function(e,t){e=""+e,e in this.lookup&&(console.warn('key "%s" already exists in stash. deleting it first.',e),this.del(e));var n=this.values.length;return this.lookup[e]=n,this.reverse[n]=e,this.values.push(t),this.length++,this},has:function(e){return""+e in this.lookup},get:function(e){if(e=""+e,e in this.lookup){var t=this.lookup[e];return this.values[t]}return console.error('tried to get "%s" that didn\'t exist',e),void 0},del:function(e){if(e=""+e,e in this.lookup){var t=this.lookup[e],n=this.length-1;if(t==n)this.values.pop(),delete this.reverse[t],delete this.lookup[e],this.length--;else if(t>=0&&n>t){this.values[t]=this.values.pop();var i=this.values.length,a=this.reverse[i];this.lookup[a]=t,this.reverse[t]=a,delete this.reverse[i],delete this.lookup[e],this.length--}else console.warn('tried to delete "%s" with an invalid index %s',e,t)}else console.warn('tried to delete "%s" that didn\'t exist',e);return this},empty:function(){this.values.length=0,this.length=0;for(var e in this.reverse){var t=this.reverse[e];
delete this.lookup[t],delete this.reverse[e]}return this}}}),require.register("publicclass-netchan/index.js",function(e,t,n){function i(e,t){this.seq=1,this.ack=0,this.buffer=[],this.bufferLength=0,this.encoded=null,this.options=t||{},e&&this.setChannel(e)}function a(){}function r(e){if(!e||typeof e!=typeof i.ACK)return!1;if(e.byteLength!==i.ACK.byteLength)return!1;for(var t=new Uint8Array(e),n=0;n<s.length;n++)if(t[n]!==s[n])return!1;return!0}n.exports=i;var s="ncACK".split("").map(function(e){return e.charCodeAt(0)});i.ACK=new Uint8Array(s).buffer,i._isACK=r,i.prototype={onmessage:a,setChannel:function(e){if(e.reliable)throw new ArgumentError("channel must be unreliable. just use the normal data channel instead.");var t=this;this.channel=e,this.channel.addEventListener("message",function(e){t.recv(e)},!1)},recv:function(e){this.decode(e.data),this.flush()},send:function(e){if(e&&e.buffer instanceof ArrayBuffer&&(e=e.buffer),!(e instanceof ArrayBuffer))throw new Error("invalid message type, only binary is supported");if(e.byteLength>255)throw new Error("invalid message length, only up to 256 bytes are supported");var t=this.seq++,n=new Uint8Array(3+e.byteLength),i=new DataView(n.buffer);i.setUint16(0,t),i.setUint8(2,e.byteLength),n.set(new Uint8Array(e),3),this.bufferLength+=n.byteLength,this.buffer.push(t,n),this.encoded=null,this.flush()},flush:function(){this.bufferLength&&this.channel&&"open"==this.channel.readyState&&(this.channel.send(this.encoded||this.encode()),this.options.resend&&(clearTimeout(this._timeout),this._timeout=setTimeout(this.flush.bind(this),this.options.resend)))},encode:function(){var e=new Uint8Array(2+this.bufferLength),t=new DataView(e.buffer);t.setUint16(0,this.ack);for(var n=2,i=1;i<this.buffer.length;i+=2){var a=this.buffer[i];e.set(a,n),n+=a.byteLength}return this.encoded=e.buffer},decode:function(e){var t=new DataView(e.buffer||e),n=t.getUint16(0);this.shrink(n);for(var a=2,s=e.byteLength,o=this.ack,l=0,c=!1;s>a;)if(o=t.getUint16(a,!1),l=t.getUint8(a+2),o<=this.ack)a+=l+3;else{var u=t.buffer.slice(a+3,a+3+l);a+=l+3,this.options.ack&&r(u)||("function"==typeof this.onmessage&&this.onmessage(u),c=!0),this.ack=o}this.options.ack&&c&&this.send(i.ACK)},shrink:function(e){for(var t=null,n=0,i=0;i<this.buffer.length;i+=2){var a=this.buffer[i];if(!(e>=a))break;t=i+2,n+=this.buffer[i+1].byteLength}null!==t&&(this.buffer.splice(0,t),this.bufferLength-=n,this.encoded=null)},toString:function(){return"NetChannel\n "+["seq: "+this.seq,"ack: "+this.ack,"buffer: "+this.buffer.length,"buffer size: "+this.bufferLength,"encoded: "+(this.encoded&&this.encoded.byteLength)].join("\n ")}}}),require.register("component-to-function/index.js",function(e,t,n){function i(e){switch({}.toString.call(e)){case"[object Object]":return o(e);case"[object Function]":return e;case"[object String]":return s(e);case"[object RegExp]":return r(e);default:return a(e)}}function a(e){return function(t){return e===t}}function r(e){return function(t){return e.test(t)}}function s(e){return/^ *\W+/.test(e)?new Function("_","return _ "+e):new Function("_","return _."+e)}function o(e){var t={};for(var n in e)t[n]="string"==typeof e[n]?a(e[n]):i(e[n]);return function(e){if("object"!=typeof e)return!1;for(var n in t){if(!(n in e))return!1;if(!t[n](e[n]))return!1}return!0}}n.exports=i}),require.register("component-mean/index.js",function(e,t,n){var i=t("to-function");n.exports=function(e,t){if(0==e.length)return null;var n=0;if(t){t=i(t);for(var a=0;a<e.length;++a)n+=t(e[a],a)}else for(var a=0;a<e.length;++a)n+=e[a];return n/e.length}}),require.register("component-variance/index.js",function(e,t,n){var i=t("to-function"),a=t("mean");n.exports=function(e,t){if(0==e.length)return null;var n=a(e),r=[];if(t){t=i(t);for(var s=0;s<e.length;s++)r.push(Math.pow(t(e[s],s)-n,2))}else for(var s=0;s<e.length;s++)r.push(Math.pow(e[s]-n,2));return a(r)}}),require.register("component-standard-deviation/index.js",function(e,t,n){var i=t("variance");n.exports=function(e,t){return 0==e.length?null:Math.sqrt(i(e,t))}}),require.register("publicclass-median/index.js",function(e,t,n){n.exports=function(e){var t=e.length;if(0==t%2)return e[t/2];var n=Math.floor(t/2);return(e[n]+e[n+1])/2}}),require.register("publicclass-latency/index.js",function(e,t,n){var i=t("median"),a=t("standard-deviation");n.exports=function(e){for(var t=a(e),n=i(e),r=0,s=0,o=0;o<e.length;++o)Math.abs(n-e[o])<=t&&(r+=e[o],s++);return r/s}}),require.register("publicclass-base64-arraybuffer/index.js",function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";e.encode=function(e){for(var n=new Uint8Array(e),i=n.byteLength,a="",r=0;i>r;r+=3)a+=t[n[r]>>2],a+=t[(3&n[r])<<4|n[r+1]>>4],a+=t[(15&n[r+1])<<2|n[r+2]>>6],a+=t[63&n[r+2]];return 2===i%3?a=a.substring(0,a.length-1)+"=":1===i%3&&(a=a.substring(0,a.length-2)+"=="),a},e.decode=function(e){var n,i,a,r,s=.75*e.length,o=e.length,l=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);for(var c=new ArrayBuffer(s),u=new Uint8Array(c),d=0;o>d;d+=4)n=t.indexOf(e[d]),i=t.indexOf(e[d+1]),a=t.indexOf(e[d+2]),r=t.indexOf(e[d+3]),u[l++]=n<<2|i>>4,u[l++]=(15&i)<<4|a>>2,u[l++]=(3&a)<<6|63&r;return c}}),require.register("visionmedia-debug/index.js",function(e,t,n){n.exports="undefined"==typeof window?t("./lib/debug"):t("./debug")}),require.register("visionmedia-debug/debug.js",function(e,t,n){function i(e){return i.enabled(e)?function(t){t=a(t);var n=new Date,r=n-(i[e]||n);i[e]=n,t=e+" "+t+" +"+i.humanize(r),window.console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}:function(){}}function a(e){return e instanceof Error?e.stack||e.message:e}n.exports=i,i.names=[],i.skips=[],i.enable=function(e){try{localStorage.debug=e}catch(t){}for(var n=(e||"").split(/[\s,]+/),a=n.length,r=0;a>r;r++)e=n[r].replace("*",".*?"),"-"===e[0]?i.skips.push(new RegExp("^"+e.substr(1)+"$")):i.names.push(new RegExp("^"+e+"$"))},i.disable=function(){i.enable("")},i.humanize=function(e){var t=1e3,n=6e4,i=60*n;return e>=i?(e/i).toFixed(1)+"h":e>=n?(e/n).toFixed(1)+"m":e>=t?(0|e/t)+"s":e+"ms"},i.enabled=function(e){for(var t=0,n=i.skips.length;n>t;t++)if(i.skips[t].test(e))return!1;for(var t=0,n=i.names.length;n>t;t++)if(i.names[t].test(e))return!0;return!1},window.localStorage&&i.enable(localStorage.debug)}),require.register("component-event/index.js",function(e){e.bind=function(e,t,n,i){return e.addEventListener?e.addEventListener(t,n,i||!1):e.attachEvent("on"+t,n),n},e.unbind=function(e,t,n,i){return e.removeEventListener?e.removeEventListener(t,n,i||!1):e.detachEvent("on"+t,n),n}}),require.register("ecarter-css-emitter/index.js",function(e,t,n){function i(e){return this instanceof i?(a.call(this),this.el=e,this.bind(),void 0):new i(e)}var a=t("emitter"),r=t("event"),s=["transitionend","webkitTransitionEnd","oTransitionEnd","MSTransitionEnd","animationend","webkitAnimationEnd","oAnimationEnd","MSAnimationEnd"];n.exports=i,i.prototype=new a,i.prototype.bind=function(){for(var e=e||this,t=0;t<s.length;t++)r.bind(this.el,s[t],function(t){e.emit("end",t)})}}),require.register("slam/index.js",function(e,t,n){n.exports=t("./lib/app.js")}),require.register("slam/lib/tracking.js",function(e,t,n){n.exports={replayClicks:1,levelStartTime:0,currentLevel:-1,latency:[]}}),require.register("slam/lib/settings.js",function(e,t){var n=t("emitter"),i=t("./themes"),a=n(e);a.CAMERA_SCRIPTED=0,a.CAMERA_FPS=1,a.CAMERA_CLASSIC=2,a.CAMERA_RABBIT=3,a.CAMERA_MOUNTAINVIEW=4,a.QUALITY_BEST="best",a.QUALITY_HIGH="high",a.QUALITY_LOW="low",a.QUALITY_MOBILE="mobile",a.ai=null,a.theme=i.current,a.data={defaultFramerate:60,defaultTimestep:1e3/60,defaultUnitSpeed:18,maxUpdatesPerFrame:15,cameraType:a.CAMERA_SCRIPTED,antialias:!1,cameraFov:50,cameraOverlay:!0,cameraGrid:0,godMode:!1,showDebugInfo:!1,wireframeOverride:!1,terrainNormals:!1,fpsCamera:!1,bgr:!1,arenaWidth:1700,arenaHeight:26*(1700/18),arenaColumns:18,arenaRows:26,unitSize:Math.round(1700/18),arenaSideHeight:200,shieldPadding:2,defaultShields:3,videoBoxDepth:700,paddleMass:.8,paddleDamping:.8,minYSpeed:10,bulletSpeed:1.6,extraGhostDuration:400,defaultProbability:10,forcesInterval:3e3,paddleMomentum:!0,speedupMomentum:!0,directionMomentum:!0,improvedNormals:!0,steerWidth:2,steerWidthMomentum:3,fireballSpeedup:1.5,interpolationMaxFrames:10,interpolationMinDistance:1,interpolationMaxDistance:500,clearColor:15592662,fireColor:15715846,fireColor2:16711680,dirLightColor:16777215,dirLightIntensity:.88,dirLightX:.107,dirLightY:.15,dirLightZ:.07,hemisphereLightSkyColor:16777215,hemisphereLightGroundColor:11645361,hemisphereLightIntensity:.74,useShadows:!1,arenaSurfaceY:-200,hue:0,saturate:100,extraHue:0,extraSaturate:100,quality:"high",overrideSpawnExtras:!1,spawnExtras:{bulletproof:!1,mirroredcontrols:!1,fog:!1,extralife:!1,ghostball:!1,fireball:!1,multiball:!1,paddleresize:!1,timebomb:!1,laser:!1,deathball:!1},testCPUMorph:-1,keepAliveInterval:250,sendRate:15,mouseSensitivity:.07,keyboardSensitivity:.9,invertControls:!1,forrestPredefined:!0,forrestThreshold:.5,forrestGridX:200,forrestGridY:200,forrestBaseScale:.5,forrestRandomSeed:.5},a.data.bounds=[0,a.data.arenaWidth,a.data.arenaHeight,0],a.data.framerate=a.data.defaultFramerate,a.data.timestep=a.data.defaultTimestep,a.data.unitSpeed=a.data.defaultUnitSpeed,a.emit("lightsUpdated"),a.getSpawnlist=function(){var e=[];for(var t in a.data.spawnExtras)a.data.spawnExtras[t]&&e.push({id:t});return e},a.changeTheme=function(e){for(var t in e)a.theme.hasOwnProperty(t)&&(a.theme[t]=e[t]);a.emit("colorsUpdated")}}),require.register("slam/lib/settings-gui.js",function(e,t){function n(){u.emit("colorsUpdated")}function i(){u.emit("lightsUpdated")}function a(){var e="hue-rotate("+u.data.hue+"deg) saturate("+u.data.saturate+"%)";m("#canv-css .background")[0].style.webkitFilter=e}function r(){var e="hue-rotate("+u.data.extraHue+"deg) saturate("+u.data.extraSaturate+"%)";m("#canv-css .extra").each(function(){this.style.webkitFilter=e})}function s(e){u.data.timestep=1e3/e}function o(){for(var e in h){var t=h[e];u.data.overrideSpawnExtras?(t.domElement.lastChild.disabled=!1,t.domElement.parentNode.className=""):(t.domElement.lastChild.disabled=!0,t.domElement.parentNode.className="disabled")}}function l(e,t,n){var i=new RegExp("([?|&])"+t+"=.*?(&|$)","i");return separator=-1!==e.indexOf("?")?"&":"?",e.match(i)?e.replace(i,"$1"+t+"="+n+"$2"):e+separator+t+"="+n}var c,u=t("./settings"),d=t("./themes"),p=t("mousetrap"),m=t("jquery"),h=[],f={"Scripted (1)":0,"FPS (2)":1,"Classic (3)":2,"Rabbit Cam (4)":3,"Mountain View (5)":4};e.createGenericUI=function(t){function p(){c.domElement.removeEventListener("click",p),_gaq.push(["_trackEvent","settings","open"])}c=new dat.GUI({autoPlace:!1}),u.gui=c,c.width=400,document.getElementById("settingsDataGUI").appendChild(c.domElement),c.domElement.addEventListener("click",p);var m;m=c.addFolder("Generic"),m.add(e,"shortcut","O").name("Show panels"),m.add(e,"shortcut","0").name("Debug renderer"),m.add(e,"shortcut","P").name("Add puck"),m.add(e,"shortcut","E").name("Explode"),m.add(e,"shortcut","H").name("Heal"),m.add(e,"shortcut","M").name("Mirror effect"),m.add(u.data,"godMode").name("God mode"),m.add(u.data,"quality",{"Best quality (antialiasing)":"best","High quality":"high","High performance":"low",Mobile:"mobile"}).onChange(function(e){var t=confirm("The page needs to be reloaded for the setting to be activated");if(t===!0){var n=window.location.href;n=l(n,"quality",e),window.location.href=n}}.bind(this)),m.add(u.data,"framerate").min(1).max(120).name("Framerate (fps)").onChange(s),m.add(u.data,"unitSpeed").min(1).max(120).name("Speed"),m=c.addFolder("Camera"),m.add(u.data,"cameraType",f).name("Mode").listen().onChange(function(e){u.data.cameraType=parseInt(e,10),u.emit("cameraTypeChanged")}.bind(this)),m.add(u.data,"cameraOverlay").name("Overlay").onChange(function(){u.emit("cameraSettingsChanged")}.bind(this)),m.add(u.data,"cameraFov").min(10).max(100).step(1).name("FOV").onChange(function(){u.emit("cameraSettingsChanged")}.bind(this)),m.add(u.data,"cameraGrid").min(0).max(1).name("Scanlines").onChange(function(){u.emit("cameraSettingsChanged")}.bind(this)),m.add(e,"shortcut","C").name("Log position"),m=c.addFolder("Theme"),m.add(u.data,"wireframeOverride").name("Wireframe override").onChange(function(){u.emit("wireframeOverrideChanged")}.bind(this)),m.add(u.data,"terrainNormals").name("Terrain normals").onChange(function(){u.emit("terrainNormalsChanged")}.bind(this)),this.themelist={};for(var g=d.list.length-1;g>=0;g--)this.themelist[d.list[g].name]=g;m.add(this,"themelist",this.themelist).name("Presets").onChange(function(e){d.goto(parseInt(e,10)-1)}),m.addColor(u.theme,"shieldColor").name("Shield color").onChange(n),m.addColor(u.theme,"puckColor").name("Puck").onChange(n),m.addColor(u.theme,"arenaColor").name("Arena").onChange(n),m.addColor(u.theme,"terrainColor1").name("Terrain1").onChange(n),m.addColor(u.theme,"terrainColor2").name("Terrain2").onChange(n),m.addColor(u.theme,"terrainColor3").name("Terrain3").onChange(n),m.addColor(u.theme,"treeBranchColor").name("Trees").onChange(n),m.addColor(u.theme,"iconColor").name("Icons").onChange(n),m.addColor(u.theme,"cpuBackdropColor").name("CPU backdrop").onChange(n),m.add(u.theme,"gridBrightness").min(0).max(1).name("Grid brightness").onChange(n),t.isMobile&&(m=c.addFolder("Mobile Colors"),m.add(u.data,"hue").min(0).max(360).name("Hue").onChange(a),m.add(u.data,"saturate").min(0).max(100).name("Saturate").onChange(a),m.add(u.data,"extraHue").min(0).max(360).name("Extras Hue").onChange(r),m.add(u.data,"extraSaturate").min(0).max(100).name("Extras Saturate").onChange(r)),m=c.addFolder("Extras"),m.add(u.data,"overrideSpawnExtras").name("override extras").onChange(o);for(var y in u.data.spawnExtras)h[y]=m.add(u.data.spawnExtras,y).name(y);o(),m=c.addFolder("Paddle"),m.add(u.data,"paddleMomentum").name("Use momentum"),m.add(u.data,"speedupMomentum").name("Momentum speedup"),m.add(u.data,"directionMomentum").name("Momentum direction"),m.add(u.data,"paddleMass").min(0).max(1).name("Mass"),m.add(u.data,"paddleDamping").min(0).max(1).name("Damping"),m.add(u.data,"keyboardSensitivity").min(0).max(100).name("Keyboard Sens."),m.add(u.data,"mouseSensitivity").min(0).max(100).name("Mouse/Touch Sens."),m=c.addFolder("Forest"),m.add(u.data,"forrestThreshold").min(0).max(1).name("Amount"),m.add(u.data,"forrestGridX").min(50).max(500).name("Grid Size X"),m.add(u.data,"forrestGridY").min(50).max(500).name("Grid Size Y"),m.add(u.data,"forrestBaseScale").min(0).max(3).name("Base Scale"),m.add(u.data,"forrestRandomSeed").min(0).max(10).name("Groups/Random"),m.add(e,"createForrest").name("Generate"),m=c.addFolder("Lights"),m.addColor(u.data,"dirLightColor").name("Dir color").onChange(i),m.add(u.data,"dirLightIntensity").min(0).max(2).name("Dir").onChange(i),m.add(u.data,"dirLightX").min(-1.01).max(1.01).listen().name("Dir pos X").onChange(i),m.add(u.data,"dirLightY").min(0).max(1.01).listen().name("Dir pos Y").onChange(i),m.add(u.data,"dirLightZ").min(-1.01).max(1.01).listen().name("Dir Pos Z").onChange(i),m.addColor(u.data,"hemisphereLightSkyColor").name("Hemisphere Sky").onChange(i),m.addColor(u.data,"hemisphereLightGroundColor").name("Hemisphere Ground").onChange(i),m.add(u.data,"hemisphereLightIntensity").min(0).max(2).name("Hemisphere").onChange(i),t.isNetwork&&(m=c.addFolder("Networking"),m.add(u.data,"keepAliveInterval").min(16).max(1e3).name("Keep Alive Interval (ms)"),m.add(u.data,"sendRate").min(1).max(60).name("Send Rate (hz)"),m=c.addFolder("Interpolation"),m.add(u.data,"interpolationMaxFrames").min(0).max(120).name("Max frames (0=none)"),m.add(u.data,"interpolationMaxDistance").min(0).max(1e3).name("Max distance diff (px/frame)"),m.add(u.data,"interpolationMinDistance").min(0).max(1e3).name("Min distance diff (px/frame)")),c.close(),u.on("colorsUpdated",function(){for(var e in c.__folders.Theme.__controllers)c.__folders.Theme.__controllers[e].updateDisplay()})},e.createForrest=function(){u.data.forrestPredefined=!1,u.emit("generateForrest")},e.shortcut=function(e){p.trigger(e.toLowerCase())}}),require.register("slam/lib/app.js",function(e,t,n){function i(){}function a(e){return e.replace(/^\//,"").replace(/[\/ ]/g,"-")}function r(e){if(e)return e;var t=/&?d=([^&]+)/g.exec(location.search);return t?t[1].replace(/%20|\+/g," "):""}function s(){for(var e={},t=window.location.search.substring(1),n=t.split("&"),i=0;i<n.length;i++){var a=n[i].split("="),r=decodeURIComponent(a[0]),s=decodeURIComponent(a[1]);e[r]=s||!0}return e}window.console||(window.console={log:i,warn:i,error:i}),window.console.time||(window.console.time=window.console.timeEnd=i),window.console.profile||(window.console.profile=i),window.console.group||(window.console.group=window.console.groupEnd=window.console.groupCollapsed=i),console.groupCollapsed("load"),console.time("load");var o=(t("debug").enable(r("")),t("./support/see")),l=t("./states"),c=t("jquery");o("/",l.Mobile),o("/",l.Setup),o("/loading",l.Loading),o("/main-menu",l.MainMenu),o("/friend/invite",l.Friend.Invite),o("/friend/waiting",l.Friend.Waiting),o("/friend/accept",l.Friend.Accept),o("/friend/arrived",l.Friend.Arrived),o("/friend/left",l.Friend.Left),o("/webcam/activate",l.Webcam.Activation),o("/webcam/information",l.Webcam.Information),o("/webcam/waiting",l.Webcam.Waiting),o("/game",l.Game.Input),o("/game",l.Game.Multiplayer),o("/game",l.Game.Verify),o("/game",l.Game.Setup),o("/game/instructions",l.Game.Instructions),o("/game/wait",l.Game.Wait),o("/game/start",l.Game.Start),o("/game/play",l.Game.Play),o("/game/next",l.Game.Next),o("/game/pause",l.Game.Pause),o("/game/over",l.Game.Over),o("/game/prompt",l.Prompt),o("/game/prompt/round",l.Prompt.Round),o("/game/prompt/level",l.Prompt.Level),o("/game/prompt/start",l.Prompt.Start),o("/game/prompt/over",l.Prompt.Over),o("/game/invite",l.Friend.Invite),o("/game/arrived",l.Friend.Arrived),o("/game/cssinfo",l.Mobile.Info),o("/game/over/cssinfo",l.Mobile.Info),o("/cssinfo",l.Mobile.Info),o("/error",l.Error),o("/error/fullroom",l.Error.FullRoom),o("/error/connection",l.Error.ConnectionError),o("/error/datachannels",l.Error.DataChannels),o("/error/browser",l.Error.Browser),o("/error/lonelyroom",l.Error.Lonely),o.on("enter",function(e){var t=a(e.pathname)||"setup";"setup"!==t&&_gaq.push(["_trackPageview",t]),c("body").addClass(t),c(".state."+t).show().addClass("active enter"),setTimeout(function(){c(".state."+t).removeClass("inactive")},4),e.el=c(".state."+t)}),o.on("leave",function(e){var t=a(e.pathname)||"setup";c("body").removeClass(t);var n=c(".state."+t).removeClass("active enter").addClass("inactive");n.each(function(){!c(this).hasClass("animate")&&c(".animate",c(this)).length<1&&c(this).hide()}),e.el=c(".state."+t)}),o.on("error",function(e){console.error("see error:",e)}),n.exports=function(e){e.query=s(),o.ctx(e),setTimeout(function(){o("/loading")},4)}}),require.register("slam/lib/game.js",function(e,t,n){function i(e,t){this.tick=new d,this.world=new l(e,this.tick),this.ai=new m(e),this.running=!1,this.paused=!1,this.on("update",u.update),this.on("update",this.ai.update.bind(this.ai)),this.on("update",this.tick.update.bind(this.tick)),t&&this.setRenderer(t)}var a=t("request-animation-frame"),r=t("emitter"),s=t("debug")("game"),o=t("./settings"),l=t("./world"),c=t("./actions"),u=t("./sim/physics"),d=t("./support/tick"),p=t("now"),m=t("./ai");n.exports=i,r(i.prototype),i.prototype.reset=function(){s("reset %s",this.world.name),this.world.reset(),this.renderer&&this.renderer.reset()},i.prototype.setRenderer=function(e){s("set renderer %s",this.world.name),this.renderer&&(this.off("render"),c.off("renderer")),this.renderer=e,this.on("render",this.renderer.render.bind(this.renderer)),c.on("renderer",this.renderer.triggerEvent.bind(this.renderer))},i.prototype.update=function(){var e=o.data.timestep;this.emit("pre update",this.world,e),this.emit("update",this.world,e),this.emit("post update",this.world,e)},i.prototype.render=function(){this.emit("render",this.world,0)},i.prototype.pause=function(){s("pause %s",this.world.name),this.paused=!0},i.prototype.resume=function(){s("resume %s",this.world.name),this.paused=!1},i.prototype.run=function(){function e(){(document.hidden===!1||document.webkitHidden===!1)&&(n=p())}function t(){r.running&&a(t);{var e=o.data.timestep;p()}if(r.emit("enter frame",l),!r.paused){var s=p(),c=s-n,u=e*o.data.maxUpdatesPerFrame;n=s,c>u&&(c=u);{p()}for(i+=c;i>=e&&(r.emit("pre update",l,e),r.emit("update",l,e),r.emit("post update",l,e),i-=e,r.running););{p(),p()}r.emit("render",l,i/e);{p()}}r.emit("leave frame",l);{p()}}if(s("run"),this.running)throw new Error("already running");var n=p(),i=0,r=this,l=this.world;return document.addEventListener("visibilitychange",e,!1),document.addEventListener("webkitvisibilitychange",e,!1),this.running=!0,t(),this}}),require.register("slam/lib/network.js",function(e,t,n){function i(e){this.context=e,this.available=p.available,this.pathname=null,this.game=null,this.winner=!1,this.ready=!1,this.connected=!1,this.sync=new l,this.readyState="new"}function a(e,t,n){if(!n){var i=o.prototype.recv;o.prototype.recv=function(e){if("string"==typeof e.data&&0===e.data.indexOf(m)){var t=new MessageEvent("message",{data:u.decode(e.data.slice(m.length)),origin:e.origin,lastEventId:e.lastEventId,source:e.source,ports:e.ports});return i.call(this,t)}return"string"!=typeof e.data?i.call(this,e):void 0};var a=e.send;e.send=function(n){if("string"!=typeof n&&(n=m+u.encode(n)),n.length>1168){var i=new Error("message too long: "+n.length);return i.code=1168,t.emit("error",i),void 0}if("open"==e.readyState)try{return a.call(this,n)}catch(r){e.alreadyErrored||(console.warn('error while sending message "%s" on open channel',n,r),e.alreadyErrored=!0)}else console.warn('tried to send message (%s) on closed channel "%s"',n,e.label)}}return new o(e,{ack:!0})}function r(e){return h.call(new Uint8Array(e))}var s=t("emitter"),o=t("netchan"),l=t("./support/time-sync"),c=t("./support/valid-video"),u=t("base64-arraybuffer"),d=t("debug")("network"),p=t("rtc");n.exports=i,s(i.prototype),i.prototype.setupRemote=function(e){if(d("setup rtc"),!this.available)return console.warn("RTC not available. Skipping network");var t=this,n=this.context,i=this.sync;i.on("timeout",function(){console.warn("time sync timed out")}),i.on("done",function(e){d("latency",e),n.latency=e,t.emit("change latency",e),t.checkReady()}),this.remote=p.connect(e),this.remote.on("token",function(e){t.user=e.user,t.token=e.token}),this.remote.on("addstream",function(e){t.emit("addstream",e),t.checkReady()}),this.remote.on("removestream",function(e){t.emit("removestream",e),t.checkReady()}),this.remote.on("connected",function(){d("connected"),t.connected=!0,t.winner=this.initiator,t.emit("change winner",t.winner),d("challenge winner?",t.winner),this.signal.send({type:"meta",v:n.v}),t.emit("state",n.pathname),t.checkReady()}),this.remote.on("open",function(){d("open"),t.emit("open"),t.checkReady()}),this.remote.on("full",function(){d("full"),t.emit("full")}),this.remote.on("timeout",function(){d("timeout"),t.emit("timeout")}),this.remote.on("disconnected",function(e){d("disconnected"),t.connected&&t.emit("disconnected",e),t.close()}),this.remote.on("error",function(e){d("error",e),console.warn("received an error from rtc:",e),t.emit("error",e)}),this.remote.on("meta",function(e){e.v!==n.v&&(console.error("game version mismatched. disconnecting."),t.close())}),this.remote.on("state",function(e){var n=t.pathname;d("received state %s %s",e.pathname,null===n?"(connected)":""),t.pathname=e.pathname,t.emit("change pathname",e.pathname),null===n&&t.emit("connected",e),t.checkReady()}),this.remote.on("channel game open",function(e){d("channel game open",e),t.game=a(this.channels.game,t),t.game.onmessage=function(e){i.channel&&!i.onmessage(e)&&t.emit("message",e)},i.channel=t.game,t.winner&&i.start(),n.multiplayer=!0,t.emit("change multiplayer",!0),t.checkReady()}),t.on("state",function(e){t.connected&&this.remote.signal.send({type:"state",pathname:e})})},i.prototype.checkReady=function(){return this.ready?(this.readyState="ready",!0):this.connected?this.remote.channels.game?this.context.multiplayer?this.context.latency?null===this.pathname?(this.readyState="no remote pathname",!1):0===this.remote.connection.getLocalStreams().length?(this.readyState="no local video",!1):0===this.remote.connection.getRemoteStreams().length?(this.readyState="no remote video",!1):c(document.getElementById("remoteInput"))?(clearTimeout(this.invalidTimeout),this.ready=!0,this.readyState="ready",this.emit("ready"),void 0):(this.readyState="invalid remote video",this.invalidTimeout=setTimeout(this.checkReady.bind(this),100),!1):(this.readyState="no latency results",!1):(this.readyState="not multiplayer",!1):(this.readyState="no game data channel",!1):(this.readyState="not connected",!1)},i.prototype.close=function(){d("close"),this.game&&(this.game.onmessage=null,this.game=null),this.connected=!1,this.context.multiplayer=!1,this.context.latency=null,this.ready=!1,this.pathname=null,this.winner=!1,this.sync.stop(),this.sync.channel=null,this.emit("change connected",!1),this.emit("change multiplayer",!1),this.emit("change latency",null),this.checkReady()},i.prototype.send=function(e){d("send",r(e)),this.game&&this.ready?this.game.send(e):console.warn("sending a message too early (game channel not open)")};var m="ı",h=[].join}),require.register("slam/lib/extra-icons.js",function(e,t){function n(e){e=e.index||e;for(var t=0;t<u.length;t++){var n=u[t];if(n.index===e)return n.element;if(n.id===e)return n.element}return null}function i(e){for(var t=0;t<u.length;t++){var n=u[t];if(n.element===e)return u.splice(t,1),!0}return!1}function a(){for(var e=0,t=50,n=0;n<u.length;n++){var i=u[n];i.element.css("top",e),e+=t}}var r=t("debug")("extra-icons"),s=t("jquery"),o=s("#extras ul"),l=s("<ul></ul>").hide().appendTo("body"),c=o.children().appendTo(l),u=[],d=null;e.use=function(e){d=e},e.clear=function(){o.empty(),u.length=0},e.create=function(e,t){if(e===d){var n=t.data.id;r("create",n);var i=c.filter("."+n).clone();setTimeout(function(e){e.addClass("visible")}.bind(null,i),400),u.push({index:t.index,id:n,element:i}),o.append(i),a()}},e.activate=function(e,t){if(e===d){r("activate",t);var i=n(t);i?i.addClass("active"):console.warn("missing icon for extra",t)}},e.remove=function(e,t){if(e===d){r("remove",t);var s=n(t);s?(s.removeClass("active visible"),setTimeout(function(e){e.remove()}.bind(null,s),400),i(s),a()):console.warn("missing icon for extra",t)}}}),require.register("slam/lib/world.js",function(e,t,n){function i(e,t){l("%s create",e),this.frame=0,this.index=0,this.name=e,this.tick=t,this.rand=new m(o()),this.bodies=c(),this.pucks=c(),this.extras=c(),this.forces=c(),this.bullets=c(),this.paddles=c(),this.shields=c(),this.obstacles=c(),this.lastHitPucks={},this.puckBounces={},this.timeouts={},this.state=i.INIT,this.level=null,this.me=null,this.opponent=null,this.multiplayer=!1,this.players={a:new a("HAL (A)"),b:new a("EVE (B)")}}function a(e){this.name=e,this.shields=[],this.score=0,this.paddle=-1,this.wins=0,this.hit=-1}function r(e,t,n){for(var i=0;i<t.length;i++){var a,r=t.values[i];if(!r)throw new Error("invalid stash!");if(n.has(r.index))a=n.get(r.index);else if(e.bodies.has(r.index)?(a=e.bodies.get(r.index),n.set(a.index,a)):(a=d.alloc(),a.index=r.index,n.set(a.index,a)),a.index!==r.index)throw new Error("wrong index");if(!n.has(r.index))throw new Error("body was never created");var s=r.data.id,o=a.data.id;u(r,a,!0),r.data.id!==a.data.id&&console.error("data.id did not get copied before: %s,%s after: %s,%s",s,o,r.data.id,a.data.id)}if(t.length!==n.length){for(var l=[],i=0;i<n.length;i++){var a=n.values[i];t.has(a.index)||~l.indexOf(a.index)||l.push(a.index)}for(;l.length;)n.del(l.pop())}if(t.length!==n.length)throw new Error("bodies does not match!")}function s(e,t){var n=y.centroid(e),i=v.sub(t,n);y.translate(e,i[0],i[1]),v.free(n),v.free(i)}function o(e){return location.pathname.split("").map(function(e){return e.charCodeAt(0)}).reduce(function(e,t){return e+t},e||0)*location.pathname.length}var l=t("debug")("world"),c=t("stash"),u=t("copy"),d=t("./sim/body"),p=t("./sim/body-flags"),m=t("./support/rand"),h=t("./support/hash-code"),f=t("./support/exclude"),g=t("geom"),y=g.poly,v=g.vec;n.exports=i,i.INIT="init",i.PREVIEW="preview",i.STARTING="starting",i.PLAYING="playing",i.PAUSED="paused",i.NEXT_ROUND="next round",i.NEXT_LEVEL="next level",i.GAME_OVER="game over",i.EXCLUDED=["me","opponent","name","hashCode"],i.prototype.code=function(){l("hash code",i.EXCLUDED);var e;return f(this,i.EXCLUDED,function(t){e=h(t)}),e},i.prototype.setState=function(e){switch(l("%s set state",this.name,e),e){case i.INIT:case i.PREVIEW:case i.STARTING:case i.PLAYING:case i.PAUSED:case i.NEXT_ROUND:case i.NEXT_LEVEL:case i.GAME_OVER:this.state=e;break;default:throw new Error("invalid world state: "+e)}},i.prototype.random=function(){return this.rand.random()},i.prototype.createBody=function(e,t,n,i){l("%s create body",this.name,this.index);var a=d.alloc();return a.index=this.index++,a.shape=e,a.current[0]=a.previous[0]=t,a.current[1]=a.previous[1]=n,p.set(a,i),this.bodies.set(a.index,a),s(a.shape,a.current),a.aabb=y.aabb(e,a.aabb),a.radius=y.radius(e),a},i.prototype.releaseBody=function(e){return l("%s release body",this.name,e.index),e.removed=!0,e},i.prototype.destroyBody=function(e){l("%s destroy body",this.name,e.index),e.removed||this.releaseBody(e),this.bodies.del(e.index),d.free(e)},i.prototype.copy=function(e){if(l("%s copy",this.name,e.name),!(e instanceof i))throw new Error("World instance expected");this.frame=e.frame,this.index=e.index,u(e.tick,this.tick,!0),r(this,e.bodies,this.bodies),r(this,e.pucks,this.pucks),r(this,e.extras,this.extras),r(this,e.obstacles,this.obstacles),r(this,e.bullets,this.bullets),r(this,e.paddles,this.paddles),r(this,e.shields,this.shields),this.forces.copy(e.forces),this.rand.state=e.rand.state,this.lastHitPucks=u(e.lastHitPucks,this.lastHitPucks,!0),this.puckBounces=u(e.puckBounces,this.puckBounces,!0),this.timeouts=u(e.timeouts,this.timeouts,!0),this.level=u(e.level,this.level,!0),this.state=e.state,this.multiplayer=e.multiplayer,this.players.a.copy(e.players.a),this.players.b.copy(e.players.b)},i.prototype.reset=function(){l("%s reset",this.name),this.frame=0,this.index=0,this.tick.reset(),this.rand=new m(o(this.level&&this.level.index));for(var e=this.bodies.length-1;e>=0;e--)this.destroyBody(this.bodies.values[e]);this.obstacles.empty(),this.pucks.empty(),this.forces.empty(),this.bullets.empty(),this.paddles.empty(),this.shields.empty(),this.extras.empty(),this.lastHitPucks={},this.puckBounces={},this.timeouts={};var t=this.state===i.GAME_OVER||this.state===i.NEXT_LEVEL;return this.players.a.reset(t),this.players.b.reset(t),this},a.prototype.copy=function(e){this.name=e.name,this.score=e.score,this.paddle=e.paddle,this.wins=e.wins,this.hit=e.hit,u(e.shields,this.shields)},a.prototype.reset=function(e,t){return this.shields.length=0,e&&(this.score=0),t&&(this.wins=0),this.hit=-1,this.paddle=-1,this},c.Stash.prototype.copy=function(e){u(e.values,this.values,!0),u(e.lookup,this.lookup,!0),u(e.reverse,this.reverse,!0),this.length=e.length},c.Stash.prototype.hashCode=function(){var e={};for(var t in this.lookup)e[t]=this.values[this.lookup[t]];return h(e)}}),require.register("slam/lib/arb.js",function(e,t,n){var i={};i.resourceSelector_="",i.setResourceSelector=function(e){i.resourceSelector_=e},i.TEXT_NODE_TYPE=3,i.setTextContent_=function(e,t){if("textContent"in e)e.textContent=t;else if(e.firstChild&&e.firstChild.nodeType==i.TEXT_NODE_TYPE){for(;e.lastChild!=e.firstChild;)e.removeChild(e.lastChild);e.firstChild.data=t}else{for(var n;n=e.firstChild;)node.removeChild(n);e.appendChild(e.ownerDocument.createTextNode(t))}},i.localizeHtml=function(){var e=i.getResource();i.localizeSubtree(document,e)},i.localizeSubtree=function(e,t){if(e){var n=t;
if(e.getAttribute&&e.getAttribute("arb:namespace")&&(t=i.getResource(e.getAttribute("arb:namespace"))||t),t){i.localizeNode(e,t);for(var a=0;a<e.childNodes.length;a++){var r=e.childNodes[a];i.localizeSubtree(r,t)}}t=n}},i.localizeNode=function(e,t){var n=e.getAttribute&&e.getAttribute("arb:id")||e.id;if(n)switch(e.nodeName){case"IMG":i.localizeElement_(e,n,t,["src","alt"]);break;case"INPUT":i.localizeElement_(e,n,t,["value","placeholder","defaultValue"]);break;case"AREA":i.localizeElement_(e,n,t,["alt"]);break;case"OBJECT":i.localizeElement_(e,n,t,["standby"]);break;case"OPTION":i.localizeElement_(e,n,t,["value","label"]);break;case"OPTGROUP":i.localizeElement_(e,n,t,["label"]);break;case"STYLE":n in t&&(e.styleSheet?e.styleSheet.cssText=t[n]:i.setTextContent_(e,t[n]));break;default:n in t&&i.setTextContent_(e,t[n])}},i.localizeElement_=function(e,t,n,i){for(var a=0;a<i.length;a++){var r=t+"@"+i[a];r in n&&(e[i[a]]=n[r])}},i.msg=function(e,t){i.processPluralRules_&&(e=i.processPluralRules_(e,t));var n=typeof t;if("object"==n||"function"==n)for(var a in t){var r=(""+t[a]).replace(/\$/g,"$$$$");e=e.replace(new RegExp("\\{"+a+"\\}","gi"),r)}else for(var s=1;s<arguments.length;s++)e=e.replace(new RegExp("\\{"+(s-1)+"\\}","g"),arguments[s]);return e},i.RESOURCE_NAME_PART_=1,i.getParamFromUrl=function(e){var t=new RegExp("[\\\\?&]"+e+"=([^&#]*)","i"),n=t.exec(window.location.href);return n?n[i.RESOURCE_NAME_PART_]:null},i.resourceMap_={},i.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},i.NAMESPACE_DELIMITER_=":",i.register=function(e,t){if("string"==typeof e)i.resourceMap_[e]=t;else for(var n=0;n<e.length;n++)i.resourceMap_[e[n]]=t},i.iterateRegistry=function(e){for(var t in i.resourceMap_)i.resourceMap_.hasOwnProperty(t)&&e(t)},i.getResource=function(e){var t=i.resourceMap_;if(e?i.resourceSelector_&&(e+=i.NAMESPACE_DELIMITER_+i.resourceSelector_):e=i.resourceSelector_,e){if(e in i.resourceMap_)return i.resourceMap_[e];for(var n=e.split(i.NAMESPACE_DELIMITER_),a=0;a<n.length;a++){var r={},s=new RegExp("(:|^)"+n[a]+"(:|$)");for(var o in t)s.test(o)&&(r[o]=t[o]);i.isEmpty(r)||(t=r)}}var l=Number.MAX_VALUE,c="";for(var o in t){if(!o){c=o;break}var u=o.split(i.NAMESPACE_DELIMITER_).length;l>u&&(l=u,c=o)}return i.resourceMap_.hasOwnProperty(c)?i.resourceMap_[c]:{}},i.isCompact=function(e){for(var t in e)if(e.hasOwnProperty(t)&&"@"==t[0])return!1;return!0},i.dbg={},i.dbg.getType=function(e,t){if("@"==t.charAt(0))return"attr";var n="@"+t;return e.hasOwnProperty(n)&&e[n].hasOwnProperty("type")?e[n].type:""},i.dbg.isInContext=function(e,t,n){var i=new RegExp("^"+n+"($|:.*)"),a="@"+t;return"@"!=t.charAt(0)&&(!e.hasOwnProperty(a)||!e[a].hasOwnProperty("context")||i.test(e[a].context))},i.dbg.getAttr=function(e,t,n){var i="@"+t;if(!e.hasOwnProperty(i))return"";var a=e[i];return a.hasOwnProperty(n)?a[n]:""},i.PLURAL_RULE_REGEX_=/^\{\s*(\w+)\s*,\s*plural\s*,(\s*offset:(\d+))?\s*/,i.pluralLanguage_="en",i.setPluralLanguage=function(e){i.pluralLanguage_=e in i.pluralRuleMap_?e:"$$"},i.processPluralRules_=function(e,t){var n=i.PLURAL_RULE_REGEX_.exec(e);if(!n)return e;var a,r=typeof t;if("object"==r||"function"==r){if(!(n[1]in t))return e;a=t[n[1]]}else{var s=parseInt(n[1]);if(n[1]!=""+s||s>=arguments.length)return e;a=arguments[s]}var o=i.parseBranches_(e.substring(n[0].length));if(!o)return e;if(a in o)return o[""+a];if("number"!=typeof a)return e;var l=n[3]?parseInt(n[3]):0,c=i.getRuleName(a-l);return c in o?o[c].replace("#",a-l):"other"in o?o.other.replace("#",a-l):e},i.parseBranches_=function(e){for(var t={},n=/(?:=(\d+)|(\w+))\s+\{/;;){if("}"==e.charAt(0))return t;var i=n.exec(e);if(!i)return null;var a=i[1]?i[1]:i[2];e=e.substring(i[0].length);var r,s=1;for(r=0;r<e.length&&s>0;r++){var o=e.charAt(r);"}"==o?s--:"{"==o&&s++}if(0!=s)return null;if(t[a]=e.substring(0,r-1),e=e.substring(r).replace(/^\s*/,""),""==e)return null}},i.getRuleName=function(e){return i.pluralRules_[i.pluralRuleMap_[i.pluralLanguage_]](e)},i.pluralRules_={0:function(e){return 1==e?"one":"other"},1:function(e){return 0==e||1==e?"one":"other"},2:function(e){return e%100>=3&&10>=e%100&&e==Math.floor(e)?"few":0==e?"zero":1==e?"one":2==e?"two":e%100>=11&&99>=e%100&&e==Math.floor(e)?"many":"other"},3:function(e){return e%10>=2&&4>=e%10&&(12>e%100||e%100>14)&&e==Math.floor(e)?"few":1==e%10&&11!=e%100?"one":0==e%10||e%10>=5&&9>=e%10||e%100>=11&&14>=e%100&&e==Math.floor(e)?"many":"other"},4:function(e){return 3==e?"few":0==e?"zero":1==e?"one":2==e?"two":6==e?"many":"other"},5:function(e){return e>=0&&2>e?"one":"other"},6:function(e){return 2==e?"two":1==e?"one":"other"},7:function(e){return 2==e||3==e||4==e?"few":1==e?"one":"other"},8:function(e){return 0==e?"zero":e>0&&2>e?"one":"other"},9:function(e){return e%10>=2&&9>=e%10&&(11>e%100||e%100>19)&&e==Math.floor(e)?"few":1==e%10&&(11>e%100||e%100>19)?"one":"other"},10:function(e){return 0==e?"zero":1==e%10&&11!=e%100?"one":"other"},11:function(e){return 1==e%10&&11!=e?"one":"other"},12:function(e){return 1==e?"one":0==e||e%100>=11&&19>=e%100&&e==Math.floor(e)?"few":"other"},13:function(e){return 0==e||e%100>=2&&10>=e%100&&e==Math.floor(e)?"few":1==e?"one":e%100>=11&&19>=e%100&&e==Math.floor(e)?"many":"other"},14:function(e){return e%10>=2&&4>=e%10&&(12>e%100||e%100>14)&&e==Math.floor(e)?"few":1==e?"one":0==e%10||1==e%10||(e%10>=5&&9>=e%10||e%100>=12&&14>=e%100)&&e==Math.floor(e)?"many":"other"},15:function(e){return e>=2&&10>=e&&e==Math.floor(e)?"few":e>=0&&1>=e?"one":"other"},16:function(e){var t=e%100;return 3==t||4==t?"few":2==t?"two":1==t?"one":"other"},17:function(){return"other"}},i.pluralRuleMap_={af:0,ak:1,am:1,ar:2,be:3,bem:0,bg:0,bh:1,bn:0,br:4,brx:0,bs:3,ca:0,chr:0,ckb:0,cs:7,cy:4,da:0,dz:0,el:0,en:0,eo:0,es:0,et:0,eu:0,ff:5,fi:0,fil:1,fo:0,fr:5,fur:0,fy:0,ga:6,gl:0,gsw:0,gu:0,guw:1,ha:0,he:0,hi:1,hr:3,is:0,it:0,iw:0,kab:5,ku:0,lag:8,lb:0,ln:1,lt:9,lv:10,mg:1,mk:11,ml:0,mn:0,mo:12,mr:0,mt:13,nah:0,nb:0,ne:0,nl:0,nn:0,no:0,nso:1,om:0,or:0,pa:0,pap:0,pl:14,ps:0,pt:0,rm:0,ro:12,ru:3,se:6,sh:3,shi:15,sk:7,sl:16,sma:6,smi:6,smj:6,smn:6,sms:6,so:0,sg:0,sr:3,sv:0,sw:0,ta:0,te:0,ti:1,tk:0,tl:1,uk:3,ur:0,wa:1,zu:0,$$:17},n.exports=i}),require.register("slam/lib/localization.js",function(e,t,n){function i(e){this.defaultLanguage=e,this.currentLanguage=e,this.availableLanguages=[],this.availablePriorities=[],this.acceptedLanguages=[],this.sortedAvailable=[]}function a(e){return e.split(/ *, */).map(r).filter(function(e){return e.quality}).sort(function(e,t){return e.quality===t.quality?e.originalIndex-t.originalIndex:t.quality-e.quality})}function r(e,t){for(var n=e.split(/ *; */),i={value:n[0],quality:1,params:{},originalIndex:t},a=1;a<n.length;++a){var r=n[a].split(/ *= */);"q"==r[0]?i.quality=parseFloat(r[1]):i.params[r[0]]=r[1]}return i}var s=t("debug")("localization"),o=t("./arb.js"),l=(t("emitter"),t("preloader")),c=t("jquery");o.setTextContent_,o.setTextContent_=function(e,t){c(e).is("meta")?c(e).attr("content",t):c(e).html(t)},window.arb=o,n.exports=new i("en-US"),i.prototype.parse=function(e){s("parse",e),this.acceptedLanguages=a(e);for(var t=0;t<this.acceptedLanguages.length;t++){var n=this.acceptedLanguages[t];if(n.value==this.defaultLanguage)return this}return this.acceptedLanguages.push(r(this.defaultLanguage,this.acceptedLanguages.length)),this},i.prototype.setLanguage=function(e){return s("set language",e),e!=this.currentLanguage&&(~this.availableLanguages.indexOf(e)?(o.setResourceSelector("cubeslam:"+e),o.localizeHtml(),this.currentLanguage=e):console.warn('Language "%s" is not available.',e)),this},i.prototype.sortLanguages=function(){this.sortedAvailable=[];for(var e=0;e<this.acceptedLanguages.length;e++){var t=this.acceptedLanguages[e],n=~this.availableLanguages.indexOf(t.value);n&&this.sortedAvailable.push(t.value)}return~this.sortedAvailable.indexOf(this.defaultLanguage)||this.sortedAvailable.push(this.defaultLanguage),s("accepted languages",this.acceptedLanguages),s("available languages",this.availableLanguages),s("sort languages",this.sortedAvailable),this},i.prototype.nextLanguage=function(e){var t=this.sortedAvailable.indexOf(this.currentLanguage),n=this.sortedAvailable[(t+1)%this.sortedAvailable.length];return e?n:this.setLanguage(n)},i.prototype.register=function(e,t){s("register",e,t);for(var n=e.split("-")[0],i=0;i<this.availableLanguages.length;i++){var a=this.availableLanguages[i],r=this.availablePriorities[i];if(0===a.indexOf(n))return t>r?(s('replacing "%s" with "%s"',n,e),this.availableLanguages.splice(i,1,e),this.availablePriorities.splice(i,1,t)):s('skipping "%s" because of "%s"',e,a),void 0}return this.availableLanguages.push(e),this.availablePriorities.push(t),this},i.prototype.load=function(e){function t(e,t){s("to load",e);var i="/lang/"+e+".arb";return function(a){s("loading",i),c.ajax({url:i,cache:!0,dataType:"script"}).done(function(){n.register(e,t),a()}).fail(function(){a()})}}var n=this;this.availableLanguages=[],this.availablePriorities=[];for(var i=new l,a=0;a<this.acceptedLanguages.length;a++){var r=this.acceptedLanguages[a].value,o=this.acceptedLanguages.length-a;i.push(t(r,o))}return i.end(function(){var t=n.availableLanguages.length;if(t>2){n.sortLanguages(),n.sortedAvailable.splice(1,t-2);for(var i=t;i>=0;i--)~n.sortedAvailable.indexOf(n.availableLanguages[i])||(n.availableLanguages.splice(i,1),n.availablePriorities.splice(i,1))}n.sortLanguages();var a=n.sortedAvailable[0]||n.defaultLanguage;n.setLanguage(a),e&&e()}),this}}),require.register("slam/lib/ai.js",function(e,t,n){function i(e){a("created"),this.name=e,this.active=!1,this.noiseAmount=0,this.guiInit=!1,this.time=0,this.target=null,this.currentConfusionOffsetX=0,this.brain={},this.defaults={maxSpeed:20,reaction:.9,viewRange:.6,confusion:0},this.resetBrain(),o.on("opponentPaddleHit",this.paddleHit.bind(this))}var a=t("debug")("ai"),r=t("geom"),s=t("./settings"),o=t("./actions"),l=r.vec;t("./support/improved-noise"),n.exports=i,i.prototype={resetBrain:function(){a("reset brain"),this.time=0,this.brain={};for(var e in this.defaults)this.brain[e]=this.defaults[e]},updateBrain:function(e){a("update brain",e),this.resetBrain();for(var t in e)this.brain.hasOwnProperty(t)&&(this.brain[t]=e[t]);if(!this.guiInit&&s.gui&&"game"==this.name){this.guiInit=!0;var n=s.gui.addFolder("AI");for(t in this.defaults)"maxSpeed"==t?n.add(this.brain,t).min(0).max(20).step(.1).listen():n.add(this.brain,t).min(0).max(1).step(.1).listen()}},paddleHit:function(){this.currentConfusionOffsetX=500*Math.random()-250},start:function(){a("start"),this.active=!0,this.noiseAmount=0},stop:function(){a("stop"),this.active=!1,this.time=0},setTarget:function(e){a("set target",e),this.target=e},update:function(e){if(!this.active||null===this.target||!e.bodies.has(this.target))return!1;for(var t=null,n=s.data.arenaHeight*this.brain.viewRange,i=e.bodies.get(this.target),a=i.current,r=.5*(i.aabb[1]-i.aabb[3]),o=0;o<e.pucks.length;o++){var c=e.pucks.values[o],u=[c.current[0],a[1]],d=l.distSq(u,c.current);n*=n,n>d&&(n=d,t=c)}var p=.5*s.data.arenaWidth;return t?p=t.current[0]+.5*this.currentConfusionOffsetX*this.brain.confusion:p+=this.currentConfusionOffsetX*this.brain.confusion,this.noiseAmount<1&&(this.noiseAmount+=.004),p+=.3*this.currentConfusionOffsetX*this.brain.confusion*this.noiseAmount,this.time+=.1,p+=40*Math.sin(2.2*this.time)*this.noiseAmount*this.brain.confusion,a[0]+=t&&t.velocity[1]<0?Math.max(-this.brain.maxSpeed,Math.min(this.brain.maxSpeed,p-a[0]))*this.brain.reaction:.01*(p-a[0])*this.noiseAmount*this.brain.reaction,a[0]>s.data.arenaWidth-r?a[0]=s.data.arenaWidth-r:a[0]<r&&(a[0]=r),!0}}}),require.register("slam/lib/dmaf.min.js",function(e,t,n){!function(e){var t,n,i,a=function(e){return"[object Function]"===Object.prototype.toString.call(e)||"[object AudioContextConstructor]"===Object.prototype.toString.call(e)},r=[["createGainNode","createGain"],["createDelayNode","createDelay"],["createJavaScriptNode","createScriptProcessor"]];a(e)&&(n=new e,n.destination&&n.sampleRate&&(t=e.prototype,i=Object.getPrototypeOf(n.createBufferSource()),a(i.start)||a(i.noteOn)&&(i.start=function(e,t,n){1===arguments.length?this.noteOn(e):3===arguments.length&&this.noteGrainOn(e,t,n)}),a(i.noteOn)||(i.noteOn=i.start),a(i.noteGrainOn)||(i.noteGrainOn=i.start),a(i.stop)||(i.stop=i.noteOff),a(i.noteOff)||(i.noteOff=i.stop),r.forEach(function(e){for(var t,n;e.length;)t=e.pop(),a(this[t])?this[e.pop()]=this[t]:(n=e.pop(),this[t]=this[n])},t)))}(this.webkitAudioContext||this.AudioContext);var a=function(e){function t(e,t,n){return e&&t&&n?(N||a(e,t,n),void 0):(console.log(r()),void 0)}function a(e,t,n){A[e]=n,n.deps=t,n.name=e}function r(){return"Dinahmoe Web Audio Framework Version: "+k}function s(e){return P[e]||(o([e]),P[e]||{})}function o(e){for(var n,i=0,a=e.length;a>i;i++)if(n=e[i],!P[n]&&A[n]){if(!A[n].deps)return null;o.call(t,A[n].deps),P[n]=A[n].apply(t,l(A[n].deps))||{}}}function l(e){for(var t=[],n=0;e.length>n;n++)t.push(P[e[n]]);return t}function c(e){t.dev&&C.projectPath?p(C.projectPath+"project.xml","document",m):u(e),t.init=function(){t.log&&console.warn("dmaf has already been initialized.")}}function u(e){s("init")(e,s,A,C.descriptorsXML,C.configXML,C.assetsXML,C.logs||[])}function d(e,t){var n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.onload=function(){t(),setTimeout(function(){document.body.removeChild(n)},1)},n.src=e,document.body.appendChild(n)}function p(e,t,n){var i=new XMLHttpRequest;i.onload=function(){n(this.response)},i.open("GET",e,!0),i.responseType=t,i.send()}function m(e){var t=e.querySelector("framework"),n=e.querySelector("include"),i=e.querySelector("logs");if(t=t&&t.getAttribute("path"),n=n&&n.getAttribute("scripts"),i=i&&i.getAttribute("channels"),!t)throw new TypeError("Missing framework path.");C.customScripts=n&&n.split(",")||[],C.logs=i&&i.split(","),C.frameworkPath=t,C.configPath=C.projectPath+"config.xml",C.assetsPath=C.projectPath+"assets/",C.loadPath=C.projectPath+"assets.xml",C.customScripts=C.customScripts.map(function(e){return C.assetsPath+"js/"+e}),p(t+"src/scripts.json","text",h)}function h(e){var t,n=JSON.parse(e);n=n.concat(C.customScripts),C.files.toLoad=n.length,N=!1,console.log("Loading dmaf from:",C.frameworkPath);for(var i=0;C.files.toLoad>i;i++)t=/http/.test(n[i])?n[i]:C.frameworkPath+n[i],d(t,f)}function f(){++C.files.loaded===C.files.toLoad&&p(C.frameworkPath+"src/xml/descriptors.xml","document",g)}function g(e){C.descriptorsXML=e,p(C.configPath,"document",y)}function y(e){C.configXML=e,p(C.loadPath,"document",v)}function v(e){C.assetsXML=e,u(C.assetsPath)}function b(e){var n=[],i=function(){n.push(arguments)};i.resolve=function(i){for(t[e]=i||function(){};n.length;)i.apply(t,n.shift())},t[e]=i}var _=!("undefined"==typeof window||!e.navigator||!e.document),x=_&&!(!e.webkitAudioContext&&!e.AudioContext),w="undefined"!=typeof Audio,T=e.location&&e.location.href.split("?")||[],E=/^dmaf\=/,k="4.2.13",A={},P={},S=["once","registerObject","unregisterObject","addEventListener","removeEventListener","tell"],C={files:{loaded:0,total:0},projectPath:""},N=!1;for(S.forEach(b),t.prototype=null,t.isBrowser=_,t.hasHTMLAudio=w,t.hasContext=x,t.toString=r,t.init=c,t.dev=!1,i=0;T.length>i;i++)if(E.test(T[i])){console.log("DMAF is running in development mode."),t.dev=N=!0,C.projectPath=T[i].replace(E,"");break}return"undefined"!=typeof n&&n.exports?n.exports=t:"undefined"!=typeof define&&define("dmaf",[],function(){return t}),1&&(e.dmaf=t)}(this);a("settings",["DMAF"],function(e){e.Settings={assetsPath:"./dmaf__assets/",descriptors:{validActions:["loadCustomCode","loadSound","cacheHTMLAudio","loadHTMLAudio","loadMIDI","loadSampleMap","loadBin","customCode","userObject","mediaElement","mediaController","genericPlay","stepPlay","htmlPlay","soundStop","midiProcessor","makeNote","transform","macro","state","eventMapper","midiNoteMapper","timePatternPlayer","beatPatternPlayer","sampler","audioBus"],validTypes:["noteMap","stateMap","eventMap","file","map","target","sampleMapGroup","sampleMap","start","stop","add","beatEvent","band","chorus","overdrive","compressor","cabinet","filter","convolver","delay","envelopeFollower","equalizer","lfo","phaser","pingPongDelay","tremolo","wahWah"],action:{assetController:{loadCustomCode:{type:"assetController",id:"loadCustomCode",instanceId:{name:"instanceId",type:"string"},returnEvent:{name:"returnEvent",type:"string"},files:{name:"files",type:"array",valueType:"file"},"":{type:"assetController"}},type:"assetController",loadSound:{type:"assetController",id:"loadSound",instanceId:{name:"instanceId",type:"string"},returnEvent:{name:"returnEvent",type:"string"},files:{name:"files",type:"array",valueType:"file"},"":{type:"assetController"}},cacheHTMLAudio:{type:"assetController",id:"cacheHTMLAudio",instanceId:{name:"instanceId",type:"string"},returnEvent:{name:"returnEvent",type:"string"},files:{name:"files",type:"array",valueType:"file"},"":{type:"assetController"}},loadHTMLAudio:{type:"assetController",id:"loadHTMLAudio",instanceId:{name:"instanceId",type:"string"},returnEvent:{name:"returnEvent",type:"string"},files:{name:"files",type:"array",valueType:"file"},"":{type:"assetController"}},loadMIDI:{type:"assetController",id:"loadMIDI",instanceId:{name:"instanceId",type:"string"},returnEvent:{name:"returnEvent",type:"string"},files:{name:"files",type:"array",valueType:"file"},"":{type:"assetController"}},loadSampleMap:{type:"assetController",id:"loadSampleMap",instanceId:{name:"instanceId",type:"string"},returnEvent:{name:"returnEvent",type:"string"},files:{name:"files",type:"array",valueType:"file"},"":{type:"assetController"}},loadBin:{type:"assetController",id:"loadBin",instanceId:{name:"instanceId",type:"string"},returnEvent:{name:"returnEvent",type:"string"},"":{type:"assetController"}}},customCode:{customCode:{type:"customCode",id:"customCode",instanceId:{name:"instanceId",type:"string"},"":{type:"customCode"}},type:"customCode",userObject:{type:"customCode",id:"userObject",instanceId:{name:"instanceId",type:"string"},"":{type:"customCode"}}},mediaElement:{mediaElement:{type:"mediaElement",id:"mediaElement",instanceId:{name:"instanceId",type:"string"},"":{type:"mediaElement"}},type:"mediaElement"},control:{mediaController:{type:"control",id:"mediaController",instanceId:{name:"instanceId",type:"string","default":"multi"},"":{type:"control"}},type:"control"},sound:{genericPlay:{type:"sound",id:"genericPlay",delay:{name:"delay",type:"int","default":0,min:-1e6,max:1e6},instanceId:{name:"instanceId",type:"string","default":"multi"},soundFile:{name:"soundFile",type:"string","default":"multi"},multiSuffix:{name:"multiSuffix",type:"string","default":""},volume:{name:"volume",type:"float",unit:"dB","default":0,min:-90,max:48},pan:{name:"pan",type:"int","default":0,min:-100,max:100},loop:{name:"loop",type:"int",unit:"mS","default":-1,min:-2,max:1e5},reTrig:{name:"reTrig",type:"int",unit:"mS","default":-1,min:-1,max:1e5},returnEvent:{name:"returnEvent",type:"string"},returnEventTime:{name:"returnEventTime",type:"int",unit:"mS","default":-1,min:-1e6,max:1e5},preListen:{name:"preListen",type:"int","default":0,min:0,max:500},bus:{name:"bus",type:"string","default":"master"},priority:{name:"priority",type:"boolean","default":!1},timingCorrection:{name:"timingCorrection",type:"enum","default":"PLAY",values:["RESYNC","SYNC","PLAY"]},fadeIn:{name:"fadeIn",type:"int",min:0,max:1e6,"default":0},"":{type:"sound"}},type:"sound",stepPlay:{type:"sound",id:"stepPlay",delay:{name:"delay",type:"int","default":0,min:0,max:1e5},instanceId:{name:"instanceId",type:"string"},soundFiles:{name:"soundFiles",type:"list"},generator:{name:"generator",type:"enum","default":"SHUFFLE",values:["SHUFFLE","RANDOM","RANDOM_FIRST","ROUND_ROBIN"]},volume:{name:"volume",type:"float","default":0,min:-90,max:48},pan:{name:"pan",type:"int","default":0,min:-100,max:100},reTrig:{name:"reTrig",type:"int","default":-1,min:-1,max:1e5},returnEvent:{name:"returnEvent",type:"string","default":"",values:["ALL"]},returnEventTime:{name:"returnEventTime",type:"int","default":-1,min:-1e6,max:1e5},preListen:{name:"preListen",type:"int","default":0,min:0,max:500},bus:{name:"bus",type:"string","default":"master",values:["ALL"]},priority:{name:"priority",type:"boolean","default":!1},timingCorrection:{name:"timingCorrection",type:"enum","default":"SYNC",values:["SYNC","PLAY"]},fadeIn:{name:"fadeIn",type:"int",min:0,max:1e6,"default":0},"":{type:"sound"}},htmlPlay:{type:"sound",id:"htmlPlay",delay:{name:"delay",type:"int","default":0,min:-1e6,max:1e6},instanceId:{name:"instanceId",type:"string","default":"multi"},soundFile:{name:"soundFile",type:"string","default":"multi"},multiSuffix:{name:"multiSuffix",type:"string","default":""},volume:{name:"volume",type:"float",unit:"dB","default":0,min:-90,max:48},loop:{name:"loop",type:"int",unit:"mS","default":-1,min:-2,max:1e5},reTrig:{name:"reTrig",type:"int",unit:"mS","default":-1,min:-1,max:1e5},returnEvent:{name:"returnEvent",type:"string"},returnEventTime:{name:"returnEventTime",type:"int",unit:"mS","default":-1,min:-1e6,max:1e5},timingCorrection:{name:"timingCorrection",type:"enum","default":"PLAY",values:["RESYNC","SYNC","PLAY"]},"":{type:"sound"}},soundStop:{type:"sound",id:"soundStop",instanceId:{name:"instanceId",type:"string"},delay:{name:"delay",type:"int","default":0,min:0,max:9999999},targets:{name:"targets",type:"list"},multiSuffix:{name:"multiSuffix",type:"string","default":""},fadeOut:{name:"fadeOut",type:"int",min:0,max:1e5,"default":0},"":{type:"sound"}}},midiProcessor:{midiProcessor:{type:"midiProcessor",id:"midiProcessor",instanceId:{name:"instanceId",type:"string"},customScale:{name:"customScale",type:"string","default":"0,0,0,0,0,0,0,0,0,0,0,0"},transpose:{name:"transpose",type:"int","default":0,min:-127,max:127},dynamic:{name:"dynamic",type:"int","default":0,min:-127,max:127},quantize:{name:"quantize",type:"string"},onChange:{name:"onChange",type:"boolean","default":!1},scale:{name:"scale",type:"enum","default":"off",values:["off","major","harmonicMinor","naturalMinor","majorPentatonic","minorPentatonic","dorian","phyrgian","lydian","mixolydian","locrian","doubleHarmonic","halfDim","custom"]},root:{name:"root",type:"string","default":"C",values:["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"]},"":{type:"midiProcessor"}},type:"midiProcessor",makeNote:{type:"midiProcessor",id:"makeNote",instanceId:{name:"instanceId",type:"string","default":"someProcessor"},reTrig:{name:"reTrig",type:"int","default":0,min:0,max:1e4},noteMaps:{name:"noteMaps",type:"array",valueType:"noteMap"},"":{type:"midiProcessor"}}},parameterProcessor:{transform:{type:"parameterProcessor",id:"transform",instanceId:{name:"instanceId",type:"string"},delay:{name:"delay",type:"int","default":0,min:0,max:9999999},targetType:{name:"targetType",type:"enum","default":"SOUND",values:["sound","audioRouter","synth","parameterProcessor"]},targets:{name:"targets",type:"list"},targetParameter:{name:"targetParameter",type:"string"},multiSuffix:{name:"multiSuffix",type:"string"},value:{name:"value",type:"float","default":0,min:-9999999,max:9999999},duration:{name:"duration",type:"int","default":0,min:0,max:9999999},curve:{name:"curve",type:"int","default":0,min:-100,max:100},"":{type:"parameterProcessor"}},type:"parameterProcessor",macro:{type:"parameterProcessor",id:"macro",instanceId:{name:"instanceId",type:"string"},delay:{name:"delay",type:"int","default":0,min:0,max:9999999},macroTargets:{name:"macroTargets",type:"array",valueType:"macroTarget"},"":{type:"parameterProcessor"}}},stateProcessor:{state:{type:"stateProcessor",id:"state",instanceId:{name:"instanceId",type:"string"},update:{name:"update",type:"enum","default":"onChange",values:["onChange","always"]},stateMaps:{name:"stateMaps",type:"array",valueType:"stateMap"},"":{type:"stateProcessor"}},type:"stateProcessor"},eventProcessor:{eventMapper:{type:"eventProcessor",id:"eventMapper",instanceId:{name:"instanceId",type:"string"},reTrig:{name:"reTrig",type:"int","default":0,min:0,max:1e4},clearPending:{name:"clearPending",type:"boolean","default":!1},dispatch:{name:"dispatch",type:"enum","default":"ALWAYS",values:["ALWAYS","ON_CHANGE"]},eventMaps:{name:"eventMaps",type:"array",valueType:"eventMap"},"":{type:"eventProcessor"}},type:"eventProcessor",midiNoteMapper:{type:"eventProcessor",id:"midiNoteMapper",instanceId:{name:"instanceId",type:"string"},eventMaps:{name:"eventMaps",type:"array",valueType:"eventMap"},"":{type:"eventProcessor"}}},player:{timePatternPlayer:{type:"player",id:"timePatternPlayer",instanceId:{name:"instanceId",type:"string","default":"master_time_player"},behavior:{name:"behavior",type:"enum",values:["LINEAR","DEFAULT"],"default":"DEFAULT"},"":{type:"player"}},type:"player",beatPatternPlayer:{type:"player",id:"beatPatternPlayer",instanceId:{name:"instanceId",type:"string","default":"master_beat_player"},flowItems:{name:"flowItems",type:"array",valueType:"flowItem"},"":{type:"player"}}},synth:{sampler:{type:"synth",id:"sampler",instanceId:{name:"instanceId",type:"string"},ignoreNoteOff:{name:"ignoreNoteOff",type:"boolean","default":!1},bus:{name:"bus",type:"string","default":"master"},volume:{name:"volume",type:"float","default":0,min:-100,max:10},loop:{name:"loop",type:"boolean","default":!1},ampAttack:{name:"ampAttack",type:"int","default":0,min:0,max:500},ampDecay:{name:"ampDecay",type:"int","default":0,min:0,max:500},ampRelease:{name:"ampRelease",type:"int","default":0,min:0,max:1e3},ampSustain:{name:"ampSustain",type:"float","default":1,min:0,max:1},ampVelocityRatio:{name:"ampVelocityRatio",type:"float","default":1,min:0,max:1},filterOn:{name:"filterOn",type:"boolean","default":!1},filterAttack:{name:"filterAttack",type:"int","default":0,min:0,max:500},filterDecay:{name:"filterDecay",type:"int","default":0,min:0,max:500},filterRelease:{name:"filterRelease",type:"int","default":0,min:0,max:1e3},filterSustain:{name:"filterSustain",type:"float","default":1,min:0,max:1},filterVelocityRatio:{name:"filterVelocityRatio",type:"float","default":1,min:0,max:1},filterQ:{name:"filterQ",type:"float","default":1e-4,min:1e-4,max:30},filterFrequency:{name:"filterFrequency",type:"int","default":0,min:0,max:10},filterGain:{name:"filterGain",type:"float","default":0,min:0,max:1},audioNodes:{name:"audioNodes",type:"array",valueType:"audioNode"},sampleMapGroups:{name:"sampleMapGroups",type:"array",valueType:"sampleMapGroup"},"":{type:"synth"}},type:"synth"},audioRouter:{audioBus:{type:"audioRouter",id:"audioBus",instanceId:{name:"instanceId",type:"string"},out:{name:"out",type:"list","default":[""]},volume:{name:"volume",type:"float","default":0,min:-100,max:10},pan:{name:"pan",type:"int","default":0,min:-100,max:100},audioNodes:{name:"audioNodes",type:"array",valueType:"audioNode"},"":{type:"audioRouter"}},type:"audioRouter"}},type:{noteMap:{noteMap:{type:"noteMap",id:"noteMap",delay:{name:"delay",type:"int","default":0,min:0,max:1e5},triggerIn:{name:"triggerIn",type:"list"},triggerOut:{name:"triggerOut",type:"string"},note:{name:"note",type:"string","default":"C4"},velocity:{name:"velocity",type:"int",min:0,max:127,"default":127},duration:{name:"duration",type:"int",min:0,max:9999999,"default":0},"":{type:"noteMap"}},type:"noteMap"},stateMap:{stateMap:{type:"stateMap",id:"stateMap","in":{name:"in",type:"list"},state:{name:"state",type:"string"},"":{type:"stateMap"}},type:"stateMap"},eventMap:{eventMap:{type:"eventMap",id:"eventMap","in":{name:"in",type:"list"},out:{name:"out",type:"string"},delay:{name:"delay",type:"int","default":0,max:1e5,min:-1e5},"":{type:"eventMap"}},type:"eventMap"},file:{file:{type:{name:"type",type:"enum",values:["beatPattern","timePattern"],"default":""},id:"file",name:{name:"name",type:"string"},"":{type:"file"}},type:"file"},map:{map:{type:"map",id:"map",inValue:{name:"inValue",type:"string"},outValue:{name:"outValue",type:"string"},"":{type:"map"}},type:"map"},macroTarget:{target:{type:"macroTarget",id:"target",targetId:{name:"targetId",type:"string"},min:{name:"min",type:"float","default":1e5,min:-1e5,max:1e5},max:{name:"max",type:"float","default":1e5,min:-1e5,max:1e5},targetInstance:{name:"targetInstance",type:"string"},targetParameter:{name:"targetParameter",type:"string"},curve:{name:"curve",type:"enum","default":"LINEAR",values:["LINEAR","EXP","LOG"]},"":{type:"macroTarget"}},type:"macroTarget"},sampleMapGroup:{sampleMapGroup:{type:"sampleMapGroup",id:"sampleMapGroup",name:{name:"name",type:"string"},sampleMaps:{name:"sampleMaps",type:"array",valueType:"sampleMap"},"":{type:"sampleMapGroup"}},type:"sampleMapGroup"},sampleMap:{sampleMap:{type:"sampleMap",id:"sampleMap",name:{name:"name",type:"string"},velocityLow:{name:"velocityLow",type:"int","default":0,min:0,max:127},velocityHigh:{name:"velocityHigh",type:"int","default":127,min:0,max:127},"":{type:"sampleMap"}},type:"sampleMap"},flowItem:{start:{type:"flowItem",id:"start",tempo:{name:"tempo",type:"float","default":120,min:40,max:280},beatsPerBar:{name:"beatsPerBar",type:"int","default":16,min:1,max:32},"":{type:"flowItem"}},type:"flowItem",stop:{type:"flowItem",id:"stop",songPosition:{name:"songPosition",type:"string","default":"NEXT_BEAT"},"":{type:"flowItem"}},add:{type:"flowItem",id:"add",patternId:{name:"patternId",type:"list","default":["multi"]},channel:{name:"channel",type:"string","default":"main"},songPosition:{name:"songPosition",type:"string","default":"NEXT_BAR"},patternPosition:{name:"patternPosition",type:"enum","default":"SYNC",values:["SYNC","FIRST_BEAT","SONG_POSITION"]},clearPending:{name:"clearPending",type:"boolean","default":!0},replaceActive:{name:"replaceActive",type:"boolean","default":!0},setAsCurrent:{name:"setAsCurrent",type:"boolean","default":!0},loop:{name:"loop",type:"boolean","default":!1},loopLength:{name:"loopLength",type:"int","default":129,min:1,max:65536},clearPosition:{name:"clearPosition",type:"string","default":"NEXT_BAR"},"":{type:"flowItem"}},beatEvent:{type:"flowItem",id:"beatEvent",songPosition:{name:"songPosition",type:"string","default":"NEXT_BAR"},returnEvent:{name:"returnEvent",type:"string","default":""},"":{type:"flowItem"}}},band:{band:{type:"band",id:"band",bandType:{name:"bandType",type:"enum","default":"PEAKING",values:["LOWPASS","HIGHPASS","BANDPASS","LOWSHELF","HIGHSHELF","PEAKING","NOTCH","ALLPASS"],automatable:!1},frequency:{name:"frequency",type:"float","default":800,min:20,max:22050,automatable:!0},Q:{name:"Q",type:"float","default":1,min:0,max:100,automatable:!0},gain:{name:"gain",type:"float","default":0,min:-40,max:40,automatable:!0},"":{type:"band"}},type:"band"},audioNode:{chorus:{type:"audioNode",id:"chorus",active:{name:"active",type:"boolean","default":!0},feedback:{name:"feedback",type:"float","default":0,min:0,max:1,automatable:!1},delay:{name:"delay",type:"float","default":.0045,min:0,max:1,automatable:!1},rate:{name:"rate",type:"float","default":1.5,min:.01,max:8,automatable:!1},bypass:{name:"bypass",type:"float","default":0,min:0,max:1,automatable:!1},"":{type:"audioNode"}},type:"audioNode",overdrive:{type:"audioNode",id:"overdrive",active:{name:"active",type:"boolean","default":!0},outputGain:{name:"outputGain",type:"float","default":0,min:0,max:10,automatable:!0},drive:{name:"drive",type:"float","default":0,min:0,max:10,automatable:!0},curveAmount:{name:"curveAmount",type:"float","default":1,min:0,max:10,automatable:!0},algorithmIndex:{name:"algorithmIndex",type:"int","default":0,min:0,max:5,automatable:!1},"":{type:"audioNode"}},compressor:{type:"audioNode",id:"compressor",active:{name:"active",type:"boolean","default":!0},threshold:{name:"threshold",type:"float","default":0,min:-100,max:0,automatable:!0},makeupGain:{name:"makeupGain",type:"float","default":1,min:0,max:100,automatable:!0},attack:{name:"attack",type:"float","default":1,min:0,max:1e3,automatable:!0},release:{name:"release",type:"float","default":1,min:0,max:3e3,automatable:!0},ratio:{name:"ratio",type:"float","default":4,min:1,max:20,automatable:!0},knee:{name:"knee",type:"float","default":5,min:0,max:40,automatable:!0},automakeup:{name:"automakeup",type:"boolean","default":!1},"":{type:"audioNode"}},cabinet:{type:"audioNode",id:"cabinet",active:{name:"active",type:"boolean","default":!0},makeupGain:{name:"makeupGain",type:"float","default":1,min:0,max:20,automatable:!0},impulsePath:{name:"impulsePath",type:"string"},"":{type:"audioNode"}},filter:{type:"audioNode",id:"filter",active:{name:"active",type:"boolean","default":!0},frequency:{name:"frequency",type:"float","default":20,min:20,max:22050,automatable:!0},Q:{name:"Q",type:"float","default":1,min:0,max:100,automatable:!0},gain:{name:"gain",type:"float","default":0,min:-40,max:40,automatable:!0},bypass:{name:"bypass",type:"boolean","default":!0,automatable:!0},filterType:{name:"filterType",type:"enum","default":"LOWPASS",values:["LOWPASS","HIGHPASS","BANDPASS","LOWSHELF","HIGHSHELF","PEAKING","NOTCH","ALLPASS"],automatable:!1},"":{type:"audioNode"}},convolver:{type:"audioNode",id:"convolver",active:{name:"active",type:"boolean","default":!0},highCut:{name:"highCut",type:"float","default":22050,min:20,max:22050,automatable:!0},lowCut:{name:"lowCut",type:"float","default":20,min:20,max:22050,automatable:!0},dryLevel:{name:"dryLevel",type:"float","default":1,min:0,max:1,automatable:!0},wetLevel:{name:"wetLevel",type:"float","default":1,min:0,max:1,automatable:!0},level:{name:"level",type:"float","default":1,min:0,max:1,automatable:!0},impulse:{name:"impulse",type:"string"},"":{type:"audioNode"}},delay:{type:"audioNode",id:"delay",active:{name:"active",type:"boolean","default":!0},delayTime:{name:"delayTime",type:"float","default":30,min:.001,max:1e4,automatable:!1},feedback:{name:"feedback",type:"float","default":.45,min:0,max:.9,automatable:!0},cutoff:{name:"cutoff",type:"float","default":20,min:20,max:22050,automatable:!0},dryLevel:{name:"dryLevel",type:"float","default":1,min:0,max:1,automatable:!0},wetLevel:{name:"wetLevel",type:"float","default":1,min:0,max:1,automatable:!0},tempoSync:{name:"tempoSync",type:"string",automatable:!1},subdivision:{name:"subdivision",type:"enum","default":"8D",values:["1","2D","2","2T","4D","4","4T","8D","8","8T","16D","16","16T","32D","32","32T"],automatable:!1},"":{type:"audioNode"}},envelopeFollower:{type:"audioNode",id:"envelopeFollower",active:{name:"active",type:"boolean","default":!0},attackTime:{name:"attackTime",type:"float","default":.003,min:0,max:.5,automatable:!1},releaseTime:{name:"releaseTime",type:"float","default":.5,min:0,max:1,automatable:!1},"":{type:"audioNode"}},equalizer:{type:"audioNode",id:"equalizer",active:{name:"active",type:"boolean","default":!0},bands:{name:"bands",type:"array",valueType:"band"},"":{type:"audioNode"}},lfo:{type:{name:"type",type:"enum","default":"SIN",values:["SIN","SQUARE","TRIANGLE","SAWTOOTH"],automatable:!1},id:"lfo",active:{name:"active",type:"boolean","default":!0},frequency:{name:"frequency",type:"float","default":1,min:0,max:8,automatable:!1},offset:{name:"offset",type:"float","default":.85,min:0,max:22050,automatable:!1},phase:{name:"phase",type:"float","default":0,min:0,max:6.28318530718,automatable:!1},oscillation:{name:"oscillation",type:"float","default":.3,min:-22050,max:22050,automatable:!1},"":{type:"audioNode"}},phaser:{type:"audioNode",id:"phaser",active:{name:"active",type:"boolean","default":!0},rate:{name:"rate",type:"float","default":1,min:0,max:8,automatable:!1},depth:{name:"depth",type:"float","default":.3,min:0,max:1,automatable:!1},feedback:{name:"feedback",type:"float","default":.2,min:0,max:1,automatable:!1},stereoPhase:{name:"stereoPhase",type:"int","default":30,min:0,max:180,automatable:!1},baseModulationFrequency:{name:"baseModulationFrequency",type:"float","default":700,min:500,max:1500,automatable:!1},"":{type:"audioNode"}},pingPongDelay:{type:"audioNode",id:"pingPongDelay",active:{name:"active",type:"boolean","default":!0},delayTime:{name:"delayTime",type:"float","default":30,min:1e-4,max:1e4,automatable:!1},feedback:{name:"feedback",type:"float","default":.45,min:0,max:.9,automatable:!0},cutoff:{name:"cutoff",type:"float","default":20,min:20,max:22050,automatable:!0},dryLevel:{name:"dryLevel",type:"float","default":1,min:0,max:1,automatable:!0},wetLevel:{name:"wetLevel",type:"float","default":1,min:0,max:1,automatable:!0},tempoSync:{name:"tempoSync",type:"string",automatable:!1},subdivision:{name:"subdivision",type:"enum","default":"8D",values:["1","2D","2","2T","4D","4","4T","8D","8","8T","16D","16","16T","32D","32","32T"],automatable:!1},"":{type:"audioNode"}},tremolo:{type:"audioNode",id:"tremolo",active:{name:"active",type:"boolean","default":!0},intensity:{name:"intensity",type:"float","default":.3,min:0,max:1,automatable:!1},stereoPhase:{name:"stereoPhase",type:"int","default":0,min:0,max:180,automatable:!1},rate:{name:"rate",type:"float","default":.1,min:.001,max:8,automatable:!1},"":{type:"audioNode"}},wahWah:{type:"audioNode",id:"wahWah",active:{name:"active",type:"boolean","default":!0},automode:{name:"automode",type:"boolean","default":!1},baseFrequency:{name:"baseFrequency",type:"float","default":.5,min:0,max:1,automatable:!1},excursionOctaves:{name:"excursionOctaves",type:"int","default":2,min:1,max:6,automatable:!1},sweep:{name:"sweep",type:"float","default":.2,min:0,max:1,automatable:!1},resonance:{name:"resonance",type:"float","default":10,min:1,max:100,automatable:!1},sensitivity:{name:"sensitivity",type:"float","default":.5,min:-1,max:1,automatable:!1},"":{type:"audioNode"}}}}},actions:[{instanceId:"load_bass_filter",returnEvent:"",files:[{id:"file",name:"bass_filter_low_E2"},{id:"file",name:"bass_filter_low_As2"},{id:"file",name:"bass_filter_low_E3"},{id:"file",name:"bass_filter_low_As3"},{id:"file",name:"bass_filter_low_E4"},{id:"file",name:"bass_filter_low_As4"},{id:"file",name:"bass_filter_low_E5"},{id:"file",name:"bass_filter_low_As5"},{id:"file",name:"bass_filter_low_E6"},{id:"file",name:"bass_filter_low_As6"},{id:"file",name:"bass_filter_mid_E2"},{id:"file",name:"bass_filter_mid_As2"},{id:"file",name:"bass_filter_mid_E3"},{id:"file",name:"bass_filter_mid_As3"},{id:"file",name:"bass_filter_mid_E4"},{id:"file",name:"bass_filter_mid_As4"},{id:"file",name:"bass_filter_mid_E5"},{id:"file",name:"bass_filter_mid_As5"},{id:"file",name:"bass_filter_mid_E6"},{id:"file",name:"bass_filter_mid_As6"},{id:"file",name:"bass_filter_hi_E2"},{id:"file",name:"bass_filter_hi_As2"},{id:"file",name:"bass_filter_hi_E3"},{id:"file",name:"bass_filter_hi_As3"},{id:"file",name:"bass_filter_hi_E4"},{id:"file",name:"bass_filter_hi_As4"},{id:"file",name:"bass_filter_hi_E5"},{id:"file",name:"bass_filter_hi_As5"},{id:"file",name:"bass_filter_hi_E6"},{id:"file",name:"bass_filter_hi_As6"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_bass_filter.ogg.bin",files:[{name:"bass_filter_low_E2",size:9639,start:0,end:9639},{name:"bass_filter_low_As2",size:9585,start:9639,end:19224},{name:"bass_filter_low_E3",size:9772,start:19224,end:28996},{name:"bass_filter_low_As3",size:9678,start:28996,end:38674},{name:"bass_filter_low_E4",size:9781,start:38674,end:48455},{name:"bass_filter_low_As4",size:9726,start:48455,end:58181},{name:"bass_filter_low_E5",size:9627,start:58181,end:67808},{name:"bass_filter_low_As5",size:9540,start:67808,end:77348},{name:"bass_filter_low_E6",size:9507,start:77348,end:86855},{name:"bass_filter_low_As6",size:9656,start:86855,end:96511},{name:"bass_filter_mid_E2",size:9328,start:96511,end:105839},{name:"bass_filter_mid_As2",size:9677,start:105839,end:115516},{name:"bass_filter_mid_E3",size:9181,start:115516,end:124697},{name:"bass_filter_mid_As3",size:9710,start:124697,end:134407},{name:"bass_filter_mid_E4",size:9381,start:134407,end:143788},{name:"bass_filter_mid_As4",size:9577,start:143788,end:153365},{name:"bass_filter_mid_E5",size:9794,start:153365,end:163159},{name:"bass_filter_mid_As5",size:9675,start:163159,end:172834},{name:"bass_filter_mid_E6",size:9703,start:172834,end:182537},{name:"bass_filter_mid_As6",size:9502,start:182537,end:192039},{name:"bass_filter_hi_E2",size:18534,start:192039,end:210573},{name:"bass_filter_hi_As2",size:18637,start:210573,end:229210},{name:"bass_filter_hi_E3",size:20152,start:229210,end:249362},{name:"bass_filter_hi_As3",size:18912,start:249362,end:268274},{name:"bass_filter_hi_E4",size:20487,start:268274,end:288761},{name:"bass_filter_hi_As4",size:20504,start:288761,end:309265},{name:"bass_filter_hi_E5",size:20330,start:309265,end:329595},{name:"bass_filter_hi_As5",size:20515,start:329595,end:350110},{name:"bass_filter_hi_E6",size:20594,start:350110,end:370704},{name:"bass_filter_hi_As6",size:19939,start:370704,end:390643}]},{format:".aac",path:"bin/load_bass_filter.aac.bin",files:[{name:"bass_filter_low_E2",size:5408,start:0,end:5408},{name:"bass_filter_low_As2",size:5131,start:5408,end:10539},{name:"bass_filter_low_E3",size:5398,start:10539,end:15937},{name:"bass_filter_low_As3",size:5219,start:15937,end:21156},{name:"bass_filter_low_E4",size:5373,start:21156,end:26529},{name:"bass_filter_low_As4",size:5366,start:26529,end:31895},{name:"bass_filter_low_E5",size:5307,start:31895,end:37202},{name:"bass_filter_low_As5",size:5369,start:37202,end:42571},{name:"bass_filter_low_E6",size:5356,start:42571,end:47927},{name:"bass_filter_low_As6",size:5264,start:47927,end:53191},{name:"bass_filter_mid_E2",size:5618,start:53191,end:58809},{name:"bass_filter_mid_As2",size:5158,start:58809,end:63967},{name:"bass_filter_mid_E3",size:5060,start:63967,end:69027},{name:"bass_filter_mid_As3",size:4993,start:69027,end:74020},{name:"bass_filter_mid_E4",size:5148,start:74020,end:79168},{name:"bass_filter_mid_As4",size:5014,start:79168,end:84182},{name:"bass_filter_mid_E5",size:4882,start:84182,end:89064},{name:"bass_filter_mid_As5",size:5009,start:89064,end:94073},{name:"bass_filter_mid_E6",size:5084,start:94073,end:99157},{name:"bass_filter_mid_As6",size:4921,start:99157,end:104078},{name:"bass_filter_hi_E2",size:16240,start:104078,end:120318},{name:"bass_filter_hi_As2",size:17079,start:120318,end:137397},{name:"bass_filter_hi_E3",size:15338,start:137397,end:152735},{name:"bass_filter_hi_As3",size:15440,start:152735,end:168175},{name:"bass_filter_hi_E4",size:15020,start:168175,end:183195},{name:"bass_filter_hi_As4",size:14623,start:183195,end:197818},{name:"bass_filter_hi_E5",size:14506,start:197818,end:212324},{name:"bass_filter_hi_As5",size:14351,start:212324,end:226675},{name:"bass_filter_hi_E6",size:14098,start:226675,end:240773},{name:"bass_filter_hi_As6",size:14241,start:240773,end:255014}]}]},{instanceId:"load_lead_b",returnEvent:"",files:[{id:"file",name:"lead_b_E1"},{id:"file",name:"lead_b_As1"},{id:"file",name:"lead_b_E2"},{id:"file",name:"lead_b_As2"},{id:"file",name:"lead_b_E3"},{id:"file",name:"lead_b_As3"},{id:"file",name:"lead_b_E4"},{id:"file",name:"lead_b_As4"},{id:"file",name:"lead_b_E5"},{id:"file",name:"lead_b_As5"},{id:"file",name:"lead_b_E6"},{id:"file",name:"lead_b_As6"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_lead_b.ogg.bin",files:[{name:"lead_b_E1",size:54177,start:0,end:54177},{name:"lead_b_As1",size:53962,start:54177,end:108139},{name:"lead_b_E2",size:54307,start:108139,end:162446},{name:"lead_b_As2",size:54503,start:162446,end:216949},{name:"lead_b_E3",size:54810,start:216949,end:271759},{name:"lead_b_As3",size:54723,start:271759,end:326482},{name:"lead_b_E4",size:54108,start:326482,end:380590},{name:"lead_b_As4",size:53655,start:380590,end:434245},{name:"lead_b_E5",size:53390,start:434245,end:487635},{name:"lead_b_As5",size:52891,start:487635,end:540526},{name:"lead_b_E6",size:53104,start:540526,end:593630},{name:"lead_b_As6",size:51088,start:593630,end:644718}]},{format:".aac",path:"bin/load_lead_b.aac.bin",files:[{name:"lead_b_E1",size:49038,start:0,end:49038},{name:"lead_b_As1",size:50205,start:49038,end:99243},{name:"lead_b_E2",size:50814,start:99243,end:150057},{name:"lead_b_As2",size:50352,start:150057,end:200409},{name:"lead_b_E3",size:51587,start:200409,end:251996},{name:"lead_b_As3",size:51339,start:251996,end:303335},{name:"lead_b_E4",size:51600,start:303335,end:354935},{name:"lead_b_As4",size:53215,start:354935,end:408150},{name:"lead_b_E5",size:53007,start:408150,end:461157},{name:"lead_b_As5",size:52917,start:461157,end:514074},{name:"lead_b_E6",size:50728,start:514074,end:564802},{name:"lead_b_As6",size:49546,start:564802,end:614348}]}]},{instanceId:"load_lead_a",returnEvent:"",files:[{id:"file",name:"lead_a_E1"},{id:"file",name:"lead_a_As1"},{id:"file",name:"lead_a_E2"},{id:"file",name:"lead_a_As2"},{id:"file",name:"lead_a_E3"},{id:"file",name:"lead_a_As3"},{id:"file",name:"lead_a_E4"},{id:"file",name:"lead_a_As4"},{id:"file",name:"lead_a_E5"},{id:"file",name:"lead_a_As5"},{id:"file",name:"lead_a_E6"},{id:"file",name:"lead_a_As6"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_lead_a.ogg.bin",files:[{name:"lead_a_E1",size:51062,start:0,end:51062},{name:"lead_a_As1",size:51351,start:51062,end:102413},{name:"lead_a_E2",size:51568,start:102413,end:153981},{name:"lead_a_As2",size:51936,start:153981,end:205917},{name:"lead_a_E3",size:51671,start:205917,end:257588},{name:"lead_a_As3",size:51580,start:257588,end:309168},{name:"lead_a_E4",size:51690,start:309168,end:360858},{name:"lead_a_As4",size:51803,start:360858,end:412661},{name:"lead_a_E5",size:51426,start:412661,end:464087},{name:"lead_a_As5",size:50418,start:464087,end:514505},{name:"lead_a_E6",size:45245,start:514505,end:559750},{name:"lead_a_As6",size:41416,start:559750,end:601166}]},{format:".aac",path:"bin/load_lead_a.aac.bin",files:[{name:"lead_a_E1",size:42930,start:0,end:42930},{name:"lead_a_As1",size:46748,start:42930,end:89678},{name:"lead_a_E2",size:46412,start:89678,end:136090},{name:"lead_a_As2",size:46280,start:136090,end:182370},{name:"lead_a_E3",size:48361,start:182370,end:230731},{name:"lead_a_As3",size:48153,start:230731,end:278884},{name:"lead_a_E4",size:47020,start:278884,end:325904},{name:"lead_a_As4",size:47500,start:325904,end:373404},{name:"lead_a_E5",size:47207,start:373404,end:420611},{name:"lead_a_As5",size:46062,start:420611,end:466673},{name:"lead_a_E6",size:45239,start:466673,end:511912},{name:"lead_a_As6",size:43621,start:511912,end:555533}]}]},{instanceId:"load_synth_warm",returnEvent:"",files:[{id:"file",name:"synth_warm_E0"},{id:"file",name:"synth_warm_As0"},{id:"file",name:"synth_warm_E1"},{id:"file",name:"synth_warm_As1"},{id:"file",name:"synth_warm_E2"},{id:"file",name:"synth_warm_As2"},{id:"file",name:"synth_warm_E3"},{id:"file",name:"synth_warm_As3"},{id:"file",name:"synth_warm_E4"},{id:"file",name:"synth_warm_As4"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_synth_warm.ogg.bin",files:[{name:"synth_warm_E0",size:51334,start:0,end:51334},{name:"synth_warm_As0",size:51438,start:51334,end:102772},{name:"synth_warm_E1",size:51609,start:102772,end:154381},{name:"synth_warm_As1",size:51481,start:154381,end:205862},{name:"synth_warm_E2",size:47920,start:205862,end:253782},{name:"synth_warm_As2",size:48423,start:253782,end:302205},{name:"synth_warm_E3",size:51469,start:302205,end:353674},{name:"synth_warm_As3",size:51499,start:353674,end:405173},{name:"synth_warm_E4",size:51494,start:405173,end:456667},{name:"synth_warm_As4",size:49164,start:456667,end:505831}]},{format:".aac",path:"bin/load_synth_warm.aac.bin",files:[{name:"synth_warm_E0",size:44401,start:0,end:44401},{name:"synth_warm_As0",size:45238,start:44401,end:89639},{name:"synth_warm_E1",size:46265,start:89639,end:135904},{name:"synth_warm_As1",size:47538,start:135904,end:183442},{name:"synth_warm_E2",size:47484,start:183442,end:230926},{name:"synth_warm_As2",size:42219,start:230926,end:273145},{name:"synth_warm_E3",size:34594,start:273145,end:307739},{name:"synth_warm_As3",size:34250,start:307739,end:341989},{name:"synth_warm_E4",size:32630,start:341989,end:374619},{name:"synth_warm_As4",size:33556,start:374619,end:408175}]}]},{instanceId:"load_synth_funk",returnEvent:"",files:[{id:"file",name:"synth_funk_E0"},{id:"file",name:"synth_funk_As0"},{id:"file",name:"synth_funk_E1"},{id:"file",name:"synth_funk_As1"},{id:"file",name:"synth_funk_E2"},{id:"file",name:"synth_funk_As2"},{id:"file",name:"synth_funk_E3"},{id:"file",name:"synth_funk_As3"},{id:"file",name:"synth_funk_E4"},{id:"file",name:"synth_funk_As4"},{id:"file",name:"synth_funk_E5"},{id:"file",name:"synth_funk_As5"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_synth_funk.ogg.bin",files:[{name:"synth_funk_E0",size:23167,start:0,end:23167},{name:"synth_funk_As0",size:23222,start:23167,end:46389},{name:"synth_funk_E1",size:23223,start:46389,end:69612},{name:"synth_funk_As1",size:23269,start:69612,end:92881},{name:"synth_funk_E2",size:23072,start:92881,end:115953},{name:"synth_funk_As2",size:23209,start:115953,end:139162},{name:"synth_funk_E3",size:22839,start:139162,end:162001},{name:"synth_funk_As3",size:21237,start:162001,end:183238},{name:"synth_funk_E4",size:20389,start:183238,end:203627},{name:"synth_funk_As4",size:18770,start:203627,end:222397},{name:"synth_funk_E5",size:19488,start:222397,end:241885},{name:"synth_funk_As5",size:19942,start:241885,end:261827}]},{format:".aac",path:"bin/load_synth_funk.aac.bin",files:[{name:"synth_funk_E0",size:17572,start:0,end:17572},{name:"synth_funk_As0",size:17514,start:17572,end:35086},{name:"synth_funk_E1",size:17216,start:35086,end:52302},{name:"synth_funk_As1",size:16718,start:52302,end:69020},{name:"synth_funk_E2",size:15766,start:69020,end:84786},{name:"synth_funk_As2",size:13967,start:84786,end:98753},{name:"synth_funk_E3",size:12719,start:98753,end:111472},{name:"synth_funk_As3",size:13142,start:111472,end:124614},{name:"synth_funk_E4",size:13037,start:124614,end:137651},{name:"synth_funk_As4",size:12810,start:137651,end:150461},{name:"synth_funk_E5",size:11993,start:150461,end:162454},{name:"synth_funk_As5",size:12477,start:162454,end:174931}]}]},{instanceId:"load_synth_sharp",returnEvent:"",files:[{id:"file",name:"synth_sharp_E1"},{id:"file",name:"synth_sharp_As1"},{id:"file",name:"synth_sharp_E2"},{id:"file",name:"synth_sharp_As2"},{id:"file",name:"synth_sharp_E3"},{id:"file",name:"synth_sharp_As3"},{id:"file",name:"synth_sharp_E4"},{id:"file",name:"synth_sharp_As4"},{id:"file",name:"synth_sharp_E5"},{id:"file",name:"synth_sharp_As5"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_synth_sharp.ogg.bin",files:[{name:"synth_sharp_E1",size:22906,start:0,end:22906},{name:"synth_sharp_As1",size:22795,start:22906,end:45701},{name:"synth_sharp_E2",size:22613,start:45701,end:68314},{name:"synth_sharp_As2",size:21931,start:68314,end:90245},{name:"synth_sharp_E3",size:21855,start:90245,end:112100},{name:"synth_sharp_As3",size:22621,start:112100,end:134721},{name:"synth_sharp_E4",size:22918,start:134721,end:157639},{name:"synth_sharp_As4",size:22800,start:157639,end:180439},{name:"synth_sharp_E5",size:22769,start:180439,end:203208},{name:"synth_sharp_As5",size:22722,start:203208,end:225930}]},{format:".aac",path:"bin/load_synth_sharp.aac.bin",files:[{name:"synth_sharp_E1",size:16552,start:0,end:16552},{name:"synth_sharp_As1",size:16204,start:16552,end:32756},{name:"synth_sharp_E2",size:17735,start:32756,end:50491},{name:"synth_sharp_As2",size:17379,start:50491,end:67870},{name:"synth_sharp_E3",size:16141,start:67870,end:84011},{name:"synth_sharp_As3",size:15474,start:84011,end:99485},{name:"synth_sharp_E4",size:14232,start:99485,end:113717},{name:"synth_sharp_As4",size:14290,start:113717,end:128007},{name:"synth_sharp_E5",size:13392,start:128007,end:141399},{name:"synth_sharp_As5",size:13694,start:141399,end:155093}]}]},{instanceId:"load_synth_plucked",returnEvent:"",files:[{id:"file",name:"synth_plucked_E0"},{id:"file",name:"synth_plucked_As0"},{id:"file",name:"synth_plucked_E1"},{id:"file",name:"synth_plucked_As1"},{id:"file",name:"synth_plucked_E2"},{id:"file",name:"synth_plucked_As2"},{id:"file",name:"synth_plucked_E3"},{id:"file",name:"synth_plucked_As3"},{id:"file",name:"synth_plucked_E4"},{id:"file",name:"synth_plucked_As4"},{id:"file",name:"synth_plucked_E5"},{id:"file",name:"synth_plucked_As5"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_synth_plucked.ogg.bin",files:[{name:"synth_plucked_E0",size:7081,start:0,end:7081},{name:"synth_plucked_As0",size:7080,start:7081,end:14161},{name:"synth_plucked_E1",size:7030,start:14161,end:21191},{name:"synth_plucked_As1",size:7184,start:21191,end:28375},{name:"synth_plucked_E2",size:7124,start:28375,end:35499},{name:"synth_plucked_As2",size:7360,start:35499,end:42859},{name:"synth_plucked_E3",size:7329,start:42859,end:50188},{name:"synth_plucked_As3",size:7552,start:50188,end:57740},{name:"synth_plucked_E4",size:7771,start:57740,end:65511},{name:"synth_plucked_As4",size:7841,start:65511,end:73352},{name:"synth_plucked_E5",size:7880,start:73352,end:81232},{name:"synth_plucked_As5",size:8117,start:81232,end:89349}]},{format:".aac",path:"bin/load_synth_plucked.aac.bin",files:[{name:"synth_plucked_E0",size:3355,start:0,end:3355},{name:"synth_plucked_As0",size:3199,start:3355,end:6554},{name:"synth_plucked_E1",size:3389,start:6554,end:9943},{name:"synth_plucked_As1",size:3314,start:9943,end:13257},{name:"synth_plucked_E2",size:3178,start:13257,end:16435},{name:"synth_plucked_As2",size:3212,start:16435,end:19647},{name:"synth_plucked_E3",size:3329,start:19647,end:22976},{name:"synth_plucked_As3",size:3225,start:22976,end:26201},{name:"synth_plucked_E4",size:3399,start:26201,end:29600},{name:"synth_plucked_As4",size:3310,start:29600,end:32910},{name:"synth_plucked_E5",size:3213,start:32910,end:36123},{name:"synth_plucked_As5",size:3129,start:36123,end:39252}]}]},{instanceId:"load_strings",returnEvent:"",files:[{id:"file",name:"strings_E0"},{id:"file",name:"strings_As0"},{id:"file",name:"strings_E1"},{id:"file",name:"strings_As1"},{id:"file",name:"strings_E2"},{id:"file",name:"strings_As2"},{id:"file",name:"strings_E3"},{id:"file",name:"strings_As3"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_strings.ogg.bin",files:[{name:"strings_E0",size:54462,start:0,end:54462},{name:"strings_As0",size:54516,start:54462,end:108978},{name:"strings_E1",size:54464,start:108978,end:163442},{name:"strings_As1",size:54462,start:163442,end:217904},{name:"strings_E2",size:54404,start:217904,end:272308},{name:"strings_As2",size:54209,start:272308,end:326517},{name:"strings_E3",size:54261,start:326517,end:380778},{name:"strings_As3",size:54078,start:380778,end:434856}]},{format:".aac",path:"bin/load_strings.aac.bin",files:[{name:"strings_E0",size:54772,start:0,end:54772},{name:"strings_As0",size:51908,start:54772,end:106680},{name:"strings_E1",size:49643,start:106680,end:156323},{name:"strings_As1",size:52013,start:156323,end:208336},{name:"strings_E2",size:52380,start:208336,end:260716},{name:"strings_As2",size:50902,start:260716,end:311618},{name:"strings_E3",size:53754,start:311618,end:365372},{name:"strings_As3",size:54469,start:365372,end:419841}]}]},{instanceId:"load_synth_comp",returnEvent:"",files:[{id:"file",name:"synth_comp_E0"},{id:"file",name:"synth_comp_As0"},{id:"file",name:"synth_comp_E1"},{id:"file",name:"synth_comp_As1"},{id:"file",name:"synth_comp_E2"},{id:"file",name:"synth_comp_As2"},{id:"file",name:"synth_comp_E3"},{id:"file",name:"synth_comp_As3"},{id:"file",name:"synth_comp_E4"},{id:"file",name:"synth_comp_As4"},{id:"file",name:"synth_comp_E5"},{id:"file",name:"synth_comp_As5"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_synth_comp.ogg.bin",files:[{name:"synth_comp_E0",size:5699,start:0,end:5699},{name:"synth_comp_As0",size:5728,start:5699,end:11427},{name:"synth_comp_E1",size:5660,start:11427,end:17087},{name:"synth_comp_As1",size:5625,start:17087,end:22712},{name:"synth_comp_E2",size:5650,start:22712,end:28362},{name:"synth_comp_As2",size:5565,start:28362,end:33927},{name:"synth_comp_E3",size:5610,start:33927,end:39537},{name:"synth_comp_As3",size:5642,start:39537,end:45179},{name:"synth_comp_E4",size:5625,start:45179,end:50804},{name:"synth_comp_As4",size:5595,start:50804,end:56399},{name:"synth_comp_E5",size:5539,start:56399,end:61938},{name:"synth_comp_As5",size:5552,start:61938,end:67490}]},{format:".aac",path:"bin/load_synth_comp.aac.bin",files:[{name:"synth_comp_E0",size:1757,start:0,end:1757},{name:"synth_comp_As0",size:1822,start:1757,end:3579},{name:"synth_comp_E1",size:1621,start:3579,end:5200},{name:"synth_comp_As1",size:1541,start:5200,end:6741},{name:"synth_comp_E2",size:1504,start:6741,end:8245},{name:"synth_comp_As2",size:1591,start:8245,end:9836},{name:"synth_comp_E3",size:1550,start:9836,end:11386},{name:"synth_comp_As3",size:1660,start:11386,end:13046},{name:"synth_comp_E4",size:1623,start:13046,end:14669},{name:"synth_comp_As4",size:1728,start:14669,end:16397},{name:"synth_comp_E5",size:1754,start:16397,end:18151},{name:"synth_comp_As5",size:1738,start:18151,end:19889}]}]},{instanceId:"load_synth_pop",returnEvent:"",files:[{id:"file",name:"synth_pop_E0"},{id:"file",name:"synth_pop_As0"},{id:"file",name:"synth_pop_E1"},{id:"file",name:"synth_pop_As1"},{id:"file",name:"synth_pop_E2"},{id:"file",name:"synth_pop_As2"},{id:"file",name:"synth_pop_E3"},{id:"file",name:"synth_pop_As3"},{id:"file",name:"synth_pop_E4"},{id:"file",name:"synth_pop_As4"},{id:"file",name:"synth_pop_E5"},{id:"file",name:"synth_pop_As5"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_synth_pop.ogg.bin",files:[{name:"synth_pop_E0",size:5691,start:0,end:5691},{name:"synth_pop_As0",size:5650,start:5691,end:11341},{name:"synth_pop_E1",size:5636,start:11341,end:16977},{name:"synth_pop_As1",size:5659,start:16977,end:22636},{name:"synth_pop_E2",size:5665,start:22636,end:28301},{name:"synth_pop_As2",size:5610,start:28301,end:33911},{name:"synth_pop_E3",size:5597,start:33911,end:39508},{name:"synth_pop_As3",size:5535,start:39508,end:45043},{name:"synth_pop_E4",size:5623,start:45043,end:50666},{name:"synth_pop_As4",size:5597,start:50666,end:56263},{name:"synth_pop_E5",size:5573,start:56263,end:61836},{name:"synth_pop_As5",size:5602,start:61836,end:67438}]},{format:".aac",path:"bin/load_synth_pop.aac.bin",files:[{name:"synth_pop_E0",size:1751,start:0,end:1751},{name:"synth_pop_As0",size:1697,start:1751,end:3448},{name:"synth_pop_E1",size:1859,start:3448,end:5307},{name:"synth_pop_As1",size:1729,start:5307,end:7036},{name:"synth_pop_E2",size:1728,start:7036,end:8764},{name:"synth_pop_As2",size:1698,start:8764,end:10462},{name:"synth_pop_E3",size:1584,start:10462,end:12046},{name:"synth_pop_As3",size:1526,start:12046,end:13572},{name:"synth_pop_E4",size:1585,start:13572,end:15157},{name:"synth_pop_As4",size:1619,start:15157,end:16776},{name:"synth_pop_E5",size:1665,start:16776,end:18441},{name:"synth_pop_As5",size:1505,start:18441,end:19946}]}]},{instanceId:"load_synth_perc",returnEvent:"",files:[{id:"file",name:"synth_perc_E0"},{id:"file",name:"synth_perc_As0"},{id:"file",name:"synth_perc_E1"},{id:"file",name:"synth_perc_As1"},{id:"file",name:"synth_perc_E2"},{id:"file",name:"synth_perc_As2"},{id:"file",name:"synth_perc_E3"},{id:"file",name:"synth_perc_As3"},{id:"file",name:"synth_perc_E4"},{id:"file",name:"synth_perc_As4"},{id:"file",name:"synth_perc_E5"},{id:"file",name:"synth_perc_As5"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_synth_perc.ogg.bin",files:[{name:"synth_perc_E0",size:5778,start:0,end:5778},{name:"synth_perc_As0",size:5863,start:5778,end:11641},{name:"synth_perc_E1",size:5840,start:11641,end:17481},{name:"synth_perc_As1",size:5772,start:17481,end:23253},{name:"synth_perc_E2",size:5798,start:23253,end:29051},{name:"synth_perc_As2",size:5845,start:29051,end:34896},{name:"synth_perc_E3",size:5839,start:34896,end:40735},{name:"synth_perc_As3",size:5741,start:40735,end:46476},{name:"synth_perc_E4",size:5821,start:46476,end:52297},{name:"synth_perc_As4",size:5768,start:52297,end:58065},{name:"synth_perc_E5",size:5823,start:58065,end:63888},{name:"synth_perc_As5",size:5693,start:63888,end:69581}]},{format:".aac",path:"bin/load_synth_perc.aac.bin",files:[{name:"synth_perc_E0",size:1655,start:0,end:1655},{name:"synth_perc_As0",size:1663,start:1655,end:3318},{name:"synth_perc_E1",size:1666,start:3318,end:4984},{name:"synth_perc_As1",size:1724,start:4984,end:6708},{name:"synth_perc_E2",size:1614,start:6708,end:8322},{name:"synth_perc_As2",size:1594,start:8322,end:9916},{name:"synth_perc_E3",size:1618,start:9916,end:11534},{name:"synth_perc_As3",size:1624,start:11534,end:13158},{name:"synth_perc_E4",size:1669,start:13158,end:14827},{name:"synth_perc_As4",size:1670,start:14827,end:16497},{name:"synth_perc_E5",size:1649,start:16497,end:18146},{name:"synth_perc_As5",size:1588,start:18146,end:19734}]}]},{instanceId:"load_kraftwerk",returnEvent:"",files:[{id:"file",name:"kick"},{id:"file",name:"snare"},{id:"file",name:"hit"},{id:"file",name:"hihat"},{id:"file",name:"tapp_l"},{id:"file",name:"tapp_r"},{id:"file",name:"battery_1"},{id:"file",name:"battery_2"},{id:"file",name:"battery_3"},{id:"file",name:"battery_4"},{id:"file",name:"battery_5"},{id:"file",name:"battery_6"},{id:"file",name:"battery_7"},{id:"file",name:"battery_8"},{id:"file",name:"battery_9"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_kraftwerk.ogg.bin",files:[{name:"kick",size:5095,start:0,end:5095},{name:"snare",size:10017,start:5095,end:15112},{name:"hit",size:7920,start:15112,end:23032},{name:"hihat",size:6673,start:23032,end:29705},{name:"tapp_l",size:10737,start:29705,end:40442},{name:"tapp_r",size:10799,start:40442,end:51241},{name:"battery_1",size:6902,start:51241,end:58143},{name:"battery_2",size:6919,start:58143,end:65062},{name:"battery_3",size:6873,start:65062,end:71935},{name:"battery_4",size:6804,start:71935,end:78739},{name:"battery_5",size:6596,start:78739,end:85335},{name:"battery_6",size:6913,start:85335,end:92248},{name:"battery_7",size:7071,start:92248,end:99319},{name:"battery_8",size:6502,start:99319,end:105821},{name:"battery_9",size:6778,start:105821,end:112599}]},{format:".aac",path:"bin/load_kraftwerk.aac.bin",files:[{name:"kick",size:1714,start:0,end:1714},{name:"snare",size:4730,start:1714,end:6444},{name:"hit",size:3003,start:6444,end:9447},{name:"hihat",size:2780,start:9447,end:12227},{name:"tapp_l",size:7511,start:12227,end:19738},{name:"tapp_r",size:7431,start:19738,end:27169},{name:"battery_1",size:2834,start:27169,end:30003},{name:"battery_2",size:3303,start:30003,end:33306},{name:"battery_3",size:3329,start:33306,end:36635},{name:"battery_4",size:2311,start:36635,end:38946},{name:"battery_5",size:2234,start:38946,end:41180},{name:"battery_6",size:2420,start:41180,end:43600},{name:"battery_7",size:3959,start:43600,end:47559},{name:"battery_8",size:3151,start:47559,end:50710},{name:"battery_9",size:2617,start:50710,end:53327}]}]},{instanceId:"load_stab",returnEvent:"",files:[{id:"file",name:"stab_E0"},{id:"file",name:"stab_As0"},{id:"file",name:"stab_E1"},{id:"file",name:"stab_As1"},{id:"file",name:"stab_E2"},{id:"file",name:"stab_As2"},{id:"file",name:"stab_E3"},{id:"file",name:"stab_As3"},{id:"file",name:"stab_E4"},{id:"file",name:"stab_As4"},{id:"file",name:"stab_E5"},{id:"file",name:"stab_As5"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_stab.ogg.bin",files:[{name:"stab_E0",size:6888,start:0,end:6888},{name:"stab_As0",size:6984,start:6888,end:13872},{name:"stab_E1",size:7015,start:13872,end:20887},{name:"stab_As1",size:7027,start:20887,end:27914},{name:"stab_E2",size:6929,start:27914,end:34843},{name:"stab_As2",size:7015,start:34843,end:41858},{name:"stab_E3",size:7010,start:41858,end:48868},{name:"stab_As3",size:6952,start:48868,end:55820},{name:"stab_E4",size:6935,start:55820,end:62755},{name:"stab_As4",size:6875,start:62755,end:69630},{name:"stab_E5",size:6914,start:69630,end:76544},{name:"stab_As5",size:6905,start:76544,end:83449}]},{format:".aac",path:"bin/load_stab.aac.bin",files:[{name:"stab_E0",size:3580,start:0,end:3580},{name:"stab_As0",size:3622,start:3580,end:7202},{name:"stab_E1",size:3512,start:7202,end:10714},{name:"stab_As1",size:3632,start:10714,end:14346},{name:"stab_E2",size:3420,start:14346,end:17766},{name:"stab_As2",size:3443,start:17766,end:21209},{name:"stab_E3",size:3485,start:21209,end:24694},{name:"stab_As3",size:3360,start:24694,end:28054},{name:"stab_E4",size:3271,start:28054,end:31325},{name:"stab_As4",size:3490,start:31325,end:34815},{name:"stab_E5",size:3309,start:34815,end:38124},{name:"stab_As5",size:3239,start:38124,end:41363}]}]},{instanceId:"load_bass",returnEvent:"",files:[{id:"file",name:"bass_E0"},{id:"file",name:"bass_As0"},{id:"file",name:"bass_E1"},{id:"file",name:"bass_As1"},{id:"file",name:"bass_E2"},{id:"file",name:"bass_As2"},{id:"file",name:"bass_E3"},{id:"file",name:"bass_As3"},{id:"file",name:"bass_E4"},{id:"file",name:"bass_As4"},{id:"file",name:"bass_E5"},{id:"file",name:"bass_As5"}],type:"assetController",id:"loadBin",triggers:["preload_assets"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_bass.ogg.bin",files:[{name:"bass_E0",size:8534,start:0,end:8534},{name:"bass_As0",size:8560,start:8534,end:17094},{name:"bass_E1",size:8561,start:17094,end:25655},{name:"bass_As1",size:8403,start:25655,end:34058},{name:"bass_E2",size:8466,start:34058,end:42524},{name:"bass_As2",size:8586,start:42524,end:51110},{name:"bass_E3",size:8559,start:51110,end:59669},{name:"bass_As3",size:8594,start:59669,end:68263},{name:"bass_E4",size:8570,start:68263,end:76833},{name:"bass_As4",size:8581,start:76833,end:85414},{name:"bass_E5",size:8512,start:85414,end:93926},{name:"bass_As5",size:8543,start:93926,end:102469}]},{format:".aac",path:"bin/load_bass.aac.bin",files:[{name:"bass_E0",size:4943,start:0,end:4943},{name:"bass_As0",size:4655,start:4943,end:9598},{name:"bass_E1",size:4816,start:9598,end:14414},{name:"bass_As1",size:4499,start:14414,end:18913},{name:"bass_E2",size:4684,start:18913,end:23597},{name:"bass_As2",size:4476,start:23597,end:28073},{name:"bass_E3",size:5013,start:28073,end:33086},{name:"bass_As3",size:4557,start:33086,end:37643},{name:"bass_E4",size:4499,start:37643,end:42142},{name:"bass_As4",size:4302,start:42142,end:46444},{name:"bass_E5",size:4202,start:46444,end:50646},{name:"bass_As5",size:4376,start:50646,end:55022}]}]},{instanceId:"load_bass_comp",returnEvent:"",files:[{id:"file",name:"bass_comp_E-1"},{id:"file",name:"bass_comp_As-1"},{id:"file",name:"bass_comp_E0"},{id:"file",name:"bass_comp_As0"},{id:"file",name:"bass_comp_E1"},{id:"file",name:"bass_comp_As1"},{id:"file",name:"bass_comp_E2"},{id:"file",name:"bass_comp_As2"},{id:"file",name:"bass_comp_E3"},{id:"file",name:"bass_comp_As3"},{id:"file",name:"bass_comp_E4"},{id:"file",name:"bass_comp_As4"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_bass_comp.ogg.bin",files:[{name:"bass_comp_E-1",size:24459,start:0,end:24459},{name:"bass_comp_As-1",size:24508,start:24459,end:48967},{name:"bass_comp_E0",size:24460,start:48967,end:73427},{name:"bass_comp_As0",size:24472,start:73427,end:97899},{name:"bass_comp_E1",size:24563,start:97899,end:122462},{name:"bass_comp_As1",size:24573,start:122462,end:147035},{name:"bass_comp_E2",size:24746,start:147035,end:171781},{name:"bass_comp_As2",size:25158,start:171781,end:196939},{name:"bass_comp_E3",size:24638,start:196939,end:221577},{name:"bass_comp_As3",size:24661,start:221577,end:246238},{name:"bass_comp_E4",size:25434,start:246238,end:271672},{name:"bass_comp_As4",size:24757,start:271672,end:296429}]},{format:".aac",path:"bin/load_bass_comp.aac.bin",files:[{name:"bass_comp_E-1",size:20407,start:0,end:20407},{name:"bass_comp_As-1",size:20685,start:20407,end:41092},{name:"bass_comp_E0",size:20274,start:41092,end:61366},{name:"bass_comp_As0",size:20326,start:61366,end:81692},{name:"bass_comp_E1",size:20284,start:81692,end:101976},{name:"bass_comp_As1",size:19401,start:101976,end:121377},{name:"bass_comp_E2",size:18975,start:121377,end:140352},{name:"bass_comp_As2",size:17635,start:140352,end:157987},{name:"bass_comp_E3",size:17315,start:157987,end:175302},{name:"bass_comp_As3",size:17032,start:175302,end:192334},{name:"bass_comp_E4",size:16725,start:192334,end:209059},{name:"bass_comp_As4",size:16193,start:209059,end:225252}]}]},{instanceId:"load_fx",returnEvent:"",files:[{id:"file",name:"click_1"},{id:"file",name:"click_2"},{id:"file",name:"swish_fast_1"},{id:"file",name:"swish_fast_2"},{id:"file",name:"swish_fast_3"},{id:"file",name:"swish_medium_1"},{id:"file",name:"item_up_E3"},{id:"file",name:"paddlefx_E0"},{id:"file",name:"paddlefx_G0"},{id:"file",name:"paddlefx_B0"},{id:"file",name:"paddlefx_E1"},{id:"file",name:"paddlefx_G1"},{id:"file",name:"paddlefx_B1"},{id:"file",name:"paddlefx_E2"},{id:"file",name:"paddlefx_G2"},{id:"file",name:"paddlefx_B2"},{id:"file",name:"paddlefx_E3"},{id:"file",name:"paddlefx_G3"},{id:"file",name:"paddlefx_B3"},{id:"file",name:"item_activate_E1"},{id:"file",name:"item_activate_B1"},{id:"file",name:"item_activate_E2"},{id:"file",name:"shield_hit_E3"},{id:"file",name:"shield_hit_B3"},{id:"file",name:"shield_hit_E4"},{id:"file",name:"shield_hit_B4"},{id:"file",name:"loose_round_buzz"},{id:"file",name:"win_round_buzz"},{id:"file",name:"timebomb_explosion"},{id:"file",name:"force_field_4453"},{id:"file",name:"bulletproof_shield"},{id:"file",name:"shield_up"}],type:"assetController",id:"loadBin",triggers:["dmaf_ready"],delay:0,multi:!1,formats:[".ogg",".aac"],headers:[{format:".ogg",path:"bin/load_fx.ogg.bin",files:[{name:"click_1",size:4455,start:0,end:4455},{name:"click_2",size:4988,start:4455,end:9443},{name:"swish_fast_1",size:6549,start:9443,end:15992},{name:"swish_fast_2",size:7755,start:15992,end:23747},{name:"swish_fast_3",size:7207,start:23747,end:30954},{name:"swish_medium_1",size:6614,start:30954,end:37568},{name:"item_up_E3",size:7820,start:37568,end:45388},{name:"paddlefx_E0",size:5063,start:45388,end:50451},{name:"paddlefx_G0",size:5033,start:50451,end:55484},{name:"paddlefx_B0",size:5044,start:55484,end:60528},{name:"paddlefx_E1",size:4991,start:60528,end:65519},{name:"paddlefx_G1",size:4981,start:65519,end:70500},{name:"paddlefx_B1",size:4979,start:70500,end:75479},{name:"paddlefx_E2",size:4994,start:75479,end:80473},{name:"paddlefx_G2",size:4982,start:80473,end:85455},{name:"paddlefx_B2",size:5021,start:85455,end:90476},{name:"paddlefx_E3",size:5010,start:90476,end:95486},{name:"paddlefx_G3",size:5008,start:95486,end:100494},{name:"paddlefx_B3",size:5032,start:100494,end:105526},{name:"item_activate_E1",size:7415,start:105526,end:112941},{name:"item_activate_B1",size:7426,start:112941,end:120367},{name:"item_activate_E2",size:7461,start:120367,end:127828},{name:"shield_hit_E3",size:6592,start:127828,end:134420},{name:"shield_hit_B3",size:6673,start:134420,end:141093},{name:"shield_hit_E4",size:6806,start:141093,end:147899},{name:"shield_hit_B4",size:6946,start:147899,end:154845},{name:"loose_round_buzz",size:13918,start:154845,end:168763},{name:"win_round_buzz",size:17676,start:168763,end:186439},{name:"timebomb_explosion",size:10523,start:186439,end:196962},{name:"force_field_4453",size:53586,start:196962,end:250548},{name:"bulletproof_shield",size:9221,start:250548,end:259769},{name:"shield_up",size:9759,start:259769,end:269528}]},{format:".aac",path:"bin/load_fx.aac.bin",files:[{name:"click_1",size:611,start:0,end:611},{name:"click_2",size:1599,start:611,end:2210},{name:"swish_fast_1",size:2327,start:2210,end:4537},{name:"swish_fast_2",size:3181,start:4537,end:7718},{name:"swish_fast_3",size:2732,start:7718,end:10450},{name:"swish_medium_1",size:3078,start:10450,end:13528},{name:"item_up_E3",size:3276,start:13528,end:16804},{name:"paddlefx_E0",size:1180,start:16804,end:17984},{name:"paddlefx_G0",size:1175,start:17984,end:19159},{name:"paddlefx_B0",size:1170,start:19159,end:20329},{name:"paddlefx_E1",size:1176,start:20329,end:21505},{name:"paddlefx_G1",size:1143,start:21505,end:22648},{name:"paddlefx_B1",size:1131,start:22648,end:23779},{name:"paddlefx_E2",size:1161,start:23779,end:24940},{name:"paddlefx_G2",size:1141,start:24940,end:26081},{name:"paddlefx_B2",size:1123,start:26081,end:27204},{name:"paddlefx_E3",size:1172,start:27204,end:28376},{name:"paddlefx_G3",size:1218,start:28376,end:29594},{name:"paddlefx_B3",size:1233,start:29594,end:30827},{name:"item_activate_E1",size:2859,start:30827,end:33686},{name:"item_activate_B1",size:2807,start:33686,end:36493},{name:"item_activate_E2",size:2865,start:36493,end:39358},{name:"shield_hit_E3",size:3037,start:39358,end:42395},{name:"shield_hit_B3",size:2991,start:42395,end:45386},{name:"shield_hit_E4",size:3068,start:45386,end:48454},{name:"shield_hit_B4",size:2908,start:48454,end:51362},{name:"loose_round_buzz",size:9314,start:51362,end:60676},{name:"win_round_buzz",size:11718,start:60676,end:72394},{name:"timebomb_explosion",size:5262,start:72394,end:77656},{name:"force_field_4453",size:43152,start:77656,end:120808},{name:"bulletproof_shield",size:4254,start:120808,end:125062},{name:"shield_up",size:4831,start:125062,end:129893}]}]},{instanceId:"load_sampleMaps",returnEvent:"",files:[{id:"file",name:"samplemaps"}],type:"assetController",id:"loadSampleMap",triggers:["preload_assets"],delay:0,multi:!1},{instanceId:"midiLoader",returnEvent:"",files:[{id:"file",type:"beatPattern",name:"music"},{id:"file",type:"timePattern",name:"fx"}],type:"assetController",id:"loadMIDI",triggers:["preload_assets"],delay:0,multi:!1},{instanceId:"master_bus",out:["master"],volume:-2,pan:0,audioNodes:[{id:"compressor",active:!0,threshold:-3,makeupGain:0,attack:0,release:0,ratio:20,knee:0,automakeup:!1}],type:"audioRouter",id:"audioBus",triggers:["init_routing"],delay:0,multi:!1},{instanceId:"active_bus",out:["master_bus"],volume:0,pan:0,audioNodes:[],type:"audioRouter",id:"audioBus",triggers:["init_routing"],delay:0,multi:!1},{instanceId:"two_player_bus",out:["active_bus"],volume:0,pan:0,audioNodes:[],type:"audioRouter",id:"audioBus",triggers:["init_routing"],delay:0,multi:!1},{instanceId:"pause_bus",out:["two_player_bus"],volume:0,pan:0,audioNodes:[],type:"audioRouter",id:"audioBus",triggers:["init_routing"],delay:0,multi:!1},{instanceId:"master_mute",targetType:"audioRouter",targets:["master_bus"],targetParameter:"volume",value:-80,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["sound_off"],multi:!1},{instanceId:"master_unmute",targetType:"audioRouter",targets:["master_bus"],targetParameter:"volume",value:0,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["sound_on"],multi:!1},{instanceId:"active_mute",targetType:"audioRouter",targets:["active_bus"],targetParameter:"volume",value:-80,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["inactive"],multi:!1},{instanceId:"active_unmute",targetType:"audioRouter",targets:["active_bus"],targetParameter:"volume",value:0,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["active"],multi:!1},{instanceId:"pause_mute",targetType:"audioRouter",targets:["two_player_bus"],targetParameter:"volume",value:-10,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["microphone_on"],multi:!1},{instanceId:"pause_unmute",targetType:"audioRouter",targets:["two_player_bus"],targetParameter:"volume",value:0,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["microphone_off"],multi:!1},{instanceId:"pause_mute",targetType:"audioRouter",targets:["pause_bus"],targetParameter:"volume",value:-80,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["pause"],multi:!1},{instanceId:"pause_unmute",targetType:"audioRouter",targets:["pause_bus"],targetParameter:"volume",value:0,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["unpause"],multi:!1},{instanceId:"CheckMobile",type:"customCode",id:"customCode",triggers:["init_routing","splash_screen","info_screen"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"start",tempo:126,beatsPerBar:16}],type:"player",id:"beatPatternPlayer",triggers:["init_beatpatternplayer"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["splash_bass_filter"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["splash_bass"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["splash_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["splash_stab"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["splash_strings"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["splash_synth_comp"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["splash_synth_perc"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["splash_synth_pop"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"}],type:"player",id:"beatPatternPlayer",triggers:["splash_screen_music"],delay:0,multi:!1},{instanceId:"gameover_music_delayed",reTrig:0,eventMaps:[{id:"eventMap","in":["gameover_screen"],out:"gameover_screen_delayed",delay:400}],type:"eventProcessor",id:"eventMapper",clearPending:!1,dispatch:"ALWAYS",triggers:["gameover_screen"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"start",tempo:126,beatsPerBar:16},{id:"add",patternId:["game_over_bass"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_bass_comp"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_bass_filter"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_lead_a"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_lead_b"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_stab"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_strings"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_synth_comp"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_synth_perc"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["game_over_synth_pop"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"}],type:"player",id:"beatPatternPlayer",triggers:["gameover_screen_delayed"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"start",tempo:126,beatsPerBar:16},{id:"add",patternId:["info_bass_filter"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["info_stab"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"},{id:"add",patternId:["info_synth_pop"],channel:"main",songPosition:"NEXT_BAR",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BAR"}],type:"player",id:"beatPatternPlayer",triggers:["info_screen_music"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["level_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_synth_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["paddle_dizzy","fireball_over","fog_over","multiball_over","deathball_over","mirroredcontrols_over","timebomb_over","ghostball_over"],delay:0,multi:!1},{instanceId:"handle_long",reTrig:100,eventMaps:[{id:"eventMap","in":["countdown_init"],out:"countdown_long_start",delay:500},{id:"eventMap","in":["countdown_init"],out:"stop_immediate",delay:0}],type:"eventProcessor",id:"eventMapper",clearPending:!1,dispatch:"ALWAYS",triggers:["countdown_init"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"stop",songPosition:"ASAP"}],type:"player",id:"beatPatternPlayer",triggers:["stop_immediate"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"start",tempo:126,beatsPerBar:16},{id:"add",patternId:["countlong_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countlong_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countlong_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countlong_synth_plucked"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countlong_synth_sharp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"beatEvent",songPosition:"NEXT_BEAT+1.6",returnEvent:"gameplay_init"}],type:"player",id:"beatPatternPlayer",triggers:["countdown_long_start"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["level_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_synth_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["level_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["gameplay_init"],delay:0,multi:!1},{instanceId:"handle_short",reTrig:0,eventMaps:[{id:"eventMap","in":["countdown_short"],out:"countdown_short_start",delay:600},{id:"eventMap","in":["countdown_short"],out:"gameplay_init",delay:3450}],type:"eventProcessor",id:"eventMapper",clearPending:!1,dispatch:"ALWAYS",triggers:["countdown_short"],delay:0,multi:!1},{instanceId:"delay",reTrig:100,eventMaps:[{id:"eventMap","in":["user_won_round"],out:"round_end_stop_music",delay:0},{id:"eventMap","in":["user_lost_round"],out:"round_end_stop_music",delay:0},{id:"eventMap","in":["user_won_match"],out:"round_end_stop_music",delay:0},{id:"eventMap","in":["user_lost_match"],out:"round_end_stop_music",delay:0}],type:"eventProcessor",id:"eventMapper",clearPending:!1,dispatch:"ALWAYS",triggers:["user_lost_match","user_won_round","user_lost_round","user_won_match"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"stop",songPosition:"ASAP"}],type:"player",id:"beatPatternPlayer",triggers:["round_end_stop_music"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"start",tempo:126,beatsPerBar:16},{id:"add",patternId:["countshort_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countshort_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countshort_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countshort_synth_plucked"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["countshort_synth_sharp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"FIRST_BEAT",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["countdown_short_start"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["fog_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_synth_funk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_synth_sharp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fog_synth_warm"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["fog_activate"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["mirrored_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_lead_a"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_lead_b"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_synth_funk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_synth_plucked"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["mirrored_synth_sharp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["mirroredcontrols_activate"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["multi_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_synth_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_synth_funk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_synth_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_synth_plucked"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_synth_sharp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["multi_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["multiball_activate"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["ghost_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_synth_funk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_synth_warm"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["ghost_strings"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["ghostball_activate"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["time_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_stab"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_synth_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_synth_plucked"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_synth_sharp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["time_synth_warm"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["timebomb_activate"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["death_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_lead_a"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_synth_plucked"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_lead_b"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["death_synth_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["deathball_activate"],delay:0,multi:!1},{instanceId:"main",flowItems:[{id:"add",patternId:["fire_bass_filter"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_bass_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_bass"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_synth_comp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_synth_funk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_synth_perc"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_synth_plucked"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_synth_pop"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_synth_sharp"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_synth_warm"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"},{id:"add",patternId:["fire_dm_kraftwerk"],channel:"main",songPosition:"NEXT_BEAT",patternPosition:"SYNC",clearPending:!1,replaceActive:!1,setAsCurrent:!1,loop:!0,loopLength:128,clearPosition:"NEXT_BEAT"}],type:"player",id:"beatPatternPlayer",triggers:["fireball_activate"],delay:0,multi:!1},{instanceId:"transpose_mapper",reTrig:100,eventMaps:[{id:"eventMap","in":["user_won_round"],out:"transpose_midi",delay:2e3},{id:"eventMap","in":["user_lost_round"],out:"transpose_midi",delay:2e3},{id:"eventMap","in":["user_lost_match"],out:"transpose_midi",delay:399},{id:"eventMap","in":["user_lost_match"],out:"transpose_midi_reset",delay:400},{id:"eventMap","in":["countdown_init"],out:"transpose_midi_reset",delay:0}],type:"eventProcessor",id:"eventMapper",clearPending:!1,dispatch:"ALWAYS",triggers:["gameover_screen","user_won_round","user_lost_round","countdown_init","user_lost_match"],delay:0,multi:!1},{instanceId:"LevelTransposer",type:"customCode",id:"customCode",triggers:["init_routing","transpose_midi","transpose_midi_reset"],delay:0,multi:!1},{instanceId:"midi_transposer",_dynamicValues:[{key:"transpose",string:"customCode:LevelTransposer:transposeValue"}],transpose:0,dynamic:0,quantize:"",scale:"off",root:"",customScale:"",type:"midiProcessor",id:"midiProcessor",onChange:!1,triggers:["item_activate","shield_up","item_up","paddle_fx","shield_hit","bass_filter","lead_a","lead_b","strings","synth_funk","synth_plucked","synth_sharp","synth_warm","bass","bass_comp","stab","synth_comp","synth_perc","synth_pop"],delay:0,multi:!1},{instanceId:"delay_effect_sounds",reTrig:0,eventMaps:[{id:"eventMap","in":["pause"],out:"pause_delayed",delay:400},{id:"eventMap","in":["unpause"],out:"unpause_delayed",delay:40},{id:"eventMap","in":["info_screen"],out:"info_screen_delayed",delay:400},{id:"eventMap","in":["gameover_sign_in"],out:"gameover_sign_in_delayed",delay:400}],type:"eventProcessor",id:"eventMapper",clearPending:!1,dispatch:"ALWAYS",triggers:["pause","info_screen","unpause"],delay:0,multi:!1},{delay:0,instanceId:"win_round_buzz",soundFile:"win_round_buzz",volume:0,loop:-1,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["user_won_round"],multi:!1},{delay:0,instanceId:"loose_round_buzz",soundFile:"loose_round_buzz",volume:0,loop:-1,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["user_lost_round","user_lost_match"],multi:!1},{delay:0,instanceId:"swish_small",soundFiles:["swish_fast_1","swish_fast_2","swish_fast_3"],generator:"ROUND_ROBIN",volume:0,reTrig:-1,returnEvent:"",returnEventTime:0,bus:"my_bus",timingCorrection:"PLAY",type:"sound",id:"stepPlay",pan:0,preListen:0,priority:!1,fadeIn:0,triggers:["friend_accept","info_screen_delayed","friend_screen","friend_arrived","friend_waiting","gameover_sign_in_delayed","gameover_sign_out","unpause_delayed","pause_delayed"],multi:!1},{delay:0,instanceId:"swish_medium",soundFile:"swish_medium_1",volume:0,loop:-1,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["friend_accept_out","info_screen_out","friend_screen_out","friend_waiting_out","friend_left"],multi:!1},{delay:0,instanceId:"click_1",soundFile:"click_1",volume:-2,loop:-1,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["button_down"],multi:!1},{delay:0,instanceId:"click_2",soundFile:"click_2",volume:0,loop:-1,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["share_click","text_button_down","small_button_down"],multi:!1},{delay:0,instanceId:"bulletproof_activate",soundFile:"bulletproof_shield",volume:0,loop:-1,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["bulletproof_activate"],multi:!1},{delay:0,instanceId:"timebomb_over",soundFile:"timebomb_explosion",volume:5,loop:-1,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["timebomb_over","paddle_dizzy"],multi:!1},{delay:0,instanceId:"force_field",soundFile:"force_field_4453",volume:5,loop:4453,reTrig:-1,returnEvent:"",returnEventTime:0,preListen:0,bus:"pause_bus",timingCorrection:"PLAY",type:"sound",id:"genericPlay",multiSuffix:"",pan:0,priority:!1,fadeIn:0,triggers:["force_show"],multi:!1},{delay:0,targets:["force_field"],type:"sound",id:"soundStop",instanceId:"",multiSuffix:"",fadeOut:0,triggers:["force_hide","user_won_round","user_lost_round","user_won_match","user_lost_match"],multi:!1},{instanceId:"extras_timpattern_mapper",reTrig:0,eventMaps:[{id:"eventMap","in":["extralife_activate"],out:"extralife_activate_paddle_fx.START",delay:0},{id:"eventMap","in":["extralife_activate"],out:"extralife_activate_bass_comp.START",delay:0},{id:"eventMap","in":["opponent_paddle_grow"],out:"grow_bass_comp.START",delay:0},{id:"eventMap","in":["opponent_paddle_grow"],out:"grow_paddle_fx.START",delay:0},{id:"eventMap","in":["opponent_paddle_shrink"],out:"shrink_bass_comp.START",delay:0},{id:"eventMap","in":["opponent_paddle_shrink"],out:"shrink_paddle_fx.START",delay:0},{id:"eventMap","in":["user_paddle_grow"],out:"grow_bass_comp.START",delay:0},{id:"eventMap","in":["user_paddle_grow"],out:"grow_paddle_fx.START",delay:0},{id:"eventMap","in":["user_paddle_shrink"],out:"shrink_bass_comp.START",delay:0},{id:"eventMap","in":["user_paddle_shrink"],out:"shrink_paddle_fx.START",delay:0},{id:"eventMap","in":["paddle_dizzy"],out:"paddle_dizzy_paddle_fx.START",delay:0},{id:"eventMap","in":["paddle_dizzy"],out:"paddle_dizzy_bass_comp.START",delay:0},{id:"eventMap","in":["paddle_dizzy"],out:"paddle_dizzy_dm_kraftwerk.START",delay:0},{id:"eventMap","in":["opponent_screen_explode"],out:"screen_explode_paddle_fx.START",delay:0},{id:"eventMap","in":["opponent_screen_explode"],out:"screen_explode_bass_comp.START",delay:0},{id:"eventMap","in":["opponent_screen_heal_start"],out:"screen_rebuild_paddle_fx.START",delay:0},{id:"eventMap","in":["opponent_screen_heal_start"],out:"screen_rebuild_bass_comp.START",delay:0},{id:"eventMap","in":["user_won_round"],out:"win_paddle_fx.START",delay:0},{id:"eventMap","in":["user_won_round"],out:"win_bass_comp.START",delay:0},{id:"eventMap","in":["user_won_round"],out:"win_synth_comp.START",delay:0},{id:"eventMap","in":["user_won_match"],out:"win_paddle_fx.START",delay:0},{id:"eventMap","in":["user_won_match"],out:"win_bass_comp.START",delay:0},{id:"eventMap","in":["user_won_match"],out:"win_synth_comp.START",delay:0},{id:"eventMap","in":["user_lost_round"],out:"loose_paddle_fx.START",delay:0},{id:"eventMap","in":["user_lost_round"],out:"loose_bass_comp.START",delay:0},{id:"eventMap","in":["user_lost_round"],out:"loose_synth_comp.START",delay:0},{id:"eventMap","in":["user_lost_match"],out:"loose_paddle_fx.START",delay:0},{id:"eventMap","in":["user_lost_match"],out:"loose_bass_comp.START",delay:0},{id:"eventMap","in":["user_lost_match"],out:"loose_synth_comp.START",delay:0}],type:"eventProcessor",id:"eventMapper",clearPending:!1,dispatch:"ALWAYS",triggers:["user_won_match","user_lost_match","user_lost_round","user_won_round","opponent_screen_heal_start","opponent_screen_explode","extralife_activate","opponent_paddle_grow","opponent_paddle_shrink","user_paddle_grow","user_paddle_shrink","paddle_dizzy"],delay:0,multi:!1},{instanceId:"time_player",behavior:"DEFAULT",type:"player",id:"timePatternPlayer",triggers:["loose_synth_comp.START","loose_bass_comp.START","loose_paddle_fx.START","win_synth_comp.START","win_bass_comp.START","win_paddle_fx.START","screen_rebuild_bass_comp.START","screen_rebuild_paddle_fx.START","screen_explode_paddle_fx.START","screen_explode_bass_comp.START","extralife_activate_paddle_fx.START","extralife_activate_bass_comp.START","grow_bass_comp.START","shrink_bass_comp.START","grow_paddle_fx.START","shrink_paddle_fx.START","paddle_dizzy_dm_kraftwerk.START","paddle_dizzy_paddle_fx.START","paddle_dizzy_bass_comp.START"],delay:0,multi:!1},{instanceId:"makeFx",reTrig:0,noteMaps:[{id:"noteMap",triggerIn:["bulletproof_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["bulletproof_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["deathball_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["extralife_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["fireball_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["fireball_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["fog_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["fog_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["ghostball_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["ghostball_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["laser_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["laser_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["laser_fire"],triggerOut:"shield_hit",note:"E5",velocity:127},{id:"noteMap",triggerIn:["mirroredcontrols_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["mirroredcontrols_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["multiball_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["multiball_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["timebomb_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["timebomb_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["opponent_score_hit"],triggerOut:"shield_hit",note:"E3",velocity:90},{id:"noteMap",triggerIn:["opponent_shield_hit"],triggerOut:"shield_hit",note:"E3",velocity:110},{id:"noteMap",triggerIn:["paddleresize_spawn"],triggerOut:"item_up",note:"E3",velocity:127},{id:"noteMap",triggerIn:["paddleresize_activate"],triggerOut:"item_activate",note:"E1",velocity:127},{id:"noteMap",triggerIn:["user_score_hit"],triggerOut:"shield_hit",note:"E3",velocity:90},{id:"noteMap",triggerIn:["user_shield_hit"],triggerOut:"shield_hit",note:"E3",velocity:110}],type:"midiProcessor",id:"makeNote",triggers:["shields_reset_up","extralife_activate","paddleresize_activate","paddleresize_spawn","user_score_hit","opponent_score_hit","laser_fire","laser_spawn","laser_activate","extralife_spawn","mirroredcontrols_activate","mirroredcontrols_spawn","fireball_activate","fireball_spawn","bulletproof_activate","bulletproof_spawn","multiball_activate","multiball_spawn","timebomb_activate","timebomb_spawn","ghostball_activate","ghostball_spawn","deathball_spawn","extralife_activate","user_shield_hit","opponent_shield_hit","opponent_score_hit","fog_spawn","fog_activate"],delay:0,multi:!1},{instanceId:"bounce_mapper",reTrig:30,noteMaps:[{id:"noteMap",triggerIn:["opponent_paddle_hit"],triggerOut:"paddle_fx",note:"E2",velocity:127},{id:"noteMap",triggerIn:["user_paddle_hit"],triggerOut:"paddle_fx",note:"E1",velocity:127},{id:"noteMap",triggerIn:["obstacle_hit"],triggerOut:"paddle_fx",note:"E3",velocity:127},{id:"noteMap",triggerIn:["wall_hit"],triggerOut:"paddle_fx",note:"B2",velocity:127}],type:"midiProcessor",id:"makeNote",triggers:["opponent_paddle_hit","user_paddle_hit","obstacle_hit","wall_hit"],delay:0,multi:!1},{instanceId:"shields_up_mapper",reTrig:500,noteMaps:[{id:"noteMap",triggerIn:["shields_reset_up"],triggerOut:"shield_up",note:"E3",velocity:127}],type:"midiProcessor",id:"makeNote",triggers:["shields_reset_up"],delay:0,multi:!1},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:0,loop:!1,ampAttack:1,ampDecay:1,ampRelease:260,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"shield_up",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["shield_up"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:1,loop:!1,ampAttack:1,ampDecay:1,ampRelease:260,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"paddle_fx",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["paddle_fx"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:-1,loop:!1,ampAttack:1,ampDecay:1,ampRelease:260,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"item_activate",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["item_activate"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:1,loop:!1,ampAttack:1,ampDecay:1,ampRelease:260,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"shield_hit",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["shield_hit"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:1,loop:!1,ampAttack:1,ampDecay:1,ampRelease:260,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"item_up",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["item_up"],delay:0,multi:!0},{instanceId:"muteInst",targetType:"synth",targets:["multi"],targetParameter:"volume",multiSuffix:"_mute",value:-80,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["bass_filter_mute","lead_a_mute","lead_b_mute","strings_mute","synth_funk_mute","synth_plucked_mute","synth_sharp_mute","synth_warm_mute","dm_kraftwerk_mute","bass_mute","bass_comp_mute","stab_mute","synth_comp_mute","synth_perc_mute","synth_pop_mute"],multi:!1},{instanceId:"unmuteInst",targetType:"synth",targets:["multi"],targetParameter:"volume",multiSuffix:"_unmute",value:-5,duration:100,type:"parameterProcessor",id:"transform",delay:0,curve:0,triggers:["bass_filter_unmute","lead_a_unmute","lead_b_unmute","strings_unmute","synth_funk_unmute","synth_plucked_unmute","synth_sharp_unmute","synth_warm_unmute","dm_kraftwerk_unmute","bass_unmute","bass_comp_unmute","stab_unmute","synth_comp_unmute","synth_perc_unmute","synth_pop_unmute"],multi:!1},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:1,loop:!1,ampAttack:1,ampDecay:100,ampRelease:300,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"bass_filter_low",velocityLow:0,velocityHigh:50},{id:"sampleMap",name:"bass_filter_mid",velocityLow:51,velocityHigh:100},{id:"sampleMap",name:"bass_filter_hi",velocityLow:101,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["bass_filter"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-2,loop:!1,ampAttack:1,ampDecay:50,ampRelease:100,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["bass_comp"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:-2,loop:!1,ampAttack:1,ampDecay:1,ampRelease:220,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["bass"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:-4.5,loop:!1,ampAttack:1,ampDecay:50,ampRelease:100,ampSustain:1,ampVelocityRatio:0,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["stab"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-6,loop:!1,ampAttack:1,ampDecay:1,ampRelease:220,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["strings"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:-1,loop:!1,ampAttack:1,ampDecay:1,ampRelease:50,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["synth_comp"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-5.5,loop:!1,ampAttack:1,ampDecay:50,ampRelease:300,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["synth_funk"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:-13,loop:!1,ampAttack:1,ampDecay:1,ampRelease:50,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["synth_perc"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:0,loop:!1,ampAttack:1,ampDecay:50,ampRelease:100,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["synth_plucked"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!0,bus:"pause_bus",volume:-2,loop:!1,ampAttack:1,ampDecay:1,ampRelease:50,ampSustain:1,ampVelocityRatio:0,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["synth_pop"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-7.5,loop:!1,ampAttack:1,ampDecay:1,ampRelease:100,ampSustain:1,ampVelocityRatio:0,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["synth_sharp"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-13,loop:!1,ampAttack:1,ampDecay:1,ampRelease:200,ampSustain:1,ampVelocityRatio:0,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["synth_warm"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-8,loop:!1,ampAttack:1,ampDecay:1,ampRelease:500,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["lead_a"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-9,loop:!1,ampAttack:1,ampDecay:1,ampRelease:400,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["lead_b"],delay:0,multi:!0},{instanceId:"multi",ignoreNoteOff:!1,bus:"pause_bus",volume:-3,loop:!1,ampAttack:1,ampDecay:50,ampRelease:200,ampSustain:1,ampVelocityRatio:1,filterOn:!1,audioNodes:[],sampleMapGroups:[{id:"sampleMapGroup",name:"map1",sampleMaps:[{id:"sampleMap",name:"multi",velocityLow:0,velocityHigh:127}]}],type:"synth",id:"sampler",filterAttack:0,filterDecay:0,filterRelease:0,filterSustain:1,filterVelocityRatio:1,filterQ:1e-4,filterFrequency:0,filterGain:0,triggers:["dm_kraftwerk"],delay:0,multi:!0}]}
}),a("AudioNodes",["DMAF","Utils","Instance","events","Assets"],function(e,t,n,i,r){function s(e){return(Math.exp(e)-Math.exp(-e))/(Math.exp(e)+Math.exp(-e))}function o(e){return 0===e?1:Math.abs(e)/e}function l(e,t){var n,i,a=0,r=0,s=0,o=0;return n=e.toExponential().match(/^.\.?(.*)e(.+)$/),a=parseInt(n[2],10)-(n[1]+"").length,n=t.toExponential().match(/^.\.?(.*)e(.+)$/),r=parseInt(n[2],10)-(n[1]+"").length,r>a&&(a=r),i=e%t,-100>a||a>20?(s=Math.round(Math.log(i)/Math.log(10)),o=Math.pow(10,s),(i/o).toFixed(s-a)*o):parseFloat(i.toFixed(-a))}var c=Object.create(null),u={lowpass:0,highpass:1,bandpass:2,lowshelf:3,highshelf:4,peaking:5,notch:6,allpass:7},d={32:.125,"16T":.16666666666666666,"32D":.1875,16:.25,"8T":.3333333333333333,"16D":.375,8:.5,"4T":.6666666666666666,"8D":.75,4:1,"2T":1.3333333333333333,"4D":1.5,2:2,"2D":3,1:4},p=function(e,t){e.value=t},m=Object.create(n,{activate:{writable:!0,value:function(e){this.input.disconnect(),this._activated=e,e?(this.input.connect(this.activateNode),this.activateCallback&&this.activateCallback(e)):this.input.connect(this.output)}},bypass:{get:function(){return this._activated},set:function(e){this.activate(e)}},active:{get:function(){return this._activated},set:function(e){this.activate(e)}},connect:{value:function(e){this.output.connect(e)}},connectInOrder:{value:function(e){for(var t=e.length-1;t--;)e[t].connect(e[t+1])}}});return c.createRecursive=function(e,n){for(var i,a,r=[],s=0;n.length>s;s++)i=n[s],a=new(c[t.capitalize(i.id)])(i),i.active?a.activate(!0):a.activate(!1),r.push(a),e.connect(a.input),e=a;return r},c.Filter=function(t){this.input=e.context.createGainNode(),this.filter=this.activateNode=e.context.createBiquadFilter(),this.output=e.context.createGainNode(),this.filter.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.filter,this.frequency=t.frequency,this.Q=t.resonance,this.filterType=t.filterType,this.gain=t.gain},c.Filter.prototype=Object.create(m,{name:{value:"Filter"},filterType:{enumerable:!0,get:function(){return this._filterType},set:function(e){this._filterType=e,this.filter.type=u[this._filterType.toLowerCase()]}},Q:{enumerable:!0,get:function(){return this.filter.Q},set:function(e){this.filter.Q.value=e}},gain:{enumerable:!0,get:function(){return this.filter.gain},set:function(e){this.filter.gain.value=e}},frequency:{enumerable:!0,get:function(){return this.filter.frequency},set:function(e){this.filter.frequency.value=e}}}),c.Cabinet=function(t){this.input=e.context.createGainNode(),this.activateNode=e.context.createGainNode(),this.convolver=this.newConvolver(t.impulsePath),this.makeupNode=e.context.createGainNode(),this.output=e.context.createGainNode(),this.activateNode.connect(this.convolver.input),this.convolver.output.connect(this.makeupNode),this.makeupNode.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.cabinet,this.makeupGain=t.makeupGain,this.convolver.activate(!0)},c.Cabinet.prototype=Object.create(m,{name:{value:"Cabinet"},makeupGain:{enumerable:!0,get:function(){return this.makeupNode.gain},set:function(e){this.makeupNode.gain.value=e}},newConvolver:{value:function(e){return new c.Convolver({impulse:e,dryLevel:0,wetLevel:1})}}}),c.Chorus=function(t){this.input=e.context.createGainNode(),this.attenuator=this.activateNode=e.context.createGainNode(),this.splitter=e.context.createChannelSplitter(2),this.delayL=e.context.createDelayNode(),this.delayR=e.context.createDelayNode(),this.feedbackGainNodeLR=e.context.createGainNode(),this.feedbackGainNodeRL=e.context.createGainNode(),this.merger=e.context.createChannelMerger(2),this.output=e.context.createGainNode(),this.lfoL=new c.LFO({target:this.delayL.delayTime,callback:p}),this.lfoR=new c.LFO({target:this.delayR.delayTime,callback:p}),this.input.connect(this.attenuator),this.attenuator.connect(this.output),this.attenuator.connect(this.splitter),this.splitter.connect(this.delayL,0),this.splitter.connect(this.delayR,1),this.delayL.connect(this.feedbackGainNodeLR),this.delayR.connect(this.feedbackGainNodeRL),this.feedbackGainNodeLR.connect(this.delayR),this.feedbackGainNodeRL.connect(this.delayL),this.delayL.connect(this.merger,0,0),this.delayR.connect(this.merger,0,1),this.merger.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.chorus,this.feedback=t.feedback,this.rate=t.rate,this.delay=t.delay,this.depth=t.depth,this.lfoR.phase=Math.PI/2,this.attenuator.gain.value=.6934,this.lfoL.activate(!0),this.lfoR.activate(!0)},c.Chorus.prototype=Object.create(m,{name:{value:"Chorus"},delay:{enumerable:!0,get:function(){return this._delay},set:function(e){this._delay=2e-4*Math.pow(10,2*e),this.lfoL.offset=this._delay,this.lfoR.offset=this._delay,this._depth=this._depth}},depth:{enumerable:!0,get:function(){return this._depth},set:function(e){this._depth=e,this.lfoL.oscillation=this._depth*this._delay,this.lfoR.oscillation=this._depth*this._delay}},feedback:{enumerable:!0,get:function(){return this._feedback},set:function(e){this._feedback=e,this.feedbackGainNodeLR.gain.value=this._feedback,this.feedbackGainNodeRL.gain.value=this._feedback}},rate:{enumerable:!0,get:function(){return this._rate},set:function(e){this._rate=e,this.lfoL._frequency=this._rate,this.lfoR._frequency=this._rate}}}),c.Compressor=function(t){this.input=e.context.createGainNode(),this.compNode=this.activateNode=e.context.createDynamicsCompressor(),this.makeupNode=e.context.createGainNode(),this.output=e.context.createGainNode(),this.compNode.connect(this.makeupNode),this.makeupNode.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.compressor,this.automakeup=t.automakeup,this.makeupGain=t.makeupGain,this.threshold=t.threshold,this.release=t.release,this.attack=t.attack,this.ratio=t.ratio,this.knee=t.knee},c.Compressor.prototype=Object.create(m,{name:{value:"Compressor"},computeMakeup:{value:function(){var e=4,t=this.compNode;return-(t.threshold.value-t.threshold.value/t.ratio.value)/e}},automakeup:{enumerable:!0,get:function(){return this._automakeup},set:function(e){this._automakeup=e,this._automakeup&&(this.makeupGain=this.computeMakeup())}},threshold:{enumerable:!0,get:function(){return this.compNode.threshold},set:function(e){this.compNode.threshold.value=e,this._automakeup&&(this.makeupGain=this.computeMakeup())}},ratio:{enumerable:!0,get:function(){return this.compNode.ratio},set:function(e){this.compNode.ratio.value=e,this._automakeup&&(this.makeupGain=this.computeMakeup())}},knee:{enumerable:!0,get:function(){return this.compNode.knee},set:function(e){this.compNode.knee.value=e,this._automakeup&&(this.makeupGain=this.computeMakeup())}},attack:{enumerable:!0,get:function(){return this.compNode.attack},set:function(e){this.compNode.attack.value=e/1e3}},release:{enumerable:!0,get:function(){return this.compNode.release},set:function(e){this.compNode.release=e/1e3}},makeupGain:{enumerable:!0,get:function(){return this.makeupNode.gain},set:function(e){var n=e;this.makeupNode.gain.value=t.dbToWAVolume(n)}}}),c.Convolver=function(t){this.input=e.context.createGainNode(),this.activateNode=e.context.createGainNode(),this.convolver=e.context.createConvolver(),this.dry=e.context.createGainNode(),this.filterLow=e.context.createBiquadFilter(),this.filterHigh=e.context.createBiquadFilter(),this.wet=e.context.createGainNode(),this.output=e.context.createGainNode(),this.activateNode.connect(this.filterLow),this.activateNode.connect(this.dry),this.filterLow.connect(this.filterHigh),this.filterHigh.connect(this.convolver),this.convolver.connect(this.wet),this.wet.connect(this.output),this.dry.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.convolver,this.dryLevel=t.dryLevel,this.wetLevel=t.wetLevel,this.highCut=t.highCut,this.buffer=t.impulse,this.lowCut=t.lowCut,this.level=t.level,this.filterHigh.type=0,this.filterLow.type=1},c.Convolver.prototype=Object.create(m,{name:{value:"Convolver"},lowCut:{get:function(){return this.filterLow.frequency},set:function(e){this.filterLow.frequency.value=e}},highCut:{get:function(){return this.filterHigh.frequency},set:function(e){this.filterHigh.frequency.value=e}},level:{get:function(){return this.output.gain},set:function(e){this.output.gain.value=e}},dryLevel:{get:function(){return this.dry.gain},set:function(e){this.dry.gain.value=e}},wetLevel:{get:function(){return this.wet.gain},set:function(e){this.wet.gain.value=e,this.wet.gain=e}},buffer:{enumerable:!1,get:function(){return this.convolver.buffer},set:function(e){this.convolver.buffer=r.getAsset("buffer",e)}}}),c.Delay=function(t){this.input=e.context.createGainNode(),this.activateNode=e.context.createGainNode(),this.dry=e.context.createGainNode(),this.wet=e.context.createGainNode(),this.filter=e.context.createBiquadFilter(),this.delay=e.context.createDelayNode(),this.feedbackNode=e.context.createGainNode(),this.output=e.context.createGainNode(),this.activateNode.connect(this.delay),this.activateNode.connect(this.dry),this.delay.connect(this.filter),this.filter.connect(this.feedbackNode),this.feedbackNode.connect(this.delay),this.feedbackNode.connect(this.wet),this.wet.connect(this.output),this.dry.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.delay,this.tempoSync=t.tempoSync,this.tempoSync&&(this.subdivision=t.subdivision),this.delayTime=t.delayTime,this.feedback=t.feedback,this.wetLevel=t.wetLevel,this.dryLevel=t.dryLevel,this.cutoff=t.cutoff,this.filter.type=1},c.Delay.prototype=Object.create(m,{name:{value:"Delay"},tempoListener:{value:function(e){this.tempo=e,this.delayTime=this.tempo}},tempoSync:{get:function(){return this._tempoSync},set:function(t){if(t&&"string"==typeof t){var n=e.getInstance("player:"+t);this.tempo=n?n.tempo:90,this._tempoSync=t,a.addEventListener("tempo_"+this._tempoSync,this.tempoListener.bind(this))}else this._tempoSync=!1}},subdivision:{get:function(){return this._subdivision},set:function(e){this._subdivision=e}},tempo:{get:function(){return this._tempo},set:function(e){this._tempo=e}},delayTime:{enumerable:!0,get:function(){return this.delay.delayTime},set:function(e){this.delay.delayTime.value=this._tempoSync?60*d[this.subdivision]/this.tempo:e/1e3}},wetLevel:{enumerable:!0,get:function(){return this.wet.gain},set:function(e){this.wet.gain.value=e}},dryLevel:{enumerable:!0,get:function(){return this.dry.gain},set:function(e){this.dry.gain.value=e}},feedback:{enumerable:!0,get:function(){return this.feedbackNode.gain},set:function(e){this.feedbackNode.gain.value=e}},cutoff:{enumerable:!0,get:function(){return this.filter.frequency},set:function(e){this.filter.frequency.value=e}}}),c.EnvelopeFollower=function(t){this.input=e.context.createGainNode(),this.jsNode=this.output=e.context.createJavaScriptNode(this.buffersize,1,1),this.input.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.envelopeFollower,this.attackTime=t.attackTime,this.releaseTime=t.releaseTime,this._envelope=0,this.target=t.target,this.callback=t.callback},c.EnvelopeFollower.prototype=Object.create(m,{name:{value:"EnvelopeFollower"},buffersize:{value:256},envelope:{value:0},sampleRate:{value:44100},attackTime:{enumerable:!0,get:function(){return this._attackTime},set:function(e){this._attackTime=e,this._attackC=Math.exp(-1/this._attackTime*this.sampleRate/this.buffersize)}},releaseTime:{enumerable:!0,get:function(){return this._releaseTime},set:function(e){this._releaseTime=e,this._releaseC=Math.exp(-1/this._releaseTime*this.sampleRate/this.buffersize)}},callback:{get:function(){return this._callback},set:function(e){this._callback=e}},target:{get:function(){return this._target},set:function(e){this._target=e}},activate:{value:function(t){this.activated=t,t?(this.jsNode.connect(e.context.destination),this.jsNode.onaudioprocess=this.returnCompute(this)):(this.jsNode.disconnect(),this.jsNode.onaudioprocess=null)}},returnCompute:{value:function(e){return function(t){e.compute(t)}}},compute:{value:function(e){var t,n,i,a,r=e.inputBuffer.getChannelData(0).length,s=e.inputBuffer.numberOfChannels;if(n=i=0,s>1)for(a=0;r>a;++a)for(;s>n;++n)t=e.inputBuffer.getChannelData(n)[a],i+=t*t/s;else for(a=0;r>a;++a)t=e.inputBuffer.getChannelData(0)[a],i+=t*t;i=Math.sqrt(i),i>this._envelope?(this._envelope*=this._attackC,this._envelope+=(1-this._attackC)*i):(this._envelope*=this._releaseC,this._envelope+=(1-this._releaseC)*i),this._callback(this._target,this._envelope)}}}),c.Equalizer=function(){function t(t){this._defaults=e.Settings.descriptors.type.audioNode.equalizer,this.nbands=t.bands.length;for(var n=0,i=this._nbands;i>n;n++);this.input=e.context.createGainNode(),this.output=e.context.createGainNode(),this.activateNode=e.context.createGainNode()}return t}(),c.Equalizer.prototype=Object.create(m,{name:{value:"Equalizer"},propertySearch:{value:/:bypass|:type|:frequency|:gain|:q/i}}),c.LFO=function(){function t(t){this.output=e.context.createJavaScriptNode(256,1,1),this.activateNode=e.context.destination,this.defaults=e.Settings.descriptors.type.audioNode.lfo,this.type=t.type,this.frequency=t.frequency,this.offset=t.offset,this.oscillation=t.oscillation,this.phase=t.phase,this.target=t.target,this.output.onaudioprocess=this.callback(t.callback)}return t.prototype=Object.create(m,{name:{value:"LFO"},bufferSize:{value:256},sampleRate:{value:44100},type:{enumerable:!0,get:function(){return this._type},set:function(e){this._type=e}},frequency:{get:function(){return this._frequency},set:function(e){this._frequency=e,this._phaseInc=2*Math.PI*this._frequency*this.bufferSize/this.sampleRate}},offset:{get:function(){return this._offset},set:function(e){this._offset=e}},oscillation:{get:function(){return this._oscillation},set:function(e){this._oscillation=e}},phase:{get:function(){return this._phase},set:function(e){this._phase=e}},target:{get:function(){return this._target},set:function(e){this._target=e}},activate:{value:function(t){this._activated=t,t?this.output.connect(e.context.destination):this.output.disconnect(e.context.destination)}},callback:{value:function(e){var t=this;return function(){t._phase+=t._phaseInc,t._phase>2*Math.PI&&(t._phase=0),e(t._target,t._offset+t._oscillation*Math.sin(t._phase))}}}}),t}(),c.Overdrive=function(t){this.input=e.context.createGainNode(),this.activateNode=e.context.createGainNode(),this.inputDrive=e.context.createGainNode(),this.waveshaper=e.context.createWaveShaper(),this.outputDrive=e.context.createGainNode(),this.output=e.context.createGainNode(),this.activateNode.connect(this.inputDrive),this.inputDrive.connect(this.waveshaper),this.waveshaper.connect(this.outputDrive),this.outputDrive.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.overdrive,this.ws_table=new Float32Array(this.k_nSamples),this.drive=t.drive,this.outputGain=t.outputGain,this.curveAmount=t.curveAmount,this.algorithm=t.algorithmIndex},c.Overdrive.prototype=Object.create(m,{name:{value:"Overdrive"},k_nSamples:{value:8192},drive:{get:function(){return this.inputDrive.gain},set:function(e){this._drive=e}},curveAmount:{get:function(){return this._curveAmount},set:function(e){this._curveAmount=e,void 0===this._algorithmIndex&&(this._algorithmIndex=0),this.waveshaperAlgorithms[this._algorithmIndex](this._curveAmount,this.k_nSamples,this.ws_table),this.waveshaper.curve=this.ws_table}},outputGain:{get:function(){return this.outputDrive.gain},set:function(e){var n=e;this._outputGain=t.dbToWAVolume(n)}},algorithm:{get:function(){return this._algorithmIndex},set:function(e){this._algorithmIndex=e,this.curveAmount=this._curveAmount}},waveshaperAlgorithms:{value:[function(e,t,n){var i,a,r=2*e/(1-e);for(i=0;t>i;i++)a=2*i/t-1,n[i]=(1+r)*a/(1+r*Math.abs(a))},function(e,t,n){var i,a,r;for(i=0;t>i;i++)a=2*i/t-1,r=(.5*Math.pow(a+1.4,2)-1)*r>=0?5.8:1.2,n[i]=s(r)},function(e,t,n){var i,a,r,o=1-e;for(i=0;t>i;i++)a=2*i/t-1,r=0>a?-Math.pow(Math.abs(a),o+.04):Math.pow(a,o),n[i]=s(2*r)},function(e,t,n){var i,a,r,s,l=1-e>.99?.99:1-e;for(i=0;t>i;i++)a=2*i/t-1,s=Math.abs(a),l>s?r=s:s>l?r=l+(s-l)/(1+Math.pow((s-l)/(1-l),2)):s>1&&(r=s),n[i]=o(a)*r*(1/((l+1)/2))},function(e,t,n){var i,a;for(i=0;t>i;i++)a=2*i/t-1,n[i]=-.08905>a?-3/4*(1-Math.pow(1-(Math.abs(a)-.032857),12)+1/3*(Math.abs(a)-.032847))+.01:a>=-.08905&&.320018>a?-6.153*a*a+3.9375*a:.630035},function(e,t,n){var i,a,r=2+Math.round(14*e),s=Math.round(Math.pow(2,r-1));for(i=0;t>i;i++)a=2*i/t-1,n[i]=Math.round(a*s)/s}]}}),c.Panner=function(t){this.input=e.context.createGainNode(),this.splitter=e.context.createChannelSplitter(2),this.lGain=e.context.createGainNode(),this.rGain=e.context.createGainNode(),this.merger=e.context.createChannelMerger(2),this.output=e.context.createGainNode(),this.input.connect(this.splitter),this.splitter.connect(this.lGain,0),this.splitter.connect(this.rGain,1),this.lGain.connect(this.merger,0,0),this.rGain.connect(this.merger,0,1),this.merger.connect(this.output),this.pan=t.value},c.Panner.prototype=Object.create(m,{pan:{get:function(){return this._value},set:function(e){var t=(e+100)/200;this._value=e,this.lGain.gain.value=Math.cos(t*Math.PI/2),this.rGain.gain.value=Math.sin(t*Math.PI/2)}}}),c.PingPongDelay=function(t){this.input=e.context.createGainNode(),this.activateNode=e.context.createGainNode(),this.dry=e.context.createGainNode(),this.splitter=e.context.createChannelSplitter(2),this.toMono=e.context.createGainNode(),this.wet=e.context.createGainNode(),this.feedbackNode=e.context.createGainNode(),this.delayL=new c.Delay(t),this.delayR=new c.Delay(t),this.merger=e.context.createChannelMerger(),this.output=e.context.createGainNode(),this.activateNode.connect(this.dry),this.activateNode.connect(this.splitter),this.splitter.connect(this.toMono,0,0),this.splitter.connect(this.toMono,1,0),this.toMono.connect(this.wet),this.wet.connect(this.delayL.delay),this.feedbackNode.connect(this.delayL.delay),this.delayL.delay.connect(this.delayR.delay),this.delayR.delay.connect(this.feedbackNode),this.delayL.delay.connect(this.merger,0,0),this.delayR.delay.connect(this.merger,0,1),this.dry.connect(this.output),this.merger.connect(this.output),this.delayL.feedback=0,this.delayR.feedback=0,this.delayL.wetLevel=1,this.delayR.wetLevel=1,this.delayL.dryLevel=0,this.delayR.dryLevel=0,this.defaults=e.Settings.descriptors.type.audioNode.pingPongDelay,this.cutoff=t.cutoff,this.tempoSync=t.tempoSync,this.tempoSync&&(this.subdivision=t.subdivision),this.delayTime=t.delayTime,this.feedback=t.feedback,this.wetLevel=t.wetLevel,this.dryLevel=t.dryLevel},c.PingPongDelay.prototype=Object.create(m,{name:{value:"PingPongDelay"},tempoSync:{get:function(){return this._tempoSync},set:function(t){var n=t?e.getInstance("player",t):null;this.tempo=n?n.tempo:120,this._tempoSync=t,this.delayL.tempoSync=this._tempoSync,this.delayR.tempoSync=this._tempoSync}},tempo:{get:function(){return this._tempo},set:function(e){this._tempo=e,this.delayL.tempo=e,this.delayR.tempo=e}},subdivision:{get:function(){return this._subdivision},set:function(e){this._subdivision=e,this.delayL.subdivision=this._subdivision,this.delayR.subdivision=this._subdivision}},delayTime:{enumerable:!0,get:function(){return this._delayTime},set:function(e){this._tempoSync?(this._delayTime=60*d[this.subdivision]/this.tempo,this.delayL.delayTime=this._delayTime,this.delayR.delayTime=this._delayTime):(this._delayTime=e/1e3,this.delayL.delayTime=e,this.delayR.delayTime=e)}},wetLevel:{enumerable:!0,get:function(){return this.wet.gain},set:function(e){this.wet.gain.value=e}},dryLevel:{enumerable:!0,get:function(){return this.dry.gain},set:function(e){this.dry.gain.value=e}},feedback:{enumerable:!0,get:function(){return this.feedbackNode.gain},set:function(e){this.feedbackNode.gain.value=e}},cutoff:{enumerable:!0,get:function(){return this.delayL.filter.frequency},set:function(e){this.delayL.filter.frequency.value=e,this.delayR.filter.frequency.value=e}}}),c.Phaser=function(t){this.input=e.context.createGainNode(),this.splitter=this.activateNode=e.context.createChannelSplitter(2),this.filtersL=[],this.filtersR=[],this.feedbackGainNodeL=e.context.createGainNode(),this.feedbackGainNodeR=e.context.createGainNode(),this.merger=e.context.createChannelMerger(2),this.filteredSignal=e.context.createGainNode(),this.output=e.context.createGainNode(),this.lfoL=new c.LFO({target:this.filtersL,callback:this.callback}),this.lfoR=new c.LFO({target:this.filtersR,callback:this.callback});for(var n=this.stage;n--;)this.filtersL[n]=e.context.createBiquadFilter(),this.filtersR[n]=e.context.createBiquadFilter(),this.filtersL[n].type=7,this.filtersR[n].type=7;this.input.connect(this.splitter),this.input.connect(this.output),this.splitter.connect(this.filtersL[0],0,0),this.splitter.connect(this.filtersR[0],1,0),this.connectInOrder(this.filtersL),this.connectInOrder(this.filtersR),this.filtersL[this.stage-1].connect(this.feedbackGainNodeL),this.filtersL[this.stage-1].connect(this.merger,0,0),this.filtersR[this.stage-1].connect(this.feedbackGainNodeR),this.filtersR[this.stage-1].connect(this.merger,0,1),this.feedbackGainNodeL.connect(this.filtersL[0]),this.feedbackGainNodeR.connect(this.filtersR[0]),this.merger.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.phaser,this.rate=t.rate,this.baseModulationFrequency=t.baseModulationFrequency,this.depth=t.depth,this.feedback=t.feedback,this.stereoPhase=t.stereoPhase,this.lfoL.activate(!0),this.lfoR.activate(!0)},c.Phaser.prototype=Object.create(m,{name:{value:"Phaser"},stage:{value:4},callback:{value:function(e,t){for(var n=0;4>n;n++)e[n].frequency.value=t}},depth:{enumerable:!0,get:function(){return this._depth},set:function(e){this._depth=e,this.lfoL.oscillation=this._baseModulationFrequency*this._depth,this.lfoR.oscillation=this._baseModulationFrequency*this._depth}},rate:{enumerable:!0,get:function(){return this._rate},set:function(e){this._rate=e,this.lfoL.frequency=this._rate,this.lfoR.frequency=this._rate}},baseModulationFrequency:{enumerable:!0,get:function(){return this._baseModulationFrequency},set:function(e){this._baseModulationFrequency=e,this.lfoL.offset=this._baseModulationFrequency,this.lfoR.offset=this._baseModulationFrequency}},feedback:{get:function(){return this._feedback},set:function(e){this._feedback=e,this.feedbackGainNodeL.gain.value=this._feedback,this.feedbackGainNodeR.gain.value=this._feedback}},stereoPhase:{get:function(){return this._stereoPhase},set:function(e){this._stereoPhase=e;var t=this.lfoL._phase+this._stereoPhase*Math.PI/180;t=l(t,2*Math.PI),this.lfoR._phase=t}}}),c.Tremolo=function(t){this.input=e.context.createGainNode(),this.splitter=this.activateNode=e.context.createChannelSplitter(2),this.amplitudeL=e.context.createGainNode(),this.amplitudeR=e.context.createGainNode(),this.merger=e.context.createChannelMerger(2),this.output=e.context.createGainNode(),this.lfoL=new c.LFO({target:this.amplitudeL.gain,callback:p}),this.lfoR=new c.LFO({target:this.amplitudeR.gain,callback:p}),this.input.connect(this.splitter),this.splitter.connect(this.amplitudeL,0),this.splitter.connect(this.amplitudeR,1),this.amplitudeL.connect(this.merger,0,0),this.amplitudeR.connect(this.merger,0,1),this.merger.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.tremolo,this.rate=t.rate,this.intensity=t.intensity,this.stereoPhase=t.stereoPhase,this.lfoL.offset=1-this.intensity/2,this.lfoR.offset=1-this.intensity/2,this.lfoL.phase=this.stereoPhase*Math.PI/180,this.lfoL.activate(!0),this.lfoR.activate(!0)},c.Tremolo.prototype=Object.create(m,{name:{value:"Tremolo"},intensity:{enumerable:!0,get:function(){return this._intensity},set:function(e){this._intensity=e,this.lfoL.offset=this._intensity/2,this.lfoR.offset=this._intensity/2,this.lfoL.oscillation=this._intensity,this.lfoR.oscillation=this._intensity}},rate:{enumerable:!0,get:function(){return this._rate},set:function(e){this._rate=e,this.lfoL.frequency=this._rate,this.lfoR.frequency=this._rate}},steroPhase:{enumerable:!0,get:function(){return this._rate},set:function(e){this._stereoPhase=e;var t=this.lfoL._phase+this._stereoPhase*Math.PI/180;t=l(t,2*Math.PI),this.lfoR.phase=t}}}),c.WahWah=function(t){this.input=e.context.createGainNode(),this.activateNode=e.context.createGainNode(),this.envelopeFollower=new c.EnvelopeFollower({target:this,callback:function(e,t){e.sweep=t}}),this.filterBp=e.context.createBiquadFilter(),this.filterPeaking=e.context.createBiquadFilter(),this.output=e.context.createGainNode(),this.activateNode.connect(this.filterBp),this.filterBp.connect(this.filterPeaking),this.filterPeaking.connect(this.output),this.defaults=e.Settings.descriptors.type.audioNode.wahWah,this.init(),this.automode=t.enableAutoMode,this.resonance=t.resonance,this.sensitivity=t.sensitivity,this.baseFrequency=t.baseModulationFrequency,this.excursionOctaves=t.excursionOctaves,this.sweep=t.sweep,this.envelopeFollower.activate(!0)},c.WahWah.prototype=Object.create(m,{name:{value:"WahWah"},activateCallback:{value:function(e){this.automode=e}},automode:{get:function(){return this._automode},set:function(e){this._automode=e,e?(this.activateNode.connect(this.envelopeFollower.input),this.envelopeFollower.activate(!0)):(this.envelopeFollower.activate(!1),this.activateNode.disconnect(),this.activateNode.connect(this.filterBp))}},sweep:{enumerable:!0,get:function(){return this._sweep.value},set:function(e){this._sweep=Math.pow(e>1?1:0>e?0:e,this._sensitivity),this.filterBp.frequency.value=this._baseFrequency+this._excursionFrequency*this._sweep,this.filterPeaking.frequency.value=this._baseFrequency+this._excursionFrequency*this._sweep}},baseFrequency:{enumerable:!0,get:function(){return this._baseFrequency},set:function(e){this._baseFrequency=50*Math.pow(10,2*e),this._excursionFrequency=Math.min(this.sampleRate/2,this.baseFrequency*Math.pow(2,this._excursionOctaves)),this.filterBp.frequency.value=this._baseFrequency+this._excursionFrequency*this._sweep,this.filterPeaking.frequency.value=this._baseFrequency+this._excursionFrequency*this._sweep}},excursionOctaves:{enumerable:!0,get:function(){return this._excursionOctaves},set:function(e){this._excursionOctaves=e,this._excursionFrequency=Math.min(this.sampleRate/2,this.baseFrequency*Math.pow(2,this._excursionOctaves)),this.filterBp.frequency.value=this._baseFrequency+this._excursionFrequency*this._sweep,this.filterPeaking.frequency.value=this._baseFrequency+this._excursionFrequency*this._sweep}},sensitivity:{enumerable:!0,get:function(){return this._sensitivity},set:function(e){this._sensitivity=e,this._sensitivity=Math.pow(10,this._sensitivity)}},resonance:{enumerable:!0,get:function(){return this._resonance},set:function(e){this._resonance=e,this.filterPeaking.Q=this._resonance}},init:{value:function(){var t,n,i=Object.keys(this.defaults);for(this.output.gain.value=5,this.filterPeaking.type=5,this.filterBp.type=2,this.filterPeaking.frequency.value=100,this.filterPeaking.gain.value=20,this.filterPeaking.Q.value=5,this.filterBp.frequency.value=100,this.filterBp.Q.value=1,this.sampleRate=e.context.sampleRate,t=0,n=i.length;n>t;t++)this[i[t]]=this.defaults[i[t]].value}}}),c}),a("Action",["DMAF","Utils","events"],function(e,t,n){function i(i){function s(s,o,l){var c,u,d;if(o=o||1e3*e.context.currentTime,u=i.multi?s:i.instanceId,i.multiSuffix&&(u=u.replace(i.multiSuffix,"")),c=e.getInstance(i.type,u||"no_instance_id"))c._dynamicValues&&r(c);else{if(d=t.clone(i),c=e.createInstance(u,d),c.error)return;c._dynamicValues&&r(c),c.init(d)}a.log&&n.dispatch("log:action:"+i.type+":"+i.id+":"+u,o,s),c?c.onAction(s,o+i.delay,l,i):n.dispatch("log:error","Action was unable to create a new instance")}return s}function r(n){t.each(n._dynamicValues,function(i,a){n[a.key]=t.verify(n.defaults[a.key],e.getInstanceProperty(a.string))})}return i}),a("Instance",["Utils"],function(e){var t,n,i=/\:/;a.hasContext&&(n=window.webkitAudioContext||window.AudioContext,t=Object.getPrototypeOf((new n).createGainNode().gain.constructor.prototype));var r={isDMAFInstance:!0,setInitProperties:function(t){return e.extend(t,this),this},init:function(){return this},onAction:function(){return this},returnChildInstance:function(e){var t,n,a,s,o;if(i.test(e)&&(t=e.split(i),t.length&&t.length>1))for(o=this,a=0,s=t.length;s>a;a++){if(n=t[a],o=o[n],"object"!=typeof o)return{instance:this,ref:e};if(r.isPrototypeOf(o))return t=t.slice(a+1).join(":"),o.returnChildInstance(t)}return{instance:this,ref:e}},setProperty:function(n,a,r,s){var o,l=this.returnChildInstance(n);return l.instance!==this?l.instance.setProperty(l.ref,a,r,s):i.test(n)?(console.error("log:instance","DMAF Does not support colon syntax for properties within arrays.",n),void 0):void 0===this[n]?(console.error("log:instance",n,"is not a valid property for instance type",this.id),void 0):(a=e.verify(this.defaults[n],a),"volume"===n&&(a=Math.max(0,Math.floor(100*Math.pow(2,a/6))/100)),t.isPrototypeOf(this[n])?(s=s?s/1e3:0,r=r=r?r/1e3:0,o=r?"linearRampToValueAtTime":"setValueAtTime",this[n].cancelScheduledValues(s),this[n].setValueAtTime(this[n].value,s),this[n][o](a,r+s)):this[n]=a,void 0)}};return r}),a("Property",["DMAF"],function(e){function t(t,n,a,r){var s=1e3*e.context.currentTime;this.time=t,this.value=n,this.parent=r,this.type=a,this.execute=("linear"===a?i:this.done).bind(this),"linear"===a&&(t=this.parent._previous),this.id=setTimeout(this.execute,t>s?t-s:0)}function n(){this.startTime=this.parent._previous,this.startValue=this.parent.value}function i(){var t;void 0===this.startTime&&n.call(this),t=(1e3*e.context.currentTime-this.startTime)/(this.time-this.startTime),this.parent.value=this.startValue+(this.value-this.startValue)*t,t>.999?this.done():this.id=setTimeout(this.execute,20)}function a(e){this.value=e,this._previous=0,this._actions=[]}return t.prototype.done=function(){this.parent._previous=this.time,this.parent.value=this.value,this.parent._actions.splice(this.parent._actions.indexOf(this),1)},a.prototype.cancelScheduledValues=function(e){for(var t=this._actions.length;t--;)this._actions[t].time>=e&&this._actions.splice(t,1)},a.prototype.setValueAtTime=function(e,n){this._actions.push(new t(n,e,"set",this))},a.prototype.linearRampToValueAtTime=function(e,n){this._actions.push(new t(n,e,"linear",this))},a}),a("context",[],function(){function e(){return(new Date).getTime()/1e3}function t(){return i.currentTime=e(),setTimeout(t,40),context.currentTime}function n(){var e=i.createBufferSource();e.buffer=i.createBuffer(1,100,44100),e.noteOn(0),document.removeEventListener(r,n,!1)}var i;if(a.hasContext){var r="createTouch"in document?"touchstart":"mousedown",s=window.webkitAudioContext||window.AudioContext||null;return document.addEventListener(r,n,!1),i=new s}return Object.create?Object.create(null,{currentTime:{get:e}}):{currentTime:t()}}),a("DMAF",["InstanceManager","Instance","context","events"],function(e,t,n,i){function a(e){return function(t){var n,a;return u.test(t)?(n=t.split(u),n.length>2&&(a=n.slice(2),n.length=2,n.push(a))):n=arguments,n[0]?d[n[0]]?e.apply(d,n):(i.dispatch("log:error:core","Invalid type!",n[0]),null):(i.dispatch("log:error:core","verifyQueryPartial, Missing arguments!"),null)}}function r(t,n,i,a){this[t]=this[t]||Object.create(null),this[t].ids=this[t].ids||[],this[t].ids.push(n),i.prototype.defaults=this.Settings.descriptors.action[t][n]||{},this[t][n]=new e(i,a)}function s(e,t){for(var n,i,a=this[e].ids,r=0,s=a.length;s>r;r++)if(i=a[r],n=this[e][i].getInstance(t))return n;return null}function o(e,t,n){var a=this.getInstance(e,t);if(!a)return i.dispatch("log:error:core","Missing instance",e,t),null;for(var r=0,s=n.length;s>r&&void 0!==a&&("object"==typeof a||"function"==typeof a);r++)a=a[n[r]];return r!==s?(i.dispatch("log:error:core","Could not find property:",n.join(",")),null):a}function l(e,t){var n;return t.instanceId=e,this[t.type]&&this[t.type][t.id]?n=this[t.type][t.id].createInstance(t):i.dispatch("log:error:core",n.type,n.id,"was not registered with dmaf."),n||{error:!0}}function c(e,t){var n=this.getInstance(e,t);return n?this[n.type][n.id].removeInstance(t):(i.dispatch("log:error:core","DMAF.remove: Could not find instance",e,t),!1)
}var u=/[:]/,d={registeredObjects:{}};return Array.prototype.slice,console.log||function(){},d.getInstanceProperty=a(o),d.getInstance=a(s),d.registerInstance=r,d.removeInstance=c,d.createInstance=l,d.context=n,d}),a("init",["DMAF","Utils","Parse","events","Action","log"],function(e,t,n,i,r,s){return function(o,l,c,u,d,p,m){if(e.require=l,a.isBrowser){if(!a.hasContext)return e.require("public"),i.dispatch("_internal:resolve_listeners"),i.dispatch("_external:dmaf_fail"),void 0;if(e.Settings={},a.dev){if(a.log=!0,s(m),window.DMAF=e,!u)throw Error("Missing descriptors.xml!");if(e.Settings.descriptors=n("descriptors",u),!d)throw Error("Missing config.xml!");if(e.Settings.actions=n("actions",d),!p)throw Error("Missing assets.xml!");for(var h=n("actions",p),f=0;h.length>f;f++)e.Settings.actions.unshift(h[f])}else e.require("settings");o&&(e.Settings.assetsPath=o),t.each(c,function(t){switch(t){case"init":break;case"settings":break;default:e.require(t)}}),t.each(e.Settings.actions,function(n,a){e[a.type]&&e[a.type][a.id]?t.each(a.triggers,function(e,t){i.add(t,r(a))}):i.dispatch("log:core","DMAF: Requested unregistered module!",a)}),i.dispatch("preload_assets"),i.once("_internal:preloads_complete",function(){i.dispatch("log:core","preloads_complete"),i.dispatch("_internal:resolve_listeners"),i.dispatch("init_routing"),i.dispatch("dmaf_ready"),i.dispatch("_internal:resolve_input"),i.dispatch("log:core","Dispatching external dmaf_ready"),i.dispatch("_external:dmaf_ready"),i.dispatch("log:core","dmaf is now ready")})}else a.Parse=n}}),a("public",["DMAF","events"],function(e,t){function n(n,i,r){t.dispatch("log:public:tell",n,i),a.log&&console.log("dmaf.tell:",n),r||(r=1e3*e.context.currentTime),t.dispatch(n,r,i)}function i(e,n){return t.add("_external:"+e,n)}function r(e,n){return t.remove("_external:"+e,n)}function s(e,n){return t.once("_external:"+e,n)}function o(n,i){return"string"!=typeof n?(console.error("dmaf: You must provide a valid id for the object you wish to register."),2):n?i&&i instanceof Object?(i.instanceId||(i.instanceId=n),e.registeredObjects[n]?(console.log("You've already registered an object with id",n),void 0):(t.dispatch("log:public:registerObject",n,i),e.registeredObjects[n]=i,t.dispatch(n+".CREATE"),void 0)):(console.log("dmaf: You've tried to register an object not of type 'object'"),3):(console.error("dmaf: You must provide a valid id for the object you wish to register."),1)}function l(n){t.dispatch("log:public:unregisterObject",n);var i=e.registeredObjects[n],a=!1;return i&&(a=delete e.registeredObjects[n]),i=e.getInstance("customCode:"+n),i&&(a=e.removeInstance("customCode:"+n)),i=e.getInstance("mediaElement:"+n),i&&(a=e.removeInstance("mediaElement:"+n),t.dispatch("log:public:unregisterObject",n)),a&&t.dispatch(n+".REMOVE"),delete e.registeredObjects[n]}function c(){t.dispatch("log:core","resolving pending addListeners and registerObject calls."),a.once.resolve(s),a.addEventListener.resolve(i),a.removeEventListener.resolve(r),a.unregisterObject.resolve(l)}function u(){a.tell.resolve?(t.dispatch("log:core","resolving pending tells."),a.tell.resolve(n)):(a.tell=n,console.warn("dmaf: dmaf.tell has been overwritten. Unexpected behavior may occur.")),a.registerObject.resolve(o)}t.once("_internal:resolve_listeners",c),t.once("_internal:resolve_input",u)}),a("events",[],function(){function e(e){var n,i=s,a=Array.prototype.slice.call(arguments,0),r=t(e),o=[];s=0;for(var l=0,c=r.length;c>l&&(n=r[l],o.push(n.apply(null,a)),!s);l++);return s=i,o.length?o:null}function t(e){for(var t,n=e.split(l),i=o,a=[],r=0,s=n.length;s>r&&(t=i.names&&i.names[n[r]]);r++)a=a.concat(t.listeners||[]),i=i.names[n[r]];return a}function n(){s=1}function i(e,t){for(var n=e.split(l),i=o,a=0,r=n.length;r>a;a++)i=i.names,i.hasOwnProperty(n[a])&&void 0!==i[n[a]]?i=i[n[a]]:(i[n[a]]={names:{}},i=i[n[a]]);for(i.listeners=i.listeners||[],a=0,r=i.listeners.length;r>a;a++)if(i.listeners[a]===t)return;i.listeners.push(t)}function a(e,t){var n=function(){return r(e,n),t.apply(this,arguments)};return i(e,n)}function r(e,t){var n,i,a,r,s,u,d,p=e.split(l),m=[o];for(r=0,s=p.length;s>r;r++)for(u=0;m.length>u;u++)a=[u,1],n=m[u].names,n[p[r]]&&a.push(n[p[r]]),m.splice.apply(m,a);for(r=0,s=m.length;s>r;r++)for(n=m[r];n.names;){if(t){if(n.listeners){for(u=0,d=n.listeners.length;d>u;u++)if(n.listeners[u]===t){n.listeners.splice(u,1);break}n.listeners.length||delete n.listeners}for(i in n.names)if(n.names[c](i)&&n.names[i].listeners){var h=n.names[i].listeners;for(u=0,d=h.length;d>u;u++){if(h[u]===t){h.splice(u,1);break}h.length||delete n.names[i].listeners}}}else{delete n.listeners;for(i in n.names)n.names[c](i)&&n.names[i].listeners&&delete n.names[i].listeners}n=n.names}}var s,o={names:{}},l=/[\:]/,c="hasOwnProperty",u={add:i,remove:r,_events:o,listeners:t,stop:n,once:a,dispatch:e};return u}),a("assetController",["DMAF","Utils","Instance","Assets","Parse","events","AudioManager"],function(e,t,n,i,r,s,o){function l(e){return!!b.canPlayType(w[e]).replace(/no/,"")}function c(){}function u(){}function d(){}function p(){}function m(){}function h(){}function f(){}function g(t,n){return function(a){n.files.forEach(function(n){function r(e){s.dispatch("log:assets","Decoded",n.name),i.buffer[n.name]=e,t.onstep()}function o(e){console.error("Could note decode",n.name,e)}e.context.decodeAudioData(a.slice(n.start,n.end),r,o)})}}var y,v="assetController",b=a.isBrowser?document.createElement("audio"):{},_={loadSampleMap:"xml/",loadMIDI:"midi/",loadSound:"audio/",loadCustomCode:"js/",loadHTMLAudio:"audio/",cacheHTMLAudio:"audio/"},x=["ogg","aac","mp3","wav"],w={wav:'audio/wav; codecs="1"',mp3:"audio/mpeg;",aac:'audio/mp4; codecs="mp4a.40.2"',ogg:'audio/ogg; codecs="vorbis"'},T=Object.create(n,{init:{value:function(){this.loadCount=0,-1!==this.triggers.indexOf("preload_assets")&&(i.preloads+=this.files.length,this.preload=!0)}},onload:{value:function(){return this.returnEvent&&s.dispatch(this.returnEvent),e.removeInstance(this.type,this.instanceId)}},onstep:{value:function(){return s.dispatch("_internal:asset_loaded",this.preload),++this.loadCount===this.files.length&&this.onload()}},onAction:{value:function(){this.files.length||(s.dispatch("log:error:assets",this.type,this.id,"There are no files for this loader"),this.onstep()),this.baseURL=e.Settings.assetsPath+_[this.id],this.fileNames=this.files.map(t.prop("name"));for(var n=0;this.fileNames.length>n;n++)this.loadFile(this.baseURL+this.fileNames[n]+this.format,this.fileNames[n],n);this.onAction=t.nope}}});if(void 0!==b.canPlayType)for(var E=0,k=x.length;k>E;E++)if(l(x[E])){y="."+x[E];break}return void 0===y?s.dispatch("_external:dmaf_fail"):(e.format=y,o.init(),c.prototype=Object.create(T,{loadFile:{value:function(){function e(){t.onstep()||(b.src=t.baseURL+n[t.loadCount]+t.format,b.load())}var t=this,n=this.fileNames;b.addEventListener("canplaythrough",e,!1),b.src=t.baseURL+n[t.loadCount]+t.format,b.load(),this.fileNames.length=0}},format:{value:y}}),e.registerInstance("assetController","cacheHTMLAudio",c),u.prototype=Object.create(T,{loadFile:{value:function(){function e(){t.onstep()||(s.once("_internal:"+n[t.loadCount]+".READY",e),o.preloadElement(n[t.loadCount]))}var t=this,n=this.fileNames;s.once("_internal:"+n[t.loadCount]+".READY",e),o.preloadElement(n[t.loadCount]),this.fileNames.length=0}},format:{value:y}}),e.registerInstance("assetController","loadHTMLAudio",u),d.prototype=Object.create(T,{format:{value:".js"},loadFile:{value:function(e){var t=this,n=document.createElement("script");n.type="text/javascript",n.src=e,n.addEventListener("load",function(){t.onstep(),void 0!==n.remove&&n.remove()}),document.body.appendChild(n)}}}),e.registerInstance(v,"loadCustomCode",d),p.prototype=Object.create(T,{format:{value:".xml"},loadFile:{value:function(e){function n(e){r("samplemap",e)}var i={chain:[this.onstep],context:this,responseXML:!0,fail:function(){s.dispatch("log:assets","Problem parsing samplemap file"),this.onstep()}.bind(this)};t.ajax(e,n,i)}}}),e.registerInstance(v,"loadSampleMap",p),m.prototype=Object.create(T,{format:{value:".mid"},loadFile:{value:function(e,n,i){function a(e){r("midi",e,this.files[i].type,n),this.onstep()}var o={override:"text/plain; charset=x-user-defined",expectType:"string",context:this,fail:function(){s.dispatch("log:assets","Problem parsing midi file",e),this.onstep()}.bind(this)};t.ajax(e,a,o)}}}),e.registerInstance(v,"loadMIDI",m),h.prototype=Object.create(T,{loadFile:{value:function(n,a){function r(t){d>0&&s.dispatch("log:assets","Retry success",a),s.dispatch("log:assets","Recieved",a,"from network."),e.context.decodeAudioData(t,c,u)}function o(){3>++d?(s.dispatch("log:assets","Could not load audio file",a,"trying again."),t.ajax(n,r,l,"buffer")):(s.dispatch("log:assets","Could not load audio file",a),this.onstep())}var l={responseType:"arraybuffer",fail:o.bind(this)},c=function(e){s.dispatch("log:assets","Decoded",a),i.buffer[a]=e,this.onstep()}.bind(this),u=function(e){s.dispatch("log:assets","Could not decode file",a,e),this.onstep()}.bind(this),d=0;t.ajax(n,r,l,"buffer")}},format:{value:y}}),e.registerInstance(v,"loadSound",h),f.prototype=Object.create(n,{init:{value:function(){this.loadCount=0,-1!==this.triggers.indexOf("preload_assets")&&(i.preloads+=this.files.length,this.preload=!0)}},onAction:{value:function(){var n={context:this,responseType:"arraybuffer",fail:function(){s.dispatch("log:assets","Problem loading binary file")}.bind(this)},i=this.headers.reduce(function(t,n){return n.format===e.format?n:t});t.ajax(e.Settings.assetsPath+i.path,g(this,i),n)}},onload:{value:function(){return this.returnEvent&&s.dispatch(this.returnEvent),e.removeInstance(this.type,this.instanceId)}},onstep:{value:function(){return s.dispatch("_internal:asset_loaded",this.preload),++this.loadCount===this.files.length&&this.onload()}}}),e.registerInstance("assetController","loadBin",f),void 0)}),a("audioRouter",["DMAF","Utils","InstanceManager","Instance","AudioNodes"],function(e,t,n,i,a){function r(){this.input=e.context.createGainNode(),this.output=e.context.createGainNode()}var s="audioRouter";r.prototype=Object.create(i,{init:{value:function(n){var i,r=this.input;this.effects=a.createRecursive(this.input,n.audioNodes),this.effects.length>0&&(r=this.effects[this.effects.length-1]),r.connect(this.output),t.each(this.out,function(t,n){i=e.getInstance(s,n),this.output.connect(i?i.input:e.context.destination)},this)}},volume:{get:function(){return this.output.gain},set:function(e){this.output.gain.value=t.dbToWAVolume(e)}},getAutomatableProperties:{value:function(e){return"fx"==e.substring(0,2)?this.effects[parseInt(e.substring(2),10)]:void 0}},setAutomatableProperty:{value:function(t,n,i,a){var r=i>0?"linearRampToValueAtTime":"setValueAtAtTime";switch(t){case"volume":n=parseFloat(n),t="gain";break;case"pan":break;default:return}this.output[t].cancelScheduledValues(e.context.currentTime),this.output[t].setValueAtTime(this.output[t].value,e.context.currentTime),this.output[t][r](n,(a+i)/1e3)}},onAction:{value:function(){}}}),e.registerInstance(s,"audioBus",r)}),a("beatPatternPlayer",["DMAF","TimeManager","InstanceManager","Instance","beatPattern","beatPosition","beatPatternInstance","Assets","events","Utils"],function(e,t,n,i,a,r,s,o,l,c){function u(){this.state=this.STOPPED,this.pendingPatterns=[],this.activePatterns=[],this.tempo=120,this.resetPosition()}function d(){var t,n,i=(new Date).getTime(),a=1e3*e.context.currentTime;return p&&(d.lastDifference=t,p=!1),t=i-a,n=t-d.lastDifference,Math.abs(n)>5?(l.dispatch("log:error","DMAF: Adjusting next beat Time. Difference was "+n+"ms"),d.lastDifference=t,n):0}var p=!0;u.prototype=Object.create(i,{STOPPED:{value:0},RUNNING:{value:1},tempo:{get:function(){return this._tempo},set:function(e){this._tempo=e,this.beatLength=250*(60/e)}},resetPosition:{value:function(){this.songPosition=new r(0,16,16),this.currentPattern=new s(this,{beatPattern:new a("MASTER",1),channel:"MASTER",addAtSongPosition:new r(1,1,16),startPatternAtBeat:1,clearPending:!0,replaceActive:!0,setAsCurrent:!0,loop:!0,loopLength:16,clearPosition:new r(1,1,16)})}},onAction:{value:function(t,n,i,a){if(l.dispatch("log:instance:player:beatPatternPlayer","onAction",t,"actionTime",parseInt(n,10)),a.flowItems)for(var r,s,o,u,d=a.flowItems,p=0,m=d.length;m>p;p++)switch(s=c.clone(d[p]),l.dispatch("log:instance:player:beatPatternPlayer",s.id,parseInt(n,10)),s.id){case"start":this.state===this.STOPPED&&this.start(s,n);break;case"add":if(this.state===this.STOPPED)return l.dispatch("log:error","Cannot add patterns while player is not running!"),void 0;for(o=0,u=s.patternId.length;u>o;o++){if(r=c.clone(s),r.patternId=s.patternId[o],r._dynamicValues)for(var h,f=0;r._dynamicValues.length>f;f++)h=r._dynamicValues[f],r[h.key]=e.getInstanceProperty(h.string);o>0&&(r.replaceActive=!1,r.clearPending=!1,r.setAsCurrent=!1),this.addPattern(r)}break;case"stop":this.state===this.RUNNING&&this.stop();break;case"beatEvent":this.state===this.RUNNING&&this.beatEvent(s,n)}}},addPattern:{value:function(e){e.beatPattern=o.getAsset("beatPattern",e.patternId),e.addAtSongPosition=this.getSongPosition(e.songPosition),e.startPatternAtBeat=this.getStartAtBeat(e.patternPosition),e.clearPosition=this.getSongPosition(e.clearPosition);var t=new s(this,e);if(e.clearPending)if("main"===e.channel)l.dispatch("log:instance:player:beatPatternPlayer","Clearing all pending patterns."),this.pendingPatterns.length=0;else for(var n=this.pendingPatterns.length;n--;)this.pendingPatterns[n].channel===e.channel&&(l.dispatch("log:instance:player:beatPatternPlayer","removing",this.pendingPatterns[n].patternId),this.pendingPatterns.splice(n,1));t.ERROR||(l.dispatch("log:instance:player:beatPatternPlayer","adding",t.patternId,"to pendingPatterns"),this.pendingPatterns.push(t))}},checkBeat:{value:function(){for(var t=1e3*e.context.currentTime,n=!1;t-this.nextBeatTime-e.preListen>this.beatLength;)this.skipBeat(this.nextBeatTime),n=!0;for(n&&(l.dispatch("log:instance:player:beatPatternPlayer","beatPatternPlayer has skipped beats!"),l.dispatch("log:instance:player:beatPatternPlayer","songPosition: "+this.songPosition.getInBeats()),l.dispatch("log:instance:player:beatPatternPlayer","patternPosition: "+this.currentPattern.currentBeat));t>=this.nextBeatTime-e.preListen;)this.updateBeat(this.nextBeatTime)}},skipBeat:{value:function(e){this.currentBeatTime=e,this.songPosition.gotoNextBeat();for(var t=0,n=this.activePatterns.length;n>t;t++)this.activePatterns[t].gotoNextBeat();this.updateActivePatterns(),l.dispatch("log:instance:player:beatPatternPlayer","songPosition: "+this.songPosition.getInBeats(),"currentBeatTime:"+e),l.dispatch("log:instance:player:beatPatternPlayer","patternPosition: "+this.currentPattern.currentBeat,"currentBeatTime:"+e),this.nextBeatTime=e+this.beatLength}},updateBeat:{value:function(e){this.currentBeatTime=e,this.songPosition.gotoNextBeat();for(var t=0,n=this.activePatterns.length;n>t;t++)this.activePatterns[t].gotoNextBeat();for(this.updateActivePatterns(),t=0,n=this.activePatterns.length;n>t;t++)this.activePatterns[t].executeEvents(e,this.beatLength);this.dispatchBeat(),this.nextBeatTime=e+this.beatLength-d()}},dispatchBeat:{value:function(){1===this.songPosition.beat%4&&l.dispatch("metronome",this.currentBeatTime,{bar:this.songPosition.bar,beat:Math.floor(this.songPosition.beat/4)+1})}},updateActivePatterns:{value:function(){for(var e,t,n,i,a,r=0;this.pendingPatterns.length>r;r++)if(n=this.pendingPatterns[r].addAtSongPosition,n.bar===this.songPosition.bar&&n.beat===this.songPosition.beat){if(e=this.pendingPatterns[r],this.pendingPatterns.splice(r--,1),e.replaceActive)for(i=0,a=this.activePatterns.length;a>i;i++)("main"===e.channel||e.channel===this.activePatterns[i].channel)&&(this.activePatterns[i].removeAtSongPosition=e.clearPosition);e.setAsCurrent&&(l.dispatch("log:instance:player:beatPatternPlayer","Setting",e.patternId,"as current pattern."),this.currentPattern=e),l.dispatch("log:instance:player:beatPatternPlayer","adding",e.patternId,"to activePatterns. pattern position",e.currentBeat),this.activePatterns.push(e)}for(r=0;this.activePatterns.length>r;r++){if(t=this.activePatterns[r].removeAtSongPosition,isNaN(t.beat))throw this.stop({songPosition:"ASAP"}),Error("NaN! beat",this);t.bar===this.songPosition.bar&&t.beat===this.songPosition.beat?(l.dispatch("log:instance:player:beatPatternPlayer","removing",this.activePatterns[r].patternId),this.activePatterns.splice(r--,1)):t.bar<this.songPosition.bar&&(l.dispatch("log:instance:player:beatPatternPlayer","removing",this.activePatterns[r].patternId),this.activePatterns.splice(r--,1))}}},start:{value:function(e,n){return this.nextBeatTime=n,isNaN(e.tempo)?(l.dispatch("log:error","Flow item in",this.instanceId,"was missing tempo."),void 0):(this.tempo=e.tempo,isNaN(e.beatsPerBar)?(l.dispatch("log:error","Flow item in",this.instanceId,"was missing beatsPerBar."),void 0):(this.beatsPerBar=e.beatsPerBar,this.state=this.RUNNING,l.dispatch("log:instance:player:beatPatternPlayer","adding addFrameListener","actionTime: "+parseInt(n,10)),t.addFrameListener("checkBeat",this.checkBeat,this),void 0))}},stop:{value:function(){this.state=this.STOPPED,this.pendingPatterns.length=0,this.activePatterns.length=0,t.removeFrameListener("checkBeat"),this.resetPosition(),l.dispatch("log:instance:player:beatPatternPlayer","Player",this.instanceId,"is stopped.")}},beatEvent:{value:function(n){var i=this.getSongPosition(n.songPosition).getInBeats(),a=this.songPosition.getInBeats(),r=(i-a)*this.beatLength;r+=1e3*e.context.currentTime,r=Math.max(1e3*e.context.currentTime,r),t.checkFunctionTime(r,l.dispatch,[],l,n.returnEvent,r,n)}},getSongPosition:{value:function(e){var t,n=e,i=0,a=0,s=new r(this.songPosition.bar,this.songPosition.beat,this.beatsPerBar);switch(/\+/.test(n)&&(t=n.split("+"),n=t[0],t=t[1].split("."),a=parseInt(t[0],10)||0,i=parseInt(t[1],10)||0),n){case"NEXT_BEAT":s.addOffset({bar:0,beat:1});break;case"NEXT_BAR":s.beat=1,s.bar++;break;case"ASAP":return s;default:l.dispatch("log:instance:player:beatPatternPlayer","BeatPatternPlayer getSongPosition: Unrecognized songPosition ",n)}return s.bar+=a,s.beat+=i,s}},getStartAtBeat:{value:function(e){var t,n=e,i=0,a=0,r=this.currentPattern&&this.currentPattern.currentBeat||1;if(!n)return 1;switch(/\+/.test(n)&&(t=n.split("+"),n=t[0],t=t[1].split("."),a=parseInt(t[0],10)||0,i=parseInt(t[1],10)||0),n){case"FIRST_BEAT":r=1;break;case"SYNC":r++;break;case"SONG_POSITION":return this.songPosition.getInBeats();default:l.dispatch("log:instance:player:beatPatternPlayer","BeatPatternPlayer: Unrecognized patternPosition "+n)}return r+=a*(this.currentPattern&&this.currentPattern.beatsPerBar||16),r+=i}}}),e.registerInstance("player","beatPatternPlayer",u)}),a("customCode",["DMAF","InstanceManager","Instance","events"],function(e,t,n,i){function a(){}function r(){}a.prototype=Object.create(n),e.registerInstance("customCode","customCode",a),e.customCode.customCode.createInstance=function(t){if(e.customCode[t.instanceId]){var n=e.customCode[t.instanceId].createInstance(t);return n}i.dispatch("log:error",t.instanceId,"was not registered with DMAF")},r.prototype=Object.create(n,{onAction:{value:function(){var t=e.registeredObjects[this.instanceId];t&&(this.obj=t)}}}),e.registerInstance("customCode","userObject",r)}),a("eventProcessor",["DMAF","events","TimeManager","InstanceManager","Instance"],function(e,t,n,i,a){function r(){}function s(){}var o="eventProcessor";r.prototype=Object.create(a,{init:{value:function(){this.lastEvent="",this.lastExecutedTime=-1*this.reTrig,this.pending=[]}},send:{value:function(e,n,i){"ALWAYS"===this.dispatch||e!==this.lastEvent?(t.dispatch("log:instance:eventProcessor:eventMapper","sending",e,"with actionTime",parseInt(n,10)),t.dispatch(e,n,i),this.lastEvent=e):t.dispatch("log:instance:eventProcessor:eventMapper","dispatch settings have prevented",this.instanceId,"from sending",e)}},onAction:{value:function(i,a,r){var s,o,l,c=parseInt(1e3*e.context.currentTime,10);if(c-this.lastExecutedTime<this.reTrig)return t.dispatch("log:instance:eventProcessor:eventMapper","reTrig settings have prevented execution of",this.instanceId),void 0;this.clearPending&&this.pending.length&&(t.dispatch("log:instance:eventProcessor:eventMapper","Clearing pending events"),n.dropPendingArray(this.pending));for(var u=0,d=this.eventMaps.length;d>u;u++)if(l=this.eventMaps[u],s=a+l.delay,o=l["in"],-1!==o.indexOf(i)){if(l.out===i)return t.dispatch("log:error:eventMapper",l.out,"is the same in event as output. Ignoring..."),void 0;n.checkFunctionTime(s,this.send,this.pending,this,l.out,s,r)}this.lastExecutedTime=c}}}),e.registerInstance(o,"eventMapper",r),s.prototype=Object.create(a,{init:{value:function(){for(var e=0,n=this.eventMaps.length;n>e;e++)this.eventMaps[e]["in"]=parseInt(this.eventMaps[e]["in"],10),isNaN(this.eventMaps[e]["in"])&&t.dispatch("log:error","In value for MidiNoteMapper is NaN!")}},onAction:{value:function(e,n,i){if(i&&i.midiNote)for(var a=0,r=this.eventMaps.length;r>a;a++)this.eventMaps[a]["in"]===i.midiNote&&t.dispatch(this.eventMaps[a].out,n,i)}}}),e.registerInstance(o,"midiNoteMapper",s)}),a("sound_html5",["DMAF","Utils","events","sound","TimeManager","AudioManager"],function(e,t,n,i,a,r){function s(e){return e._.playing}function o(e,t){return function(){t._wait=null,t.proceedPlay(e)}}function l(){}l.prototype=Object.create(i,{init:{value:function(){this.sounds=[],this.pendingPlays=[],this.pendingStops=[],this.pendingEvents=[],this.pendingSoftLoop=[],this.playing=!1,this.previousActionTime=0}},checkFinished:{value:function(){this.sounds=this.sounds.filter(s),this.sounds.length||(this.playing=!1)}},clearAll:{value:function(){this.sounds=this.sounds.filter(function(e){return e.pause(),!1}),this.playing=!1}},dispose:{value:function(e){this.sounds=this.sounds.filter(function(t){return t.timestamp===e?(t.pause(),!1):!0}),this.sounds.length||(this.playing=!1)}},proceedPlay:{value:function(t){"RESYNC"===this.timingCorrection&&this.clearAll(),this._wait&&(n.removeEventListener("_internal:"+this.soundFile+".READY"),this._wait=null);var i=r.requestElement(this.soundFile,this);if(!i._.loaded)return this._wait=o(t,this),n.once("_internal:"+this.soundFile+".READY",this._wait),void 0;var s,l=1e3*e.context.currentTime,c=1e3*i.duration;if("PLAY"===this.timingCorrection)s=0;else{if(l>t+c)return;s=Math.max(0,l-t)}i.currentTime=s/1e3,i.play(),a.dropPendingArray(this.pendingEvents),this.returnEvent&&a.checkFunctionTime(t+c+this.returnEventTime,n.dispatch,this.pendingEvents,n,this.returnEvent,t+c+this.returnEventTime),this.loop>-1&&(a.checkFunctionTime(t+this.loop,this.proceedPlay,this.pendingSoftLoop,this,t+this.loop),a.checkFunctionTime(t+this.loop,this.dispose,[],this,i._.timestamp)),a.checkFunctionTime(t+c,this.dispose,[],this,i._.timestamp),this.playing=!0,this.sounds.push(i)},volume:{get:function(){return this._volume},set:function(e){this._volume=t.dbToJSVolume(e);for(var n=0;this.sounds.length>n;n++)this.sounds[n].volume=e}}}}),e.registerInstance("sound","htmlPlay",l)}),a("mediaElement",["DMAF","events","TimeManager","InstanceManager","Instance"],function(e,t,n,i,a){function r(){}function s(){}var o="mediaElement";r.prototype=Object.create(a,{currentTime:{get:function(){return this.element?this.element.currentTime:void 0}},onAction:{value:function(){if(this.element)return null;var i=this.instanceId,a=e.registeredObjects[i];a?a instanceof HTMLElement&&("VIDEO"===a.tagName||"AUDIO"===a.tagName?(this.element=a,this.playing=!1,this.lastPlayTime=a.currentTime,n.addFrameListener(this.type+":"+this.instanceId,this.poll,this)):t.dispatch("log:instance:mediaElement","DMAF does not support registering HTML elements other than <video> and <audio>")):t.dispatch("log:instance:mediaElement","DMAF Could not locate mediaElement with id",this.instanceId)}},poll:{value:function(){this.lastPlayTime===this.element.currentTime?this.playing&&(t.dispatch("log:instance:mediaElement",this.instanceId+".STOP",1e3*e.context.currentTime),t.dispatch(this.instanceId+".STOP",1e3*e.context.currentTime),this.playing=!1):this.lastPlayTime-this.element.currentTime>.25?(t.dispatch("log:instance:mediaElement",this.instanceId+".START",1e3*(e.context.currentTime-this.currentTime)),t.dispatch(this.instanceId+".START",1e3*(e.context.currentTime-this.currentTime))):this.element.currentTime-this.lastPlayTime>.25?(t.dispatch("log:instance:mediaElement",this.instanceId+".START",1e3*(e.context.currentTime-this.currentTime)),t.dispatch(this.instanceId+".START",1e3*(e.context.currentTime-this.currentTime))):this.playing||(t.dispatch("log:instance:mediaElement",this.instanceId+".START",1e3*(e.context.currentTime-this.currentTime)),t.dispatch(this.instanceId+".START",1e3*(e.context.currentTime-this.currentTime)),this.playing=!0),this.lastPlayTime=this.element.currentTime}}}),e.registerInstance(o,"mediaElement",r),e.mediaElement.mediaElement.removeInstance=function(t){var i=e.getInstance("mediaElement:"+t);return i&&n.removeFrameListener(o+":"+t),delete this.activeInstances[t]},s.prototype=Object.create(a,{onAction:{value:function(e,t){var n,i=/CREATE|REMOVE/.exec(e);i.length&&(i=i[0].toLowerCase(),n=e.split(".")[0],this[i](t,n))}},create:{value:function(t,i){var a=e.mediaElement.mediaElement.createInstance({instanceId:i,type:o,id:"mediaElement"});n.checkFunctionTime(t,a.onAction,[],a)}},remove:{value:function(t,n){return e.mediaElement.mediaElement.removeInstance(n)}}}),e.registerInstance("control","mediaController",s,!0)}),a("midiProcessor",["DMAF","events","Utils","InstanceManager","Instance","TimeManager"],function(e,t,n,i,a,r){function s(){}function o(){}var l="midiProcessor",c={off:null,major:[0,-1,0,-1,0,0,-1,0,-1,0,-1,0],harmonicMinor:[0,1,0,0,-1,0,1,0,0,-1,1,0],naturalMinor:[0,-1,0,0,-1,0,-1,0,0,-1,0,-1],majorPentatonic:[0,1,0,1,0,-1,1,0,1,0,-1,1],minorPentatonic:[0,-1,1,0,-1,0,1,0,-1,1,0,-1],dorian:[0,1,0,0,-1,0,1,0,1,0,0,-1],phrygian:[0,0,-1,0,-1,0,1,0,0,-1,0,-1],lydian:[0,1,0,1,0,1,0,0,1,0,1,0],mixolydian:[0,1,0,1,0,0,-1,0,-1,0,-1],locrian:[0,0,-1,0,-1,0,0,-1,0,-1,0,-1],doubleHarmonic:[0,0,-1,1,0,0,1,0,0,-1,1,0],halfDim:[0,1,0,0,-1,0,0,-1,0,-1,0,-1],pentatonic:[0,-1,-2,0,-1,0,-1,0,-1,-2,0,-1]},u={C:0,"C#":1,D:2,"D#":3,E:4,F:5,"F#":6,G:7,"G#":8,A:9,"A#":10,B:11};s.prototype=Object.create(a,{onChange:{get:function(){return this._onChange},set:function(e){return this._changeMemory=this._changeMemory||{},this._onChange=e,this._onChange}},scale:{get:function(){return this._scale},set:function(e){return this._scale="custom"===e?this.customScale.split(",").map(parseFloat):c[e],this._scale}},root:{get:function(){return this._root},set:function(e){this._root=u[e]}},onAction:{value:function(e,n,i){if(!i)return t.dispatch("log:error","no eventProperties for",e),void 0;if(void 0===i.midiNote)return t.dispatch("log:error","no midiNote for",e),void 0;if(this.onChange){if(this._changeMemory[e]===i.midiNote)return t.stop(),void 0;this._changeMemory[e]=i.midiNote}0!==this.dynamic&&(isNaN(i.velocity)||(i.velocity=this.dynamic+parseInt(i.velocity,10))),this.transpose&&(this.transpose=parseInt(this.transpose,10),i.midiNote+=this.transpose),null!==this.scale&&this.quantizeToScale(i)}},quantizeToScale:{value:function(e){var t;return e.midiNote&&(t=e.midiNote%12,t-=this._root,0>t&&(t=12+t),e.midiNote+=this.scale[t]),e}}}),e.registerInstance(l,"midiProcessor",s),o.prototype=Object.create(a,{init:{value:function(){this.lastActionTime=this.reTrig;for(var e=0,t=this.noteMaps.length;t>e;e++)this.noteMaps[e].midiNote=n.toMIDINote(this.noteMaps[e].note)}},onAction:{value:function(e,n){var i,a,s;if(!(n-this.lastActionTime<this.reTrig)){for(var o=0,l=this.noteMaps.length;l>o;o++)for(var c=0,u=this.noteMaps[o].triggerIn.length;u>c;c++)s=this.noteMaps[o].triggerIn[c],s===e&&(i={type:"noteOn",midiNote:this.noteMaps[o].midiNote,velocity:this.noteMaps[o].velocity,duration:this.noteMaps[o].duration},a=n+this.noteMaps[o].delay,r.checkFunctionTime(a,t.dispatch,[],t,this.noteMaps[o].triggerOut,a,i));this.lastActionTime=n}}}}),e.registerInstance(l,"makeNote",o)}),a("parameterProcessor",["DMAF","TimeManager","InstanceManager","Instance","events"],function(e,t,n,i,a){function r(){this.timeoutContainer=[],this.instanceId="transform_"+l++}function s(){}var o="parameterProcessor",l=0;r.prototype=Object.create(i,{onAction:{value:function(e,t){var n="multi"===this.targets[0]?[e.replace(this.multiSuffix,"")]:this.targets.slice(0);this.execute(t,n)}},execute:{value:function(t,n){for(var i,r=0;n.length>r;r++)i=e.getInstance(this.targetType,n[r]),i&&(a.dispatch("log:instance:parameterProcessor:transform","Transforming",this.targetParameter,"of",i.instanceId),i.setProperty(this.targetParameter,this.value,this.duration,t))}}}),e.registerInstance(o,"transform",r),s.prototype=Object.create(i,{onAction:{value:function(t,n,i){var a,r,s;if(i&&void 0!==i.value)for(var o=0,l=this.macroTargets.length;l>o;o++)if(a=this.macroTargets[o],s=e.getInstance(a.targetInstance)){switch(r=i.value,a.curve){case"EXP":r=Math.pow(r,2);break;case"LOG":r=Math.log(0!==r?r:r+1e-16)}r=a.min+(a.max-a.min)*r,s.setProperty(a.targetParameter,r,i.duration||0,n)}}}}),e.registerInstance(o,"macro",s)}),a("sound",["DMAF","Utils","TimeManager","events","InstanceManager","Instance","Iterator","Assets"],function(e,t,n,i,a,r,s,o){function l(){this.output=e.context.createGainNode()}function c(t){this.iterator=new s(t.soundFiles,t.generator),this.output=e.context.createGainNode()}function u(){}function d(t,n){e.context.currentTime>n&&(n=e.context.currentTime+this.delay);var i=t.replace(this.multiSuffix,""),a=e.getInstance("sound",i);a&&a.stop(n,this.fadeOut/1e3)}function p(t,n){var i;1e3*e.context.currentTime>n&&(n=1e3*e.context.currentTime+this.delay);for(var a=0,r=this.targets.length;r>a;a++)i=e.getInstance("sound",this.targets[a]),i&&i.stop(n,this.fadeOut/1e3)}var m="sound",h=0,f=t.propIsnt("playbackState",3),g=Object.create(r,{init:{value:function(t){if(this.pendingPlays=[],this.pendingStops=[],this.pendingEvents=[],this.pendingSoftLoop=[],this.sounds=[],this.playing=!1,this.previousActionTime=0,t.bus&&"master"!==t.bus){var n=e.getInstance("audioRouter",t.bus);this.targetBus=n?n.input:e.context.destination}else this.targetBus=e.context.destination;this.output.connect(this.targetBus)}},checkFinished:{value:function(){this.sounds=this.sounds.filter(f)}},clearAll:{value:function(t){for(var n=this.sounds,i=n.length;i--;)this.sounds[i].gain&&(this.sounds[i].gain.cancelScheduledValues(e.context.currentTime),this.sounds[i].gain.setValueAtTime(this.sounds[i].gain.value,e.context.currentTime),this.sounds[i].gain.linearRampToValueAtTime(0,e.context.currentTime+(t||0))),this.sounds[i].noteOff(e.context.currentTime+(t||0)+.001);this.sounds.length=0,this.playing=!1}},createSound:{value:function(){var t=e.context.createBufferSource(),n=o.getAsset("buffer",this.getSoundFile());return n?(t.id=h++,t.buffer=n,t.connect(this.output),-2===this.loop&&(t.loop=!0),t):(i.dispatch("log:error:sound:genericPlay","Buffer is missing. Check soundFile property."),null)}},dispose:{value:function(e){for(var t=this.sounds.length;t--;)this.sounds[t].id===e&&this.sounds.splice(t,1);this.playing=!!this.sounds.length}},play:{value:function(e){this.checkFinished(),n.dropPendingArray(this.pendingStops),this.playing?(this.reTrig>-1&&(n.dropPendingArray(this.pendingPlays),n.dropPendingArray(this.pendingEvents)),0===this.reTrig||"RESYNC"===this.timingCorrection?(i.dispatch("log:instance:sound","scheduling",this.instanceId,"for",e),n.checkFunctionTime(e,this.proceedPlay,this.pendingPlays,this,e)):this.reTrig>0&&e-this.previousActionTime>this.reTrig&&(this.previousActionTime=e,i.dispatch("log:instance:sound","scheduling",this.instanceId,"for",e),n.checkFunctionTime(e,this.proceedPlay,this.pendingPlays,this,e))):(this.previousActionTime=e,i.dispatch("log:instance:sound","scheduling",this.instanceId,"for",e),n.checkFunctionTime(e,this.proceedPlay,this.pendingPlays,this,e))}},proceedPlay:{value:function(t){i.dispatch("log:instance:sound","playing",this.instanceId,"at",Math.floor(1e3*e.context.currentTime));
var a=this.createSound();if(a){var r,s=1e3*e.context.currentTime,o=1e3*a.buffer.duration;switch(this.timingCorrection){case"PLAY":s>t?a.noteOn(s/1e3):a.noteOn(t/1e3);break;case"RESYNC":if(this.clearAll(),s>t+o)return;s>t?(r=s-t,a.noteGrainOn(s/1e3,r/1e3,(o-r)/1e3)):a.noteOn(t/1e3);break;case"SYNC":if(s>t+o)return;s>t?(r=s-t,a.noteGrainOn(s/1e3,r/1e3,(o-r)/1e3)):a.noteOn(t/1e3)}a.gain&&(this.fadeIn>0?s>t&&(a.gain.setValueAtTime(0,s/1e3),a.gain.linearRampToValueAtTime(1,s/1e3+this.fadeIn/1e3)):(a.gain.setValueAtTime(0,t/1e3),a.gain.linearRampToValueAtTime(1,t/1e3+this.fadeIn/1e3))),n.dropPendingArray(this.pendingEvents),this.returnEvent&&n.checkFunctionTime(t+o+this.returnEventTime,i.dispatch,this.pendingEvents,i,this.returnEvent,t+o+this.returnEventTime),this.loop>-1&&(n.checkFunctionTime(t+this.loop,this.proceedPlay,this.pendingSoftLoop,this,t+this.loop),n.checkFunctionTime(t+this.loop,this.dispose,[],this,a.id),a.noteOff(t/1e3+a.buffer.duration)),-2===this.loop||n.checkFunctionTime(t+o,this.dispose,[],this,a.id),this.playing=!0,this.sounds.push(a)}}},stop:{value:function(t,a){i.dispatch("log:instance:sound","scheduling stop",this.instanceId,"at",Math.floor(1e3*e.context.currentTime)),n.dropPendingArray(this.pendingPlays),n.dropPendingArray(this.pendingStops),n.checkFunctionTime(t,this.proceedStop,this.pendingStops,this,a)}},proceedStop:{value:function(t){i.dispatch("log:instance:sound","Stopping",this.instanceId,"at",Math.floor(1e3*e.context.currentTime)),n.dropPendingArray(this.pendingEvents),n.dropPendingArray(this.pendingSoftLoop),this.clearAll(t),e.sound[this.id].removeInstance(this.instanceId)}},volume:{get:function(){return this.output.gain},set:function(e){this._volume=e,this.waVolume=t.dbToWAVolume(this._volume),this.output&&(this.output.gain.value=this.waVolume)}},onAction:{value:function(e,t){"multi"===this.soundFile&&(this.soundFile=e.replace(this.multiSuffix,"")),this.play(t)}}});return l.prototype=Object.create(g,{getSoundFile:{value:function(){return this.soundFile}}}),e.registerInstance(m,"genericPlay",l),c.prototype=Object.create(g,{getSoundFile:{value:function(){return this.iterator.getNext()}}}),e.registerInstance(m,"stepPlay",c),u.prototype=Object.create(r,{init:{value:function(){this.onAction="multi"===this.targets[0]?d:p}}}),e.registerInstance(m,"soundStop",u,!0),g}),a("stateProcessor",["DMAF","InstanceManager","Instance","events"],function(e,t,n,i){function a(){this.value=void 0,this.previous=void 0}var r="stateProcessor",s="in";a.prototype=Object.create(n,{onAction:{value:function(t){var n,a,r,o,l;for(a=0,r=this.stateMaps.length;r>a;a++)for(o=0,l=this.stateMaps[a][s].length;l>o;o++)this.stateMaps[a][s][o]===t&&(n=this.stateMaps[a].state,this.stateMaps[a]._dynamicValues&&(n=e.getInstanceProperty(this.stateMaps[a]._dynamicValues[0].string)),a=r,o=l);if(!n)return i.dispatch("log:instance:stateProcessor","No state found for",t),!1;switch(this.update){case"always":this.previous=this.value,this.value=n;break;case"onChange":n!==this.value&&(this.previous=this.value,this.value=n)}}}}),e.registerInstance(r,"state",a)}),a("synth",["DMAF","Utils","InstanceManager","TimeManager","Instance","Assets","AudioNodes","events"],function(e,t,n,i,a,r,s,o){function l(t){this.input=e.context.createGainNode(),this.output=e.context.createGainNode(),this.Note=p.call(this,t)}function c(t,n,i){if(t)this.input.connect(this.output),this.output.connect(t);else{var a=this.input;if(this.effects=s.createRecursive(a,n),this.effects.length>0&&(a=this.effects[this.effects.length-1]),a.connect(this.output),i&&"master"!==i){var r=e.getInstance("audioRouter",i);r?this.output.connect(r.input):this.output.connect(e.context.destination)}else this.output.connect(e.context.destination)}}function u(){for(var t,n,i=e.context.currentTime,a=this.samples.active,r=this.samples.sustained,s=Object.keys(a),o=s.length;o--;)for(n=s[o],t=a[n].length;t--;)i>a[n][t].disposeTime&&a[n].splice(t,1);for(o=r.length;o--;)i>r[o].disposeTime&&r.splice(o,1)}function d(t,n,i){var a=this._loop&&this._sustain,r=this._loop?1/0:1e3*t.bufferLength-t.ampRelease,s=this.ignoreNoteOff?r:i?i:r,o=n+(a?1/0:s);isFinite(o)&&t._noteOff(o),this.sustained||!i?(this.samples.sustained.push(t),this.samples.sustained.length>this.numberOfVoices&&this.samples.sustained[0]._noteOff(1e3*e.context.currentTime)):this.samples.active[t.midiNote].push(t)}function p(){function t(t){this.bufferSource=e.context.createBufferSource(),this.pre=e.context.createGainNode(),this.amp=e.context.createGainNode(),this.filter=this.filterOn&&e.context.createBiquadFilter(),this.bufferSource.connect(this.pre),this.pre.connect(this.filter||this.amp),this.filter&&this.filter.connect(this.amp),this.amp.connect(this.output),this.parent=t.parent,this.midiNote=t.midiNote,this.pre.gain.value=void 0!==t.sampleGain?g(parseInt(t.sampleGain,10)):1,this.bufferSource.playbackRate.value=h(this.midiNote)/h(f(t.baseNote)),this.bufferSource.buffer=r.getAsset("buffer",t.buffer),this.bufferLength=this.bufferSource.buffer.length/e.context.sampleRate,this.velocity=Math.pow(t.velocity/127,1.2),this.bufferSource.loop=this.parent.loop,this.filterOn&&(this.filter.Q.value=this.filterQ,this.filter.gain=this.filterGain)}return t.prototype=Object.create(this),t.prototype.output=this.input,t.prototype._noteOn=y.noteOn,t.prototype._noteOff=y.noteOff,t}var m="synth",h=t.MIDIToFrequency,f=t.toMIDINote,g=t.dbToWAVolume;l.prototype=Object.create(a,{init:{value:function(e){c.apply(this,[e.output,e.audioNodes,e.bus]),this._sustain=!1,this.samples={meta:Object.create(null),maps:Object.create(null),used:Object.create(null),active:Object.create(null),sustained:[]};for(var t,n=0,a=e.sampleMapGroups[0].sampleMaps.length;a>n;n++)t=e.sampleMapGroups[0].sampleMaps[n].name,t="multi"===t?this.instanceId:t,this.samples.meta[t]=e.sampleMapGroups[0].sampleMaps[n];for(var s in this.samples.meta)this.samples.maps[s]=r.getAsset("sampleMap",s),this.samples.used[s]=Object.create(null);i.addFrameListener(this.instanceId,u,this)}},numberOfVoices:{value:16},volume:{get:function(){return this.output.gain},set:function(e){this.output.gain.value=t.dbToWAVolume(e)}},sustain:{get:function(){return this._sustain},set:function(t){if(t)this._sustain=!0;else{this._sustain=!1;for(var n=0,i=this.samples.sustained.length;i>n;n++)this.samples.sustained[n]._noteOff(1e3*e.context.currentTime)}}},filterSustain:{get:function(){return this._filterSustain},set:function(e){this._filterSustain=Math.pow(e,4)}},controller:{value:function(e,t){switch(t.controllerType){case 64:this.sustain=!!t.value;break;case 123:t.value&&this.stopAll();break;default:o.dispatch("log:instance:synth","Unrecognized controller number for",this.instanceId,":",t.controllerType)}}},onAction:{value:function(e,t,n){n&&(this[n.type]?this[n.type](t,n):o.dispatch("log:instance:synth","Sampler does not recognize message ",n))}},getRange:{value:function(e,t){var n,i,a,r,s=this.samples.meta,o=this.samples.maps,l=this.samples.used,c=0,u=[];for(i in s)if(t>=s[i].velocityLow&&s[i].velocityHigh>=t){n=o[i];for(a in n)r=n[a],e>=f(r.low)&&f(r.hi)>=e&&u.push(r)}return 1!==u.length&&(void 0!==l[i][e]&&(c=(l[i][e]+1)%u.length),l[i][e]=c),u[c]}},noteOn:{value:function(e,t){var n,i=this.samples.active,a=t.midiNote,s=t.velocity,l=t.duration||t.endTime,c=this.getRange(a,s);return c&&c.sound?r.getAsset("buffer",c.sound)?(n=new this.Note({parent:this,sampleGain:c.vol,baseNote:c.root,buffer:c.sound,midiNote:a,velocity:s}),i[a]?i[a].length&&!this.ignoreNoteOff&&this.noteOff(e,t):i[a]=[],this.loop&&this.ignoreNoteOff&&(o.dispatch("log:instance:synth","Sampler Configuration Error: You cannot use looped samples with ignoreNoteOff."),t.duration?this.ignoreNoteOff=!1:this.loop=!1),n._noteOn(e),d.apply(this,[n,e,l]),void 0):(o.dispatch("log:instance:synth","Missing Buffer!"),void 0):(o.dispatch("log:instance:synth","missing range for",this.instanceId,"midiNote",a),void 0)}},noteOff:{value:function(t,n){var i,a,r=this.samples.active,s=this.samples.sustained,o=n.midiNote;if(o&&!this.ignoreNoteOff){if(r[o])for(i=0,a=r[o].length;a>i;i++)r[o][i]._noteOff(t||1e3*e.context.currentTime);if(!this.sustain)for(i=0,a=s.length;a>i;i++)s[i].midiNote===o&&s[i]._noteOff(t||1e3*e.context.currentTime)}}},stopAll:{value:function(){var t,n=this.samples.active,i=this.samples.sustained;for(var a in n){for(t=n[a].length;t--;)n[a][t]._noteOff(1e3*e.context.currentTime);for(t=i.length;t--;)i[t]._noteOff(1e3*e.context.currentTime)}}}});var y={noteOn:function(e){var t=e+this.ampAttack,n=t+this.ampDecay,i=1-this.ampVelocityRatio+this.velocity*this.ampVelocityRatio,a=Math.pow(this.ampSustain*i,2);if(this.noteOnTime=e,this.ampPeakValue=i,this.ampSustainValue=a,this.amp.gain.setValueAtTime(0,e/1e3),this.amp.gain.linearRampToValueAtTime(i,t/1e3),this.amp.gain.linearRampToValueAtTime(a,n/1e3),this.filterOn){var r=e+this.filterAttack,s=r+this.filterDecay,o=1-this.filterVelocityRatio+this.velocity*this.filterVelocityRatio,l=this.filterADSRAmount*o,c=this.filterFrequency+l,u=this.filterFrequency+this.filterSustain*l;c=h(12*c+this.midiNote),u=h(12*u+this.midiNote),c=20>c?20:c>2e4?2e4:c,u=20>u?20:u>2e4?2e4:u,this.filterFrequency=h(12*this.filterFrequency+this.midiNote),this.filter.frequency.setValueAtTime(this.filterFrequency,e/1e3),this.filter.frequency.linearRampToValueAtTime(c,r/1e3),this.filter.frequency.linearRampToValueAtTime(u,s/1e3)}this.bufferSource.noteOn(this.noteOnTime/1e3)},noteOff:function(e){var t,n;t=e+this.ampRelease,n=e+this.filterRelease,this.amp.gain.cancelScheduledValues(e/1e3),this.amp.gain.setValueAtTime(this.ampSustainValue,e/1e3),this.amp.gain.linearRampToValueAtTime(0,t/1e3),this.filter&&(this.filter.frequency.cancelScheduledValues(e/1e3),this.filter.frequency.setValueAtTime(this.filter.frequency.value,e/1e3),this.filter.frequency.linearRampToValueAtTime(this.filterFrequency,n/1e3)),this.bufferSource.noteOff(t/1e3),this.disposeTime=t/1e3,this.noteOffSent=!0}};e.registerInstance(m,"sampler",l)}),a("timePatternPlayer",["DMAF","TimeManager","InstanceManager","Instance","Assets","Utils","events"],function(e,t,n,i,a,r,s){function o(){this.activePatterns=[],this.running=!1}o.prototype=Object.create(i,{init:{value:function(){}},onAction:{value:function(e,n){var i=e.split("."),a=i[1].toLowerCase(),r=i[0];s.dispatch("instance:player:timePatternPlayer",e),this[a]&&this[a](r,n),this.running||(this.running=!0,t.addFrameListener(this.instanceId,this.checkPatterns,this))}},start:{value:function(e,t){var n=a.getAsset("timePattern",e);n?(-1===this.activePatterns.indexOf(n)?this.activePatterns.push(n):s.dispatch("log:instance:player:timePatternPlayer","Time Pattern",e,"is already active!"),n.startTime=t):s.dispatch("log:error","No time pattern with id ",e,"exists.")}},stop:{value:function(e){var t,n=a.getAsset("timePattern",e);n?("DEFAULT"===this.behavior&&n.reset(),t=this.activePatterns.indexOf(n),-1!==t&&this.activePatterns.splice(t,1)):s.dispatch("log:instance:player:timePatternPlayer","No time pattern with id ",e,"exists.")}},checkPatterns:{value:function(){if(!this.activePatterns.length)return this.running=!1,t.removeFrameListener(this.instanceId);for(var e=0;this.activePatterns.length>e;e++)this.activePatterns[e].executeEvents(this.behavior)&&this.activePatterns.splice(e--,1)[0].reset()}}}),e.registerInstance("player","timePatternPlayer",o)}),a("log",["DMAF","events"],function(e,t){function n(){if(a.log){var t=[].slice.call(arguments);t[0]&&(t[0]="DMAF:"+t[0]),t.unshift(Math.floor(1e3*e.context.currentTime)),console.log.apply(console,t)}}return function(e){e=e||[];for(var i=0;e.length>i;i++)t.add("log:"+e[i],n);t.add("log:error",n)}}),a("Assets",["DMAF","events"],function(e,t){function n(e){t.dispatch("_external:progress"),e&&i.preloads--,0===i.preloads&&(t.remove("_internal:asset_loaded",n),t.dispatch("log:assets","Assets have completed loading."),t.dispatch("_internal:preloads_complete")),i.loaded++}var i=e.Assets={loaded:0,preloads:0,beatPattern:{},timePattern:{},sampleMap:{},buffer:{},getAsset:function(e,n){return this[e]&&this[e][n]?this[e][n]:(t.dispatch("log:error","DMAF couldn't find asset",e,n),null)},setAsset:function(e,t,n){this[e][t]=n}};return t.add("_internal:asset_loaded",n),i}),a("AudioManager",["DMAF","events"],function(e,t){function n(e){t.dispatch("log:error:audioElement",e)}function i(){this._.playing&&(this._.playing=!1,this._.controller.checkFinished(),u.splice(u.indexOf(this),1),l(this,!1))}function a(){this._.timestamp=(new Date).getTime(),this._.playing=!0}function r(){this._.loaded=!0,t.dispatch("_internal:"+this.id+".READY",this)}function s(t,n){return t.id=n,t._.loaded=!1,t.src=m+n+e.format,t.load(),t}function o(e,t){return e._.controller=t,u.push(e),e}function l(e,t){if(t&&e.pause(),-1!==u.indexOf(this))throw Error("inactive sound trying to be made inactive");return e._.controller=null,d.push(e),e}function c(e,t,n){for(var i=0,a=t.length;a>i;i++)if(t[i]&&t[i].id)return n?t.splice(i,1)[0]:t[i];return null}var u=[],d=[],p=32,m=e.Settings.assetsPath+"audio/";return{init:function(){var e,t;for(t=0;p>t;t++)e=new Audio,e._={controller:null,loaded:!1,playing:!1},e.addEventListener("canplaythrough",r,!1),e.addEventListener("error",n,!1),e.addEventListener("ended",i,!1),e.addEventListener("pause",i,!1),e.addEventListener("play",a,!1),d[t]=e},preloadElement:function(e){var n;d.length?(n=c(e,d,!1),n?(t.dispatch("log:audioManager:preloadElement","Element was already loaded"),setTimeout(function(){t.dispatch("_internal:"+e+".READY",n)},1)):(n=d.shift(),d.push(n),s(n,e))):t.dispatch("log:error:audioElement","Preload failed for "+e+". There were no inactive elements.")},requestElement:function(e,n){var i=c(e,u,!1);return i&&!i._.playing?(i._.controller||console.error("WTF"),i):(d.length?(i=c(e,d,!0),i||(i=d.shift(),s(i,e))):(i=c(e,u,!0),i?l(i,!0):(i=u.shift(),l(i,!0),s(i,e)),t.dispatch("log:audioManager","mov")),o(i,n))}}}),a("InstanceManager",[],function(){function e(e){this.activeInstances={},this.constructor=e}return e.prototype.getInstance=function(e){return this.activeInstances[e]},e.prototype.removeInstance=function(e){return delete this.activeInstances[e]},e.prototype.addInstance=function(e){this.activeInstances[e.instanceId]=e},e.prototype.createInstance=function(e){var t=new this.constructor(e);return t.setInitProperties(e),this.addInstance(t),t},e}),a("TimeManager",["DMAF","events"],function(e,t){function n(){if(!o.length)return l=!1,void 0;for(a=1e3*c.currentTime,r=0;o.length>r;r++)o[r].callback.call(o[r].context,a);e.lastTime=e.currentTime,e.currentTime=e.context.currentTime,e.lastTime===e.currentTime,setTimeout(n,30)}function i(e){for(var t=o.length;t--;)if(o[t].id===e)return!0;return!1}var a,r,s=Array.prototype.slice,o=[],l=!1,c=e.context;return e.preListen=30,e.lastTime=0,e.currentTime=-1,{checkFunctionTime:function(t,n,i,a){var r,o,l,c=s.call(arguments,4);a=a||e,t>=1e3*e.context.currentTime+e.preListen?(r=function(){i.splice(i.indexOf(o),1),n.apply(a,c)},l=t-1e3*e.context.currentTime-e.preListen,o=setTimeout(r,l),i.push(o)):n.apply(a,c)},dropPendingArray:function(e){for(;e.length;)clearTimeout(e.pop())},addFrameListener:function(a,r,s){return i(a)?(t.dispatch("log:manager:timeManager","That frame listener is already running!",a),void 0):(o.push({callback:r,context:s||e,id:a}),l||(l=!0,setTimeout(n,0)),void 0)},removeFrameListener:function(e){for(var t=o.length;t--;)if(o[t].id===e)return o.splice(t,1),!0;return!1}}}),a("parseActions",["DMAF","Utils"],function(e,t){function n(e){var n=[];return t.each(e,function(e,t){"array"===t.type&&n.push(t)}),n}function i(e,n){return t.each(n,function(i){t.isType("undefined",e[i])&&(e[i]=d(n[i]))}),e}function a(e){var n;return t.each(c.action,function(i,a){return t.each(a,function(t,i){return t===e?n=i:void 0}),n}),n||console.error("Could not find action with Id of",e)}function r(e){return Object.keys(c.type[e]).filter(function(e){return"type"!==e})}function s(e,a,r){var s=t.tag(e,"properties"),c=n(a),d={};return t.each(s,function(e,t){t.localName&&o(d,t,a)}),t.each(c,function(n,i){if(u(e)){var a=t.tag(e,i.name)[0]||[];d[i.name]=a?l(a,i.valueType):[]}else d[i.name]=[]}),i(d,a,r)}function o(e,n,i){for(var a=n.attributes,r=0,s=a.length;s>r;r++)if(void 0===i[a[r].localName]&&"triggers"!==a[r].localName&&"delay"!==a[r].localName)return console.error("Invalid attribute",a[r].localName,"check spelling in descriptors");t.each(i,function(i,a){var r;n.hasAttribute(i)&&(r=t.attr(n,i),!/\:/.test(r)||/target/.test(i)||/_external/.test(r)?(r=t.fromString(a.type,r,a),e[i]=t.verify(a,r)):(e._dynamicValues=e._dynamicValues||[],e._dynamicValues.push({key:i,string:r}),e[i]=d(a)))})}function l(e,i){if(u(e)){var a=r(i),s=[],d=[],p=c.type[i];return t.each(e.childNodes,function(t,n){n&&u(n)&&(n.parentElement===e||n.parentNode===e)&&n.localName&&-1!==a.indexOf(n.localName)&&s.push(n)}),t.each(s,function(i,a){if(a.localName&&p[a.localName]){var r={id:a.localName},s=n(p[r.id]);o(r,a,p[r.id]),t.each(s,function(n,i){var a=t.tag(e,i.name)[0];r[i.name]=a&&u(a)?l(a,i.valueType):[]}),d.push(r)}}),d}return[]}var c,u=t.prop("getElementsByTagName"),d=t.prop("default");return function(n){var i=t.tag(n,"actions")&&t.tag(n,"actions")[0].childNodes,r=[],o=[];if(!i)throw Error("Missing action tag in config!");if(!i.length)throw Error("Found zero actions! Cannot continue");return c=e.Settings.descriptors,t.each(i,function(e,t){t&&t.localName&&u(t)&&(-1!==c.validActions.indexOf(t.localName)?r.push(t):console.error("Unrecognized action!",t.localName,"check spelling."))}),t.each(r,function(e,n){if(n.localName&&u(n)){var i=n.localName,r=a(i),l=s(n,r,n.localName),c=r.type,d=t.attr(n,"triggers"),p=t.attr(n,"delay")||0,m=t.attr(n,"instanceId")||l.instanceId||"",h={};if(!d)return console.error("Action",c,i,l.instanceId,"has no triggers!"),!0;d=t.removeWhiteSpace(d).split(","),t.extend(l,h),h.id=i,h.type=c,h.triggers=d,h.delay=parseInt(h.delay||p,10),h.instanceId=m||"",h.multi="multi"===m,o.push(h)}}),o}}),a("parseDescriptors",["Utils","DMAF"],function(e,t){function n(t){for(var n,i=t.attributes,a={},r=0,s=i.length;s>r;r++)n=i[r].nodeName,e.propertyModel[n]&&(a[n]=e.fromString(e.propertyModel[n],i[r].value,t));return a}var i="getElementsByTagName",a="getAttribute";return function(r){var s,o,l,c,u,d=r[i]("descriptor"),p={validActions:[],validTypes:[]};return e.each(d,function(t,r){r[a]&&(u=r[a]("id"),c=r[a]("type"),l=r[a]("class"),p[l]=p[l]||{},p[l][c]=p[l][c]||{},p[l][c][u]=o=p[l][c][u]||{},p[l][c][u].type=c,p[l][c][u].id=u,p[l][c].type=c,"action"===l&&p.validActions.push(u),"type"===l&&p.validTypes.push(u),s=r[i]("property"),e.each(s,function(e,t){t[a]&&(o[t[a]("name")]=n(t))}))}),t.Settings||(t.Settings={}),t.Settings.descriptors=p,p}}),a("parseMidi",["Assets","timePattern","beatPattern","events"],function(e,t,n,i){function a(e,t,n){this.absoluteTime=t+e.readVariableLengthInt();var i=e.read8BitInt();240==(240&i)?this.getMetaEvent(e,i):this.getChannelEvent(e,i,n)}function r(e){this.pointer=0,this.midiString=e}function s(e){r.call(this,e.split("").map(u).join("")),this.tracks=[],this.chunk={},this.lastEventType=0,this.getNextChunk("MThd").readHeader().getTracks()}function o(n,i){var a,r,s,o,l,u,d,p,m,h,f;for(u=0,d=n.trackCount;d>u;u++){for(o=n.tracks[u],a=o[0].text||i+u+"",trigger=o[1].text||i+u+"",s=[],p=0,m=o.length;m>p;p++)if("setTempo"===o[p].subtype){f=6e7/o[p].microsecondsPerBeat;break}for(p=0,m=o.length;m>p;p++)if("noteOn"===o[p].subtype){for(l=o[p],l.type=l.subtype,l.trigger=trigger,h=p;m>h&&!c(o[h],l);h++);l.absoluteTime=6e4*l.absoluteTime/(n.ticksPerBeat*f)+1,l.duration=6e4*l.duration/(n.ticksPerBeat*f),s.push(l)}r=new t(a,s),e.setAsset("timePattern",a,r)}}function l(t,i){var a,r,s,o,l,u,d,p,m,h,f,g;for(u=1,d=t.trackCount;d>u;u++){for(o=t.tracks[u],a=o[0].text||i+u+"",r=o[1].text||i+u+"",s=new n(a,1),p=2,m=o.length;m>p;p++)if("noteOn"===o[p].subtype||"controller"===o[p].subtype){for(l=o[p],l.type=l.subtype,h=Math.floor(l.absoluteTime/t.beatLengthInTicks),f=Math.floor(l.absoluteTime-h*t.beatLengthInTicks),g=p;m>g&&!c(o[g],l);g++);s.addEvent(r,h+1,f+1,l)}else"controller"===o[p].subtype&&(l=o[p],l.type=l.subtype,h=Math.floor(l.absoluteTime/t.beatLengthInTicks),f=Math.floor(l.absoluteTime-h*t.beatLengthInTicks),s.addEvent(r,h+1,f+1,l));e.setAsset("beatPattern",a,s)}}function c(e,t){var n=("noteOn"===e.subtype||"noteOff"===e.subtype)&&e.subtype;return n&&e.midiNote===t.midiNote?"noteOn"===n&&!e.velocity||"noteOff"===n?(t.duration=e.absoluteTime-t.absoluteTime,t.duration):void 0:!1}function u(e){return String.fromCharCode(255&e.charCodeAt(0))}return a.prototype={getMetaEvent:function(e,t){var n,a;if(255==t){switch(this.type="meta",a=e.read8BitInt(),n=e.readVariableLengthInt(),a){case 0:if(this.subtype="sequenceNumber",2!=n)return;return this.number=e.read16BitInt(),void 0;case 1:return this.subtype="text",this.text=e.readTo(n),void 0;case 2:return this.subtype="copyrightNotice",this.text=e.readTo(n),void 0;case 3:return this.subtype="trackName",this.text=e.readTo(n),void 0;case 4:return this.subtype="instrumentName",this.text=e.readTo(n),void 0;case 5:return this.subtype="lyrics",this.text=e.readTo(n),void 0;case 6:return this.subtype="marker",this.text=e.readTo(n),void 0;case 7:return this.subtype="cuePoint",this.text=e.readTo(n),void 0;case 32:if(this.subtype="midiChannelPrefix",1!==n)return;return this.channel=e.read8BitInt(),void 0;case 47:return this.subtype="endOfTrack",void 0;case 81:if(this.subtype="setTempo",3!=n)return;return this.microsecondsPerBeat=(e.read8BitInt()<<16)+(e.read8BitInt()<<8)+e.read8BitInt(),void 0;case 84:if(this.subtype="smpteOffset",5!=n)return;var r=e.read8BitInt();return this.frameRate={0:24,32:25,64:29,96:30}[96&r],this.hour=31&r,this.min=e.read8BitInt(),this.sec=e.read8BitInt(),this.frame=e.read8BitInt(),this.subframe=e.read8BitInt(),void 0;case 88:if(this.subtype="timeSignature",4!==n)return;return this.numerator=e.read8BitInt(),this.denominator=Math.pow(2,e.read8BitInt()),this.metronome=e.read8BitInt(),this.thirtyseconds=e.read8BitInt(),void 0;case 89:if(this.subtype="keySignature",2!==n)return;return this.key=e.read8BitInt(),this.scale=e.read8BitInt(),void 0;case 127:return this.subtype="sequencerSpecific",this.data=e.readTo(n),void 0;default:return this.subtype="unknown",this.data=e.readTo(n),void 0}return this.data=e.readTo(n),void 0}return 240==t?(this.type="sysEx",n=e.readVariableLengthInt(),this.data=e.readTo(n),void 0):247==t?(this.type="dividedSysEx",n=e.readVariableLengthInt(),this.data=e.readTo(n),void 0):(this.type="unknown",n=e.readVariableLengthInt(),this.data=e.readTo(n),i.dispatch("log:parsing:midi","unknown MIDI event type byte of length"+n),void 0)},getChannelEvent:function(e,t,n){var a,r;switch(0===(128&t)?(r=t,t=n.lastEventType):(r=e.read8BitInt(),n.lastEventType=t),a=t>>4,this.channel=15&t,this.type="channel",a){case 8:this.subtype="noteOff",this.midiNote=r,this.velocity=e.read8BitInt();break;case 9:this.midiNote=r,this.velocity=e.read8BitInt(),this.subtype=0===this.velocity?"noteOff":"noteOn";break;case 10:this.subtype="noteAftertouch",this.midiNote=r,this.amount=e.read8BitInt();break;case 11:this.subtype="controller",this.controllerType=r,this.value=e.read8BitInt();break;case 12:this.subtype="programChange",this.programNumber=r;break;case 13:this.subtype="channelAftertouch",this.amount=r;break;case 14:this.subtype="pitchBend",this.value=r+(e.read8BitInt()<<7);break;default:this.subtype="unknown",i.dispatch("log:parsing:midi","Unrecognised MIDI event type: "+a)}}},r.prototype={read32BitInt:function(){var e=(this.midiString.charCodeAt(this.pointer)<<24)+(this.midiString.charCodeAt(this.pointer+1)<<16)+(this.midiString.charCodeAt(this.pointer+2)<<8)+this.midiString.charCodeAt(this.pointer+3);return this.pointer+=4,e},read16BitInt:function(){var e=(this.midiString.charCodeAt(this.pointer)<<8)+this.midiString.charCodeAt(this.pointer+1);return this.pointer+=2,e},read8BitInt:function(){var e=this.midiString.charCodeAt(this.pointer);return this.pointer+=1,e},readTo:function(e){var t=this.midiString.substr(this.pointer,e);return this.pointer+=e,t},endOfFile:function(){return this.pointer>=this.midiString.length},readVariableLengthInt:function(){for(var e=0;;){var t=this.read8BitInt();if(!(128&t))return e+t;e+=127&t,e<<=7}}},s.prototype=Object.create(r.prototype,{readHeader:{value:function(){var e=new r(this.chunk.data);return this.formatType=e.read16BitInt(),this.trackCount=e.read16BitInt(),this.ticksPerBeat=e.read16BitInt(),32768&this.ticksPerBeat&&(this.ticksPerBeat=480,i.dispatch("log:parsing:midi","Time division in SMPTE, defaulting to 480 ticks per beat")),this.beatLengthInTicks=this.ticksPerBeat/4,this}},getTracks:{value:function(){for(var e,t,n,i=0,s=this.trackCount;s>i;i++)for(this.tracks[i]=[],t=0,this.getNextChunk("MTrk"),e=new r(this.chunk.data);!e.endOfFile();)n=new a(e,t,this),this.tracks[i].push(n),t=n.absoluteTime;return this}},getNextChunk:{value:function(e){return this.chunk.id=this.readTo(4),this.chunk.id!==e?(i.dispatch("log:parsing:midi",e,"but found",this.chunk.id),this):(this.chunk.length=this.read32BitInt(),this.chunk.data=this.readTo(this.chunk.length),this)}}}),function(e,t,n){var i=new s(e);switch(t){case"beatPattern":l(i,n);break;case"timePattern":o(i,n);break;default:l(i,n)}}}),a("Parse",["DMAF","Assets","parseSampleMap","parseMidi","parseDescriptors","parseActions","events"],function(e,t,n,i,a,r,s){var o={midi:i,samplemap:n,descriptors:a,actions:r};return function(t){var n=Array.prototype.slice.call(arguments,1);return o[t]?o[t].apply(e,n):(s.dispatch("log:parsing","DMAF.parse: invalid type",t),null)}}),a("parseSampleMap",["Assets","Utils","events"],function(e,t,n){function i(e){n.dispatch("log:error","Malformed Samplemap!",e||"No information about this error!")}function a(e,n){return t.attr(n,e)||i("Could not find required property "+e,n)}return function(n){var r,s,o,l=t.tag(n,"samplemap"),c=["sound","root","low","hi","vol"];t.each(l,function(n,l){return s=t.attr(l,"name"),r=t.tag(l,"range"),o={},"string"!=typeof s?i("name is undefined"):r&&r.length?(t.each(r,function(e,n){var i=o["range_"+e]={};t.each(c,function(e,t){i[t]=a(t,n)})}),e.setAsset("sampleMap",s,o),void 0):i("Couldn't find ranges for "+s)})}}),a("beatPattern",["DMAF","Assets","events"],function(e,t,n){function i(e,t,n,i){this.eventName=e,this.beat=t,this.tick=n||1,this.data=i}function a(e,t){this.events={},this.patternId=e,this.startPosition=t||1,this.endPosition=0}return i.prototype.execute=function(e,t){var i=Object.create(this.data);e=Math.floor(e+(this.tick-1)*(t/120)),i.duration=e+i.duration*(t/120)/1e3-e,i.duration*=1e3,n.dispatch(this.eventName,e,i)},a.prototype.addEvent=function(e,t,n,a){this.events[t]=this.events[t]||[],this.events[t].push(new i(e,t,n,a)),t+1>this.endPosition&&(this.endPosition=t+1)},t.setAsset("beatPattern","empty_pattern",new a("empty_pattern",1)),a}),a("beatPatternInstance",["beatPosition","events"],function(e,t){function n(n,i){if(!i.beatPattern)return t.dispatch("log:error:beatPatternInstance","Found no BeatPattern for channel",i.channel,". Please check MIDI file."),this.ERROR=!0,void 0;if(this.addAtSongPosition=i.addAtSongPosition,this.currentBeat=i.startPatternAtBeat,this.replaceActive=i.replaceActive,this.clearPosition=i.clearPosition,this.setAsCurrent=i.setAsCurrent,this.beatPattern=i.beatPattern,this.patternId=i.patternId,this.channel=i.channel,this.loop=i.loop,this.player=n,this.loop)i.loopLength?(this.loopLength=i.loopLength,this.removeAtSongPosition=new e(1/0,1,this.player.beatsPerBar)):t.dispatch("log:error:beatPatternInstance","You must specify a loopLength for pattern "+this.patternId+" if loop is set to true."),this.currentBeat===this.loopLength&&(this.currentBeat=1);else{var a=this.beatPattern.endPosition-this.currentBeat;this.removeAtSongPosition=this.addAtSongPosition.clone(),this.removeAtSongPosition.addOffset({bar:0,beat:a})}}return n.prototype.gotoNextBeat=function(){this.currentBeat++,this.loop&&this.currentBeat>this.loopLength&&(this.currentBeat=1)},n.prototype.executeEvents=function(e,t){var n=this.beatPattern.events[this.currentBeat];if(n)for(var i=0,a=n.length;a>i;i++)n[i].execute(e,t)},n}),a("beatPosition",[],function(){function e(e,t,n){this.bar=void 0===e?1:e,this.beat=void 0===t?1:t,this.beatsPerBar=void 0===n?16:n}return e.prototype.getInBeats=function(){return(this.bar-1)*this.beatsPerBar+this.beat},e.prototype.gotoNextBeat=function(){this.beat===this.beatsPerBar?(this.bar++,this.beat=1):this.beat++},e.prototype.addOffset=function(e){for(this.beat+=e.beat;this.beat>this.beatsPerBar;)this.bar++,this.beat-=this.beatsPerBar;this.bar+=e.bar},e.prototype.clone=function(){return new e(this.bar,this.beat,this.beatsPerBar)},e}),a("timePattern",["DMAF","events","Utils"],function(e,t,n){function i(e,t){this.patternId=e,this.events=t,this.startTime=-1,this.lastExecutedEventTime=-1,this.remove=!1}return i.prototype={reset:function(){this.startTime=-1,this.lastExecutedEventTime=-1,this.remove=!1},executeEvents:function(t){var n=1e3*e.context.currentTime-this.startTime,i=-1;switch(t){case"LINEAR":this.executeLinear(n,i);break;case"DEFAULT":this.executeDefault(n,i)}return this.remove},executeLinear:function(i){var r,s;for(r=0,s=this.events.length;s>r;r++)this.events[r].absoluteTime>this.lastExecutedEventTime&&i>this.events[r].absoluteTime-e.preListen&&(a.log&&t.dispatch("log:pattern:timePattern","dispatching",this.events[r].trigger),t.dispatch(this.events[r].trigger,this.startTime+this.events[r].absoluteTime,n.clone(this.events[r])),this.lastExecutedEventTime=this.events[r].absoluteTime);i>this.events[s-1].absoluteTime+300&&(this.remove=!0)},executeDefault:function(i,r){var s,o;if(-1===this.lastExecutedEventTime){for(s=0,o=this.events.length;o>s;s++)i>this.events[s].absoluteTime-e.preListen&&(a.log&&t.dispatch("log:pattern:timePattern","dispatching",this.events[s].trigger),t.dispatch(this.events[s].trigger,this.startTime+this.events[s].absoluteTime,n.clone(this.events[s])),r=this.events[s].absoluteTime);this.lastExecutedEventTime=r,i>this.events[o-1].absoluteTime+300&&(this.remove=!0)}else this.executeLinear(i,r)}},i}),a("Iterator",[],function(){function e(e,n){this.index=-1,this.array=e,this.getNext=t[n],this.A=e.slice(0),this.B=[]}var t={ROUND_ROBIN:function(){return this.index++,this.index%=this.array.length,this.array[this.index]},RANDOM_FIRST:function(){return-1===this.index?this.array[Math.floor(Math.random()*this.array.length)]:this.array[++this.index]},RANDOM:function(){return this.array[Math.floor(Math.random()*this.array.length)]},SHUFFLE:function(){var e;this.A.length||(this.A=this.array.slice(0),this.B=[]);do e=Math.floor(Math.random()*this.A.length);while(this.A[e]===this.previous);return this.B.push(this.A.splice(e,1)[0]),this.previous=this.B[this.B.length-1],this.previous}};return e}),a("Utils",["events"],function(e){function t(e,t){return function(n){return n&&n[e]===t}}function n(e,t){return function(n){return n&&n[e]!==t}}function i(e,t,n,i,a,r){var s=t-e,o=i-n;return function(i){i=Math.max(i,e),i=Math.min(i,t);var a=o*(i-e)/s+n;return r&&(a=parseInt(a,10)),a}}function a(e){return function(t){return t[e]}}function r(t,n,i){var a,r,o,l=0;if(i=s(g,i)&&i||null,s(y,t))for(l=0,o=t.length;o>l&&!n.call(i,l,t[l]);l++);else if("object"==typeof t)for(a=Object.keys(t),l=0,o=a.length;o>l&&(r=a[l],"length"===r||!n.call(i,r,t[r]));l++);else e.dispatch("log:error","Not array or object",typeof t,t),console.log(t,n,i)}function s(e,t){switch(e){case p:return t===+t&&0===t%1;case m:return t===+t;case v:return void 0===t||"undefined"===t;case f:return"boolean"==typeof t;case h:return"string"==typeof t;case y:return"[object Array]"===P.call(t);case b:return"[object Function]"===P.call(t);case g:return"[object Object]"===P.call(t);default:return!1}}function o(e){var t;return r(_,function(n,i){return s(i,e)?(t=i,!0):void 0}),t}function l(e,t){return r(e,function(e,n){s(g,n)?(t[e]={},l(n,t[e])):s(y,n)?(t[e]=[],l(n,t[e])):t[e]=n}),t}function c(t){var n;if(s(g,t))n={};else{if(!s(y,t))return e.dispatch("log:error","cannot clone non object",t),void 0;
n=[]}return l(t,n)}function u(t,n){return t>n.max&&(e.dispatch("log:error",t,"is out of range. constraining",n.name,"to:",n.max),t=n.max),n.min>t&&(e.dispatch("log:error",t,"is out of range. constraining",n.name,"to:",n.min),t=n.min),t}function d(t,n){var i;if(s("undefined",t)||!t.type)return console.error("log:error","DMAF Verification Error: Malformed descriptor!"),void 0;if(s("undefined",n))return S(t);switch(t.type){case"int":if(n=parseInt(n,10),!k.test(n)){i=!0;break}n=u(n,t);break;case"float":if(n=parseFloat(n),!s(m,n)&&!s(p,n)){i=!0;break}n=u(n,t);break;case"string":"undefined"===n&&(n=void 0),"string"!=typeof n&&(i=!0);break;case"list":i=!(n instanceof Array);break;case"enum":s("array",t.values)?-1===t.values.indexOf(n)&&(e.dispatch("log:error",n,"is not valid enum for",t.name),i=!0):(e.dispatch("log:error","Malformed descriptors object",t.name),i=!0);break;case"boolean":i=!s("boolean",n);break;default:e.dispatch("log:error","Malformed defaults object. Please check the descriptors.xml")}return i?(e.dispatch("log:error",n,"is not valid for",t.name),e.dispatch("log:error","Defaulting",t.name,"to",S(t)),S(t)):n}var p="int",m="float",h="string",f="boolean",g="object",y="array",v="undefined",b="function",_=[p,m,h,f,g,y,v,b],x={cflat:-1,c:0,csharp:1,dflat:1,d:2,dsharp:3,eflat:3,e:4,esharp:5,fflat:4,f:5,fsharp:6,gflat:6,g:7,gsharp:8,aflat:8,a:9,asharp:10,bflat:10,b:11,bsharp:12},w={automatable:"boolean","default":"fromType",valueType:"string",value:"fromType",min:"fromType",max:"fromType",name:"string",type:"string",values:"list",unit:"string",src:"string"},T="getAttribute",E="getElementsByTagName",k=/^\s*-?[0-9]{1,10}\s*$/,A=Object.prototype,P=A.toString,S=a("default");return{ajax:function(t,n,i){function a(){if(4===this.readyState){var n,a=i&&i.context||null,c=this.status>=200&&300>this.status||304===this.status;if(!c||!this.response)return s.onerror=function(){},r();if(i&&i.expectType&&typeof this.response!==i.expectType)return r();if(n=i.responseXML?this.responseXML:this.response,i.responseXML&&!this.responseXML)return e.dispatch("log:error","Problem with XMLHttpRequest: XML is missing or malformed.",t),r();for(var u=0,d=l.length;d>u;u++)o.unshift(n),n=l[u].apply(a,o)}}var r,s=new XMLHttpRequest,o=[],l=[n];i?(i.override&&s.overrideMimeType(i.override),i.chain&&(l=l.concat(i.chain)),i.args&&(o=o.concat(i.args))):i={},r=i.fail?i.fail:function(){e.dispatch("log:error","DMAF ajax: Problem with request",t)},s.onerror=r,s.onreadystatechange=a,s.open("GET",t,!0),i&&i.responseType&&(s.responseType=i.responseType),s.send()},clone:c,constrain:u,attr:function(e,t){return e&&t&&e[T]?e[T](t):null},average:function(e){return sum(e)/e.length},dbToJSVolume:function(e){var t=Math.max(0,Math.round(100*Math.pow(2,e/6))/100);return Math.min(1,t)},dbToWAVolume:function(e){return Math.max(0,Math.floor(100*Math.pow(2,e/6))/100)},capitalize:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},each:r,extend:l,fromString:function(t,n,i){if(void 0===n||"undefined"===n)return void 0;switch(t){case"string":return n;case"boolean":return"true"===n;case"int":return parseInt(n,10);case"float":return parseFloat(n);case"list":return n.split(",");case"enum":return n;case"fromType":return this.fromString(i[T]("type"),n,i);default:e.dispatch("log:error","DMAF convert string to value",t,n,i)}},getType:o,add:function(e,t){return e+t},subtract:function(e,t){return e-t},sum:function(e){return e.reduce(add)},prop:a,propIs:t,propIsnt:n,isType:s,MIDIToFrequency:function(e){return 8.1757989156*Math.pow(2,e/12)},nope:function(){},parseProperty:function(e){for(var t,n=e.attributes,i={},a=0,r=n.length;r>a;a++)t=n[a].nodeName,w[t]&&(i[t]=fromString(w[t],n[a].value,e));return i},propertyModel:w,removeWhiteSpace:function(e){return e.replace(/\s+/g,"")},scaler:i,tag:function(e,t){return e&&t&&e[E]?e[E](t):null},toMIDINote:function(e){var t,n,i,a;return"#"===e[1]||"s"===e[1].toLowerCase()?(n=e[0].toLowerCase()+"sharp",a=2):"b"===e[1]?(n=e[0].toLowerCase()+"flat",a=2):(n=e[0].toLowerCase(),a=1),n=x[n],i="-"===e[a]?12*(0-parseInt(e[a+1],10)+2):12*(parseInt(e[a],10)+2),t=i+n},verify:d}}),a("CheckMobile",["DMAF","Instance","events"],function(e,t,n){function i(){}var a=!1,r={Android:function(){return navigator.userAgent.match(/Android/i)},BlackBerry:function(){return navigator.userAgent.match(/BlackBerry/i)},iOS:function(){return navigator.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return navigator.userAgent.match(/Opera Mini/i)},Windows:function(){return navigator.userAgent.match(/IEMobile/i)},any:function(){return r.Android()||r.BlackBerry()||r.iOS()||r.Opera()||r.Windows()}};i.prototype=Object.create(t,{onAction:{value:function(e){switch(e){case"splash_screen":null===r.any()?(n.dispatch("init_beatpatternplayer"),n.dispatch("splash_screen_music")):a===!0&&n.dispatch("splash_screen_music");break;case"info_screen":null===r.any()?n.dispatch("info_screen_music"):a===!0?n.dispatch("info_screen_music"):(n.dispatch("init_beatpatternplayer"),n.dispatch("info_screen_music"),a=!0)}}}}),e.registerInstance("customCode","CheckMobile",i)}),a("LevelTransposer",["DMAF","Instance"],function(e,t){function n(){this.transposeValue=0,this.lastActionTime=-5e3}n.prototype=Object.create(t,{onAction:{value:function(e,t){var n=5e3>t-this.lastActionTime;switch(e){case"transpose_midi":if(n)return;this.transposeValue++;break;case"transpose_midi_reset":this.transposeValue=0}this.lastActionTime=t}}}),e.registerInstance("customCode","LevelTransposer",n)})}),require.register("slam/lib/sound.js",function(e,t,n){var i=t("./dmaf.min"),a=t("cookie"),r=t("jquery"),s=window.webkitAudioContext||window.mozAudioContext||window.AudioContext;s&&s.prototype.createGain&&!s.prototype.createGainNode&&(s.prototype.createGainNode=s.prototype.createGain),n.exports=function(e,t,n){var s=r(".sound-switch");switch(e="undefined"==typeof e?s.hasClass("on")?"off":"on":"on"==e||"off"==e?e:e?"on":"off"){case"on":t||_gaq.push(["_trackEvent","sound","on"]),s.removeClass("off").addClass("on"),i.tell&&i.tell("sound_on"),n||a("sound","on");break;case"off":t||_gaq.push(["_trackEvent","sound","off"]),s.removeClass("on").addClass("off"),i.tell&&i.tell("sound_off"),n||a("sound","off");break;default:throw new Error("you're doing it wrong.")}}}),require.register("slam/lib/themes.js",function(e,t,n){function i(){this.white=15592662,this.currentThemeIndex=0,this.list=[new a({}),new a({name:"default"}),new a({name:"green",puckColor:16767488,arenaColor:13480832,terrainColor1:222564,terrainColor2:210505,terrainColor3:210505,treeBranchColor:202292,iconColor:16767488,cpuBackdropColor:0,gridBrightness:.12,countdown1:"#ef0505",countdown2:"#19b9b7"}),new a({name:"purple",puckColor:16767488,arenaColor:11764100,terrainColor1:7561838,terrainColor2:4275786,terrainColor3:4275786,treeBranchColor:4275786,iconColor:16767488,cpuBackdropColor:0,gridBrightness:.12,countdown1:"#b38184",countdown2:"#413e4a"}),new a({name:"pastell",puckColor:16767488,arenaColor:13380161,terrainColor1:6590602,terrainColor2:4342356,terrainColor3:3478320,treeBranchColor:4342356,iconColor:5000319,cpuBackdropColor:0,gridBrightness:.12,countdown1:"#cc2a41",countdown2:"#015c50"}),new a({name:"pink",puckColor:16767488,arenaColor:6201251,terrainColor1:14471604,terrainColor2:11556212,terrainColor3:11971728,treeBranchColor:11950423,iconColor:16767488,cpuBackdropColor:0,gridBrightness:.12,darken:!0,countdown1:"#b05574",countdown2:"#5e9fa3"}),new a({name:"light",puckColor:16767488,arenaColor:11227755,terrainColor1:16051139,terrainColor2:12362391,terrainColor3:12362391,treeBranchColor:12963502,iconColor:5000319,cpuBackdropColor:0,gridBrightness:.12,darken:!0,countdown1:"#bca297",countdown2:"#c5ceae"}),new a({name:"pastell green",puckColor:16767488,arenaColor:3945041,terrainColor1:11064431,terrainColor2:3945041,terrainColor3:3412281,treeBranchColor:3511912,iconColor:5000319,cpuBackdropColor:0,gridBrightness:.12,countdown1:"#cc2a41",countdown2:"#359668"}),new a({name:"orange",puckColor:16767488,arenaColor:3899779,terrainColor1:16751707,terrainColor2:16081738,terrainColor3:15544380,treeBranchColor:15544380,iconColor:16767488,cpuBackdropColor:0,gridBrightness:.12,countdown1:"#911921",countdown2:"#3b8183"}),new a({name:"forrest",puckColor:16767488,arenaColor:10693672,terrainColor1:3686448,terrainColor2:2830628,terrainColor3:1909271,treeBranchColor:8093781,iconColor:16767488,cpuBackdropColor:0,gridBrightness:.12,countdown1:"#a32c28",countdown2:"#7b8055"}),new a({name:"black horizon",puckColor:16767488,arenaColor:14888737,terrainColor1:11259069,terrainColor2:1578521,terrainColor3:1578521,treeBranchColor:8240824,iconColor:16767488,cpuBackdropColor:0,gridBrightness:.12,darken:!0,countdown1:"#e32f21",countdown2:"#7dbeb8"}),new a({name:"red horizon",puckColor:16767488,arenaColor:13125192,terrainColor1:13879476,terrainColor2:7355963,terrainColor3:7355963,treeBranchColor:7355963,iconColor:16767488,cpuBackdropColor:0,gridBrightness:.12,darken:!0,countdown1:"#703e3b",countdown2:"#456942"})],this.current=this.list[this.currentThemeIndex]}function a(e){if(this.name="",this.treeTrunkColor=2124995,this.shieldColor=16777215,this.puckColor=15715846,this.arenaColor=15409184,this.terrainColor1=1338575,this.terrainColor2=684473,this.terrainColor3=1663369,this.treeBranchColor=2124995,this.iconColor=15715846,this.cpuBackdropColor=921101,this.gridBrightness=.1,this.darken=!1,this.countdown1="#e83129",this.countdown2="#40a040",e)for(var t in e)this.hasOwnProperty(t)&&(this[t]=e[t])}var r=t("./settings"),s=t("jquery");i.prototype={next:function(){this.currentThemeIndex++,this.goto(this.currentThemeIndex)},"goto":function(e){if(e>=this.list.length-1){for(;e>=this.list.length-1;)e-=this.list.length;0>e&&(e=0)}this.current=this.list[e+1];var t=s("#scores"),n=s("#extras ul");this.current.darken?(t.find("h1,h2,h3,p").addClass("ui-darken"),t.find("li,li:before").addClass("ui-darken"),n.addClass("ui-darken")):(t.find("h1,h2,h3,p").removeClass("ui-darken"),t.find("li").removeClass("ui-darken"),n.removeClass("ui-darken")),r.changeTheme(this.current)}},n.exports=new i}),require.register("slam/lib/puppeteer.js",function(e,t){function n(e,t,n){i("prepare %s",e.name,n);var a=s(t);if(a.index=n,"random"===a.set&&(i("set random"),a.set=o.random),n>l[c].length-1){var r=Math.max(0,.3*(n-(l[c].length-1)));console.log(r),a.puck.speed+=r,a.puck.maxspeed+=r}if(Array.isArray(a.set)&&(a.set=e.rand.choice(a.set),i("set from array",a.set)),o[a.set])s(o[a.set],a);else if(a.set)throw new Error('set "'+a.set+'" was not found');t.positions&&(a.positions=s(t.positions,a.positions)),a.extras=a.extras||[],a.obstacles=a.obstacles||[],a.forces=a.forces||[],a.positions=a.positions||[];for(var u=0;u<a.obstacles.length;u++)a.obstacles[u].used=!1;return a.nextSpawn=-1,a.maxExtras=a.maxExtras||3,a}var i=t("debug")("puppeteer"),a=t("./settings"),r=t("./actions"),s=t("copy"),o=t("./levels/sets"),l=t("./levels"),c=null;e.namespace=function(t){return i("namespace",t),c=t,e},e.up=function(t){i("up %s",t.name);var n=t.level.index+1;return e.goto(t,n)},e.goto=function(t,a){if(!l[c])throw new Error('namespace "'+c+'" not found. call .namespace() first.');a=a||t.level&&t.level.index||0,i("goto %s",t.name,a);var r=a<l[c].length?l[c][a]:l[c][l[c].length-1];if(!r)throw new Error('level "'+a+'" not found.');return t.level=n(t,r,a),e},e.update=function(e){if("playing"===e.state){var t=e.level;if(t.nextSpawn<0){var n=a.data.framerate*(t.minSpawnTime||5),i=a.data.framerate*(t.maxSpawnTime||10);t.nextSpawn=e.frame+e.rand.range(n,i)}if(e.frame>t.nextSpawn&&(e.extras.length>=t.maxExtras&&r.destroyFirstExtra(e),r.createRandomExtra(e),t.nextSpawn=-1),e.frame>0){for(var s=e.obstacles.length;s<t.obstacles.length;s++)if(!t.obstacles[s].used){var o=r.createNextObstacle(e);o&&(t.obstacles[s].used=!0)}for(var s=e.forces.length;s<t.forces.length;s++)r.createNextForce(e)}}}}),require.register("slam/lib/inputs/index.js",function(e,t){var n=t("debug")("inputs:core"),i=t("emitter"),a=t("./network"),r=t("./types"),s=t("./buffer"),o=r.toString,l=[],c=[].slice,u=!1,d=!1;i(e),e.types=r,e.network=a,e.reset=function(){l.length=0,s.reset(),a.reset()},e.record=function(e){if(n("record",o(arguments)),r.validate(arguments)){if(e===r.PING){if(u)return;u=!0}if(e===r.HIT){if(d)return;d=!0}l.push(c.call(arguments))}else console.warn("recorded invalid input:",arguments)},e.process=function(e){e.multiplayer&&a.send(e.frame,l);for(var t=0;t<l.length;t++){var n=l[t][0];n!==r.PING&&n!==r.PONG&&n!==r.MISS&&n!==r.HIT&&(e.multiplayer&&a.enqueue(e.frame,l[t]),r.execute(e,l[t]))}l.length=0,u=!1,d=!1},e.info=function(){var e=a.info();return e.recorded=l.length,e}}),require.register("slam/lib/inputs/network.js",function(e,t){function n(e,t,n){s("enqueue %s %s %s",e===_?"(loc)":"(net)",t,d(n));var i=e[e.length-2];return i>t?(console.error("enqueue received an input too early. %s < %s",t,i),console.log(" in queue %s:",e===_?"(loc)":"(net)",u(e)),void 0):(e.push(t,n),void 0)}function i(t,n){if(t[0]<n.frame)throw console.error("dequeue cannot pass the first frame in queue. %s < %s",t[0],n.frame),console.log(" in queue %s:",t===_?"(loc)":"(net)",u(t)),new Error;for(;t[0]===n.frame;){var i=t.shift(),a=t.shift();c.execute(n,a),a[0]==c.MOVE&&e.emit("move",a),e.emit("dequeue",a,i)}}function a(e,t,n){for(var i=n||0;i<e.length;i+=2){var a=e[i],r=e[i+1];if(a!==t.frame)return i;c.execute(t,r)}return i}function r(e,t){for(var n=f.data.timestep,i=0,r=0,s=0;t>s;s++)i=a(_,e,i),r=a(b,e,r),p.update(e,n)}var s=t("debug")("inputs:network"),o=t("emitter"),l=(t("now"),t("./buffer")),c=t("./types"),u=(t("./util").unhide,t("./util").qstr),d=c.toString,p=(t("../support/diff"),t("../sim/physics")),m=t("../sim/interpolate"),h=t("../world"),f=t("../settings");o(e);var g=[],y=[],v=0,b=[],_=[],x=-1,w=!1;e.reset=function(e){s("reset %s",e?"(all)":""),x=-1,e&&(b.length=0,_.length=0,g.length=0,v=0)},e.info=function(){return{ack:x,replaying:w,buffered:g.length,length:v,net:u(b),loc:u(_)}},e.send=function(e,t){if(t.length){s("send %s",e,t);var n=l.build(e,t);if(n.byteLength>255)throw new Error("invalid msg length: "+l.byteLength);g.push(n),v+=n.byteLength}},e.flush=function(){if(v){var t=l.wrap(g,v);return e.emit("message",t),g.length=0,v=0,!0}return!1},e.onmessage=function(t){if(l.unwrap(t,y)){s("onmessage %s messages",y.length);for(var i=0;i<y.length;i++){var a=l.parse(y[i]),r=a[0];if(x>r)console.warn("got input in the wrong order (%s < %s). something wrong with netchan? or game has restarted? or frame > 16bit?",r,x,d(a.slice(1)));else{for(var o=1;o<a.length;o++){var u=a[o];if(c.validate(u))switch(u[0]){case c.MOVE:n(b,r,u);break;case c.DIED:n(b,r,u);break;case c.HIT:e.emit("hit",u[1],u[2],r);break;case c.MISS:e.emit("miss",u[1],0,r);break;case c.PING:e.emit("ping",u[1],r);break;case c.PONG:e.emit("pong",u[1],r)}else console.warn("received invalid input",u)}x=r}}s("onmessage end ack: %s",x),e.emit("ack",x),y.length=0}},e.enqueue=function(e,t){w||n(_,e,t)},e.forward=function(e,t,n){var a=e.world.frame,r=Math.min(t,x);if(-1!==r)if(n){i(_,e.world),i(b,e.world);for(var s=a;r>s;s++)e.update(),i(_,e.world),i(b,e.world)}else{i(b,e.world),i(_,e.world);for(var s=a;r>s;s++)e.update(),i(b,e.world),i(_,e.world)}};var T=new h("temp");e.replay=function(e,t,n){var i=e.frame,a=t.frame;return w?console.warn("attempted to do a replay during a replay. skipping."):(T.pucks.copy(t.pucks),t.copy(e),w=!0,r(t,a-i),w=!1,m(T,t,n),void 0)}}),require.register("slam/lib/inputs/buffer.js",function(e,t){function n(e){if(Math.abs(d-e)>1)throw new Error("dropped packets. determinism is not guaranteed.");return d===e?(console.warn("packet %s received twice. skipping.",e),!1):(d=e,!0)}var i=t("debug")("inputs:buffer"),a=t("../support/buffer").Writer,r=t("../support/buffer").Reader,s=t("./types"),o=s.toString,l=t("./util").ab2s,c=new ArrayBuffer(1024),u=-1,d=-1;e.reset=function(){u=-1,d=-1},e.build=function(e,t){i("build",e,o(t));var n=new a(c);n.setUint16(e);for(var r=0;r<t.length;r++){var l=t[r];switch(l[0]){case s.MOVE:case s.DIED:n.setInt8(l[0]),n.setUint8(l[1]),n.setFloat64(l[2]);break;case s.PING:case s.PONG:n.setInt8(l[0]),n.setUint16(l[1]);break;case s.HIT:n.setInt8(l[0]),n.setFloat32(l[1]),n.setFloat32(l[2]);break;case s.MISS:n.setInt8(l[0]),n.setFloat32(l[1])}}return new Uint8Array(c.slice(0,n.offset))},e.parse=function(e){i("parse",l(e.buffer||e));var t=[],n=new r(e);for(t.push(n.getUint16());n.offset<e.byteLength;){var a=[],o=n.getInt8();switch(o){case s.MOVE:case s.DIED:a.push(o,n.getUint8(),n.getFloat64());break;case s.PING:case s.PONG:a.push(o,n.getUint16());break;case s.HIT:a.push(o,n.getFloat32(),n.getFloat32());break;case s.MISS:a.push(o,n.getFloat32())}t.push(a)}return t},e.wrap=function(e,t){var n=new Uint8Array(2+t+e.length),i=0,a=++u;for(n[i++]=255&a>>8,n[i++]=255&a>>0;e.length;){var r=e.shift();n[i++]=r.byteLength,n.set(r,i),i+=r.byteLength}return n},e.unwrap=function(e,t){if(i("unwrap",e.byteLength),!e.byteLength)return!1;var a=new Uint8Array(e),r=(a[0]<<8)+a[1];if(!n(r))return!1;for(var s=2;s<a.byteLength;){var o=a[s++];t.push(a.buffer.slice(s,s+o)),s+=o}return t.length>0}}),require.register("slam/lib/inputs/types.js",function(e,t){function n(t){switch(t[0]){case e.PING:return"PING("+t[1]+")";case e.PONG:return"PONG("+t[1]+")";case e.MOVE:return"MOVE("+t[1]+","+t[2]+")";case e.DIED:return"DIED("+t[1]+","+t[2]+")";case e.MISS:return"MISS("+t[1]+")";case e.HIT:return"HIT("+t[1]+","+t[2]+")";default:return Array.isArray(t)?t.map(n).join(" | "):"invalid input!"}}function i(t){switch(t&&t[0]){case e.HIT:case e.MOVE:case e.DIED:return 3==t.length;case e.MISS:case e.PING:case e.PONG:return 2==t.length}return!1}function a(i,a){switch(r("execute %s %s",i.name,i.frame,i.state,n(a)),a[0]){case e.MOVE:return t("../actions").movePaddle(i,a[1],a[2]);case e.DIED:return t("../actions").roundOver(i,a[1],a[2]);case e.HIT:throw new Error("cannot execute HIT");case e.MISS:throw new Error("cannot execute MISS");case e.PING:throw new Error("cannot execute PING");case e.PONG:throw new Error("cannot execute PONG")}}var r=t("debug")("inputs:types");e.PONG=-2,e.PING=-1,e.MOVE=1,e.DIED=2,e.HIT=3,e.MISS=4,e.execute=a,e.validate=i,e.toString=n}),require.register("slam/lib/inputs/util.js",function(e,t){var n=t("./types").toString,i=[].join;e.ab2s=function(e){return i.call(new Uint8Array(e))},e.unhide=function(e,n){return~t("../world").EXCLUDED.indexOf(e)?void 0:"undefined"==typeof n?"undefined":n},e.qstr=function(e){for(var t=[],i=0;i<e.length;i+=2){var a=e[i],r=e[i+1];t.push(a+": "+n(r))}return"Queue ("+e.length+")\n "+t.join("\n ")}}),require.register("slam/lib/sim/body.js",function(e,t,n){function i(){this.aabb=[0,0,0,0]}var a=t("debug")("sim:body"),r=t("./body-flags"),s=t("../support/pool"),o=t("geom"),l=o.poly,c=o.vec;n.exports=i,i.prototype={alloc:function(){a("alloc"),this.shape=null,this.current=c.make(),this.previous=c.make(),this.velocity=c.make(),this.offset=c.make(),this.acceleration=c.make(),this.target=null,this.removed=!1,this.radiusSq=0,this.data={},this.interpolate={},this.mass=10,this.damping=1,this.removed=!1,this.id=null,this.index=-1},free:function(){a("free"),l.free(this.shape),c.free(this.current),c.free(this.previous),c.free(this.velocity),c.free(this.acceleration),c.free(this.offset),this.interpolate.offset&&c.free(this.interpolate.offset),this.target&&(c.free(this.target.position),this.target.position=null),this.shape=null,this.current=null,this.previous=null,this.velocity=null,this.offset=null,this.acceleration=null,this.data=null,this.interpolate=null,this.target=null},toString:function(e){var t="{ c:"+this.current.join(",")+" p:"+this.previous.join(",")+" v:"+this.velocity.join(",")+" a:"+this.acceleration.join(",");return e&&(t+=" flags:"+r.toString(this._flags)),t+" }"}},s(i,20)}),require.register("slam/lib/sim/body-flags.js",function(e,t){var n=t("debug")("sim:body-flags");e.DYNAMIC=0,e.STATIC=1,e.DESTROY=2,e.BOUNCE=4,e.GHOST=8,e.REFLECT=0,e.STEER=16,e.DIRECT=32,e.toString=function(t){if("number"!=typeof t)throw new Error("invalid flags, must be a number");var n=[];return t&e.STATIC?n.push("STATIC"):n.push("DYNAMIC"),t&e.DESTROY&&n.push("DESTROY"),t&e.BOUNCE&&n.push("BOUNCE"),t&e.GHOST&&n.push("GHOST"),t&e.DIRECT?n.push("DIRECT"):t&e.STEER?n.push("STEER"):n.push("REFLECT"),n.join(" | ")},e.set=function(t,i){n("set flags",t.id,e.toString(i)),t._flags=i},e.has=function(e,t){return e._flags&t},e.add=function(t,i){n("add flags",t.id,e.toString(i)),n(" =",e.toString(t._flags)),t._flags|=i,n(" >",e.toString(t._flags))},e.del=function(t,i){n("del flags",t.id,e.toString(i)),n(" =",e.toString(t._flags)),t._flags&=~i,n(" >",e.toString(t._flags))}}),require.register("slam/lib/sim/force.js",function(e,t,n){function i(e,t,n,i,a){if(!e)throw new Error("missing type");this.type=e,this.power=a||1,this.mass=i||100,this.radius=this.mass/2,this.position=r.make(t,n),this.active=!1}var a=t("geom"),r=a.vec;n.exports=i,i.prototype={toString:function(){return"Force("+[this.type,"active:"+this.active,"mass:"+this.mass,"x:"+this.position[0],"y:"+this.position[1]]+")"}}}),require.register("slam/lib/sim/physics.js",function(e,t){function n(e,t,n){for(var i=0;i<e.bodies.length;i++){var a=e.bodies.values[i];if(a.removed)n.push(a);else if("puck"==a.id||"bullet"==a.id)for(var r=0;r<e.bodies.length;r++)if(i!==r){var s=e.bodies.values[r];if("puck"==a.id)switch(s.id){case"puck":case"extra":case"obstacle":case"paddle":case"shield":break;default:continue}else switch(s.id){case"paddle":case"obstacle":break;default:continue}var o=f.len(a.velocity),l=f.len(s.velocity),c=a.radius+o,u=s.radius+l,d=f.dist(a.current,s.current);0>d-(c+u)&&t.push(a,s)}}}function i(e,t,n){if(t.length){for(var i=f.make(),a=0;a<t.length;a+=2){var r=t[a],s=t[a+1];r.removed||s.removed||(f.sub(r.velocity,s.velocity,i),h.collides(r.shape,s.shape,i,v),v.willIntersect&&(d(e,r,s,v),f.free(v.minTranslationVector),f.free(v.nearestEdge),r.removed&&n.push(r),s.removed&&n.push(s)))}f.free(i)}}function a(e,t){for(var n=f.make(),i=0;i<e.bodies.length;i++){var a=e.bodies.values[i];if("shield"!=a.id&&"obstacle"!=a.id){var s=r(a.aabb,a.velocity,n);if(s)switch(a.id){case"puck":u.puck(e,a,n);break;case"bullet":u.bullet(e,a,n);break;case"paddle":u.paddle(e,a,n)}a.removed&&t.push(a)}}f.free(n)}function r(e,t,n){var i=c.data.bounds;return n[0]=n[1]=0,e[0]<i[0]&&(n[1]=i[0]-(e[0]+t[1])),e[1]+t[0]>i[1]&&(n[0]=i[1]-(e[1]+t[0])),e[2]>i[2]&&(n[1]=i[2]-(e[2]+t[1])),e[3]+t[0]<i[3]&&(n[0]=i[3]-(e[3]+t[0])),0!==n[0]||0!==n[1]}function s(e,t){for(;t.length;){var n=t.pop();n.current&&e.destroyBody(n)}}function o(e,t){for(var n=0;n<e.bodies.length;n++){for(var i=e.bodies.values[n],a=0;a<e.forces.length;a++)"puck"==i.id&&p.force(e.forces.values[a],i);p.body(i,t)}}function l(e,t){("playing"==e.state||"preview"==e.state)&&(y.length=0,g.length=0,n(e,y,g),s(e,g),i(e,y,g),s(e,g),a(e,g),s(e,g),o(e,t*t),e.frame+=1)}var c=(t("debug")("sim:physics"),t("../settings")),u=t("./bounds"),d=t("./collision"),p=t("./integration"),m=t("geom"),h=m.poly,f=m.vec;e.update=l;var g=[],y=[],v={}}),require.register("slam/lib/sim/shapes.js",function(e,t){var n=t("geom"),i=n.poly;e.rect=function(e,t){return i.make(0,0,0,t,e,t,e,0)},e.oct=function(e){return i.make(0,0,.5*e,0,.75*e,.25*e,.75*e,.75*e,.5*e,e,0,e,-.25*e,.75*e,-.25*e,.25*e)},e.hex=function(e){for(var t=i.make(),n=2*Math.PI/6,a=5;a>=0;a--)i.add(t,e*Math.cos(a*n),e*Math.sin(a*n));return i.close(t),t},e.triangle=function(e,t,n,a){var r=i.make();return a?(i.add(r,-e,0),i.add(r,0,t*(n?1:-1)),i.add(r,e,0)):(i.add(r,0,-t),i.add(r,e*(n?1:-1),0),i.add(r,0,t)),i.close(r),r},e.diamond=function(e){for(var t=i.make(),n=2*Math.PI/4,a=3;a>=0;a--)i.add(t,e*Math.cos(a*n),e*Math.sin(a*n));return i.close(t),t}}),require.register("slam/lib/sim/integration.js",function(e,t){function n(e,t){var n=a.centroid(e),i=r.sub(t,n);a.translate(e,i[0],i[1]),r.free(n),r.free(i)}var i=(t("debug")("sim:integration"),t("geom")),a=i.poly,r=i.vec,s=r.make(),o=r.make();e.body=function(e,t){var i=e.current,l=e.previous,c=e.velocity,u=e.acceleration,d=e.offset,p=e.interpolate,m=e.target,h=s,f=o;if(m&&m.position){var g=r.sub(m.position,i);r.sdiv(g,m.frames--,c),r.free(g),0==m.frames&&(r.free(m.position),m.frames=0,m.position=null)}else r.sub(i,l,c);if(1!==e.damping){var y=e.dampUntil*e.dampUntil,v=y&&c[0]*c[0]+c[1]*c[1];y&&y>v?(e.damping=1,delete e.dampUntil):r.smul(c,e.damping,c)}h[0]=i[0]+c[0]+.5*u[0]*t,h[1]=i[1]+c[1]+.5*u[1]*t,r.copy(i,l),r.copy(h,i),r.copy(f,u),p&&p.frames&&(p.frames--,r.lerp(f,p.offset,p.step*p.frames,d),p.frames<=0&&(r.copy(f,d),r.free(p.offset),p.offset=null,p.frames=null)),n(e.shape,i),a.aabb(e.shape,e.aabb)},e.force=function(t,n){if(t.active)switch(t.type){case"attract":var i=r.sub(t.position,n.current),a=r.lenSq(i),s=t.radius*t.radius;if(s>a){a=Math.max(100,a);var o=n.mass*t.mass/a*t.power;o=Math.min(.65,o);var l=Math.sqrt(a);e.bodyForce(n,o*i[0]/l,o*i[1]/l)}r.free(i);break;case"repell":var i=r.sub(t.position,n.current),a=r.lenSq(i),s=t.radius*t.radius;if(s>a){a=Math.max(100,a);var o=n.mass*-t.mass/a*t.power,l=Math.sqrt(a);e.bodyForce(n,o*i[0]/l,o*i[1]/l)}r.free(i);break;default:throw new Error("invalid force")}},e.bodyForce=function(e,t,n){var i=1/e.mass,a=r.make(t*i,n*i);r.add(e.acceleration,a,e.acceleration),r.free(a)}}),require.register("slam/lib/sim/interpolate.js",function(e,t,n){function i(e,t,n){var i=e.interpolate;if(i.frames)return console.log("skipping interpolation of %s because it already has one"),void 0;var o=s.data.interpolationMaxDistance,l=s.data.interpolationMinDistance,c=r.distSq(e.current,t.current);l*l>c?a("skipping too short interpolation for %s (dist: %s)",e.index,Math.sqrt(c)):c>o*o?a("skipping too long interpolation for %s (dist: %s)",e.index,Math.sqrt(c)):(i.offset=r.sub(t.current,e.current),r.copy(i.offset,e.offset),i.step=1/(n+1),i.frames=n)}var a=t("debug")("sim:interpolate"),r=t("geom").vec,s=t("../settings");n.exports=function(e,t,n){if(n=Math.min(s.data.interpolationMaxFrames,n))for(var a=0;a<t.pucks.length;a++){var r=t.pucks.values[a];e.pucks.has(r.index)&&i(r,e.pucks.get(r.index),n)}}}),require.register("slam/lib/sim/collision.js",function(e,t,n){function i(e,t,n,i){var a=i.minTranslationVector;"paddle"===t.id||"paddle"===n.id||p.has(t,p.STATIC)||p.has(n,p.STATIC)?(f.add(t.previous,a,t.previous),f.add(t.current,a,t.current),h.translate(t.shape,a[0],a[1]),h.aabb(t.shape,t.aabb)):(a[0]=a[0]/2,a[1]=a[1]/2,f.add(t.previous,a,t.previous),f.add(t.current,a,t.current),h.translate(t.shape,a[0],a[1]),h.aabb(t.shape,t.aabb),f.sub(n.previous,a,n.previous),f.sub(n.current,a,n.current),h.translate(n.shape,-a[0],-a[1]),h.aabb(n.shape,n.aabb))}function a(e,t,n,i){var a=f.norm(t.velocity),r=f.perp(i.nearestEdge),s=f.reflect(a,f.norm(r,r)),o=f.len(t.velocity),l=n.velocity[0]/10;s[0]+=l,s[0]/=4,f.smul(f.norm(s,s),o,s),f.sub(t.current,s,t.previous),f.copy(s,t.velocity),f.free(s),f.free(a),f.free(r)}function r(e,t,n,i){var a=f.norm(t.velocity),r=f.perp(i.nearestEdge),s=f.reflect(a,f.norm(r,r)),l=f.len(t.velocity),c=(t.current[0]-n.current[0])/(t.aabb[1]-n.aabb[3]);u.data.improvedNormals&&o(t,n,a,s),s[0]=u.data.paddleMomentum?c/u.data.steerWidthMomentum:c/u.data.steerWidth,f.smul(f.norm(s,s),l,s),f.sub(t.current,s,t.previous),f.copy(s,t.velocity),f.free(s),f.free(a),f.free(r)}function s(e,t,n,i){var a=f.norm(t.velocity),r=f.perp(i.nearestEdge),s=f.reflect(a,f.norm(r,r)),l=f.len(t.velocity);u.data.improvedNormals&&o(t,n,a,s),f.smul(s,l,s),f.sub(t.current,s,t.previous),f.copy(s,t.velocity),f.free(s),f.free(a),f.free(r)}function o(e,t,n,i){var a=f.make(),r=f.copy(e.current),s=f.copy(t.current),o=f.sub(s,r),c=f.norm(o);f.smul(c,e.radius,c),f.sub(r,c,r),f.sub(s,r,o),l(t.shape,r,o,a)&&f.reflect(n,a,i),f.free(s),f.free(r),f.free(o),f.free(a)}function l(e,t,n,i){for(var a=f.add(t,n),r=f.make(),s=0;s<e.length;s++){var o=e.vertices[s],l=f.add(o,e.edges[s],r);if(c(t,a,o,l))return f.perp(e.edges[s],i),f.norm(i,i),f.free(r),f.free(a),!0}return f.free(a),f.free(r),!1}function c(e,t,n,i,a){var r=(i[0]-n[0])*(e[1]-n[1])-(i[1]-n[1])*(e[0]-n[0]),s=(t[0]-e[0])*(e[1]-n[1])-(t[1]-e[1])*(e[0]-n[0]),o=(i[1]-n[1])*(t[0]-e[0])-(i[0]-n[0])*(t[1]-e[1]);if(0!==o){var l=r/o,c=s/o;return l>=0&&1>=l&&c>=0&&1>=c?(a&&(a[0]=e[0]+l*(t[0]-e[0]),a[1]=e[1]+l*(t[1]-e[1])),!0):!1}return 0===r||0===s?!1:!1}var u=(t("debug")("sim:collision"),t("../settings")),d=t("../actions"),p=t("./body-flags"),m=t("geom"),h=m.poly,f=m.vec;n.exports=function(e,t,n,o){if(!(p.has(t,p.GHOST)&&!p.has(n,p.STATIC)||p.has(n,p.GHOST)&&!p.has(t,p.STATIC)))switch(p.has(t,p.BOUNCE)&&p.has(n,p.BOUNCE)&&(o.intersect&&i(e,t,n,o),p.has(n,p.DIRECT)?a(e,t,n,o):p.has(n,p.STEER)?r(e,t,n,o):s(e,t,n,o)),t.id){case"puck":switch(n.id){case"extra":return d.hitPuckExtra(e,t,n);case"paddle":return d.hitPuckPaddle(e,t,n);case"shield":return d.hitPuckShield(e,t,n);case"obstacle":return d.hitPuckObstacle(e,t,n)}return console.warn("unknown collision between %s and %s",t.id,n.id);case"bullet":switch(n.id){case"paddle":return d.hitBulletPaddle(e,t,n);case"obstacle":return d.hitBulletObstacle(e,t,n)}return console.warn("unknown collision between %s and %s",t.id,n.id)}}}),require.register("slam/lib/sim/bounds.js",function(e,t){var n=t("debug")("sim:bounds"),i=t("../actions"),a=t("../settings"),r=t("./body-flags"),s=t("geom"),o=(s.poly,s.vec),l=t("../dmaf.min");e.puck=function(e,t,s){n("puck",t.index);var c=.5*(t.aabb[2]-t.aabb[0]),u=null;t.current[1]<=c?u=e.players.b:t.current[1]>=a.data.arenaHeight-c&&(u=e.players.a),o.add(t.current,s,t.current),s[0]&&(t.previous[0]=t.current[0]+t.velocity[0]),s[1]&&(t.previous[1]=t.current[1]+t.velocity[1]),o.sub(t.current,t.previous,t.velocity),t.interpolate.offset&&(s[0]&&(t.interpolate.offset[0]=-t.interpolate.offset[0]),s[1]&&(t.interpolate.offset[1]=-t.interpolate.offset[1])),!u||r.has(t,r.GHOST)||a.data.godMode?l.tell("wall_hit"):i.playerHit(e,u,t),i.puckBounced(e,t)},e.paddle=function(e,t,i){n("paddle",t.index),o.add(t.current,i,t.current),o.copy(t.current,t.previous)},e.bullet=function(e,t){n("bullet",t.index),i.destroyBullet(e,t)}}),require.register("slam/lib/support/aabb.js",function(e){function t(e,t){for(var i=0;i<e.bodies.length;i++){var a=e.bodies.values[i];if(a!==t&&("obstacle"!=a.id||"obstacle"!=t.id)&&n(t.aabb,a.aabb))return!0}return!1}function n(e,t){return t[3]>e[1]||e[3]>t[1]?!1:t[0]>e[2]||e[0]>t[2]?!1:!0}e.colliding=t,e.intersects=n}),require.register("slam/lib/support/diff.js",function(e,t,n){var i=function(){function e(e){return{newPos:e.newPos,components:e.components.slice(0)}}function t(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}function n(e){var t=e;return t=t.replace(/&/g,"&amp;"),t=t.replace(/</g,"&lt;"),t=t.replace(/>/g,"&gt;"),t=t.replace(/"/g,"&quot;")}var i=function(e){this.ignoreWhitespace=e};i.prototype={diff:function(t,n){if(n==t)return[{value:n}];if(!n)return[{value:t,removed:!0}];if(!t)return[{value:n,added:!0}];n=this.tokenize(n),t=this.tokenize(t);var i=n.length,a=t.length,r=i+a,s=[{newPos:-1,components:[]}],o=this.extractCommon(s[0],n,t,0);if(s[0].newPos+1>=i&&o+1>=a)return s[0].components;for(var l=1;r>=l;l++)for(var c=-1*l;l>=c;c+=2){var u,d=s[c-1],p=s[c+1];o=(p?p.newPos:0)-c,d&&(s[c-1]=void 0);var m=d&&d.newPos+1<i,h=p&&o>=0&&a>o;if(m||h){!m||h&&d.newPos<p.newPos?(u=e(p),this.pushComponent(u.components,t[o],void 0,!0)):(u=e(d),u.newPos++,this.pushComponent(u.components,n[u.newPos],!0,void 0));var o=this.extractCommon(u,n,t,c);if(u.newPos+1>=i&&o+1>=a)return u.components;s[c]=u}else s[c]=void 0}},pushComponent:function(e,t,n,i){var a=e[e.length-1];a&&a.added===n&&a.removed===i?e[e.length-1]={value:this.join(a.value,t),added:n,removed:i}:e.push({value:t,added:n,removed:i})},extractCommon:function(e,t,n,i){for(var a=t.length,r=n.length,s=e.newPos,o=s-i;a>s+1&&r>o+1&&this.equals(t[s+1],n[o+1]);)s++,o++,this.pushComponent(e.components,t[s],void 0,void 0);return e.newPos=s,o},equals:function(e,t){var n=/\S/;return!this.ignoreWhitespace||n.test(e)||n.test(t)?e==t:!0},join:function(e,t){return e+t},tokenize:function(e){return e}};var a=new i,r=new i(!0);r.tokenize=function(e){return t(e.split(/(\s+|\b)/))
};var s=new i(!0);s.tokenize=function(e){return t(e.split(/([{}:;,]|\s+)/))};var o=new i;return o.tokenize=function(e){return e.split(/^/m)},{diffChars:function(e,t){return a.diff(e,t)},diffWords:function(e,t){return r.diff(e,t)},diffLines:function(e,t){return o.diff(e,t)},diffCss:function(e,t){return s.diff(e,t)},createPatch:function(e,t,n,i,a){function r(e){return e.map(function(e){return" "+e})}function s(e,t,n){var i=c[c.length-2],a=t===c.length-2,r=t===c.length-3&&(n.added===!i.added||n.removed===!i.removed);/\n$/.test(n.value)||!a&&!r||e.push("\\ No newline at end of file")}var l=[];l.push("Index: "+e),l.push("==================================================================="),l.push("--- "+e+("undefined"==typeof i?"":" "+i)),l.push("+++ "+e+("undefined"==typeof a?"":" "+a));var c=o.diff(t,n);c[c.length-1].value||c.pop(),c.push({value:"",lines:[]});for(var u=0,d=0,p=[],m=1,h=1,f=0;f<c.length;f++){var g=c[f],y=g.lines||g.value.replace(/\n$/,"").split("\n");if(g.lines=y,g.added||g.removed){if(!u){var v=c[f-1];u=m,d=h,v&&(p=r(v.lines.slice(-4)),u-=p.length,d-=p.length)}p.push.apply(p,y.map(function(e){return(g.added?"+":"-")+e})),s(p,f,g),g.added?h+=y.length:m+=y.length}else{if(u)if(y.length<=8&&f<c.length-2)p.push.apply(p,r(y));else{var b=Math.min(y.length,4);l.push("@@ -"+u+","+(m-u+b)+" +"+d+","+(h-d+b)+" @@"),l.push.apply(l,p),l.push.apply(l,r(y.slice(0,b))),y.length<=4&&s(l,f,g),u=0,d=0,p=[]}m+=y.length,h+=y.length}}return l.join("\n")+"\n"},convertChangesToXML:function(e){for(var t=[],i=0;i<e.length;i++){var a=e[i];a.added?t.push("<ins>"):a.removed&&t.push("<del>"),t.push(n(a.value)),a.added?t.push("</ins>"):a.removed&&t.push("</del>")}return t.join("")},convertChangesToDMP:function(e){for(var t,n=[],i=0;i<e.length;i++)t=e[i],n.push([t.added?1:t.removed?-1:0,t.value]);return n}}}();"undefined"!=typeof n&&(n.exports=i)}),require.register("slam/lib/support/inspect.js",function(e,t,n){function i(e,t){var n={seen:[],stylize:r};return t&&v(n,t),"undefined"==typeof n.showHidden&&(n.showHidden=!1),"undefined"==typeof n.depth&&(n.depth=2),"undefined"==typeof n.colors&&(n.colors=!1),"undefined"==typeof n.customInspect&&(n.customInspect=!0),n.colors&&(n.stylize=a),o(n,e,n.depth)}function a(e,t){var n=i.styles[t];return n?"["+i.colors[n][0]+"m"+e+"["+i.colors[n][1]+"m":e}function r(e){return e}function s(e){var t={};return e.forEach(function(e){t[e]=!0}),t}function o(t,n,i){if(t.customInspect&&n&&"function"==typeof n.inspect&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n))return String(n.inspect(i));var a=l(t,n);if(a)return a;var r=Object.keys(n),o=s(r);if(t.showHidden&&(r=Object.getOwnPropertyNames(n)),0===r.length){if("function"==typeof n){var y=n.name?": "+n.name:"";return t.stylize("[Function"+y+"]","special")}if(h(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return t.stylize(Date.prototype.toString.call(n),"date");if(g(n))return c(n)}var v="",b=!1,_=["{","}"];if(m(n)&&(b=!0,_=["[","]"]),"function"==typeof n){var x=n.name?": "+n.name:"";v=" [Function"+x+"]"}if(h(n)&&(v=" "+RegExp.prototype.toString.call(n)),f(n)&&(v=" "+Date.prototype.toUTCString.call(n)),g(n)&&(v=" "+c(n)),0===r.length&&(!b||0==n.length))return _[0]+v+_[1];if(0>i)return h(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special");t.seen.push(n);var w;return w=b?u(t,n,i,o,r):r.map(function(e){return d(t,n,i,o,e,b)}),t.seen.pop(),p(w,v,_)}function l(e,t){switch(typeof t){case"undefined":return e.stylize("undefined","undefined");case"string":var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string");case"number":return e.stylize(""+t,"number");case"boolean":return e.stylize(""+t,"boolean")}return null===t?e.stylize("null","null"):void 0}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,n,i,a){for(var r=[],s=0,o=t.length;o>s;++s)b(t,String(s))?r.push(d(e,t,n,i,String(s),!0)):r.push("");return a.forEach(function(a){a.match(/^\d+$/)||r.push(d(e,t,n,i,a,!0))}),r}function d(e,t,n,i,a,r){var s,l,c;try{c=Object.getOwnPropertyDescriptor(t,a)||{value:t[a]}}catch(u){return""}if(c.get?l=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(l=e.stylize("[Setter]","special")),b(i,a)||(s="["+a+"]"),l||(e.seen.indexOf(c.value)<0?(l=null===n?o(e,c.value,null):o(e,c.value,n-1),l.indexOf("\n")>-1&&(l=r?l.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+l.split("\n").map(function(e){return" "+e}).join("\n"))):l=e.stylize("[Circular]","special")),"undefined"==typeof s){if(r&&a.match(/^\d+$/))return l;s=JSON.stringify(""+a),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+l}function p(e,t,n){var i=0,a=e.reduce(function(e,t){return i++,t.indexOf("\n")>=0&&i++,e+t.length+1},0);return a>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function m(e){return Array.isArray(e)||"object"==typeof e&&"[object Array]"===y(e)}function h(e){return"object"==typeof e&&"[object RegExp]"===y(e)}function f(e){return"object"==typeof e&&"[object Date]"===y(e)}function g(e){return"object"==typeof e&&"[object Error]"===y(e)}function y(e){return Object.prototype.toString.call(e)}function v(e,t){if(!t||"object"!=typeof t)return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}function b(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.exports=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"}}),require.register("slam/lib/support/draw.js",function(e,t,n){function i(e){this.ctx=e}var a=t("geom"),r=a.poly,s=a.vec;n.exports=function(e){return new i(e)},i.prototype={clear:function(){this.ctx.clearRect(0,0,canvas.width,canvas.height)},poly:function(e){this.ctx.beginPath();for(var t=e.vertices[0],n=t[0],i=t[1],a=0;a<e.edges.length;a++){var o=e.edges[a];this.ctx.moveTo(n,i),this.ctx.lineTo(n+o[0],i+o[1]);var l=s.perp(o);s.norm(l,l);var c=s.lerp([n,i],[n+o[0],i+o[1]],.5);this.ctx.moveTo(c[0],c[1]),this.ctx.lineTo(c[0]+5*l[0],c[1]+5*l[1]),this.ctx.font="3px courier";var u=this.ctx.measureText(a).width;this.ctx.fillText(a,c[0]-u/2,c[1]),s.free(l),s.free(c),n+=o[0],i+=o[1]}this.ctx.closePath();var d=r.centroid(e);return this.ctx.fillRect(d[0]-1,d[1]-1,2,2),s.free(d),this},line:function(e){var t=e[0],n=e[1];return this.ctx.beginPath(),this.ctx.moveTo(t[0],t[1]),this.ctx.lineTo(n[0],n[1]),this.ctx.closePath(),this},rect:function(e){return this.ctx.beginPath(),this.ctx.rect(e[0],e[3],e[1]-e[3],e[2]-e[0]),this.ctx.closePath(),this},point:function(e,t){return t=t||1,this.ctx.beginPath(),this.ctx.rect(e[0]-t,e[1]-t,t+t,t+t),this.ctx.closePath(),this},stroke:function(e,t){return t&&(this.ctx.lineWidth=t),e&&(this.ctx.strokeStyle=e),this.ctx.stroke(),this},fill:function(e){return e&&(this.ctx.fillStyle=e),this.ctx.fill(),this}}}),require.register("slam/lib/support/info.js",function(e,t,n){function i(e){return"Context\n "+["version: "+e.v,"dev: "+e.dev,"pathname: "+e.pathname,"multiplayer: "+!!e.multiplayer,"touch: "+!!e.touch,"silent: "+!!e.silent,"mobile: "+!!e.mobile,"room: "+e.room].join("\n ")+"\n\n"}function a(e){return"Query\n "+Object.keys(e).map(function(t){return t+": "+(e[t]||!0)}).join("\n ")+"\n\n"}function r(e){return"Game\n "+["framerate: "+f.data.framerate,"speed: "+f.data.unitSpeed,"bullets: "+e.bullets.length,"forces: "+e.forces.length,"shields: "+e.shields.length,"extras: "+e.extras.length,"obstacles: "+e.obstacles.length,"paddles: "+e.paddles.length,"pucks: "+e.pucks.length].join("\n ")+"\n\n"}function s(e,t){return"World\n "+["name: "+e.name,"frame: "+e.frame+(t?" ("+(e.frame-t.frame)+")":""),"multiplayer: "+e.multiplayer,"seed: "+e.rand.state,"state: "+e.state,"score: "+e.players.a.score+" - "+e.players.b.score,"wins: "+e.players.a.wins+" - "+e.players.b.wins,"me: "+(e.me&&(e.me===e.players.a?"a":"b")+(-1!==e.me.hit?"(hit)":"")),"opponent: "+(e.opponent&&(e.opponent===e.players.a?"a":"b")+(-1!==e.opponent.hit?"(hit)":""))].join("\n ")+"\n\n"}function o(e){return e&&"NetChannel\n "+["seq: "+e.seq,"ack: "+e.ack,"resent: "+e.resent,"sent acks: "+e.sentACKs,"recv acks: "+e.recvACKs,"buffer: "+e.buffer.length,"buffer size: "+e.bufferLength,"encoded: "+(e.encoded&&e.encoded.byteLength)].join("\n ")+"\n\n"}function l(e){return e&&"PeerConnection\n "+["ice: "+e.iceConnectionState,"gathering: "+e.iceGatheringState,"signal: "+e.signalingState,"local streams: "+e.getLocalStreams().length,"remote streams: "+e.getRemoteStreams().length].join("\n ")+"\n\n"}function c(e){return e&&"RTC\n "+["initiator: "+e.initiator,"open: "+e.open,"challenged: "+e.challenged,"challenger: "+e.challenger].join("\n ")+"\n\n"}function u(e){return e&&"DataChannel\n "+["label: "+e.label,"reliable: "+e.reliable,"bufferedAmount: "+e.bufferedAmount,"ready: "+e.readyState].join("\n ")+"\n\n"}function d(e){return e&&"Inputs\n "+["ack: "+e.ack,"replaying: "+e.replaying,"recorded: "+e.recorded,"buffered: "+e.buffered,"length: "+e.length,"loc: "+e.loc,"net: "+e.net].join("\n ")+"\n\n"}function p(e){return e&&"Network\n "+["connected: "+e.connected,"winner: "+e.winner,"user: "+e.user,"ready state: "+e.readyState,"pathname: "+e.pathname,"send rate: "+f.data.sendRate+"hz","keep alive interval: "+f.data.keepAliveInterval+"ms"].join("\n ")+"\n\n"}function m(e){var t=e.memory,n=e.render;return e&&"WebGL\n "+["programs: "+t.programs,"geometries: "+t.geometries,"textures: "+t.textures,"render calls: "+n.calls,"vertices: "+n.vertices,"faces: "+n.faces,"points: "+n.points].join("\n ")+"\n\n"}var h=t("jquery"),f=t("../settings"),g=t("../inputs");t("geom").vec;var y="",v="",b=!1,_=h("#debug-info pre")[0];n.exports=function(e,t){if(t?b=!1:t===!1&&(b=!0),b)return y;var n="";return n+=i(e),n+=a(e.query),n+=s(e.game.world,e.sync&&e.sync.world)||"",n+=e.sync&&s(e.sync.world,e.game.world)||"",n+=p(e.network)||"",n+=d(g.info())||"",n+=e.network.remote&&l(e.network.remote.connection)||"",n+=e.network.remote&&c(e.network.remote)||"",n+=e.network.game&&u(e.network.game.channel)||"",n+=e.network.game&&o(e.network.game)||"",n+=e.renderer.impl&&e.renderer.impl.renderer&&m(e.renderer.impl.renderer.info)||"",n+=r(e.game.world)||"",n+=v,y!==n&&(_.innerText=n,y=n),y}}),require.register("slam/lib/support/select-text.js",function(e,t,n){n.exports=function(e){var t,n,i=document;i.body.createTextRange?(t=document.body.createTextRange(),t.moveToElementText(e),t.select()):window.getSelection&&(n=window.getSelection(),t=document.createRange(),t.selectNodeContents(e),n.removeAllRanges(),n.addRange(t))}}),require.register("slam/lib/support/language-codes.js",function(e){e.name=function(t){var n=(t||"").split("-").shift();return e.native[n]||"Unknown"},e.english={am:"Amharic",ar:"Arabic",bg:"Bulgarian",bn:"Bengali; Bangla",ca:"Catalan",cs:"Czech",da:"Danish",de:"German",el:"Greek",en:"English",es:"Spanish",et:"Estonian",fa:"Persian",fi:"Finnish",fr:"French",gu:"Gujarati",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",kn:"Kannada",ko:"Korean",lt:"Lithuanian",lv:"Latvian",ml:"Malayalam",mr:"Marathi (Marāṭhī)",ms:"Malay",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovene",sr:"Serbian",sv:"Swedish",sw:"Swahili",ta:"Tamil",te:"Telugu",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",zh:"Chinese"},e.entities={am:"&#4768;&#4635;&#4653;&#4763;",ar:"&#1575;&#1604;&#1593;&#1585;&#1576;&#1610;&#1577;",bg:"&#1073;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;",bn:"&#2476;&#2494;&#2434;&#2482;&#2494;",ca:"catal&agrave;",cs:"&#269;e&scaron;tina",da:"dansk",de:"Deutsch",el:"&epsilon;&lambda;&lambda;&eta;&nu;&iota;&kappa;&#940;",en:"English",es:"espa&ntilde;ol",et:"eesti",fa:"&#1601;&#1575;&#1585;&#1587;&#1740;",fi:"suomi",fr:"fran&ccedil;ais",gu:"&#2711;&#2753;&#2716;&#2736;&#2750;&#2724;&#2752;",hi:"&#2361;&#2367;&#2344;&#2381;&#2342;&#2368;",hr:"hrvatski",hu:"magyar",id:"Indonesia",it:"italiano",ja:"&#26085;&#26412;&#35486;",kn:"&#3221;&#3240;&#3277;&#3240;&#3233;",ko:"&#38867;&#22283;&#35486;",lt:"lietuvi&#371;",lv:"latvie&scaron;u",ml:"&#3374;&#3378;&#3375;&#3390;&#3379;&#3330;",mr:"&#2350;&#2352;&#2366;&#2336;&#2368;",ms:"Malay",nl:"Nederlands",no:"Norsk",pl:"polski",pt:"portugu&ecirc;s",ro:"Romanian, Moldavian",ru:"&#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;",sk:"sloven&#269;ina",sl:"slovenski",sr:"&#1089;&#1088;&#1087;&#1089;&#1082;&#1080; &#1112;&#1077;&#1079;&#1080;&#1082;",sv:"Svenska",sw:"Kiswahili",ta:"&#2980;&#2990;&#3007;&#2996;&#3021;",te:"&#3108;&#3142;&#3122;&#3137;&#3095;&#3137;",th:"&#3652;&#3607;&#3618;",tr:"T&uuml;rk&ccedil;e",uk:"&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;",vi:"Ti&#7871;ng Vi&#7879;t"},e.native={am:"አማርኛ",ar:"العربية",bg:"български",bn:"বাংলা",ca:"català",cs:"čeština",da:"dansk",de:"Deutsch",el:"ελληνικά",en:"English",es:"español",et:"eesti",fa:"فارسی",fi:"suomi",fr:"français",gu:"ગુજરાતી",hi:"हिन्दी",hr:"hrvatski",hu:"magyar",id:"Indonesia",it:"italiano",ja:"日本語",kn:"ಕನ್ನಡ",ko:"韓國語",lt:"lietuvių",lv:"latviešu",ml:"മലയാളം",mr:"मराठी",ms:"Malay",nl:"Nederlands",no:"Norsk",pl:"polski",pt:"português",ro:"Romanian, Moldavian",ru:"русский",sk:"slovenčina",sl:"slovenski",sr:"српски језик",sv:"Svenska",sw:"Kiswahili",ta:"தமிழ்",te:"తెలుగు",th:"ไทย",tr:"Türkçe",uk:"українська",vi:"Tiếng Việt",zh:"漢語"}}),require.register("slam/lib/support/see.js",function(e,t,n){function i(e,t){if(2==arguments.length){if("object"!=typeof t||!t)throw new Error("state must be an object");e=p(e),h("create",e,[t]),_[e]?_[e].push(t):_[e]=[t]}else h("go",e),i.go(e||"/")}function a(){v.length?(E=!0,f=v.shift().split("/"),s()):(h("done"),E=!1)}function r(){var e=c(f),t=c(b),n=y[y.length-1];return h("diff",e,t,n),e===t?0:b.length<f.length&&0===e.indexOf(t)?1:n&&0!==n.indexOf(t)?-2:b.length>f.length||0!==e.indexOf(t)?-1:0}function s(){switch(r()){case 1:return b.push(f[b.length]),d(c(b)),l();case-1:return d(c(b)),b.pop(),o();case-2:return b.pop(),s();case 0:return i.emit(c(f)),a()}}function o(){var e=y.pop(),t=y[y.length-1],n=x.pop(),a=t===e?o:s;g=n,n&&"function"==typeof n.leave?n.leave.length>=2?(h("pop async",T.pathname),n.leave(T,function(e){e instanceof Error?i.emit("error",e):(i.emit("leave",T),n.cleanup&&n.cleanup(T),g=null,a())})):(h("pop sync",T.pathname),n.leave(T),i.emit("leave",T),n.cleanup&&n.cleanup(T),g=null,a()):n?(h("pop no leave",T.pathname),i.emit("leave",T),n.cleanup&&n.cleanup(T),g=null,a()):a()}function l(){var e=u();g=e,e&&"function"==typeof e.enter?e.enter.length>=2?(h("push async",T.pathname),i.emit("enter",T),e.enter(T,function(t){g=null,t instanceof Error?i.emit("error",t):(y.push(T.pathname),x.push(e),l())})):(h("push sync",T.pathname),i.emit("enter",T),e.enter(T),g=null,y.push(T.pathname),x.push(e),l()):e?(h("push no enter",T.pathname),i.emit("enter",T),g=null,l()):s()}function c(e){return e.join("/")||"/"}function u(){var e=c(b);if(_[e])for(var t=0;t<_[e].length;t++)if(!~x.indexOf(_[e][t]))return _[e][t]}function d(e){var t=e.indexOf("?");k?Object.defineProperties(T,{path:{value:e,configurable:!0},pathname:{value:~t?e.slice(0,t):e,configurable:!0},querystring:{value:~t?e.slice(t+1):"",configurable:!0}}):(T.path=e,T.pathname=~t?e.slice(0,t):e,T.querystring=~t?e.slice(t+1):"")}function p(e){return e||""}var m=t("emitter"+("undefined"==typeof process?"":"-component")),h=t("debug")("see");n.exports=m(i);var f,g,y=[],v=[],b=[],_={},x=[],w={},T={},E=!1;i.abort=function(){h("abort",v,y,g),v.length=0,g&&(i.emit("leave",T),g.cleanup&&g.cleanup(T),g=null),E=!1},i.ctx=function(e){T=e},i.go=function(e){if(h("go",e),e=p(e),!_[e])throw new Error("path does not exist: "+e);v.push(e),E||a()},i.bind=function(e){return w[e]||(w[e]=i.go.bind(i,e))};var k=function(){var e={};return Object.defineProperty(e,"x",{value:123,configurable:!0}),Object.defineProperty(e,"x",{value:456,configurable:!0}),456===e.x}()}),require.register("slam/lib/support/mouse.js",function(e,t){function n(e){s=e.pageX,o=e.pageY}function i(e){u=e.pageX,d=e.pageY}function a(e){var t=e.touches[0];t&&(l=s=t.pageX,c=o=t.pageY)}function r(e){var t=e.touches[0];t&&(s=t.pageX,o=t.pageY),e.preventDefault()}var s,o,l,c,u,d,p,m=t("emitter"),h=t("debug")("mouse"),f=document;m(e);var g;e.tick=function(){var t=Date.now(),n=t-p;l===g||c===g||s===l&&o===c||e.emit("move",s-l,o-c,n),u&&d&&e.emit("click",u,d,n),l=s,c=o,p=t,u=d=null},e.start=function(e){h("start",e),e&&(f=e),f.addEventListener("touchstart",a,!0),f.addEventListener("touchmove",r,!0),f.addEventListener("mousemove",n,!0),f.addEventListener("click",i,!0)},e.stop=function(){h("stop"),s=l,o=c,f.removeEventListener("touchstart",a,!0),f.removeEventListener("touchmove",r,!0),f.removeEventListener("mousemove",n,!0),f.removeEventListener("click",i,!0)}}),require.register("slam/lib/support/buffer.js",function(e){function t(e,t){e.buffer?(this.data=new DataView(e.buffer),this.offset=t||0,this.littleEndian=!0):(this.data=new DataView(e),this.offset=t||0,this.littleEndian=!0)}function n(e,t){return function(){var n=this.data[e](this.offset,this.littleEndian);return this.offset+=t,n}}function i(e,t){this.data=new DataView(e),this.offset=t||0,this.littleEndian=!0}function a(e,t){return function(n){return this.data[e](this.offset,n,this.littleEndian),this.offset+=t,this}}function r(e){for(var t=new Array(e.length),n=0,i=e.length;i>n;n++)t[n]=255&e.charCodeAt(n);return t}e.Writer=i,e.Reader=t,t.prototype={getInt8:n("getInt8",1),getUint8:n("getUint8",1),getInt16:n("getInt16",2),getUint16:n("getUint16",2),getFloat32:n("getFloat32",4),getFloat64:n("getFloat64",8),readString:function(){var e=this.getUint8(),t=new Uint8Array(this.data.buffer,this.offset,e);return this.offset+=1+e,String.fromCharCode.apply(null,t)}},i.prototype={setInt8:a("setInt8",1),setUint8:a("setUint8",1),setInt16:a("setInt16",2),setUint16:a("setUint16",2),setFloat32:a("setFloat32",4),setFloat64:a("setFloat64",8),writeString:function(e){if(e.length>255)throw new Error("only 255 chars supported");var t=r(e);return this.setUint8(t.length),new Uint8Array(this.data.buffer,this.offset,t.length).set(t),this.offset+=1+t.length,this}}}),require.register("slam/lib/support/pool.js",function(e,t,n){function i(e,t){function n(t){console.warn("pool expand %s: %s",e.name,t);for(var n=0;t>n;n++)a[n]=new e;i+=t}var i=t||1,a=[];n(i),e.alloc=function(){a.length<1&&n(i);var e=a.pop();return e.alloc&&e.alloc(),e},e.free=function(e){e.free&&e.free(),a.push(e)}}n.exports=i}),require.register("slam/lib/support/tick.js",function(e,t,n){function i(){this._timeouts=[],this._added=[],this._index=1}function a(e,t,n){for(;t.length;){var i=t.shift(),a=t.shift(),r=t.shift(),s=t.shift(),o=t.shift(),l=e+s;n.push(l,i,s,a,r,o)}}function r(e,t,n){for(var i=e.frame,a=n.length-f;a>=0;a-=f){var r=n[a];if(r===i){var s=n[a+1],o=n[a+2],l=n[a+3],c=n[a+4],u=n[a+5];n.splice(a,f),u===h&&n.push(i+o,s,o,l,c,u),d[l].apply(d,[e].concat(c))}}}function s(e,t){return"number"==typeof e&&e>=t}function o(e,t,n){for(var i=t.length;i>=0;i-=g)if(t[i]===e&&t[i+4]===n)return t.splice(i,g),!0}function l(e,t,n){for(var i=t.length-f;i>=0;i-=f)if(t[i+1]===e&&t[i+5]===n)return t.splice(i,f),!0}function c(e){return Math.round(e*p.data.framerate/1e3)||1}var u=t("debug")("tick"),d=t("../actions"),p=t("../settings");n.exports=i;var m=0,h=1,f=6,g=5,y=[].slice;i.prototype.nextFrame=function(e){if("function"!=typeof d[e])return console.warn('invalid action "%s"',e);var t=this._index++;return u("nextFrame(%s) %s",e,t),this._added.push(t,e,y.call(arguments,1),0,m),t},i.prototype.setTimeout=function(e,t){if("function"!=typeof d[e])return console.warn('invalid action "%s"',e);var n=this._index++,i=c(t);return u("setTimeout(%s) %s (%s frames)",e,n,i),this._added.push(n,e,y.call(arguments,2),i,m),n},i.prototype.clearTimeout=function(e){return u("clearTimeout %s",e),s(e,this._index)||o(e,this._added,m)||l(e,this._timeouts,m)},i.prototype.setInterval=function(e,t){if("function"!=typeof d[e])return console.warn('invalid action "%s"',e);var n=this._index++,i=c(t);return u("setInterval(%s) %s (%s frames)",e,n,i),this._added.push(n,e,y.call(arguments,2),i,h),n},i.prototype.clearInterval=function(e){return u("clearInterval %s",e),s(e,this._index)||o(e,this._added,h)||l(e,this._timeouts,h)},i.prototype.update=function(e){a(e.frame,this._added,this._timeouts),r(e,this._added,this._timeouts)},i.prototype.reset=function(){this._timeouts.length=0,this._added.length=0,this._index=1}}),require.register("slam/lib/support/rand.js",function(e,t,n){function i(e){this.state=e?e:Math.floor(Math.random()*(this.m-1))}n.exports=i,i.prototype={m:4294967296,a:1103515245,c:12345},i.prototype.integer=function(){return this.state=(this.a*this.state+this.c)%this.m,this.state},i.prototype.random=i.prototype.float=function(){return this.integer()/(this.m-1)},i.prototype.range=function(e,t){return e+Math.floor(this.integer()/this.m*(t-e))},i.prototype.choice=function(e){return e[this.range(0,e.length)]}}),require.register("slam/lib/support/time-sync.js",function(e,t,n){function i(e){return this instanceof i?(this.channel=e,this.times=[],this.received=0,this.index=0,this.wanted=32,this.requestTimes={},this.timeout=1e4,this.interval=160,void 0):new i(e)}function a(e){return u(e)}function r(e,t){return e[3]=255&t>>8,e[4]=255&t>>0,e}function s(e){return(e[3]<<8)+e[4]}function o(e,t){return e.byteLength===t.byteLength&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}var l=t("debug")("time-sync"),c=t("emitter"),u=t("latency"),d=t("now");n.exports=i,c(i.prototype),i.prototype.onmessage=function(e){if(e=new Uint8Array(e),o(m,e)){var t=s(e);return l("got REQUEST",t),this.channel.send(r(h,t)),this.emit("request",t),!0}if(o(h,e)){var t=s(e),n=this.requestTimes[t];if(this.requesting&&n){var i=d();l("got REPLY %sms",i-n,t),this.received++,this.times[t%this.wanted]=(i-n)/2,delete this.requestTimes[t],this.emit("reply",t)}return!0}return o(f,e)?(this.requesting?console.warn("unexpected DONE"):(this.latency=s(e),l("got DONE",this.latency),this.emit("done",this.latency,!1)),!0):!1},i.prototype.start=function(){return l("start"),this.requesting?console.warn("ignoring time sync start because already running"):this.channel?(this.times.length=0,this.index=Math.round(1e4*Math.random()),this.update(this.wanted),void 0):console.warn("ignoring time sync start because missing data channel")},i.prototype.update=function(e){l("update",e),this.requesting=!0,this.received=0,this._interval=setInterval(function(){this.requesting&&this.received>=e?this.done():this.requesting?this.request():this.stop()}.bind(this),this.interval),this._timeout=setTimeout(function(){l("timed out"),this.stop(),this.emit("timeout")}.bind(this),this.timeout)},i.prototype.request=function(){var e=this.index;this.requestTimes[e]=d(),this.channel.send(r(m,e)),l("sent REQUEST",e,0===this.times.length?"initial":""),this.index++},i.prototype.stop=function(){clearInterval(this._interval),clearTimeout(this._timeout),this.requesting=!1},i.prototype.done=function(){this.stop(),this.latency=Math.round(a(this.times)),this.channel.send(r(f,this.latency)),l("sent DONE",this.latency),this.emit("done",this.latency,!0)};var p=["T".charCodeAt(0),"S".charCodeAt(0)],m=new Uint8Array(p.concat(0,0,0)),h=new Uint8Array(p.concat(1,0,0)),f=new Uint8Array(p.concat(2,0,0))}),require.register("slam/lib/support/hash-code.js",function(e,t,n){function i(e){for(var t=5381,n=0;n<e.length;n++){var i=e.charCodeAt(n);t=(t<<5)+t+i}return t}function a(e){return Math.round(e*r)/r}n.exports=function s(e){var t=[];if("number"==typeof e)t.push(a(e));else if("object"!=typeof e||null===e)t.push(e);else if("function"==typeof e.hashCode)t.push(e.hashCode());else for(var n in e){var r=e[n];"object"==typeof r&&(r=s(r)),"number"==typeof r&&(r=a(r)),t.push(n+r+n.length+String(r).length)}return t.sort(),i(t.join("|"))};var r=Math.pow(2,-512)}),require.register("slam/lib/support/valid-video.js",function(e,t,n){function i(e,t,n){var i=document.createElement("canvas");i.width=1,i.height=1;var a=i.getContext("2d");return a.drawImage(e,t,n,1,1,0,0,1,1),a.getImageData(0,0,1,1).data}n.exports=function(e){return e.readyState!==e.HAVE_ENOUGH_DATA?!1:0===e.videoWidth&&0===e.videoHeight?!1:0===i(e,0,0)[3]?!1:0===i(e,159,119)[3]?!1:0===i(e,80,60)[3]?!1:!0}}),require.register("slam/lib/support/exclude.js",function(e,t,n){function i(e,t,n){var i={};t.forEach(function(t){for(var n=t.split("."),a=e,r=0;r<n.length;++r){var s=n[r];r==n.length-1?(i[t]=a[s],delete a[s]):a=a[s]}}),n(e),Object.keys(i).forEach(function(t){for(var n=t.split("."),a=e,r=0;r<n.length;++r){var s=n[r];r==n.length-1?a[s]=i[t]:a=a[s]}})}n.exports=i}),require.register("slam/lib/support/estimate-slow-down.js",function(e,t,n){function i(e,t){return e>=0^0>t}var a=t("../settings");n.exports=function(e,t,n){if(!t||!e||!n)return 1;if(!i(e,t))return null;var r=e/t*a.data.timestep,s=r+n;return r/s}}),require.register("slam/lib/support/improved-noise.js",function(e,t,n){function i(){this.p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];for(var e=0;256>e;e++)this.p[256+e]=this.p[e]}function a(e){return e*e*e*(e*(6*e-15)+10)}function r(e,t,n){return t+e*(n-t)}function s(e,t,n,i){var a=15&e,r=8>a?t:n,s=4>a?n:12==a||14==a?t:i;return(0==(1&a)?r:-r)+(0==(2&a)?s:-s)}n.exports=new i,i.prototype.noise=function(e,t,n){var i=~~e,o=~~t,l=~~n,c=255&i,u=255&o,d=255&l;e-=i,t-=o,n-=l;var p=e-1,m=t-1,h=n-1,f=a(e),g=a(t),y=a(n),v=this.p[c]+u,b=this.p[v]+d,_=this.p[v+1]+d,x=this.p[c+1]+u,w=this.p[x]+d,T=this.p[x+1]+d;return r(y,r(g,r(f,s(this.p[b],e,t,n),s(this.p[w],p,t,n)),r(f,s(this.p[_],e,m,n),s(this.p[T],p,m,n))),r(g,r(f,s(this.p[b+1],e,t,h),s(this.p[w+1],p,t,n-1)),r(f,s(this.p[_+1],e,m,h),s(this.p[T+1],p,m,h))))}}),require.register("slam/lib/states/index.js",function(e,t){e.Setup=t("./setup"),e.Mobile=t("./mobile"),e.Loading=t("./loading"),e.Error=t("./error"),e.MainMenu=t("./main-menu"),e.Friend=t("./friend"),e.Webcam=t("./webcam"),e.Prompt=t("./prompt"),e.Game=t("./game"),e.Game.Input=t("./game/input"),e.Game.Verify=t("./game/verify"),e.Game.Multiplayer=t("./game/multiplayer")}),require.register("slam/lib/states/error.js",function(e,t){var n=t("../support/see"),i=t("mousetrap"),a=t("jquery");e.enter=function(){},e.leave=function(){},e.DataChannels={enter:function(e){var t=a(".main-menu",e.el).on("click",function(e){n("/main-menu"),e.preventDefault()});i.bind("space",function(){t.click()})},leave:function(e){a(".mainmenu",e.el).off("click"),i.unbind("space")}},e.ConnectionError={enter:function(e){i.bind("space",function(){a("a.button",e.el).click()})},leave:function(){i.unbind("space")}},e.FullRoom={enter:function(e){var t=a(".main-menu",e.el);i.bind("space",function(){t.click()})},leave:function(e){a(".mainmenu",e.el).off("click"),i.unbind("space")}},e.Browser={enter:function(e){a(".button",e.el).on("click",function(){})},leave:function(e){a(".button",e.el).off("click")}},e.Lonely={enter:function(e){a(".button",e.el).on("click",function(){})},leave:function(e){a(".button",e.el).off("click")}}}),require.register("slam/lib/states/setup.js",function(e,t){function n(){T("#footer [target=_blank]").on("click",function(){_gaq.push(["_trackEvent","outbound links",T(this).attr("href")])}),T("header").addClass("delay")}function i(e){h.parse(e),h.load(function(){if(h.availableLanguages.length<2)T("#localizationSwitch").closest("li").hide();else{var e=h.nextLanguage(!0),t=_.name(e);T("#localizationSwitch").html(t).click(function(e){e.preventDefault();var t=_.name(h.currentLanguage);T("#localizationSwitch").html(t),h.nextLanguage(),_gaq.push(["_trackEvent","localization","switch",h.currentLanguage])})}})}function a(){function e(e){var t=T(e.target).hasClass("state")?T(e.target):T(e.target).closest(".state");t.hasClass("active")||t.hide()}T(".state.inactive").hide().css("visibility","visible"),T(".state .animate").add(T(".state.animate")).each(function(){y(this).on("end",e)})}function r(){T(".social a").on("mouseover",function(){E.tell("share_over")}),T(".social a").on("click",function(){E.tell("share_click");var e=T(this).attr("href");return _gaq.push(["_trackEvent","share",e]),window.open(e,"Cube Slam","toolbar=0,status=0,width=626,height=480"),!1})}function s(e){if(e.network=new p(e),!e.mobile&&e.network.available){if(navigator.onLine===!1||"offline"==e.room)return T("button.play-friend").remove(),void 0;e.game.on("post update",function(){g(e)}),f.on("enter",function(e){e.network.emit("state",e.pathname)}),e.network.on("connected",function(){E.tell("friend_join")}),e.network.on("change latency",function(e){if(null===e)return T("#multiplayer-notification").stop().hide(),T("#latencyMeter span").closest("li").addClass("inactive"),void 0;var t=e>150?"bad":e>50?"ok":"good";if(T("#latencyMeter span").text(e).removeClass("ok good bad").addClass(t).closest("li").removeClass("inactive"),"good"!=t){T("#multiplayer-notification").stop().hide();var n=T("#latency-notification:not(.inactive)").addClass("active");n.length>0&&n.addClass("inactive").fadeOut(0).fadeIn(200).delay(12e3).fadeOut(200)}v.latency.push(e)}),e.network.on("addstream",function(t){var n=document.getElementById("remoteInput");n.src=webkitURL.createObjectURL(t.stream),e.renderer.triggerEvent("remoteVideoAvailable",{visible:!0})}),e.network.on("removestream",function(){e.renderer.triggerEvent("remoteVideoAvailable",{visible:!1}),document.getElementById("remoteInput").src=""}),e.network.on("full",function(){T("body").addClass("error room-full"),f("/error/fullroom")}),e.network.on("timeout",function(){console.warn("connection timed out"),_gaq.push(["_trackEvent","error","connection timed out"]),"/loading"!=e.pathname&&f.abort(),f("/error/connection")}),e.network.on("error",function(t){console.error(t.stack),console.log(g(e)),_gaq.push(["_trackEvent","error",t.message]),e.network.close(),"/loading"!=e.pathname&&f.abort(),f("/error/connection")}),e.network.on("connected",function(){"/loading"!=e.pathname&&f.abort(),E.tell("microphone_on"),w("off",!0,!0),T("#multiplayer-notification").fadeOut(0).fadeIn(200).delay(8e3).fadeOut(200),this.winner?f("/friend/arrived"):f("/friend/waiting")}),e.network.on("disconnected",function(){"/loading"!=e.pathname&&f.abort(),E.tell("microphone_off"),w(x("sound")),f("/friend/left")}),"offline"!==e.room&&e.network.setupRemote({dataChannels:"game",bufferCandidates:e.query.buffer||e.dev,signal:e.query.signal,url:"ws://nj.publicclass.co:8090/"+e.room,room:e.room,turnConfigURL:"https://computeengineondemand.appspot.com/turn?username=apa&key=1329412323"})}}function o(e){l.bind("o",function(){T("#settingsGUIContainer,#debug-info").toggle(),g(e,T("#debug-info").is(":visible"))}),l.bind("p",function(){b.createPuckCenter(e.game.world)}),l.bind("e",function(){e.renderer.triggerEvent("explode")}),l.bind("h",function(){e.renderer.triggerEvent("heal")
}),l.bind("m",function(){m.data.debugMirror=!m.data.debugMirror,e.renderer.triggerEvent("mirrorEffect",{active:m.data.debugMirror})});for(var t=1;6>t;t++)l.bind(String(t),function(e){m.data.cameraType=e-1,m.emit("cameraTypeChanged")}.bind(null,t));l.bind("c",function(){e.renderer.triggerEvent("trace-camera")});var n,i=new d(document.getElementById("canv-2d"));l.bind("0",function(){e.renderer.impl!==i?(n=e.renderer.impl,e.renderer.set(i),T(n.canvas||n.element).hide(),T(i.canvas).show()):n&&(e.renderer.set(n),T(i.canvas).hide(),T(n.canvas||n.element).show())})}var l=(t("debug")("states:setup"),t("mousetrap")),c=t("../game"),u=t("../renderer"),d=t("../renderer-2d"),p=t("../network"),m=t("../settings"),h=t("../localization"),f=t("../support/see"),g=t("../support/info"),y=(t("../support/select-text"),t("css-emitter")),v=(t("../inputs"),t("../tracking")),b=t("../actions"),_=t("../support/language-codes"),x=t("cookie"),w=t("../sound"),T=t("jquery"),E=t("../dmaf.min"),k=e;k.enter=function(e){if(e.query.dev=e.query.dev?!0:!1,e.query.quality&&((e.query.quality===m.QUALITY_BEST||e.query.quality===m.QUALITY_LOW||e.query.quality===m.QUALITY_HIGH||e.query.quality===m.QUALITY_MOBILE)&&(m.data.quality=e.query.quality),(m.data.quality==m.QUALITY_LOW||window.devicePixelRatio>1)&&(m.data.antialias=!1),e.query.quality===m.QUALITY_BEST&&(m.data.antialias=!0),e.query.quality===m.QUALITY_MOBILE&&(m.data.cameraOverlay=!1)),e.renderer=new u,e.game=new c("game",e.renderer),"2d"==e.query.renderer&&e.renderer.set(new d(document.getElementById("canv-2d"))),e.query.paused&&(console.warn('started game in paused mode. step forward with ".".'),e.game.pause(),l.bind(".",function(){e.game.update(),e.game.emit("render",e.game.world,0)})),"function"==typeof Stats&&e.query.dev){var t=new Stats;T(t.domElement).css({"letter-spacing":"normal",position:"absolute","z-index":999}).insertBefore("#benchmarks"),e.game.on("enter frame",function(){t.begin()}),e.game.on("leave frame",function(){t.end()})}e.touch="ontouchstart"in window||navigator.msMaxTouchPoints,e.touch&&(T("body").addClass("touch"),e.mobile||(m.data.mouseSensitivity=.7/10)),e.silent=e.silent||e.query.silent,e.silent||(e.silent=!(window.webkitAudioContext||window.AudioContext)),e.silent&&T(".sound").hide(),w(x("sound"),!0),E.log=e.query.dmaf,a(),r(),n(),s(e),o(e),i(e.query.lang||e.acceptLanguage),g(e,e.query.dev),T("#debug-info").toggle(e.query.dev)},k.leave=function(){throw new Error("this should never happen...")}}),require.register("slam/lib/states/mobile.js",function(e,t){function n(){if(window.WebGLRenderingContext)try{var e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(t)return!0;console.warn("webgl was not available. you might want to visit http://get.webgl.org/troubleshooting/")}catch(n){console.error(n)}return!1}function i(){var e,t=document.createElement("p"),n={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(t,null);for(var i in n)void 0!==t.style[i]&&(t.style[i]="translate3d(1px,1px,1px)",e=window.getComputedStyle(t).getPropertyValue(n[i]));document.body.removeChild(t);var a=document.createElement("p"),r=(document.getElementsByTagName("HTML")[0],document.getElementsByTagName("BODY")[0]),s={webkitTransformStyle:"-webkit-transform-style",MozTransformStyle:"-moz-transform-style",msTransformStyle:"-ms-transform-style",transformStyle:"transform-style"};r.insertBefore(a,null);for(var o in s)void 0!==a.style[o]&&(a.style[o]="preserve-3d");var l=window.getComputedStyle(a,null),c=l.getPropertyValue("-webkit-transform-style")||l.getPropertyValue("-moz-transform-style")||l.getPropertyValue("-ms-transform-style")||l.getPropertyValue("transform-style");return"preserve-3d"!==c&&(e=void 0),document.body.removeChild(a),void 0!==e&&e.length>0&&"none"!==e}function a(e){c.parse(e),c.load()}var r=(t("debug")("mobile"),t("../settings")),s=t("mousetrap"),o=t("../support/see"),l=t("../support/mouse"),c=t("../localization"),u=t("jquery"),d=e;d.enter=function(e){if("mobile"!=e.query.quality&&navigator.userAgent.toLowerCase().indexOf("android")>-1&&(e.query.mobile=!0),e.query.mobile||!n()){e.mobile=!0,e.query.renderer=e.query.renderer||"css",u("html").addClass("mobile");var t=u(".mobile section.main-menu img").data(u(document).width()>800?"src-tablet":"src-mobile");if(u("header.main-menu").css({backgroundImage:"url("+t+")"}),!i())return u("header.main-menu").removeClass("inactive").addClass("active"),u("header.main-menu .nav").hide(),u(".loading").hide(),o.abort(),a(e.acceptLanguage),o("/error/browser"),void 0;if(u("body").hasClass("room-lonely"))return o.abort(),u("header.main-menu").addClass("active"),u("header.main-menu .nav").hide(),u("#footer").hide(),u(".loading").remove(),a(e.acceptLanguage),o("/error/lonelyroom"),void 0;window.scrollTo(0,1),o.on("enter",function(e){e.pathname.indexOf("/game/")>-1}),u("button").on("touchstart",function(){u(this).addClass("down")}),u("button").on("touchend",function(){u(this).removeClass("down")}),u("#gamepad button:first").on("mousedown touchstart",function(){return s.trigger("left,a","keydown"),u(this).addClass("down"),!1}).on("mouseup touchend",function(){return s.trigger("left,a","keyup"),u(this).removeClass("down"),!1}),u("#gamepad button:last").on("mousedown touchstart",function(){return s.trigger("right,d","keydown"),u(this).addClass("down"),!1}).on("mouseup touchend",function(){return s.trigger("right,d","keyup"),u(this).removeClass("down"),!1}),u("footer .technology a").on("click",function(t){return e.pathname.indexOf("game")<0?o("/cssinfo"):e.pathname.indexOf("over")>-1?o("/game/over/cssinfo"):o("/game/cssinfo"),t.stopImmediatePropagation(),!1}),u("#mobile-menu button.info").on("click",function(){return o("/game/cssinfo"),!1}),l.once("move",function(){u("#canv-css .swipe-instruction").addClass("hide")}),u("#canv-css .background").css("backgroundImage","url("+u("#canv-css .background img.bg").data(u(document).width()>800?"src-tablet":"src-mobile")+")"),u(".state.friend-invite").remove(),u("section.state.game-pause").remove(),u(".state.webcam-activate").remove(),u(".state.webcam-information").remove(),u(".state.webcam-waiting").remove(),u(".state.webcam-arrived").remove(),u(".state.game-wait").remove(),u(".state.friend-accept").remove(),u(".state.friend-left").remove(),u("#extras").remove();var c=document.getElementById("canv-css").style;u(window).on("resize",function(){var e={w:560,h:500},t=u(window).width(),n=u(window).height(),i=t/e.w,a=n/e.h,s=i>a?a:i;c.transform=c.webkitTransform=c.msTransform=c.MozTransform=c.OTransform="scale("+s+") translateZ(0)",1.8>s&&(r.data.mouseSensitivity=(1.8-s)/10)}).resize()}},d.leave=function(){},e.Info={enter:function(e){e.el.scrollTop(0,0),e.pathname.indexOf("game")>-1?e.pathname.indexOf("over")>-1?u("button",e.el).on("click",function(){o("/game/over")}):u("button",e.el).on("click",function(){o("/game/pause")}):u("button",e.el).on("click",function(){o("/main-menu")})},leave:function(e){u("button",e.el).off("click")},cleanup:function(){}}}),require.register("slam/lib/states/loading.js",function(e,t){function n(e){return a(document).width()>800?a(e).data("src-tablet"):a(e).data("src-mobile")}function i(e,t){var n=document.createElement("script");n.type="text/javascript",n.async=!0,n.onerror=function(e){t(e)},n.onload=function(){t()},n.src=e;var i=document.getElementsByTagName("script")[0];i.parentNode.insertBefore(n,i)}var a=t("jquery"),r=t("preloader"),s=t("../support/see"),o=t("../dmaf.min"),l=e;l.enter=function(e){this.loader=new r,!e.network.available&&a("body").hasClass("room-lonely")?s("/error/datachannels"):s("/main-menu")},l.leave=function(e,r){var s=e.el;e.silent||this.loader.push(function(e){o.addEventListener("dmaf_ready",function(){e()}),o.addEventListener("dmaf_fail",function(){e(),_gaq.push(["_trackEvent","sound","failed"])}),o.init("/dmaf__assets/")}),Modernizr.csstransforms3d||a("#scores").addClass("no-transforms"),"css"==e.query.renderer?(_gaq.push(["_trackEvent","renderer","css"]),this.loader.push(function(n){console.time("load css"),i("/javascript/renderer-css"+e.ext,function(i){if(console.timeEnd("load css"),i)return n(i);var a=t("../renderer-css");e.renderer.set(new a(document.getElementById("canv-css"))),n()})}),this.loader.add("/images/mobile/puck.png"),this.loader.add("/images/mobile/paddle-p1.png"),this.loader.add("/images/mobile/paddle-p2.png"),this.loader.add("/images/mobile/shields.png"),this.loader.add("/images/mobile/bear.png"),this.loader.add("/images/mobile/extra-icons.png"),this.loader.add("/images/mobile/effects.png"),this.loader.add("/images/mobile/obstacles.png"),this.loader.add(n(".mobile section.main-menu img")),this.loader.add(n("#canv-css .background img.bg")),a("#canv-css .background").css("backgroundImage","url("+n("#canv-css .background img.bg")+")"),a("header.main-menu").css("backgroundImage","url("+n(".mobile section.main-menu img")+")")):"none"!=e.query.renderer&&(_gaq.push(["_trackEvent","renderer","3d"]),this.loader.push(function(n){function a(e){return e?n(e):(--s||r(),void 0)}function r(){console.timeEnd("load 3d"),console.time("init 3d"),console.groupCollapsed("init 3d");var i=t("../renderer-3d"),a=new i(document.getElementById("canv-3d"));a.on("initDone",function(){console.groupEnd("init 3d"),console.timeEnd("init 3d"),n()}),e.renderer.set(a)}console.time("load 3d");var s=3;i("/javascript/libs/tween-max.min.js",a),i("/javascript/libs/three"+e.ext,a),i("/javascript/renderer-3d"+e.ext,a)})),this.loader.end(function(){console.timeEnd("load"),console.groupEnd("load"),e.game.run(),s.remove(),r()})}}),require.register("slam/lib/states/main-menu.js",function(e,t){var n=t("mousetrap"),i=t("../support/see"),a=(t("cookie"),t("../settings")),r=t("../settings-gui"),s=(t("../actions"),t("../sound")),o=t("jquery"),l=t("../dmaf.min"),c=e;c.enter=function(e){l.tell("splash_screen"),e.renderer.changeView("main-menu"),document.addEventListener("visibilitychange",function(){document.hidden?l.tell("inactive"):l.tell("active")},!1),document.addEventListener("webkitvisibilitychange",function(){document.webkitHidden?l.tell("inactive"):l.tell("active")},!1),o("#about").find("li").off("mousedown").on("mousedown",function(e){l.tell("text_button_down",{className:e.currentTarget.className})}).off("mouseover").on("mouseover",function(e){l.tell("text_button_over",{className:e.currentTarget.className})}),o("#socials").find("li").off("mousedown").on("mousedown",function(e){l.tell("small_button_down",{className:e.currentTarget.className})}).off("mouseover").on("mouseover",function(e){l.tell("small_button_over",{className:e.currentTarget.className})}),o("button").off("mousedown").on("mousedown",function(e){l.tell("button_down",{className:e.currentTarget.className})}).off("mouseover").on("mouseover",function(e){l.tell("button_over",{className:e.currentTarget.className})}),o("header.main-menu .links a").off("click").on("click",function(){_gaq.push(["_trackEvent","outbound links",o(this).attr("href")])}),o(".sound-switch").click(function(){return s(),!1});var t=o(".play-friend",e.el),c=o(".start",e.el);if(t.on("click",function(){if(o("body").hasClass("room-full"))return i("/error/fullroom");if(!e.network.available)return i("/error/datachannels");switch(e.network.pathname){case"/friend/arrived":return i("/friend/accept");case"/friend/invite":case"/friend/waiting":return i("/friend/arrived");default:return i("/friend/invite")}}),this.waitingFor=function(){"/friend/invite"==e.network.pathname&&i("/friend/waiting")},e.network.on("change pathname",this.waitingFor),"/friend/invite"==e.network.pathname&&i("/friend/waiting"),c.on("click",function(){i("/game/instructions")}),n.bind("space",function(){c.click()}),e.query.extras){var u=e.query.extras.split(","),d=u.length;if(d){a.data.overrideSpawnExtras=!0;for(var p=0;d>p;p++)a.data.spawnExtras.hasOwnProperty(u[p])&&(a.data.spawnExtras[u[p]]=!0)}}e.query.dev&&(_gaq.push(["_trackEvent","settings","dev enabled"]),r.createGenericUI({isMobile:e.mobile,isNetwork:e.network.available})),e.query.see?(e.query.noleave&&i.abort(),i(e.query.see)):e.query.play&&i("/game/instructions")},c.leave=function(e){o(e.el).removeClass("delay"),e.network.off("change pathname",this.waitingFor),o(".play-friend",e.el).off("click"),o(".start",e.el).off("click"),n.unbind("space")}}),require.register("slam/lib/states/prompt.js",function(e,t){var n=(t("debug")("states:prompt"),t("../support/see")),i=t("jquery"),a=t("../dmaf.min"),r=952.38,s=e;s.enter=function(){},s.leave=function(){},e.Level={enter:function(){a.tell("countdown_init"),n("/game/prompt/round")},leave:function(e,t){this.timeout=setTimeout(t,r)},cleanup:function(){clearTimeout(this.timeout)}},e.Round={enter:function(e){var t=e.sync?e.sync.world.players:e.game.world.players,a=t.a.score+t.b.score+1;i("#round-prompt span").html(a),n("/game/prompt/start")},leave:function(e,t){this.timeout=setTimeout(t,r)},cleanup:function(){clearTimeout(this.timeout)}},e.Start={enter:function(e){var t=e.afterStart;e.afterStart=null,i(e.el).closest("section").addClass("alternate"),n(t||"/game/start")},leave:function(e,t){i(e.el).closest("section").removeClass("alternate"),this.timeout=setTimeout(t,r)},cleanup:function(){clearTimeout(this.timeout)}},e.Over={enter:function(e){a.tell("gameover_screen"),e.multiplayer||(i(".win",i(e.el)).hide(),i(".loose",i(e.el)).hide(),i(".over",i(e.el)).show()),n("/game/over")},leave:function(e,t){this.timeout=setTimeout(t,3*r)},cleanup:function(){clearTimeout(this.timeout)}}}),require.register("slam/lib/states/game.js",function(e,t){function n(e,t,n){var i=null;return e.network.pathname===t?p(n):(i=function(a){a===t&&(e.network.off("change pathname",i),p(n))},e.network.on("change pathname",i)),i}function i(e,t){if(t){var n=t.world;t.on("pre update",_.update),isNaN(e.query.level)?_.goto(n,0):(_.goto(n,parseInt(e.query.level,10)-1),console.log("DEBUG LEVEL",e.query.level))}}function a(e,t,n,i){if(e){var a=e.world;a.me=!n||t?a.players.a:a.players.b,a.opponent=!n||t?a.players.b:a.players.a,a.multiplayer=n,e.reset(),v.use(a),a.players.a.paddle=b.createPaddle(a,a.players.a),a.players.b.paddle=b.createPaddle(a,a.players.b),i?a.setState(g.PREVIEW):(b.createShields(a,a.players.a),b.createShields(a,a.players.b),b.createPuckCenter(a),a.setState(g.STARTING))}}function r(e){c("update scores %s %s - %s",e.name,e.players.a.score,e.players.b.score),w("#scores li").addClass("active"),w("#scores .singleplayer .player li").slice(e.me.score).removeClass("active latest-winner"),w("#scores .singleplayer .opponent li").slice(e.opponent.score).removeClass("active latest-winner"),w("#scores .multiplayer .player li").slice(e.me.score).removeClass("active latest-winner"),w("#scores .multiplayer .opponent li").slice(e.opponent.score).removeClass("active latest-winner")}function s(e,t){w("#level-prompt span").html(t+1).closest("section").toggleClass("start",0===t),w("#level").html(t+1),T.tell("level_"+t),x.goto(t),w("html").addClass("theme-"+x.current.name.replace(" ",""))}function o(e){w("#scores").fadeIn(500),e.multiplayer?p("/game/wait"):p("/game/prompt/level")}function l(e){var t="";return e.mobile?t+="css:":(t+="3d:",t+=e.multiplayer?"2p":"1p"),t}var c=t("debug")("states:game"),u=t("../settings"),d=t("../tracking"),p=t("../support/see"),m=t("now"),h=t("../support/mouse"),f=t("mousetrap"),g=t("../world"),y=t("../inputs"),v=t("../extra-icons"),b=t("../actions"),_=t("../puppeteer"),x=t("../themes"),w=t("jquery"),T=t("../dmaf.min");e.Setup={enter:function(e){if(c("setup enter"),w("#scores .level").show(),w("#scores li").addClass("active"),w("#extras").show(),e.renderer.activePlayer(!e.multiplayer||e.network.winner?0:1,!1,e.multiplayer),e.query.god&&(u.data.godMode=!0),"off"==e.query.momentum&&(u.data.paddleMomentum=!1),!isNaN(e.query.framerate)){var t=parseInt(e.query.framerate,10);u.data.framerate=t,u.data.timestep=1e3/t}if(!isNaN(e.query.speed)){var n=parseInt(e.query.speed,10);u.data.unitSpeed=n}e.query.ns?_.namespace(e.query.ns):e.mobile?_.namespace("mobile"):e.multiplayer?_.namespace("multi"):_.namespace("single"),i(e,e.game),i(e,e.sync),s(e,e.game.world.level.index),w("#scores").fadeOut(0)},leave:function(e){c("setup leave"),y.reset(),e.game.off("pre update",_.update),e.game.reset(),e.game.world.players.a.reset(!0,!0),e.game.world.players.b.reset(!0,!0),e.game.world.setState(g.INIT),e.game.world.level=null,e.afterStart=null,e.game.ai.setTarget(null)}},e.Instructions={enter:function(e){c("information enter"),T.tell("info_screen"),a(e.game,e.network.winner,e.multiplayer,!0),a(e.sync,e.network.winner,e.multiplayer,!0),e.renderer.changeView("play"),w("#scores").hide(),w(".game-controls").show(),w(".info-animation",e.el).addClass("hidden").hide();var t=this;if(this.play=w(".play",e.el).show(),this.play.one("click",function(){w(".game-controls").fadeOut(300),w(".info-animation.mobile",e.el).parent().hide(),w(".info-animation.objective",e.el).delay(500).removeClass("hidden").hide().fadeIn({duration:0}),f.unbind("space"),f.bind("space",function(){o(e)}),w(".info-animation.objective",e.el).parent().one("click",function(){o(e)}),clearTimeout(t.gameStartTimeout),t.gameStartTimeout=setTimeout(function(){o(e)},5e3)}),f.bind("space",function(){w(".play",e.el).click()}),e.mobile&&this.play.click(),(e.query.autonav||e.query.play)&&o(e),!isNaN(e.query.round))for(Math.min(4,e.query.round),e.game.world.me.score=Math.floor(e.query.round/2);e.game.world.me.score+e.game.world.opponent.score<4;)e.game.world.opponent.score+=1},leave:function(e,t){c("information leave"),clearTimeout(this.gameStartTimeout),T.tell("info_screen_out"),this.play.off("click"),f.unbind("space"),w(".info-animation",e.el).parent().unbind("click"),w("#scores .singleplayer").toggle(!e.multiplayer),w("#scores .multiplayer").toggle(!!e.multiplayer),w(e.el).removeClass("active").addClass("inactive"),this.nextTimeout=setTimeout(t,1e3),e.game.world.setState(g.STARTING)},cleanup:function(){clearTimeout(this.nextTimeout)}},e.Wait={enter:function(e){this.waiting=n(e,"/game/wait","/game/prompt/level"),clearTimeout(this.timeout),this.timeout=setTimeout(function(){e.network.winner&&(console.log("waited for 10s. trying again to send an offer in case the last one was lost."),e.network.remote.start(),e.network.sync.start())},1e4)},leave:function(e,t){var n=null!==this.waiting?100:100+(2*e.latency||0);clearTimeout(this.timeout),this.timeout=setTimeout(t,n)},cleanup:function(e){clearTimeout(this.timeout),this.waiting&&e.network.off("change pathname",this.waiting)}},e.Start={enter:function(e){if(a(e.game,e.network.winner,e.multiplayer),a(e.sync,e.network.winner,e.multiplayer),y.network.reset(!0),_.goto(e.game.world),e.sync&&_.goto(e.sync.world),s(e,e.game.world.level.index),e.game.world.level.index!=d.currentLevel){var t=Date.now()-d.levelStartTime,n=e.game.world.level.index+1;n>1&&d.levelStartTime&&_gaq.push(["_trackEvent",l(e),"level "+(n-1)+" completed",void 0,Math.round(t/1e3)]),d.currentLevel=e.game.world.level.index,d.levelStartTime=Date.now(),_gaq.push(["_trackEvent",l(e),"level "+n+" started",void 0,n])}e.game.ai.updateBrain(e.game.world.level.ai),e.sync&&e.sync.ai.updateBrain(e.sync.world.level.ai),e.multiplayer&&(e.game.world.players.a.score=e.sync.world.players.a.score,e.game.world.players.b.score=e.sync.world.players.b.score),r(e.sync?e.sync.world:e.game.world),(!e.multiplayer||e.query.ai)&&e.game.ai.setTarget(e.game.world.opponent.paddle),p("/game/play")},leave:function(e){e.renderer.changeView("play")}},e.Play={enter:function(e){e.game.ai.start(),T.tell("game_screen"),e.renderer.triggerEvent("gameStart"),w(".game-play").removeClass("active"),f.bind(["esc","space"],p.bind("/game/pause")),w("button.pause").on("click",p.bind("/game/pause")),this.timeout=setTimeout(function(){e.game.world.setState(g.PLAYING),e.sync&&e.sync.world.setState(g.PLAYING),e.query.benchmark&&(e.benchmarkStart=m(),e.benchmarkFrames=0,e.benchmarkCount=function(){e.benchmarkFrames++},e.game.on("enter frame",e.benchmarkCount))},952.38),e.touch&&h.start(document.getElementById("game"))},leave:function(e){if(f.unbind(["esc","space"]),w("button.pause").off("click"),e.multiplayer&&e.network.winner&&e.network.sync.update(10),e.game.world.setState(g.PAUSED),e.sync&&e.sync.world.setState(g.PAUSED),e.touch&&h.stop(document.getElementById("game")),e.query.benchmark){e.benchmarkEnd=m(),e.benchmarkCount&&e.game.off("enter frame",e.benchmarkCount);var t=e.benchmarkEnd-e.benchmarkStart,n=e.benchmarkFrames,i=n/(t/1e3);w("#benchmarks").append("<p>"+t.toFixed(2)+"ms, "+n+" frames = "+i.toFixed(2)+" avg fps</p>"),_gaq.push(["_trackEvent",l()+":benchmark","time (ms)",void 0,t.toFixed(2)]),_gaq.push(["_trackEvent",l()+":benchmark","frames",void 0,n]),_gaq.push(["_trackEvent",l()+":benchmark","average round fps",void 0,i.toFixed(2)])}},cleanup:function(){this.unverify&&this.unverify(),clearTimeout(this.timeout)}},e.Pause={enter:function(e){e.game.ai.stop(),T.tell("pause"),w(".main-menu",e.el).toggle(!e.multiplayer).on("click",p.bind("/main-menu")),clearTimeout(this.timeout),this.timeout=setTimeout(function(){f.bind("space",p.bind("/game/play")),f.bind("esc",p.bind("/main-menu")),w("button.play",e.el).on("click",p.bind("/game/play"))},1e3)},leave:function(e){clearTimeout(this.timeout),f.unbind("space"),f.unbind("esc"),w("button.play",e.el).off("click"),w(".main-menu",e.el).off("click"),T.tell("unpause")}},e.Next={enter:function(e){var t=e.sync?e.sync.world:e.game.world;e.game.ai.stop(),c("%s round over",t.frame),y.network.reset(),v.clear();var i=t.frame,a=-1!==e.game.world.players.a.hit||-1!==t.players.a.hit?t.players.b:t.players.a;a.score+=1,e.game.reset(),e.renderer.triggerEvent("resetPaddles");var o=3,u=t.players.a.score>=o||t.players.b.score>=o,m=t.players.a.score>t.players.b.score?t.players.a:t.players.b;if(r(t),_gaq.push(["_trackEvent",l(e),u?"game over":"round",void 0,i]),e.multiplayer){var h=w(".state.game-prompt-over .prompt");h.children().hide();var f=d.latency.reduce(function(e,t){return e+t}),b=f/d.latency.length;c("Average latency is "+b+" milliseconds"),_gaq.push(["_trackEvent","2p","round latency average",void 0,parseInt(b,10)]),d.latency.length=0,m===t.me?(T.tell("user_won_match"),h.find(".win").show()):(T.tell("user_lost_match"),h.find(".loose").show()),u?(c("multiplayer game over"),m.wins+=1,m===t.me&&e.renderer.triggerEvent("explodeOpponent",{point:.5}),t.setState(g.GAME_OVER),e.renderer.triggerEvent("gameOver"),this.waiting=n(e,"/game/next","/game/prompt/over")):(c("multiplayer next round!"),T.tell("countdown_short"),t.setState(g.NEXT_ROUND),e.renderer.triggerEvent("roundOver"),this.waiting=n(e,"/game/next","/game/prompt/round"))}else u&&m===t.opponent?(c("singleplayer game over"),T.tell("user_lost_match"),t.setState(g.GAME_OVER),e.renderer.triggerEvent("gameOver"),p("/game/prompt/over")):u&&m===t.me?(c("singleplayer level up!"),T.tell("user_won_match"),e.renderer.triggerEvent("explodeOpponent",{point:.5}),t.setState(g.NEXT_LEVEL),clearTimeout(this.nextLevelTimeout),this.nextLevelTimeout=setTimeout(function(){t.players.a.reset(!0),t.players.b.reset(!0),e.renderer.triggerEvent("levelUp"),_.up(e.game.world),e.sync&&_.up(e.sync.world),s(e,e.game.world.level.index),clearTimeout(this.nextLevelTimeout),this.nextLevelTimeout=setTimeout(function(){p("/game/prompt/level")},e.mobile?1500:4e3)},e.mobile?1e3:4e3)):(c("singleplayer next round!"),a!==t.me?T.tell("user_lost_round"):T.tell("user_won_round"),e.renderer.triggerEvent("roundOver"),t.setState(g.NEXT_ROUND),clearTimeout(this.nextRoundTimeout),this.nextRoundTimeout=setTimeout(function(){e.renderer.triggerEvent("startCountDown"),clearTimeout(this.nextRoundTimeout),this.nextRoundTimeout=setTimeout(function(){T.tell("countdown_short"),p("/game/prompt/round")},952.38)},2e3))},leave:function(e,t){clearTimeout(this.nextLevelTimeout),clearTimeout(this.nextRoundTimeout),this.waiting&&e.network.off("change pathname",this.waiting),this.nextTimeout=e.multiplayer?setTimeout(t,2500):setTimeout(t,500)},cleanup:function(){clearTimeout(this.nextLevelTimeout),clearTimeout(this.nextRoundTimeout),clearTimeout(this.nextTimeout)}},e.Over={enter:function(e){function t(){return w(".play",e.el).off("click"),f.unbind("space"),w(".info-animation",e.el).unbind("click"),_gaq.push(["_trackEvent",l(e),"restarted level "+(e.game.world.level.index+1)+", "+d.replayClicks++ +" times"]),e.renderer.triggerEvent("restart"),e.multiplayer&&(e.renderer.triggerEvent("levelUp"),_.up(e.game.world),_.up(e.sync.world),s(e,e.game.world.level.index)),w("#scores").fadeIn(500),e.multiplayer?p("/game/wait"):p("/game/prompt/level"),!1}T.tell("gameover_sign_in"),w("#scoreboard-multi").toggle(!!e.multiplayer),w("#scoreboard-single").toggle(!e.multiplayer),w("#scores").hide(),e.multiplayer?(w("#me-levels i").text(e.sync.world.me.wins),w("#opponent-levels i").text(e.sync.world.opponent.wins)):w("#single-levels i").text(e.game.world.level.index+1),w(".main-menu",e.el).on("click",p.bind("/main-menu")),f.bind("space",t),w(".play",e.el).on("click",t),e.renderer.changeView("gameOver")},leave:function(e){T.tell("gameover_sign_out"),e.game.reset(),e.sync&&e.sync.reset(),r(e.sync?e.sync.world:e.game.world),f.unbind("space"),w(".main-menu",e.el).on("click")}}}),require.register("slam/lib/states/game/input.js",function(e,t){function n(e){switch(e.state){case m.PREVIEW:case m.PLAYING:case m.OVER:break;default:return}var t=u.data.invertControls?-1:1;y&&h.record(h.types.MOVE,e.me.paddle,l(-u.data.keyboardSensitivity*t)),v&&h.record(h.types.MOVE,e.me.paddle,l(+u.data.keyboardSensitivity*t)),c.touch&&d.tick()}function i(e,t){var n=u.data.invertControls?-1:1;h.record(h.types.MOVE,e.me.paddle,l(t*u.data.mouseSensitivity*n))}function a(){y=1}function r(){v=1}function s(){y=0}function o(){v=0}function l(e){return Math.round(1e3*e)/1e3}var c,u=(t("debug")("states:game"),t("../../settings")),d=t("../../support/mouse"),p=t("mousetrap"),m=t("../../world"),h=t("../../inputs"),f=["left","a"],g=["right","d"],y=0,v=0;e.enter=function(e){c=e,c.game.on("pre update",n),c.game.on("pre update",h.process),p.bind(f,a,"keydown"),p.bind(f,s,"keyup"),p.bind(g,r,"keydown"),p.bind(g,o,"keyup"),d.on("move",i.bind(null,c.game.world))},e.leave=function(e){e.game.off("pre update",n),e.game.off("pre update",h.process),p.unbind(f,a,"keydown"),p.unbind(f,s,"keyup"),p.unbind(g,r,"keydown"),p.unbind(g,o,"keyup"),d.off("move")}}),require.register("slam/lib/states/game/multiplayer.js",function(e,t){function n(e){var t=1e3/v.data.sendRate,n=k();if(n-L>t)if(w.network.flush())L=n;else if(e.state==x.PLAYING&&n-L>v.data.keepAliveInterval){var i=0|65535*Math.random();B[i]=k(),w.record(w.types.PING,i)}}function i(e){if(y.sync.world.state,y.sync.world.frame,I=N.tell,N.tell=g,w.network.forward(y.sync,e.frame,y.network.winner),"sync"==y.query.render){var t=y.game.world.pucks.values[0];t&&y.sync.world.pucks.set("hack",t),y.sync.render(),t&&y.sync.world.pucks.del("hack")}if(M){var n=Math.floor(y.latency*v.data.timestep);w.network.replay(y.sync.world,e,n),M=!1}N.tell=I}function a(e){if(e.state===x.PLAYING){var t=e.paddles.get(e.opponent.paddle);t&&t.data.x&&(console.log("opponent paddle locked at %s",t.data.x),t.previous[0]=t.current[0]=t.data.x)}}function r(e){if(e.state===x.PLAYING){var t=e.paddles.get(e.opponent.paddle),n=e.pucks.values[0],i=y.sync.world.pucks.get(n.index);if(e.frame>1&&n&&y.latency){var a=Math.abs(e.frame-y.sync.world.frame)*v.data.timestep,r=E(t.current[1]-n.current[1],i.velocity[1],a);if(null!==r&&1!==r){var s=S.len(i.velocity);s&&(S.norm(n.velocity,n.velocity),S.smul(n.velocity,r*s,n.velocity),S.sub(n.current,n.velocity,n.previous))}}}}function s(e){if(e.state===x.PLAYING){var t=e.pucks.values[0];t&&(z=t.velocity[1]>0?1:-1)}}function o(e){if(e.state===x.PLAYING){var t=e.pucks.values[0];if(t&&z){var n=z;z=t.velocity[1]>0?1:-1,n!==z&&(e.me===e.players.a&&t.velocity[1]>0||e.me===e.players.b&&t.velocity[1]<0)&&(M=!0)}}}function l(e){switch(e){case"/game/pause":"/game/play"===y.pathname&&b(e);break;case"/game/play":"/game/pause"===y.pathname&&b(e)}}function c(e){e.length>128&&b("/game/pause"),y.network.send(e)}function u(e){w.record(w.types.PONG,e)}function d(e){var t=B[e];if(t){var n=k(),i=(n-t)/2;R[q]=i,q=127&q+1,R.length>16&&(y.latency=Math.round(A(R)),y.network.emit("change latency",y.latency))}}function p(e){if(e-5>y.game.world.frame)for(var t=Math.min(50,e-y.game.world.frame),n=0;t>n;n++)y.game.update()}function m(e){e[1]==y.game.world.opponent.paddle&&w.types.execute(y.game.world,e)}function h(e){y.game.world.latency=e}function f(){M=!0}function g(e){var t=~e.indexOf("_screen")||~e.indexOf("countdown_")||~e.indexOf("_match")||~e.indexOf("_round")||~e.indexOf("level_")||~e.indexOf("_score");t?I.apply(N,arguments):N.log&&console.log("dmaf.tell (silent): %s",e)}var y,v=(t("debug")("states:game:multiplayer"),t("../../settings")),b=t("../../support/see"),_=t("mousetrap"),x=t("../../world"),w=t("../../inputs"),T=t("../../game"),E=t("../../support/estimate-slow-down"),k=t("now"),A=t("latency"),P=t("geom"),S=(P.poly,P.vec),C=t("jquery"),N=t("../../dmaf.min"),I=null,M=!1,z=0,L=k(),B={},R=[],q=0;e.enter=function(e){if(y=e,y.multiplayer){if(y.sync=new T("sync"),C("#extras").hide(),"sync"==y.query.render){var a=t("../../renderer-2d");y.sync.setRenderer(new a(document.getElementById("canv-db")))}v.data.paddleMomentum=!1,v.data.invertControls=!y.network.winner,v.data.framerate=v.data.defaultFramerate/2,v.data.timestep=2*v.data.defaultTimestep,v.data.unitSpeed=2*v.data.defaultUnitSpeed,y.game.on("enter frame",n),y.game.on("leave frame",i),y.sync.on("pre update",s),y.sync.on("post update",o),y.network.on("change pathname",l),y.network.on("change latency",h),y.network.on("message",w.network.onmessage),y.game.world.latency=y.latency,w.network.on("ping",u),w.network.on("pong",d),w.network.on("message",c),w.network.on("ack",p),w.network.on("move",m),_.bind("r",f)}},e.leave=function(e){v.data.framerate=v.data.defaultFramerate,v.data.timestep=v.data.defaultTimestep,v.data.unitSpeed=v.data.defaultUnitSpeed,v.data.paddleMomentum=!0,v.data.invertControls=!1,e.game.off("enter frame",n),e.game.off("leave frame",i),e.game.off("pre update",a),e.game.off("post update",r),e.sync&&(e.sync.off("pre update",s),e.sync.off("post update",o),e.sync=null),e.network.off("change pathname",l),e.network.off("change latency",h),e.network.off("message",w.network.onmessage),w.network.off("ping",u),w.network.off("pong",d),w.network.off("message",c),w.network.off("ack",p),w.network.off("move",m),e.renderer.triggerEvent("friendLeft"),_.unbind("r",f)}}),require.register("slam/lib/states/game/verify.js",function(e,t){function n(){console.log("sending %s hashes!",v.length),v.length&&p.network.remote.signal.send({type:"hashes",hashes:v})}function i(){console.log("sending %s inputs!",_.length/2),_.length&&p.network.remote.signal.send({type:"inputs",inputs:_})}function a(e){console.groupCollapsed("comparing inputs");for(var t=Math.min(_.length,e.inputs.length),n=0;t>n;n+=2)if(!r(n,_,e.inputs))throw console.error("inputs mismatched!",_[n],_[n+1],e.inputs[n+1]),new Error("inputs mismatched!");console.groupEnd("comparing inputs")}function r(e,t,n){if(t[e]!==n[e])return console.log("frames mismatched:",t[e],n[e]),!1;if(e+=1,t[e][0]!==n[e][0])return console.log("types mismatched:",t[e][0],n[e][0]),!1;if(t[e].length!==n[e].length)return console.log("input length mismatched:",t[e].length,n[e].length),!1;for(var i=1;i<t[e].length;i++)if(t[e][i]!==n[e][i])return console.log("input arguments mismatched:",t[e],n[e]),!1;return!0}function s(e){var t=[].concat(Object.keys(e.hashes),Object.keys(v)).sort(function(e,t){return parseInt(e,10)-parseInt(t,10)});console.groupCollapsed("comparing hashes");for(var n=null,i=-1,a=0;a<t.length;a++){var r=t[a];if(i!==r&&(i=r,console.log(" frame: %s local: %s network: %s",r,v[r],e.hashes[r]),v[r]&&e.hashes[r]&&v[r]!==e.hashes[r])){console.log(" hashes does not match (%s vs %s), sending json of world to compare",v[r],e.hashes[r]),p.network.remote.signal.send({type:"world",frame:r,world:b[r]}),n=r;
break}}if(console.groupEnd("comparing hashes"),null!==n)throw console.error("hashes did not match at %s",n),new Error("check diff on other machine plz")}function o(e){var t=!1;if(console.group("comparing worlds at frame %s",e.frame),b[e.frame]!==e.world&&(console.log("NOT THE SAME, trying diff:"),console.log(y.createPatch("diff for frame "+e.frame,b[e.frame],e.world,"local","remote")),console.log("remote",[JSON.parse(e.world)]),console.log("local",[JSON.parse(b[e.frame])]),t=!0),console.groupEnd("comparing worlds at frame %s",e.frame),t)throw new Error("check diff plz")}function l(e,t){return"undefined"==typeof t?"undefined":t}function c(e){v[e.frame]=e.code(),m(e,f.EXCLUDED,function(e){b[e.frame]=JSON.stringify(e,l,2)})}function u(e,t){_.push(t,e)}var d,p,m=(t("debug")("states:game:verify"),t("../../support/exclude")),h=t("mousetrap"),f=t("../../world"),g=t("../../inputs"),y=t("../../support/diff"),v={},b={},_=[];e.enter=function(e){if(p=e,p.query.verify&&("inputs"==p.query.verify?(h.bind("i",i),p.network.remote.on("inputs",a),g.network.on("dequeue",u)):(h.bind(".",n),p.network.remote.on("hashes",s),p.network.remote.on("world",o),p.sync.on("post update",c)),!isNaN(p.query.verify))){var t=+p.query.verify;console.warn("sending hashes every %sms",t),d=setInterval(function(){h.trigger(".")},t)}},e.leave=function(e){e.query.verify&&(clearInterval(d),h.unbind(".",n),e.network.remote.off("inputs",a),e.network.remote.off("hashes",s),e.network.remote.off("world",o),e.sync&&e.sync.off("post update",c),g.network.off("dequeue",u))}}),require.register("slam/lib/states/webcam.js",function(e,t){var n=t("../support/see"),i=t("jquery"),a=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;a&&(a=a.bind(navigator)),e.Activation={enter:function(e){function t(t){var i=document.getElementById("localInput");i.width=320,i.height=240,i.videoWidth=320,i.videoHeight=240,i.autoplay=!0,i.src=window.webkitURL?window.webkitURL.createObjectURL(t):t,e.renderer.triggerEvent("localVideoAvailable"),e.webcam=!0,e.network.remote.addStream(t),n("/webcam/waiting")}function r(){e.webcam=!1,n("/webcam/information")}if(e.renderer.changeView("webcamActivation"),i("#settingsGUIContainer").css("opacity",0),e.webcam)return console.log("already have webcam. skipping getUserMedia."),n("/webcam/waiting");var s={video:{mandatory:{maxWidth:320,maxHeight:240,minFrameRate:10}},audio:!e.dev};a(s,t,r)},leave:function(){i("#settingsGUIContainer").css("opacity",1)}},e.Information={enter:function(e){i("#activate-camera").on("click",function(){n("/webcam/activate")}),i(".keyboard",e.el).on("click",function(){n("/game/start")})},leave:function(e){i("#activate-camera").off("click"),i(".keyboard",e.el).off("click")}},e.Waiting={enter:function(e){function t(){return"/webcam/waiting"==e.network.pathname||0===e.network.pathname.indexOf("/game/")}t()?n("/game/instructions"):(this.pathchange=function(){t()&&n("/game/instructions")},e.network.on("change pathname",this.pathchange))},leave:function(e,t){this.pathchange&&e.network.off("change pathname",this.pathchange),e.network.ready?t():e.network.once("ready",function(){t()})},cleanup:function(e){e.network.off("ready")}}}),require.register("slam/lib/states/friend.js",function(e,t){function n(){s("/main-menu")}function i(){s("/webcam/activate")}function a(e,t,n){r(" waiting for %s -> %s",t,n);var i=null;return e.network.pathname&&0===e.network.pathname.indexOf(t)?n(e):(r(" waiting for pathname change"),i=function(a){r(" network pathname change",a),0===a.indexOf(t)&&(e.network.off("change pathname",i),n(e))},e.network.on("change pathname",i)),i}var r=t("debug")("states:game"),s=t("../support/see"),o=t("mousetrap"),l=t("../support/select-text"),c=t("jquery"),u=t("../dmaf.min");e.Invite={enter:function(e){u.tell("friend_screen"),c(".return-mainmenu",e.el).on("click",n),o.bind("space",n),c("span.url",e.el).text(window.location.href),l(c(".share-url")[0])},leave:function(e){u.tell("friend_screen_out"),c(".return-mainmenu",e.el).off("click"),o.unbind("space")}},e.Accept={enter:function(e){u.tell("friend_accept"),this.waitingFor=a(e,"/friend/accept",i)},leave:function(e){u.tell("friend_accept_out"),this.waitingFor&&e.network.off("change pathname",this.waitingFor)}},e.Arrived={enter:function(e){u.tell("friend_arrived"),c(".play-friend",e.el).on("click",function(){o.trigger("space")}),o.bind("space",function(){s("/friend/accept")}),e.query.autonav&&(this.timeout=setTimeout(function(){o.trigger("space")},1e3))},leave:function(e){u.tell("friend_arrived_out"),c(".play-friend",e.el).off("click"),o.unbind("space")}},e.Waiting={enter:function(e){u.tell("friend_waiting"),c(".play-friend",e.el).on("click",function(){o.trigger("space")}),o.bind("space",function(){s("/friend/accept")}),e.query.autonav&&(this.timeout=setTimeout(function(){o.trigger("space")},1e3))},leave:function(){u.tell("friend_waiting_out")},cleanup:function(e){c(".play-friend",e.el).off("click"),o.unbind("space"),clearTimeout(this.timeout)}},e.Left={enter:function(e){u.tell("friend_left"),c(".main-menu",e.el).on("click",n),o.bind("space",n)},leave:function(e){u.tell("friend_left_out"),c(".main-menu",e.el).off("click"),o.unbind("space")}}}),require.register("slam/lib/actions/index.js",function(e,t){function n(e,t){for(var n in t)e[n]=t[n]}var i=t("emitter");i(e),n(e,t("./bodies")),n(e,t("./bullet")),n(e,t("./paddle")),n(e,t("./puck")),n(e,t("./game")),n(e,t("./extra")),n(e,t("./obstacle")),n(e,t("./force")),n(e,t("./debug")),n(e,t("./player")),n(e,t("./shields"))}),require.register("slam/lib/actions/bodies.js",function(e,t){var n=t("debug")("actions:bodies"),i=t("./");e.destroy=function(e,t){n("%s destroy",e.name,t),e.pucks.has(t)?i.destroyPuck(e,e.pucks.get(t)):e.extras.has(t)?i.destroyExtra(e,e.extras.get(t)):e.obstacles.has(t)?i.destroyObstacle(e,e.obstacles.get(t)):e.forces.has(t)?i.destroyForce(e,e.forces.get(t)):e.bullets.has(t)?i.destroyBullet(e,e.bullets.get(t)):e.paddles.has(t)?i.destroyPaddle(e,e.paddles.get(t)):e.shields.has(t)?i.destroyShield(e,e.shields.get(t)):console.warn("unknown type of body:",t)}}),require.register("slam/lib/actions/bullet.js",function(e,t){var n=t("debug")("actions:bullet"),i=t("geom"),a=(i.poly,i.vec),r=t("../sim/body-flags"),s=t("../sim/shapes"),o=t("../settings"),l=t("../actions"),c=t("../dmaf.min");e.createBullet=function(e,t){n("%s create",e.name,t);var i=t.index===e.players.b.paddle,c=t.current,u=o.data.unitSpeed*o.data.bulletSpeed,d=a.make(0,i?-u:u),p=o.data.unitSize,m=150,h=s.rect(p,m),f=c[0]+.5*p,g=Math.floor(f/p)*p-.5*p,y=t.aabb[2]-t.aabb[0],v=c[1]+u+(y+m)*(i?1:-1),b=e.createBody(h,g,v,r.DYNAMIC|r.DESTROY);b.id="bullet",a.add(b.current,d,b.previous),a.free(d),e.bullets.set(b.index,b),l.emit("added","bullet",e,b)},e.hitBulletObstacle=function(e,t,i){n("%s hit obstacle",e.name,t.index,i.index),l.destroyBullet(e,t)},e.hitBulletPaddle=function(e,t,i){n("%s hit paddle",e.name,t.index,i.index),l.destroyBullet(e,t),c.tell((i.index==e.me.paddle?"user":"opponent")+"_paddle_shrink"),l.resizePaddle(e,i.index,.5),e.tick.clearTimeout(i.data.resizeTimeout),i.data.resizeTimeout=e.tick.setTimeout("resizePaddle",5e3,i.index,1)},e.destroyBullet=function(e,t){n("%s destroy",e.name,t.index),e.bullets.del(t.index),e.releaseBody(t),l.emit("removed","bullet",e,t)}}),require.register("slam/lib/actions/paddle.js",function(e,t){var n=t("debug")("actions:paddle"),i=t("../settings"),a=t("../sim/body-flags"),r=t("../sim/shapes"),s=t("../actions"),o=t("../inputs"),l=t("geom"),c=l.poly,u=(l.vec,l.mat),d=t("../dmaf.min");e.createPaddle=function(e,t){n("%s create",e.name,t);var o=i.data.arenaWidth,l=i.data.arenaHeight,c=i.data.unitSize,u=5*c,d=c,p=o/2,m=t===e.players.b?c:l-c,h=a.DYNAMIC|a.BOUNCE|a.STEER,f=e.createBody(r.rect(u,d),p,m,h);return f.id="paddle",f.damping=i.data.paddleDamping,f.mass=i.data.paddleMass,e.paddles.set(f.index,f),s.emit("added paddle",e,f),f.index},e.hitPuckPaddle=function(e,t,n){var a=n.index===e.players.a.paddle?"a":"b";e.lastHitPucks[t.index]!==a&&e.puckBounces[t.index]++,n.data.x&&(console.log("PUCK HIT PADDLE"),console.log("does data.x match the current x?",n.data.x,n.current[0])),e.lastHitPucks[t.index]=a,1===t.data.fireball&&(s.dizzyPaddle(e,n.index),t.data.fireball=2,e.tick.nextFrame("resetPuckExtra",t.index,"fireball"),e.tick.nextFrame("resetPaddleExtra",n.index,"fireball"));var r=s.getPuckSpeed(e,t);if(n.data.fireball&&(r*=i.data.fireballSpeedup,t.data.fireball=1,n.data.fireball=2,e.tick.nextFrame("resetPaddleExtra",n.index,"fireball")),i.data.paddleMomentum){var l=n.velocity[0];n.data.vx&&(n.velocity[0]=n.data.vx),s.puckSpeedMomentum(e,t,r,n.velocity),delete n.data.vx,n.velocity[0]=l}else s.puckSpeed(e,t,r);n.index===e.me.paddle?(d.tell("user_paddle_hit"),e.multiplayer&&"game"==e.name&&o.record(o.types.HIT,n.current[0],n.velocity[0])):e.multiplayer&&"sync"!=e.name||(s.emit("opponentPaddleHit"),d.tell("opponent_paddle_hit")),s.emit("renderer","paddleHit",{player:a,velocity:t.velocity}),s.puckBounced(e,t)},e.resizePaddle=function(e,t,n){var i=n,a=e.paddles.get(t);a.data.resized&&(i=1/a.data.resized*n);var r=a.current;a.aabb[1]-a.aabb[3];var s=u.make();u.translate(-r[0],0,s),u.scale(i,1,s),u.translate(r[0],0,s),c.transform(a.shape,s),c.aabb(a.shape,a.aabb),a.radius=c.radius(a.shape,r),u.free(s),1!==n?a.data.resized=n:delete a.data.resized},e.movePaddle=function(e,t,n){if(e.paddles.has(t)){var a=e.paddles.get(t);a.acceleration[0]+=n/i.data.timestep}},e.paddleShoot=function(e,t){n("%s paddle shoot",e.name,t);var i=e.paddles.get(t);d.tell("laser_fire"),s.createBullet(e,i)},e.dizzyPaddle=function(e,t){n("%s dizzy paddle",e.name,t);var i=e.paddles.get(t);i.data.dizzyTimes=0,e.tick.clearInterval(i.data.dizzyInterval),i.data.dizzyInterval=e.tick.setInterval("dizzyToggleDirection",100,t),d.tell("paddle_dizzy")},e.dizzyToggleDirection=function(e,t){var n=e.paddles.get(t);n.data.dizzyDirection=n.data.dizzyDirection||1,n.data.dizzyDirection*=-1,s.movePaddle(e,n.index,12*n.data.dizzyDirection),++n.data.dizzyTimes>15&&e.tick.clearInterval(n.data.dizzyInterval)},e.resetPaddleExtra=function(e,t,i){n("%s reset paddle extra",e.name,t,i);var a=e.paddles.get(t);a&&a.data.hasOwnProperty(i)&&(a.data[i]=0)}}),require.register("slam/lib/actions/puck.js",function(e,t){var n=t("debug")("actions:puck"),i=t("../actions"),a=t("../settings"),r=t("../sim/body-flags"),s=t("../sim/shapes"),o=t("../extra-icons"),l=t("../support/aabb").colliding,c=t("geom"),u=(c.poly,c.vec),d=t("../dmaf.min");e.createPuckCenter=function(e){var t=a.data.arenaWidth/2,n=a.data.arenaHeight/2,r=5,s=i.createPuck(e,t,n,r),o=i.getPuckSpeed(e,s);o*=a.data.unitSpeed,i.puckSpeedXY(e,s,0,o)},e.createPuck=function(e,t,o,l,c){n("%s create %s,%s %s",e.name,t,o,l,c);var u=a.data.unitSize,d=u,p=e.createBody(s.rect(u,d),t,o,c||r.DYNAMIC|r.BOUNCE);return p.id="puck",e.puckBounces[p.index]=0,e.pucks.set(p.index,p),i.emit("added","puck",e,p),p},e.puckSpeed=function(e,t,i){if(n("%s speed (current direction) [%s]",e.name,t.index,i),!e.pucks.has(t.index))return console.warn("cannot set puck speed, does not exist yet");var r=u.sub(t.current,t.previous);u.norm(r,r),u.smul(r,i*a.data.unitSpeed,r),u.sub(t.current,r,t.previous),u.free(r)},e.getPuckSpeed=function(e,t){var n=e.level.puck.speed,i=e.level.puck.speedup,a=e.level.puck.maxspeed,r=e.puckBounces[t.index];return Math.min(n+i*r,a)},e.puckSpeedMomentum=function(e,t,i,r){if(n("%s speed (w. momentum) [%s]",e.name,t.index,i,r),!e.pucks.has(t.index))return console.warn("cannot set puck speed, does not exist yet");if(a.data.speedupMomentum&&Math.abs(r[0])>1){var s=Math.min(u.len(r),a.data.unitSpeed);t.dampUntil=i*a.data.unitSpeed,t.damping=.97,i+=s/8}var o=u.sub(t.current,t.previous);a.data.directionMomentum&&u.add(o,r,o),u.norm(o,o),u.smul(o,i*a.data.unitSpeed,o),u.sub(t.current,o,t.previous),u.copy(o,t.velocity),u.free(o)},e.puckSpeedXY=function(e,t,i,a){if(n("%s speed [%s]",e.name,t.index,i,a),!e.pucks.has(t.index))return console.warn("cannot set puck speed, does not exist yet");var r=u.make(i,a);u.sub(t.current,r,t.previous),u.copy(r,t.velocity),u.free(r)},e.puckCheckMinSpeed=function(e,t){if(n("check speed",t.index),!t.removed){var r=a.data.minYSpeed;Math.abs(t.velocity[1])<r&&(r=t.velocity[1]>0?r:-r,i.puckSpeedXY(e,t,t.velocity[0],r));var s=u.dist(t.current,t.previous)/a.data.unitSpeed,o=1;o>s&&(n("puck was below min speed %s now at a comfortable %s",s,o),i.puckSpeed(e,t,o))}},e.puckCheckMaxSpeed=function(e,t){if(n("check speed",t.index),!t.removed){var r=u.dist(t.current,t.previous)/a.data.unitSpeed,s=e.level.puck.maxspeed+.5*e.level.puck.maxspeed*(1==t.data.fireball);if(r>s&&!t.dampUntil&&(n("puck was above max speed %s now at a comfortable %s",r,s),i.puckSpeed(e,t,s),r>10*s))throw new Error("puck is extremely fast. must be a bug. investigate!")}},e.puckCheckSpeedAll=function(e){for(var t=0;t<e.pucks.length;t++)i.puckCheckMinSpeed(e,e.pucks.values[t]),i.puckCheckMaxSpeed(e,e.pucks.values[t])},e.destroyPuck=function(e,t){n("%s destroy",e.name,t.index),delete e.lastHitPucks[t.index],delete e.puckBounces[t.index],e.pucks.del(t.index),e.releaseBody(t),i.emit("removed","puck",e,t)},e.puckBounced=function(e,t){i.emit("renderer","puckBounce",{puck:t}),i.puckCheckMinSpeed(e,t)},e.puckToggleHit=function(e,t,n){var i=e.pucks.get(t);i.data.hitShield=n},e.puckToggleGhostball=function(e,t,n){var i=e.pucks.get(t);i.data.ghostball?(i.data.ghostball=2,d.tell("ghostball_over"),o.remove(e,n),delete i.data.ghostballTimeout,e.tick.nextFrame("resetPuckExtra",i.index,"ghostball"),i.data.ghostIcon=n):(i.data.ghostball=1,o.activate(e,n),delete i.data.ghostIcon)},e.puckToggleGhostFlag=function(e,t,i){var a=e.pucks.get(t);if(i)n("puck GHOST ADD %s %s %s",e.name,e.frame,a.index),r.add(a,r.GHOST);else{if(l(e,a))return n("puck was colliding when GHOST wore off. trying again next frame."),e.tick.nextFrame("puckToggleGhostFlag",t);r.del(a,r.GHOST),n("puck GHOST DEL %s %s %s",e.name,e.frame,a.index)}},e.puckTimebombExplode=function(e,t,n,a){var r=e.pucks.get(t);r.data.timebomb=2,d.tell("timebomb_over"),e.tick.nextFrame("resetPuckExtra",r.index,"timebomb"),o.remove(e,n),delete r.data.bombTimeout;for(var s=a*a,l=[],c=0;c<e.shields.length;c++){var p=e.shields.values[c],m=u.distSq(r.current,p.current);s>m&&(p.data.blownAway=1,l.push(p))}for(;l.length;)i.destroyShield(e,l.pop())},e.resetPuckExtra=function(e,t,n){var i=e.pucks.get(t);i&&i.data.hasOwnProperty(n)&&(i.data[n]=0)}}),require.register("slam/lib/actions/game.js",function(e,t){var n=t("debug")("actions:game"),i=t("../actions"),a=t("../support/see"),r=t("../extra-icons"),a=t("../support/see");e.gameToggleDeathball=function(e,t){t?(dmaf.tell("deathball_activate"),r.activate(e,"deathball")):(dmaf.tell("deathball_over"),r.remove(e,"deathball")),i.emit("renderer","toggleDeathball",{active:t})},e.gameDeathballOver=function(e,t){e.lastHitPucks[t],dmaf.tell("deathball_over"),r.remove(e,"deathball"),i.playerHit(e,player,puck)},e.gameToggleFog=function(e,t){i.emit("renderer","toggleFog",{active:t}),t?r.activate(e,"fog"):(dmaf.tell("fog_over"),r.remove(e,"fog"),delete e.timeouts.fog)},e.roundOver=function(e,t,r){n("%s round over",e.name);var s=0===t?e.players.a:e.players.b;e.multiplayer&&"sync"!=e.name&&s!==e.me||(s.hit=r||.5,-1!=e.opponent.hit?(n("hit opponent?"),i.emit("renderer","hitOpponent",{point:s.hit}),dmaf.tell("opponent_score_hit")):-1!=e.me.hit&&(n("hit me?"),i.emit("renderer","hitMe"),dmaf.tell("user_score_hit")),a("/game/next"))}}),require.register("slam/lib/actions/extra.js",function(e,t){function n(e){switch(e.id){case"fog":case"fireball":case"ghostball":case"extralife":case"multiball":case"bulletproof":case"mirroredcontrols":case"deathball":case"paddleresize":case"timebomb":case"laser":case"random":return!0}return!1}function i(e,t){for(var n=o.data.defaultProbability,i=t.reduce(function(e,t){return e+(t.probability||n)},0),a=e.random()*i,r=0,s=0;s<t.length;s++){var l=t[s],c=r+(l.probability||n);if(a>=r&&c>a)return l;r=c}throw new Error("no extra found. whut?")}function a(e,t){return t[Math.round(e.random()*t.length-.5)]}function r(e,t){var n,i,a=t.concat(),r=a.length;if(r)for(;--r;)i=Math.floor(e.random()*(r+1)),n=a[i],a[i]=a[r],a[r]=n;return a}var s=t("debug")("actions:extra"),o=t("../settings"),l=t("../sim/body-flags"),c=(t("../world"),t("../sim/shapes")),u=t("../extra-icons"),d=t("../support/aabb").colliding,p=t("./"),m=t("geom"),h=m.poly,f=(m.vec,t("../dmaf.min"));e.createRandomExtra=function(e){s("%s create random",e.name);var t=o.data.overrideSpawnExtras?o.getSpawnlist():e.level.extras,n=e.players.a.score+e.players.b.score+1,a=t.filter(function(e){return!e.round||e.round<=n});if(a.length){var l=i(e,a);if(l.simultaneous)for(var c=0,u=e.extras.values.length-1;u>=0;u--)if(e.extras.values[u].data.id===l.id&&(c++,c>=l.simultaneous))return s("To many extras of same kind"),void 0;for(var m,f=r(e,e.level.positions),g=l.position||f.pop(),y=p.createExtra(e,l,g.x,g.y),v=g.x,b=g.y;d(e,y)&&(m=f.pop());)h.translate(y.shape,m.x-v,m.y-b),h.aabb(y.shape,y.aabb),y.current[0]=y.previous[0]=v=m.x,y.current[1]=y.previous[1]=b=m.y;return d(e,y)&&console.warn("still colliding after all positions, is there enough positions in the level?!"),p.emit("added","extra",e,y),y}},e.createExtra=function(e,t,i,a){if(s("%s create",e.name,t.id),!n(t))throw new Error("invalid extra: "+t.id);var r=c.rect(o.data.unitSize,o.data.unitSize),d=e.createBody(r,i,a,l.STATIC|l.DESTROY|l.GHOST);return d.id="extra",d.data=t,e.extras.set(d.index,d),f.tell(t.id+"_spawn"),u.create(e,d),"deathball"==t.id&&(p.gameToggleDeathball(e,!0),e.tick.clearTimeout(e.timeouts.deathballTimeout),e.timeouts.deathballTimeout=e.tick.setTimeout("gameToggleDeathball",1e3*(t.duration||5),!1)),e.tick.setTimeout("resetExtraGhost",o.data.extraGhostDuration,d.index),d},e.resetExtraGhost=function(e,t){s("reset ghost",t);var n=e.extras.get(t);l.del(n,l.GHOST)},e.hitPuckExtra=function(e,t,n){if(s("%s hit %s puck: %s",e.name,n.index,t.index),e.lastHitPucks[t.index]){p.emit("renderer","activateExtra",{puck:t,extra:n}),p.destroyExtra(e,n);var i=n.data.id,r=n.data;if("random"==i){var l=e.level.extras.filter(function(e){return"random"!==e.id});if(r=a(e,l),!r)return console.warn("no extra found to use as random"),void 0;i=r.id}f.tell(i+"_activate");var c=e.lastHitPucks[t.index],d=e.players[c],m=e.paddles.get(d.paddle);switch(i){case"extralife":u.remove(e,n),p.regenerateShield(e,d);break;case"ghostball":var h=1e3*(r.duration||7);t.data.ghostIcon&&(u.remove(e,t.data.ghostIcon),delete t.data.resizeIcon),p.puckToggleGhostball(e,t.index,n.index),e.tick.clearTimeout(t.data.ghostballTimeout),t.data.ghostballTimeout=e.tick.setTimeout("puckToggleGhostball",h,t.index,n.index);break;case"fireball":u.remove(e,n),m.data.fireball=1;break;case"mirroredcontrols":p.emit("renderer","mirrorEffect",{active:!0}),u.activate(e,"mirroredcontrols");break;case"bulletproof":var g=1e3*(r.duration||7);e.timeouts.bulletproof&&(u.remove(e,n),delete e.timeouts.bulletproof),p.playerToggleBulletproof(e,c,!0),e.tick.clearTimeout(e.timeouts.bulletproof),e.timeouts.bulletproof=e.tick.setTimeout("playerToggleBulletproof",g,c,!1);break;case"paddleresize":var y=1e3*(r.duration||10);m.data.resizeIcon&&(u.remove(e,m.data.resizeIcon),delete m.data.resizeIcon),p.playerTogglePaddleResize(e,c,n.index,!0),e.tick.clearTimeout(m.data.resizeTimeout),m.data.resizeTimeout=e.tick.setTimeout("playerTogglePaddleResize",y,c,n.index,!1);break;case"deathball":e.tick.nextFrame("gameDeathballOver",t.index);break;case"timebomb":var v=r.radius||o.data.arenaHeight/2;t.data.timebomb?u.remove(e,n):u.activate(e,n),t.data.timebomb=1,e.tick.clearTimeout(t.data.bombTimeout),t.data.bombTimeout=e.tick.setTimeout("puckTimebombExplode",4e3,t.index,n.index,v);break;case"laser":var b=1e3*(r.duration||5);e.timeouts.laserTimeout&&(u.remove(e,n),f.tell("laser_over"));var _=e.paddles.get(e.players.a.paddle),x=e.paddles.get(e.players.b.paddle);1==_.data.laser&&(_.data.laser=2),1==x.data.laser&&(x.data.laser=2),p.playerToggleLaser(e,c,!0),e.tick.clearTimeout(e.timeouts.laserTimeout),e.timeouts.laserTimeout=e.tick.setTimeout("playerToggleLaser",b,c,!1);break;case"fog":var w=1e3*(r.duration||5);e.timeouts.fog&&(u.remove(e,n),delete e.timeouts.fog),p.gameToggleFog(e,!0),e.tick.clearTimeout(e.timeouts.fog),e.timeouts.fog=e.tick.setTimeout("gameToggleFog",w,!1);break;case"multiball":var T=r.x||o.data.arenaWidth/2,E=r.y||o.data.arenaHeight/2,k=p.createPuck(e,T,E,t.mass);e.lastHitPucks[k.index]=e.lastHitPucks[t.index],p.puckToggleGhostFlag(e,k.index,!0),e.tick.clearTimeout(t.data.ghostTimeout),t.data.ghostTimeout=e.tick.setTimeout("puckToggleGhostFlag",200,k.index,!1);var A=t.velocity[1]<0?o.data.unitSpeed:-o.data.unitSpeed;p.puckSpeedXY(e,k,0,A),u.activate(e,n)}}},e.destroyExtra=function(e,t){s("%s destroy",e.name,t.index),e.extras.del(t.index),e.releaseBody(t),p.emit("removed","extra",e,t),f.tell(t.data.id+"_remove")},e.destroyFirstExtra=function(e){for(var t,n=1/0,i=0;i<e.extras.length;i++){var a=e.extras.values[i];!a.removed&&a.index<n&&(n=a.index,t=a)}s("%s destroy first",e.name,n),t?(u.remove(e,n),p.destroyExtra(e,t),e.destroyBody(t)):console.error("no extra found?!")}}),require.register("slam/lib/actions/obstacle.js",function(e,t){function n(e){var t=e.size;switch(e.id||e){case"triangle-left":return s.triangle(a.data.unitSize*(t&&t[0]||3),a.data.unitSize*(t&&t[1]||4),!0);case"triangle-right":return s.triangle(a.data.unitSize*(t&&t[0]||3),a.data.unitSize*(t&&t[1]||4),!1);case"triangle-top":return s.triangle(a.data.unitSize*(t&&t[0]||3),a.data.unitSize*(t&&t[1]||4),!1,!0);case"triangle-bottom":return s.triangle(a.data.unitSize*(t&&t[0]||3),a.data.unitSize*(t&&t[1]||4),!0,!0);case"diamond":return s.diamond(a.data.unitSize*(t||4));case"hexagon":return s.hex(a.data.unitSize*(t||3));case"octagon":return s.oct(a.data.unitSize*(t||8));case"block-breakout":return s.rect(a.data.unitSize,a.data.unitSize);case"block-rect":return s.rect(a.data.unitSize*(t&&t[0]||1),a.data.unitSize*(t&&t[1]||1));default:throw new Error("unsupported obstacle: "+e.id)}}var i=t("debug")("actions:obstacle"),a=t("../settings"),r=t("../sim/body-flags"),s=t("../sim/shapes"),o=t("../support/aabb").colliding,l=t("./"),c=t("geom"),u=c.poly,d=(c.vec,t("../dmaf.min"));e.createNextObstacle=function(e){i("%s create next",e.name);var t=e.level.obstacles[e.obstacles.length];if(!t)return null;var a=n(t);u.translate(a,t.x,t.y,a);var s={aabb:u.aabb(a),id:"obstacle"};if(o(e,s))return i("colliding obstacle. trying again next frame.",s);var c=r.STATIC|r.BOUNCE;return t.destroyable&&(c|=r.DESTROY),l.createObstacle(e,t.id,t.x,t.y,c,a)},e.createObstacle=function(e,t,a,s,o,c){i("%s create",e.name,t,a,s);var u,c=c||n(t),o=o||r.STATIC|r.BOUNCE;return c&&(u=e.createBody(c,a,s,o),u.id="obstacle",u.data.id=t,e.obstacles.set(u.index,u),l.emit("added","obstacle",e,u)),u},e.destroyObstacle=function(e,t){i("%s destroy",e.name,t.index),e.obstacles.del(t.index),e.releaseBody(t),l.emit("removed","obstacle",e,t)},e.hitPuckObstacle=function(e,t,n){n.data.regenerate?(l.emit("hide","obstacle",e,n),l.hideObstacle(e,n)):r.has(n,r.DESTROY)&&l.destroyObstacle(e,n),d.tell("obstacle_hit"),l.puckBounced(e,t)}}),require.register("slam/lib/actions/force.js",function(e,t){var n=t("debug")("actions:force"),i=t("../settings"),a=t("./"),r=t("../dmaf.min"),s=t("../sim/force");e.createNextForce=function(e){n("%s create next",e.name);var t=e.level.forces[e.forces.length];return t?a.createForce(e,t.type,t.x,t.y,t.mass||10):null},e.createForce=function(e,t,r,o,l){if(n("%s create",e.name,t,r,o,l),!l)throw new Error("cannot create a force without a mass");switch(t){case"repell":case"attract":var c=new s(t,r,o,l,1);c.index=e.index++,i.data.forcesInterval>0?c.interval=e.tick.setInterval("toggleForce",i.data.forcesInterval,c.index):c.active=!0,e.forces.set(c.index,c),a.emit("added","force",e,c);break;default:throw new Error("invalid force kind")}},e.toggleForce=function(e,t){var n=e.forces.get(t);n.active=!n.active,r.tell("force_"+(n.active?"show":"hide")),n.active||a.puckCheckSpeedAll(e)},e.destroyForce=function(e,t){n("%s destroy",t),e.forces.del(t.index),e.tick.clearInterval(t.interval),a.emit("removed","force",e,t)}}),require.register("slam/lib/actions/debug.js",function(e,t){function n(e,t,n){var i={};t.forEach(function(t){for(var n=t.split("."),a=e,r=0;r<n.length;++r){var s=n[r];r==n.length-1?(i[t]=a[s],delete a[s]):a=a[s]}}),n(e),Object.keys(i).forEach(function(t){for(var n=t.split("."),a=e,r=0;r<n.length;++r){var s=n[r];r==n.length-1?a[s]=i[t]:a=a[s]}})}var i=(t("debug")("actions:debug"),t("../support/diff")),a=t("../support/inspect");e.debugDiff=function(e,t){var r,t=t&&t.replace(/\\n/g,"\n"),s=["me","opponent","host","players.a.paddle","players.b.paddle","pucks","paddles","extras","obstacles","forces","bullets","added","removed"];return n(e,s,function(e){r=a(e,{depth:1/0})}),t?(console.log("got a remote state"),console.log(i.createPatch("diff",t,r,"remote","local "+e.frame))):console.log("sending debug diff! %d ",e.frame),r}}),require.register("slam/lib/actions/player.js",function(e,t){var n=t("debug")("actions:player"),i=t("../settings"),a=t("../inputs"),r=t("../actions"),s=t("../extra-icons"),o=t("../dmaf.min");e.playerToggleBulletproof=function(e,t,n){var i=e.players[t];e.paddles.get(i.paddle);for(var a=0;a<e.shields.length;a++){var r=e.shields.values[a];r.data.player===t?0!==i.shields[r.data.index]&&(n&&!r.data.bulletproof&&(r.data.bulletproof=1),!n&&r.data.bulletproof&&(r.data.bulletproof=0)):r.data.bulletproof=0}n?s.activate(e,"bulletproof"):(s.remove(e,"bulletproof"),delete e.timeouts.bulletproof)},e.playerTogglePaddleResize=function(e,t,n,i){var a=e.players[t],o=e.paddles.get(a.paddle);i?(r.resizePaddle(e,a.paddle,1.75),s.activate(e,n),o.data.resizeIcon=n):(r.resizePaddle(e,a.paddle,1),s.remove(e,n),delete o.data.resizeIcon,delete o.data.resizeTimeout),r.emit("renderer","paddleResize",{playerID:t,width:o.aabb[1]-o.aabb[3]})},e.playerToggleLaser=function(e,t,n){var i=e.players[t],a=e.paddles.get(i.paddle),r=1e3;n?(a.data.laser=1,s.activate(e,"laser"),e.tick.clearInterval(e.timeouts.laserInterval),e.timeouts.laserInterval=e.tick.setInterval("paddleShoot",r,i.paddle)):(e.tick.clearInterval(e.timeouts.laserInterval),o.tell("laser_over"),s.remove(e,"laser"),delete e.timeouts.laserTimeout,a.data.laser=2,e.tick.nextFrame("resetPaddleExtra",i.paddle,"laser"))},e.playerHit=function(e,t,r){if(n("%s hit",e.name,t,r.index),!e.multiplayer||"game"==e.name&&t==e.me){var s=t===e.players.a?0:1,o=r.current[0]/i.data.arenaWidth;a.record(a.types.DIED,s,o)}}}),require.register("slam/lib/actions/shields.js",function(e,t){function n(e,t){for(var n=[],i=0;e>i;i++)n[i]=t;return n}var i=t("debug")("actions:shields"),a=t("../settings"),r=t("../sim/shapes"),s=t("../sim/body-flags"),o=t("../actions"),l=t("../inputs"),c=t("../dmaf.min");e.createShields=function(e,t){var i=e.level&&e.level.player?e.level.player.shields:a.data.defaultShields;t.shields=n(i,1);for(var r=0,s=t.shields.length;s>r;r++)o.createShield(e,t,r,s)},e.createShield=function(e,t,n,l){i("%s create",e.name,t,n,l);var c=a.data.arenaHeight,u=a.data.arenaColumns/l*a.data.unitSize-5,d=a.data.unitSize/8,p=u*n+u/2+5*n,m=t===e.players.b?d:c-d,h=e.createBody(r.rect(u,d),p,m,s.STATIC|s.BOUNCE|s.DESTROY);h.id="shield",h.data.player=t===e.players.a?"a":"b",h.data.index=n,e.shields.set(h.index,h),o.emit("added","shield",e,h)},e.regenerateShield=function(e,t){i("%s regenerate",e.name,t);for(var n=0;n<t.shields.length;n++)if(0===t.shields[n]){t.shields[n]=1,o.createShield(e,t,n,t.shields.length);break}},e.hitPuckShield=function(t,n,a){i("%s hit",t.name,n.index,a.index);var r="a"==a.data.player?t.players.a:t.players.b;if(n.data.hitShield)return i("skipping hit shield because puck already hit a shield this frame"),void 0;if(o.puckToggleHit(t,n.index,!0),t.tick.nextFrame("puckToggleHit",n.index,!1),o.puckToggleGhostFlag(t,n.index,!0),t.tick.clearTimeout(n.data.ghostTimeout),n.data.ghostTimeout=t.tick.setTimeout("puckToggleGhostFlag",400,n.index,!1),n.data.fireball&&(n.data.fireball=2,t.tick.nextFrame("resetPuckExtra",n.index,"fireball"),c.tell("fireball_over")),t.multiplayer&&"game"==t.name&&r!==t.opponent){var s=t.paddles.get(r.paddle);l.record(l.types.MISS,s.current[0])}if(t.lastHitPucks[n.index]=a.data.player,r==t.opponent?c.tell("opponent_shield_hit"):c.tell("user_shield_hit"),!a.data.bulletproof){var u=Math.max(0,--r.shields[a.data.index]);0==u&&e.destroyShield(t,a)}o.puckBounced(t,n)},e.destroyShield=function(e,t){i("%s destroy",e.name,t),e.shields.del(t.index),e.releaseBody(t),o.emit("removed","shield",e,t)}}),require.register("slam/lib/renderer.js",function(e,t,n){function i(){this.impl=null}var a=t("debug")("renderer");n.exports=i,i.prototype={set:function(e){this.impl=e},triggerEvent:function(e,t){a("triggerEvent",e,t),this.impl&&this.impl.triggerEvent(e,t)},changeView:function(e,t){a("changeView",e),this.impl&&this.impl.changeView(e,t)},activePlayer:function(e,t,n){a("activePlayer",e,t,n),this.impl&&this.impl.activePlayer(e,t,n)},reset:function(){a("reset"),this.impl&&this.impl.reset()},render:function(e,t){this.impl&&this.impl.render(e,t)}}}),require.register("slam/lib/renderer-2d.js",function(e,t,n){function i(e){this.canvas=e,this.context=e.getContext("2d"),this.inverted=!1,this.stats={},this.bounds=[0,r.data.arenaWidth,r.data.arenaHeight,0],this.draw=a(this.context),this.resize=!0}var a=t("./support/draw"),r=t("./settings"),s=t("geom").poly;n.exports=i;var o=["#f00","#00f"];i.prototype={constructor:i,reset:function(){},triggerEvent:function(){},changeView:function(){},activePlayer:function(e){this.inverted=e,this.resize=!0},drawPaddle:function(e,t,n){this.draw.poly(t.shape).stroke(n,3.5),this.draw.line([t.previous,t.current]).stroke(n),this.stats.paddles++},drawBounds:function(){this.draw.rect(this.bounds).stroke("green"),this.stats.bounds++},drawForce:function(e,t){if(t.active){var n=t.position[0],i=t.position[1],a=t.radius,r=e.createRadialGradient(n,i,0,n,i,a);switch(t.type){case"repell":r.addColorStop(0,"rgba(255,0,0,1)"),r.addColorStop(1,"rgba(255,0,0,0)");break;case"attract":r.addColorStop(0,"rgba(0,255,0,1)"),r.addColorStop(1,"rgba(0,255,0,0)")}e.fillStyle=r,e.fillRect(n-a,i-a,t.mass,t.mass),this.stats.forces++}},drawBullet:function(e,t){t&&(this.draw.poly(t.shape).stroke("white"),this.stats.bullets++)},drawObstacle:function(e,t){e.fillStyle="pink",this.draw.poly(t.shape).stroke("pink"),this.stats.obstacles++},drawShield:function(e,t){this.draw.poly(t.shape).stroke("gray"),this.stats.shields++},drawExtra:function(e,t){this.draw.poly(t.shape).stroke("blue"),this.stats.extras++},drawPuck:function(e,t,n){if(!t.removed){var i=n>0?"white":"yellow";this.draw.poly(t.shape).stroke(i),this.draw.line([t.previous,t.current]).stroke(i),(t.offset[0]||t.offset[1])&&(s.translate(t.shape,t.offset[0],t.offset[1]),this.draw.poly(t.shape).stroke("aqua"),s.translate(t.shape,-t.offset[0],-t.offset[1])),this.stats.pucks++}},drawInfo:function(e,t){e.font="1.5em courier",e.fillStyle="black";var n=e.measureText("0/0").width,i=this.w,a=this.h;e.fillText("0/0",0,20),e.fillText("1/0",i-n,20),e.fillText("0/1",0,a),e.fillText("1/1",i-n,a);for(var r=0;1>=r;r+=.1)e.moveTo(r*i,0),e.lineTo(r*i,5),e.moveTo(r*i,a),e.lineTo(r*i,a-10);e.stroke(),e.font="5em courier";var n=e.measureText(t.players.b.name).width;e.save(),e.translate(i/2,0),e.rotate(Math.PI),e.fillText(t.players.b.name,-n/2,0),e.restore();var n=e.measureText(t.players.a.name).width;e.fillText(t.players.a.name,i/2-n/2,a),e.font="10em courier";var n=e.measureText(t.players.b.score).width;e.save(),e.translate(i/2,100),e.rotate(Math.PI),e.fillText(t.players.b.score,-n/2,0),e.restore();var n=e.measureText(t.players.a.score).width;e.fillText(t.players.a.score,i/2-n/2,a-100)},drawStats:function(e){var t=0,n=this.h,i=50;e.fillStyle="white",e.font="4em courier";for(var a in this.stats)e.fillText(a+": "+this.stats[a],t,n-=i)},render:function(e){this.stats.paddles=0,this.stats.bounds=0,this.stats.forces=0,this.stats.pucks=0,this.stats.extras=0,this.stats.links=0,this.stats.bullets=0,this.stats.obstacles=0,this.stats.shields=0;
var t=this.w=r.data.arenaWidth,n=this.h=r.data.arenaHeight,i=50,a=.25,s=this.context;this.resize?(this.canvas.width=(t+i)*a,this.canvas.height=(n+i)*a,this.inverted&&(s.translate(this.canvas.width/2,this.canvas.height/2),s.rotate(Math.PI),s.translate(-this.canvas.width/2,-this.canvas.height/2)),s.scale(a,a),s.translate(i/2,i/2),this.resize=!1):(s.fillStyle="rgba(0,0,0,.3)",s.fillRect(0,0,this.canvas.width/a,this.canvas.height/a)),this.drawInfo(s,e),this.drawBounds(s),this.localVideo&&s.drawImage(this.localVideo,0,0);for(var l=0,c=e.paddles.values.length;c>l;l++)this.drawPaddle(s,e.paddles.values[l],o[l]);for(var l=0,c=e.forces.values.length;c>l;l++)this.drawForce(s,e.forces.values[l]);for(var l=0,c=e.bullets.values.length;c>l;l++)this.drawBullet(s,e.bullets.values[l]);for(var l=0,c=e.obstacles.values.length;c>l;l++)this.drawObstacle(s,e.obstacles.values[l]);for(var l=0,c=e.extras.values.length;c>l;l++)this.drawExtra(s,e.extras.values[l]);for(var l=0,c=e.pucks.values.length;c>l;l++)this.drawPuck(s,e.pucks.values[l],l);for(var l=0,c=e.shields.values.length;c>l;l++)this.drawShield(s,e.shields.values[l]);this.drawStats(s)}}}),require.register("slam/lib/levels/index.js",function(e,t){e.single=t("./single"),e.multi=t("./multi"),e.mobile=t("./mobile")}),require.register("slam/lib/levels/sets/index.js",function(e,t){e.empty=t("./empty"),e.barrier=t("./barrier"),e.pipe=t("./pipe"),e.columns=t("./columns"),e.hexagon=t("./hexagon"),e.octagon=t("./octagon"),e.triangles=t("./triangles"),e.trianglesattract=t("./triangles-attract"),e.trianglesmini=t("./triangles-mini"),e.diamond=t("./diamond"),e.breakout=t("./breakout"),e.diagonalblocks=t("./diagonal-blocks"),e.diagonalattract=t("./diagonal-attract"),e.centerattract=t("./center-attract"),e.deathballblocks=t("./deathball-blocks"),e.tridiamonds=t("./tridiamonds"),e.trianglesbarrier=t("./triangles-barrier"),e.arrows=t("./arrows"),e.diagonalrocks=t("./diagonal-rocks"),e.diamondsnake=t("./diamond-snake"),e.random=Object.keys(e)}),require.register("slam/lib/levels/sets/empty.js",function(e,t,n){n.exports={obstacles:[],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/barrier.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=(i.data.arenaHeight,a/2),s=i.data.unitSize;n.exports={obstacles:[{id:"block-rect",destroyable:!0,size:[2,1],x:r,y:10*s},{id:"block-rect",destroyable:!0,size:[2,1],x:r,y:11*s},{id:"block-rect",destroyable:!1,size:[2,1],x:r,y:12*s},{id:"block-rect",destroyable:!0,size:[2,1],x:r,y:13*s},{id:"block-rect",destroyable:!0,size:[2,1],x:r,y:14*s},{id:"block-rect",destroyable:!1,size:[2,1],x:r,y:15*s},{id:"block-rect",destroyable:!0,size:[2,1],x:r,y:16*s},{id:"block-rect",destroyable:!0,size:[2,1],x:r,y:17*s}],forces:[],positions:[{x:r-3*s,y:10*s},{x:r-3*s,y:13*s},{x:r-3*s,y:16*s},{x:r+3*s,y:10*s},{x:r+3*s,y:13*s},{x:r+3*s,y:16*s}]}}),require.register("slam/lib/levels/sets/pipe.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=(i.data.arenaHeight,a/2),s=i.data.unitSize;n.exports={obstacles:[{id:"block-rect",destroyable:!1,size:[2,8],x:r-3*s,y:16*s},{id:"block-rect",destroyable:!1,size:[2,8],x:r+3*s,y:10*s}],forces:[],positions:[{x:r-3*s,y:10*s},{x:r-3*s,y:22*s},{x:r+3*s,y:4*s},{x:r+3*s,y:16*s}]}}),require.register("slam/lib/levels/sets/columns.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2,l=i.data.unitSize;n.exports={obstacles:[{id:"block-rect",destroyable:!1,size:[1,3],x:s,y:o},{id:"block-rect",destroyable:!1,size:[1,3],x:s-3*l,y:o},{id:"block-rect",destroyable:!1,size:[1,3],x:s-6*l,y:o},{id:"block-rect",destroyable:!1,size:[1,3],x:s+3*l,y:o},{id:"block-rect",destroyable:!1,size:[1,3],x:s+6*l,y:o}],forces:[],positions:[{x:s-1.5*l,y:o},{x:s-4.5*l,y:o},{x:s-7.5*l,y:o},{x:s+1.5*l,y:o},{x:s+4.5*l,y:o},{x:s+7.5*l,y:o}]}}),require.register("slam/lib/levels/sets/breakout.js",function(e,t,n){var i=t("../../settings"),a=(i.data.arenaWidth,i.data.arenaHeight),r=i.data.unitSize;n.exports={obstacles:[{id:"block-rect",destroyable:!0,size:[1,1],x:1.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:3.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:5.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:7.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:9.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:11.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:13.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:15.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:17.5*r,y:.5*a},{id:"block-rect",destroyable:!0,size:[1,1],x:.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:2.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:4.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:6.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:8.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:10.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:12.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:14.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:16.5*r,y:.5*a+3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:2.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:4.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:6.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:8.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:10.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:12.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:14.5*r,y:.5*a-3*r},{id:"block-rect",destroyable:!0,size:[1,1],x:16.5*r,y:.5*a-3*r}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/triangles.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=r/2;n.exports={obstacles:[{id:"triangle-left",x:100,y:s},{id:"triangle-right",x:a-100,y:s}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/triangles-attract.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=r/2;n.exports={obstacles:[{id:"triangle-left",x:100,y:s},{id:"triangle-right",x:a-100,y:s}],forces:[{type:"attract",x:.5*a,y:.5*r,mass:900}],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/triangles-mini.js",function(e,t,n){var i=t("../../settings"),a=(i.data.unitSize,i.data.arenaWidth),r=i.data.arenaHeight,s=r/2;n.exports={obstacles:[{id:"triangle-left",x:40,y:s,size:[1,2]},{id:"triangle-right",x:a-40,y:s,size:[1,2]}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/triangles-barrier.js",function(e,t,n){var i=t("../../settings"),a=i.data.unitSize,r=i.data.arenaWidth,s=i.data.arenaHeight,o=r/2,l=s/2,a=i.data.unitSize;n.exports={obstacles:[{id:"triangle-left",x:40,y:l,size:[1,2]},{id:"triangle-right",x:r-40,y:l,size:[1,2]},{id:"diamond",x:o-5*a,y:l+5*a,size:1},{id:"diamond",x:o+5*a,y:l-5*a,size:1},{id:"diamond",x:o,y:l,size:1}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/diamond.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2;n.exports={obstacles:[{id:"diamond",x:s,y:o,size:2}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/hexagon.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2;n.exports={obstacles:[{id:"hexagon",x:s,y:o}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/octagon.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2;n.exports={obstacles:[{id:"octagon",x:s,y:o}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/arrows.js",function(e,t,n){var i=t("../../settings"),a=i.data.unitSize,r=i.data.arenaWidth,s=i.data.arenaHeight,o=s/2,a=i.data.unitSize;n.exports={obstacles:[{id:"block-rect",destroyable:!0,size:[1,4],x:.5*a,y:o+2.2*a},{id:"block-rect",destroyable:!0,size:[1,4],x:1.5*a,y:o+2.2*a},{id:"block-rect",destroyable:!0,size:[1,4],x:r-.5*a,y:o-2.2*a},{id:"block-rect",destroyable:!0,size:[1,4],x:r-1.5*a,y:o-2.2*a},{id:"triangle-left",x:3*a-30,y:o+2.2*a,size:[2,2]},{id:"triangle-right",x:r-3*a+30,y:o-2.2*a,size:[2,2]}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/center-attract.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2,l=i.data.unitSize;n.exports={obstacles:[],forces:[{type:"attract",x:s+.5*l,y:o,mass:800}],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/diagonal-attract.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=i.data.unitSize;n.exports={obstacles:[],forces:[{type:"attract",x:.75*a,y:.25*r,mass:600,power:.5},{type:"attract",x:.5*a+.5*s,y:.5*r,mass:800,power:.4},{type:"attract",x:.25*a,y:.75*r,mass:600,power:.5}],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/diagonal-blocks.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2,l=i.data.unitSize;n.exports={obstacles:[{id:"block-rect",destroyable:!0,size:[2,2],x:4*l,y:o+7*l},{id:"block-rect",destroyable:!0,size:[2,2],x:s,y:o},{id:"block-rect",destroyable:!0,size:[2,2],x:a-4*l,y:o-7*l}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/deathball-blocks.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2,l=i.data.unitSize;n.exports={obstacles:[{id:"block-rect",destroyable:!0,size:[1,1],x:s-3*l-.5*l,y:o+3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-3*l-.5*l,y:o+2*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-3*l-.5*l,y:o+1*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-3*l-.5*l,y:o},{id:"block-rect",destroyable:!0,size:[1,1],x:s-3*l-.5*l,y:o-1*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-3*l-.5*l,y:o-2*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-3*l-.5*l,y:o-3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+3*l+.5*l,y:o+3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+3*l+.5*l,y:o+2*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+3*l+.5*l,y:o+1*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+3*l+.5*l,y:o},{id:"block-rect",destroyable:!0,size:[1,1],x:s+3*l+.5*l,y:o-1*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+3*l+.5*l,y:o-2*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+3*l+.5*l,y:o-3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-2*l-.5*l,y:o-3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-1*l-.5*l,y:o-3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+1*l+.5*l,y:o-3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+2*l+.5*l,y:o-3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-2*l-.5*l,y:o+3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s-1*l-.5*l,y:o+3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+1*l+.5*l,y:o+3*l},{id:"block-rect",destroyable:!0,size:[1,1],x:s+2*l+.5*l,y:o+3*l}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/tridiamonds.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2,l=i.data.unitSize;n.exports={obstacles:[{id:"diamond",x:s,y:o,size:2},{id:"diamond",x:3*l,y:o+6*l,size:1},{id:"diamond",x:a-3*l,y:o-6*l,size:1}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/diagonal-rocks.js",function(e,t,n){var i=t("../../settings"),a=(i.data.unitSize,i.data.arenaWidth),r=i.data.arenaHeight,s=a/2,o=r/2;i.data.unitSize,n.exports={obstacles:[{id:"triangle-left",x:40,y:o,size:[1,2]},{id:"triangle-right",x:a-40,y:o,size:[1,2]},{id:"diamond",x:s,y:o,size:2}],forces:[],positions:[{x:200,y:200},{x:850,y:1700},{x:850,y:700},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/sets/diamond-snake.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2,l=i.data.unitSize;n.exports={obstacles:[{id:"diamond",x:s,y:o+5*l,size:2},{id:"diamond",x:s,y:o-5*l,size:2},{id:"triangle-left",x:s+l-45,y:o+1.5*l,size:[1.5,1.5]},{id:"triangle-right",x:s-l+45,y:o-1.5*l,size:[1.5,1.5]},{id:"triangle-left",x:40,y:o+1.5*l,size:[1,2]},{id:"triangle-right",x:a-40,y:o-1.5*l,size:[1,2]}],positions:[{x:s-3*l,y:10*l},{x:s-3*l,y:22*l},{x:s+3*l,y:4*l},{x:s+3*l,y:16*l}],forces:[]}}),require.register("slam/lib/levels/single/index.js",function(e,t,n){n.exports=[t("./level1"),t("./level2"),t("./level3"),t("./level4"),t("./level5"),t("./level6"),t("./level7"),t("./level8"),t("./level9"),t("./level10"),t("./level11"),t("./level12")]}),require.register("slam/lib/levels/single/level1.js",function(e,t,n){n.exports={maxExtras:3,ai:{maxSpeed:10,reaction:.2,viewRange:.4,confusion:1},puck:{speed:1.3,speedup:.1,maxspeed:2},player:{shields:1},set:"empty",extras:[{id:"extralife",round:2,probability:10},{id:"ghostball",round:4,probability:6},{id:"paddleresize"}]}}),require.register("slam/lib/levels/single/level2.js",function(e,t,n){n.exports={minSpawnTime:2,maxSpawnTime:6,maxExtras:3,ai:{maxSpeed:10,reaction:.2,viewRange:.6,confusion:.8},puck:{speed:1.3,speedup:.1,maxspeed:2},player:{shields:2},set:"empty",extras:[{id:"extralife",probability:40,simultaneous:2},{id:"multiball",probability:60,simultaneous:1},{id:"fireball",round:2,probability:40},{id:"fog",round:3,probability:40},{id:"ghostball",round:4,probability:60}]}}),require.register("slam/lib/levels/single/level3.js",function(e,t,n){n.exports={minSpawnTime:3,maxSpawnTime:6,maxExtras:4,ai:{maxSpeed:10,reaction:.2,viewRange:.5,confusion:.7},puck:{speed:1.3,speedup:.1,maxspeed:2},player:{shields:3},set:"triangles",extras:[{id:"extralife",probability:6},{id:"timebomb",probability:6,round:2},{id:"laser",probability:12,round:3},{id:"ghostball",probability:6,round:2},{id:"fog",probability:1}],positions:[{x:200,y:200},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/single/level4.js",function(e,t,n){n.exports={maxExtras:4,ai:{maxSpeed:10,reaction:.3,viewRange:.5,confusion:.5},puck:{speed:1.5,speedup:.1,maxspeed:2.5},player:{shields:4},set:"centerattract",extras:[{id:"extralife",probability:20},{id:"laser",probability:15},{id:"bulletproof",duration:10,probability:10},{id:"ghostball",round:4,probability:10},{id:"timebomb",round:2,probability:10}]}}),require.register("slam/lib/levels/single/level5.js",function(e,t,n){n.exports={ai:{maxSpeed:10,reaction:.34,viewRange:.5,confusion:.5},puck:{speed:1.6,speedup:.1,maxspeed:2.5},player:{shields:5},set:"diagonalattract",extras:[{id:"extralife",probability:5},{id:"fog",duration:5},{id:"fireball",probability:10},{id:"ghostball",probability:5},{id:"paddleresize",round:2,probability:10},{id:"laser",round:3,probability:10}]}}),require.register("slam/lib/levels/single/level6.js",function(e,t,n){n.exports={minSpawnTime:3,maxSpawnTime:6,maxExtras:3,ai:{maxSpeed:15,reaction:.25,viewRange:.3,confusion:.5},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:6},set:"hexagon",extras:[{id:"fireball",probability:5},{id:"extralife",probability:10},{id:"fog",duration:6,probability:5},{id:"bulletproof",probability:5}]}}),require.register("slam/lib/levels/single/level7.js",function(e,t,n){n.exports={minSpawnTime:3,maxSpawnTime:5,ai:{maxSpeed:19,reaction:.3,viewRange:.3,confusion:.5},puck:{speed:1.7,speedup:.1,maxspeed:2.5},player:{shields:7},set:"diagonalblocks",extras:[{id:"extralife",probability:10},{id:"laser",probability:20},{id:"paddleresize",probability:20},{id:"fog",duration:5,probability:5},{id:"fireball",probability:10},{id:"ghostball",probability:5},{id:"bulletproof",duration:10,probability:10}]}}),require.register("slam/lib/levels/single/level8.js",function(e,t,n){n.exports={ai:{maxSpeed:19,reaction:.3,viewRange:.3,confusion:.45},puck:{speed:1.8,speedup:.1,maxspeed:2.5},player:{shields:8},set:"diamond",extras:[{id:"extralife"},{id:"fog",duration:10},{id:"fireball"},{id:"ghostball"},{id:"bulletproof",duration:10},{id:"mirroredcontrols",duration:10}]}}),require.register("slam/lib/levels/single/level9.js",function(e,t,n){n.exports={ai:{maxSpeed:13,reaction:.3,viewRange:.6,confusion:.5},puck:{speed:1.6,speedup:.1,maxspeed:2.5},player:{shields:9},set:"breakout",extras:[{id:"extralife"},{id:"fog",duration:10},{id:"multiball"},{id:"fireball"},{id:"ghostball"},{id:"bulletproof",duration:5},{id:"mirroredcontrols",duration:10}]}}),require.register("slam/lib/levels/single/level10.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2;n.exports={maxExtras:4,ai:{maxSpeed:17,reaction:.3,viewRange:.5,confusion:.5},puck:{speed:1.6,speedup:.1,maxspeed:2.6},player:{shields:10},set:"deathballblocks",extras:[{id:"deathball",round:3,probability:5,duration:6,position:{x:s,y:o}},{id:"extralife",probability:2},{id:"timebomb",probability:2},{id:"fireball",probability:2},{id:"ghostball",round:2,probability:2},{id:"bulletproof",duration:10,round:2,probability:2}]}}),require.register("slam/lib/levels/single/level11.js",function(e,t,n){n.exports={ai:{maxSpeed:15,reaction:.2,viewRange:.5,confusion:.5},puck:{speed:1.7,speedup:.2,maxspeed:2.3},player:{shields:11},set:"diamondsnake",extras:[{id:"extralife"},{id:"laser"},{id:"fog"},{id:"paddleresize"},{id:"mirroredcontrols"},{id:"ghostball",round:2},{id:"bulletproof",round:2},{id:"timebomb",round:3},{id:"laser",round:3}]}}),require.register("slam/lib/levels/single/level12.js",function(e,t,n){n.exports={ai:{maxSpeed:15,reaction:.2,viewRange:.5,confusion:.5},puck:{speed:1.7,speedup:.2,maxspeed:2.3},player:{shields:12},set:"random",extras:[{id:"extralife"},{id:"laser"},{id:"fog"},{id:"paddleresize"},{id:"mirroredcontrols"},{id:"ghostball",round:2},{id:"bulletproof",round:2},{id:"timebomb",round:3},{id:"laser",round:3}]}}),require.register("slam/lib/levels/multi/index.js",function(e,t,n){n.exports=[t("./level1"),t("./level2"),t("./level3"),t("./level4"),t("./level5"),t("./level6"),t("./level7"),t("./level8"),t("./level9"),t("./level10"),t("./level11")]}),require.register("slam/lib/levels/multi/level1.js",function(e,t,n){n.exports={maxExtras:2,minSpawnTime:4,maxSpawnTime:7,ai:{maxSpeed:10,reaction:.2,viewRange:.4,confusion:1},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:1},set:"arrows",extras:[{id:"extralife",probability:10},{id:"timebomb",probability:7},{id:"ghostball",probability:7},{id:"paddleresize",round:2,probability:10},{id:"bulletproof",duration:6},{id:"laser",round:2,probability:10},{id:"fog",round:3,probability:7},{id:"timebomb",round:3}]}}),require.register("slam/lib/levels/multi/level2.js",function(e,t,n){n.exports={maxExtras:2,minSpawnTime:3,maxSpawnTime:6,ai:{maxSpeed:10,reaction:.3,viewRange:.5,confusion:.5},puck:{speed:1.5,speedup:.1,maxspeed:2.5},player:{shields:2},set:"diagonalrocks",extras:[{id:"extralife",probability:5},{id:"laser",probability:7},{id:"ghostball",probability:3},{id:"bulletproof",duration:5},{id:"timebomb",probability:8},{id:"paddleresize",probability:7},{id:"mirroredcontrols",round:5,duration:15}]}}),require.register("slam/lib/levels/multi/level3.js",function(e,t,n){n.exports={minSpawnTime:3,maxSpawnTime:6,maxExtras:3,ai:{maxSpeed:10,reaction:.2,viewRange:.5,confusion:.7},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:3},set:"trianglesbarrier",extras:[{id:"extralife",probability:6},{id:"timebomb",probability:6},{id:"ghostball",probability:3},{id:"fog",probability:3},{id:"paddleresize",probability:10},{id:"mirroredcontrols",round:5,duration:15},{id:"bulletproof",duration:10,probability:5}]}}),require.register("slam/lib/levels/multi/level4.js",function(e,t,n){n.exports={minSpawnTime:3,maxSpawnTime:6,maxExtras:4,ai:{maxSpeed:10,reaction:.2,viewRange:.6,confusion:.8},puck:{speed:1.6,speedup:.1,maxspeed:2.2},player:{shields:4},set:"tridiamonds",extras:[{id:"ghostball",probability:7},{id:"paddleresize",round:2,probability:10},{id:"fog",probability:7},{id:"mirroredcontrols",round:4,duration:15},{id:"bulletproof",duration:10,probability:5},{id:"timebomb",round:2,probability:6}]}}),require.register("slam/lib/levels/multi/level5.js",function(e,t,n){n.exports={ai:{maxSpeed:13,reaction:.34,viewRange:.5,confusion:.4},puck:{speed:1.6,speedup:.1,maxspeed:2.5},player:{shields:5},set:"octagon",extras:[{id:"extralife",probability:5},{id:"fog",duration:5},{id:"ghostball",probability:5},{id:"paddleresize",round:2,probability:10}]}}),require.register("slam/lib/levels/multi/level6.js",function(e,t,n){n.exports={maxExtras:4,minSpawnTime:4,maxSpawnTime:7,ai:{maxSpeed:10,reaction:.2,viewRange:.4,confusion:1},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:6},set:"diamondsnake",extras:[{id:"extralife",probability:10},{id:"timebomb",probability:7},{id:"ghostball",probability:7},{id:"paddleresize",round:2,probability:10},{id:"bulletproof",duration:6},{id:"laser",round:2,probability:10},{id:"fog",round:3,probability:7},{id:"timebomb",round:3}]}}),require.register("slam/lib/levels/multi/level7.js",function(e,t,n){n.exports={minSpawnTime:3,maxSpawnTime:5,ai:{maxSpeed:19,reaction:.3,viewRange:.3,confusion:.5},puck:{speed:1.7,speedup:.1,maxspeed:2.5},player:{shields:7},set:"diagonalblocks",extras:[{id:"extralife",probability:10},{id:"paddleresize",probability:20},{id:"fog",duration:5,probability:5},{id:"ghostball",probability:5},{id:"bulletproof",duration:10,probability:10}]}}),require.register("slam/lib/levels/multi/level8.js",function(e,t,n){n.exports={ai:{maxSpeed:19,reaction:.3,viewRange:.2,confusion:.7},puck:{speed:1.4,speedup:.1,maxspeed:1.9},player:{shields:8},set:"diamond",extras:[{id:"extralife"},{id:"fog",duration:10},{id:"laser"},{id:"ghostball"},{id:"bulletproof",duration:10},{id:"mirroredcontrols",duration:10}]}}),require.register("slam/lib/levels/multi/level9.js",function(e,t,n){n.exports={ai:{maxSpeed:15,reaction:.3,viewRange:.7,confusion:.5},puck:{speed:1.6,speedup:.1,maxspeed:2.5},player:{shields:9},set:"breakout",extras:[{id:"extralife"},{id:"fog",duration:10},{id:"multiball"},{id:"ghostball"},{id:"bulletproof",duration:5},{id:"mirroredcontrols",duration:10}]}}),require.register("slam/lib/levels/multi/level10.js",function(e,t,n){var i=t("../../settings"),a=i.data.arenaWidth,r=i.data.arenaHeight,s=a/2,o=r/2;n.exports={maxExtras:4,ai:{maxSpeed:18,reaction:.3,viewRange:.5,confusion:.5},puck:{speed:1.6,speedup:.1,maxspeed:2.3},player:{shields:10},set:"deathballblocks",extras:[{id:"deathball",probability:15,duration:6,position:{x:s,y:o}},{id:"extralife",probability:2},{id:"timebomb",probability:2},{id:"ghostball",round:2,probability:2},{id:"bulletproof",duration:10,round:2,probability:2}]}}),require.register("slam/lib/levels/multi/level11.js",function(e,t,n){n.exports={ai:{maxSpeed:15,reaction:.2,viewRange:.5,confusion:.5},puck:{speed:1.4,speedup:.1,maxspeed:2},player:{shields:11},set:"random",extras:[{id:"extralife"},{id:"laser"},{id:"fog"},{id:"paddleresize"},{id:"mirroredcontrols"},{id:"ghostball",round:2},{id:"bulletproof",round:2},{id:"timebomb",round:3}]}}),require.register("slam/lib/levels/mobile/index.js",function(e,t,n){n.exports=[t("./level1"),t("./level2"),t("./level3"),t("./level4"),t("./level5"),t("./level6"),t("./level7")]}),require.register("slam/lib/levels/mobile/level1.js",function(e,t,n){n.exports={maxExtras:3,ai:{maxSpeed:10,reaction:.2,viewRange:.4,confusion:.8},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:1},set:"empty",extras:[{id:"extralife",round:1,probability:5},{id:"multiball",round:1,probability:7},{id:"ghostball",round:1,probability:7}]}}),require.register("slam/lib/levels/mobile/level2.js",function(e,t,n){n.exports={minSpawnTime:2,maxSpawnTime:6,maxExtras:3,ai:{maxSpeed:10,reaction:.2,viewRange:.6,confusion:.8},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:2},set:"empty",extras:[{id:"extralife",probability:4},{id:"multiball",probability:4},{id:"laser",probability:4},{id:"fog",round:3,probability:4},{id:"bulletproof",round:3,probability:4},{id:"timebomb",round:2,probability:4}]}}),require.register("slam/lib/levels/mobile/level3.js",function(e,t,n){n.exports={maxExtras:4,ai:{maxSpeed:10,reaction:.3,viewRange:.5,confusion:.5},puck:{speed:1.5,speedup:.1,maxspeed:2.5},player:{shields:3},set:"centerattract",extras:[{id:"extralife",probability:20},{id:"laser",probability:15},{id:"bulletproof",duration:10,probability:10},{id:"ghostball",round:4,probability:10},{id:"timebomb",round:2,probability:10}]}}),require.register("slam/lib/levels/mobile/level4.js",function(e,t,n){n.exports={minSpawnTime:3,maxSpawnTime:6,maxExtras:4,ai:{maxSpeed:8,reaction:.3,viewRange:.5,confusion:.7},puck:{speed:1.3,speedup:.1,maxspeed:2},player:{shields:3},set:"triangles",extras:[{id:"extralife",probability:6},{id:"laser",probability:8},{id:"paddleresize",probability:12,round:3},{id:"ghostball",probability:6,round:2},{id:"fog",probability:1}],positions:[{x:200,y:200},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/mobile/level5.js",function(e,t,n){n.exports={maxExtras:4,ai:{maxSpeed:10,reaction:.3,viewRange:.5,confusion:.4},puck:{speed:2,speedup:.13,maxspeed:2.7},player:{shields:6},set:"empty",extras:[{id:"extralife",probability:4},{id:"fog",duration:3},{id:"ghostball",probability:2},{id:"multiball",probability:3},{id:"laser",probability:6},{id:"fireball",probability:5},{id:"timebomb",probability:5},{id:"bulletproof",probability:3}],positions:[{x:850,y:2e3},{x:850,y:200},{x:1200,y:1227},{x:200,y:1227}]}}),require.register("slam/lib/levels/mobile/level6.js",function(e,t,n){n.exports={ai:{maxSpeed:12,reaction:.25,viewRange:.3,confusion:.5},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:6},set:"octagon",extras:[{id:"extralife",probability:3},{id:"fog",duration:10,probability:2},{id:"bulletproof",probability:3},{id:"ghostball",probability:4}],positions:[{x:200,y:200},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.register("slam/lib/levels/mobile/level7.js",function(e,t,n){n.exports={ai:{maxSpeed:15,reaction:.25,viewRange:.3,confusion:.5},puck:{speed:1.5,speedup:.1,maxspeed:2},player:{shields:6},set:["octagon","empty","centerattract","triangles"],extras:[{id:"extralife",probability:5},{id:"fog",duration:10,probability:2},{id:"bulletproof",probability:5},{id:"ghostball",probability:4},{id:"multiball",probability:4},{id:"laser",probability:4},{id:"fireball",probability:4},{id:"timebomb",probability:4}],positions:[{x:200,y:200},{x:200,y:2e3},{x:1400,y:200},{x:1400,y:2e3}]}}),require.alias("component-emitter/index.js","slam/deps/emitter/index.js"),require.alias("component-indexof/index.js","component-emitter/deps/indexof/index.js"),require.alias("component-mousetrap/index.js","slam/deps/mousetrap/index.js"),require.alias("component-cookie/index.js","slam/deps/cookie/index.js"),require.alias("component-jquery/index.js","slam/deps/jquery/index.js"),require.alias("component-preloader/index.js","slam/deps/preloader/index.js"),require.alias("visionmedia-batch/index.js","component-preloader/deps/batch/index.js"),require.alias("component-emitter/index.js","visionmedia-batch/deps/emitter/index.js"),require.alias("component-indexof/index.js","component-emitter/deps/indexof/index.js"),require.alias("component-inherit/index.js","component-preloader/deps/inherit/index.js"),require.alias("publicclass-rtc/index.js","slam/deps/rtc/index.js"),require.alias("publicclass-rtc/signal/app-channel.js","slam/deps/rtc/signal/app-channel.js"),require.alias("publicclass-rtc/signal/web-socket.js","slam/deps/rtc/signal/web-socket.js"),require.alias("component-emitter/index.js","publicclass-rtc/deps/emitter/index.js"),require.alias("component-indexof/index.js","component-emitter/deps/indexof/index.js"),require.alias("visionmedia-debug/index.js","publicclass-rtc/deps/debug/index.js"),require.alias("visionmedia-debug/debug.js","publicclass-rtc/deps/debug/debug.js"),require.alias("publicclass-request-animation-frame/index.js","slam/deps/request-animation-frame/index.js"),require.alias("publicclass-now/index.js","slam/deps/now/index.js"),require.alias("publicclass-geom/index.js","slam/deps/geom/index.js"),require.alias("publicclass-geom-vec/index.js","publicclass-geom/deps/geom-vec/index.js"),require.alias("publicclass-geom-mat/index.js","publicclass-geom/deps/geom-mat/index.js"),require.alias("publicclass-geom-poly/index.js","publicclass-geom/deps/geom-poly/index.js"),require.alias("publicclass-geom-vec/index.js","publicclass-geom-poly/deps/geom-vec/index.js"),require.alias("publicclass-copy/index.js","slam/deps/copy/index.js"),require.alias("component-type/index.js","publicclass-copy/deps/type/index.js"),require.alias("publicclass-stash/index.js","slam/deps/stash/index.js"),require.alias("publicclass-netchan/index.js","slam/deps/netchan/index.js"),require.alias("publicclass-latency/index.js","slam/deps/latency/index.js"),require.alias("component-standard-deviation/index.js","publicclass-latency/deps/standard-deviation/index.js"),require.alias("component-variance/index.js","component-standard-deviation/deps/variance/index.js"),require.alias("component-to-function/index.js","component-variance/deps/to-function/index.js"),require.alias("component-mean/index.js","component-variance/deps/mean/index.js"),require.alias("component-to-function/index.js","component-mean/deps/to-function/index.js"),require.alias("publicclass-median/index.js","publicclass-latency/deps/median/index.js"),require.alias("publicclass-base64-arraybuffer/index.js","slam/deps/base64-arraybuffer/index.js"),require.alias("visionmedia-debug/index.js","slam/deps/debug/index.js"),require.alias("visionmedia-debug/debug.js","slam/deps/debug/debug.js"),require.alias("ecarter-css-emitter/index.js","slam/deps/css-emitter/index.js"),require.alias("component-emitter/index.js","ecarter-css-emitter/deps/emitter/index.js"),require.alias("component-indexof/index.js","component-emitter/deps/indexof/index.js"),require.alias("component-event/index.js","ecarter-css-emitter/deps/event/index.js");
//# sourceMappingURL=/javascript/slam.min.js.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment