summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-08-22 19:18:16 +0200
committerJules Laplace <julescarbon@gmail.com>2018-08-22 19:18:16 +0200
commit2e9afd6ba0cd7bdfe534485cb83276ce5448cedf (patch)
tree1866bf9ab15f81c63eebd260b1203416a3f32683
parent101c160a45f43892a64b782004768c5efe7e9711 (diff)
bundle
-rw-r--r--bundle.js2
-rw-r--r--bundle.js.map2
-rw-r--r--client/index.js4
3 files changed, 4 insertions, 4 deletions
diff --git a/bundle.js b/bundle.js
index cf1e1e0..c8bb15f 100644
--- a/bundle.js
+++ b/bundle.js
@@ -1,2 +1,2 @@
-!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=3)}([function(t,e,i){!function(e,i){t.exports=i()}(0,function(){return function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={exports:{},id:n,loaded:!1};return t[n].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t}(i(1));t.exports=n},function(t,e,i){"use strict";function n(){return k.colors}function s(){return k.context}function r(){return k.clock}var o=function(t){return t&&t.__esModule?t.default:t},a=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};e.colors=n,e.context=s,e.clock=r,Object.defineProperty(e,"__esModule",{value:!0});var l=o(i(2)),u=o(i(5)),c=o(i(38)),f=o(i(40)),d=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),v=i(28),p=i(41),m=i(27),b=i(26),g=i(25),y=o(i(42)),x=o(i(45)),w=function(){function t(e){h(this,t);for(var i in l)this[i]=l[i];for(var i in u)this[i]=u[i];var n={Rack:c},s={Counter:v,Radio:p,Drunk:m,Sequence:b,Matrix:g};for(var i in s)this[i]=s[i];for(var i in n)this[i]=n[i];var r=window.AudioContext||window.webkitAudioContext;this._context=e||new r,this.tune=new f,this.note=this.tune.note.bind(this.tune),this.clock=new y(this._context),this.clock.start(),this.Interval=x,this.colors={accent:"#2bb",fill:"#eee",light:"#fff",dark:"#333",mediumLight:"#ccc",mediumDark:"#666"},this.transform=d,this.add=d.add,this.Add={};for(var i in l)this.Add[i]=d.add.bind(this,i);var o=document.getElementsByTagName("style"),a=document.createElement("style");if(a.type="text/css",a.innerHTML="[nexus-ui]{height:5000px;width:5000px}",o.length>0){o[0].parentNode.insertBefore(a,o[0])}else document.write("<style>[nexus-ui]{height:5000px;width:5000px}</style>")}return a(t,{context:{get:function(){return this._context},set:function(t){this.clock.stop(),this._context=t,this.clock=new y(this.context),this.clock.start()}}}),t}(),k=new w;e.default=k},function(t,e,i){"use strict";t.exports={Position:i(3),Slider:i(14),Toggle:i(15),Button:i(16),TextButton:i(18),RadioButton:i(19),Number:i(20),Select:i(21),Dial:i(22),Piano:i(23),Sequencer:i(24),Pan2D:i(29),Tilt:i(30),Multislider:i(31),Pan:i(33),Envelope:i(34),Spectrogram:i(35),Meter:i(36),Oscilloscope:i(37)}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=["value"],i={size:[200,200],mode:"absolute",minX:0,maxX:1,stepX:0,x:.5,minY:0,maxY:1,stepY:0,y:.5};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._x=new l(this.settings.minX,this.settings.maxX,this.settings.stepX,this.settings.x),this._y=new l(this.settings.minY,this.settings.maxY,this.settings.stepY,this.settings.y),this.position={x:new u.Handle(this.settings.mode,"horizontal",[0,this.width],[this.height,0]),y:new u.Handle(this.settings.mode,"vertical",[0,this.width],[this.height,0])},this.position.x.value=this._x.normalized,this.position.y.value=this._y.normalized,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create("circle"),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:5*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute("cx",this.width/2),this.knob.setAttribute("cy",this.height/2),this.knob.setAttribute("r",this.knobRadius.off)}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute("fill",this.colors.accent)}},render:{value:function(){this.clicked?this.knob.setAttribute("r",this.knobRadius.on):this.knob.setAttribute("r",this.knobRadius.off),this.knobCoordinates={x:this._x.normalized*this.width,y:this.height-this._y.normalized*this.height},this.knob.setAttribute("cx",this.knobCoordinates.x),this.knob.setAttribute("cy",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this._x.updateNormal(this.position.x.value),this._y.updateNormal(this.position.y.value),this.emit("change",{x:this._x.value,y:this._y.value}),this.render())}},release:{value:function(){this.render()}},x:{get:function(){return this._x.value},set:function(t){this._x.update(t),this.emit("change",{x:this._x.value,y:this._y.value}),this.render()}},y:{get:function(){return this._y.value},set:function(t){this._y.update(t),this.emit("change",{x:this._x.value,y:this._y.value}),this.render()}},normalized:{get:function(){return{x:this._x.normalized,y:this._y.normalized}}},minX:{get:function(){return this._x.min},set:function(t){this._x.min=t,this.render()}},minY:{get:function(){return this._y.min},set:function(t){this._y.min=t,this.render()}},maxX:{get:function(){return this._x.max},set:function(t){this._x.max=t,this.render()}},maxY:{get:function(){return this._y.max},set:function(t){this._y.max=t,this.render()}},stepX:{get:function(){return this._x.step},set:function(t){this._x.step=t,this.render()}},stepY:{get:function(){return this._y.step},set:function(t){this._y.step=t,this.render()}},mode:{get:function(){return this.position.x.mode},set:function(t){this.position.x.mode=t,this.position.y.mode=t}}}),e}(h);t.exports=c},function(t,e,i){"use strict";var n=i(5);t.exports={create:function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)},arc:function(t,e,i,s,r){var o=n.toCartesian(i,r),a=n.toCartesian(i,s),h=r-s<=180?"0":"1";return["M",o.x+t,o.y+e,"A",i,i,0,h,0,a.x+t,a.y+e].join(" ")},radialGradient:function(t,e){var i="gradient"+n.ri(1e11),s=[],r=document.createElementNS("http://www.w3.org/2000/svg","radialGradient");r.setAttribute("id",i),r.setAttribute("cx","50%"),r.setAttribute("cy","50%"),r.setAttribute("r","50%"),t.appendChild(r);for(var o=0;o<e;o++){var a=document.createElementNS("http://www.w3.org/2000/svg","stop");a.setAttribute("id","stop"+o),r.appendChild(a),s.push(a)}return{id:i,stops:s,element:r}}}},function(t,e){"use strict";e.clip=function(t,e,i){return Math.min(Math.max(t,e),i)},e.normalize=function(t,e,i){return(t-e)/(i-e)},e.scale=function(t,e,i,n,s){return e===i?n:(t-e)*(s-n)/(i-e)+n},e.toPolar=function(t,e){var i=Math.sqrt(t*t+e*e),n=Math.atan2(e,t);return n<0&&(n+=2*Math.PI),{radius:i,angle:n}},e.toCartesian=function(t,e){return{x:t*Math.cos(e),y:t*Math.sin(e)*-1}},e.prune=function(t,e){return parseFloat(t.toFixed(e))},e.invert=function(t){return e.scale(t,1,0,0,1)},e.mtof=function(t){return 440*Math.pow(2,(t-69)/12)},e.interp=function(t,e,i){return t*(i-e)+e},e.pick=function(){return arguments[~~(Math.random()*arguments.length)]},e.octave=function(t){return Math.pow(2,t)},e.ri=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.floor(Math.random()*(n-i)+i)},e.rf=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.random()*(n-i)+i},e.cycle=function(t,e,i){return t++,t>=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i];return e/t.length},e.distance=function(t,e,i,n){var s=t-i,r=e-n;return Math.sqrt(s*s+r*r)},e.gainToDB=function(t){return 20*Math.log10(t)},e.coin=function(){var t=void 0===arguments[0]?.5:arguments[0];return e.rf(0,1)<t?1:0}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(7),l=i(8),u=i(9),c=i(10),f=i(1).colors,d=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.type=this.constructor.name,this.settings=this.parseSettings(t,i,n),this.mouse={},this.wait=!1,this.colors={};var r=f();this.colors.accent=r.accent,this.colors.fill=r.fill,this.colors.light=r.light,this.colors.dark=r.dark,this.colors.mediumLight=r.mediumLight,this.colors.mediumDark=r.mediumDark}return r(e,t),n(e,{parseSettings:{value:function(t,e,i){e.unshift("target"),i.defaultSize=i.size.splice(0,2),i.size=!1;var n={target:document.body,colors:{},snapWithParent:!0,event:function(){},component:!1};for(var s in i)n[s]=i[s];for(var r=0;r<t.length;r++){var o=t[r];if(l.isObject(o))for(var s in o)n[s]=o[s];else if("function"==typeof o)n.event=o;else if(e.length>=1){var s=e.splice(0,1)[0];n[s]=o}}return this.parent=h.parseElement(n.target),this.parent&&this.parent instanceof HTMLElement&&!n.component&&(this.parent.hasAttribute("nexus-ui")||this.parent.setAttribute("nexus-ui","")),n.size&&Array.isArray(n.size)&&n.snapWithParent?(this.width=n.size[0],this.height=n.size[1],this.parent.style.width=this.width+"px",this.parent.style.height=this.height+"px"):n.snapWithParent&&!n.component?(this.width=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue("width").replace("px","")),this.height=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue("height").replace("px","")),5e3==this.width&&(this.width=n.defaultSize[0],this.parent.style.width=this.parent.width=this.width+"px"),5e3==this.height&&(this.height=n.defaultSize[1],this.parent.style.height=this.parent.height=this.height+"px")):(n.size=n.defaultSize,this.width=n.size[0],this.height=n.size[1]),n.event?this.event=this.on("change",n.event):this.event=!1,n}},init:{value:function(){this.buildFrame(),this.buildInterface(),this.sizeInterface(),this.attachListeners(),this.colorInterface(),this.finalTouches()}},buildFrame:{value:function(){this.element=a.create("svg"),this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){}},sizeInterface:{value:function(){}},colorInterface:{value:function(){}},attachListeners:{value:function(){var t=this;this.interactionTarget=this.interactionTarget||this.element,u.exists&&(this.interactionTarget.addEventListener("touchstart",function(e){return t.preTouch(e)}),this.interactionTarget.addEventListener("touchmove",function(e){return t.preTouchMove(e)}),this.interactionTarget.addEventListener("touchend",function(e){return t.preTouchRelease(e)})),this.boundPreMove=function(e){return t.preMove(e)},this.boundPreRelease=function(e){return t.preRelease(e)},this.interactionTarget.addEventListener("mousedown",function(e){return t.preClick(e)})}},finalTouches:{value:function(){this.element.style.cursor="pointer"}},preClick:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue("width").replace("px","")),this.offset=h.findPosition(this.element),this.mouse=h.locateMouse(t,this.offset),this.clicked=!0,this.click(),this.moveEvent=document.addEventListener("mousemove",this.boundPreMove),this.releaseEvent=document.addEventListener("mouseup",this.boundPreRelease),this.emit("click"),t.preventDefault(),t.stopPropagation()}},preMove:{value:function(t){var e=this;this.wait||(this.mouse=h.locateMouse(t,this.offset),this.move(),this.wait=!0,setTimeout(function(){e.wait=!1},25)),t.preventDefault(),t.stopPropagation()}},preRelease:{value:function(t){this.mouse=h.locateMouse(t,this.offset),this.clicked=!1,this.release(),this.emit("release"),document.removeEventListener("mousemove",this.boundPreMove),document.removeEventListener("mouseup",this.boundPreRelease),t.preventDefault(),t.stopPropagation()}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},preTouch:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue("width").replace("px","")),this.offset=h.findPosition(this.element),this.mouse=h.locateTouch(t,this.offset),this.clicked=!0,this.touch(t),this.emit("click"),t.preventDefault(),t.stopPropagation()}},preTouchMove:{value:function(t){this.clicked&&(this.mouse=h.locateTouch(t,this.offset),this.touchMove(),t.preventDefault(),t.stopPropagation())}},preTouchRelease:{value:function(t){this.mouse=h.locateTouch(t,this.offset),this.clicked=!1,this.touchRelease(),this.emit("release"),t.preventDefault(),t.stopPropagation()}},touch:{value:function(){this.click()}},touchMove:{value:function(){this.move()}},touchRelease:{value:function(){this.release()}},resize:{value:function(t,e){this.width=t,this.height=e,this.parent.style.width=this.width+"px",this.parent.style.height=this.height+"px",this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.sizeInterface()}},empty:{value:function(){for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild)}},destroy:{value:function(){this.empty(),this.parent.removeChild(this.element),this.removeAllListeners(),this.instrument&&delete this.instrument[this.id],this.customDestroy()}},customDestroy:{value:function(){}},colorize:{value:function(t,e){this.colors[t]=e,this.colorInterface()}}}),e}(c);t.exports=d},function(t,e){"use strict";e.findPosition=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX}},e.parseElement=function(t){return"string"==typeof t&&(t=document.getElementById(t.replace("#",""))),t instanceof HTMLElement||t instanceof SVGElement?t:"No valid parent argument"},e.locateMouse=function(t,e){return{x:t.pageX-e.left,y:t.pageY-e.top}},e.locateTouch=function(t,e){return{x:!!t.targetTouches.length&&t.targetTouches[0].pageX-e.left,y:!!t.targetTouches.length&&t.targetTouches[0].pageY-e.top}},e.SmartCanvas=function(t){var e=this;this.element=document.createElement("canvas"),this.context=this.element.getContext("2d"),t.appendChild(this.element),this.resize=function(t,i){e.element.width=2*t,e.element.height=2*i,e.element.style.width=t+"px",e.element.style.height=i+"px"}}},function(t,e){"use strict";e.isObject=function(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&t instanceof SVGElement==!1&&t instanceof HTMLElement==!1}},function(t,e){"use strict";e.exists="ontouchstart"in document.documentElement},function(t,e){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return"function"==typeof t}function s(t){return"number"==typeof t}function r(t){return"object"==typeof t&&null!==t}function o(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!s(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,i,s,a,h,l;if(this._events||(this._events={}),"error"===t&&(!this._events.error||r(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified "error" event. ('+e+")");throw u.context=e,u}if(i=this._events[t],o(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(r(i))for(a=Array.prototype.slice.call(arguments,1),l=i.slice(),s=l.length,h=0;h<s;h++)l[h].apply(this,a);return!0},i.prototype.addListener=function(t,e){var s;if(!n(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,n(e.listener)?e.listener:e),this._events[t]?r(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,r(this._events[t])&&!this._events[t].warned&&(s=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function i(){this.removeListener(t,i),s||(s=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var s=!1;return i.listener=e,this.on(t,i),this},i.prototype.removeListener=function(t,e){var i,s,o,a;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(i=this._events[t],o=i.length,s=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(r(i)){for(a=o;a-- >0;)if(i[a]===e||i[a].listener&&i[a].listener===e){s=a;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(s,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){return this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=i(5),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?1:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?0:arguments[3];s(this,t),this.min=e,this.max=i,this.step=n,this.value=r,this.changed=!1,this.oldValue=!1,this.update(this.value)}return n(t,{update:{value:function(t){return this.step?this.value=r.clip(Math.round((t-this.min)/this.step)*this.step+this.min,this.min,this.max):this.value=r.clip(t,this.min,this.max),this.oldValue!==this.value?(this.oldValue=this.value,this.changed=!0):this.changed=!1,this.value}},updateNormal:{value:function(t){return this.value=r.scale(t,0,1,this.min,this.max),this.update(this.value)}},normalized:{get:function(){return r.normalize(this.value,this.min,this.max)}}}),t}();t.exports=o},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};Object.defineProperty(e,"__esModule",{value:!0});var o=n(i(5)),a=n(i(13));e.Handle=function(){function t(){var e=void 0===arguments[0]?"absolute":arguments[0],i=void 0===arguments[1]?"vertical":arguments[1],n=void 0===arguments[2]?[0,100]:arguments[2],s=void 0===arguments[3]?[0,100]:arguments[3];r(this,t),this.mode=e,this.direction=i,this.previous=0,this.value=0,this.sensitivity=1,this.resize(n,s)}return s(t,{resize:{value:function(t,e){this.boundary={min:{x:t[0],y:e[0]},max:{x:t[1],y:e[1]},center:{x:(t[1]-t[0])/2+t[0],y:(e[1]-e[0])/2+e[0]}}}},anchor:{set:function(t){this._anchor=this.convertPositionToValue(t)},get:function(){return this._anchor}},update:{value:function(t){if("relative"===this.mode){var e=this.convertPositionToValue(t)-this.anchor;Math.abs(e)>.5&&(e=0),this.anchor=t,this.value=this.value+e*this.sensitivity}else this.value=this.convertPositionToValue(t);this.value=o.clip(this.value,0,1)}},convertPositionToValue:{value:function(t){switch(this.direction){case"radial":var e=o.toPolar(t.x-this.boundary.center.x,t.y-this.boundary.center.y);return e=e.angle/(2*Math.PI),e=(e-.25+1)%1;case"vertical":return o.scale(t.y,this.boundary.min.y,this.boundary.max.y,0,1);case"horizontal":return o.scale(t.x,this.boundary.min.x,this.boundary.max.x,0,1)}}}}),t}(),e.Button=function(){function t(){var e=void 0===arguments[0]?"button":arguments[0];r(this,t),this.mode=e,this.state=new a,this.paintbrush=!1}return s(t,{click:{value:function(){switch(this.mode){case"impulse":this.state.on(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.state.off.bind(this),30),this.emit("change",this.state);break;case"button":this.turnOn(),this.emit("change",this.state);break;case"aftertouch":this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.turnOn(),this.emit("change",{state:this.state,x:this.position.x,y:this.position.y});break;case"toggle":this.flip(),this.emit("change",this.state)}}},move:{value:function(){"aftertouch"===this.mode&&(this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},release:{value:function(){switch(this.mode){case"button":this.turnOff(),this.emit("change",this.state);break;case"aftertouch":this.turnOff(),this.position={x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this.emit("change",{state:this.state,x:this.position.x,y:this.position.y})}}}}),t}()},function(t,e){"use strict";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(e){n(this,t),this.state=e||!1}return i(t,{flip:{value:function(t){this.state=t||!1===t?t:!this.state}},on:{value:function(){this.state=!0}},off:{value:function(){this.state=!1}}}),t}();t.exports=s},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=["min","max","value"],i={size:[120,20],mode:"relative",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.orientation="vertical",this._value=new l(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.init(),this.position.direction=this.orientation,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.fillbar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.width<this.height?this.orientation="vertical":this.orientation="horizontal",this.position&&this.position.resize([0,this.width],[this.height,0]);var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},"vertical"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s="translate("+-1*this.thickness/2+",0)",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s="translate(0,"+-1*this.thickness/2+")",r=n/2),this.bar.setAttribute("x",t),this.bar.setAttribute("y",e),this.bar.setAttribute("transform",s),this.bar.setAttribute("rx",r),this.bar.setAttribute("ry",r),this.bar.setAttribute("width",i),this.bar.setAttribute("height",n),"vertical"===this.orientation?(this.fillbar.setAttribute("x",t),this.fillbar.setAttribute("y",this.knobData.level),this.fillbar.setAttribute("width",i),this.fillbar.setAttribute("height",n-this.knobData.level)):(this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("y",e),this.fillbar.setAttribute("width",this.knobData.level),this.fillbar.setAttribute("height",n)),this.fillbar.setAttribute("transform",s),this.fillbar.setAttribute("rx",r),this.fillbar.setAttribute("ry",r),"vertical"===this.orientation?(this.knob.setAttribute("cx",t),this.knob.setAttribute("cy",this.knobData.level)):(this.knob.setAttribute("cx",this.knobData.level),this.knob.setAttribute("cy",e)),this.knob.setAttribute("r",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute("fill",this.colors.fill),this.fillbar.setAttribute("fill",this.colors.accent),this.knob.setAttribute("fill",this.colors.accent)}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute("r",this.knobData.r),"vertical"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute("cy",this.height-this.knobData.level),this.fillbar.setAttribute("y",this.height-this.knobData.level),this.fillbar.setAttribute("height",this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute("cx",this.knobData.level),this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("width",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this._value.updateNormal(this.position.value),this.emit("change",this._value.value),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit("change",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(13),l=i(6),u=function(t){function e(){o(this,e);var t=["value"],i={size:[40,20],target:!1,state:!1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._state=new h(this.settings.state),this.init()}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.height<this.width/2?this.knobSize=this.height/2:this.knobSize=this.width/4,this.bar.setAttribute("x",this.width/2-1.5*this.knobSize),this.bar.setAttribute("y",this.height/2-this.knobSize/2),this.bar.setAttribute("rx",this.knobSize/2),this.bar.setAttribute("ry",this.knobSize/2),this.bar.setAttribute("width",3*this.knobSize),this.bar.setAttribute("height",this.knobSize),this.knob.setAttribute("cx",this.width/2-this.knobSize),this.knob.setAttribute("cy",this.height/2),this.knob.setAttribute("r",this.knobSize)}},colorInterface:{value:function(){this.knob.setAttribute("fill",this.colors.accent),this.render()}},render:{value:function(){this.state?(this.knob.setAttribute("cx",this.width/2+this.knobSize),this.bar.setAttribute("fill",this.colors.accent)):(this.knob.setAttribute("cx",this.width/2-this.knobSize),this.bar.setAttribute("fill",this.colors.fill))}},click:{value:function(){this.flip(),this.render(),this.emit("change",this.state)}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),this.emit("change",this.state),this.render()}},flip:{value:function(){this._state.flip(),this.render()}}}),e}(l);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(17),l=function(t){function e(){o(this,e);var t=["mode"],i={size:[80,80],mode:"aftertouch",state:!1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.mode=this.settings.mode,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create("circle"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.defs=a.create("defs"),this.element.appendChild(this.defs),this.gradient=a.radialGradient(this.defs,2),this.gradient.stops[0].setAttribute("offset","30%"),this.gradient.stops[1].setAttribute("offset","100%")}},sizeInterface:{value:function(){this.pad.setAttribute("cx",this.width/2),this.pad.setAttribute("cy",this.height/2),this.pad.setAttribute("r",Math.min(this.width,this.height)/2-this.width/40),this.pad.setAttribute("stroke-width",this.width/20)}},colorInterface:{value:function(){this.gradient.stops[0].setAttribute("stop-color",this.colors.accent),this.gradient.stops[1].setAttribute("stop-color",this.colors.fill),this.render()}},render:{value:function(){this.state?("aftertouch"===this.mode?(this.pad.setAttribute("stroke","url(#"+this.gradient.id+")"),this.gradient.element.setAttribute("cx",100*this.position.x+"%"),this.gradient.element.setAttribute("cy",100*(1-this.position.y)+"%")):this.pad.setAttribute("stroke",this.colors.accent),this.pad.setAttribute("fill",this.colors.accent)):(this.pad.setAttribute("fill",this.colors.fill),this.pad.setAttribute("stroke",this.colors.mediumLight))}}}),e}(h);t.exports=l},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(13),u=i(6),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,n),this.mode=this.settings.mode||"button",this.position={x:0,y:0},this._state=new l(this.settings.state)}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create("circle"),this.pad.setAttribute("fill","#d18"),this.pad.setAttribute("stroke","#d18"),this.pad.setAttribute("stroke-width",4),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.sizeInterface()}},sizeInterface:{value:function(){this.pad.setAttribute("cx",this.width/2),this.pad.setAttribute("cy",this.height/2),this.pad.setAttribute("r",Math.min(this.width,this.height)/2-2)}},render:{value:function(){this.state?(this.pad.setAttribute("fill",this.colors.accent),this.pad.setAttribute("stroke",this.colors.accent)):(this.pad.setAttribute("fill",this.colors.fill),this.pad.setAttribute("stroke",this.colors.mediumLight))}},down:{value:function(t){switch(this.mode){case"impulse":this.turnOn(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.turnOff.bind(this),30);break;case"button":this.turnOn();break;case"aftertouch":this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.turnOn();break;case"toggle":this.flip(t)}}},bend:{value:function(t){"aftertouch"===this.mode&&(this.mouse=t||this.mouse,this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},up:{value:function(){switch(this.mode){case"button":this.turnOff();break;case"aftertouch":this.turnOff(),this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)}}}},click:{value:function(){this.down()}},move:{value:function(){this.bend()}},release:{value:function(){this.up()}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),"aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state),this.render()}},flip:{value:function(t){this._state.flip(t),"aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state),this.render()}},turnOn:{value:function(t){this._state.on(),!1!==t&&("aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state)),this.render()}},turnOff:{value:function(t){this._state.off(),!1!==t&&("aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state)),this.render()}}}),e}(u);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(17),h=function(t){function e(){o(this,e);var t=["value"],i={size:[150,50],state:!1,text:"Play"};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._text=this.settings.text,this.settings.alternate&&(this.settings.alternateText=this.settings.alternate,console.warn("'alternate' initiator is deprecated. Use 'alternateText' instead.")),this._alternateText=this.settings.alternateText,this.mode=this.settings.alternateText?"toggle":"button",this.init(),this.render(),this.state=this.settings.state}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.parent.appendChild(this.element),this.textElement=document.createElement("div"),this.textElement.innerHTML=this._text,this.element.appendChild(this.textElement)}},buildInterface:{value:function(){}},colorInterface:{value:function(){this.element.style.color=this.colors.dark,this.render()}},sizeInterface:{value:function(){var t=this.height/3,e=this.width/(this._text.length+2);if(t=Math.min(t,e),this.alternateText){var i=this.width/(this.alternateText.length+2);t=Math.min(t,i)}var n="width: "+this.width+"px;";n+="height: "+this.height+"px;",n+="padding: "+(this.height-t)/2+"px 0px;",n+="box-sizing: border-box;",n+="text-align: center;",n+="font-family: inherit;",n+="font-weight: 700;",n+="opacity: 1;",n+="font-size:"+t+"px;",this.textElement.style.cssText=n,this.render()}},render:{value:function(){this.state?(this.element.style.backgroundColor=this.colors.accent,this.textElement.style.color=this.colors.fill,this.alternateText?this.textElement.innerHTML=this._alternateText:this.textElement.innerHTML=this._text):(this.element.style.backgroundColor=this.colors.fill,this.textElement.style.color=this.colors.dark,this.textElement.innerHTML=this._text)}},alternateText:{get:function(){return this._alternateText},set:function(t){this.mode=t?"toggle":"button",this._alternateText=t,this.render()}},text:{get:function(){return this._text},set:function(t){this._text=t,this.sizeInterface(),this.render()}}}),e}(a);t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(6),h=i(16),l=function(t){function e(){o(this,e);var t=["value"],i={size:[120,25],numberOfButtons:4,active:-1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.buttons=[],this._numberOfButtons=this.settings.numberOfButtons,this.active=this.settings.active,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++){var e=document.createElement("span"),i=new h(e,{mode:"toggle",component:!0},this.update.bind(this,t));this.buttons.push(i),this.element.appendChild(e)}}},sizeInterface:{value:function(){for(var t=this.width/this._numberOfButtons,e=this.height,i=0;i<this._numberOfButtons;i++)this.buttons[i].resize(t,e)}},colorInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++)this.buttons[t].colors=this.colors,this.buttons[t].render()}},update:{value:function(t){this.buttons[t].state?this.select(t):this.deselect()}},render:{value:function(){for(var t=0;t<this.buttons.length;t++)t===this.active?this.buttons[t].turnOn(!1):this.buttons[t].turnOff(!1)}},select:{value:function(t){t>=0&&t<this.buttons.length&&(this.active=t,this.emit("change",this.active),this.render())}},deselect:{value:function(){this.active=-1,this.emit("change",this.active),this.render()}},numberOfButtons:{get:function(){return this._numberOfButtons},set:function(t){this._numberOfButtons=t;for(var e=0;e<this.buttons.length;e++)this.buttons[e].destroy();this.buttons=[],this.empty(),this.buildInterface()}}}),e}(a);t.exports=l},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(6),h=i(11),l=i(5),u=function(t){function e(){o(this,e);var t=["value"],i={size:[60,30],value:0,min:0,max:2e4,step:1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._value=new h(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.decimalPlaces=2,this.actual=0,this.max=this._value.max,this.min=this._value.min,this.step=this._value.step,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("input"),this.element.type="text",this.element.addEventListener("blur",function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.value!==this.value&&(this.value=parseFloat(this.element.value),this.render())}.bind(this)),this.element.addEventListener("keydown",function(t){(t.which<48||t.which>57)&&189!==t.which&&190!==t.which&&8!==t.which&&t.preventDefault(),13===t.which&&(this.element.blur(),this.value=this.element.value,this.emit("change",this.value),this.render())}.bind(this)),this.parent.appendChild(this.element)}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height);var t="width: "+this.width+"px;";t+="height: "+this.height+"px;",t+="background-color: #e7e7e7;",t+="color: #333;",t+="font-family: arial;",t+="font-weight: 500;",t+="font-size:"+this._minDimension/2+"px;",t+="border: none;",t+="outline: none;",t+="padding: "+this._minDimension/4+"px "+this._minDimension/4+"px;",t+="box-sizing: border-box;",t+="userSelect: text;",t+="mozUserSelect: text;",t+="webkitUserSelect: text;",this.element.style.cssText+=t,this.element.value=this.value}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark}},render:{value:function(){this.element.value=l.prune(this.value,this.decimalPlaces)}},click:{value:function(){this.hasMoved=!1,this.element.readOnly=!0,this.actual=this.value,this.initial={y:this.mouse.y},this.changeFactor=l.invert(this.mouse.x/this.width),console.log(this.changeFactor)}},move:{value:function(){if(this.hasMoved=!0,this.clicked){var t=this.actual-(this.mouse.y-this.initial.y)*(l.clip(this.max-this.min,0,1e3)/200)*Math.pow(this.changeFactor,2);this.value=t,this.render(),this._value.changed&&this.emit("change",this.value)}}},release:{value:function(){this.hasMoved?document.body.focus():(this.element.readOnly=!1,this.element.focus(),this.element.setSelectionRange(0,this.element.value.length),this.element.style.backgroundColor=this.colors.accent,this.element.style.color=this.colors.light)}},link:{value:function(t){var e=this;this.min=t.min,this.max=t.max,this.step=t.step,t.on("change",function(t){e.passiveUpdate(t)}),this.on("change",function(e){t.value=e}),this.value=t.value}},passiveUpdate:{value:function(t){this._value.update(t),this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.emit("change",this.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}}}),e}(a);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(6),h=function(t){function e(){o(this,e);var t=["value"],i={size:[100,30],options:["default","options"]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._selectedIndex=-1,this._value=!1,this._options=this.settings.options,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("select"),this.element.style.fontSize=this.height/2+"px",this.element.style.outline="none",this.element.style.highlight="none",this.element.style.width=this.width+"px",this.element.style.height=this.height+"px",this.boundRender=this.render.bind(this),this.element.addEventListener("change",this.boundRender),this.parent.appendChild(this.element)}},attachListeners:{value:function(){}},buildInterface:{value:function(){this.defineOptions()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.style.border="solid 0px "+this.colors.mediumLight}},render:{value:function(){this._value=this.element.options[this.element.selectedIndex].text,this._selectedIndex=this.element.selectedIndex,this.emit("change",{value:this._value,index:this._selectedIndex})}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},defineOptions:{value:function(t){t&&(this._options=t);for(var e=this.element.options.length-1;e>=0;e--)this.element.remove(e);for(var e=0;e<this._options.length;e++)this.element.options.add(new Option(this._options[e],e))}},value:{get:function(){return this._value},set:function(t){this._value=t;for(var e=0;e<this.element.options.length;e++)if(t===this.element.options[e].text){this.selectedIndex=e;break}}},selectedIndex:{get:function(){return this._selectedIndex},set:function(t){this._selectedIndex=t,this.element.selectedIndex=t,this.render()}},customDestroy:{value:function(){this.element.removeEventListener("change",this.boundRender)}}}),e}(a);t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=["min","max","value"],i={size:[75,75],interaction:"radial",mode:"relative",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.interaction=this.settings.interaction,this._value=new u(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new c.Handle(this.settings.mode,this.interaction,[0,this.width],[this.height,0]),this.init(),this.value=this._value.value,this.position.value=this._value.normalized,this.previousAngle=!1,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.background=a.create("circle"),this.screw=a.create("circle"),this.handle=a.create("path"),this.handle2=a.create("path"),this.handleFill=a.create("path"),this.handle2Fill=a.create("path"),this.handleLine=a.create("path"),this.element.appendChild(this.background),this.element.appendChild(this.handle),this.element.appendChild(this.handle2),this.element.appendChild(this.handleFill),this.element.appendChild(this.handle2Fill),this.element.appendChild(this.handleLine),this.element.appendChild(this.screw)}},sizeInterface:{value:function(){this.position.resize([0,this.width],[this.height,0]);var t={x:this.width/2,y:this.height/2},e=Math.min(this.width,this.height);this.background.setAttribute("cx",t.x),this.background.setAttribute("cy",t.y),this.background.setAttribute("r",e/2-e/40),this.screw.setAttribute("cx",t.x),this.screw.setAttribute("cy",t.y),this.screw.setAttribute("r",e/12);var i=this.value,n={start:1.5*Math.PI,end:h.clip(h.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(t.x,t.y,e/2-e/40,n.start,n.end),o=a.arc(t.x,t.y,e/2-e/40,s.start,s.end);this.handle.setAttribute("d",r),this.handle.setAttribute("stroke-width",e/20),this.handle.setAttribute("fill","none"),this.handle2.setAttribute("d",o),this.handle2.setAttribute("stroke-width",e/20),this.handle2.setAttribute("fill","none"),r+=" L "+t.x+" "+t.y,this.handleFill.setAttribute("d",r),this.handleFill.setAttribute("fill-opacity","0.3"),o+=" L "+t.x+" "+t.y,this.handle2Fill.setAttribute("d",o),this.handle2Fill.setAttribute("fill-opacity","0.3");var l=void 0;l=i<.5?n.end:s.end;var u=t.x+Math.cos(l)*(e/2),c=t.y+Math.sin(l)*(e/2)*-1;this.handleLine.setAttribute("d","M "+t.x+" "+t.y+" L "+u+" "+c),this.handleLine.setAttribute("stroke-width",e/20)}},colorInterface:{value:function(){this.background.setAttribute("fill",this.colors.fill),this.screw.setAttribute("fill",this.colors.accent),this.handle.setAttribute("stroke",this.colors.accent),this.handle2.setAttribute("stroke",this.colors.accent),this.handleFill.setAttribute("fill",this.colors.accent),this.handle2Fill.setAttribute("fill",this.colors.accent),this.handleLine.setAttribute("stroke",this.colors.accent)}},render:{value:function(){var t=this._value.normalized,e={x:this.width/2,y:this.height/2},i=Math.min(this.width,this.height),n={start:1.5*Math.PI,end:h.clip(h.scale(t,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(t,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(e.x,e.y,i/2-i/40,n.start,n.end),o=a.arc(e.x,e.y,i/2-i/40,s.start,s.end);this.handle.setAttribute("d",r),this.handle2.setAttribute("d",o),r+=" L "+e.x+" "+e.y,this.handleFill.setAttribute("d",r),o+=" L "+e.x+" "+e.y,this.handle2Fill.setAttribute("d",o);var l=void 0;l=t<=.5?n.end:s.end;var u=e.x+Math.cos(l)*(i/2),c=e.y+Math.sin(l)*(i/2)*-1;this.handleLine.setAttribute("d","M "+e.x+" "+e.y+" L "+u+" "+c)}},click:{value:function(){"relative"===this.mode&&(this.previousAngle=!1),this.position.anchor=this.mouse,this.position.value=this._value.normalized,this.move()}},move:{value:function(){if(this.clicked){this.position.update(this.mouse);var t=this.position.value*Math.PI*2;t<0&&(t+=2*Math.PI),"relative"===this.mode&&!1!==this.previousAngle&&Math.abs(this.previousAngle-t)>2&&(t=this.previousAngle>3?2*Math.PI:0),this.previousAngle=t;var e=t/(2*Math.PI);this.value=this._value.updateNormal(e),"relative"===this.mode&&(this.position.value=e),this.emit("change",this._value.value),this.render()}}},release:{value:function(){}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit("change",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}},normalized:{get:function(){return this._value.normalized},set:function(t){this._value.updateNormal(t),this.emit("change",this.value)}}}),e}(l);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(17),u=i(9),c=function(t){function e(){o(this,e);var t=["value","note","color"],i={size:[80,80],target:!1,mode:"button",value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.note=this.settings.note,this.color=this.settings.color,this.colors={w:"#fff",b:"#666"},this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create("svg"),this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create("rect"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,u.exists||(this.click=function(){t.piano.interacting=!0,t.piano.paintbrush=!t.state,t.down(t.piano.paintbrush)},this.pad.addEventListener("mouseover",function(){t.piano.interacting&&t.down(t.piano.paintbrush)}),this.move=function(){t.piano.interacting&&t.bend()},this.release=function(){t.piano.interacting=!1},this.pad.addEventListener("mouseup",function(){t.piano.interacting&&t.up()}),this.pad.addEventListener("mouseout",function(){t.piano.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute("x",.5),this.pad.setAttribute("y",.5),this.width>2?this.pad.setAttribute("width",this.width-1):this.pad.setAttribute("width",this.width),this.height,this.pad.setAttribute("height",this.height),this.pad.setAttribute("rx",0),this.pad.setAttribute("ry",0)}},render:{value:function(){this.state?this.pad.setAttribute("fill",this.colors.accent):this.pad.setAttribute("fill",this.colors[this.color])}}}),e}(l),f=function(t){function e(){o(this,e);var t=["value"],i={size:[500,125],lowNote:24,highNote:60,mode:"button"};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.keyPattern=["w","b","w","b","w","w","b","w","b","w","b","w"],this.paintbrush=!1,this.mode=this.settings.mode,this.range={low:this.settings.lowNote,high:this.settings.highNote},this.range.size=this.range.high-this.range.low,this.keys=[],this.toggleTo=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.element.style.position="relative",this.element.style.borderRadius="0px",this.element.style.display="block",this.element.style.width="100%",this.element.style.height="100%",this.parent.appendChild(this.element)}},buildInterface:{value:function(){this.keys=[];for(var t=0;t<this.range.high-this.range.low;t++){var e=document.createElement("span"),i=(t+this.range.low)%this.keyPattern.length,n=new c(e,{component:!0,note:t+this.range.low,color:this.keyPattern[i],mode:this.mode},this.keyChange.bind(this,t+this.range.low));n.piano=this,u.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.keys.push(n),this.element.appendChild(e)}u.exists&&this.addTouchListeners()}},sizeInterface:{value:function(){for(var t=0,e=[],i=0;i<this.range.high-this.range.low;i++){e.push(t);var n=(i+this.range.low)%this.keyPattern.length,s=(i+1+this.range.low)%this.keyPattern.length;i+1+this.range.low>=this.range.high?t+=1:"w"===this.keyPattern[n]&&"w"===this.keyPattern[s]?t+=1:t+=.5}for(var r=t,o=(this.width-2)/r,a=(this.height-2)/2,i=0;i<this.keys.length;i++){var h=this.keys[i].parent;h.style.position="absolute",h.style.left=e[i]*o+1+"px","w"===this.keys[i].color?(h.style.top="1px",this.keys[i].resize(o,2*a)):(h.style.zIndex=1,h.style.top="1px",this.keys[i].resize(o,1.1*a))}}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.mediumLight;for(var t=0;t<this.keys.length;t++)this.keys[t].colors={w:this.colors.light,b:this.colors.dark,accent:this.colors.accent,border:this.colors.mediumLight},this.keys[t].colorInterface(),this.keys[t].render()}},keyChange:{value:function(t,e){var i={note:t};i.state="object"==typeof e?e.state:e,this.emit("change",i)}},render:{value:function(){}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener("touchstart",function(e){console.log("touchstart");var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchmove",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];if(i.index!==t.currentElement){if(t.currentElement){t.keys[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchend",function(e){t.keys[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},setRange:{value:function(t,e){this.range.low=t,this.range.high=e,this.empty(),this.buildInterface()}},toggleKey:{value:function(t,e){this.keys[t-this.range.low].flip(e)}},toggleIndex:{value:function(t,e){this.keys[t].flip(e)}}}),e}(h);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(7),l=i(6),u=i(17),c=i(25),f=i(28),d=i(9),v=function(t){function e(){o(this,e);var t=["value"],i={size:[80,80],target:!1,mode:"toggle",value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.index=this.settings.index,this.row=this.settings.row,this.column=this.settings.column,this.matrix=this.settings.matrix,this.interacting=!1,this.paintbrush=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create("svg"),this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.element.style.top="0px",this.element.style.left="0px",this.element.style.position="absolute",this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create("rect"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,d.exists||(this.click=function(){t.matrix.interacting=!0,t.matrix.paintbrush=!t.state,t.down(t.matrix.paintbrush)},this.pad.addEventListener("mouseover",function(){t.matrix.interacting&&t.down(t.matrix.paintbrush)}),this.move=function(){},this.pad.addEventListener("mousemove",function(e){t.matrix.interacting&&(t.offset||(t.offset=h.findPosition(t.element)),t.mouse=h.locateMouse(e,t.offset),t.bend())}),this.release=function(){t.matrix.interacting=!1},this.pad.addEventListener("mouseup",function(){t.matrix.interacting&&t.up()}),this.pad.addEventListener("mouseout",function(){t.matrix.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute("x",1),this.pad.setAttribute("y",1),this.width>2?this.pad.setAttribute("width",this.width-2):this.pad.setAttribute("width",this.width),this.height>2?this.pad.setAttribute("height",this.height-2):this.pad.setAttribute("height",this.height),this.pad.setAttribute("fill",this.matrix.colors.fill)}},render:{value:function(){this.state?this.pad.setAttribute("fill",this.matrix.colors.accent):this.pad.setAttribute("fill",this.matrix.colors.fill)}}}),e}(u),p=function(t){function e(){o(this,e);var t=["value"],i={size:[400,200],mode:"toggle",rows:5,columns:10};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.active=-1,this.mode=this.settings.mode,this.interval=new Nexus.Interval(200,function(){},!1),this.matrix=new c(this.settings.rows,this.settings.columns),this.matrix.ui=this,this.stepper=new f(0,this.columns),this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.element.style.position="relative",this.element.style.display="block",this.element.style.width="100%",this.element.style.height="100%",this.parent.appendChild(this.element),d.exists&&this.addTouchListeners()}},buildInterface:{value:function(){this.cells=[];for(var t=0;t<this.matrix.length;t++){var e=this.matrix.locate(t),i=document.createElement("span");i.style.position="absolute";var n=new v(i,{component:!0,index:t,row:e.row,column:e.column,mode:this.mode,matrix:this},this.keyChange.bind(this,t));d.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.cells.push(n),this.element.appendChild(i)}this.sizeInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.columns,e=this.height/this.rows,i=0;i<this.cells.length;i++){var n=this.cells[i].parent;n.style.left=this.cells[i].column*t+"px",n.style.top=this.cells[i].row*e+"px",this.cells[i].resize(t,e)}}},colorInterface:{value:function(){for(var t=0;t<this.cells.length;t++)this.cells[t].render()}},update:{value:function(){var t=this;this.matrix.iterate(function(e,i,n){t.matrix.pattern[e][i]!==t.cells[n].state&&(t.matrix.pattern[e][i]>0?t.cells[n].turnOn():t.cells[n].turnOff())})}},keyChange:{value:function(t,e){var i=this.matrix.locate(t);this.matrix.pattern[i.row][i.column]=e;var n={row:i.row,column:i.column,state:e};this.emit("change",n)}},render:{value:function(){var t=this;this.stepper.value>=0&&this.matrix.iterate(function(e,i,n){i===t.stepper.value?(t.cells[n].pad.setAttribute("stroke",t.colors.mediumLight),t.cells[n].pad.setAttribute("stroke-width","1"),t.cells[n].pad.setAttribute("stroke-opacity","1")):t.cells[n].pad.setAttribute("stroke","none")})}},start:{value:function(t){this.interval.event=this.next.bind(this),t&&this.interval.ms(t),this.interval.start()}},stop:{value:function(){this.interval.stop()}},next:{value:function(){this.stepper.next(),this.emit("step",this.matrix.column(this.stepper.value).reverse()),this.render()}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener("touchstart",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchmove",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];if(i.index!==t.currentElement){if(t.currentElement>=0){t.cells[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchend",function(e){t.cells[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},rows:{get:function(){return this.matrix.rows},set:function(t){this.matrix.rows=t,this.empty(),this.buildInterface(),this.update()}},columns:{get:function(){return this.matrix.columns},set:function(t){this.matrix.columns=t,this.stepper.max=t,this.empty(),this.buildInterface(),this.update()}}}),e}(l);t.exports=p},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=n(i(5)),a=n(i(26)),h=function(){function t(e,i){var n=this;r(this,t),this.pattern=[],this.create(e,i),this.toggle={cell:function(t,e){return n.pattern[e][t]=!n.pattern[e][t],n.ui&&n.ui.update(),n.pattern[e][t]},all:function(){n.iterate(function(t,e){n.toggle.cell(e,t)}),n.ui&&n.ui.update()},row:function(t){for(var e=0;e<n.columns;e++)n.toggle.cell(e,t);n.ui&&n.ui.update()},column:function(t){for(var e=0;e<n.rows;e++)n.toggle.cell(t,e);n.ui&&n.ui.update()}},this.set={cell:function(t,e,i){n.pattern[e][t]=i,n.ui&&n.ui.update()},all:function(t){n.pattern=t,n.ui&&n.ui.update()},row:function(t,e){n.pattern[t]=e,n.ui&&n.ui.update()},column:function(t,e){n.pattern.forEach(function(i,s){n.pattern[s][t]=e[s]}),n.ui&&n.ui.update()}},this.rotate={all:function(t){t||0===t||(t=1),(t%=n.pattern[0].length)<0&&(t=n.pattern[0].length+t);for(var e=0;e<n.rows;e++){var i=n.pattern[e].splice(n.pattern[e].length-t,t);n.pattern[e]=i.concat(n.pattern[e])}n.ui&&n.ui.update()},row:function(t,e){e||0===e||(e=1),(e%=n.pattern[0].length)<0&&(e=n.pattern[0].length+e);var i=n.pattern[t].splice(n.pattern[t].length-e,e);n.pattern[t]=i.concat(n.pattern[t]),n.ui&&n.ui.update()},column:function(t,e){e||0===e||(e=1),(e%=n.pattern.length)<0&&(e=n.pattern.length+e);var i=[];n.pattern.forEach(function(e){i.push(e[t])});var s=i.splice(i.length-e,e);i=s.concat(i),n.pattern.forEach(function(e,n){e[t]=i[n]}),n.ui&&n.ui.update()}},this.populate={all:function(t){var e=new a(t);n.iterate(function(t,i){n.pattern[t][i]=o.coin(e.next())}),n.ui&&n.ui.update()},row:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern[t].forEach(function(e,s){n.pattern[t][s]=o.coin(i.next())}),n.ui&&n.ui.update()},column:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern.forEach(function(e,s){n.pattern[s][t]=o.coin(i.next())}),n.ui&&n.ui.update()}},this.erase={all:function(){n.set.all(0)},row:function(t){n.set.row(t,0)},column:function(t){n.set.column(t,0)}}}return s(t,{create:{value:function(t,e){var i=this;this.pattern=[];for(var n=0;n<t;n++){var s=new Array(e);this.pattern.push(s)}this.iterate(function(t,e){i.pattern[t][e]=!1})}},iterate:{value:function(t,e){for(var i=0,n=0;n<this.rows;n++){e&&e(n);for(var s=0;s<this.columns;s++)t(n,s,i),i++}}},formatAsText:{value:function(){var t=this,e="";return this.iterate(function(i,n){e+=(t.pattern[i][n]?1:0)+" "},function(){e+="\n"}),e}},log:{value:function(){console.log(this.formatAsText())}},update:{value:function(t){this.pattern=t||this.pattern}},length:{get:function(){return this.rows*this.columns}},locate:{value:function(t){return{row:~~(t/this.columns),column:t%this.columns}}},indexOf:{value:function(t,e){return e+t*this.columns}},row:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.columns;i++)e.push(this.pattern[t]?1:0);return e})},column:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.rows;i++)e.push(this.pattern[i][t]?1:0);return e})},rows:{get:function(){return this.pattern.length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(t,this.columns),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}},columns:{get:function(){return this.pattern[0].length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(this.rows,t),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?[0,10,20,30]:arguments[0],i=void 0===arguments[1]?"up":arguments[1],n=void 0!==arguments[2]&&arguments[2];r(this,t),this.values=e,Array.isArray(this.values)||(this.values=[this.values]),this._mode=i,this.position=n,this.drunkWalk=new a(0,this.values.length-1),this.startValues={up:0,down:this.values.length-1,drunk:~~(this.values.length/2),random:o.ri(this.values.length)},!1!==this.position?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{get:function(){return this._mode},set:function(t){if("up"!==t&&"down"!==t&&"random"!==t&&"drunk"!==t)return void console.error("The only modes currently allowed are: up, down, random, drunk");this._mode=t,this.position&&(this.next=this[this._mode])}},value:{get:function(){return this.values[this.position]},set:function(t){this.position=this.values.indexOf(t)}},first:{value:function(){return!1!==this.position?(this.next=this[this._mode],this.next()):(this.position=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.position++,this.position%=this.values.length,this.value}},down:{value:function(){return this.position--,this.position<0&&(this.position=(this.position+this.values.length)%this.values.length),this.value}},random:{value:function(){return this.position=o.ri(0,this.values.length),this.value}},drunk:{value:function(){return this.drunkWalk.max=this.values.length,this.drunkWalk.value=this.position,this.position=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?9:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?1:arguments[3],o=void 0!==arguments[4]&&arguments[4];s(this,t),this.min=e,this.max=i,this.value=n,this.increment=r,this.loop=o}return n(t,{next:{value:function(){return this.value+=r.pick(-1*this.increment,this.increment),this.value>this.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value<this.min&&(this.loop?this.value=this.max:this.value=this.min+this.increment),this.value}}}),t}();t.exports=o},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?10:arguments[1],n=void 0===arguments[2]?"up":arguments[2],s=void 0!==arguments[3]&&arguments[3];r(this,t),this.min=e,this.max=i,this.value=s,this.mode=n,this.drunkWalk=new a(this.min,this.max),!1!==this.value?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{set:function(t){if("up"!==t&&"down"!==t&&"random"!==t&&"drunk"!==t)return void console.error("The only modes currently allowed are: up, down, random, drunk");this._mode=t,this.value&&(this.next=this[this._mode])},get:function(){return this._mode}},first:{value:function(){return!1!==this.value?(this.next=this[this._mode],this.next()):(this.startValues={up:this.min,down:this.max,drunk:~~o.average(this.min,this.max),random:o.ri(this.min,this.max)},this.value=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.value++,this.value>=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value<this.min&&(this.value=this.max),this.value}},random:{value:function(){return this.value=o.ri(this.min,this.max),this.value}},drunk:{value:function(){return this.drunkWalk.min=this.min,this.drunkWalk.max=this.max,this.drunkWalk.value=this.value,this.value=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=["range"],i={size:[200,200],range:.5,mode:"absolute",speakers:[[.5,.2],[.75,.25],[.8,.5],[.75,.75],[.5,.8],[.25,.75],[.2,.5],[.25,.25]]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.value={x:new u(0,1,0,.5),y:new u(0,1,0,.5)},this.mode=this.settings.mode,this.position={x:new c.Handle(this.mode,"horizontal",[0,this.width],[this.height,0]),y:new c.Handle(this.mode,"vertical",[0,this.width],[this.height,0])},this.position.x.value=this.value.x.normalized,this.position.y.value=this.value.y.normalized,this.speakers=this.settings.speakers,this.range=this.settings.range,this.levels=[],this.init(),this.calculateLevels(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create("circle"),this.element.appendChild(this.knob),this.speakerElements=[];for(var t=0;t<this.speakers.length;t++){var e=a.create("circle");this.element.appendChild(e),this.speakerElements.push(e)}}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:3*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute("cx",this.width/2),this.knob.setAttribute("cy",this.height/2),this.knob.setAttribute("r",this.knobRadius.off);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t],i=this.speakers[t];e.setAttribute("cx",i[0]*this.width),e.setAttribute("cy",i[1]*this.height),e.setAttribute("r",this._minDimension/20+5),e.setAttribute("fill-opacity","0")}this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this.calculateLevels(),this.render()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute("fill",this.colors.mediumLight);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t];e.setAttribute("fill",this.colors.accent),e.setAttribute("stroke",this.colors.accent)}}},render:{value:function(){this.knobCoordinates={x:this.value.x.normalized*this.width,y:this.height-this.value.y.normalized*this.height},this.knob.setAttribute("cx",this.knobCoordinates.x),this.knob.setAttribute("cy",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this.calculateLevels(),this.emit("change",this.levels),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return{x:this.value.x.normalized,y:this.value.y.normalized}}},calculateLevels:{value:function(){var t=this;this.value.x.updateNormal(this.position.x.value),this.value.y.updateNormal(this.position.y.value),this.levels=[],this.speakers.forEach(function(e,i){var n=h.distance(e[0]*t.width,e[1]*t.height,t.position.x.value*t.width,(1-t.position.y.value)*t.height),s=h.clip(1-n/(t.range*t.width),0,1);t.levels.push(s),t.speakerElements[i].setAttribute("fill-opacity",s)})}},moveSource:{value:function(t,e){var i={x:t*this.width,y:e*this.height};this.position.x.update(i),this.position.y.update(i),this.calculateLevels(),this.emit("change",this.levels),this.render()}},moveSpeaker:{value:function(t,e,i){this.speakers[t]=[e,i],this.speakerElements[t].setAttribute("cx",e*this.width),this.speakerElements[t].setAttribute("cy",i*this.height),this.calculateLevels(),this.emit("change",this.levels),this.render()}}}),e}(l);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(5),h=i(4),l=i(6),u=function(t){function e(){o(this,e);var t=["value"],i={size:[80,80]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._active=!0,this.init(),this.boundUpdate=this.update.bind(this),window.DeviceOrientationEvent?this.orientationListener=window.addEventListener("deviceorientation",this.boundUpdate,!1):(this._active=!1,this.colorInterface())}return r(e,t),n(e,{buildInterface:{value:function(){this.title=h.create("text"),this.circleX=h.create("circle"),this.circleY=h.create("circle"),this.circleZ=h.create("circle"),this.barX=h.create("path"),this.barY=h.create("path"),this.barZ=h.create("path"),this.barX2=h.create("path"),this.barY2=h.create("path"),this.barZ2=h.create("path"),this.barX.setAttribute("opacity","0.8"),this.barY.setAttribute("opacity","0.8"),this.barZ.setAttribute("opacity","0.8"),this.barX2.setAttribute("opacity","0.8"),this.barY2.setAttribute("opacity","0.8"),this.barZ2.setAttribute("opacity","0.8"),this.circleX.setAttribute("cx",3*this.width/12),this.circleX.setAttribute("cy",3*this.height/4),this.circleX.setAttribute("r",this.height/10),this.circleX.setAttribute("opacity","0.4"),this.circleY.setAttribute("cx",6*this.width/12),this.circleY.setAttribute("cy",3*this.height/4),this.circleY.setAttribute("r",this.height/10),this.circleY.setAttribute("opacity","0.4"),this.circleZ.setAttribute("cx",9*this.width/12),this.circleZ.setAttribute("cy",3*this.height/4),this.circleZ.setAttribute("r",this.height/10),this.circleZ.setAttribute("opacity","0.4"),this.barX.setAttribute("stroke-width",Math.round(this.height/30)),this.barY.setAttribute("stroke-width",Math.round(this.height/30)),this.barZ.setAttribute("stroke-width",Math.round(this.height/30)),this.barX.setAttribute("fill","none"),this.barY.setAttribute("fill","none"),this.barZ.setAttribute("fill","none"),this.barX2.setAttribute("stroke-width",Math.round(this.height/30)),this.barY2.setAttribute("stroke-width",Math.round(this.height/30)),this.barZ2.setAttribute("stroke-width",Math.round(this.height/30)),this.barX2.setAttribute("fill","none"),this.barY2.setAttribute("fill","none"),this.barZ2.setAttribute("fill","none"),this.title.setAttribute("x",this.width/2),this.title.setAttribute("y",this.height/3+7),this.title.setAttribute("font-size","15px"),this.title.setAttribute("font-weight","bold"),this.title.setAttribute("letter-spacing","2px"),this.title.setAttribute("opacity","0.7"),this.title.setAttribute("text-anchor","middle"),this.title.textContent="TILT",this.element.appendChild(this.circleX),this.element.appendChild(this.circleY),this.element.appendChild(this.circleZ),this.element.appendChild(this.barX),this.element.appendChild(this.barY),this.element.appendChild(this.barZ),this.element.appendChild(this.barX2),this.element.appendChild(this.barY2),this.element.appendChild(this.barZ2),this.element.appendChild(this.title)}},colorInterface:{value:function(){this._active?(this.element.style.backgroundColor=this.colors.accent,this.circleX.setAttribute("fill",this.colors.light),this.circleY.setAttribute("fill",this.colors.light),this.circleZ.setAttribute("fill",this.colors.light),this.circleX.setAttribute("stroke",this.colors.light),this.circleY.setAttribute("stroke",this.colors.light),this.circleZ.setAttribute("stroke",this.colors.light),this.barX.setAttribute("stroke",this.colors.light),this.barY.setAttribute("stroke",this.colors.light),this.barZ.setAttribute("stroke",this.colors.light),this.barX2.setAttribute("stroke",this.colors.light),this.barY2.setAttribute("stroke",this.colors.light),this.barZ2.setAttribute("stroke",this.colors.light),this.title.setAttribute("fill",this.colors.light)):(this.element.style.backgroundColor=this.colors.fill,this.circleX.setAttribute("fill",this.colors.mediumLight),this.circleY.setAttribute("fill",this.colors.mediumLight),this.circleZ.setAttribute("fill",this.colors.mediumLight),this.circleX.setAttribute("stroke",this.colors.mediumLight),this.circleY.setAttribute("stroke",this.colors.mediumLight),this.circleZ.setAttribute("stroke",this.colors.mediumLight),this.barX.setAttribute("stroke",this.colors.mediumLight),this.barY.setAttribute("stroke",this.colors.mediumLight),this.barZ.setAttribute("stroke",this.colors.mediumLight),this.barX2.setAttribute("stroke",this.colors.mediumLight),this.barY2.setAttribute("stroke",this.colors.mediumLight),this.barZ2.setAttribute("stroke",this.colors.mediumLight),this.title.setAttribute("fill",this.colors.mediumLight))}},update:{value:function(t){if(this._active){var e=t.beta,i=t.gamma,n=t.alpha;i=a.scale(i,-90,90,0,1),e=a.scale(e,-90,90,0,1),n=a.scale(n,0,360,0,1);var s={start:1.5*Math.PI,end:a.clip(a.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,s.start,s.end),l=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,r.start,r.end);this.barX.setAttribute("d",o),this.barX2.setAttribute("d",l),s={start:1.5*Math.PI,end:a.clip(a.scale(e,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(e,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,s.start,s.end),l=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,r.start,r.end),this.barY.setAttribute("d",o),this.barY2.setAttribute("d",l),s={start:1.5*Math.PI,end:a.clip(a.scale(n,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(n,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,s.start,s.end),l=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,r.start,r.end),this.barZ.setAttribute("d",o),this.barZ2.setAttribute("d",l),this.emit("change",{x:i,y:e,z:n})}}},click:{value:function(){window.DeviceOrientationEvent&&(this.active=!this.active)}},active:{get:function(){return this._active},set:function(t){this._active=t,this.colorInterface()}},customDestroy:{value:function(){window.removeEventListener("deviceorientation",this.boundUpdate,!1)}}}),e}(l);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(5),l=i(6),u=i(32),c=i(9),f=function(t){function e(){var t=this;o(this,e);var i=["scale","value"],n={size:[120,20],orientation:"vertical",mode:"absolute",scale:[0,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,i,n),c.exists||(this.click=function(){t.multislider.interacting=!0,t.multislider.interpolation={index:t.index,value:t.value},t.down(),t.multislider.values[t.index]=t.value},this.element.addEventListener("mouseover",function(e){if(t.multislider.interacting){if(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.down(),t.multislider.values[t.index]=t.value,t.multislider.interpolation){var i=Math.abs(t.multislider.interpolation.index-t.index);if(i>1)for(var n=Math.min(t.multislider.interpolation.index,t.index),s=Math.max(t.multislider.interpolation.index,t.index),r=t.multislider.sliders[n].value,o=t.multislider.sliders[s].value,l=n;l<s;l++){t.multislider.sliders[l].value=h.interp((l-n)/i,r,o);var u=t.multislider.sliders[l].value;t.multislider.values[l]=u,t.multislider.update(l,u)}}t.multislider.interpolation={index:t.index,value:t.value}}}),this.move=function(){},this.element.addEventListener("mousemove",function(e){t.multislider.interacting&&(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.slide(),t.multislider.values[t.index]=t.value)}),this.release=function(){t.multislider.interacting=!1,t.multislider.interpolation=!1},this.element.addEventListener("mouseup",function(){t.multislider.interacting&&(t.up(),t.multislider.interpolation=!1,t.multislider.values[t.index]=t.value)}),this.element.addEventListener("mouseout",function(){t.multislider.interacting&&(t.up(),t.multislider.values[t.index]=t.value)})),this.customStyle()}return r(e,t),n(e,{customStyle:{value:function(){this.bar.setAttribute("x",0),this.bar.setAttribute("transform","translate(0,0)"),this.bar.setAttribute("rx",0),this.bar.setAttribute("ry",0),this.bar.setAttribute("width",this.width),this.bar.setAttribute("height",this.height),this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("transform","translate(0,0)"),this.fillbar.setAttribute("rx",0),this.fillbar.setAttribute("ry",0),this.fillbar.setAttribute("width",this.width),this.fillbar.setAttribute("height",this.height)}}}),e}(u),d=function(t){function e(){o(this,e);var t=["value"],i={size:[200,100],numberOfSliders:5,min:0,max:1,step:0,values:[.7,.7,.7,.7,.7]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._numberOfSliders=this.settings.numberOfSliders,this.values=this.settings.values,this.sliders=[],this.interacting=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this.settings.min,e=this.settings.max,i=this.settings.step;this.sliders.length&&(t=this.sliders[0].min,e=this.sliders[0].max,i=this.sliders[0].step),this.sliders=[];for(var n=0;n<this._numberOfSliders;n++){var s=document.createElement("span"),r=new f(s,{scale:[t,e],step:i,mode:"absolute",orientation:"vertical",value:this.values[n],hasKnob:!1,component:!0},this.update.bind(this,n));r.multislider=this,r.index=n,c.exists&&(r.bar.index=n,r.fillbar.index=n,r.preClick=r.preMove=r.preRelease=function(){},r.click=r.move=r.release=function(){},r.preTouch=r.preTouchMove=r.preTouchRelease=function(){},r.touch=r.touchMove=r.touchRelease=function(){}),this.sliders.push(r),this.element.appendChild(s)}c.exists&&this.addTouchListeners()}},colorInterface:{value:function(){for(var t=0;t<this.sliders.length;t++)this.sliders[t].colors=this.colors,this.sliders[t].colorInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.sliders.length,e=this.height,i=0;i<this.sliders.length;i++)this.sliders[i].resize(t,e),this.sliders[i].customStyle()}},update:{value:function(t,e){this.emit("change",{index:t,value:e})}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener("touchstart",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),n.down(),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchmove",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];if(n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),i.index!==t.currentElement){if(t.currentElement>=0){t.sliders[t.currentElement].up()}n.down()}else n.slide();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchend",function(e){t.sliders[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},numberOfSliders:{get:function(){return this.sliders.length},set:function(t){t!==this.sliders.length&&(this.sliders.forEach(function(t){t.destroy()}),this.empty(),this._numberOfSliders=t,this.buildInterface())}},min:{get:function(){return this.sliders[0].min},set:function(t){this.sliders.forEach(function(e){e.min=t})}},max:{get:function(){return this.sliders[0].max},set:function(t){this.sliders.forEach(function(e){e.max=t})}},step:{get:function(){return this.sliders[0].step},set:function(t){this.sliders.forEach(function(e){e.step=t})}},setSlider:{value:function(t,e){this.sliders[t].value=e,this.emit("change",{index:t,value:e})}},setAllSliders:{value:function(t){var e=this;this.values=t,this.sliders.forEach(function(i,n){i.value=t[n%t.length],e.emit("change",{index:n,value:i.value})})}}}),e}(l);t.exports=d},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,n),this.orientation=this.settings.orientation,this.hasKnob=this.settings.hasKnob,this._value=new l(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.fillbar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob),this.sizeInterface()}},sizeInterface:{value:function(){this.settings.orientation||(this.width<this.height?this.orientation="vertical":this.orientation="horizontal");var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},"vertical"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.normalized*n,s="translate("+-1*this.thickness/2+",0)",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*i,s="translate(0,"+-1*this.thickness/2+")",r=n/2),this.bar.setAttribute("x",t),this.bar.setAttribute("y",e),this.bar.setAttribute("transform",s),this.bar.setAttribute("rx",r),this.bar.setAttribute("ry",r),this.bar.setAttribute("width",i),this.bar.setAttribute("height",n),"vertical"===this.orientation?(this.fillbar.setAttribute("x",t),this.fillbar.setAttribute("y",this.knobData.level),this.fillbar.setAttribute("width",i),this.fillbar.setAttribute("height",n-this.knobData.level)):(this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("y",e),this.fillbar.setAttribute("width",this.knobData.level),this.fillbar.setAttribute("height",n)),this.fillbar.setAttribute("transform",s),this.fillbar.setAttribute("rx",r),this.fillbar.setAttribute("ry",r),"vertical"===this.orientation?(this.knob.setAttribute("cx",t),this.knob.setAttribute("cy",this.knobData.level)):(this.knob.setAttribute("cx",this.knobData.level),this.knob.setAttribute("cy",e)),this.knob.setAttribute("r",this.knobData.r),this.position&&this.position.resize([0,this.width],[this.height,0])}},colorInterface:{value:function(){this.bar.setAttribute("fill",this.colors.fill),this.fillbar.setAttribute("fill",this.colors.accent),this.knob.setAttribute("fill",this.colors.accent),this.hasKnob||this.knob.setAttribute("fill","none")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute("r",this.knobData.r),"vertical"===this.orientation?(this.knobData.level=this._value.normalized*this.height,this.knob.setAttribute("cy",this.height-this.knobData.level),this.fillbar.setAttribute("y",this.height-this.knobData.level),this.fillbar.setAttribute("height",this.knobData.level)):(this.knobData.level=this._value.normalized*this.width,this.knob.setAttribute("cx",this.knobData.level),this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("width",this.knobData.level))}},down:{value:function(){this.clicked=!0,this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.slide()}},slide:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit("change",this.value))}},up:{value:function(){this.clicked=!1,this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[120,20],orientation:"horizontal",mode:"relative",scale:[-1,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.orientation=this.settings.orientation,this.mode=this.settings.mode,this.hasKnob=this.settings.hasKnob,this.step=this.settings.step,this._value=new u(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new c.Handle(this.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position&&this.position.resize([0,this.width],[this.height,0]),this.width<this.height?this.orientation="vertical":this.orientation="horizontal";var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},"vertical"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s="translate("+-1*this.thickness/2+",0)",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s="translate(0,"+-1*this.thickness/2+")",r=n/2),this.bar.setAttribute("x",t),this.bar.setAttribute("y",e),this.bar.setAttribute("transform",s),this.bar.setAttribute("rx",r),this.bar.setAttribute("ry",r),this.bar.setAttribute("width",i),this.bar.setAttribute("height",n),"vertical"===this.orientation?(this.knob.setAttribute("cx",t),this.knob.setAttribute("cy",this.knobData.level)):(this.knob.setAttribute("cx",this.knobData.level),this.knob.setAttribute("cy",e)),this.knob.setAttribute("r",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute("fill",this.colors.fill),this.knob.setAttribute("fill",this.colors.accent),this.hasKnob||this.knob.setAttribute("fill","transparent")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute("r",this.knobData.r),"vertical"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute("cy",this.height-this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute("cx",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit("change",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}))}},release:{value:function(){this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit("change",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}),this.render()}},normalized:{get:function(){return this._value.normalized}}}),e}(l);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(5),h=i(4),l=i(6),u=function(t,e){this.x=t.x,this.y=t.y,this.envelope=e,this.element=h.create("circle"),this.element.setAttribute("fill",this.envelope.colors.accent),this.envelope.element.appendChild(this.element),this.resize=function(){var t=2+~~(Math.min(this.envelope.width,this.envelope.height)/50);this.element.setAttribute("r",t)},this.move=function(t,e){if(this.x=t||0===t?t:this.x,this.y=e||0===e?e:this.y,this.envelope.nodes.indexOf(this)>=0){var i=this.envelope.nodes.indexOf(this)-1,n=this.envelope.nodes.indexOf(this)+1,s=this.envelope.nodes[i],r=this.envelope.nodes[n],o=i>=0?s.x:0,a=n<this.envelope.nodes.length?r.x:1;this.x<o&&(this.x=o),this.x>a&&(this.x=a)}this.location=this.getCoordinates(),this.element.setAttribute("cx",this.location.x),this.element.setAttribute("cy",this.location.y)},this.getCoordinates=function(){return{x:this.x*this.envelope.width,y:(1-this.y)*this.envelope.height}},this.move(this.x,this.y,!0),this.resize(),this.destroy=function(){this.envelope.element.removeChild(this.element),this.envelope.nodes.splice(this.envelope.nodes.indexOf(this),1)}},c=function(t){function e(){o(this,e);var t=["value"],i={size:[300,150],points:[{x:.1,y:.4},{x:.35,y:.6},{x:.65,y:.2},{x:.9,y:.4}]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.points=this.settings.points,this.nodes=[],this.selected=!1,this.init()}return r(e,t),n(e,{buildInterface:{value:function(){var t=this;this.points.forEach(function(e){var i=new u(e,t);t.nodes.push(i)}),this.sortPoints(),this.line=h.create("polyline"),this.line.setAttribute("stroke-width",2),this.line.setAttribute("fill","none"),this.element.appendChild(this.line),this.fill=h.create("polyline"),this.fill.setAttribute("fill-opacity","0.2"),this.element.appendChild(this.fill)}},sizeInterface:{value:function(){for(var t=0;t<this.nodes.length;t++)this.nodes[t].resize(),this.nodes[t].move();this.render()}},colorInterface:{value:function(){var t=this;this.element.style.backgroundColor=this.colors.fill,this.line.setAttribute("stroke",this.colors.accent),this.fill.setAttribute("fill",this.colors.accent),this.nodes.forEach(function(e){e.element.setAttribute("fill",t.colors.accent)})}},render:{value:function(){this.calculatePath()}},calculatePoints:{value:function(){var t=this;this.points=[],this.nodes.forEach(function(e){t.points.push({x:e.x,y:e.y})})}},calculatePath:{value:function(){var t="0 "+this.nodes[0].location.y+", ";this.nodes.forEach(function(e){t+=e.location.x+" "+e.location.y+", "}),t+=this.width+" "+this.nodes[this.nodes.length-1].location.y,this.line.setAttribute("points",t),t+=", "+this.width+" "+this.height+", ",t+="0 "+this.height,this.fill.setAttribute("points",t)}},click:{value:function(){this.hasMoved=!1,this.selected=this.findNearestNode(),this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit("change",this.points),this.render()}},move:{value:function(){this.clicked&&(this.mouse.x=a.clip(this.mouse.x,0,this.width),this.hasMoved=!0,this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit("change",this.points),this.render())}},release:{value:function(){this.hasMoved||this.nodes[this.selected].destroy(),this.calculatePoints(),this.emit("change",this.points),this.render(),this.selected=null}},findNearestNode:{value:function(){for(var t=null,e=1e4,i=this.mouse.x/this.width,n=1-this.mouse.y/this.height,s=this.nodes,r=0;r<s.length;r++){var o=Math.sqrt(Math.pow(s[r].x-i,2)+Math.pow(s[r].y-n,2));o<e&&(e=o,t=r,i>s[r].x)}return e>.07&&(t=this.getIndexFromX(this.mouse.x/this.width),this.nodes.splice(t,0,new u({x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this)),this.hasMoved=!0),t}},getIndexFromX:{value:function(t){var e=this,i=0;return this.nodes.forEach(function(n,s){e.nodes[s].x<=t&&(i=s+1)}),i}},scaleNode:{value:function(t){var e=a.clip(this.nodes[t].x,0,1),i=a.clip(this.nodes[t].y,0,1);this.nodes[t].move(e,i)}},sortPoints:{value:function(){this.nodes.sort(function(t,e){return t.x>e.x})}},addPoint:{value:function(t,e){var i=this.nodes.length;this.sortPoints();for(var n=0;n<this.nodes.length;n++)if(t<this.nodes[n].x){i=n;break}this.nodes.splice(i,0,new u({x:t,y:e},this)),this.scaleNode(i),this.calculatePoints(),this.emit("change",this.points),this.render()}},scan:{value:function(t){var e=this.getIndexFromX(t),i=e-1;i<0&&(i=0),e>=this.nodes.length&&(e=this.nodes.length-1);var n=this.nodes[i],s=this.nodes[e],r=a.scale(t,n.x,s.x,0,1),o=a.interp(r,n.y,s.y);return this.emit("scan",o),o}},movePoint:{value:function(t,e,i){this.nodes[t].move(e,i),this.scaleNode(t),this.calculatePoints(),this.emit("change",this.points),this.render()}},adjustPoint:{value:function(t,e,i){this.nodes[t].move(this.nodes[t].x+e,this.nodes[t].y+i),this.scaleNode(t),this.calculatePoints(),this.emit("change",this.points),this.render()}},destroyPoint:{value:function(t){this.nodes[t].destroy(),this.calculatePoints(),this.emit("change",this.points),this.render()}},setPoints:{value:function(t){for(var e=this;this.nodes.length;)this.nodes[0].destroy();t.forEach(function(t){e.addPoint(t.x,t.y)}),this.calculatePoints(),this.emit("change",this.points),this.render()}}}),e}(l);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.active=!0,this.source=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteFrequencyData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.source&&this.dataArray)for(var t=this.canvas.element.width/this.bufferLength,e=void 0,i=0,n=this.canvas.element.width/50,s=0;s<this.bufferLength;s+=n)e=Math.max.apply(null,this.dataArray.subarray(s,s+n)),e/=255,e*=this.canvas.element.height,this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(i,this.canvas.element.height-e,t*n,e),i+=t*n}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source.disconnect(this.analyser),this.source=null}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(5),l=i(6),u=i(1).context,c=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[30,100]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.context=u(),this.channels=2,this.splitter=this.context.createChannelSplitter(this.channels),this.analysers=[];for(var n=0;n<this.channels;n++){var r=this.context.createAnalyser();this.splitter.connect(r,n),r.fftSize=1024,r.smoothingTimeConstant=1,this.analysers.push(r)}this.bufferLength=this.analysers[0].frequencyBinCount,this.dataArray=new Float32Array(this.bufferLength),this.active=!0,this.db=-1/0,this.init(),this.meterWidth=this.canvas.element.width/this.channels,this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){this.active&&requestAnimationFrame(this.render.bind(this)),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height);for(var t=0;t<this.analysers.length;t++){if(this.source){this.analysers[t].getFloatTimeDomainData(this.dataArray);for(var e=0,i=0;i<this.dataArray.length;i++)e+=this.dataArray[i]*this.dataArray[i];e=Math.sqrt(e/this.dataArray.length),this.db=20*Math.log10(e)}else this.db>-200&&this.db!==-1/0?this.db-=1:this.db=-1/0;if(this.db>-70){var n=h.normalize(this.db,-70,5),s=n*n,r=h.scale(s,0,1,this.element.height,0);this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(this.meterWidth*t,r,this.meterWidth,this.canvas.element.height-r)}}}},connect:{value:function(t,e){this.source&&this.disconnect(),e?this.channels=e:t.channelCount?this.channels=t.channelCount:this.channels=2,this.meterWidth=this.canvas.element.width/this.channels,this.source=t,this.source.connect(this.splitter)}},disconnect:{value:function(){this.source.disconnect(this.splitter),this.source=!1,this.meterWidth=this.canvas.element.width/this.channels}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(l);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.analyser.getByteTimeDomainData(this.dataArray),this.active=!0,this.source=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteTimeDomainData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.canvas.context.lineWidth=~~(this.height/100+2),this.canvas.context.strokeStyle=this.colors.accent,this.canvas.context.beginPath(),this.source)for(var t=1*this.canvas.element.width/this.bufferLength,e=0,i=0;i<this.bufferLength;i++){var n=this.dataArray[i]/128,s=n*this.canvas.element.height/2;0===i?this.canvas.context.moveTo(e,s):this.canvas.context.lineTo(e,s),e+=t}else this.canvas.context.moveTo(0,this.canvas.element.height/2),this.canvas.context.lineTo(this.canvas.element.width,this.canvas.element.height/2);this.canvas.context.stroke()}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source&&(this.source.disconnect(this.analyser),this.source=null)}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),o=function(t){return t&&t.__esModule?t.default:t}(i(7)),a=i(1).colors,h=function(){function t(e,i){s(this,t),this.meta={},this.meta.target=e,this.meta.parent=o.parseElement(e),this.meta.colors={},i?(this.meta.attribute=i.attribute||"nexus-ui",this.meta.title=i.name||!1,this.meta.open=i.open||!1):(this.meta.attribute="nexus-ui",this.meta.title=!1,this.meta.open=!1);var n=a();this.meta.colors.accent=n.accent,this.meta.colors.fill=n.fill,this.meta.colors.light=n.light,this.meta.colors.dark=n.dark,this.meta.colors.mediumLight=n.mediumLight,this.meta.colors.mediumDark=n.mediumDark,this.buildInterface(),this.colorInterface()}return n(t,{buildInterface:{value:function(){var t=this;for(this.meta.parent.style.boxSizing="border-box",this.meta.parent.style.userSelect="none",this.meta.parent.style.mozUserSelect="none",this.meta.parent.style.webkitUserSelect="none",this.meta.contents=document.createElement("div");this.meta.parent.childNodes.length>0;)this.meta.contents.appendChild(this.meta.parent.childNodes[0]);this.meta.contents.style.padding="0px",this.meta.contents.style.boxSizing="border-box",this.meta.title&&(this.meta.titleBar=document.createElement("div"),this.meta.titleBar.innerHTML=this.meta.title,this.meta.titleBar.style.fontFamily="arial",this.meta.titleBar.style.position="relative",this.meta.titleBar.style.color="#888",this.meta.titleBar.style.padding="7px",this.meta.titleBar.style.fontSize="12px",this.meta.button=document.createElement("div"),this.meta.button.style.position="absolute",this.meta.button.style.top="5px",this.meta.button.style.right="5px",this.meta.button.innerHTML="-",this.meta.button.style.padding="0px 5px 2px",this.meta.button.style.lineHeight="12px",this.meta.button.style.fontSize="15px",this.meta.button.style.cursor="pointer",this.meta.button.addEventListener("mouseover",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumDark}),this.meta.button.addEventListener("mouseleave",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumLight}),this.meta.button.addEventListener("click",function(){t.meta.open?t.hide():t.show()}),this.meta.titleBar.appendChild(this.meta.button),this.meta.parent.appendChild(this.meta.titleBar)),this.meta.parent.appendChild(this.meta.contents);var e=r.section(this.meta.target,this.meta.attribute);for(var i in e)this[i]=e[i]}},colorInterface:{value:function(){this.meta.title&&(this.meta.button.style.backgroundColor=this.meta.colors.mediumLight,this.meta.button.style.border="solid 0px "+this.meta.colors.fill,this.meta.parent.style.border="solid 1px "+this.meta.colors.mediumLight,this.meta.parent.style.backgroundColor=this.meta.colors.light,this.meta.titleBar.style.backgroundColor=this.meta.colors.fill)}},show:{value:function(){this.meta.contents.style.display="block",this.meta.open=!0}},hide:{value:function(){this.meta.contents.style.display="none",this.meta.open=!1}},colorize:{value:function(t,e){for(var i in this)this[i].colorize&&this[i].colorize(t,e);this.meta.colors[t]=e,this.colorInterface()}},empty:{value:function(){for(var t in this)this[t].destroy&&this[t].destroy()}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t};Object.defineProperty(e,"__esModule",{value:!0});var s=n(i(7)),r=n(i(2)),o=function(t,e){var i=t.type;return e[i]?e[i]++:e[i]=1,i+e[i]},a=function(t,e,i){i=i||{};for(var n=0;n<t.attributes.length;n++){var s=t.attributes[n];i[s.nodeName]=s.nodeValue}e=e[0].toUpperCase()+e.slice(1);var o=new r[e](t,i);return o.id=t.id,o},h=function(t,e){e=e||"nexus-ui";for(var i={},n=s.parseElement(t),h={},l=n.getElementsByTagName("*"),u=[],c=0;c<l.length;c++)u.push(l[c]);for(var c=0;c<u.length;c++){var f=u[c].getAttribute(e);if(f){var d=!1;for(var v in r)f.toLowerCase()===v.toLowerCase()&&(d=v);console.log(d);var p=a(u[c],d);if(p.id)h[p.id]=p;else{h[o(p,i)]=p}}}return h},l=function(t,e,i){var n=document.createElement("div");return i=i||{},e=e?s.parseElement(e):document.body,e.appendChild(n),i.target=n,i.size&&(n.style.width=i.size[0]+"px",n.style.height=i.size[1]+"px"),a(n,t,i)};e.element=a,e.section=h,e.add=l},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){s(this,t),this.scale=[],this.mode={output:"frequency",input:"step"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.root=r.mtof(60),this.createScale(0,2,4,5,7,9,11)}return n(t,{note:{value:function(t,e){return"frequency"===this.mode.output?this.frequency(t,e):"ratio"===this.mode.output?this.ratio(t,e):"MIDI"===this.mode.output?this.MIDI(t,e):this.frequency(t,e)}},frequency:{value:function(t,e){"midi"!==this.mode.input&&"MIDI"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);for(var n=t%this.scale.length;n<0;)n+=this.scale.length;var s=this.scale[n],r=this.root*s;return r*=Math.pow(2,i),r=Math.floor(1e11*r)/1e11}},ratio:{value:function(t,e){"midi"!==this.mode.input&&"MIDI"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);var n=t%this.scale.length,s=Math.pow(2,i)*this.scale[n];return s=Math.floor(1e11*s)/1e11,s}},MIDI:{value:function(t,e){var i=this.frequency(t,e),n=69+12*Math.log(i/440)/Math.log(2);return n=Math.floor(1e9*n)/1e9}},createScale:{value:function(){for(var t=[],e=0;e<arguments.length;e++)t.push(r.mtof(60+arguments[e]));this.loadScaleFromFrequencies(t)}},createJIScale:{value:function(){this.scale=[];for(var t=0;t<arguments.length;t++)this.scale.push(arguments[t])}},loadScaleFromFrequencies:{value:function(t){this.scale=[];for(var e=0;e<t.length-1;e++)this.scale.push(t[e]/t[0])}},loadScale:{value:function(t){var e=this.scales[t].frequencies;this.loadScaleFromFrequencies(e)}},search:{value:function(t){var e=[];for(var i in this.scales)-1!==i.toLowerCase().indexOf(t.toLowerCase())&&e.push(i);return e}},chord:{value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.note(t[i]));return e}}}),t}();t.exports=o},function(t,e){"use strict";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(){for(var e=arguments.length,i=Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];var r=void 0===arguments[0]?3:arguments[0];n(this,t),r<0&&(r=1),this.length=r,this.onVals=i,this.array=new Array(r).fill(0),i.length>0&&this.on.apply(this,i)}return i(t,{select:{value:function(t){return this.array.fill(0),this.array[t]=1,this.array}},flip:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn("Warning: AnonRadio["+t+"] does not exist"):n[t]=n[t]?0:1}):n.forEach(function(t,e,i){i[e]=t?0:1}),n}},on:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn("Warning: AnonRadio["+t+"] exceeds size of object"):(1===n[t]&&console.warn("Warning: AnonRadio["+t+"] was already on."),n[t]=1)}):n.fill(1),n}},off:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){n[t]=0}):n.fill(0),n}}}),t}();t.exports=s},function(t,e,i){var n=i(43);t.exports=n,"undefined"!=typeof window&&(window.WAAClock=n)},function(t,e,i){(function(e){var i={toleranceLate:.1,toleranceEarly:.001},n=function(t,e,i){this.clock=t,this.func=i,this._cleared=!1,this.toleranceLate=t.toleranceLate,this.toleranceEarly=t.toleranceEarly,this._latestTime=null,this._earliestTime=null,this.deadline=null,this.repeatTime=null,this.schedule(e)};n.prototype.clear=function(){return this.clock._removeEvent(this),this._cleared=!0,this},n.prototype.repeat=function(t){if(0===t)throw new Error("delay cannot be 0");return this.repeatTime=t,this.clock._hasEvent(this)||this.schedule(this.deadline+this.repeatTime),this},n.prototype.tolerance=function(t){return"number"==typeof t.late&&(this.toleranceLate=t.late),"number"==typeof t.early&&(this.toleranceEarly=t.early),this._refreshEarlyLateDates(),this.clock._hasEvent(this)&&(this.clock._removeEvent(this),this.clock._insertEvent(this)),this},n.prototype.isRepeated=function(){return null!==this.repeatTime},n.prototype.schedule=function(t){this._cleared=!1,this.deadline=t,this._refreshEarlyLateDates(),this.clock.context.currentTime>=this._earliestTime?this._execute():this.clock._hasEvent(this)?(this.clock._removeEvent(this),this.clock._insertEvent(this)):this.clock._insertEvent(this)},n.prototype.timeStretch=function(t,e){this.isRepeated()&&(this.repeatTime=this.repeatTime*e);var i=t+e*(this.deadline-t);if(this.isRepeated())for(;this.clock.context.currentTime>=i-this.toleranceEarly;)i+=this.repeatTime;this.schedule(i)},n.prototype._execute=function(){!1!==this.clock._started&&(this.clock._removeEvent(this),this.clock.context.currentTime<this._latestTime?this.func(this):(this.onexpired&&this.onexpired(this),console.warn("event expired")),this.clock._hasEvent(this)||!this.isRepeated()||this._cleared||this.schedule(this.deadline+this.repeatTime))},n.prototype._refreshEarlyLateDates=function(){this._latestTime=this.deadline+this.toleranceLate,this._earliestTime=this.deadline-this.toleranceEarly};var s=t.exports=function(t,e){e=e||{},this.tickMethod=e.tickMethod||"ScriptProcessorNode",this.toleranceEarly=e.toleranceEarly||i.toleranceEarly,this.toleranceLate=e.toleranceLate||i.toleranceLate,this.context=t,this._events=[],this._started=!1};s.prototype.setTimeout=function(t,e){return this._createEvent(t,this._absTime(e))},s.prototype.callbackAtTime=function(t,e){return this._createEvent(t,e)},s.prototype.timeStretch=function(t,e,i){return e.forEach(function(e){e.timeStretch(t,i)}),e},s.prototype.start=function(){if(!1===this._started){var t=this;if(this._started=!0,this._events=[],"ScriptProcessorNode"===this.tickMethod){this._clockNode=this.context.createScriptProcessor(256,1,1),this._clockNode.connect(this.context.destination),this._clockNode.onaudioprocess=function(){e.nextTick(function(){t._tick()})}}else if("manual"!==this.tickMethod)throw new Error("invalid tickMethod "+this.tickMethod)}},s.prototype.stop=function(){!0===this._started&&(this._started=!1,this._clockNode.disconnect())},s.prototype._tick=function(){for(var t=this._events.shift();t&&t._earliestTime<=this.context.currentTime;)t._execute(),t=this._events.shift();t&&this._events.unshift(t)},s.prototype._createEvent=function(t,e){return new n(this,e,t)},s.prototype._insertEvent=function(t){this._events.splice(this._indexByTime(t._earliestTime),0,t)},s.prototype._removeEvent=function(t){var e=this._events.indexOf(t);-1!==e&&this._events.splice(e,1)},s.prototype._hasEvent=function(t){return-1!==this._events.indexOf(t)},s.prototype._indexByTime=function(t){for(var e,i=0,n=this._events.length;i<n;)e=Math.floor((i+n)/2),this._events[e]._earliestTime<t?i=e+1:n=e;return i},s.prototype._absTime=function(t){return t+this.context.currentTime},s.prototype._relTime=function(t){return t-this.context.currentTime}}).call(e,i(44))},function(t,e){function i(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function s(t){if(u===setTimeout)return setTimeout(t,0);if((u===i||!u)&&setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function r(t){if(c===clearTimeout)return clearTimeout(t);if((c===n||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(t);try{return c(t)}catch(e){try{return c.call(null,t)}catch(e){return c.call(this,t)}}}function o(){p&&d&&(p=!1,d.length?v=d.concat(v):m=-1,v.length&&a())}function a(){if(!p){var t=s(o);p=!0;for(var e=v.length;e;){for(d=v,v=[];++m<e;)d&&d[m].run();m=-1,e=v.length}d=null,p=!1,r(t)}}function h(t,e){this.fun=t,this.array=e}function l(){}var u,c,f=t.exports={};!function(){try{u="function"==typeof setTimeout?setTimeout:i}catch(t){u=i}try{c="function"==typeof clearTimeout?clearTimeout:n}catch(t){c=n}}();var d,v=[],p=!1,m=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];v.push(new h(t,e)),1!==v.length||p||s(a)},h.prototype.run=function(){this.fun.apply(null,this.array)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.prependListener=l,f.prependOnceListener=l,f.listeners=function(t){return[]},f.binding=function(t){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(t){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=i(1).clock,o=function(){function t(e,i,n){s(this,t),this.rate=e,this.on=n,this.clock=r(),this.pattern=[1],this.index=0,this.event=i||function(){},this.on&&this.start()}return n(t,{_event:{value:function(t){this.event(t),this.index++}},stop:{value:function(){this.on=!1,this.interval.clear()}},start:{value:function(){this.on=!0,this.interval=this.clock.callbackAtTime(this._event.bind(this),this.clock.context.currentTime).repeat(this.rate/1e3).tolerance({early:.1,late:1})}},ms:{value:function(t){if(this.on){var e=t/this.rate;this.rate=t,this.clock.timeStretch(this.clock.context.currentTime,[this.interval],e)}else this.rate=t}}}),t}();t.exports=o}])})},function(t,e,i){"use strict";function n(t){if(t.altKey||t.ctrlKey||t.metaKey)return void t.stopPropagation();if(document.activeElement instanceof HTMLInputElement&&t.keyCode in o)return void t.stopPropagation();if(t.keyCode in r){var e=r[t.keyCode];t.shiftKey&&(e+=a.length),e-=7,h(e)}}function s(t){h=t}Object.defineProperty(e,"__esModule",{value:!0});var r={},o={},a="zxcvbnmasdfghjklqwertyuiop",h=function(){};a.toUpperCase().split("").map(function(t,e){r[t.charCodeAt(0)]=e}),"1234567890".split("").map(function(t,e){r[t.charCodeAt(0)]=e+a.length,o[t.charCodeAt(0)]=!0}),window.addEventListener("keydown",n,!0),e.default={listen:s}},function(t,e,i){"use strict";function n(t){return t[Math.floor(Math.random()*t.length)]}function s(t){return Math.floor(Math.random()*t)}function r(t,e){return t-e*Math.floor(t/e)}function o(t,e,i){return(t-e)/(i-e)}function a(t){t=t.slice(0);for(var e=t.length;e>0;e--){var i=s(e),n=t[e-1];t[e-1]=t[i],t[i]=n}return t}function h(t){if(_){var e=document.createElement("div"),i=document.createElement("div");i.innerHTML="Tap to start - please unmute your phone",Object.assign(e.style,{position:"absolute",width:"100%",height:"100%",zIndex:"10000",top:"0px",left:"0px",backgroundColor:"rgba(0, 0, 0, 0.8)"}),Object.assign(i.style,{position:"absolute",left:"50%",top:"50%",padding:"20px",backgroundColor:"#7F33ED",color:"white",fontFamily:"monospace",borderRadius:"3px",transform:"translate3D(-50%,-50%,0)",textAlign:"center",lineHeight:"1.5"}),e.appendChild(i),document.body.appendChild(e),StartAudioContext.setContext(Tone.context),StartAudioContext.on(i),StartAudioContext.onStarted(function(i){e.remove(),t()})}else t()}function l(t){for(var e=atob(t.split(",")[1]),i=t.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(e.length),s=new Uint8Array(n),r=0;r<e.length;r++)s[r]=e.charCodeAt(r);return new Blob([n],{type:i})}function u(t){return 69+12*Math.log2(t/440)}function c(t){return 440*Math.pow(2,(t-69)/12)}function f(t){return function(e){E.isMobile?t():e.press&&t()}}function d(t,e,i,n){var s=document.querySelector(e+" + .val"),r=function(t){s.innerHTML=i?parseInt(t):t.toFixed(2),n&&n(t)};t.on("change",r),s.innerHTML=i?parseInt(t.value):t.value.toFixed(2),t.update=r}function v(t,e,i,n){var s=t.active,r=document.querySelector(e+" + .val"),o=function(e){-1===e?e=t.active=s:s=e,r.innerHTML=i[e][1],n&&n(e)};t.on("change",o),o(t.active),t.update=o}function p(t,e,i){Object.keys(e).forEach(function(i){var n=e[i],s=document.createElement("option");s.innerHTML=n.name,s.value=i,t.appendChild(s)}),t.addEventListener("input",function(t){i(t.target.value)})}function m(t,e,i,n,s,r){var o=document.createElement("div");o.classList.add("block");var a=document.createElement("div");a.setAttribute("id",e);var h=document.createElement("span");h.classList.add("val");var l=document.createElement("label");l.classList=e,l.innerHTML=i,o.appendChild(l),o.appendChild(a),o.appendChild(h),t.appendChild(o),n.size=[200,24];var u=new y.default.Slider("#"+e,n);return d(u,"#"+e,s,r),u}function b(t,e,i){var n=document.createElement("div");n.classList.add("stat");var s=document.createElement("div");s.classList.add("key");var r=document.createElement("div");r.classList.add("val"),n.appendChild(s),n.appendChild(r),t.appendChild(n),s.innerHTML=e,r.innerHTML=i();var o=void 0;return function(){var t=i();o!==t&&(r.innerText=o=t)}}Object.defineProperty(e,"__esModule",{value:!0}),e.Statistic=e.Slider=e.build_options=e.update_radio_value_on_change=e.update_value_on_change=e.dataURItoBlob=e.tap=e.mtof=e.ftom=e.requestAudioContext=e.browser=e.randint=e.shuffle=e.choice=e.norm=e.mod=void 0;var g=i(0),y=function(t){return t&&t.__esModule?t:{default:t}}(g),x=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i),w=navigator.userAgent.match(/iPad/i),k=navigator.userAgent.match(/Android/i),_=x||w||k,A=!_;document.body.classList.add(_?"mobile":"desktop");var E={isIphone:x,isIpad:w,isMobile:_,isDesktop:A};e.mod=r,e.norm=o,e.choice=n,e.shuffle=a,e.randint=s,e.browser=E,e.requestAudioContext=h,e.ftom=u,e.mtof=c,e.tap=f,e.dataURItoBlob=l,e.update_value_on_change=d,e.update_radio_value_on_change=v,e.build_options=p,e.Slider=m,e.Statistic=b},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function s(){if(K=setTimeout(s,S.Rate.value),!U){tt+=1;var t=S.T.value;(0,C.shuffle)(H).forEach(function(e){if(e.J>1)return void(e.J-=1);var i=_(e);1===e.J&&(Z[e.y][e.x]||(e.J=0,Z[e.y][e.x]=e,e.log.push("left jail"))),e.team===z?a(e,i):(r(e,i),W.update(e,i,t))}),W.id===j.SIM_GENOCIDE&&(H=H.filter(function(t){return!t.dead})),v()}}function r(t,e){t.CAv=o(e),t.G=t.H*(1-S.L.value),t.P=1-Math.exp(-S.k.value*t.CAv),t.NetR=t.R*t.P*Math.pow(S.J.value,S.alpha.value),t.GN=t.G-t.NetR}function o(t){var e=0,i=1;return t.forEach(function(t){t.team!==D&&(t.team===z?e+=1:i+=1)}),e/i}function a(t,e){e.some(function(t){return!(t.team===z||!t.active)&&(h(t),!0)}),f(t,e)}function h(t){t.J=(0,C.randint)(S.J.value),t.active=!1,Z[t.y][t.x]=null,t.log.push("sent to jail")}function l(t,e){t.dead=!0,t.Age=0,Z[t.y][t.x]=null,t.log.push(e)}function u(t,e){e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[i][n]=c(i,n,t),t.log.push("gave birth"),!0}return!1})}function c(t,e,i){if(!(H.length>=S.Size.value*S.Size.value)){var n={id:Q++,team:i?i.team:(0,C.randint)(W.teams)+1,H:i?i.H:Math.random(),R:Math.random(),J:0,Age:(0,C.randint)(S.MaxAge.value)+1,active:!1,G:0,CAv:0,P:0,NetR:0,GN:0,log:[],y:t,x:e};return H.push(n),n}}function f(t,e){t.dead||t.J||e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[t.y][t.x]=null,Z[i][n]=t,t.y=i,t.x=n,!0}return!1})}function d(t){var e=void 0,i=void 0,n=void 0,s=void 0;return"id"===J?(e=t.id/Q,i=360*e,n=1,s=.5):"GN"===J?(e=t[J],i=t.active?0:180,n=1-e,s=1-e):(e=t[J],i=t.active?0:100,n=1,s=1-2*e),"hsl("+[0|i,(100*n|0)+"%",(100*s|0)+"%"].join(",")+")"}function v(){var t=S.Size.value;if(I.clearRect(0,0,(t+1)*q*2,t*q),x(function(e,i){var n=Z[e][i];n?n.team===z?(I.fillStyle="#000000",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V)):(I.save(),I.fillStyle=d(n),I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillStyle=W.color(n),I.fillRect(i*q,e*q,q-V,q-V),I.save()):(I.fillStyle="#ffffff",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V))}),$&&!$.dead&&!$.J){var e=$,i=e.y,n=e.x;I.strokeStyle="#000000",I.lineWidth=1,I.strokeRect((n+t+1)*q,i*q,q,q),I.strokeRect(n*q,i*q,q,q)}G.forEach(function(t){return t()}),$&&$.dead&&p()}function p(){var t=void 0;do{t=(0,C.choice)(H)}while(t.dead||t.team===z);$=t}function m(){H=[],Z=[],Q=0,tt=0;var t=S.Pop.value,e=S.Cops.value;Z=x(function(e,i){return Math.random()<t?c(e,i):null});for(var i=0,n=H.length*e;i<n;i++)H[(0,C.randint)(H.length)].team=z;p(H),et={old_age:0,in_jail:0,murder:0}}function b(){w(),g()}function g(){U=!1,clearTimeout(K),m(),s()}function y(){U=!U,U?(document.querySelector("#pause").innerText="Paused",clearTimeout(K)):(document.querySelector("#pause").innerText="Pause",clearTimeout(K),s())}function x(t){for(var e=[],i=S.Size.value,n=0;n<i;n++){e[n]=[];for(var s=0;s<i;s++)e[n][s]=t(n,s,0)}return e}function w(){S.Size&&(L.width=(S.Size.value+1)*q*2,L.height=S.Size.value*q)}function k(t,e){var i=S.Size.value;return t=(0,C.mod)(t,i),e=(0,C.mod)(e,i),Z[t][e]||{y:t,x:e,team:D}}function _(t){var e=t.y,i=t.x;return(0,C.shuffle)(X.map(function(t){return k(e+t[0],i+t[1])}))}function A(t){W=Y[t],W.init(),console.log(W.name),m()}function E(t){J=t,console.log("viewing",t+":",B[t].name)}function P(t){var e=S.Size.value,i=L.getBoundingClientRect(),n=(t.pageY-i.top)/i.height*e|0,s=(t.pageX-i.left)/i.width*(2*e+1)|0;return console.log(s,n),s>=e&&(s%=e),$=Z[n][s],v(),Z[n][s]}function O(t){return t?"Yes":"No"}var M=i(0),T=(n(M),i(1)),C=(n(T),i(2)),L=document.querySelector("canvas"),I=L.getContext("2d"),S=window.nx={},z=0,D=-1,j={SIM_REBELLION:0,SIM_GENOCIDE:1},R=["#000000","#00d020","#0000f0","#008080","#00ff80","#0080ff"],F=["#000000","#800000","#800080","#808080","#80ff80","#8080ff"],N=["Cops","Green","Blue","#3","#4","#5"],X=[[-1,-1],[-1,0],[-1,1],[0,-1],[0,1],[1,-1],[1,0],[1,1]],Y={rebellion:{id:j.SIM_REBELLION,name:"Civil Violence Model I: Generalized Rebellion Against Central Authority",teams:1,init:function(){document.querySelector(".governmental_legitimacy").innerText="Governmental Legitimacy"},update:function(t,e,i){if(!(t.J>0)){var n=t.GN>i;n&&!t.active?t.log.push("went active"):!n&&t.active&&t.log.push("went inactive"),t.active=n,f(t,e)}},color:function(t){return t.active?F[t.team]:R[t.team]}},genocide:{id:j.SIM_GENOCIDE,name:"Civil Violence Model II: Inter-Group Violence",teams:2,init:function(){document.querySelector(".governmental_legitimacy").innerText="Empathy"},update:function(t,e,i){if(!t.dead){if(t.Age--<=0)return void(t.J>0?(l(t,"died in jail"),et.in_jail+=1):(l(t,"died of old age"),et.old_age+=1));t.GN>i&&e.some(function(e){return e.team!==D&&e.team!==z&&e.team!==t.team&&(l(e,"died of murder"),t.active=!0,t.log.push("killed someone"),et.murder+=1,!0)}),Math.random()<S.Rep.value&&u(t,e),f(t,e)}},color:function(t){return R[t.team]}}},B={G:{value:"G",name:"Grievance"},CAv:{value:"CAv",name:"Cop-to-Active ratio"},P:{value:"P",name:"Arrest probability"},NetR:{value:"NetR",name:"Net risk of being arrested"},GN:{value:"GN",name:"Distance from threshold"},id:{value:"id",name:"Agent ID"}},q=10,V=1,H=[],Z=[],G=[],W=Y.rebellion,J="G",U=!1,K=void 0,Q=0,$=void 0,tt=0,et={};!function(){(0,C.build_options)(document.querySelector("#sim"),Y,A),(0,C.build_options)(document.querySelector("#view"),B,E);var t=document.querySelector("#options");S.Size=(0,C.Slider)(t,"world_size","World size",{min:10,max:200,step:1,value:40},!0,b),S.Rate=(0,C.Slider)(t,"rate","Frame rate",{min:100,max:5e3,step:10,value:200},!0,m),S.L=(0,C.Slider)(t,"governmental_legitimacy","Governmental legitimacy",{min:0,max:1,step:.01,value:.89},!1),S.T=(0,C.Slider)(t,"activation_threshold","Grievance threshold",{min:0,max:1,step:.01,value:.1},!1),S.Rep=(0,C.Slider)(t,"birth_rate","Birth rate",{min:0,max:1,step:.001,value:.05},!1),S.MaxAge=(0,C.Slider)(t,"max_age","Max age",{min:0,max:1e3,step:1,value:200},!0),S.J=(0,C.Slider)(t,"max_jail_term","Maximum jail term",{min:1,max:100,step:1,value:30},!0),S.alpha=(0,C.Slider)(t,"jail_deterrent","Jail deterrent",{min:0,max:2,step:.01,value:0},!1),S.k=(0,C.Slider)(t,"arrest_constant","Arrest probability constant",{min:1,max:10,step:.01,value:2.3},!1),S.Pop=(0,C.Slider)(t,"population_density","Population density",{min:0,max:1,step:.01,value:.7},!1,g),S.Cops=(0,C.Slider)(t,"cop_density","Cop density",{min:0,max:.3,step:.002,value:.05},!1,g);var e=document.querySelector("#stats"),i=document.querySelector("#agent"),n=document.querySelector("#log");G=[(0,C.Statistic)(e,"Time",function(){return tt}),(0,C.Statistic)(e,"Agents",function(){return H.length}),(0,C.Statistic)(e,"Cops",function(){return H.filter(function(t){return t.team===z}).length}),(0,C.Statistic)(e,"Team #1",function(){return H.filter(function(t){return 1===t.team}).length}),(0,C.Statistic)(e,"Team #2",function(){return H.filter(function(t){return 2===t.team}).length}),(0,C.Statistic)(e,"Quiescent",function(){return H.filter(function(t){return!t.active}).length}),(0,C.Statistic)(e,"Active",function(){return H.filter(function(t){return t.active}).length}),(0,C.Statistic)(e,"Jailed",function(){return H.filter(function(t){return t.J>0}).length}),(0,C.Statistic)(e,"Died of old age",function(){return et.old_age}),(0,C.Statistic)(e,"Died in jail",function(){return et.in_jail}),(0,C.Statistic)(e,"Murder rate",function(){return et.murder}),(0,C.Statistic)(i,"Selected Agent #",function(){return $?$.id:"None"}),(0,C.Statistic)(i,"Team",function(){return $&&N[$.team]}),(0,C.Statistic)(i,"Position",function(){return $&&$.x+","+$.y}),(0,C.Statistic)(i,"Hardship",function(){return $&&$.H.toFixed(2)}),(0,C.Statistic)(i,"Risk tolerance",function(){return $&&$.R.toFixed(2)}),(0,C.Statistic)(i,"Grievance",function(){return $&&$.G.toFixed(2)}),(0,C.Statistic)(i,"Score",function(){return $&&$.GN.toFixed(2)}),(0,C.Statistic)(i,"Cop / Active ratio",function(){return $&&$.CAv.toFixed(2)}),(0,C.Statistic)(i,"Arrest probability",function(){return $&&$.P.toFixed(2)}),(0,C.Statistic)(i,"Net risk",function(){return $&&$.NetR.toFixed(2)}),(0,C.Statistic)(i,"Active",function(){return $&&O($.active)}),(0,C.Statistic)(i,"Age",function(){return $&&$.Age}),(0,C.Statistic)(i,"Dead?",function(){return $&&O($.dead)}),(0,C.Statistic)(i,"In Jail?",function(){return $&&O($.J)}),(0,C.Statistic)(i,"Jail term",function(){return $&&$.J}),(0,C.Statistic)(n,"Log",function(){return $&&$.log.join("\n")})],document.querySelector("button#restart").addEventListener("click",g),document.querySelector("button#pause").addEventListener("click",y),document.querySelector("button#observe").addEventListener("click",function(){p(),v()});var s=!1;L.addEventListener("mousemove",function(t){s||P(t)}),L.addEventListener("mousedown",function(t){P(t)&&(s=!0)}),document.querySelector(".loading").classList.remove("loading"),w(),g()}()}]);
+!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=3)}([function(t,e,i){!function(e,i){t.exports=i()}(0,function(){return function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={exports:{},id:n,loaded:!1};return t[n].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t}(i(1));t.exports=n},function(t,e,i){"use strict";function n(){return k.colors}function s(){return k.context}function r(){return k.clock}var o=function(t){return t&&t.__esModule?t.default:t},a=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};e.colors=n,e.context=s,e.clock=r,Object.defineProperty(e,"__esModule",{value:!0});var l=o(i(2)),u=o(i(5)),c=o(i(38)),f=o(i(40)),d=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),v=i(28),p=i(41),m=i(27),b=i(26),g=i(25),y=o(i(42)),x=o(i(45)),w=function(){function t(e){h(this,t);for(var i in l)this[i]=l[i];for(var i in u)this[i]=u[i];var n={Rack:c},s={Counter:v,Radio:p,Drunk:m,Sequence:b,Matrix:g};for(var i in s)this[i]=s[i];for(var i in n)this[i]=n[i];var r=window.AudioContext||window.webkitAudioContext;this._context=e||new r,this.tune=new f,this.note=this.tune.note.bind(this.tune),this.clock=new y(this._context),this.clock.start(),this.Interval=x,this.colors={accent:"#2bb",fill:"#eee",light:"#fff",dark:"#333",mediumLight:"#ccc",mediumDark:"#666"},this.transform=d,this.add=d.add,this.Add={};for(var i in l)this.Add[i]=d.add.bind(this,i);var o=document.getElementsByTagName("style"),a=document.createElement("style");if(a.type="text/css",a.innerHTML="[nexus-ui]{height:5000px;width:5000px}",o.length>0){o[0].parentNode.insertBefore(a,o[0])}else document.write("<style>[nexus-ui]{height:5000px;width:5000px}</style>")}return a(t,{context:{get:function(){return this._context},set:function(t){this.clock.stop(),this._context=t,this.clock=new y(this.context),this.clock.start()}}}),t}(),k=new w;e.default=k},function(t,e,i){"use strict";t.exports={Position:i(3),Slider:i(14),Toggle:i(15),Button:i(16),TextButton:i(18),RadioButton:i(19),Number:i(20),Select:i(21),Dial:i(22),Piano:i(23),Sequencer:i(24),Pan2D:i(29),Tilt:i(30),Multislider:i(31),Pan:i(33),Envelope:i(34),Spectrogram:i(35),Meter:i(36),Oscilloscope:i(37)}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=["value"],i={size:[200,200],mode:"absolute",minX:0,maxX:1,stepX:0,x:.5,minY:0,maxY:1,stepY:0,y:.5};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._x=new l(this.settings.minX,this.settings.maxX,this.settings.stepX,this.settings.x),this._y=new l(this.settings.minY,this.settings.maxY,this.settings.stepY,this.settings.y),this.position={x:new u.Handle(this.settings.mode,"horizontal",[0,this.width],[this.height,0]),y:new u.Handle(this.settings.mode,"vertical",[0,this.width],[this.height,0])},this.position.x.value=this._x.normalized,this.position.y.value=this._y.normalized,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create("circle"),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:5*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute("cx",this.width/2),this.knob.setAttribute("cy",this.height/2),this.knob.setAttribute("r",this.knobRadius.off)}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute("fill",this.colors.accent)}},render:{value:function(){this.clicked?this.knob.setAttribute("r",this.knobRadius.on):this.knob.setAttribute("r",this.knobRadius.off),this.knobCoordinates={x:this._x.normalized*this.width,y:this.height-this._y.normalized*this.height},this.knob.setAttribute("cx",this.knobCoordinates.x),this.knob.setAttribute("cy",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this._x.updateNormal(this.position.x.value),this._y.updateNormal(this.position.y.value),this.emit("change",{x:this._x.value,y:this._y.value}),this.render())}},release:{value:function(){this.render()}},x:{get:function(){return this._x.value},set:function(t){this._x.update(t),this.emit("change",{x:this._x.value,y:this._y.value}),this.render()}},y:{get:function(){return this._y.value},set:function(t){this._y.update(t),this.emit("change",{x:this._x.value,y:this._y.value}),this.render()}},normalized:{get:function(){return{x:this._x.normalized,y:this._y.normalized}}},minX:{get:function(){return this._x.min},set:function(t){this._x.min=t,this.render()}},minY:{get:function(){return this._y.min},set:function(t){this._y.min=t,this.render()}},maxX:{get:function(){return this._x.max},set:function(t){this._x.max=t,this.render()}},maxY:{get:function(){return this._y.max},set:function(t){this._y.max=t,this.render()}},stepX:{get:function(){return this._x.step},set:function(t){this._x.step=t,this.render()}},stepY:{get:function(){return this._y.step},set:function(t){this._y.step=t,this.render()}},mode:{get:function(){return this.position.x.mode},set:function(t){this.position.x.mode=t,this.position.y.mode=t}}}),e}(h);t.exports=c},function(t,e,i){"use strict";var n=i(5);t.exports={create:function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)},arc:function(t,e,i,s,r){var o=n.toCartesian(i,r),a=n.toCartesian(i,s),h=r-s<=180?"0":"1";return["M",o.x+t,o.y+e,"A",i,i,0,h,0,a.x+t,a.y+e].join(" ")},radialGradient:function(t,e){var i="gradient"+n.ri(1e11),s=[],r=document.createElementNS("http://www.w3.org/2000/svg","radialGradient");r.setAttribute("id",i),r.setAttribute("cx","50%"),r.setAttribute("cy","50%"),r.setAttribute("r","50%"),t.appendChild(r);for(var o=0;o<e;o++){var a=document.createElementNS("http://www.w3.org/2000/svg","stop");a.setAttribute("id","stop"+o),r.appendChild(a),s.push(a)}return{id:i,stops:s,element:r}}}},function(t,e){"use strict";e.clip=function(t,e,i){return Math.min(Math.max(t,e),i)},e.normalize=function(t,e,i){return(t-e)/(i-e)},e.scale=function(t,e,i,n,s){return e===i?n:(t-e)*(s-n)/(i-e)+n},e.toPolar=function(t,e){var i=Math.sqrt(t*t+e*e),n=Math.atan2(e,t);return n<0&&(n+=2*Math.PI),{radius:i,angle:n}},e.toCartesian=function(t,e){return{x:t*Math.cos(e),y:t*Math.sin(e)*-1}},e.prune=function(t,e){return parseFloat(t.toFixed(e))},e.invert=function(t){return e.scale(t,1,0,0,1)},e.mtof=function(t){return 440*Math.pow(2,(t-69)/12)},e.interp=function(t,e,i){return t*(i-e)+e},e.pick=function(){return arguments[~~(Math.random()*arguments.length)]},e.octave=function(t){return Math.pow(2,t)},e.ri=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.floor(Math.random()*(n-i)+i)},e.rf=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.random()*(n-i)+i},e.cycle=function(t,e,i){return t++,t>=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i];return e/t.length},e.distance=function(t,e,i,n){var s=t-i,r=e-n;return Math.sqrt(s*s+r*r)},e.gainToDB=function(t){return 20*Math.log10(t)},e.coin=function(){var t=void 0===arguments[0]?.5:arguments[0];return e.rf(0,1)<t?1:0}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(7),l=i(8),u=i(9),c=i(10),f=i(1).colors,d=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.type=this.constructor.name,this.settings=this.parseSettings(t,i,n),this.mouse={},this.wait=!1,this.colors={};var r=f();this.colors.accent=r.accent,this.colors.fill=r.fill,this.colors.light=r.light,this.colors.dark=r.dark,this.colors.mediumLight=r.mediumLight,this.colors.mediumDark=r.mediumDark}return r(e,t),n(e,{parseSettings:{value:function(t,e,i){e.unshift("target"),i.defaultSize=i.size.splice(0,2),i.size=!1;var n={target:document.body,colors:{},snapWithParent:!0,event:function(){},component:!1};for(var s in i)n[s]=i[s];for(var r=0;r<t.length;r++){var o=t[r];if(l.isObject(o))for(var s in o)n[s]=o[s];else if("function"==typeof o)n.event=o;else if(e.length>=1){var s=e.splice(0,1)[0];n[s]=o}}return this.parent=h.parseElement(n.target),this.parent&&this.parent instanceof HTMLElement&&!n.component&&(this.parent.hasAttribute("nexus-ui")||this.parent.setAttribute("nexus-ui","")),n.size&&Array.isArray(n.size)&&n.snapWithParent?(this.width=n.size[0],this.height=n.size[1],this.parent.style.width=this.width+"px",this.parent.style.height=this.height+"px"):n.snapWithParent&&!n.component?(this.width=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue("width").replace("px","")),this.height=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue("height").replace("px","")),5e3==this.width&&(this.width=n.defaultSize[0],this.parent.style.width=this.parent.width=this.width+"px"),5e3==this.height&&(this.height=n.defaultSize[1],this.parent.style.height=this.parent.height=this.height+"px")):(n.size=n.defaultSize,this.width=n.size[0],this.height=n.size[1]),n.event?this.event=this.on("change",n.event):this.event=!1,n}},init:{value:function(){this.buildFrame(),this.buildInterface(),this.sizeInterface(),this.attachListeners(),this.colorInterface(),this.finalTouches()}},buildFrame:{value:function(){this.element=a.create("svg"),this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){}},sizeInterface:{value:function(){}},colorInterface:{value:function(){}},attachListeners:{value:function(){var t=this;this.interactionTarget=this.interactionTarget||this.element,u.exists&&(this.interactionTarget.addEventListener("touchstart",function(e){return t.preTouch(e)}),this.interactionTarget.addEventListener("touchmove",function(e){return t.preTouchMove(e)}),this.interactionTarget.addEventListener("touchend",function(e){return t.preTouchRelease(e)})),this.boundPreMove=function(e){return t.preMove(e)},this.boundPreRelease=function(e){return t.preRelease(e)},this.interactionTarget.addEventListener("mousedown",function(e){return t.preClick(e)})}},finalTouches:{value:function(){this.element.style.cursor="pointer"}},preClick:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue("width").replace("px","")),this.offset=h.findPosition(this.element),this.mouse=h.locateMouse(t,this.offset),this.clicked=!0,this.click(),this.moveEvent=document.addEventListener("mousemove",this.boundPreMove),this.releaseEvent=document.addEventListener("mouseup",this.boundPreRelease),this.emit("click"),t.preventDefault(),t.stopPropagation()}},preMove:{value:function(t){var e=this;this.wait||(this.mouse=h.locateMouse(t,this.offset),this.move(),this.wait=!0,setTimeout(function(){e.wait=!1},25)),t.preventDefault(),t.stopPropagation()}},preRelease:{value:function(t){this.mouse=h.locateMouse(t,this.offset),this.clicked=!1,this.release(),this.emit("release"),document.removeEventListener("mousemove",this.boundPreMove),document.removeEventListener("mouseup",this.boundPreRelease),t.preventDefault(),t.stopPropagation()}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},preTouch:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue("width").replace("px","")),this.offset=h.findPosition(this.element),this.mouse=h.locateTouch(t,this.offset),this.clicked=!0,this.touch(t),this.emit("click"),t.preventDefault(),t.stopPropagation()}},preTouchMove:{value:function(t){this.clicked&&(this.mouse=h.locateTouch(t,this.offset),this.touchMove(),t.preventDefault(),t.stopPropagation())}},preTouchRelease:{value:function(t){this.mouse=h.locateTouch(t,this.offset),this.clicked=!1,this.touchRelease(),this.emit("release"),t.preventDefault(),t.stopPropagation()}},touch:{value:function(){this.click()}},touchMove:{value:function(){this.move()}},touchRelease:{value:function(){this.release()}},resize:{value:function(t,e){this.width=t,this.height=e,this.parent.style.width=this.width+"px",this.parent.style.height=this.height+"px",this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.sizeInterface()}},empty:{value:function(){for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild)}},destroy:{value:function(){this.empty(),this.parent.removeChild(this.element),this.removeAllListeners(),this.instrument&&delete this.instrument[this.id],this.customDestroy()}},customDestroy:{value:function(){}},colorize:{value:function(t,e){this.colors[t]=e,this.colorInterface()}}}),e}(c);t.exports=d},function(t,e){"use strict";e.findPosition=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX}},e.parseElement=function(t){return"string"==typeof t&&(t=document.getElementById(t.replace("#",""))),t instanceof HTMLElement||t instanceof SVGElement?t:"No valid parent argument"},e.locateMouse=function(t,e){return{x:t.pageX-e.left,y:t.pageY-e.top}},e.locateTouch=function(t,e){return{x:!!t.targetTouches.length&&t.targetTouches[0].pageX-e.left,y:!!t.targetTouches.length&&t.targetTouches[0].pageY-e.top}},e.SmartCanvas=function(t){var e=this;this.element=document.createElement("canvas"),this.context=this.element.getContext("2d"),t.appendChild(this.element),this.resize=function(t,i){e.element.width=2*t,e.element.height=2*i,e.element.style.width=t+"px",e.element.style.height=i+"px"}}},function(t,e){"use strict";e.isObject=function(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&t instanceof SVGElement==!1&&t instanceof HTMLElement==!1}},function(t,e){"use strict";e.exists="ontouchstart"in document.documentElement},function(t,e){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return"function"==typeof t}function s(t){return"number"==typeof t}function r(t){return"object"==typeof t&&null!==t}function o(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!s(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,i,s,a,h,l;if(this._events||(this._events={}),"error"===t&&(!this._events.error||r(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified "error" event. ('+e+")");throw u.context=e,u}if(i=this._events[t],o(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(r(i))for(a=Array.prototype.slice.call(arguments,1),l=i.slice(),s=l.length,h=0;h<s;h++)l[h].apply(this,a);return!0},i.prototype.addListener=function(t,e){var s;if(!n(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,n(e.listener)?e.listener:e),this._events[t]?r(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,r(this._events[t])&&!this._events[t].warned&&(s=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function i(){this.removeListener(t,i),s||(s=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var s=!1;return i.listener=e,this.on(t,i),this},i.prototype.removeListener=function(t,e){var i,s,o,a;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(i=this._events[t],o=i.length,s=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(r(i)){for(a=o;a-- >0;)if(i[a]===e||i[a].listener&&i[a].listener===e){s=a;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(s,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){return this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=i(5),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?1:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?0:arguments[3];s(this,t),this.min=e,this.max=i,this.step=n,this.value=r,this.changed=!1,this.oldValue=!1,this.update(this.value)}return n(t,{update:{value:function(t){return this.step?this.value=r.clip(Math.round((t-this.min)/this.step)*this.step+this.min,this.min,this.max):this.value=r.clip(t,this.min,this.max),this.oldValue!==this.value?(this.oldValue=this.value,this.changed=!0):this.changed=!1,this.value}},updateNormal:{value:function(t){return this.value=r.scale(t,0,1,this.min,this.max),this.update(this.value)}},normalized:{get:function(){return r.normalize(this.value,this.min,this.max)}}}),t}();t.exports=o},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};Object.defineProperty(e,"__esModule",{value:!0});var o=n(i(5)),a=n(i(13));e.Handle=function(){function t(){var e=void 0===arguments[0]?"absolute":arguments[0],i=void 0===arguments[1]?"vertical":arguments[1],n=void 0===arguments[2]?[0,100]:arguments[2],s=void 0===arguments[3]?[0,100]:arguments[3];r(this,t),this.mode=e,this.direction=i,this.previous=0,this.value=0,this.sensitivity=1,this.resize(n,s)}return s(t,{resize:{value:function(t,e){this.boundary={min:{x:t[0],y:e[0]},max:{x:t[1],y:e[1]},center:{x:(t[1]-t[0])/2+t[0],y:(e[1]-e[0])/2+e[0]}}}},anchor:{set:function(t){this._anchor=this.convertPositionToValue(t)},get:function(){return this._anchor}},update:{value:function(t){if("relative"===this.mode){var e=this.convertPositionToValue(t)-this.anchor;Math.abs(e)>.5&&(e=0),this.anchor=t,this.value=this.value+e*this.sensitivity}else this.value=this.convertPositionToValue(t);this.value=o.clip(this.value,0,1)}},convertPositionToValue:{value:function(t){switch(this.direction){case"radial":var e=o.toPolar(t.x-this.boundary.center.x,t.y-this.boundary.center.y);return e=e.angle/(2*Math.PI),e=(e-.25+1)%1;case"vertical":return o.scale(t.y,this.boundary.min.y,this.boundary.max.y,0,1);case"horizontal":return o.scale(t.x,this.boundary.min.x,this.boundary.max.x,0,1)}}}}),t}(),e.Button=function(){function t(){var e=void 0===arguments[0]?"button":arguments[0];r(this,t),this.mode=e,this.state=new a,this.paintbrush=!1}return s(t,{click:{value:function(){switch(this.mode){case"impulse":this.state.on(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.state.off.bind(this),30),this.emit("change",this.state);break;case"button":this.turnOn(),this.emit("change",this.state);break;case"aftertouch":this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.turnOn(),this.emit("change",{state:this.state,x:this.position.x,y:this.position.y});break;case"toggle":this.flip(),this.emit("change",this.state)}}},move:{value:function(){"aftertouch"===this.mode&&(this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},release:{value:function(){switch(this.mode){case"button":this.turnOff(),this.emit("change",this.state);break;case"aftertouch":this.turnOff(),this.position={x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this.emit("change",{state:this.state,x:this.position.x,y:this.position.y})}}}}),t}()},function(t,e){"use strict";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(e){n(this,t),this.state=e||!1}return i(t,{flip:{value:function(t){this.state=t||!1===t?t:!this.state}},on:{value:function(){this.state=!0}},off:{value:function(){this.state=!1}}}),t}();t.exports=s},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=["min","max","value"],i={size:[120,20],mode:"relative",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.orientation="vertical",this._value=new l(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.init(),this.position.direction=this.orientation,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.fillbar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.width<this.height?this.orientation="vertical":this.orientation="horizontal",this.position&&this.position.resize([0,this.width],[this.height,0]);var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},"vertical"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s="translate("+-1*this.thickness/2+",0)",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s="translate(0,"+-1*this.thickness/2+")",r=n/2),this.bar.setAttribute("x",t),this.bar.setAttribute("y",e),this.bar.setAttribute("transform",s),this.bar.setAttribute("rx",r),this.bar.setAttribute("ry",r),this.bar.setAttribute("width",i),this.bar.setAttribute("height",n),"vertical"===this.orientation?(this.fillbar.setAttribute("x",t),this.fillbar.setAttribute("y",this.knobData.level),this.fillbar.setAttribute("width",i),this.fillbar.setAttribute("height",n-this.knobData.level)):(this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("y",e),this.fillbar.setAttribute("width",this.knobData.level),this.fillbar.setAttribute("height",n)),this.fillbar.setAttribute("transform",s),this.fillbar.setAttribute("rx",r),this.fillbar.setAttribute("ry",r),"vertical"===this.orientation?(this.knob.setAttribute("cx",t),this.knob.setAttribute("cy",this.knobData.level)):(this.knob.setAttribute("cx",this.knobData.level),this.knob.setAttribute("cy",e)),this.knob.setAttribute("r",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute("fill",this.colors.fill),this.fillbar.setAttribute("fill",this.colors.accent),this.knob.setAttribute("fill",this.colors.accent)}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute("r",this.knobData.r),"vertical"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute("cy",this.height-this.knobData.level),this.fillbar.setAttribute("y",this.height-this.knobData.level),this.fillbar.setAttribute("height",this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute("cx",this.knobData.level),this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("width",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this._value.updateNormal(this.position.value),this.emit("change",this._value.value),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit("change",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(13),l=i(6),u=function(t){function e(){o(this,e);var t=["value"],i={size:[40,20],target:!1,state:!1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._state=new h(this.settings.state),this.init()}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.height<this.width/2?this.knobSize=this.height/2:this.knobSize=this.width/4,this.bar.setAttribute("x",this.width/2-1.5*this.knobSize),this.bar.setAttribute("y",this.height/2-this.knobSize/2),this.bar.setAttribute("rx",this.knobSize/2),this.bar.setAttribute("ry",this.knobSize/2),this.bar.setAttribute("width",3*this.knobSize),this.bar.setAttribute("height",this.knobSize),this.knob.setAttribute("cx",this.width/2-this.knobSize),this.knob.setAttribute("cy",this.height/2),this.knob.setAttribute("r",this.knobSize)}},colorInterface:{value:function(){this.knob.setAttribute("fill",this.colors.accent),this.render()}},render:{value:function(){this.state?(this.knob.setAttribute("cx",this.width/2+this.knobSize),this.bar.setAttribute("fill",this.colors.accent)):(this.knob.setAttribute("cx",this.width/2-this.knobSize),this.bar.setAttribute("fill",this.colors.fill))}},click:{value:function(){this.flip(),this.render(),this.emit("change",this.state)}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),this.emit("change",this.state),this.render()}},flip:{value:function(){this._state.flip(),this.render()}}}),e}(l);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(17),l=function(t){function e(){o(this,e);var t=["mode"],i={size:[80,80],mode:"aftertouch",state:!1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.mode=this.settings.mode,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create("circle"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.defs=a.create("defs"),this.element.appendChild(this.defs),this.gradient=a.radialGradient(this.defs,2),this.gradient.stops[0].setAttribute("offset","30%"),this.gradient.stops[1].setAttribute("offset","100%")}},sizeInterface:{value:function(){this.pad.setAttribute("cx",this.width/2),this.pad.setAttribute("cy",this.height/2),this.pad.setAttribute("r",Math.min(this.width,this.height)/2-this.width/40),this.pad.setAttribute("stroke-width",this.width/20)}},colorInterface:{value:function(){this.gradient.stops[0].setAttribute("stop-color",this.colors.accent),this.gradient.stops[1].setAttribute("stop-color",this.colors.fill),this.render()}},render:{value:function(){this.state?("aftertouch"===this.mode?(this.pad.setAttribute("stroke","url(#"+this.gradient.id+")"),this.gradient.element.setAttribute("cx",100*this.position.x+"%"),this.gradient.element.setAttribute("cy",100*(1-this.position.y)+"%")):this.pad.setAttribute("stroke",this.colors.accent),this.pad.setAttribute("fill",this.colors.accent)):(this.pad.setAttribute("fill",this.colors.fill),this.pad.setAttribute("stroke",this.colors.mediumLight))}}}),e}(h);t.exports=l},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(13),u=i(6),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,n),this.mode=this.settings.mode||"button",this.position={x:0,y:0},this._state=new l(this.settings.state)}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create("circle"),this.pad.setAttribute("fill","#d18"),this.pad.setAttribute("stroke","#d18"),this.pad.setAttribute("stroke-width",4),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.sizeInterface()}},sizeInterface:{value:function(){this.pad.setAttribute("cx",this.width/2),this.pad.setAttribute("cy",this.height/2),this.pad.setAttribute("r",Math.min(this.width,this.height)/2-2)}},render:{value:function(){this.state?(this.pad.setAttribute("fill",this.colors.accent),this.pad.setAttribute("stroke",this.colors.accent)):(this.pad.setAttribute("fill",this.colors.fill),this.pad.setAttribute("stroke",this.colors.mediumLight))}},down:{value:function(t){switch(this.mode){case"impulse":this.turnOn(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.turnOff.bind(this),30);break;case"button":this.turnOn();break;case"aftertouch":this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.turnOn();break;case"toggle":this.flip(t)}}},bend:{value:function(t){"aftertouch"===this.mode&&(this.mouse=t||this.mouse,this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},up:{value:function(){switch(this.mode){case"button":this.turnOff();break;case"aftertouch":this.turnOff(),this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)}}}},click:{value:function(){this.down()}},move:{value:function(){this.bend()}},release:{value:function(){this.up()}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),"aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state),this.render()}},flip:{value:function(t){this._state.flip(t),"aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state),this.render()}},turnOn:{value:function(t){this._state.on(),!1!==t&&("aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state)),this.render()}},turnOff:{value:function(t){this._state.off(),!1!==t&&("aftertouch"===this.mode?this.emit("change",{state:this.state,x:this.position.x,y:this.position.y}):this.emit("change",this.state)),this.render()}}}),e}(u);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(17),h=function(t){function e(){o(this,e);var t=["value"],i={size:[150,50],state:!1,text:"Play"};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._text=this.settings.text,this.settings.alternate&&(this.settings.alternateText=this.settings.alternate,console.warn("'alternate' initiator is deprecated. Use 'alternateText' instead.")),this._alternateText=this.settings.alternateText,this.mode=this.settings.alternateText?"toggle":"button",this.init(),this.render(),this.state=this.settings.state}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.parent.appendChild(this.element),this.textElement=document.createElement("div"),this.textElement.innerHTML=this._text,this.element.appendChild(this.textElement)}},buildInterface:{value:function(){}},colorInterface:{value:function(){this.element.style.color=this.colors.dark,this.render()}},sizeInterface:{value:function(){var t=this.height/3,e=this.width/(this._text.length+2);if(t=Math.min(t,e),this.alternateText){var i=this.width/(this.alternateText.length+2);t=Math.min(t,i)}var n="width: "+this.width+"px;";n+="height: "+this.height+"px;",n+="padding: "+(this.height-t)/2+"px 0px;",n+="box-sizing: border-box;",n+="text-align: center;",n+="font-family: inherit;",n+="font-weight: 700;",n+="opacity: 1;",n+="font-size:"+t+"px;",this.textElement.style.cssText=n,this.render()}},render:{value:function(){this.state?(this.element.style.backgroundColor=this.colors.accent,this.textElement.style.color=this.colors.fill,this.alternateText?this.textElement.innerHTML=this._alternateText:this.textElement.innerHTML=this._text):(this.element.style.backgroundColor=this.colors.fill,this.textElement.style.color=this.colors.dark,this.textElement.innerHTML=this._text)}},alternateText:{get:function(){return this._alternateText},set:function(t){this.mode=t?"toggle":"button",this._alternateText=t,this.render()}},text:{get:function(){return this._text},set:function(t){this._text=t,this.sizeInterface(),this.render()}}}),e}(a);t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(6),h=i(16),l=function(t){function e(){o(this,e);var t=["value"],i={size:[120,25],numberOfButtons:4,active:-1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.buttons=[],this._numberOfButtons=this.settings.numberOfButtons,this.active=this.settings.active,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++){var e=document.createElement("span"),i=new h(e,{mode:"toggle",component:!0},this.update.bind(this,t));this.buttons.push(i),this.element.appendChild(e)}}},sizeInterface:{value:function(){for(var t=this.width/this._numberOfButtons,e=this.height,i=0;i<this._numberOfButtons;i++)this.buttons[i].resize(t,e)}},colorInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++)this.buttons[t].colors=this.colors,this.buttons[t].render()}},update:{value:function(t){this.buttons[t].state?this.select(t):this.deselect()}},render:{value:function(){for(var t=0;t<this.buttons.length;t++)t===this.active?this.buttons[t].turnOn(!1):this.buttons[t].turnOff(!1)}},select:{value:function(t){t>=0&&t<this.buttons.length&&(this.active=t,this.emit("change",this.active),this.render())}},deselect:{value:function(){this.active=-1,this.emit("change",this.active),this.render()}},numberOfButtons:{get:function(){return this._numberOfButtons},set:function(t){this._numberOfButtons=t;for(var e=0;e<this.buttons.length;e++)this.buttons[e].destroy();this.buttons=[],this.empty(),this.buildInterface()}}}),e}(a);t.exports=l},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(6),h=i(11),l=i(5),u=function(t){function e(){o(this,e);var t=["value"],i={size:[60,30],value:0,min:0,max:2e4,step:1};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._value=new h(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.decimalPlaces=2,this.actual=0,this.max=this._value.max,this.min=this._value.min,this.step=this._value.step,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("input"),this.element.type="text",this.element.addEventListener("blur",function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.value!==this.value&&(this.value=parseFloat(this.element.value),this.render())}.bind(this)),this.element.addEventListener("keydown",function(t){(t.which<48||t.which>57)&&189!==t.which&&190!==t.which&&8!==t.which&&t.preventDefault(),13===t.which&&(this.element.blur(),this.value=this.element.value,this.emit("change",this.value),this.render())}.bind(this)),this.parent.appendChild(this.element)}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height);var t="width: "+this.width+"px;";t+="height: "+this.height+"px;",t+="background-color: #e7e7e7;",t+="color: #333;",t+="font-family: arial;",t+="font-weight: 500;",t+="font-size:"+this._minDimension/2+"px;",t+="border: none;",t+="outline: none;",t+="padding: "+this._minDimension/4+"px "+this._minDimension/4+"px;",t+="box-sizing: border-box;",t+="userSelect: text;",t+="mozUserSelect: text;",t+="webkitUserSelect: text;",this.element.style.cssText+=t,this.element.value=this.value}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark}},render:{value:function(){this.element.value=l.prune(this.value,this.decimalPlaces)}},click:{value:function(){this.hasMoved=!1,this.element.readOnly=!0,this.actual=this.value,this.initial={y:this.mouse.y},this.changeFactor=l.invert(this.mouse.x/this.width),console.log(this.changeFactor)}},move:{value:function(){if(this.hasMoved=!0,this.clicked){var t=this.actual-(this.mouse.y-this.initial.y)*(l.clip(this.max-this.min,0,1e3)/200)*Math.pow(this.changeFactor,2);this.value=t,this.render(),this._value.changed&&this.emit("change",this.value)}}},release:{value:function(){this.hasMoved?document.body.focus():(this.element.readOnly=!1,this.element.focus(),this.element.setSelectionRange(0,this.element.value.length),this.element.style.backgroundColor=this.colors.accent,this.element.style.color=this.colors.light)}},link:{value:function(t){var e=this;this.min=t.min,this.max=t.max,this.step=t.step,t.on("change",function(t){e.passiveUpdate(t)}),this.on("change",function(e){t.value=e}),this.value=t.value}},passiveUpdate:{value:function(t){this._value.update(t),this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.emit("change",this.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}}}),e}(a);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(6),h=function(t){function e(){o(this,e);var t=["value"],i={size:[100,30],options:["default","options"]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._selectedIndex=-1,this._value=!1,this._options=this.settings.options,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("select"),this.element.style.fontSize=this.height/2+"px",this.element.style.outline="none",this.element.style.highlight="none",this.element.style.width=this.width+"px",this.element.style.height=this.height+"px",this.boundRender=this.render.bind(this),this.element.addEventListener("change",this.boundRender),this.parent.appendChild(this.element)}},attachListeners:{value:function(){}},buildInterface:{value:function(){this.defineOptions()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.style.border="solid 0px "+this.colors.mediumLight}},render:{value:function(){this._value=this.element.options[this.element.selectedIndex].text,this._selectedIndex=this.element.selectedIndex,this.emit("change",{value:this._value,index:this._selectedIndex})}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},defineOptions:{value:function(t){t&&(this._options=t);for(var e=this.element.options.length-1;e>=0;e--)this.element.remove(e);for(var e=0;e<this._options.length;e++)this.element.options.add(new Option(this._options[e],e))}},value:{get:function(){return this._value},set:function(t){this._value=t;for(var e=0;e<this.element.options.length;e++)if(t===this.element.options[e].text){this.selectedIndex=e;break}}},selectedIndex:{get:function(){return this._selectedIndex},set:function(t){this._selectedIndex=t,this.element.selectedIndex=t,this.render()}},customDestroy:{value:function(){this.element.removeEventListener("change",this.boundRender)}}}),e}(a);t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=["min","max","value"],i={size:[75,75],interaction:"radial",mode:"relative",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.interaction=this.settings.interaction,this._value=new u(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new c.Handle(this.settings.mode,this.interaction,[0,this.width],[this.height,0]),this.init(),this.value=this._value.value,this.position.value=this._value.normalized,this.previousAngle=!1,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.background=a.create("circle"),this.screw=a.create("circle"),this.handle=a.create("path"),this.handle2=a.create("path"),this.handleFill=a.create("path"),this.handle2Fill=a.create("path"),this.handleLine=a.create("path"),this.element.appendChild(this.background),this.element.appendChild(this.handle),this.element.appendChild(this.handle2),this.element.appendChild(this.handleFill),this.element.appendChild(this.handle2Fill),this.element.appendChild(this.handleLine),this.element.appendChild(this.screw)}},sizeInterface:{value:function(){this.position.resize([0,this.width],[this.height,0]);var t={x:this.width/2,y:this.height/2},e=Math.min(this.width,this.height);this.background.setAttribute("cx",t.x),this.background.setAttribute("cy",t.y),this.background.setAttribute("r",e/2-e/40),this.screw.setAttribute("cx",t.x),this.screw.setAttribute("cy",t.y),this.screw.setAttribute("r",e/12);var i=this.value,n={start:1.5*Math.PI,end:h.clip(h.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(t.x,t.y,e/2-e/40,n.start,n.end),o=a.arc(t.x,t.y,e/2-e/40,s.start,s.end);this.handle.setAttribute("d",r),this.handle.setAttribute("stroke-width",e/20),this.handle.setAttribute("fill","none"),this.handle2.setAttribute("d",o),this.handle2.setAttribute("stroke-width",e/20),this.handle2.setAttribute("fill","none"),r+=" L "+t.x+" "+t.y,this.handleFill.setAttribute("d",r),this.handleFill.setAttribute("fill-opacity","0.3"),o+=" L "+t.x+" "+t.y,this.handle2Fill.setAttribute("d",o),this.handle2Fill.setAttribute("fill-opacity","0.3");var l=void 0;l=i<.5?n.end:s.end;var u=t.x+Math.cos(l)*(e/2),c=t.y+Math.sin(l)*(e/2)*-1;this.handleLine.setAttribute("d","M "+t.x+" "+t.y+" L "+u+" "+c),this.handleLine.setAttribute("stroke-width",e/20)}},colorInterface:{value:function(){this.background.setAttribute("fill",this.colors.fill),this.screw.setAttribute("fill",this.colors.accent),this.handle.setAttribute("stroke",this.colors.accent),this.handle2.setAttribute("stroke",this.colors.accent),this.handleFill.setAttribute("fill",this.colors.accent),this.handle2Fill.setAttribute("fill",this.colors.accent),this.handleLine.setAttribute("stroke",this.colors.accent)}},render:{value:function(){var t=this._value.normalized,e={x:this.width/2,y:this.height/2},i=Math.min(this.width,this.height),n={start:1.5*Math.PI,end:h.clip(h.scale(t,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(t,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(e.x,e.y,i/2-i/40,n.start,n.end),o=a.arc(e.x,e.y,i/2-i/40,s.start,s.end);this.handle.setAttribute("d",r),this.handle2.setAttribute("d",o),r+=" L "+e.x+" "+e.y,this.handleFill.setAttribute("d",r),o+=" L "+e.x+" "+e.y,this.handle2Fill.setAttribute("d",o);var l=void 0;l=t<=.5?n.end:s.end;var u=e.x+Math.cos(l)*(i/2),c=e.y+Math.sin(l)*(i/2)*-1;this.handleLine.setAttribute("d","M "+e.x+" "+e.y+" L "+u+" "+c)}},click:{value:function(){"relative"===this.mode&&(this.previousAngle=!1),this.position.anchor=this.mouse,this.position.value=this._value.normalized,this.move()}},move:{value:function(){if(this.clicked){this.position.update(this.mouse);var t=this.position.value*Math.PI*2;t<0&&(t+=2*Math.PI),"relative"===this.mode&&!1!==this.previousAngle&&Math.abs(this.previousAngle-t)>2&&(t=this.previousAngle>3?2*Math.PI:0),this.previousAngle=t;var e=t/(2*Math.PI);this.value=this._value.updateNormal(e),"relative"===this.mode&&(this.position.value=e),this.emit("change",this._value.value),this.render()}}},release:{value:function(){}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit("change",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}},normalized:{get:function(){return this._value.normalized},set:function(t){this._value.updateNormal(t),this.emit("change",this.value)}}}),e}(l);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(17),u=i(9),c=function(t){function e(){o(this,e);var t=["value","note","color"],i={size:[80,80],target:!1,mode:"button",value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.note=this.settings.note,this.color=this.settings.color,this.colors={w:"#fff",b:"#666"},this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create("svg"),this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create("rect"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,u.exists||(this.click=function(){t.piano.interacting=!0,t.piano.paintbrush=!t.state,t.down(t.piano.paintbrush)},this.pad.addEventListener("mouseover",function(){t.piano.interacting&&t.down(t.piano.paintbrush)}),this.move=function(){t.piano.interacting&&t.bend()},this.release=function(){t.piano.interacting=!1},this.pad.addEventListener("mouseup",function(){t.piano.interacting&&t.up()}),this.pad.addEventListener("mouseout",function(){t.piano.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute("x",.5),this.pad.setAttribute("y",.5),this.width>2?this.pad.setAttribute("width",this.width-1):this.pad.setAttribute("width",this.width),this.height,this.pad.setAttribute("height",this.height),this.pad.setAttribute("rx",0),this.pad.setAttribute("ry",0)}},render:{value:function(){this.state?this.pad.setAttribute("fill",this.colors.accent):this.pad.setAttribute("fill",this.colors[this.color])}}}),e}(l),f=function(t){function e(){o(this,e);var t=["value"],i={size:[500,125],lowNote:24,highNote:60,mode:"button"};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.keyPattern=["w","b","w","b","w","w","b","w","b","w","b","w"],this.paintbrush=!1,this.mode=this.settings.mode,this.range={low:this.settings.lowNote,high:this.settings.highNote},this.range.size=this.range.high-this.range.low,this.keys=[],this.toggleTo=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.element.style.position="relative",this.element.style.borderRadius="0px",this.element.style.display="block",this.element.style.width="100%",this.element.style.height="100%",this.parent.appendChild(this.element)}},buildInterface:{value:function(){this.keys=[];for(var t=0;t<this.range.high-this.range.low;t++){var e=document.createElement("span"),i=(t+this.range.low)%this.keyPattern.length,n=new c(e,{component:!0,note:t+this.range.low,color:this.keyPattern[i],mode:this.mode},this.keyChange.bind(this,t+this.range.low));n.piano=this,u.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.keys.push(n),this.element.appendChild(e)}u.exists&&this.addTouchListeners()}},sizeInterface:{value:function(){for(var t=0,e=[],i=0;i<this.range.high-this.range.low;i++){e.push(t);var n=(i+this.range.low)%this.keyPattern.length,s=(i+1+this.range.low)%this.keyPattern.length;i+1+this.range.low>=this.range.high?t+=1:"w"===this.keyPattern[n]&&"w"===this.keyPattern[s]?t+=1:t+=.5}for(var r=t,o=(this.width-2)/r,a=(this.height-2)/2,i=0;i<this.keys.length;i++){var h=this.keys[i].parent;h.style.position="absolute",h.style.left=e[i]*o+1+"px","w"===this.keys[i].color?(h.style.top="1px",this.keys[i].resize(o,2*a)):(h.style.zIndex=1,h.style.top="1px",this.keys[i].resize(o,1.1*a))}}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.mediumLight;for(var t=0;t<this.keys.length;t++)this.keys[t].colors={w:this.colors.light,b:this.colors.dark,accent:this.colors.accent,border:this.colors.mediumLight},this.keys[t].colorInterface(),this.keys[t].render()}},keyChange:{value:function(t,e){var i={note:t};i.state="object"==typeof e?e.state:e,this.emit("change",i)}},render:{value:function(){}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener("touchstart",function(e){console.log("touchstart");var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchmove",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];if(i.index!==t.currentElement){if(t.currentElement){t.keys[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchend",function(e){t.keys[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},setRange:{value:function(t,e){this.range.low=t,this.range.high=e,this.empty(),this.buildInterface()}},toggleKey:{value:function(t,e){this.keys[t-this.range.low].flip(e)}},toggleIndex:{value:function(t,e){this.keys[t].flip(e)}}}),e}(h);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(7),l=i(6),u=i(17),c=i(25),f=i(28),d=i(9),v=function(t){function e(){o(this,e);var t=["value"],i={size:[80,80],target:!1,mode:"toggle",value:0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.index=this.settings.index,this.row=this.settings.row,this.column=this.settings.column,this.matrix=this.settings.matrix,this.interacting=!1,this.paintbrush=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create("svg"),this.element.setAttribute("width",this.width),this.element.setAttribute("height",this.height),this.element.style.top="0px",this.element.style.left="0px",this.element.style.position="absolute",this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create("rect"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,d.exists||(this.click=function(){t.matrix.interacting=!0,t.matrix.paintbrush=!t.state,t.down(t.matrix.paintbrush)},this.pad.addEventListener("mouseover",function(){t.matrix.interacting&&t.down(t.matrix.paintbrush)}),this.move=function(){},this.pad.addEventListener("mousemove",function(e){t.matrix.interacting&&(t.offset||(t.offset=h.findPosition(t.element)),t.mouse=h.locateMouse(e,t.offset),t.bend())}),this.release=function(){t.matrix.interacting=!1},this.pad.addEventListener("mouseup",function(){t.matrix.interacting&&t.up()}),this.pad.addEventListener("mouseout",function(){t.matrix.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute("x",1),this.pad.setAttribute("y",1),this.width>2?this.pad.setAttribute("width",this.width-2):this.pad.setAttribute("width",this.width),this.height>2?this.pad.setAttribute("height",this.height-2):this.pad.setAttribute("height",this.height),this.pad.setAttribute("fill",this.matrix.colors.fill)}},render:{value:function(){this.state?this.pad.setAttribute("fill",this.matrix.colors.accent):this.pad.setAttribute("fill",this.matrix.colors.fill)}}}),e}(u),p=function(t){function e(){o(this,e);var t=["value"],i={size:[400,200],mode:"toggle",rows:5,columns:10};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.active=-1,this.mode=this.settings.mode,this.interval=new Nexus.Interval(200,function(){},!1),this.matrix=new c(this.settings.rows,this.settings.columns),this.matrix.ui=this,this.stepper=new f(0,this.columns),this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.element.style.position="relative",this.element.style.display="block",this.element.style.width="100%",this.element.style.height="100%",this.parent.appendChild(this.element),d.exists&&this.addTouchListeners()}},buildInterface:{value:function(){this.cells=[];for(var t=0;t<this.matrix.length;t++){var e=this.matrix.locate(t),i=document.createElement("span");i.style.position="absolute";var n=new v(i,{component:!0,index:t,row:e.row,column:e.column,mode:this.mode,matrix:this},this.keyChange.bind(this,t));d.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.cells.push(n),this.element.appendChild(i)}this.sizeInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.columns,e=this.height/this.rows,i=0;i<this.cells.length;i++){var n=this.cells[i].parent;n.style.left=this.cells[i].column*t+"px",n.style.top=this.cells[i].row*e+"px",this.cells[i].resize(t,e)}}},colorInterface:{value:function(){for(var t=0;t<this.cells.length;t++)this.cells[t].render()}},update:{value:function(){var t=this;this.matrix.iterate(function(e,i,n){t.matrix.pattern[e][i]!==t.cells[n].state&&(t.matrix.pattern[e][i]>0?t.cells[n].turnOn():t.cells[n].turnOff())})}},keyChange:{value:function(t,e){var i=this.matrix.locate(t);this.matrix.pattern[i.row][i.column]=e;var n={row:i.row,column:i.column,state:e};this.emit("change",n)}},render:{value:function(){var t=this;this.stepper.value>=0&&this.matrix.iterate(function(e,i,n){i===t.stepper.value?(t.cells[n].pad.setAttribute("stroke",t.colors.mediumLight),t.cells[n].pad.setAttribute("stroke-width","1"),t.cells[n].pad.setAttribute("stroke-opacity","1")):t.cells[n].pad.setAttribute("stroke","none")})}},start:{value:function(t){this.interval.event=this.next.bind(this),t&&this.interval.ms(t),this.interval.start()}},stop:{value:function(){this.interval.stop()}},next:{value:function(){this.stepper.next(),this.emit("step",this.matrix.column(this.stepper.value).reverse()),this.render()}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener("touchstart",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchmove",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];if(i.index!==t.currentElement){if(t.currentElement>=0){t.cells[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchend",function(e){t.cells[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},rows:{get:function(){return this.matrix.rows},set:function(t){this.matrix.rows=t,this.empty(),this.buildInterface(),this.update()}},columns:{get:function(){return this.matrix.columns},set:function(t){this.matrix.columns=t,this.stepper.max=t,this.empty(),this.buildInterface(),this.update()}}}),e}(l);t.exports=p},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=n(i(5)),a=n(i(26)),h=function(){function t(e,i){var n=this;r(this,t),this.pattern=[],this.create(e,i),this.toggle={cell:function(t,e){return n.pattern[e][t]=!n.pattern[e][t],n.ui&&n.ui.update(),n.pattern[e][t]},all:function(){n.iterate(function(t,e){n.toggle.cell(e,t)}),n.ui&&n.ui.update()},row:function(t){for(var e=0;e<n.columns;e++)n.toggle.cell(e,t);n.ui&&n.ui.update()},column:function(t){for(var e=0;e<n.rows;e++)n.toggle.cell(t,e);n.ui&&n.ui.update()}},this.set={cell:function(t,e,i){n.pattern[e][t]=i,n.ui&&n.ui.update()},all:function(t){n.pattern=t,n.ui&&n.ui.update()},row:function(t,e){n.pattern[t]=e,n.ui&&n.ui.update()},column:function(t,e){n.pattern.forEach(function(i,s){n.pattern[s][t]=e[s]}),n.ui&&n.ui.update()}},this.rotate={all:function(t){t||0===t||(t=1),(t%=n.pattern[0].length)<0&&(t=n.pattern[0].length+t);for(var e=0;e<n.rows;e++){var i=n.pattern[e].splice(n.pattern[e].length-t,t);n.pattern[e]=i.concat(n.pattern[e])}n.ui&&n.ui.update()},row:function(t,e){e||0===e||(e=1),(e%=n.pattern[0].length)<0&&(e=n.pattern[0].length+e);var i=n.pattern[t].splice(n.pattern[t].length-e,e);n.pattern[t]=i.concat(n.pattern[t]),n.ui&&n.ui.update()},column:function(t,e){e||0===e||(e=1),(e%=n.pattern.length)<0&&(e=n.pattern.length+e);var i=[];n.pattern.forEach(function(e){i.push(e[t])});var s=i.splice(i.length-e,e);i=s.concat(i),n.pattern.forEach(function(e,n){e[t]=i[n]}),n.ui&&n.ui.update()}},this.populate={all:function(t){var e=new a(t);n.iterate(function(t,i){n.pattern[t][i]=o.coin(e.next())}),n.ui&&n.ui.update()},row:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern[t].forEach(function(e,s){n.pattern[t][s]=o.coin(i.next())}),n.ui&&n.ui.update()},column:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern.forEach(function(e,s){n.pattern[s][t]=o.coin(i.next())}),n.ui&&n.ui.update()}},this.erase={all:function(){n.set.all(0)},row:function(t){n.set.row(t,0)},column:function(t){n.set.column(t,0)}}}return s(t,{create:{value:function(t,e){var i=this;this.pattern=[];for(var n=0;n<t;n++){var s=new Array(e);this.pattern.push(s)}this.iterate(function(t,e){i.pattern[t][e]=!1})}},iterate:{value:function(t,e){for(var i=0,n=0;n<this.rows;n++){e&&e(n);for(var s=0;s<this.columns;s++)t(n,s,i),i++}}},formatAsText:{value:function(){var t=this,e="";return this.iterate(function(i,n){e+=(t.pattern[i][n]?1:0)+" "},function(){e+="\n"}),e}},log:{value:function(){console.log(this.formatAsText())}},update:{value:function(t){this.pattern=t||this.pattern}},length:{get:function(){return this.rows*this.columns}},locate:{value:function(t){return{row:~~(t/this.columns),column:t%this.columns}}},indexOf:{value:function(t,e){return e+t*this.columns}},row:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.columns;i++)e.push(this.pattern[t]?1:0);return e})},column:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.rows;i++)e.push(this.pattern[i][t]?1:0);return e})},rows:{get:function(){return this.pattern.length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(t,this.columns),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}},columns:{get:function(){return this.pattern[0].length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(this.rows,t),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?[0,10,20,30]:arguments[0],i=void 0===arguments[1]?"up":arguments[1],n=void 0!==arguments[2]&&arguments[2];r(this,t),this.values=e,Array.isArray(this.values)||(this.values=[this.values]),this._mode=i,this.position=n,this.drunkWalk=new a(0,this.values.length-1),this.startValues={up:0,down:this.values.length-1,drunk:~~(this.values.length/2),random:o.ri(this.values.length)},!1!==this.position?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{get:function(){return this._mode},set:function(t){if("up"!==t&&"down"!==t&&"random"!==t&&"drunk"!==t)return void console.error("The only modes currently allowed are: up, down, random, drunk");this._mode=t,this.position&&(this.next=this[this._mode])}},value:{get:function(){return this.values[this.position]},set:function(t){this.position=this.values.indexOf(t)}},first:{value:function(){return!1!==this.position?(this.next=this[this._mode],this.next()):(this.position=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.position++,this.position%=this.values.length,this.value}},down:{value:function(){return this.position--,this.position<0&&(this.position=(this.position+this.values.length)%this.values.length),this.value}},random:{value:function(){return this.position=o.ri(0,this.values.length),this.value}},drunk:{value:function(){return this.drunkWalk.max=this.values.length,this.drunkWalk.value=this.position,this.position=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?9:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?1:arguments[3],o=void 0!==arguments[4]&&arguments[4];s(this,t),this.min=e,this.max=i,this.value=n,this.increment=r,this.loop=o}return n(t,{next:{value:function(){return this.value+=r.pick(-1*this.increment,this.increment),this.value>this.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value<this.min&&(this.loop?this.value=this.max:this.value=this.min+this.increment),this.value}}}),t}();t.exports=o},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?10:arguments[1],n=void 0===arguments[2]?"up":arguments[2],s=void 0!==arguments[3]&&arguments[3];r(this,t),this.min=e,this.max=i,this.value=s,this.mode=n,this.drunkWalk=new a(this.min,this.max),!1!==this.value?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{set:function(t){if("up"!==t&&"down"!==t&&"random"!==t&&"drunk"!==t)return void console.error("The only modes currently allowed are: up, down, random, drunk");this._mode=t,this.value&&(this.next=this[this._mode])},get:function(){return this._mode}},first:{value:function(){return!1!==this.value?(this.next=this[this._mode],this.next()):(this.startValues={up:this.min,down:this.max,drunk:~~o.average(this.min,this.max),random:o.ri(this.min,this.max)},this.value=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.value++,this.value>=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value<this.min&&(this.value=this.max),this.value}},random:{value:function(){return this.value=o.ri(this.min,this.max),this.value}},drunk:{value:function(){return this.drunkWalk.min=this.min,this.drunkWalk.max=this.max,this.drunkWalk.value=this.value,this.value=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=["range"],i={size:[200,200],range:.5,mode:"absolute",speakers:[[.5,.2],[.75,.25],[.8,.5],[.75,.75],[.5,.8],[.25,.75],[.2,.5],[.25,.25]]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.value={x:new u(0,1,0,.5),y:new u(0,1,0,.5)},this.mode=this.settings.mode,this.position={x:new c.Handle(this.mode,"horizontal",[0,this.width],[this.height,0]),y:new c.Handle(this.mode,"vertical",[0,this.width],[this.height,0])},this.position.x.value=this.value.x.normalized,this.position.y.value=this.value.y.normalized,this.speakers=this.settings.speakers,this.range=this.settings.range,this.levels=[],this.init(),this.calculateLevels(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create("circle"),this.element.appendChild(this.knob),this.speakerElements=[];for(var t=0;t<this.speakers.length;t++){var e=a.create("circle");this.element.appendChild(e),this.speakerElements.push(e)}}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:3*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute("cx",this.width/2),this.knob.setAttribute("cy",this.height/2),this.knob.setAttribute("r",this.knobRadius.off);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t],i=this.speakers[t];e.setAttribute("cx",i[0]*this.width),e.setAttribute("cy",i[1]*this.height),e.setAttribute("r",this._minDimension/20+5),e.setAttribute("fill-opacity","0")}this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this.calculateLevels(),this.render()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute("fill",this.colors.mediumLight);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t];e.setAttribute("fill",this.colors.accent),e.setAttribute("stroke",this.colors.accent)}}},render:{value:function(){this.knobCoordinates={x:this.value.x.normalized*this.width,y:this.height-this.value.y.normalized*this.height},this.knob.setAttribute("cx",this.knobCoordinates.x),this.knob.setAttribute("cy",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this.calculateLevels(),this.emit("change",this.levels),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return{x:this.value.x.normalized,y:this.value.y.normalized}}},calculateLevels:{value:function(){var t=this;this.value.x.updateNormal(this.position.x.value),this.value.y.updateNormal(this.position.y.value),this.levels=[],this.speakers.forEach(function(e,i){var n=h.distance(e[0]*t.width,e[1]*t.height,t.position.x.value*t.width,(1-t.position.y.value)*t.height),s=h.clip(1-n/(t.range*t.width),0,1);t.levels.push(s),t.speakerElements[i].setAttribute("fill-opacity",s)})}},moveSource:{value:function(t,e){var i={x:t*this.width,y:e*this.height};this.position.x.update(i),this.position.y.update(i),this.calculateLevels(),this.emit("change",this.levels),this.render()}},moveSpeaker:{value:function(t,e,i){this.speakers[t]=[e,i],this.speakerElements[t].setAttribute("cx",e*this.width),this.speakerElements[t].setAttribute("cy",i*this.height),this.calculateLevels(),this.emit("change",this.levels),this.render()}}}),e}(l);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(5),h=i(4),l=i(6),u=function(t){function e(){o(this,e);var t=["value"],i={size:[80,80]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._active=!0,this.init(),this.boundUpdate=this.update.bind(this),window.DeviceOrientationEvent?this.orientationListener=window.addEventListener("deviceorientation",this.boundUpdate,!1):(this._active=!1,this.colorInterface())}return r(e,t),n(e,{buildInterface:{value:function(){this.title=h.create("text"),this.circleX=h.create("circle"),this.circleY=h.create("circle"),this.circleZ=h.create("circle"),this.barX=h.create("path"),this.barY=h.create("path"),this.barZ=h.create("path"),this.barX2=h.create("path"),this.barY2=h.create("path"),this.barZ2=h.create("path"),this.barX.setAttribute("opacity","0.8"),this.barY.setAttribute("opacity","0.8"),this.barZ.setAttribute("opacity","0.8"),this.barX2.setAttribute("opacity","0.8"),this.barY2.setAttribute("opacity","0.8"),this.barZ2.setAttribute("opacity","0.8"),this.circleX.setAttribute("cx",3*this.width/12),this.circleX.setAttribute("cy",3*this.height/4),this.circleX.setAttribute("r",this.height/10),this.circleX.setAttribute("opacity","0.4"),this.circleY.setAttribute("cx",6*this.width/12),this.circleY.setAttribute("cy",3*this.height/4),this.circleY.setAttribute("r",this.height/10),this.circleY.setAttribute("opacity","0.4"),this.circleZ.setAttribute("cx",9*this.width/12),this.circleZ.setAttribute("cy",3*this.height/4),this.circleZ.setAttribute("r",this.height/10),this.circleZ.setAttribute("opacity","0.4"),this.barX.setAttribute("stroke-width",Math.round(this.height/30)),this.barY.setAttribute("stroke-width",Math.round(this.height/30)),this.barZ.setAttribute("stroke-width",Math.round(this.height/30)),this.barX.setAttribute("fill","none"),this.barY.setAttribute("fill","none"),this.barZ.setAttribute("fill","none"),this.barX2.setAttribute("stroke-width",Math.round(this.height/30)),this.barY2.setAttribute("stroke-width",Math.round(this.height/30)),this.barZ2.setAttribute("stroke-width",Math.round(this.height/30)),this.barX2.setAttribute("fill","none"),this.barY2.setAttribute("fill","none"),this.barZ2.setAttribute("fill","none"),this.title.setAttribute("x",this.width/2),this.title.setAttribute("y",this.height/3+7),this.title.setAttribute("font-size","15px"),this.title.setAttribute("font-weight","bold"),this.title.setAttribute("letter-spacing","2px"),this.title.setAttribute("opacity","0.7"),this.title.setAttribute("text-anchor","middle"),this.title.textContent="TILT",this.element.appendChild(this.circleX),this.element.appendChild(this.circleY),this.element.appendChild(this.circleZ),this.element.appendChild(this.barX),this.element.appendChild(this.barY),this.element.appendChild(this.barZ),this.element.appendChild(this.barX2),this.element.appendChild(this.barY2),this.element.appendChild(this.barZ2),this.element.appendChild(this.title)}},colorInterface:{value:function(){this._active?(this.element.style.backgroundColor=this.colors.accent,this.circleX.setAttribute("fill",this.colors.light),this.circleY.setAttribute("fill",this.colors.light),this.circleZ.setAttribute("fill",this.colors.light),this.circleX.setAttribute("stroke",this.colors.light),this.circleY.setAttribute("stroke",this.colors.light),this.circleZ.setAttribute("stroke",this.colors.light),this.barX.setAttribute("stroke",this.colors.light),this.barY.setAttribute("stroke",this.colors.light),this.barZ.setAttribute("stroke",this.colors.light),this.barX2.setAttribute("stroke",this.colors.light),this.barY2.setAttribute("stroke",this.colors.light),this.barZ2.setAttribute("stroke",this.colors.light),this.title.setAttribute("fill",this.colors.light)):(this.element.style.backgroundColor=this.colors.fill,this.circleX.setAttribute("fill",this.colors.mediumLight),this.circleY.setAttribute("fill",this.colors.mediumLight),this.circleZ.setAttribute("fill",this.colors.mediumLight),this.circleX.setAttribute("stroke",this.colors.mediumLight),this.circleY.setAttribute("stroke",this.colors.mediumLight),this.circleZ.setAttribute("stroke",this.colors.mediumLight),this.barX.setAttribute("stroke",this.colors.mediumLight),this.barY.setAttribute("stroke",this.colors.mediumLight),this.barZ.setAttribute("stroke",this.colors.mediumLight),this.barX2.setAttribute("stroke",this.colors.mediumLight),this.barY2.setAttribute("stroke",this.colors.mediumLight),this.barZ2.setAttribute("stroke",this.colors.mediumLight),this.title.setAttribute("fill",this.colors.mediumLight))}},update:{value:function(t){if(this._active){var e=t.beta,i=t.gamma,n=t.alpha;i=a.scale(i,-90,90,0,1),e=a.scale(e,-90,90,0,1),n=a.scale(n,0,360,0,1);var s={start:1.5*Math.PI,end:a.clip(a.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,s.start,s.end),l=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,r.start,r.end);this.barX.setAttribute("d",o),this.barX2.setAttribute("d",l),s={start:1.5*Math.PI,end:a.clip(a.scale(e,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(e,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,s.start,s.end),l=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,r.start,r.end),this.barY.setAttribute("d",o),this.barY2.setAttribute("d",l),s={start:1.5*Math.PI,end:a.clip(a.scale(n,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(n,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,s.start,s.end),l=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,r.start,r.end),this.barZ.setAttribute("d",o),this.barZ2.setAttribute("d",l),this.emit("change",{x:i,y:e,z:n})}}},click:{value:function(){window.DeviceOrientationEvent&&(this.active=!this.active)}},active:{get:function(){return this._active},set:function(t){this._active=t,this.colorInterface()}},customDestroy:{value:function(){window.removeEventListener("deviceorientation",this.boundUpdate,!1)}}}),e}(l);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(5),l=i(6),u=i(32),c=i(9),f=function(t){function e(){var t=this;o(this,e);var i=["scale","value"],n={size:[120,20],orientation:"vertical",mode:"absolute",scale:[0,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,i,n),c.exists||(this.click=function(){t.multislider.interacting=!0,t.multislider.interpolation={index:t.index,value:t.value},t.down(),t.multislider.values[t.index]=t.value},this.element.addEventListener("mouseover",function(e){if(t.multislider.interacting){if(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.down(),t.multislider.values[t.index]=t.value,t.multislider.interpolation){var i=Math.abs(t.multislider.interpolation.index-t.index);if(i>1)for(var n=Math.min(t.multislider.interpolation.index,t.index),s=Math.max(t.multislider.interpolation.index,t.index),r=t.multislider.sliders[n].value,o=t.multislider.sliders[s].value,l=n;l<s;l++){t.multislider.sliders[l].value=h.interp((l-n)/i,r,o);var u=t.multislider.sliders[l].value;t.multislider.values[l]=u,t.multislider.update(l,u)}}t.multislider.interpolation={index:t.index,value:t.value}}}),this.move=function(){},this.element.addEventListener("mousemove",function(e){t.multislider.interacting&&(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.slide(),t.multislider.values[t.index]=t.value)}),this.release=function(){t.multislider.interacting=!1,t.multislider.interpolation=!1},this.element.addEventListener("mouseup",function(){t.multislider.interacting&&(t.up(),t.multislider.interpolation=!1,t.multislider.values[t.index]=t.value)}),this.element.addEventListener("mouseout",function(){t.multislider.interacting&&(t.up(),t.multislider.values[t.index]=t.value)})),this.customStyle()}return r(e,t),n(e,{customStyle:{value:function(){this.bar.setAttribute("x",0),this.bar.setAttribute("transform","translate(0,0)"),this.bar.setAttribute("rx",0),this.bar.setAttribute("ry",0),this.bar.setAttribute("width",this.width),this.bar.setAttribute("height",this.height),this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("transform","translate(0,0)"),this.fillbar.setAttribute("rx",0),this.fillbar.setAttribute("ry",0),this.fillbar.setAttribute("width",this.width),this.fillbar.setAttribute("height",this.height)}}}),e}(u),d=function(t){function e(){o(this,e);var t=["value"],i={size:[200,100],numberOfSliders:5,min:0,max:1,step:0,values:[.7,.7,.7,.7,.7]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this._numberOfSliders=this.settings.numberOfSliders,this.values=this.settings.values,this.sliders=[],this.interacting=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement("div"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this.settings.min,e=this.settings.max,i=this.settings.step;this.sliders.length&&(t=this.sliders[0].min,e=this.sliders[0].max,i=this.sliders[0].step),this.sliders=[];for(var n=0;n<this._numberOfSliders;n++){var s=document.createElement("span"),r=new f(s,{scale:[t,e],step:i,mode:"absolute",orientation:"vertical",value:this.values[n],hasKnob:!1,component:!0},this.update.bind(this,n));r.multislider=this,r.index=n,c.exists&&(r.bar.index=n,r.fillbar.index=n,r.preClick=r.preMove=r.preRelease=function(){},r.click=r.move=r.release=function(){},r.preTouch=r.preTouchMove=r.preTouchRelease=function(){},r.touch=r.touchMove=r.touchRelease=function(){}),this.sliders.push(r),this.element.appendChild(s)}c.exists&&this.addTouchListeners()}},colorInterface:{value:function(){for(var t=0;t<this.sliders.length;t++)this.sliders[t].colors=this.colors,this.sliders[t].colorInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.sliders.length,e=this.height,i=0;i<this.sliders.length;i++)this.sliders[i].resize(t,e),this.sliders[i].customStyle()}},update:{value:function(t,e){this.emit("change",{index:t,value:e})}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener("touchstart",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),n.down(),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchmove",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];if(n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),i.index!==t.currentElement){if(t.currentElement>=0){t.sliders[t.currentElement].up()}n.down()}else n.slide();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener("touchend",function(e){t.sliders[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},numberOfSliders:{get:function(){return this.sliders.length},set:function(t){t!==this.sliders.length&&(this.sliders.forEach(function(t){t.destroy()}),this.empty(),this._numberOfSliders=t,this.buildInterface())}},min:{get:function(){return this.sliders[0].min},set:function(t){this.sliders.forEach(function(e){e.min=t})}},max:{get:function(){return this.sliders[0].max},set:function(t){this.sliders.forEach(function(e){e.max=t})}},step:{get:function(){return this.sliders[0].step},set:function(t){this.sliders.forEach(function(e){e.step=t})}},setSlider:{value:function(t,e){this.sliders[t].value=e,this.emit("change",{index:t,value:e})}},setAllSliders:{value:function(t){var e=this;this.values=t,this.sliders.forEach(function(i,n){i.value=t[n%t.length],e.emit("change",{index:n,value:i.value})})}}}),e}(l);t.exports=d},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,n),this.orientation=this.settings.orientation,this.hasKnob=this.settings.hasKnob,this._value=new l(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.fillbar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob),this.sizeInterface()}},sizeInterface:{value:function(){this.settings.orientation||(this.width<this.height?this.orientation="vertical":this.orientation="horizontal");var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},"vertical"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.normalized*n,s="translate("+-1*this.thickness/2+",0)",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*i,s="translate(0,"+-1*this.thickness/2+")",r=n/2),this.bar.setAttribute("x",t),this.bar.setAttribute("y",e),this.bar.setAttribute("transform",s),this.bar.setAttribute("rx",r),this.bar.setAttribute("ry",r),this.bar.setAttribute("width",i),this.bar.setAttribute("height",n),"vertical"===this.orientation?(this.fillbar.setAttribute("x",t),this.fillbar.setAttribute("y",this.knobData.level),this.fillbar.setAttribute("width",i),this.fillbar.setAttribute("height",n-this.knobData.level)):(this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("y",e),this.fillbar.setAttribute("width",this.knobData.level),this.fillbar.setAttribute("height",n)),this.fillbar.setAttribute("transform",s),this.fillbar.setAttribute("rx",r),this.fillbar.setAttribute("ry",r),"vertical"===this.orientation?(this.knob.setAttribute("cx",t),this.knob.setAttribute("cy",this.knobData.level)):(this.knob.setAttribute("cx",this.knobData.level),this.knob.setAttribute("cy",e)),this.knob.setAttribute("r",this.knobData.r),this.position&&this.position.resize([0,this.width],[this.height,0])}},colorInterface:{value:function(){this.bar.setAttribute("fill",this.colors.fill),this.fillbar.setAttribute("fill",this.colors.accent),this.knob.setAttribute("fill",this.colors.accent),this.hasKnob||this.knob.setAttribute("fill","none")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute("r",this.knobData.r),"vertical"===this.orientation?(this.knobData.level=this._value.normalized*this.height,this.knob.setAttribute("cy",this.height-this.knobData.level),this.fillbar.setAttribute("y",this.height-this.knobData.level),this.fillbar.setAttribute("height",this.knobData.level)):(this.knobData.level=this._value.normalized*this.width,this.knob.setAttribute("cx",this.knobData.level),this.fillbar.setAttribute("x",0),this.fillbar.setAttribute("width",this.knobData.level))}},down:{value:function(){this.clicked=!0,this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.slide()}},slide:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit("change",this.value))}},up:{value:function(){this.clicked=!1,this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[120,20],orientation:"horizontal",mode:"relative",scale:[-1,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.orientation=this.settings.orientation,this.mode=this.settings.mode,this.hasKnob=this.settings.hasKnob,this.step=this.settings.step,this._value=new u(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new c.Handle(this.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit("change",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create("rect"),this.knob=a.create("circle"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position&&this.position.resize([0,this.width],[this.height,0]),this.width<this.height?this.orientation="vertical":this.orientation="horizontal";var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},"vertical"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s="translate("+-1*this.thickness/2+",0)",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s="translate(0,"+-1*this.thickness/2+")",r=n/2),this.bar.setAttribute("x",t),this.bar.setAttribute("y",e),this.bar.setAttribute("transform",s),this.bar.setAttribute("rx",r),this.bar.setAttribute("ry",r),this.bar.setAttribute("width",i),this.bar.setAttribute("height",n),"vertical"===this.orientation?(this.knob.setAttribute("cx",t),this.knob.setAttribute("cy",this.knobData.level)):(this.knob.setAttribute("cx",this.knobData.level),this.knob.setAttribute("cy",e)),this.knob.setAttribute("r",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute("fill",this.colors.fill),this.knob.setAttribute("fill",this.colors.accent),this.hasKnob||this.knob.setAttribute("fill","transparent")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute("r",this.knobData.r),"vertical"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute("cy",this.height-this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute("cx",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit("change",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}))}},release:{value:function(){this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit("change",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}),this.render()}},normalized:{get:function(){return this._value.normalized}}}),e}(l);t.exports=f},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(5),h=i(4),l=i(6),u=function(t,e){this.x=t.x,this.y=t.y,this.envelope=e,this.element=h.create("circle"),this.element.setAttribute("fill",this.envelope.colors.accent),this.envelope.element.appendChild(this.element),this.resize=function(){var t=2+~~(Math.min(this.envelope.width,this.envelope.height)/50);this.element.setAttribute("r",t)},this.move=function(t,e){if(this.x=t||0===t?t:this.x,this.y=e||0===e?e:this.y,this.envelope.nodes.indexOf(this)>=0){var i=this.envelope.nodes.indexOf(this)-1,n=this.envelope.nodes.indexOf(this)+1,s=this.envelope.nodes[i],r=this.envelope.nodes[n],o=i>=0?s.x:0,a=n<this.envelope.nodes.length?r.x:1;this.x<o&&(this.x=o),this.x>a&&(this.x=a)}this.location=this.getCoordinates(),this.element.setAttribute("cx",this.location.x),this.element.setAttribute("cy",this.location.y)},this.getCoordinates=function(){return{x:this.x*this.envelope.width,y:(1-this.y)*this.envelope.height}},this.move(this.x,this.y,!0),this.resize(),this.destroy=function(){this.envelope.element.removeChild(this.element),this.envelope.nodes.splice(this.envelope.nodes.indexOf(this),1)}},c=function(t){function e(){o(this,e);var t=["value"],i={size:[300,150],points:[{x:.1,y:.4},{x:.35,y:.6},{x:.65,y:.2},{x:.9,y:.4}]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.points=this.settings.points,this.nodes=[],this.selected=!1,this.init()}return r(e,t),n(e,{buildInterface:{value:function(){var t=this;this.points.forEach(function(e){var i=new u(e,t);t.nodes.push(i)}),this.sortPoints(),this.line=h.create("polyline"),this.line.setAttribute("stroke-width",2),this.line.setAttribute("fill","none"),this.element.appendChild(this.line),this.fill=h.create("polyline"),this.fill.setAttribute("fill-opacity","0.2"),this.element.appendChild(this.fill)}},sizeInterface:{value:function(){for(var t=0;t<this.nodes.length;t++)this.nodes[t].resize(),this.nodes[t].move();this.render()}},colorInterface:{value:function(){var t=this;this.element.style.backgroundColor=this.colors.fill,this.line.setAttribute("stroke",this.colors.accent),this.fill.setAttribute("fill",this.colors.accent),this.nodes.forEach(function(e){e.element.setAttribute("fill",t.colors.accent)})}},render:{value:function(){this.calculatePath()}},calculatePoints:{value:function(){var t=this;this.points=[],this.nodes.forEach(function(e){t.points.push({x:e.x,y:e.y})})}},calculatePath:{value:function(){var t="0 "+this.nodes[0].location.y+", ";this.nodes.forEach(function(e){t+=e.location.x+" "+e.location.y+", "}),t+=this.width+" "+this.nodes[this.nodes.length-1].location.y,this.line.setAttribute("points",t),t+=", "+this.width+" "+this.height+", ",t+="0 "+this.height,this.fill.setAttribute("points",t)}},click:{value:function(){this.hasMoved=!1,this.selected=this.findNearestNode(),this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit("change",this.points),this.render()}},move:{value:function(){this.clicked&&(this.mouse.x=a.clip(this.mouse.x,0,this.width),this.hasMoved=!0,this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit("change",this.points),this.render())}},release:{value:function(){this.hasMoved||this.nodes[this.selected].destroy(),this.calculatePoints(),this.emit("change",this.points),this.render(),this.selected=null}},findNearestNode:{value:function(){for(var t=null,e=1e4,i=this.mouse.x/this.width,n=1-this.mouse.y/this.height,s=this.nodes,r=0;r<s.length;r++){var o=Math.sqrt(Math.pow(s[r].x-i,2)+Math.pow(s[r].y-n,2));o<e&&(e=o,t=r,i>s[r].x)}return e>.07&&(t=this.getIndexFromX(this.mouse.x/this.width),this.nodes.splice(t,0,new u({x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this)),this.hasMoved=!0),t}},getIndexFromX:{value:function(t){var e=this,i=0;return this.nodes.forEach(function(n,s){e.nodes[s].x<=t&&(i=s+1)}),i}},scaleNode:{value:function(t){var e=a.clip(this.nodes[t].x,0,1),i=a.clip(this.nodes[t].y,0,1);this.nodes[t].move(e,i)}},sortPoints:{value:function(){this.nodes.sort(function(t,e){return t.x>e.x})}},addPoint:{value:function(t,e){var i=this.nodes.length;this.sortPoints();for(var n=0;n<this.nodes.length;n++)if(t<this.nodes[n].x){i=n;break}this.nodes.splice(i,0,new u({x:t,y:e},this)),this.scaleNode(i),this.calculatePoints(),this.emit("change",this.points),this.render()}},scan:{value:function(t){var e=this.getIndexFromX(t),i=e-1;i<0&&(i=0),e>=this.nodes.length&&(e=this.nodes.length-1);var n=this.nodes[i],s=this.nodes[e],r=a.scale(t,n.x,s.x,0,1),o=a.interp(r,n.y,s.y);return this.emit("scan",o),o}},movePoint:{value:function(t,e,i){this.nodes[t].move(e,i),this.scaleNode(t),this.calculatePoints(),this.emit("change",this.points),this.render()}},adjustPoint:{value:function(t,e,i){this.nodes[t].move(this.nodes[t].x+e,this.nodes[t].y+i),this.scaleNode(t),this.calculatePoints(),this.emit("change",this.points),this.render()}},destroyPoint:{value:function(t){this.nodes[t].destroy(),this.calculatePoints(),this.emit("change",this.points),this.render()}},setPoints:{value:function(t){for(var e=this;this.nodes.length;)this.nodes[0].destroy();t.forEach(function(t){e.addPoint(t.x,t.y)}),this.calculatePoints(),this.emit("change",this.points),this.render()}}}),e}(l);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.active=!0,this.source=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteFrequencyData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.source&&this.dataArray)for(var t=this.canvas.element.width/this.bufferLength,e=void 0,i=0,n=this.canvas.element.width/50,s=0;s<this.bufferLength;s+=n)e=Math.max.apply(null,this.dataArray.subarray(s,s+n)),e/=255,e*=this.canvas.element.height,this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(i,this.canvas.element.height-e,t*n,e),i+=t*n}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source.disconnect(this.analyser),this.source=null}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(5),l=i(6),u=i(1).context,c=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[30,100]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.context=u(),this.channels=2,this.splitter=this.context.createChannelSplitter(this.channels),this.analysers=[];for(var n=0;n<this.channels;n++){var r=this.context.createAnalyser();this.splitter.connect(r,n),r.fftSize=1024,r.smoothingTimeConstant=1,this.analysers.push(r)}this.bufferLength=this.analysers[0].frequencyBinCount,this.dataArray=new Float32Array(this.bufferLength),this.active=!0,this.db=-1/0,this.init(),this.meterWidth=this.canvas.element.width/this.channels,this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){this.active&&requestAnimationFrame(this.render.bind(this)),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height);for(var t=0;t<this.analysers.length;t++){if(this.source){this.analysers[t].getFloatTimeDomainData(this.dataArray);for(var e=0,i=0;i<this.dataArray.length;i++)e+=this.dataArray[i]*this.dataArray[i];e=Math.sqrt(e/this.dataArray.length),this.db=20*Math.log10(e)}else this.db>-200&&this.db!==-1/0?this.db-=1:this.db=-1/0;if(this.db>-70){var n=h.normalize(this.db,-70,5),s=n*n,r=h.scale(s,0,1,this.element.height,0);this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(this.meterWidth*t,r,this.meterWidth,this.canvas.element.height-r)}}}},connect:{value:function(t,e){this.source&&this.disconnect(),e?this.channels=e:t.channelCount?this.channels=t.channelCount:this.channels=2,this.meterWidth=this.canvas.element.width/this.channels,this.source=t,this.source.connect(this.splitter)}},disconnect:{value:function(){this.source.disconnect(this.splitter),this.source=!1,this.meterWidth=this.canvas.element.width/this.channels}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(l);t.exports=c},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if("value"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=["scale","value"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.analyser.getByteTimeDomainData(this.dataArray),this.active=!0,this.source=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteTimeDomainData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.canvas.context.lineWidth=~~(this.height/100+2),this.canvas.context.strokeStyle=this.colors.accent,this.canvas.context.beginPath(),this.source)for(var t=1*this.canvas.element.width/this.bufferLength,e=0,i=0;i<this.bufferLength;i++){var n=this.dataArray[i]/128,s=n*this.canvas.element.height/2;0===i?this.canvas.context.moveTo(e,s):this.canvas.context.lineTo(e,s),e+=t}else this.canvas.context.moveTo(0,this.canvas.element.height/2),this.canvas.context.lineTo(this.canvas.element.width,this.canvas.element.height/2);this.canvas.context.stroke()}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source&&(this.source.disconnect(this.analyser),this.source=null)}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),o=function(t){return t&&t.__esModule?t.default:t}(i(7)),a=i(1).colors,h=function(){function t(e,i){s(this,t),this.meta={},this.meta.target=e,this.meta.parent=o.parseElement(e),this.meta.colors={},i?(this.meta.attribute=i.attribute||"nexus-ui",this.meta.title=i.name||!1,this.meta.open=i.open||!1):(this.meta.attribute="nexus-ui",this.meta.title=!1,this.meta.open=!1);var n=a();this.meta.colors.accent=n.accent,this.meta.colors.fill=n.fill,this.meta.colors.light=n.light,this.meta.colors.dark=n.dark,this.meta.colors.mediumLight=n.mediumLight,this.meta.colors.mediumDark=n.mediumDark,this.buildInterface(),this.colorInterface()}return n(t,{buildInterface:{value:function(){var t=this;for(this.meta.parent.style.boxSizing="border-box",this.meta.parent.style.userSelect="none",this.meta.parent.style.mozUserSelect="none",this.meta.parent.style.webkitUserSelect="none",this.meta.contents=document.createElement("div");this.meta.parent.childNodes.length>0;)this.meta.contents.appendChild(this.meta.parent.childNodes[0]);this.meta.contents.style.padding="0px",this.meta.contents.style.boxSizing="border-box",this.meta.title&&(this.meta.titleBar=document.createElement("div"),this.meta.titleBar.innerHTML=this.meta.title,this.meta.titleBar.style.fontFamily="arial",this.meta.titleBar.style.position="relative",this.meta.titleBar.style.color="#888",this.meta.titleBar.style.padding="7px",this.meta.titleBar.style.fontSize="12px",this.meta.button=document.createElement("div"),this.meta.button.style.position="absolute",this.meta.button.style.top="5px",this.meta.button.style.right="5px",this.meta.button.innerHTML="-",this.meta.button.style.padding="0px 5px 2px",this.meta.button.style.lineHeight="12px",this.meta.button.style.fontSize="15px",this.meta.button.style.cursor="pointer",this.meta.button.addEventListener("mouseover",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumDark}),this.meta.button.addEventListener("mouseleave",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumLight}),this.meta.button.addEventListener("click",function(){t.meta.open?t.hide():t.show()}),this.meta.titleBar.appendChild(this.meta.button),this.meta.parent.appendChild(this.meta.titleBar)),this.meta.parent.appendChild(this.meta.contents);var e=r.section(this.meta.target,this.meta.attribute);for(var i in e)this[i]=e[i]}},colorInterface:{value:function(){this.meta.title&&(this.meta.button.style.backgroundColor=this.meta.colors.mediumLight,this.meta.button.style.border="solid 0px "+this.meta.colors.fill,this.meta.parent.style.border="solid 1px "+this.meta.colors.mediumLight,this.meta.parent.style.backgroundColor=this.meta.colors.light,this.meta.titleBar.style.backgroundColor=this.meta.colors.fill)}},show:{value:function(){this.meta.contents.style.display="block",this.meta.open=!0}},hide:{value:function(){this.meta.contents.style.display="none",this.meta.open=!1}},colorize:{value:function(t,e){for(var i in this)this[i].colorize&&this[i].colorize(t,e);this.meta.colors[t]=e,this.colorInterface()}},empty:{value:function(){for(var t in this)this[t].destroy&&this[t].destroy()}}}),t}();t.exports=h},function(t,e,i){"use strict";var n=function(t){return t&&t.__esModule?t.default:t};Object.defineProperty(e,"__esModule",{value:!0});var s=n(i(7)),r=n(i(2)),o=function(t,e){var i=t.type;return e[i]?e[i]++:e[i]=1,i+e[i]},a=function(t,e,i){i=i||{};for(var n=0;n<t.attributes.length;n++){var s=t.attributes[n];i[s.nodeName]=s.nodeValue}e=e[0].toUpperCase()+e.slice(1);var o=new r[e](t,i);return o.id=t.id,o},h=function(t,e){e=e||"nexus-ui";for(var i={},n=s.parseElement(t),h={},l=n.getElementsByTagName("*"),u=[],c=0;c<l.length;c++)u.push(l[c]);for(var c=0;c<u.length;c++){var f=u[c].getAttribute(e);if(f){var d=!1;for(var v in r)f.toLowerCase()===v.toLowerCase()&&(d=v);console.log(d);var p=a(u[c],d);if(p.id)h[p.id]=p;else{h[o(p,i)]=p}}}return h},l=function(t,e,i){var n=document.createElement("div");return i=i||{},e=e?s.parseElement(e):document.body,e.appendChild(n),i.target=n,i.size&&(n.style.width=i.size[0]+"px",n.style.height=i.size[1]+"px"),a(n,t,i)};e.element=a,e.section=h,e.add=l},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){s(this,t),this.scale=[],this.mode={output:"frequency",input:"step"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.root=r.mtof(60),this.createScale(0,2,4,5,7,9,11)}return n(t,{note:{value:function(t,e){return"frequency"===this.mode.output?this.frequency(t,e):"ratio"===this.mode.output?this.ratio(t,e):"MIDI"===this.mode.output?this.MIDI(t,e):this.frequency(t,e)}},frequency:{value:function(t,e){"midi"!==this.mode.input&&"MIDI"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);for(var n=t%this.scale.length;n<0;)n+=this.scale.length;var s=this.scale[n],r=this.root*s;return r*=Math.pow(2,i),r=Math.floor(1e11*r)/1e11}},ratio:{value:function(t,e){"midi"!==this.mode.input&&"MIDI"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);var n=t%this.scale.length,s=Math.pow(2,i)*this.scale[n];return s=Math.floor(1e11*s)/1e11,s}},MIDI:{value:function(t,e){var i=this.frequency(t,e),n=69+12*Math.log(i/440)/Math.log(2);return n=Math.floor(1e9*n)/1e9}},createScale:{value:function(){for(var t=[],e=0;e<arguments.length;e++)t.push(r.mtof(60+arguments[e]));this.loadScaleFromFrequencies(t)}},createJIScale:{value:function(){this.scale=[];for(var t=0;t<arguments.length;t++)this.scale.push(arguments[t])}},loadScaleFromFrequencies:{value:function(t){this.scale=[];for(var e=0;e<t.length-1;e++)this.scale.push(t[e]/t[0])}},loadScale:{value:function(t){var e=this.scales[t].frequencies;this.loadScaleFromFrequencies(e)}},search:{value:function(t){var e=[];for(var i in this.scales)-1!==i.toLowerCase().indexOf(t.toLowerCase())&&e.push(i);return e}},chord:{value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.note(t[i]));return e}}}),t}();t.exports=o},function(t,e){"use strict";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(){for(var e=arguments.length,i=Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];var r=void 0===arguments[0]?3:arguments[0];n(this,t),r<0&&(r=1),this.length=r,this.onVals=i,this.array=new Array(r).fill(0),i.length>0&&this.on.apply(this,i)}return i(t,{select:{value:function(t){return this.array.fill(0),this.array[t]=1,this.array}},flip:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn("Warning: AnonRadio["+t+"] does not exist"):n[t]=n[t]?0:1}):n.forEach(function(t,e,i){i[e]=t?0:1}),n}},on:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn("Warning: AnonRadio["+t+"] exceeds size of object"):(1===n[t]&&console.warn("Warning: AnonRadio["+t+"] was already on."),n[t]=1)}):n.fill(1),n}},off:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){n[t]=0}):n.fill(0),n}}}),t}();t.exports=s},function(t,e,i){var n=i(43);t.exports=n,"undefined"!=typeof window&&(window.WAAClock=n)},function(t,e,i){(function(e){var i={toleranceLate:.1,toleranceEarly:.001},n=function(t,e,i){this.clock=t,this.func=i,this._cleared=!1,this.toleranceLate=t.toleranceLate,this.toleranceEarly=t.toleranceEarly,this._latestTime=null,this._earliestTime=null,this.deadline=null,this.repeatTime=null,this.schedule(e)};n.prototype.clear=function(){return this.clock._removeEvent(this),this._cleared=!0,this},n.prototype.repeat=function(t){if(0===t)throw new Error("delay cannot be 0");return this.repeatTime=t,this.clock._hasEvent(this)||this.schedule(this.deadline+this.repeatTime),this},n.prototype.tolerance=function(t){return"number"==typeof t.late&&(this.toleranceLate=t.late),"number"==typeof t.early&&(this.toleranceEarly=t.early),this._refreshEarlyLateDates(),this.clock._hasEvent(this)&&(this.clock._removeEvent(this),this.clock._insertEvent(this)),this},n.prototype.isRepeated=function(){return null!==this.repeatTime},n.prototype.schedule=function(t){this._cleared=!1,this.deadline=t,this._refreshEarlyLateDates(),this.clock.context.currentTime>=this._earliestTime?this._execute():this.clock._hasEvent(this)?(this.clock._removeEvent(this),this.clock._insertEvent(this)):this.clock._insertEvent(this)},n.prototype.timeStretch=function(t,e){this.isRepeated()&&(this.repeatTime=this.repeatTime*e);var i=t+e*(this.deadline-t);if(this.isRepeated())for(;this.clock.context.currentTime>=i-this.toleranceEarly;)i+=this.repeatTime;this.schedule(i)},n.prototype._execute=function(){!1!==this.clock._started&&(this.clock._removeEvent(this),this.clock.context.currentTime<this._latestTime?this.func(this):(this.onexpired&&this.onexpired(this),console.warn("event expired")),this.clock._hasEvent(this)||!this.isRepeated()||this._cleared||this.schedule(this.deadline+this.repeatTime))},n.prototype._refreshEarlyLateDates=function(){this._latestTime=this.deadline+this.toleranceLate,this._earliestTime=this.deadline-this.toleranceEarly};var s=t.exports=function(t,e){e=e||{},this.tickMethod=e.tickMethod||"ScriptProcessorNode",this.toleranceEarly=e.toleranceEarly||i.toleranceEarly,this.toleranceLate=e.toleranceLate||i.toleranceLate,this.context=t,this._events=[],this._started=!1};s.prototype.setTimeout=function(t,e){return this._createEvent(t,this._absTime(e))},s.prototype.callbackAtTime=function(t,e){return this._createEvent(t,e)},s.prototype.timeStretch=function(t,e,i){return e.forEach(function(e){e.timeStretch(t,i)}),e},s.prototype.start=function(){if(!1===this._started){var t=this;if(this._started=!0,this._events=[],"ScriptProcessorNode"===this.tickMethod){this._clockNode=this.context.createScriptProcessor(256,1,1),this._clockNode.connect(this.context.destination),this._clockNode.onaudioprocess=function(){e.nextTick(function(){t._tick()})}}else if("manual"!==this.tickMethod)throw new Error("invalid tickMethod "+this.tickMethod)}},s.prototype.stop=function(){!0===this._started&&(this._started=!1,this._clockNode.disconnect())},s.prototype._tick=function(){for(var t=this._events.shift();t&&t._earliestTime<=this.context.currentTime;)t._execute(),t=this._events.shift();t&&this._events.unshift(t)},s.prototype._createEvent=function(t,e){return new n(this,e,t)},s.prototype._insertEvent=function(t){this._events.splice(this._indexByTime(t._earliestTime),0,t)},s.prototype._removeEvent=function(t){var e=this._events.indexOf(t);-1!==e&&this._events.splice(e,1)},s.prototype._hasEvent=function(t){return-1!==this._events.indexOf(t)},s.prototype._indexByTime=function(t){for(var e,i=0,n=this._events.length;i<n;)e=Math.floor((i+n)/2),this._events[e]._earliestTime<t?i=e+1:n=e;return i},s.prototype._absTime=function(t){return t+this.context.currentTime},s.prototype._relTime=function(t){return t-this.context.currentTime}}).call(e,i(44))},function(t,e){function i(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function s(t){if(u===setTimeout)return setTimeout(t,0);if((u===i||!u)&&setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function r(t){if(c===clearTimeout)return clearTimeout(t);if((c===n||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(t);try{return c(t)}catch(e){try{return c.call(null,t)}catch(e){return c.call(this,t)}}}function o(){p&&d&&(p=!1,d.length?v=d.concat(v):m=-1,v.length&&a())}function a(){if(!p){var t=s(o);p=!0;for(var e=v.length;e;){for(d=v,v=[];++m<e;)d&&d[m].run();m=-1,e=v.length}d=null,p=!1,r(t)}}function h(t,e){this.fun=t,this.array=e}function l(){}var u,c,f=t.exports={};!function(){try{u="function"==typeof setTimeout?setTimeout:i}catch(t){u=i}try{c="function"==typeof clearTimeout?clearTimeout:n}catch(t){c=n}}();var d,v=[],p=!1,m=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];v.push(new h(t,e)),1!==v.length||p||s(a)},h.prototype.run=function(){this.fun.apply(null,this.array)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.prependListener=l,f.prependOnceListener=l,f.listeners=function(t){return[]},f.binding=function(t){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(t){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=i(1).clock,o=function(){function t(e,i,n){s(this,t),this.rate=e,this.on=n,this.clock=r(),this.pattern=[1],this.index=0,this.event=i||function(){},this.on&&this.start()}return n(t,{_event:{value:function(t){this.event(t),this.index++}},stop:{value:function(){this.on=!1,this.interval.clear()}},start:{value:function(){this.on=!0,this.interval=this.clock.callbackAtTime(this._event.bind(this),this.clock.context.currentTime).repeat(this.rate/1e3).tolerance({early:.1,late:1})}},ms:{value:function(t){if(this.on){var e=t/this.rate;this.rate=t,this.clock.timeStretch(this.clock.context.currentTime,[this.interval],e)}else this.rate=t}}}),t}();t.exports=o}])})},function(t,e,i){"use strict";function n(t){if(t.altKey||t.ctrlKey||t.metaKey)return void t.stopPropagation();if(document.activeElement instanceof HTMLInputElement&&t.keyCode in o)return void t.stopPropagation();if(t.keyCode in r){var e=r[t.keyCode];t.shiftKey&&(e+=a.length),e-=7,h(e)}}function s(t){h=t}Object.defineProperty(e,"__esModule",{value:!0});var r={},o={},a="zxcvbnmasdfghjklqwertyuiop",h=function(){};a.toUpperCase().split("").map(function(t,e){r[t.charCodeAt(0)]=e}),"1234567890".split("").map(function(t,e){r[t.charCodeAt(0)]=e+a.length,o[t.charCodeAt(0)]=!0}),window.addEventListener("keydown",n,!0),e.default={listen:s}},function(t,e,i){"use strict";function n(t){return t[Math.floor(Math.random()*t.length)]}function s(t){return Math.floor(Math.random()*t)}function r(t,e){return t-e*Math.floor(t/e)}function o(t,e,i){return(t-e)/(i-e)}function a(t){t=t.slice(0);for(var e=t.length;e>0;e--){var i=s(e),n=t[e-1];t[e-1]=t[i],t[i]=n}return t}function h(t){if(_){var e=document.createElement("div"),i=document.createElement("div");i.innerHTML="Tap to start - please unmute your phone",Object.assign(e.style,{position:"absolute",width:"100%",height:"100%",zIndex:"10000",top:"0px",left:"0px",backgroundColor:"rgba(0, 0, 0, 0.8)"}),Object.assign(i.style,{position:"absolute",left:"50%",top:"50%",padding:"20px",backgroundColor:"#7F33ED",color:"white",fontFamily:"monospace",borderRadius:"3px",transform:"translate3D(-50%,-50%,0)",textAlign:"center",lineHeight:"1.5"}),e.appendChild(i),document.body.appendChild(e),StartAudioContext.setContext(Tone.context),StartAudioContext.on(i),StartAudioContext.onStarted(function(i){e.remove(),t()})}else t()}function l(t){for(var e=atob(t.split(",")[1]),i=t.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(e.length),s=new Uint8Array(n),r=0;r<e.length;r++)s[r]=e.charCodeAt(r);return new Blob([n],{type:i})}function u(t){return 69+12*Math.log2(t/440)}function c(t){return 440*Math.pow(2,(t-69)/12)}function f(t){return function(e){E.isMobile?t():e.press&&t()}}function d(t,e,i,n){var s=document.querySelector(e+" + .val"),r=function(t){s.innerHTML=i?parseInt(t):t.toFixed(2),n&&n(t)};t.on("change",r),s.innerHTML=i?parseInt(t.value):t.value.toFixed(2),t.update=r}function v(t,e,i,n){var s=t.active,r=document.querySelector(e+" + .val"),o=function(e){-1===e?e=t.active=s:s=e,r.innerHTML=i[e][1],n&&n(e)};t.on("change",o),o(t.active),t.update=o}function p(t,e,i){Object.keys(e).forEach(function(i){var n=e[i],s=document.createElement("option");s.innerHTML=n.name,s.value=i,t.appendChild(s)}),t.addEventListener("input",function(t){i(t.target.value)})}function m(t,e,i,n,s,r){var o=document.createElement("div");o.classList.add("block");var a=document.createElement("div");a.setAttribute("id",e);var h=document.createElement("span");h.classList.add("val");var l=document.createElement("label");l.classList=e,l.innerHTML=i,o.appendChild(l),o.appendChild(a),o.appendChild(h),t.appendChild(o),n.size=[200,24];var u=new y.default.Slider("#"+e,n);return d(u,"#"+e,s,r),u}function b(t,e,i){var n=document.createElement("div");n.classList.add("stat");var s=document.createElement("div");s.classList.add("key");var r=document.createElement("div");r.classList.add("val"),n.appendChild(s),n.appendChild(r),t.appendChild(n),s.innerHTML=e,r.innerHTML=i();var o=void 0;return function(){var t=i();o!==t&&(r.innerText=o=t)}}Object.defineProperty(e,"__esModule",{value:!0}),e.Statistic=e.Slider=e.build_options=e.update_radio_value_on_change=e.update_value_on_change=e.dataURItoBlob=e.tap=e.mtof=e.ftom=e.requestAudioContext=e.browser=e.randint=e.shuffle=e.choice=e.norm=e.mod=void 0;var g=i(0),y=function(t){return t&&t.__esModule?t:{default:t}}(g),x=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i),w=navigator.userAgent.match(/iPad/i),k=navigator.userAgent.match(/Android/i),_=x||w||k,A=!_;document.body.classList.add(_?"mobile":"desktop");var E={isIphone:x,isIpad:w,isMobile:_,isDesktop:A};e.mod=r,e.norm=o,e.choice=n,e.shuffle=a,e.randint=s,e.browser=E,e.requestAudioContext=h,e.ftom=u,e.mtof=c,e.tap=f,e.dataURItoBlob=l,e.update_value_on_change=d,e.update_radio_value_on_change=v,e.build_options=p,e.Slider=m,e.Statistic=b},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function s(){if(K=setTimeout(s,S.Rate.value),!U){tt+=1;var t=S.T.value;(0,C.shuffle)(H).forEach(function(e){if(e.J>1)return void(e.J-=1);var i=_(e);1===e.J&&(Z[e.y][e.x]||(e.J=0,Z[e.y][e.x]=e,e.log.push("left jail"))),e.team===z?a(e,i):(r(e,i),W.update(e,i,t))}),W.id===j.SIM_GENOCIDE&&(H=H.filter(function(t){return!t.dead})),v()}}function r(t,e){t.CAv=o(e),t.G=t.H*(1-S.L.value),t.P=1-Math.exp(-S.k.value*t.CAv),t.NetR=t.R*t.P*Math.pow(S.J.value,S.alpha.value),t.GN=t.G-t.NetR}function o(t){var e=0,i=1;return t.forEach(function(t){t.team!==D&&(t.team===z?e+=1:i+=1)}),e/i}function a(t,e){e.some(function(t){return!(t.team===z||!t.active)&&(h(t),!0)}),f(t,e)}function h(t){t.J=(0,C.randint)(S.J.value),t.active=!1,Z[t.y][t.x]=null,t.log.push("sent to jail")}function l(t,e){t.dead=!0,t.Age=0,Z[t.y][t.x]=null,t.log.push(e)}function u(t,e){e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[i][n]=c(i,n,t),t.log.push("gave birth"),!0}return!1})}function c(t,e,i){if(!(H.length>=S.Size.value*S.Size.value)){var n={id:Q++,team:i?i.team:(0,C.randint)(W.teams)+1,H:i?i.H:Math.random(),R:Math.random(),J:0,Age:(0,C.randint)(S.MaxAge.value)+1,active:!1,G:0,CAv:0,P:0,NetR:0,GN:0,log:[],y:t,x:e};return H.push(n),n}}function f(t,e){t.dead||t.J||e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[t.y][t.x]=null,Z[i][n]=t,t.y=i,t.x=n,!0}return!1})}function d(t){var e=void 0,i=void 0,n=void 0,s=void 0;return"id"===J?(e=t.id/Q,i=360*e,n=1,s=.5):"GN"===J?(e=t[J],i=t.active?0:180,n=1-e,s=1-e):(e=t[J],i=t.active?0:100,n=1,s=1-2*e),"hsl("+[0|i,(100*n|0)+"%",(100*s|0)+"%"].join(",")+")"}function v(){var t=S.Size.value;if(I.clearRect(0,0,(t+1)*q*2,t*q),x(function(e,i){var n=Z[e][i];n?n.team===z?(I.fillStyle="#000000",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V)):(I.save(),I.fillStyle=d(n),I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillStyle=W.color(n),I.fillRect(i*q,e*q,q-V,q-V),I.save()):(I.fillStyle="#ffffff",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V))}),$&&!$.dead&&!$.J){var e=$,i=e.y,n=e.x;I.strokeStyle="#000000",I.lineWidth=1,I.strokeRect((n+t+1)*q,i*q,q,q),I.strokeRect(n*q,i*q,q,q)}G.forEach(function(t){return t()}),$&&$.dead&&p()}function p(){var t=void 0;do{t=(0,C.choice)(H)}while(t.dead||t.team===z);$=t}function m(){H=[],Z=[],Q=0,tt=0;var t=S.Pop.value,e=S.Cops.value;Z=x(function(e,i){return Math.random()<t?c(e,i):null});for(var i=0,n=H.length*e;i<n;i++)H[(0,C.randint)(H.length)].team=z;p(H),et={old_age:0,in_jail:0,murder:0}}function b(){w(),g()}function g(){U=!1,clearTimeout(K),m(),s()}function y(){U=!U,U?(document.querySelector("#pause").innerText="Paused",clearTimeout(K)):(document.querySelector("#pause").innerText="Pause",clearTimeout(K),s())}function x(t){for(var e=[],i=S.Size.value,n=0;n<i;n++){e[n]=[];for(var s=0;s<i;s++)e[n][s]=t(n,s,0)}return e}function w(){S.Size&&(L.width=(S.Size.value+1)*q*2,L.height=S.Size.value*q)}function k(t,e){var i=S.Size.value;return t=(0,C.mod)(t,i),e=(0,C.mod)(e,i),Z[t][e]||{y:t,x:e,team:D}}function _(t){var e=t.y,i=t.x;return(0,C.shuffle)(X.map(function(t){return k(e+t[0],i+t[1])}))}function A(t){W=Y[t],W.init(),console.log(W.name),m()}function E(t){J=t,console.log("viewing",t+":",B[t].name)}function P(t){var e=S.Size.value,i=L.getBoundingClientRect(),n=(t.pageY-i.top)/i.height*e|0,s=(t.pageX-i.left)/i.width*(2*e+1)|0;return console.log(s,n),s>=e&&(s%=e),$=Z[n][s],v(),Z[n][s]}function O(t){return t?"Yes":"No"}var M=i(0),T=(n(M),i(1)),C=(n(T),i(2)),L=document.querySelector("canvas"),I=L.getContext("2d"),S=window.nx={},z=0,D=-1,j={SIM_REBELLION:0,SIM_GENOCIDE:1},R=["#000000","#00d020","#0000f0","#008080","#00ff80","#0080ff"],F=["#000000","#800000","#800080","#808080","#80ff80","#8080ff"],N=["Cops","Green","Blue","#3","#4","#5"],X=[[-1,-1],[-1,0],[-1,1],[0,-1],[0,1],[1,-1],[1,0],[1,1]],Y={rebellion:{id:j.SIM_REBELLION,name:"Civil Violence Model I: Generalized Rebellion Against Central Authority",teams:1,init:function(){document.querySelector(".governmental_legitimacy").innerText="Governmental Legitimacy"},update:function(t,e,i){if(!(t.J>0)){var n=t.GN>i;n&&!t.active?t.log.push("went active"):!n&&t.active&&t.log.push("went inactive"),t.active=n,f(t,e)}},color:function(t){return t.active?F[t.team]:R[t.team]}},genocide:{id:j.SIM_GENOCIDE,name:"Civil Violence Model II: Inter-Group Violence",teams:2,init:function(){document.querySelector(".governmental_legitimacy").innerText="Empathy"},update:function(t,e,i){if(!t.dead){if(t.Age--<=0)return void(t.J>0?(l(t,"died in jail"),et.in_jail+=1):(l(t,"died of old age"),et.old_age+=1));t.GN>i&&e.some(function(e){return e.team!==D&&e.team!==z&&e.team!==t.team&&(l(e,"died of murder"),t.active=!0,t.log.push("killed someone"),et.murder+=1,!0)}),Math.random()<S.Rep.value&&u(t,e),f(t,e)}},color:function(t){return R[t.team]}}},B={G:{value:"G",name:"Grievance"},CAv:{value:"CAv",name:"Cop-to-Active ratio"},P:{value:"P",name:"Arrest probability"},NetR:{value:"NetR",name:"Net risk of being arrested"},GN:{value:"GN",name:"Distance from threshold"},id:{value:"id",name:"Agent ID"}},q=10,V=1,H=[],Z=[],G=[],W=Y.rebellion,J="G",U=!1,K=void 0,Q=0,$=void 0,tt=0,et={};!function(){(0,C.build_options)(document.querySelector("#sim"),Y,A),(0,C.build_options)(document.querySelector("#view"),B,E);var t=document.querySelector("#options");S.Size=(0,C.Slider)(t,"world_size","World size",{min:10,max:200,step:1,value:40},!0,b),S.Rate=(0,C.Slider)(t,"rate","Frame rate",{min:100,max:5e3,step:10,value:200},!0,m),S.L=(0,C.Slider)(t,"governmental_legitimacy","Governmental legitimacy",{min:0,max:1,step:.01,value:.89},!1),S.T=(0,C.Slider)(t,"activation_threshold","Grievance threshold",{min:0,max:1,step:.01,value:.1},!1),S.Rep=(0,C.Slider)(t,"birth_rate","Birth rate",{min:0,max:1,step:.001,value:.05},!1),S.MaxAge=(0,C.Slider)(t,"max_age","Max age",{min:0,max:1e3,step:1,value:200},!0),S.J=(0,C.Slider)(t,"max_jail_term","Maximum jail term",{min:1,max:100,step:1,value:30},!0),S.alpha=(0,C.Slider)(t,"jail_deterrent","Jail deterrent",{min:0,max:2,step:.01,value:0},!1),S.k=(0,C.Slider)(t,"arrest_constant","Arrest probability constant",{min:1,max:10,step:.01,value:2.3},!1),S.Pop=(0,C.Slider)(t,"population_density","Population density",{min:0,max:1,step:.01,value:.7},!1,g),S.Cops=(0,C.Slider)(t,"cop_density","Cop density",{min:0,max:.3,step:.002,value:.05},!1,g);var e=document.querySelector("#stats"),i=document.querySelector("#agent"),n=document.querySelector("#log");G=[(0,C.Statistic)(e,"Time",function(){return tt}),(0,C.Statistic)(e,"Agents",function(){return H.length}),(0,C.Statistic)(e,"Cops",function(){return H.filter(function(t){return t.team===z}).length}),(0,C.Statistic)(e,"Team #1",function(){return H.filter(function(t){return 1===t.team}).length}),(0,C.Statistic)(e,"Team #2",function(){return H.filter(function(t){return 2===t.team}).length}),(0,C.Statistic)(e,"Quiescent",function(){return H.filter(function(t){return!t.active&&!t.J&&t.team!==z}).length}),(0,C.Statistic)(e,"Active",function(){return H.filter(function(t){return t.active}).length}),(0,C.Statistic)(e,"Jailed",function(){return H.filter(function(t){return t.J>0}).length}),(0,C.Statistic)(e,"Died of old age",function(){return et.old_age}),(0,C.Statistic)(e,"Died in jail",function(){return et.in_jail}),(0,C.Statistic)(e,"Murdered",function(){return et.murder}),(0,C.Statistic)(i,"Selected Agent #",function(){return $?$.id:"None"}),(0,C.Statistic)(i,"Team",function(){return $&&N[$.team]}),(0,C.Statistic)(i,"Position",function(){return $&&$.x+","+$.y}),(0,C.Statistic)(i,"Hardship",function(){return $&&$.H.toFixed(2)}),(0,C.Statistic)(i,"Risk tolerance",function(){return $&&$.R.toFixed(2)}),(0,C.Statistic)(i,"Grievance",function(){return $&&$.G.toFixed(2)}),(0,C.Statistic)(i,"Score",function(){return $&&$.GN.toFixed(2)}),(0,C.Statistic)(i,"Cop / Active ratio",function(){return $&&$.CAv.toFixed(2)}),(0,C.Statistic)(i,"Arrest probability",function(){return $&&$.P.toFixed(2)}),(0,C.Statistic)(i,"Net risk",function(){return $&&$.NetR.toFixed(2)}),(0,C.Statistic)(i,"Active",function(){return $&&O($.active)}),(0,C.Statistic)(i,"Age",function(){return $&&$.Age}),(0,C.Statistic)(i,"Dead?",function(){return $&&O($.dead)}),(0,C.Statistic)(i,"In Jail?",function(){return $&&O($.J)}),(0,C.Statistic)(i,"Jail term",function(){return $&&$.J}),(0,C.Statistic)(n,"Log",function(){return $&&$.log.join("\n")})],document.querySelector("button#restart").addEventListener("click",g),document.querySelector("button#pause").addEventListener("click",y),document.querySelector("button#observe").addEventListener("click",function(){p(),v()});var s=!1;L.addEventListener("mousemove",function(t){s||P(t)}),L.addEventListener("mousedown",function(t){P(t)&&(s=!0)}),document.querySelector(".loading").classList.remove("loading"),w(),g()}()}]);
//# sourceMappingURL=bundle.js.map \ No newline at end of file
diff --git a/bundle.js.map b/bundle.js.map
index 90983a8..5c763bc 100644
--- a/bundle.js.map
+++ b/bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"./bundle.js","sources":["webpack:///./bundle.js"],"sourcesContent":["!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,\"a\",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=3)}([function(t,e,i){!function(e,i){t.exports=i()}(0,function(){return function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={exports:{},id:n,loaded:!1};return t[n].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i={};return e.m=t,e.c=i,e.p=\"\",e(0)}([function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t}(i(1));t.exports=n},function(t,e,i){\"use strict\";function n(){return k.colors}function s(){return k.context}function r(){return k.clock}var o=function(t){return t&&t.__esModule?t.default:t},a=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")};e.colors=n,e.context=s,e.clock=r,Object.defineProperty(e,\"__esModule\",{value:!0});var l=o(i(2)),u=o(i(5)),c=o(i(38)),f=o(i(40)),d=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),v=i(28),p=i(41),m=i(27),b=i(26),g=i(25),y=o(i(42)),x=o(i(45)),w=function(){function t(e){h(this,t);for(var i in l)this[i]=l[i];for(var i in u)this[i]=u[i];var n={Rack:c},s={Counter:v,Radio:p,Drunk:m,Sequence:b,Matrix:g};for(var i in s)this[i]=s[i];for(var i in n)this[i]=n[i];var r=window.AudioContext||window.webkitAudioContext;this._context=e||new r,this.tune=new f,this.note=this.tune.note.bind(this.tune),this.clock=new y(this._context),this.clock.start(),this.Interval=x,this.colors={accent:\"#2bb\",fill:\"#eee\",light:\"#fff\",dark:\"#333\",mediumLight:\"#ccc\",mediumDark:\"#666\"},this.transform=d,this.add=d.add,this.Add={};for(var i in l)this.Add[i]=d.add.bind(this,i);var o=document.getElementsByTagName(\"style\"),a=document.createElement(\"style\");if(a.type=\"text/css\",a.innerHTML=\"[nexus-ui]{height:5000px;width:5000px}\",o.length>0){o[0].parentNode.insertBefore(a,o[0])}else document.write(\"<style>[nexus-ui]{height:5000px;width:5000px}</style>\")}return a(t,{context:{get:function(){return this._context},set:function(t){this.clock.stop(),this._context=t,this.clock=new y(this.context),this.clock.start()}}}),t}(),k=new w;e.default=k},function(t,e,i){\"use strict\";t.exports={Position:i(3),Slider:i(14),Toggle:i(15),Button:i(16),TextButton:i(18),RadioButton:i(19),Number:i(20),Select:i(21),Dial:i(22),Piano:i(23),Sequencer:i(24),Pan2D:i(29),Tilt:i(30),Multislider:i(31),Pan:i(33),Envelope:i(34),Spectrogram:i(35),Meter:i(36),Oscilloscope:i(37)}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[200,200],mode:\"absolute\",minX:0,maxX:1,stepX:0,x:.5,minY:0,maxY:1,stepY:0,y:.5};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._x=new l(this.settings.minX,this.settings.maxX,this.settings.stepX,this.settings.x),this._y=new l(this.settings.minY,this.settings.maxY,this.settings.stepY,this.settings.y),this.position={x:new u.Handle(this.settings.mode,\"horizontal\",[0,this.width],[this.height,0]),y:new u.Handle(this.settings.mode,\"vertical\",[0,this.width],[this.height,0])},this.position.x.value=this._x.normalized,this.position.y.value=this._y.normalized,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create(\"circle\"),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:5*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute(\"cx\",this.width/2),this.knob.setAttribute(\"cy\",this.height/2),this.knob.setAttribute(\"r\",this.knobRadius.off)}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute(\"fill\",this.colors.accent)}},render:{value:function(){this.clicked?this.knob.setAttribute(\"r\",this.knobRadius.on):this.knob.setAttribute(\"r\",this.knobRadius.off),this.knobCoordinates={x:this._x.normalized*this.width,y:this.height-this._y.normalized*this.height},this.knob.setAttribute(\"cx\",this.knobCoordinates.x),this.knob.setAttribute(\"cy\",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this._x.updateNormal(this.position.x.value),this._y.updateNormal(this.position.y.value),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render())}},release:{value:function(){this.render()}},x:{get:function(){return this._x.value},set:function(t){this._x.update(t),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render()}},y:{get:function(){return this._y.value},set:function(t){this._y.update(t),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render()}},normalized:{get:function(){return{x:this._x.normalized,y:this._y.normalized}}},minX:{get:function(){return this._x.min},set:function(t){this._x.min=t,this.render()}},minY:{get:function(){return this._y.min},set:function(t){this._y.min=t,this.render()}},maxX:{get:function(){return this._x.max},set:function(t){this._x.max=t,this.render()}},maxY:{get:function(){return this._y.max},set:function(t){this._y.max=t,this.render()}},stepX:{get:function(){return this._x.step},set:function(t){this._x.step=t,this.render()}},stepY:{get:function(){return this._y.step},set:function(t){this._y.step=t,this.render()}},mode:{get:function(){return this.position.x.mode},set:function(t){this.position.x.mode=t,this.position.y.mode=t}}}),e}(h);t.exports=c},function(t,e,i){\"use strict\";var n=i(5);t.exports={create:function(t){return document.createElementNS(\"http://www.w3.org/2000/svg\",t)},arc:function(t,e,i,s,r){var o=n.toCartesian(i,r),a=n.toCartesian(i,s),h=r-s<=180?\"0\":\"1\";return[\"M\",o.x+t,o.y+e,\"A\",i,i,0,h,0,a.x+t,a.y+e].join(\" \")},radialGradient:function(t,e){var i=\"gradient\"+n.ri(1e11),s=[],r=document.createElementNS(\"http://www.w3.org/2000/svg\",\"radialGradient\");r.setAttribute(\"id\",i),r.setAttribute(\"cx\",\"50%\"),r.setAttribute(\"cy\",\"50%\"),r.setAttribute(\"r\",\"50%\"),t.appendChild(r);for(var o=0;o<e;o++){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"stop\");a.setAttribute(\"id\",\"stop\"+o),r.appendChild(a),s.push(a)}return{id:i,stops:s,element:r}}}},function(t,e){\"use strict\";e.clip=function(t,e,i){return Math.min(Math.max(t,e),i)},e.normalize=function(t,e,i){return(t-e)/(i-e)},e.scale=function(t,e,i,n,s){return e===i?n:(t-e)*(s-n)/(i-e)+n},e.toPolar=function(t,e){var i=Math.sqrt(t*t+e*e),n=Math.atan2(e,t);return n<0&&(n+=2*Math.PI),{radius:i,angle:n}},e.toCartesian=function(t,e){return{x:t*Math.cos(e),y:t*Math.sin(e)*-1}},e.prune=function(t,e){return parseFloat(t.toFixed(e))},e.invert=function(t){return e.scale(t,1,0,0,1)},e.mtof=function(t){return 440*Math.pow(2,(t-69)/12)},e.interp=function(t,e,i){return t*(i-e)+e},e.pick=function(){return arguments[~~(Math.random()*arguments.length)]},e.octave=function(t){return Math.pow(2,t)},e.ri=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.floor(Math.random()*(n-i)+i)},e.rf=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.random()*(n-i)+i},e.cycle=function(t,e,i){return t++,t>=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i];return e/t.length},e.distance=function(t,e,i,n){var s=t-i,r=e-n;return Math.sqrt(s*s+r*r)},e.gainToDB=function(t){return 20*Math.log10(t)},e.coin=function(){var t=void 0===arguments[0]?.5:arguments[0];return e.rf(0,1)<t?1:0}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(7),l=i(8),u=i(9),c=i(10),f=i(1).colors,d=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this),this.type=this.constructor.name,this.settings=this.parseSettings(t,i,n),this.mouse={},this.wait=!1,this.colors={};var r=f();this.colors.accent=r.accent,this.colors.fill=r.fill,this.colors.light=r.light,this.colors.dark=r.dark,this.colors.mediumLight=r.mediumLight,this.colors.mediumDark=r.mediumDark}return r(e,t),n(e,{parseSettings:{value:function(t,e,i){e.unshift(\"target\"),i.defaultSize=i.size.splice(0,2),i.size=!1;var n={target:document.body,colors:{},snapWithParent:!0,event:function(){},component:!1};for(var s in i)n[s]=i[s];for(var r=0;r<t.length;r++){var o=t[r];if(l.isObject(o))for(var s in o)n[s]=o[s];else if(\"function\"==typeof o)n.event=o;else if(e.length>=1){var s=e.splice(0,1)[0];n[s]=o}}return this.parent=h.parseElement(n.target),this.parent&&this.parent instanceof HTMLElement&&!n.component&&(this.parent.hasAttribute(\"nexus-ui\")||this.parent.setAttribute(\"nexus-ui\",\"\")),n.size&&Array.isArray(n.size)&&n.snapWithParent?(this.width=n.size[0],this.height=n.size[1],this.parent.style.width=this.width+\"px\",this.parent.style.height=this.height+\"px\"):n.snapWithParent&&!n.component?(this.width=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.height=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue(\"height\").replace(\"px\",\"\")),5e3==this.width&&(this.width=n.defaultSize[0],this.parent.style.width=this.parent.width=this.width+\"px\"),5e3==this.height&&(this.height=n.defaultSize[1],this.parent.style.height=this.parent.height=this.height+\"px\")):(n.size=n.defaultSize,this.width=n.size[0],this.height=n.size[1]),n.event?this.event=this.on(\"change\",n.event):this.event=!1,n}},init:{value:function(){this.buildFrame(),this.buildInterface(),this.sizeInterface(),this.attachListeners(),this.colorInterface(),this.finalTouches()}},buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){}},sizeInterface:{value:function(){}},colorInterface:{value:function(){}},attachListeners:{value:function(){var t=this;this.interactionTarget=this.interactionTarget||this.element,u.exists&&(this.interactionTarget.addEventListener(\"touchstart\",function(e){return t.preTouch(e)}),this.interactionTarget.addEventListener(\"touchmove\",function(e){return t.preTouchMove(e)}),this.interactionTarget.addEventListener(\"touchend\",function(e){return t.preTouchRelease(e)})),this.boundPreMove=function(e){return t.preMove(e)},this.boundPreRelease=function(e){return t.preRelease(e)},this.interactionTarget.addEventListener(\"mousedown\",function(e){return t.preClick(e)})}},finalTouches:{value:function(){this.element.style.cursor=\"pointer\"}},preClick:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.offset=h.findPosition(this.element),this.mouse=h.locateMouse(t,this.offset),this.clicked=!0,this.click(),this.moveEvent=document.addEventListener(\"mousemove\",this.boundPreMove),this.releaseEvent=document.addEventListener(\"mouseup\",this.boundPreRelease),this.emit(\"click\"),t.preventDefault(),t.stopPropagation()}},preMove:{value:function(t){var e=this;this.wait||(this.mouse=h.locateMouse(t,this.offset),this.move(),this.wait=!0,setTimeout(function(){e.wait=!1},25)),t.preventDefault(),t.stopPropagation()}},preRelease:{value:function(t){this.mouse=h.locateMouse(t,this.offset),this.clicked=!1,this.release(),this.emit(\"release\"),document.removeEventListener(\"mousemove\",this.boundPreMove),document.removeEventListener(\"mouseup\",this.boundPreRelease),t.preventDefault(),t.stopPropagation()}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},preTouch:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.offset=h.findPosition(this.element),this.mouse=h.locateTouch(t,this.offset),this.clicked=!0,this.touch(t),this.emit(\"click\"),t.preventDefault(),t.stopPropagation()}},preTouchMove:{value:function(t){this.clicked&&(this.mouse=h.locateTouch(t,this.offset),this.touchMove(),t.preventDefault(),t.stopPropagation())}},preTouchRelease:{value:function(t){this.mouse=h.locateTouch(t,this.offset),this.clicked=!1,this.touchRelease(),this.emit(\"release\"),t.preventDefault(),t.stopPropagation()}},touch:{value:function(){this.click()}},touchMove:{value:function(){this.move()}},touchRelease:{value:function(){this.release()}},resize:{value:function(t,e){this.width=t,this.height=e,this.parent.style.width=this.width+\"px\",this.parent.style.height=this.height+\"px\",this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.sizeInterface()}},empty:{value:function(){for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild)}},destroy:{value:function(){this.empty(),this.parent.removeChild(this.element),this.removeAllListeners(),this.instrument&&delete this.instrument[this.id],this.customDestroy()}},customDestroy:{value:function(){}},colorize:{value:function(t,e){this.colors[t]=e,this.colorInterface()}}}),e}(c);t.exports=d},function(t,e){\"use strict\";e.findPosition=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX}},e.parseElement=function(t){return\"string\"==typeof t&&(t=document.getElementById(t.replace(\"#\",\"\"))),t instanceof HTMLElement||t instanceof SVGElement?t:\"No valid parent argument\"},e.locateMouse=function(t,e){return{x:t.pageX-e.left,y:t.pageY-e.top}},e.locateTouch=function(t,e){return{x:!!t.targetTouches.length&&t.targetTouches[0].pageX-e.left,y:!!t.targetTouches.length&&t.targetTouches[0].pageY-e.top}},e.SmartCanvas=function(t){var e=this;this.element=document.createElement(\"canvas\"),this.context=this.element.getContext(\"2d\"),t.appendChild(this.element),this.resize=function(t,i){e.element.width=2*t,e.element.height=2*i,e.element.style.width=t+\"px\",e.element.style.height=i+\"px\"}}},function(t,e){\"use strict\";e.isObject=function(t){return\"object\"==typeof t&&!Array.isArray(t)&&null!==t&&t instanceof SVGElement==!1&&t instanceof HTMLElement==!1}},function(t,e){\"use strict\";e.exists=\"ontouchstart\"in document.documentElement},function(t,e){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return\"function\"==typeof t}function s(t){return\"number\"==typeof t}function r(t){return\"object\"==typeof t&&null!==t}function o(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!s(t)||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,i,s,a,h,l;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||r(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw u.context=e,u}if(i=this._events[t],o(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(r(i))for(a=Array.prototype.slice.call(arguments,1),l=i.slice(),s=l.length,h=0;h<s;h++)l[h].apply(this,a);return!0},i.prototype.addListener=function(t,e){var s;if(!n(e))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",t,n(e.listener)?e.listener:e),this._events[t]?r(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,r(this._events[t])&&!this._events[t].warned&&(s=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[t].length),\"function\"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function i(){this.removeListener(t,i),s||(s=!0,e.apply(this,arguments))}if(!n(e))throw TypeError(\"listener must be a function\");var s=!1;return i.listener=e,this.on(t,i),this},i.prototype.removeListener=function(t,e){var i,s,o,a;if(!n(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(i=this._events[t],o=i.length,s=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(r(i)){for(a=o;a-- >0;)if(i[a]===e||i[a].listener&&i[a].listener===e){s=a;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(s,1),this._events.removeListener&&this.emit(\"removeListener\",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\"removeListener\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){return this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=i(5),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?1:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?0:arguments[3];s(this,t),this.min=e,this.max=i,this.step=n,this.value=r,this.changed=!1,this.oldValue=!1,this.update(this.value)}return n(t,{update:{value:function(t){return this.step?this.value=r.clip(Math.round((t-this.min)/this.step)*this.step+this.min,this.min,this.max):this.value=r.clip(t,this.min,this.max),this.oldValue!==this.value?(this.oldValue=this.value,this.changed=!0):this.changed=!1,this.value}},updateNormal:{value:function(t){return this.value=r.scale(t,0,1,this.min,this.max),this.update(this.value)}},normalized:{get:function(){return r.normalize(this.value,this.min,this.max)}}}),t}();t.exports=o},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")};Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(i(5)),a=n(i(13));e.Handle=function(){function t(){var e=void 0===arguments[0]?\"absolute\":arguments[0],i=void 0===arguments[1]?\"vertical\":arguments[1],n=void 0===arguments[2]?[0,100]:arguments[2],s=void 0===arguments[3]?[0,100]:arguments[3];r(this,t),this.mode=e,this.direction=i,this.previous=0,this.value=0,this.sensitivity=1,this.resize(n,s)}return s(t,{resize:{value:function(t,e){this.boundary={min:{x:t[0],y:e[0]},max:{x:t[1],y:e[1]},center:{x:(t[1]-t[0])/2+t[0],y:(e[1]-e[0])/2+e[0]}}}},anchor:{set:function(t){this._anchor=this.convertPositionToValue(t)},get:function(){return this._anchor}},update:{value:function(t){if(\"relative\"===this.mode){var e=this.convertPositionToValue(t)-this.anchor;Math.abs(e)>.5&&(e=0),this.anchor=t,this.value=this.value+e*this.sensitivity}else this.value=this.convertPositionToValue(t);this.value=o.clip(this.value,0,1)}},convertPositionToValue:{value:function(t){switch(this.direction){case\"radial\":var e=o.toPolar(t.x-this.boundary.center.x,t.y-this.boundary.center.y);return e=e.angle/(2*Math.PI),e=(e-.25+1)%1;case\"vertical\":return o.scale(t.y,this.boundary.min.y,this.boundary.max.y,0,1);case\"horizontal\":return o.scale(t.x,this.boundary.min.x,this.boundary.max.x,0,1)}}}}),t}(),e.Button=function(){function t(){var e=void 0===arguments[0]?\"button\":arguments[0];r(this,t),this.mode=e,this.state=new a,this.paintbrush=!1}return s(t,{click:{value:function(){switch(this.mode){case\"impulse\":this.state.on(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.state.off.bind(this),30),this.emit(\"change\",this.state);break;case\"button\":this.turnOn(),this.emit(\"change\",this.state);break;case\"aftertouch\":this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.turnOn(),this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y});break;case\"toggle\":this.flip(),this.emit(\"change\",this.state)}}},move:{value:function(){\"aftertouch\"===this.mode&&(this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},release:{value:function(){switch(this.mode){case\"button\":this.turnOff(),this.emit(\"change\",this.state);break;case\"aftertouch\":this.turnOff(),this.position={x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y})}}}}),t}()},function(t,e){\"use strict\";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},s=function(){function t(e){n(this,t),this.state=e||!1}return i(t,{flip:{value:function(t){this.state=t||!1===t?t:!this.state}},on:{value:function(){this.state=!0}},off:{value:function(){this.state=!1}}}),t}();t.exports=s},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=[\"min\",\"max\",\"value\"],i={size:[120,20],mode:\"relative\",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.orientation=\"vertical\",this._value=new l(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.init(),this.position.direction=this.orientation,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.fillbar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.width<this.height?this.orientation=\"vertical\":this.orientation=\"horizontal\",this.position&&this.position.resize([0,this.width],[this.height,0]);var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},\"vertical\"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s=\"translate(\"+-1*this.thickness/2+\",0)\",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s=\"translate(0,\"+-1*this.thickness/2+\")\",r=n/2),this.bar.setAttribute(\"x\",t),this.bar.setAttribute(\"y\",e),this.bar.setAttribute(\"transform\",s),this.bar.setAttribute(\"rx\",r),this.bar.setAttribute(\"ry\",r),this.bar.setAttribute(\"width\",i),this.bar.setAttribute(\"height\",n),\"vertical\"===this.orientation?(this.fillbar.setAttribute(\"x\",t),this.fillbar.setAttribute(\"y\",this.knobData.level),this.fillbar.setAttribute(\"width\",i),this.fillbar.setAttribute(\"height\",n-this.knobData.level)):(this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"y\",e),this.fillbar.setAttribute(\"width\",this.knobData.level),this.fillbar.setAttribute(\"height\",n)),this.fillbar.setAttribute(\"transform\",s),this.fillbar.setAttribute(\"rx\",r),this.fillbar.setAttribute(\"ry\",r),\"vertical\"===this.orientation?(this.knob.setAttribute(\"cx\",t),this.knob.setAttribute(\"cy\",this.knobData.level)):(this.knob.setAttribute(\"cx\",this.knobData.level),this.knob.setAttribute(\"cy\",e)),this.knob.setAttribute(\"r\",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute(\"fill\",this.colors.fill),this.fillbar.setAttribute(\"fill\",this.colors.accent),this.knob.setAttribute(\"fill\",this.colors.accent)}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute(\"r\",this.knobData.r),\"vertical\"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute(\"cy\",this.height-this.knobData.level),this.fillbar.setAttribute(\"y\",this.height-this.knobData.level),this.fillbar.setAttribute(\"height\",this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute(\"cx\",this.knobData.level),this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"width\",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this._value.updateNormal(this.position.value),this.emit(\"change\",this._value.value),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit(\"change\",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(13),l=i(6),u=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[40,20],target:!1,state:!1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._state=new h(this.settings.state),this.init()}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.height<this.width/2?this.knobSize=this.height/2:this.knobSize=this.width/4,this.bar.setAttribute(\"x\",this.width/2-1.5*this.knobSize),this.bar.setAttribute(\"y\",this.height/2-this.knobSize/2),this.bar.setAttribute(\"rx\",this.knobSize/2),this.bar.setAttribute(\"ry\",this.knobSize/2),this.bar.setAttribute(\"width\",3*this.knobSize),this.bar.setAttribute(\"height\",this.knobSize),this.knob.setAttribute(\"cx\",this.width/2-this.knobSize),this.knob.setAttribute(\"cy\",this.height/2),this.knob.setAttribute(\"r\",this.knobSize)}},colorInterface:{value:function(){this.knob.setAttribute(\"fill\",this.colors.accent),this.render()}},render:{value:function(){this.state?(this.knob.setAttribute(\"cx\",this.width/2+this.knobSize),this.bar.setAttribute(\"fill\",this.colors.accent)):(this.knob.setAttribute(\"cx\",this.width/2-this.knobSize),this.bar.setAttribute(\"fill\",this.colors.fill))}},click:{value:function(){this.flip(),this.render(),this.emit(\"change\",this.state)}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),this.emit(\"change\",this.state),this.render()}},flip:{value:function(){this._state.flip(),this.render()}}}),e}(l);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(17),l=function(t){function e(){o(this,e);var t=[\"mode\"],i={size:[80,80],mode:\"aftertouch\",state:!1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.mode=this.settings.mode,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create(\"circle\"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.defs=a.create(\"defs\"),this.element.appendChild(this.defs),this.gradient=a.radialGradient(this.defs,2),this.gradient.stops[0].setAttribute(\"offset\",\"30%\"),this.gradient.stops[1].setAttribute(\"offset\",\"100%\")}},sizeInterface:{value:function(){this.pad.setAttribute(\"cx\",this.width/2),this.pad.setAttribute(\"cy\",this.height/2),this.pad.setAttribute(\"r\",Math.min(this.width,this.height)/2-this.width/40),this.pad.setAttribute(\"stroke-width\",this.width/20)}},colorInterface:{value:function(){this.gradient.stops[0].setAttribute(\"stop-color\",this.colors.accent),this.gradient.stops[1].setAttribute(\"stop-color\",this.colors.fill),this.render()}},render:{value:function(){this.state?(\"aftertouch\"===this.mode?(this.pad.setAttribute(\"stroke\",\"url(#\"+this.gradient.id+\")\"),this.gradient.element.setAttribute(\"cx\",100*this.position.x+\"%\"),this.gradient.element.setAttribute(\"cy\",100*(1-this.position.y)+\"%\")):this.pad.setAttribute(\"stroke\",this.colors.accent),this.pad.setAttribute(\"fill\",this.colors.accent)):(this.pad.setAttribute(\"fill\",this.colors.fill),this.pad.setAttribute(\"stroke\",this.colors.mediumLight))}}}),e}(h);t.exports=l},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(13),u=i(6),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,t,i,n),this.mode=this.settings.mode||\"button\",this.position={x:0,y:0},this._state=new l(this.settings.state)}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create(\"circle\"),this.pad.setAttribute(\"fill\",\"#d18\"),this.pad.setAttribute(\"stroke\",\"#d18\"),this.pad.setAttribute(\"stroke-width\",4),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.sizeInterface()}},sizeInterface:{value:function(){this.pad.setAttribute(\"cx\",this.width/2),this.pad.setAttribute(\"cy\",this.height/2),this.pad.setAttribute(\"r\",Math.min(this.width,this.height)/2-2)}},render:{value:function(){this.state?(this.pad.setAttribute(\"fill\",this.colors.accent),this.pad.setAttribute(\"stroke\",this.colors.accent)):(this.pad.setAttribute(\"fill\",this.colors.fill),this.pad.setAttribute(\"stroke\",this.colors.mediumLight))}},down:{value:function(t){switch(this.mode){case\"impulse\":this.turnOn(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.turnOff.bind(this),30);break;case\"button\":this.turnOn();break;case\"aftertouch\":this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.turnOn();break;case\"toggle\":this.flip(t)}}},bend:{value:function(t){\"aftertouch\"===this.mode&&(this.mouse=t||this.mouse,this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},up:{value:function(){switch(this.mode){case\"button\":this.turnOff();break;case\"aftertouch\":this.turnOff(),this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)}}}},click:{value:function(){this.down()}},move:{value:function(){this.bend()}},release:{value:function(){this.up()}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state),this.render()}},flip:{value:function(t){this._state.flip(t),\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state),this.render()}},turnOn:{value:function(t){this._state.on(),!1!==t&&(\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state)),this.render()}},turnOff:{value:function(t){this._state.off(),!1!==t&&(\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state)),this.render()}}}),e}(u);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(17),h=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[150,50],state:!1,text:\"Play\"};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._text=this.settings.text,this.settings.alternate&&(this.settings.alternateText=this.settings.alternate,console.warn(\"'alternate' initiator is deprecated. Use 'alternateText' instead.\")),this._alternateText=this.settings.alternateText,this.mode=this.settings.alternateText?\"toggle\":\"button\",this.init(),this.render(),this.state=this.settings.state}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.parent.appendChild(this.element),this.textElement=document.createElement(\"div\"),this.textElement.innerHTML=this._text,this.element.appendChild(this.textElement)}},buildInterface:{value:function(){}},colorInterface:{value:function(){this.element.style.color=this.colors.dark,this.render()}},sizeInterface:{value:function(){var t=this.height/3,e=this.width/(this._text.length+2);if(t=Math.min(t,e),this.alternateText){var i=this.width/(this.alternateText.length+2);t=Math.min(t,i)}var n=\"width: \"+this.width+\"px;\";n+=\"height: \"+this.height+\"px;\",n+=\"padding: \"+(this.height-t)/2+\"px 0px;\",n+=\"box-sizing: border-box;\",n+=\"text-align: center;\",n+=\"font-family: inherit;\",n+=\"font-weight: 700;\",n+=\"opacity: 1;\",n+=\"font-size:\"+t+\"px;\",this.textElement.style.cssText=n,this.render()}},render:{value:function(){this.state?(this.element.style.backgroundColor=this.colors.accent,this.textElement.style.color=this.colors.fill,this.alternateText?this.textElement.innerHTML=this._alternateText:this.textElement.innerHTML=this._text):(this.element.style.backgroundColor=this.colors.fill,this.textElement.style.color=this.colors.dark,this.textElement.innerHTML=this._text)}},alternateText:{get:function(){return this._alternateText},set:function(t){this.mode=t?\"toggle\":\"button\",this._alternateText=t,this.render()}},text:{get:function(){return this._text},set:function(t){this._text=t,this.sizeInterface(),this.render()}}}),e}(a);t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(6),h=i(16),l=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[120,25],numberOfButtons:4,active:-1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.buttons=[],this._numberOfButtons=this.settings.numberOfButtons,this.active=this.settings.active,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++){var e=document.createElement(\"span\"),i=new h(e,{mode:\"toggle\",component:!0},this.update.bind(this,t));this.buttons.push(i),this.element.appendChild(e)}}},sizeInterface:{value:function(){for(var t=this.width/this._numberOfButtons,e=this.height,i=0;i<this._numberOfButtons;i++)this.buttons[i].resize(t,e)}},colorInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++)this.buttons[t].colors=this.colors,this.buttons[t].render()}},update:{value:function(t){this.buttons[t].state?this.select(t):this.deselect()}},render:{value:function(){for(var t=0;t<this.buttons.length;t++)t===this.active?this.buttons[t].turnOn(!1):this.buttons[t].turnOff(!1)}},select:{value:function(t){t>=0&&t<this.buttons.length&&(this.active=t,this.emit(\"change\",this.active),this.render())}},deselect:{value:function(){this.active=-1,this.emit(\"change\",this.active),this.render()}},numberOfButtons:{get:function(){return this._numberOfButtons},set:function(t){this._numberOfButtons=t;for(var e=0;e<this.buttons.length;e++)this.buttons[e].destroy();this.buttons=[],this.empty(),this.buildInterface()}}}),e}(a);t.exports=l},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(6),h=i(11),l=i(5),u=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[60,30],value:0,min:0,max:2e4,step:1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._value=new h(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.decimalPlaces=2,this.actual=0,this.max=this._value.max,this.min=this._value.min,this.step=this._value.step,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"input\"),this.element.type=\"text\",this.element.addEventListener(\"blur\",function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.value!==this.value&&(this.value=parseFloat(this.element.value),this.render())}.bind(this)),this.element.addEventListener(\"keydown\",function(t){(t.which<48||t.which>57)&&189!==t.which&&190!==t.which&&8!==t.which&&t.preventDefault(),13===t.which&&(this.element.blur(),this.value=this.element.value,this.emit(\"change\",this.value),this.render())}.bind(this)),this.parent.appendChild(this.element)}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height);var t=\"width: \"+this.width+\"px;\";t+=\"height: \"+this.height+\"px;\",t+=\"background-color: #e7e7e7;\",t+=\"color: #333;\",t+=\"font-family: arial;\",t+=\"font-weight: 500;\",t+=\"font-size:\"+this._minDimension/2+\"px;\",t+=\"border: none;\",t+=\"outline: none;\",t+=\"padding: \"+this._minDimension/4+\"px \"+this._minDimension/4+\"px;\",t+=\"box-sizing: border-box;\",t+=\"userSelect: text;\",t+=\"mozUserSelect: text;\",t+=\"webkitUserSelect: text;\",this.element.style.cssText+=t,this.element.value=this.value}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark}},render:{value:function(){this.element.value=l.prune(this.value,this.decimalPlaces)}},click:{value:function(){this.hasMoved=!1,this.element.readOnly=!0,this.actual=this.value,this.initial={y:this.mouse.y},this.changeFactor=l.invert(this.mouse.x/this.width),console.log(this.changeFactor)}},move:{value:function(){if(this.hasMoved=!0,this.clicked){var t=this.actual-(this.mouse.y-this.initial.y)*(l.clip(this.max-this.min,0,1e3)/200)*Math.pow(this.changeFactor,2);this.value=t,this.render(),this._value.changed&&this.emit(\"change\",this.value)}}},release:{value:function(){this.hasMoved?document.body.focus():(this.element.readOnly=!1,this.element.focus(),this.element.setSelectionRange(0,this.element.value.length),this.element.style.backgroundColor=this.colors.accent,this.element.style.color=this.colors.light)}},link:{value:function(t){var e=this;this.min=t.min,this.max=t.max,this.step=t.step,t.on(\"change\",function(t){e.passiveUpdate(t)}),this.on(\"change\",function(e){t.value=e}),this.value=t.value}},passiveUpdate:{value:function(t){this._value.update(t),this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.emit(\"change\",this.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}}}),e}(a);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(6),h=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[100,30],options:[\"default\",\"options\"]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._selectedIndex=-1,this._value=!1,this._options=this.settings.options,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"select\"),this.element.style.fontSize=this.height/2+\"px\",this.element.style.outline=\"none\",this.element.style.highlight=\"none\",this.element.style.width=this.width+\"px\",this.element.style.height=this.height+\"px\",this.boundRender=this.render.bind(this),this.element.addEventListener(\"change\",this.boundRender),this.parent.appendChild(this.element)}},attachListeners:{value:function(){}},buildInterface:{value:function(){this.defineOptions()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.style.border=\"solid 0px \"+this.colors.mediumLight}},render:{value:function(){this._value=this.element.options[this.element.selectedIndex].text,this._selectedIndex=this.element.selectedIndex,this.emit(\"change\",{value:this._value,index:this._selectedIndex})}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},defineOptions:{value:function(t){t&&(this._options=t);for(var e=this.element.options.length-1;e>=0;e--)this.element.remove(e);for(var e=0;e<this._options.length;e++)this.element.options.add(new Option(this._options[e],e))}},value:{get:function(){return this._value},set:function(t){this._value=t;for(var e=0;e<this.element.options.length;e++)if(t===this.element.options[e].text){this.selectedIndex=e;break}}},selectedIndex:{get:function(){return this._selectedIndex},set:function(t){this._selectedIndex=t,this.element.selectedIndex=t,this.render()}},customDestroy:{value:function(){this.element.removeEventListener(\"change\",this.boundRender)}}}),e}(a);t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=[\"min\",\"max\",\"value\"],i={size:[75,75],interaction:\"radial\",mode:\"relative\",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.interaction=this.settings.interaction,this._value=new u(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new c.Handle(this.settings.mode,this.interaction,[0,this.width],[this.height,0]),this.init(),this.value=this._value.value,this.position.value=this._value.normalized,this.previousAngle=!1,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.background=a.create(\"circle\"),this.screw=a.create(\"circle\"),this.handle=a.create(\"path\"),this.handle2=a.create(\"path\"),this.handleFill=a.create(\"path\"),this.handle2Fill=a.create(\"path\"),this.handleLine=a.create(\"path\"),this.element.appendChild(this.background),this.element.appendChild(this.handle),this.element.appendChild(this.handle2),this.element.appendChild(this.handleFill),this.element.appendChild(this.handle2Fill),this.element.appendChild(this.handleLine),this.element.appendChild(this.screw)}},sizeInterface:{value:function(){this.position.resize([0,this.width],[this.height,0]);var t={x:this.width/2,y:this.height/2},e=Math.min(this.width,this.height);this.background.setAttribute(\"cx\",t.x),this.background.setAttribute(\"cy\",t.y),this.background.setAttribute(\"r\",e/2-e/40),this.screw.setAttribute(\"cx\",t.x),this.screw.setAttribute(\"cy\",t.y),this.screw.setAttribute(\"r\",e/12);var i=this.value,n={start:1.5*Math.PI,end:h.clip(h.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(t.x,t.y,e/2-e/40,n.start,n.end),o=a.arc(t.x,t.y,e/2-e/40,s.start,s.end);this.handle.setAttribute(\"d\",r),this.handle.setAttribute(\"stroke-width\",e/20),this.handle.setAttribute(\"fill\",\"none\"),this.handle2.setAttribute(\"d\",o),this.handle2.setAttribute(\"stroke-width\",e/20),this.handle2.setAttribute(\"fill\",\"none\"),r+=\" L \"+t.x+\" \"+t.y,this.handleFill.setAttribute(\"d\",r),this.handleFill.setAttribute(\"fill-opacity\",\"0.3\"),o+=\" L \"+t.x+\" \"+t.y,this.handle2Fill.setAttribute(\"d\",o),this.handle2Fill.setAttribute(\"fill-opacity\",\"0.3\");var l=void 0;l=i<.5?n.end:s.end;var u=t.x+Math.cos(l)*(e/2),c=t.y+Math.sin(l)*(e/2)*-1;this.handleLine.setAttribute(\"d\",\"M \"+t.x+\" \"+t.y+\" L \"+u+\" \"+c),this.handleLine.setAttribute(\"stroke-width\",e/20)}},colorInterface:{value:function(){this.background.setAttribute(\"fill\",this.colors.fill),this.screw.setAttribute(\"fill\",this.colors.accent),this.handle.setAttribute(\"stroke\",this.colors.accent),this.handle2.setAttribute(\"stroke\",this.colors.accent),this.handleFill.setAttribute(\"fill\",this.colors.accent),this.handle2Fill.setAttribute(\"fill\",this.colors.accent),this.handleLine.setAttribute(\"stroke\",this.colors.accent)}},render:{value:function(){var t=this._value.normalized,e={x:this.width/2,y:this.height/2},i=Math.min(this.width,this.height),n={start:1.5*Math.PI,end:h.clip(h.scale(t,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(t,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(e.x,e.y,i/2-i/40,n.start,n.end),o=a.arc(e.x,e.y,i/2-i/40,s.start,s.end);this.handle.setAttribute(\"d\",r),this.handle2.setAttribute(\"d\",o),r+=\" L \"+e.x+\" \"+e.y,this.handleFill.setAttribute(\"d\",r),o+=\" L \"+e.x+\" \"+e.y,this.handle2Fill.setAttribute(\"d\",o);var l=void 0;l=t<=.5?n.end:s.end;var u=e.x+Math.cos(l)*(i/2),c=e.y+Math.sin(l)*(i/2)*-1;this.handleLine.setAttribute(\"d\",\"M \"+e.x+\" \"+e.y+\" L \"+u+\" \"+c)}},click:{value:function(){\"relative\"===this.mode&&(this.previousAngle=!1),this.position.anchor=this.mouse,this.position.value=this._value.normalized,this.move()}},move:{value:function(){if(this.clicked){this.position.update(this.mouse);var t=this.position.value*Math.PI*2;t<0&&(t+=2*Math.PI),\"relative\"===this.mode&&!1!==this.previousAngle&&Math.abs(this.previousAngle-t)>2&&(t=this.previousAngle>3?2*Math.PI:0),this.previousAngle=t;var e=t/(2*Math.PI);this.value=this._value.updateNormal(e),\"relative\"===this.mode&&(this.position.value=e),this.emit(\"change\",this._value.value),this.render()}}},release:{value:function(){}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit(\"change\",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}},normalized:{get:function(){return this._value.normalized},set:function(t){this._value.updateNormal(t),this.emit(\"change\",this.value)}}}),e}(l);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(17),u=i(9),c=function(t){function e(){o(this,e);var t=[\"value\",\"note\",\"color\"],i={size:[80,80],target:!1,mode:\"button\",value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.note=this.settings.note,this.color=this.settings.color,this.colors={w:\"#fff\",b:\"#666\"},this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create(\"rect\"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,u.exists||(this.click=function(){t.piano.interacting=!0,t.piano.paintbrush=!t.state,t.down(t.piano.paintbrush)},this.pad.addEventListener(\"mouseover\",function(){t.piano.interacting&&t.down(t.piano.paintbrush)}),this.move=function(){t.piano.interacting&&t.bend()},this.release=function(){t.piano.interacting=!1},this.pad.addEventListener(\"mouseup\",function(){t.piano.interacting&&t.up()}),this.pad.addEventListener(\"mouseout\",function(){t.piano.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute(\"x\",.5),this.pad.setAttribute(\"y\",.5),this.width>2?this.pad.setAttribute(\"width\",this.width-1):this.pad.setAttribute(\"width\",this.width),this.height,this.pad.setAttribute(\"height\",this.height),this.pad.setAttribute(\"rx\",0),this.pad.setAttribute(\"ry\",0)}},render:{value:function(){this.state?this.pad.setAttribute(\"fill\",this.colors.accent):this.pad.setAttribute(\"fill\",this.colors[this.color])}}}),e}(l),f=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[500,125],lowNote:24,highNote:60,mode:\"button\"};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.keyPattern=[\"w\",\"b\",\"w\",\"b\",\"w\",\"w\",\"b\",\"w\",\"b\",\"w\",\"b\",\"w\"],this.paintbrush=!1,this.mode=this.settings.mode,this.range={low:this.settings.lowNote,high:this.settings.highNote},this.range.size=this.range.high-this.range.low,this.keys=[],this.toggleTo=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.element.style.position=\"relative\",this.element.style.borderRadius=\"0px\",this.element.style.display=\"block\",this.element.style.width=\"100%\",this.element.style.height=\"100%\",this.parent.appendChild(this.element)}},buildInterface:{value:function(){this.keys=[];for(var t=0;t<this.range.high-this.range.low;t++){var e=document.createElement(\"span\"),i=(t+this.range.low)%this.keyPattern.length,n=new c(e,{component:!0,note:t+this.range.low,color:this.keyPattern[i],mode:this.mode},this.keyChange.bind(this,t+this.range.low));n.piano=this,u.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.keys.push(n),this.element.appendChild(e)}u.exists&&this.addTouchListeners()}},sizeInterface:{value:function(){for(var t=0,e=[],i=0;i<this.range.high-this.range.low;i++){e.push(t);var n=(i+this.range.low)%this.keyPattern.length,s=(i+1+this.range.low)%this.keyPattern.length;i+1+this.range.low>=this.range.high?t+=1:\"w\"===this.keyPattern[n]&&\"w\"===this.keyPattern[s]?t+=1:t+=.5}for(var r=t,o=(this.width-2)/r,a=(this.height-2)/2,i=0;i<this.keys.length;i++){var h=this.keys[i].parent;h.style.position=\"absolute\",h.style.left=e[i]*o+1+\"px\",\"w\"===this.keys[i].color?(h.style.top=\"1px\",this.keys[i].resize(o,2*a)):(h.style.zIndex=1,h.style.top=\"1px\",this.keys[i].resize(o,1.1*a))}}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.mediumLight;for(var t=0;t<this.keys.length;t++)this.keys[t].colors={w:this.colors.light,b:this.colors.dark,accent:this.colors.accent,border:this.colors.mediumLight},this.keys[t].colorInterface(),this.keys[t].render()}},keyChange:{value:function(t,e){var i={note:t};i.state=\"object\"==typeof e?e.state:e,this.emit(\"change\",i)}},render:{value:function(){}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener(\"touchstart\",function(e){console.log(\"touchstart\");var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchmove\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];if(i.index!==t.currentElement){if(t.currentElement){t.keys[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.keys[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},setRange:{value:function(t,e){this.range.low=t,this.range.high=e,this.empty(),this.buildInterface()}},toggleKey:{value:function(t,e){this.keys[t-this.range.low].flip(e)}},toggleIndex:{value:function(t,e){this.keys[t].flip(e)}}}),e}(h);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(7),l=i(6),u=i(17),c=i(25),f=i(28),d=i(9),v=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[80,80],target:!1,mode:\"toggle\",value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.index=this.settings.index,this.row=this.settings.row,this.column=this.settings.column,this.matrix=this.settings.matrix,this.interacting=!1,this.paintbrush=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.element.style.top=\"0px\",this.element.style.left=\"0px\",this.element.style.position=\"absolute\",this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create(\"rect\"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,d.exists||(this.click=function(){t.matrix.interacting=!0,t.matrix.paintbrush=!t.state,t.down(t.matrix.paintbrush)},this.pad.addEventListener(\"mouseover\",function(){t.matrix.interacting&&t.down(t.matrix.paintbrush)}),this.move=function(){},this.pad.addEventListener(\"mousemove\",function(e){t.matrix.interacting&&(t.offset||(t.offset=h.findPosition(t.element)),t.mouse=h.locateMouse(e,t.offset),t.bend())}),this.release=function(){t.matrix.interacting=!1},this.pad.addEventListener(\"mouseup\",function(){t.matrix.interacting&&t.up()}),this.pad.addEventListener(\"mouseout\",function(){t.matrix.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute(\"x\",1),this.pad.setAttribute(\"y\",1),this.width>2?this.pad.setAttribute(\"width\",this.width-2):this.pad.setAttribute(\"width\",this.width),this.height>2?this.pad.setAttribute(\"height\",this.height-2):this.pad.setAttribute(\"height\",this.height),this.pad.setAttribute(\"fill\",this.matrix.colors.fill)}},render:{value:function(){this.state?this.pad.setAttribute(\"fill\",this.matrix.colors.accent):this.pad.setAttribute(\"fill\",this.matrix.colors.fill)}}}),e}(u),p=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[400,200],mode:\"toggle\",rows:5,columns:10};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.active=-1,this.mode=this.settings.mode,this.interval=new Nexus.Interval(200,function(){},!1),this.matrix=new c(this.settings.rows,this.settings.columns),this.matrix.ui=this,this.stepper=new f(0,this.columns),this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.element.style.position=\"relative\",this.element.style.display=\"block\",this.element.style.width=\"100%\",this.element.style.height=\"100%\",this.parent.appendChild(this.element),d.exists&&this.addTouchListeners()}},buildInterface:{value:function(){this.cells=[];for(var t=0;t<this.matrix.length;t++){var e=this.matrix.locate(t),i=document.createElement(\"span\");i.style.position=\"absolute\";var n=new v(i,{component:!0,index:t,row:e.row,column:e.column,mode:this.mode,matrix:this},this.keyChange.bind(this,t));d.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.cells.push(n),this.element.appendChild(i)}this.sizeInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.columns,e=this.height/this.rows,i=0;i<this.cells.length;i++){var n=this.cells[i].parent;n.style.left=this.cells[i].column*t+\"px\",n.style.top=this.cells[i].row*e+\"px\",this.cells[i].resize(t,e)}}},colorInterface:{value:function(){for(var t=0;t<this.cells.length;t++)this.cells[t].render()}},update:{value:function(){var t=this;this.matrix.iterate(function(e,i,n){t.matrix.pattern[e][i]!==t.cells[n].state&&(t.matrix.pattern[e][i]>0?t.cells[n].turnOn():t.cells[n].turnOff())})}},keyChange:{value:function(t,e){var i=this.matrix.locate(t);this.matrix.pattern[i.row][i.column]=e;var n={row:i.row,column:i.column,state:e};this.emit(\"change\",n)}},render:{value:function(){var t=this;this.stepper.value>=0&&this.matrix.iterate(function(e,i,n){i===t.stepper.value?(t.cells[n].pad.setAttribute(\"stroke\",t.colors.mediumLight),t.cells[n].pad.setAttribute(\"stroke-width\",\"1\"),t.cells[n].pad.setAttribute(\"stroke-opacity\",\"1\")):t.cells[n].pad.setAttribute(\"stroke\",\"none\")})}},start:{value:function(t){this.interval.event=this.next.bind(this),t&&this.interval.ms(t),this.interval.start()}},stop:{value:function(){this.interval.stop()}},next:{value:function(){this.stepper.next(),this.emit(\"step\",this.matrix.column(this.stepper.value).reverse()),this.render()}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener(\"touchstart\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchmove\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];if(i.index!==t.currentElement){if(t.currentElement>=0){t.cells[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.cells[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},rows:{get:function(){return this.matrix.rows},set:function(t){this.matrix.rows=t,this.empty(),this.buildInterface(),this.update()}},columns:{get:function(){return this.matrix.columns},set:function(t){this.matrix.columns=t,this.stepper.max=t,this.empty(),this.buildInterface(),this.update()}}}),e}(l);t.exports=p},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},o=n(i(5)),a=n(i(26)),h=function(){function t(e,i){var n=this;r(this,t),this.pattern=[],this.create(e,i),this.toggle={cell:function(t,e){return n.pattern[e][t]=!n.pattern[e][t],n.ui&&n.ui.update(),n.pattern[e][t]},all:function(){n.iterate(function(t,e){n.toggle.cell(e,t)}),n.ui&&n.ui.update()},row:function(t){for(var e=0;e<n.columns;e++)n.toggle.cell(e,t);n.ui&&n.ui.update()},column:function(t){for(var e=0;e<n.rows;e++)n.toggle.cell(t,e);n.ui&&n.ui.update()}},this.set={cell:function(t,e,i){n.pattern[e][t]=i,n.ui&&n.ui.update()},all:function(t){n.pattern=t,n.ui&&n.ui.update()},row:function(t,e){n.pattern[t]=e,n.ui&&n.ui.update()},column:function(t,e){n.pattern.forEach(function(i,s){n.pattern[s][t]=e[s]}),n.ui&&n.ui.update()}},this.rotate={all:function(t){t||0===t||(t=1),(t%=n.pattern[0].length)<0&&(t=n.pattern[0].length+t);for(var e=0;e<n.rows;e++){var i=n.pattern[e].splice(n.pattern[e].length-t,t);n.pattern[e]=i.concat(n.pattern[e])}n.ui&&n.ui.update()},row:function(t,e){e||0===e||(e=1),(e%=n.pattern[0].length)<0&&(e=n.pattern[0].length+e);var i=n.pattern[t].splice(n.pattern[t].length-e,e);n.pattern[t]=i.concat(n.pattern[t]),n.ui&&n.ui.update()},column:function(t,e){e||0===e||(e=1),(e%=n.pattern.length)<0&&(e=n.pattern.length+e);var i=[];n.pattern.forEach(function(e){i.push(e[t])});var s=i.splice(i.length-e,e);i=s.concat(i),n.pattern.forEach(function(e,n){e[t]=i[n]}),n.ui&&n.ui.update()}},this.populate={all:function(t){var e=new a(t);n.iterate(function(t,i){n.pattern[t][i]=o.coin(e.next())}),n.ui&&n.ui.update()},row:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern[t].forEach(function(e,s){n.pattern[t][s]=o.coin(i.next())}),n.ui&&n.ui.update()},column:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern.forEach(function(e,s){n.pattern[s][t]=o.coin(i.next())}),n.ui&&n.ui.update()}},this.erase={all:function(){n.set.all(0)},row:function(t){n.set.row(t,0)},column:function(t){n.set.column(t,0)}}}return s(t,{create:{value:function(t,e){var i=this;this.pattern=[];for(var n=0;n<t;n++){var s=new Array(e);this.pattern.push(s)}this.iterate(function(t,e){i.pattern[t][e]=!1})}},iterate:{value:function(t,e){for(var i=0,n=0;n<this.rows;n++){e&&e(n);for(var s=0;s<this.columns;s++)t(n,s,i),i++}}},formatAsText:{value:function(){var t=this,e=\"\";return this.iterate(function(i,n){e+=(t.pattern[i][n]?1:0)+\" \"},function(){e+=\"\\n\"}),e}},log:{value:function(){console.log(this.formatAsText())}},update:{value:function(t){this.pattern=t||this.pattern}},length:{get:function(){return this.rows*this.columns}},locate:{value:function(t){return{row:~~(t/this.columns),column:t%this.columns}}},indexOf:{value:function(t,e){return e+t*this.columns}},row:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.columns;i++)e.push(this.pattern[t]?1:0);return e})},column:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.rows;i++)e.push(this.pattern[i][t]?1:0);return e})},rows:{get:function(){return this.pattern.length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(t,this.columns),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}},columns:{get:function(){return this.pattern[0].length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(this.rows,t),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?[0,10,20,30]:arguments[0],i=void 0===arguments[1]?\"up\":arguments[1],n=void 0!==arguments[2]&&arguments[2];r(this,t),this.values=e,Array.isArray(this.values)||(this.values=[this.values]),this._mode=i,this.position=n,this.drunkWalk=new a(0,this.values.length-1),this.startValues={up:0,down:this.values.length-1,drunk:~~(this.values.length/2),random:o.ri(this.values.length)},!1!==this.position?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{get:function(){return this._mode},set:function(t){if(\"up\"!==t&&\"down\"!==t&&\"random\"!==t&&\"drunk\"!==t)return void console.error(\"The only modes currently allowed are: up, down, random, drunk\");this._mode=t,this.position&&(this.next=this[this._mode])}},value:{get:function(){return this.values[this.position]},set:function(t){this.position=this.values.indexOf(t)}},first:{value:function(){return!1!==this.position?(this.next=this[this._mode],this.next()):(this.position=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.position++,this.position%=this.values.length,this.value}},down:{value:function(){return this.position--,this.position<0&&(this.position=(this.position+this.values.length)%this.values.length),this.value}},random:{value:function(){return this.position=o.ri(0,this.values.length),this.value}},drunk:{value:function(){return this.drunkWalk.max=this.values.length,this.drunkWalk.value=this.position,this.position=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?9:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?1:arguments[3],o=void 0!==arguments[4]&&arguments[4];s(this,t),this.min=e,this.max=i,this.value=n,this.increment=r,this.loop=o}return n(t,{next:{value:function(){return this.value+=r.pick(-1*this.increment,this.increment),this.value>this.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value<this.min&&(this.loop?this.value=this.max:this.value=this.min+this.increment),this.value}}}),t}();t.exports=o},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?10:arguments[1],n=void 0===arguments[2]?\"up\":arguments[2],s=void 0!==arguments[3]&&arguments[3];r(this,t),this.min=e,this.max=i,this.value=s,this.mode=n,this.drunkWalk=new a(this.min,this.max),!1!==this.value?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{set:function(t){if(\"up\"!==t&&\"down\"!==t&&\"random\"!==t&&\"drunk\"!==t)return void console.error(\"The only modes currently allowed are: up, down, random, drunk\");this._mode=t,this.value&&(this.next=this[this._mode])},get:function(){return this._mode}},first:{value:function(){return!1!==this.value?(this.next=this[this._mode],this.next()):(this.startValues={up:this.min,down:this.max,drunk:~~o.average(this.min,this.max),random:o.ri(this.min,this.max)},this.value=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.value++,this.value>=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value<this.min&&(this.value=this.max),this.value}},random:{value:function(){return this.value=o.ri(this.min,this.max),this.value}},drunk:{value:function(){return this.drunkWalk.min=this.min,this.drunkWalk.max=this.max,this.drunkWalk.value=this.value,this.value=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=[\"range\"],i={size:[200,200],range:.5,mode:\"absolute\",speakers:[[.5,.2],[.75,.25],[.8,.5],[.75,.75],[.5,.8],[.25,.75],[.2,.5],[.25,.25]]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.value={x:new u(0,1,0,.5),y:new u(0,1,0,.5)},this.mode=this.settings.mode,this.position={x:new c.Handle(this.mode,\"horizontal\",[0,this.width],[this.height,0]),y:new c.Handle(this.mode,\"vertical\",[0,this.width],[this.height,0])},this.position.x.value=this.value.x.normalized,this.position.y.value=this.value.y.normalized,this.speakers=this.settings.speakers,this.range=this.settings.range,this.levels=[],this.init(),this.calculateLevels(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create(\"circle\"),this.element.appendChild(this.knob),this.speakerElements=[];for(var t=0;t<this.speakers.length;t++){var e=a.create(\"circle\");this.element.appendChild(e),this.speakerElements.push(e)}}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:3*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute(\"cx\",this.width/2),this.knob.setAttribute(\"cy\",this.height/2),this.knob.setAttribute(\"r\",this.knobRadius.off);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t],i=this.speakers[t];e.setAttribute(\"cx\",i[0]*this.width),e.setAttribute(\"cy\",i[1]*this.height),e.setAttribute(\"r\",this._minDimension/20+5),e.setAttribute(\"fill-opacity\",\"0\")}this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this.calculateLevels(),this.render()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute(\"fill\",this.colors.mediumLight);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t];e.setAttribute(\"fill\",this.colors.accent),e.setAttribute(\"stroke\",this.colors.accent)}}},render:{value:function(){this.knobCoordinates={x:this.value.x.normalized*this.width,y:this.height-this.value.y.normalized*this.height},this.knob.setAttribute(\"cx\",this.knobCoordinates.x),this.knob.setAttribute(\"cy\",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this.calculateLevels(),this.emit(\"change\",this.levels),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return{x:this.value.x.normalized,y:this.value.y.normalized}}},calculateLevels:{value:function(){var t=this;this.value.x.updateNormal(this.position.x.value),this.value.y.updateNormal(this.position.y.value),this.levels=[],this.speakers.forEach(function(e,i){var n=h.distance(e[0]*t.width,e[1]*t.height,t.position.x.value*t.width,(1-t.position.y.value)*t.height),s=h.clip(1-n/(t.range*t.width),0,1);t.levels.push(s),t.speakerElements[i].setAttribute(\"fill-opacity\",s)})}},moveSource:{value:function(t,e){var i={x:t*this.width,y:e*this.height};this.position.x.update(i),this.position.y.update(i),this.calculateLevels(),this.emit(\"change\",this.levels),this.render()}},moveSpeaker:{value:function(t,e,i){this.speakers[t]=[e,i],this.speakerElements[t].setAttribute(\"cx\",e*this.width),this.speakerElements[t].setAttribute(\"cy\",i*this.height),this.calculateLevels(),this.emit(\"change\",this.levels),this.render()}}}),e}(l);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(5),h=i(4),l=i(6),u=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[80,80]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._active=!0,this.init(),this.boundUpdate=this.update.bind(this),window.DeviceOrientationEvent?this.orientationListener=window.addEventListener(\"deviceorientation\",this.boundUpdate,!1):(this._active=!1,this.colorInterface())}return r(e,t),n(e,{buildInterface:{value:function(){this.title=h.create(\"text\"),this.circleX=h.create(\"circle\"),this.circleY=h.create(\"circle\"),this.circleZ=h.create(\"circle\"),this.barX=h.create(\"path\"),this.barY=h.create(\"path\"),this.barZ=h.create(\"path\"),this.barX2=h.create(\"path\"),this.barY2=h.create(\"path\"),this.barZ2=h.create(\"path\"),this.barX.setAttribute(\"opacity\",\"0.8\"),this.barY.setAttribute(\"opacity\",\"0.8\"),this.barZ.setAttribute(\"opacity\",\"0.8\"),this.barX2.setAttribute(\"opacity\",\"0.8\"),this.barY2.setAttribute(\"opacity\",\"0.8\"),this.barZ2.setAttribute(\"opacity\",\"0.8\"),this.circleX.setAttribute(\"cx\",3*this.width/12),this.circleX.setAttribute(\"cy\",3*this.height/4),this.circleX.setAttribute(\"r\",this.height/10),this.circleX.setAttribute(\"opacity\",\"0.4\"),this.circleY.setAttribute(\"cx\",6*this.width/12),this.circleY.setAttribute(\"cy\",3*this.height/4),this.circleY.setAttribute(\"r\",this.height/10),this.circleY.setAttribute(\"opacity\",\"0.4\"),this.circleZ.setAttribute(\"cx\",9*this.width/12),this.circleZ.setAttribute(\"cy\",3*this.height/4),this.circleZ.setAttribute(\"r\",this.height/10),this.circleZ.setAttribute(\"opacity\",\"0.4\"),this.barX.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barY.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barZ.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barX.setAttribute(\"fill\",\"none\"),this.barY.setAttribute(\"fill\",\"none\"),this.barZ.setAttribute(\"fill\",\"none\"),this.barX2.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barY2.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barZ2.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barX2.setAttribute(\"fill\",\"none\"),this.barY2.setAttribute(\"fill\",\"none\"),this.barZ2.setAttribute(\"fill\",\"none\"),this.title.setAttribute(\"x\",this.width/2),this.title.setAttribute(\"y\",this.height/3+7),this.title.setAttribute(\"font-size\",\"15px\"),this.title.setAttribute(\"font-weight\",\"bold\"),this.title.setAttribute(\"letter-spacing\",\"2px\"),this.title.setAttribute(\"opacity\",\"0.7\"),this.title.setAttribute(\"text-anchor\",\"middle\"),this.title.textContent=\"TILT\",this.element.appendChild(this.circleX),this.element.appendChild(this.circleY),this.element.appendChild(this.circleZ),this.element.appendChild(this.barX),this.element.appendChild(this.barY),this.element.appendChild(this.barZ),this.element.appendChild(this.barX2),this.element.appendChild(this.barY2),this.element.appendChild(this.barZ2),this.element.appendChild(this.title)}},colorInterface:{value:function(){this._active?(this.element.style.backgroundColor=this.colors.accent,this.circleX.setAttribute(\"fill\",this.colors.light),this.circleY.setAttribute(\"fill\",this.colors.light),this.circleZ.setAttribute(\"fill\",this.colors.light),this.circleX.setAttribute(\"stroke\",this.colors.light),this.circleY.setAttribute(\"stroke\",this.colors.light),this.circleZ.setAttribute(\"stroke\",this.colors.light),this.barX.setAttribute(\"stroke\",this.colors.light),this.barY.setAttribute(\"stroke\",this.colors.light),this.barZ.setAttribute(\"stroke\",this.colors.light),this.barX2.setAttribute(\"stroke\",this.colors.light),this.barY2.setAttribute(\"stroke\",this.colors.light),this.barZ2.setAttribute(\"stroke\",this.colors.light),this.title.setAttribute(\"fill\",this.colors.light)):(this.element.style.backgroundColor=this.colors.fill,this.circleX.setAttribute(\"fill\",this.colors.mediumLight),this.circleY.setAttribute(\"fill\",this.colors.mediumLight),this.circleZ.setAttribute(\"fill\",this.colors.mediumLight),this.circleX.setAttribute(\"stroke\",this.colors.mediumLight),this.circleY.setAttribute(\"stroke\",this.colors.mediumLight),this.circleZ.setAttribute(\"stroke\",this.colors.mediumLight),this.barX.setAttribute(\"stroke\",this.colors.mediumLight),this.barY.setAttribute(\"stroke\",this.colors.mediumLight),this.barZ.setAttribute(\"stroke\",this.colors.mediumLight),this.barX2.setAttribute(\"stroke\",this.colors.mediumLight),this.barY2.setAttribute(\"stroke\",this.colors.mediumLight),this.barZ2.setAttribute(\"stroke\",this.colors.mediumLight),this.title.setAttribute(\"fill\",this.colors.mediumLight))}},update:{value:function(t){if(this._active){var e=t.beta,i=t.gamma,n=t.alpha;i=a.scale(i,-90,90,0,1),e=a.scale(e,-90,90,0,1),n=a.scale(n,0,360,0,1);var s={start:1.5*Math.PI,end:a.clip(a.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,s.start,s.end),l=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,r.start,r.end);this.barX.setAttribute(\"d\",o),this.barX2.setAttribute(\"d\",l),s={start:1.5*Math.PI,end:a.clip(a.scale(e,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(e,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,s.start,s.end),l=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,r.start,r.end),this.barY.setAttribute(\"d\",o),this.barY2.setAttribute(\"d\",l),s={start:1.5*Math.PI,end:a.clip(a.scale(n,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(n,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,s.start,s.end),l=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,r.start,r.end),this.barZ.setAttribute(\"d\",o),this.barZ2.setAttribute(\"d\",l),this.emit(\"change\",{x:i,y:e,z:n})}}},click:{value:function(){window.DeviceOrientationEvent&&(this.active=!this.active)}},active:{get:function(){return this._active},set:function(t){this._active=t,this.colorInterface()}},customDestroy:{value:function(){window.removeEventListener(\"deviceorientation\",this.boundUpdate,!1)}}}),e}(l);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(5),l=i(6),u=i(32),c=i(9),f=function(t){function e(){var t=this;o(this,e);var i=[\"scale\",\"value\"],n={size:[120,20],orientation:\"vertical\",mode:\"absolute\",scale:[0,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,i,n),c.exists||(this.click=function(){t.multislider.interacting=!0,t.multislider.interpolation={index:t.index,value:t.value},t.down(),t.multislider.values[t.index]=t.value},this.element.addEventListener(\"mouseover\",function(e){if(t.multislider.interacting){if(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.down(),t.multislider.values[t.index]=t.value,t.multislider.interpolation){var i=Math.abs(t.multislider.interpolation.index-t.index);if(i>1)for(var n=Math.min(t.multislider.interpolation.index,t.index),s=Math.max(t.multislider.interpolation.index,t.index),r=t.multislider.sliders[n].value,o=t.multislider.sliders[s].value,l=n;l<s;l++){t.multislider.sliders[l].value=h.interp((l-n)/i,r,o);var u=t.multislider.sliders[l].value;t.multislider.values[l]=u,t.multislider.update(l,u)}}t.multislider.interpolation={index:t.index,value:t.value}}}),this.move=function(){},this.element.addEventListener(\"mousemove\",function(e){t.multislider.interacting&&(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.slide(),t.multislider.values[t.index]=t.value)}),this.release=function(){t.multislider.interacting=!1,t.multislider.interpolation=!1},this.element.addEventListener(\"mouseup\",function(){t.multislider.interacting&&(t.up(),t.multislider.interpolation=!1,t.multislider.values[t.index]=t.value)}),this.element.addEventListener(\"mouseout\",function(){t.multislider.interacting&&(t.up(),t.multislider.values[t.index]=t.value)})),this.customStyle()}return r(e,t),n(e,{customStyle:{value:function(){this.bar.setAttribute(\"x\",0),this.bar.setAttribute(\"transform\",\"translate(0,0)\"),this.bar.setAttribute(\"rx\",0),this.bar.setAttribute(\"ry\",0),this.bar.setAttribute(\"width\",this.width),this.bar.setAttribute(\"height\",this.height),this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"transform\",\"translate(0,0)\"),this.fillbar.setAttribute(\"rx\",0),this.fillbar.setAttribute(\"ry\",0),this.fillbar.setAttribute(\"width\",this.width),this.fillbar.setAttribute(\"height\",this.height)}}}),e}(u),d=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[200,100],numberOfSliders:5,min:0,max:1,step:0,values:[.7,.7,.7,.7,.7]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._numberOfSliders=this.settings.numberOfSliders,this.values=this.settings.values,this.sliders=[],this.interacting=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this.settings.min,e=this.settings.max,i=this.settings.step;this.sliders.length&&(t=this.sliders[0].min,e=this.sliders[0].max,i=this.sliders[0].step),this.sliders=[];for(var n=0;n<this._numberOfSliders;n++){var s=document.createElement(\"span\"),r=new f(s,{scale:[t,e],step:i,mode:\"absolute\",orientation:\"vertical\",value:this.values[n],hasKnob:!1,component:!0},this.update.bind(this,n));r.multislider=this,r.index=n,c.exists&&(r.bar.index=n,r.fillbar.index=n,r.preClick=r.preMove=r.preRelease=function(){},r.click=r.move=r.release=function(){},r.preTouch=r.preTouchMove=r.preTouchRelease=function(){},r.touch=r.touchMove=r.touchRelease=function(){}),this.sliders.push(r),this.element.appendChild(s)}c.exists&&this.addTouchListeners()}},colorInterface:{value:function(){for(var t=0;t<this.sliders.length;t++)this.sliders[t].colors=this.colors,this.sliders[t].colorInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.sliders.length,e=this.height,i=0;i<this.sliders.length;i++)this.sliders[i].resize(t,e),this.sliders[i].customStyle()}},update:{value:function(t,e){this.emit(\"change\",{index:t,value:e})}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener(\"touchstart\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),n.down(),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchmove\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];if(n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),i.index!==t.currentElement){if(t.currentElement>=0){t.sliders[t.currentElement].up()}n.down()}else n.slide();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.sliders[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},numberOfSliders:{get:function(){return this.sliders.length},set:function(t){t!==this.sliders.length&&(this.sliders.forEach(function(t){t.destroy()}),this.empty(),this._numberOfSliders=t,this.buildInterface())}},min:{get:function(){return this.sliders[0].min},set:function(t){this.sliders.forEach(function(e){e.min=t})}},max:{get:function(){return this.sliders[0].max},set:function(t){this.sliders.forEach(function(e){e.max=t})}},step:{get:function(){return this.sliders[0].step},set:function(t){this.sliders.forEach(function(e){e.step=t})}},setSlider:{value:function(t,e){this.sliders[t].value=e,this.emit(\"change\",{index:t,value:e})}},setAllSliders:{value:function(t){var e=this;this.values=t,this.sliders.forEach(function(i,n){i.value=t[n%t.length],e.emit(\"change\",{index:n,value:i.value})})}}}),e}(l);t.exports=d},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,t,i,n),this.orientation=this.settings.orientation,this.hasKnob=this.settings.hasKnob,this._value=new l(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.fillbar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob),this.sizeInterface()}},sizeInterface:{value:function(){this.settings.orientation||(this.width<this.height?this.orientation=\"vertical\":this.orientation=\"horizontal\");var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},\"vertical\"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.normalized*n,s=\"translate(\"+-1*this.thickness/2+\",0)\",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*i,s=\"translate(0,\"+-1*this.thickness/2+\")\",r=n/2),this.bar.setAttribute(\"x\",t),this.bar.setAttribute(\"y\",e),this.bar.setAttribute(\"transform\",s),this.bar.setAttribute(\"rx\",r),this.bar.setAttribute(\"ry\",r),this.bar.setAttribute(\"width\",i),this.bar.setAttribute(\"height\",n),\"vertical\"===this.orientation?(this.fillbar.setAttribute(\"x\",t),this.fillbar.setAttribute(\"y\",this.knobData.level),this.fillbar.setAttribute(\"width\",i),this.fillbar.setAttribute(\"height\",n-this.knobData.level)):(this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"y\",e),this.fillbar.setAttribute(\"width\",this.knobData.level),this.fillbar.setAttribute(\"height\",n)),this.fillbar.setAttribute(\"transform\",s),this.fillbar.setAttribute(\"rx\",r),this.fillbar.setAttribute(\"ry\",r),\"vertical\"===this.orientation?(this.knob.setAttribute(\"cx\",t),this.knob.setAttribute(\"cy\",this.knobData.level)):(this.knob.setAttribute(\"cx\",this.knobData.level),this.knob.setAttribute(\"cy\",e)),this.knob.setAttribute(\"r\",this.knobData.r),this.position&&this.position.resize([0,this.width],[this.height,0])}},colorInterface:{value:function(){this.bar.setAttribute(\"fill\",this.colors.fill),this.fillbar.setAttribute(\"fill\",this.colors.accent),this.knob.setAttribute(\"fill\",this.colors.accent),this.hasKnob||this.knob.setAttribute(\"fill\",\"none\")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute(\"r\",this.knobData.r),\"vertical\"===this.orientation?(this.knobData.level=this._value.normalized*this.height,this.knob.setAttribute(\"cy\",this.height-this.knobData.level),this.fillbar.setAttribute(\"y\",this.height-this.knobData.level),this.fillbar.setAttribute(\"height\",this.knobData.level)):(this.knobData.level=this._value.normalized*this.width,this.knob.setAttribute(\"cx\",this.knobData.level),this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"width\",this.knobData.level))}},down:{value:function(){this.clicked=!0,this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.slide()}},slide:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit(\"change\",this.value))}},up:{value:function(){this.clicked=!1,this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[120,20],orientation:\"horizontal\",mode:\"relative\",scale:[-1,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.orientation=this.settings.orientation,this.mode=this.settings.mode,this.hasKnob=this.settings.hasKnob,this.step=this.settings.step,this._value=new u(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new c.Handle(this.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position&&this.position.resize([0,this.width],[this.height,0]),this.width<this.height?this.orientation=\"vertical\":this.orientation=\"horizontal\";var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},\"vertical\"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s=\"translate(\"+-1*this.thickness/2+\",0)\",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s=\"translate(0,\"+-1*this.thickness/2+\")\",r=n/2),this.bar.setAttribute(\"x\",t),this.bar.setAttribute(\"y\",e),this.bar.setAttribute(\"transform\",s),this.bar.setAttribute(\"rx\",r),this.bar.setAttribute(\"ry\",r),this.bar.setAttribute(\"width\",i),this.bar.setAttribute(\"height\",n),\"vertical\"===this.orientation?(this.knob.setAttribute(\"cx\",t),this.knob.setAttribute(\"cy\",this.knobData.level)):(this.knob.setAttribute(\"cx\",this.knobData.level),this.knob.setAttribute(\"cy\",e)),this.knob.setAttribute(\"r\",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute(\"fill\",this.colors.fill),this.knob.setAttribute(\"fill\",this.colors.accent),this.hasKnob||this.knob.setAttribute(\"fill\",\"transparent\")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute(\"r\",this.knobData.r),\"vertical\"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute(\"cy\",this.height-this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute(\"cx\",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit(\"change\",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}))}},release:{value:function(){this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit(\"change\",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}),this.render()}},normalized:{get:function(){return this._value.normalized}}}),e}(l);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(5),h=i(4),l=i(6),u=function(t,e){this.x=t.x,this.y=t.y,this.envelope=e,this.element=h.create(\"circle\"),this.element.setAttribute(\"fill\",this.envelope.colors.accent),this.envelope.element.appendChild(this.element),this.resize=function(){var t=2+~~(Math.min(this.envelope.width,this.envelope.height)/50);this.element.setAttribute(\"r\",t)},this.move=function(t,e){if(this.x=t||0===t?t:this.x,this.y=e||0===e?e:this.y,this.envelope.nodes.indexOf(this)>=0){var i=this.envelope.nodes.indexOf(this)-1,n=this.envelope.nodes.indexOf(this)+1,s=this.envelope.nodes[i],r=this.envelope.nodes[n],o=i>=0?s.x:0,a=n<this.envelope.nodes.length?r.x:1;this.x<o&&(this.x=o),this.x>a&&(this.x=a)}this.location=this.getCoordinates(),this.element.setAttribute(\"cx\",this.location.x),this.element.setAttribute(\"cy\",this.location.y)},this.getCoordinates=function(){return{x:this.x*this.envelope.width,y:(1-this.y)*this.envelope.height}},this.move(this.x,this.y,!0),this.resize(),this.destroy=function(){this.envelope.element.removeChild(this.element),this.envelope.nodes.splice(this.envelope.nodes.indexOf(this),1)}},c=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[300,150],points:[{x:.1,y:.4},{x:.35,y:.6},{x:.65,y:.2},{x:.9,y:.4}]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.points=this.settings.points,this.nodes=[],this.selected=!1,this.init()}return r(e,t),n(e,{buildInterface:{value:function(){var t=this;this.points.forEach(function(e){var i=new u(e,t);t.nodes.push(i)}),this.sortPoints(),this.line=h.create(\"polyline\"),this.line.setAttribute(\"stroke-width\",2),this.line.setAttribute(\"fill\",\"none\"),this.element.appendChild(this.line),this.fill=h.create(\"polyline\"),this.fill.setAttribute(\"fill-opacity\",\"0.2\"),this.element.appendChild(this.fill)}},sizeInterface:{value:function(){for(var t=0;t<this.nodes.length;t++)this.nodes[t].resize(),this.nodes[t].move();this.render()}},colorInterface:{value:function(){var t=this;this.element.style.backgroundColor=this.colors.fill,this.line.setAttribute(\"stroke\",this.colors.accent),this.fill.setAttribute(\"fill\",this.colors.accent),this.nodes.forEach(function(e){e.element.setAttribute(\"fill\",t.colors.accent)})}},render:{value:function(){this.calculatePath()}},calculatePoints:{value:function(){var t=this;this.points=[],this.nodes.forEach(function(e){t.points.push({x:e.x,y:e.y})})}},calculatePath:{value:function(){var t=\"0 \"+this.nodes[0].location.y+\", \";this.nodes.forEach(function(e){t+=e.location.x+\" \"+e.location.y+\", \"}),t+=this.width+\" \"+this.nodes[this.nodes.length-1].location.y,this.line.setAttribute(\"points\",t),t+=\", \"+this.width+\" \"+this.height+\", \",t+=\"0 \"+this.height,this.fill.setAttribute(\"points\",t)}},click:{value:function(){this.hasMoved=!1,this.selected=this.findNearestNode(),this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},move:{value:function(){this.clicked&&(this.mouse.x=a.clip(this.mouse.x,0,this.width),this.hasMoved=!0,this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit(\"change\",this.points),this.render())}},release:{value:function(){this.hasMoved||this.nodes[this.selected].destroy(),this.calculatePoints(),this.emit(\"change\",this.points),this.render(),this.selected=null}},findNearestNode:{value:function(){for(var t=null,e=1e4,i=this.mouse.x/this.width,n=1-this.mouse.y/this.height,s=this.nodes,r=0;r<s.length;r++){var o=Math.sqrt(Math.pow(s[r].x-i,2)+Math.pow(s[r].y-n,2));o<e&&(e=o,t=r,i>s[r].x)}return e>.07&&(t=this.getIndexFromX(this.mouse.x/this.width),this.nodes.splice(t,0,new u({x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this)),this.hasMoved=!0),t}},getIndexFromX:{value:function(t){var e=this,i=0;return this.nodes.forEach(function(n,s){e.nodes[s].x<=t&&(i=s+1)}),i}},scaleNode:{value:function(t){var e=a.clip(this.nodes[t].x,0,1),i=a.clip(this.nodes[t].y,0,1);this.nodes[t].move(e,i)}},sortPoints:{value:function(){this.nodes.sort(function(t,e){return t.x>e.x})}},addPoint:{value:function(t,e){var i=this.nodes.length;this.sortPoints();for(var n=0;n<this.nodes.length;n++)if(t<this.nodes[n].x){i=n;break}this.nodes.splice(i,0,new u({x:t,y:e},this)),this.scaleNode(i),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},scan:{value:function(t){var e=this.getIndexFromX(t),i=e-1;i<0&&(i=0),e>=this.nodes.length&&(e=this.nodes.length-1);var n=this.nodes[i],s=this.nodes[e],r=a.scale(t,n.x,s.x,0,1),o=a.interp(r,n.y,s.y);return this.emit(\"scan\",o),o}},movePoint:{value:function(t,e,i){this.nodes[t].move(e,i),this.scaleNode(t),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},adjustPoint:{value:function(t,e,i){this.nodes[t].move(this.nodes[t].x+e,this.nodes[t].y+i),this.scaleNode(t),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},destroyPoint:{value:function(t){this.nodes[t].destroy(),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},setPoints:{value:function(t){for(var e=this;this.nodes.length;)this.nodes[0].destroy();t.forEach(function(t){e.addPoint(t.x,t.y)}),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}}}),e}(l);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.active=!0,this.source=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteFrequencyData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.source&&this.dataArray)for(var t=this.canvas.element.width/this.bufferLength,e=void 0,i=0,n=this.canvas.element.width/50,s=0;s<this.bufferLength;s+=n)e=Math.max.apply(null,this.dataArray.subarray(s,s+n)),e/=255,e*=this.canvas.element.height,this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(i,this.canvas.element.height-e,t*n,e),i+=t*n}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source.disconnect(this.analyser),this.source=null}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(5),l=i(6),u=i(1).context,c=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[30,100]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=u(),this.channels=2,this.splitter=this.context.createChannelSplitter(this.channels),this.analysers=[];for(var n=0;n<this.channels;n++){var r=this.context.createAnalyser();this.splitter.connect(r,n),r.fftSize=1024,r.smoothingTimeConstant=1,this.analysers.push(r)}this.bufferLength=this.analysers[0].frequencyBinCount,this.dataArray=new Float32Array(this.bufferLength),this.active=!0,this.db=-1/0,this.init(),this.meterWidth=this.canvas.element.width/this.channels,this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){this.active&&requestAnimationFrame(this.render.bind(this)),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height);for(var t=0;t<this.analysers.length;t++){if(this.source){this.analysers[t].getFloatTimeDomainData(this.dataArray);for(var e=0,i=0;i<this.dataArray.length;i++)e+=this.dataArray[i]*this.dataArray[i];e=Math.sqrt(e/this.dataArray.length),this.db=20*Math.log10(e)}else this.db>-200&&this.db!==-1/0?this.db-=1:this.db=-1/0;if(this.db>-70){var n=h.normalize(this.db,-70,5),s=n*n,r=h.scale(s,0,1,this.element.height,0);this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(this.meterWidth*t,r,this.meterWidth,this.canvas.element.height-r)}}}},connect:{value:function(t,e){this.source&&this.disconnect(),e?this.channels=e:t.channelCount?this.channels=t.channelCount:this.channels=2,this.meterWidth=this.canvas.element.width/this.channels,this.source=t,this.source.connect(this.splitter)}},disconnect:{value:function(){this.source.disconnect(this.splitter),this.source=!1,this.meterWidth=this.canvas.element.width/this.channels}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(l);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.analyser.getByteTimeDomainData(this.dataArray),this.active=!0,this.source=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteTimeDomainData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.canvas.context.lineWidth=~~(this.height/100+2),this.canvas.context.strokeStyle=this.colors.accent,this.canvas.context.beginPath(),this.source)for(var t=1*this.canvas.element.width/this.bufferLength,e=0,i=0;i<this.bufferLength;i++){var n=this.dataArray[i]/128,s=n*this.canvas.element.height/2;0===i?this.canvas.context.moveTo(e,s):this.canvas.context.lineTo(e,s),e+=t}else this.canvas.context.moveTo(0,this.canvas.element.height/2),this.canvas.context.lineTo(this.canvas.element.width,this.canvas.element.height/2);this.canvas.context.stroke()}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source&&(this.source.disconnect(this.analyser),this.source=null)}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),o=function(t){return t&&t.__esModule?t.default:t}(i(7)),a=i(1).colors,h=function(){function t(e,i){s(this,t),this.meta={},this.meta.target=e,this.meta.parent=o.parseElement(e),this.meta.colors={},i?(this.meta.attribute=i.attribute||\"nexus-ui\",this.meta.title=i.name||!1,this.meta.open=i.open||!1):(this.meta.attribute=\"nexus-ui\",this.meta.title=!1,this.meta.open=!1);var n=a();this.meta.colors.accent=n.accent,this.meta.colors.fill=n.fill,this.meta.colors.light=n.light,this.meta.colors.dark=n.dark,this.meta.colors.mediumLight=n.mediumLight,this.meta.colors.mediumDark=n.mediumDark,this.buildInterface(),this.colorInterface()}return n(t,{buildInterface:{value:function(){var t=this;for(this.meta.parent.style.boxSizing=\"border-box\",this.meta.parent.style.userSelect=\"none\",this.meta.parent.style.mozUserSelect=\"none\",this.meta.parent.style.webkitUserSelect=\"none\",this.meta.contents=document.createElement(\"div\");this.meta.parent.childNodes.length>0;)this.meta.contents.appendChild(this.meta.parent.childNodes[0]);this.meta.contents.style.padding=\"0px\",this.meta.contents.style.boxSizing=\"border-box\",this.meta.title&&(this.meta.titleBar=document.createElement(\"div\"),this.meta.titleBar.innerHTML=this.meta.title,this.meta.titleBar.style.fontFamily=\"arial\",this.meta.titleBar.style.position=\"relative\",this.meta.titleBar.style.color=\"#888\",this.meta.titleBar.style.padding=\"7px\",this.meta.titleBar.style.fontSize=\"12px\",this.meta.button=document.createElement(\"div\"),this.meta.button.style.position=\"absolute\",this.meta.button.style.top=\"5px\",this.meta.button.style.right=\"5px\",this.meta.button.innerHTML=\"-\",this.meta.button.style.padding=\"0px 5px 2px\",this.meta.button.style.lineHeight=\"12px\",this.meta.button.style.fontSize=\"15px\",this.meta.button.style.cursor=\"pointer\",this.meta.button.addEventListener(\"mouseover\",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumDark}),this.meta.button.addEventListener(\"mouseleave\",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumLight}),this.meta.button.addEventListener(\"click\",function(){t.meta.open?t.hide():t.show()}),this.meta.titleBar.appendChild(this.meta.button),this.meta.parent.appendChild(this.meta.titleBar)),this.meta.parent.appendChild(this.meta.contents);var e=r.section(this.meta.target,this.meta.attribute);for(var i in e)this[i]=e[i]}},colorInterface:{value:function(){this.meta.title&&(this.meta.button.style.backgroundColor=this.meta.colors.mediumLight,this.meta.button.style.border=\"solid 0px \"+this.meta.colors.fill,this.meta.parent.style.border=\"solid 1px \"+this.meta.colors.mediumLight,this.meta.parent.style.backgroundColor=this.meta.colors.light,this.meta.titleBar.style.backgroundColor=this.meta.colors.fill)}},show:{value:function(){this.meta.contents.style.display=\"block\",this.meta.open=!0}},hide:{value:function(){this.meta.contents.style.display=\"none\",this.meta.open=!1}},colorize:{value:function(t,e){for(var i in this)this[i].colorize&&this[i].colorize(t,e);this.meta.colors[t]=e,this.colorInterface()}},empty:{value:function(){for(var t in this)this[t].destroy&&this[t].destroy()}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t};Object.defineProperty(e,\"__esModule\",{value:!0});var s=n(i(7)),r=n(i(2)),o=function(t,e){var i=t.type;return e[i]?e[i]++:e[i]=1,i+e[i]},a=function(t,e,i){i=i||{};for(var n=0;n<t.attributes.length;n++){var s=t.attributes[n];i[s.nodeName]=s.nodeValue}e=e[0].toUpperCase()+e.slice(1);var o=new r[e](t,i);return o.id=t.id,o},h=function(t,e){e=e||\"nexus-ui\";for(var i={},n=s.parseElement(t),h={},l=n.getElementsByTagName(\"*\"),u=[],c=0;c<l.length;c++)u.push(l[c]);for(var c=0;c<u.length;c++){var f=u[c].getAttribute(e);if(f){var d=!1;for(var v in r)f.toLowerCase()===v.toLowerCase()&&(d=v);console.log(d);var p=a(u[c],d);if(p.id)h[p.id]=p;else{h[o(p,i)]=p}}}return h},l=function(t,e,i){var n=document.createElement(\"div\");return i=i||{},e=e?s.parseElement(e):document.body,e.appendChild(n),i.target=n,i.size&&(n.style.width=i.size[0]+\"px\",n.style.height=i.size[1]+\"px\"),a(n,t,i)};e.element=a,e.section=h,e.add=l},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){s(this,t),this.scale=[],this.mode={output:\"frequency\",input:\"step\"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.root=r.mtof(60),this.createScale(0,2,4,5,7,9,11)}return n(t,{note:{value:function(t,e){return\"frequency\"===this.mode.output?this.frequency(t,e):\"ratio\"===this.mode.output?this.ratio(t,e):\"MIDI\"===this.mode.output?this.MIDI(t,e):this.frequency(t,e)}},frequency:{value:function(t,e){\"midi\"!==this.mode.input&&\"MIDI\"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);for(var n=t%this.scale.length;n<0;)n+=this.scale.length;var s=this.scale[n],r=this.root*s;return r*=Math.pow(2,i),r=Math.floor(1e11*r)/1e11}},ratio:{value:function(t,e){\"midi\"!==this.mode.input&&\"MIDI\"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);var n=t%this.scale.length,s=Math.pow(2,i)*this.scale[n];return s=Math.floor(1e11*s)/1e11,s}},MIDI:{value:function(t,e){var i=this.frequency(t,e),n=69+12*Math.log(i/440)/Math.log(2);return n=Math.floor(1e9*n)/1e9}},createScale:{value:function(){for(var t=[],e=0;e<arguments.length;e++)t.push(r.mtof(60+arguments[e]));this.loadScaleFromFrequencies(t)}},createJIScale:{value:function(){this.scale=[];for(var t=0;t<arguments.length;t++)this.scale.push(arguments[t])}},loadScaleFromFrequencies:{value:function(t){this.scale=[];for(var e=0;e<t.length-1;e++)this.scale.push(t[e]/t[0])}},loadScale:{value:function(t){var e=this.scales[t].frequencies;this.loadScaleFromFrequencies(e)}},search:{value:function(t){var e=[];for(var i in this.scales)-1!==i.toLowerCase().indexOf(t.toLowerCase())&&e.push(i);return e}},chord:{value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.note(t[i]));return e}}}),t}();t.exports=o},function(t,e){\"use strict\";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},s=function(){function t(){for(var e=arguments.length,i=Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];var r=void 0===arguments[0]?3:arguments[0];n(this,t),r<0&&(r=1),this.length=r,this.onVals=i,this.array=new Array(r).fill(0),i.length>0&&this.on.apply(this,i)}return i(t,{select:{value:function(t){return this.array.fill(0),this.array[t]=1,this.array}},flip:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn(\"Warning: AnonRadio[\"+t+\"] does not exist\"):n[t]=n[t]?0:1}):n.forEach(function(t,e,i){i[e]=t?0:1}),n}},on:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn(\"Warning: AnonRadio[\"+t+\"] exceeds size of object\"):(1===n[t]&&console.warn(\"Warning: AnonRadio[\"+t+\"] was already on.\"),n[t]=1)}):n.fill(1),n}},off:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){n[t]=0}):n.fill(0),n}}}),t}();t.exports=s},function(t,e,i){var n=i(43);t.exports=n,\"undefined\"!=typeof window&&(window.WAAClock=n)},function(t,e,i){(function(e){var i={toleranceLate:.1,toleranceEarly:.001},n=function(t,e,i){this.clock=t,this.func=i,this._cleared=!1,this.toleranceLate=t.toleranceLate,this.toleranceEarly=t.toleranceEarly,this._latestTime=null,this._earliestTime=null,this.deadline=null,this.repeatTime=null,this.schedule(e)};n.prototype.clear=function(){return this.clock._removeEvent(this),this._cleared=!0,this},n.prototype.repeat=function(t){if(0===t)throw new Error(\"delay cannot be 0\");return this.repeatTime=t,this.clock._hasEvent(this)||this.schedule(this.deadline+this.repeatTime),this},n.prototype.tolerance=function(t){return\"number\"==typeof t.late&&(this.toleranceLate=t.late),\"number\"==typeof t.early&&(this.toleranceEarly=t.early),this._refreshEarlyLateDates(),this.clock._hasEvent(this)&&(this.clock._removeEvent(this),this.clock._insertEvent(this)),this},n.prototype.isRepeated=function(){return null!==this.repeatTime},n.prototype.schedule=function(t){this._cleared=!1,this.deadline=t,this._refreshEarlyLateDates(),this.clock.context.currentTime>=this._earliestTime?this._execute():this.clock._hasEvent(this)?(this.clock._removeEvent(this),this.clock._insertEvent(this)):this.clock._insertEvent(this)},n.prototype.timeStretch=function(t,e){this.isRepeated()&&(this.repeatTime=this.repeatTime*e);var i=t+e*(this.deadline-t);if(this.isRepeated())for(;this.clock.context.currentTime>=i-this.toleranceEarly;)i+=this.repeatTime;this.schedule(i)},n.prototype._execute=function(){!1!==this.clock._started&&(this.clock._removeEvent(this),this.clock.context.currentTime<this._latestTime?this.func(this):(this.onexpired&&this.onexpired(this),console.warn(\"event expired\")),this.clock._hasEvent(this)||!this.isRepeated()||this._cleared||this.schedule(this.deadline+this.repeatTime))},n.prototype._refreshEarlyLateDates=function(){this._latestTime=this.deadline+this.toleranceLate,this._earliestTime=this.deadline-this.toleranceEarly};var s=t.exports=function(t,e){e=e||{},this.tickMethod=e.tickMethod||\"ScriptProcessorNode\",this.toleranceEarly=e.toleranceEarly||i.toleranceEarly,this.toleranceLate=e.toleranceLate||i.toleranceLate,this.context=t,this._events=[],this._started=!1};s.prototype.setTimeout=function(t,e){return this._createEvent(t,this._absTime(e))},s.prototype.callbackAtTime=function(t,e){return this._createEvent(t,e)},s.prototype.timeStretch=function(t,e,i){return e.forEach(function(e){e.timeStretch(t,i)}),e},s.prototype.start=function(){if(!1===this._started){var t=this;if(this._started=!0,this._events=[],\"ScriptProcessorNode\"===this.tickMethod){this._clockNode=this.context.createScriptProcessor(256,1,1),this._clockNode.connect(this.context.destination),this._clockNode.onaudioprocess=function(){e.nextTick(function(){t._tick()})}}else if(\"manual\"!==this.tickMethod)throw new Error(\"invalid tickMethod \"+this.tickMethod)}},s.prototype.stop=function(){!0===this._started&&(this._started=!1,this._clockNode.disconnect())},s.prototype._tick=function(){for(var t=this._events.shift();t&&t._earliestTime<=this.context.currentTime;)t._execute(),t=this._events.shift();t&&this._events.unshift(t)},s.prototype._createEvent=function(t,e){return new n(this,e,t)},s.prototype._insertEvent=function(t){this._events.splice(this._indexByTime(t._earliestTime),0,t)},s.prototype._removeEvent=function(t){var e=this._events.indexOf(t);-1!==e&&this._events.splice(e,1)},s.prototype._hasEvent=function(t){return-1!==this._events.indexOf(t)},s.prototype._indexByTime=function(t){for(var e,i=0,n=this._events.length;i<n;)e=Math.floor((i+n)/2),this._events[e]._earliestTime<t?i=e+1:n=e;return i},s.prototype._absTime=function(t){return t+this.context.currentTime},s.prototype._relTime=function(t){return t-this.context.currentTime}}).call(e,i(44))},function(t,e){function i(){throw new Error(\"setTimeout has not been defined\")}function n(){throw new Error(\"clearTimeout has not been defined\")}function s(t){if(u===setTimeout)return setTimeout(t,0);if((u===i||!u)&&setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function r(t){if(c===clearTimeout)return clearTimeout(t);if((c===n||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(t);try{return c(t)}catch(e){try{return c.call(null,t)}catch(e){return c.call(this,t)}}}function o(){p&&d&&(p=!1,d.length?v=d.concat(v):m=-1,v.length&&a())}function a(){if(!p){var t=s(o);p=!0;for(var e=v.length;e;){for(d=v,v=[];++m<e;)d&&d[m].run();m=-1,e=v.length}d=null,p=!1,r(t)}}function h(t,e){this.fun=t,this.array=e}function l(){}var u,c,f=t.exports={};!function(){try{u=\"function\"==typeof setTimeout?setTimeout:i}catch(t){u=i}try{c=\"function\"==typeof clearTimeout?clearTimeout:n}catch(t){c=n}}();var d,v=[],p=!1,m=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];v.push(new h(t,e)),1!==v.length||p||s(a)},h.prototype.run=function(){this.fun.apply(null,this.array)},f.title=\"browser\",f.browser=!0,f.env={},f.argv=[],f.version=\"\",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.prependListener=l,f.prependOnceListener=l,f.listeners=function(t){return[]},f.binding=function(t){throw new Error(\"process.binding is not supported\")},f.cwd=function(){return\"/\"},f.chdir=function(t){throw new Error(\"process.chdir is not supported\")},f.umask=function(){return 0}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=i(1).clock,o=function(){function t(e,i,n){s(this,t),this.rate=e,this.on=n,this.clock=r(),this.pattern=[1],this.index=0,this.event=i||function(){},this.on&&this.start()}return n(t,{_event:{value:function(t){this.event(t),this.index++}},stop:{value:function(){this.on=!1,this.interval.clear()}},start:{value:function(){this.on=!0,this.interval=this.clock.callbackAtTime(this._event.bind(this),this.clock.context.currentTime).repeat(this.rate/1e3).tolerance({early:.1,late:1})}},ms:{value:function(t){if(this.on){var e=t/this.rate;this.rate=t,this.clock.timeStretch(this.clock.context.currentTime,[this.interval],e)}else this.rate=t}}}),t}();t.exports=o}])})},function(t,e,i){\"use strict\";function n(t){if(t.altKey||t.ctrlKey||t.metaKey)return void t.stopPropagation();if(document.activeElement instanceof HTMLInputElement&&t.keyCode in o)return void t.stopPropagation();if(t.keyCode in r){var e=r[t.keyCode];t.shiftKey&&(e+=a.length),e-=7,h(e)}}function s(t){h=t}Object.defineProperty(e,\"__esModule\",{value:!0});var r={},o={},a=\"zxcvbnmasdfghjklqwertyuiop\",h=function(){};a.toUpperCase().split(\"\").map(function(t,e){r[t.charCodeAt(0)]=e}),\"1234567890\".split(\"\").map(function(t,e){r[t.charCodeAt(0)]=e+a.length,o[t.charCodeAt(0)]=!0}),window.addEventListener(\"keydown\",n,!0),e.default={listen:s}},function(t,e,i){\"use strict\";function n(t){return t[Math.floor(Math.random()*t.length)]}function s(t){return Math.floor(Math.random()*t)}function r(t,e){return t-e*Math.floor(t/e)}function o(t,e,i){return(t-e)/(i-e)}function a(t){t=t.slice(0);for(var e=t.length;e>0;e--){var i=s(e),n=t[e-1];t[e-1]=t[i],t[i]=n}return t}function h(t){if(_){var e=document.createElement(\"div\"),i=document.createElement(\"div\");i.innerHTML=\"Tap to start - please unmute your phone\",Object.assign(e.style,{position:\"absolute\",width:\"100%\",height:\"100%\",zIndex:\"10000\",top:\"0px\",left:\"0px\",backgroundColor:\"rgba(0, 0, 0, 0.8)\"}),Object.assign(i.style,{position:\"absolute\",left:\"50%\",top:\"50%\",padding:\"20px\",backgroundColor:\"#7F33ED\",color:\"white\",fontFamily:\"monospace\",borderRadius:\"3px\",transform:\"translate3D(-50%,-50%,0)\",textAlign:\"center\",lineHeight:\"1.5\"}),e.appendChild(i),document.body.appendChild(e),StartAudioContext.setContext(Tone.context),StartAudioContext.on(i),StartAudioContext.onStarted(function(i){e.remove(),t()})}else t()}function l(t){for(var e=atob(t.split(\",\")[1]),i=t.split(\",\")[0].split(\":\")[1].split(\";\")[0],n=new ArrayBuffer(e.length),s=new Uint8Array(n),r=0;r<e.length;r++)s[r]=e.charCodeAt(r);return new Blob([n],{type:i})}function u(t){return 69+12*Math.log2(t/440)}function c(t){return 440*Math.pow(2,(t-69)/12)}function f(t){return function(e){E.isMobile?t():e.press&&t()}}function d(t,e,i,n){var s=document.querySelector(e+\" + .val\"),r=function(t){s.innerHTML=i?parseInt(t):t.toFixed(2),n&&n(t)};t.on(\"change\",r),s.innerHTML=i?parseInt(t.value):t.value.toFixed(2),t.update=r}function v(t,e,i,n){var s=t.active,r=document.querySelector(e+\" + .val\"),o=function(e){-1===e?e=t.active=s:s=e,r.innerHTML=i[e][1],n&&n(e)};t.on(\"change\",o),o(t.active),t.update=o}function p(t,e,i){Object.keys(e).forEach(function(i){var n=e[i],s=document.createElement(\"option\");s.innerHTML=n.name,s.value=i,t.appendChild(s)}),t.addEventListener(\"input\",function(t){i(t.target.value)})}function m(t,e,i,n,s,r){var o=document.createElement(\"div\");o.classList.add(\"block\");var a=document.createElement(\"div\");a.setAttribute(\"id\",e);var h=document.createElement(\"span\");h.classList.add(\"val\");var l=document.createElement(\"label\");l.classList=e,l.innerHTML=i,o.appendChild(l),o.appendChild(a),o.appendChild(h),t.appendChild(o),n.size=[200,24];var u=new y.default.Slider(\"#\"+e,n);return d(u,\"#\"+e,s,r),u}function b(t,e,i){var n=document.createElement(\"div\");n.classList.add(\"stat\");var s=document.createElement(\"div\");s.classList.add(\"key\");var r=document.createElement(\"div\");r.classList.add(\"val\"),n.appendChild(s),n.appendChild(r),t.appendChild(n),s.innerHTML=e,r.innerHTML=i();var o=void 0;return function(){var t=i();o!==t&&(r.innerText=o=t)}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.Statistic=e.Slider=e.build_options=e.update_radio_value_on_change=e.update_value_on_change=e.dataURItoBlob=e.tap=e.mtof=e.ftom=e.requestAudioContext=e.browser=e.randint=e.shuffle=e.choice=e.norm=e.mod=void 0;var g=i(0),y=function(t){return t&&t.__esModule?t:{default:t}}(g),x=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i),w=navigator.userAgent.match(/iPad/i),k=navigator.userAgent.match(/Android/i),_=x||w||k,A=!_;document.body.classList.add(_?\"mobile\":\"desktop\");var E={isIphone:x,isIpad:w,isMobile:_,isDesktop:A};e.mod=r,e.norm=o,e.choice=n,e.shuffle=a,e.randint=s,e.browser=E,e.requestAudioContext=h,e.ftom=u,e.mtof=c,e.tap=f,e.dataURItoBlob=l,e.update_value_on_change=d,e.update_radio_value_on_change=v,e.build_options=p,e.Slider=m,e.Statistic=b},function(t,e,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}function s(){if(K=setTimeout(s,S.Rate.value),!U){tt+=1;var t=S.T.value;(0,C.shuffle)(H).forEach(function(e){if(e.J>1)return void(e.J-=1);var i=_(e);1===e.J&&(Z[e.y][e.x]||(e.J=0,Z[e.y][e.x]=e,e.log.push(\"left jail\"))),e.team===z?a(e,i):(r(e,i),W.update(e,i,t))}),W.id===j.SIM_GENOCIDE&&(H=H.filter(function(t){return!t.dead})),v()}}function r(t,e){t.CAv=o(e),t.G=t.H*(1-S.L.value),t.P=1-Math.exp(-S.k.value*t.CAv),t.NetR=t.R*t.P*Math.pow(S.J.value,S.alpha.value),t.GN=t.G-t.NetR}function o(t){var e=0,i=1;return t.forEach(function(t){t.team!==D&&(t.team===z?e+=1:i+=1)}),e/i}function a(t,e){e.some(function(t){return!(t.team===z||!t.active)&&(h(t),!0)}),f(t,e)}function h(t){t.J=(0,C.randint)(S.J.value),t.active=!1,Z[t.y][t.x]=null,t.log.push(\"sent to jail\")}function l(t,e){t.dead=!0,t.Age=0,Z[t.y][t.x]=null,t.log.push(e)}function u(t,e){e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[i][n]=c(i,n,t),t.log.push(\"gave birth\"),!0}return!1})}function c(t,e,i){if(!(H.length>=S.Size.value*S.Size.value)){var n={id:Q++,team:i?i.team:(0,C.randint)(W.teams)+1,H:i?i.H:Math.random(),R:Math.random(),J:0,Age:(0,C.randint)(S.MaxAge.value)+1,active:!1,G:0,CAv:0,P:0,NetR:0,GN:0,log:[],y:t,x:e};return H.push(n),n}}function f(t,e){t.dead||t.J||e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[t.y][t.x]=null,Z[i][n]=t,t.y=i,t.x=n,!0}return!1})}function d(t){var e=void 0,i=void 0,n=void 0,s=void 0;return\"id\"===J?(e=t.id/Q,i=360*e,n=1,s=.5):\"GN\"===J?(e=t[J],i=t.active?0:180,n=1-e,s=1-e):(e=t[J],i=t.active?0:100,n=1,s=1-2*e),\"hsl(\"+[0|i,(100*n|0)+\"%\",(100*s|0)+\"%\"].join(\",\")+\")\"}function v(){var t=S.Size.value;if(I.clearRect(0,0,(t+1)*q*2,t*q),x(function(e,i){var n=Z[e][i];n?n.team===z?(I.fillStyle=\"#000000\",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V)):(I.save(),I.fillStyle=d(n),I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillStyle=W.color(n),I.fillRect(i*q,e*q,q-V,q-V),I.save()):(I.fillStyle=\"#ffffff\",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V))}),$&&!$.dead&&!$.J){var e=$,i=e.y,n=e.x;I.strokeStyle=\"#000000\",I.lineWidth=1,I.strokeRect((n+t+1)*q,i*q,q,q),I.strokeRect(n*q,i*q,q,q)}G.forEach(function(t){return t()}),$&&$.dead&&p()}function p(){var t=void 0;do{t=(0,C.choice)(H)}while(t.dead||t.team===z);$=t}function m(){H=[],Z=[],Q=0,tt=0;var t=S.Pop.value,e=S.Cops.value;Z=x(function(e,i){return Math.random()<t?c(e,i):null});for(var i=0,n=H.length*e;i<n;i++)H[(0,C.randint)(H.length)].team=z;p(H),et={old_age:0,in_jail:0,murder:0}}function b(){w(),g()}function g(){U=!1,clearTimeout(K),m(),s()}function y(){U=!U,U?(document.querySelector(\"#pause\").innerText=\"Paused\",clearTimeout(K)):(document.querySelector(\"#pause\").innerText=\"Pause\",clearTimeout(K),s())}function x(t){for(var e=[],i=S.Size.value,n=0;n<i;n++){e[n]=[];for(var s=0;s<i;s++)e[n][s]=t(n,s,0)}return e}function w(){S.Size&&(L.width=(S.Size.value+1)*q*2,L.height=S.Size.value*q)}function k(t,e){var i=S.Size.value;return t=(0,C.mod)(t,i),e=(0,C.mod)(e,i),Z[t][e]||{y:t,x:e,team:D}}function _(t){var e=t.y,i=t.x;return(0,C.shuffle)(X.map(function(t){return k(e+t[0],i+t[1])}))}function A(t){W=Y[t],W.init(),console.log(W.name),m()}function E(t){J=t,console.log(\"viewing\",t+\":\",B[t].name)}function P(t){var e=S.Size.value,i=L.getBoundingClientRect(),n=(t.pageY-i.top)/i.height*e|0,s=(t.pageX-i.left)/i.width*(2*e+1)|0;return console.log(s,n),s>=e&&(s%=e),$=Z[n][s],v(),Z[n][s]}function O(t){return t?\"Yes\":\"No\"}var M=i(0),T=(n(M),i(1)),C=(n(T),i(2)),L=document.querySelector(\"canvas\"),I=L.getContext(\"2d\"),S=window.nx={},z=0,D=-1,j={SIM_REBELLION:0,SIM_GENOCIDE:1},R=[\"#000000\",\"#00d020\",\"#0000f0\",\"#008080\",\"#00ff80\",\"#0080ff\"],F=[\"#000000\",\"#800000\",\"#800080\",\"#808080\",\"#80ff80\",\"#8080ff\"],N=[\"Cops\",\"Green\",\"Blue\",\"#3\",\"#4\",\"#5\"],X=[[-1,-1],[-1,0],[-1,1],[0,-1],[0,1],[1,-1],[1,0],[1,1]],Y={rebellion:{id:j.SIM_REBELLION,name:\"Civil Violence Model I: Generalized Rebellion Against Central Authority\",teams:1,init:function(){document.querySelector(\".governmental_legitimacy\").innerText=\"Governmental Legitimacy\"},update:function(t,e,i){if(!(t.J>0)){var n=t.GN>i;n&&!t.active?t.log.push(\"went active\"):!n&&t.active&&t.log.push(\"went inactive\"),t.active=n,f(t,e)}},color:function(t){return t.active?F[t.team]:R[t.team]}},genocide:{id:j.SIM_GENOCIDE,name:\"Civil Violence Model II: Inter-Group Violence\",teams:2,init:function(){document.querySelector(\".governmental_legitimacy\").innerText=\"Empathy\"},update:function(t,e,i){if(!t.dead){if(t.Age--<=0)return void(t.J>0?(l(t,\"died in jail\"),et.in_jail+=1):(l(t,\"died of old age\"),et.old_age+=1));t.GN>i&&e.some(function(e){return e.team!==D&&e.team!==z&&e.team!==t.team&&(l(e,\"died of murder\"),t.active=!0,t.log.push(\"killed someone\"),et.murder+=1,!0)}),Math.random()<S.Rep.value&&u(t,e),f(t,e)}},color:function(t){return R[t.team]}}},B={G:{value:\"G\",name:\"Grievance\"},CAv:{value:\"CAv\",name:\"Cop-to-Active ratio\"},P:{value:\"P\",name:\"Arrest probability\"},NetR:{value:\"NetR\",name:\"Net risk of being arrested\"},GN:{value:\"GN\",name:\"Distance from threshold\"},id:{value:\"id\",name:\"Agent ID\"}},q=10,V=1,H=[],Z=[],G=[],W=Y.rebellion,J=\"G\",U=!1,K=void 0,Q=0,$=void 0,tt=0,et={};!function(){(0,C.build_options)(document.querySelector(\"#sim\"),Y,A),(0,C.build_options)(document.querySelector(\"#view\"),B,E);var t=document.querySelector(\"#options\");S.Size=(0,C.Slider)(t,\"world_size\",\"World size\",{min:10,max:200,step:1,value:40},!0,b),S.Rate=(0,C.Slider)(t,\"rate\",\"Frame rate\",{min:100,max:5e3,step:10,value:200},!0,m),S.L=(0,C.Slider)(t,\"governmental_legitimacy\",\"Governmental legitimacy\",{min:0,max:1,step:.01,value:.89},!1),S.T=(0,C.Slider)(t,\"activation_threshold\",\"Grievance threshold\",{min:0,max:1,step:.01,value:.1},!1),S.Rep=(0,C.Slider)(t,\"birth_rate\",\"Birth rate\",{min:0,max:1,step:.001,value:.05},!1),S.MaxAge=(0,C.Slider)(t,\"max_age\",\"Max age\",{min:0,max:1e3,step:1,value:200},!0),S.J=(0,C.Slider)(t,\"max_jail_term\",\"Maximum jail term\",{min:1,max:100,step:1,value:30},!0),S.alpha=(0,C.Slider)(t,\"jail_deterrent\",\"Jail deterrent\",{min:0,max:2,step:.01,value:0},!1),S.k=(0,C.Slider)(t,\"arrest_constant\",\"Arrest probability constant\",{min:1,max:10,step:.01,value:2.3},!1),S.Pop=(0,C.Slider)(t,\"population_density\",\"Population density\",{min:0,max:1,step:.01,value:.7},!1,g),S.Cops=(0,C.Slider)(t,\"cop_density\",\"Cop density\",{min:0,max:.3,step:.002,value:.05},!1,g);var e=document.querySelector(\"#stats\"),i=document.querySelector(\"#agent\"),n=document.querySelector(\"#log\");G=[(0,C.Statistic)(e,\"Time\",function(){return tt}),(0,C.Statistic)(e,\"Agents\",function(){return H.length}),(0,C.Statistic)(e,\"Cops\",function(){return H.filter(function(t){return t.team===z}).length}),(0,C.Statistic)(e,\"Team #1\",function(){return H.filter(function(t){return 1===t.team}).length}),(0,C.Statistic)(e,\"Team #2\",function(){return H.filter(function(t){return 2===t.team}).length}),(0,C.Statistic)(e,\"Quiescent\",function(){return H.filter(function(t){return!t.active}).length}),(0,C.Statistic)(e,\"Active\",function(){return H.filter(function(t){return t.active}).length}),(0,C.Statistic)(e,\"Jailed\",function(){return H.filter(function(t){return t.J>0}).length}),(0,C.Statistic)(e,\"Died of old age\",function(){return et.old_age}),(0,C.Statistic)(e,\"Died in jail\",function(){return et.in_jail}),(0,C.Statistic)(e,\"Murder rate\",function(){return et.murder}),(0,C.Statistic)(i,\"Selected Agent #\",function(){return $?$.id:\"None\"}),(0,C.Statistic)(i,\"Team\",function(){return $&&N[$.team]}),(0,C.Statistic)(i,\"Position\",function(){return $&&$.x+\",\"+$.y}),(0,C.Statistic)(i,\"Hardship\",function(){return $&&$.H.toFixed(2)}),(0,C.Statistic)(i,\"Risk tolerance\",function(){return $&&$.R.toFixed(2)}),(0,C.Statistic)(i,\"Grievance\",function(){return $&&$.G.toFixed(2)}),(0,C.Statistic)(i,\"Score\",function(){return $&&$.GN.toFixed(2)}),(0,C.Statistic)(i,\"Cop / Active ratio\",function(){return $&&$.CAv.toFixed(2)}),(0,C.Statistic)(i,\"Arrest probability\",function(){return $&&$.P.toFixed(2)}),(0,C.Statistic)(i,\"Net risk\",function(){return $&&$.NetR.toFixed(2)}),(0,C.Statistic)(i,\"Active\",function(){return $&&O($.active)}),(0,C.Statistic)(i,\"Age\",function(){return $&&$.Age}),(0,C.Statistic)(i,\"Dead?\",function(){return $&&O($.dead)}),(0,C.Statistic)(i,\"In Jail?\",function(){return $&&O($.J)}),(0,C.Statistic)(i,\"Jail term\",function(){return $&&$.J}),(0,C.Statistic)(n,\"Log\",function(){return $&&$.log.join(\"\\n\")})],document.querySelector(\"button#restart\").addEventListener(\"click\",g),document.querySelector(\"button#pause\").addEventListener(\"click\",y),document.querySelector(\"button#observe\").addEventListener(\"click\",function(){p(),v()});var s=!1;L.addEventListener(\"mousemove\",function(t){s||P(t)}),L.addEventListener(\"mousedown\",function(t){P(t)&&(s=!0)}),document.querySelector(\".loading\").classList.remove(\"loading\"),w(),g()}()}]);\n\n\n// WEBPACK FOOTER //\n// ./bundle.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"./bundle.js","sources":["webpack:///./bundle.js"],"sourcesContent":["!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,\"a\",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=3)}([function(t,e,i){!function(e,i){t.exports=i()}(0,function(){return function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={exports:{},id:n,loaded:!1};return t[n].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i={};return e.m=t,e.c=i,e.p=\"\",e(0)}([function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t}(i(1));t.exports=n},function(t,e,i){\"use strict\";function n(){return k.colors}function s(){return k.context}function r(){return k.clock}var o=function(t){return t&&t.__esModule?t.default:t},a=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")};e.colors=n,e.context=s,e.clock=r,Object.defineProperty(e,\"__esModule\",{value:!0});var l=o(i(2)),u=o(i(5)),c=o(i(38)),f=o(i(40)),d=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),v=i(28),p=i(41),m=i(27),b=i(26),g=i(25),y=o(i(42)),x=o(i(45)),w=function(){function t(e){h(this,t);for(var i in l)this[i]=l[i];for(var i in u)this[i]=u[i];var n={Rack:c},s={Counter:v,Radio:p,Drunk:m,Sequence:b,Matrix:g};for(var i in s)this[i]=s[i];for(var i in n)this[i]=n[i];var r=window.AudioContext||window.webkitAudioContext;this._context=e||new r,this.tune=new f,this.note=this.tune.note.bind(this.tune),this.clock=new y(this._context),this.clock.start(),this.Interval=x,this.colors={accent:\"#2bb\",fill:\"#eee\",light:\"#fff\",dark:\"#333\",mediumLight:\"#ccc\",mediumDark:\"#666\"},this.transform=d,this.add=d.add,this.Add={};for(var i in l)this.Add[i]=d.add.bind(this,i);var o=document.getElementsByTagName(\"style\"),a=document.createElement(\"style\");if(a.type=\"text/css\",a.innerHTML=\"[nexus-ui]{height:5000px;width:5000px}\",o.length>0){o[0].parentNode.insertBefore(a,o[0])}else document.write(\"<style>[nexus-ui]{height:5000px;width:5000px}</style>\")}return a(t,{context:{get:function(){return this._context},set:function(t){this.clock.stop(),this._context=t,this.clock=new y(this.context),this.clock.start()}}}),t}(),k=new w;e.default=k},function(t,e,i){\"use strict\";t.exports={Position:i(3),Slider:i(14),Toggle:i(15),Button:i(16),TextButton:i(18),RadioButton:i(19),Number:i(20),Select:i(21),Dial:i(22),Piano:i(23),Sequencer:i(24),Pan2D:i(29),Tilt:i(30),Multislider:i(31),Pan:i(33),Envelope:i(34),Spectrogram:i(35),Meter:i(36),Oscilloscope:i(37)}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[200,200],mode:\"absolute\",minX:0,maxX:1,stepX:0,x:.5,minY:0,maxY:1,stepY:0,y:.5};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._x=new l(this.settings.minX,this.settings.maxX,this.settings.stepX,this.settings.x),this._y=new l(this.settings.minY,this.settings.maxY,this.settings.stepY,this.settings.y),this.position={x:new u.Handle(this.settings.mode,\"horizontal\",[0,this.width],[this.height,0]),y:new u.Handle(this.settings.mode,\"vertical\",[0,this.width],[this.height,0])},this.position.x.value=this._x.normalized,this.position.y.value=this._y.normalized,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create(\"circle\"),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:5*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute(\"cx\",this.width/2),this.knob.setAttribute(\"cy\",this.height/2),this.knob.setAttribute(\"r\",this.knobRadius.off)}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute(\"fill\",this.colors.accent)}},render:{value:function(){this.clicked?this.knob.setAttribute(\"r\",this.knobRadius.on):this.knob.setAttribute(\"r\",this.knobRadius.off),this.knobCoordinates={x:this._x.normalized*this.width,y:this.height-this._y.normalized*this.height},this.knob.setAttribute(\"cx\",this.knobCoordinates.x),this.knob.setAttribute(\"cy\",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this._x.updateNormal(this.position.x.value),this._y.updateNormal(this.position.y.value),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render())}},release:{value:function(){this.render()}},x:{get:function(){return this._x.value},set:function(t){this._x.update(t),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render()}},y:{get:function(){return this._y.value},set:function(t){this._y.update(t),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render()}},normalized:{get:function(){return{x:this._x.normalized,y:this._y.normalized}}},minX:{get:function(){return this._x.min},set:function(t){this._x.min=t,this.render()}},minY:{get:function(){return this._y.min},set:function(t){this._y.min=t,this.render()}},maxX:{get:function(){return this._x.max},set:function(t){this._x.max=t,this.render()}},maxY:{get:function(){return this._y.max},set:function(t){this._y.max=t,this.render()}},stepX:{get:function(){return this._x.step},set:function(t){this._x.step=t,this.render()}},stepY:{get:function(){return this._y.step},set:function(t){this._y.step=t,this.render()}},mode:{get:function(){return this.position.x.mode},set:function(t){this.position.x.mode=t,this.position.y.mode=t}}}),e}(h);t.exports=c},function(t,e,i){\"use strict\";var n=i(5);t.exports={create:function(t){return document.createElementNS(\"http://www.w3.org/2000/svg\",t)},arc:function(t,e,i,s,r){var o=n.toCartesian(i,r),a=n.toCartesian(i,s),h=r-s<=180?\"0\":\"1\";return[\"M\",o.x+t,o.y+e,\"A\",i,i,0,h,0,a.x+t,a.y+e].join(\" \")},radialGradient:function(t,e){var i=\"gradient\"+n.ri(1e11),s=[],r=document.createElementNS(\"http://www.w3.org/2000/svg\",\"radialGradient\");r.setAttribute(\"id\",i),r.setAttribute(\"cx\",\"50%\"),r.setAttribute(\"cy\",\"50%\"),r.setAttribute(\"r\",\"50%\"),t.appendChild(r);for(var o=0;o<e;o++){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"stop\");a.setAttribute(\"id\",\"stop\"+o),r.appendChild(a),s.push(a)}return{id:i,stops:s,element:r}}}},function(t,e){\"use strict\";e.clip=function(t,e,i){return Math.min(Math.max(t,e),i)},e.normalize=function(t,e,i){return(t-e)/(i-e)},e.scale=function(t,e,i,n,s){return e===i?n:(t-e)*(s-n)/(i-e)+n},e.toPolar=function(t,e){var i=Math.sqrt(t*t+e*e),n=Math.atan2(e,t);return n<0&&(n+=2*Math.PI),{radius:i,angle:n}},e.toCartesian=function(t,e){return{x:t*Math.cos(e),y:t*Math.sin(e)*-1}},e.prune=function(t,e){return parseFloat(t.toFixed(e))},e.invert=function(t){return e.scale(t,1,0,0,1)},e.mtof=function(t){return 440*Math.pow(2,(t-69)/12)},e.interp=function(t,e,i){return t*(i-e)+e},e.pick=function(){return arguments[~~(Math.random()*arguments.length)]},e.octave=function(t){return Math.pow(2,t)},e.ri=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.floor(Math.random()*(n-i)+i)},e.rf=function(t,e){e||(e=t,t=0);var i=Math.min(t,e),n=Math.max(t,e);return Math.random()*(n-i)+i},e.cycle=function(t,e,i){return t++,t>=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i];return e/t.length},e.distance=function(t,e,i,n){var s=t-i,r=e-n;return Math.sqrt(s*s+r*r)},e.gainToDB=function(t){return 20*Math.log10(t)},e.coin=function(){var t=void 0===arguments[0]?.5:arguments[0];return e.rf(0,1)<t?1:0}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(7),l=i(8),u=i(9),c=i(10),f=i(1).colors,d=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this),this.type=this.constructor.name,this.settings=this.parseSettings(t,i,n),this.mouse={},this.wait=!1,this.colors={};var r=f();this.colors.accent=r.accent,this.colors.fill=r.fill,this.colors.light=r.light,this.colors.dark=r.dark,this.colors.mediumLight=r.mediumLight,this.colors.mediumDark=r.mediumDark}return r(e,t),n(e,{parseSettings:{value:function(t,e,i){e.unshift(\"target\"),i.defaultSize=i.size.splice(0,2),i.size=!1;var n={target:document.body,colors:{},snapWithParent:!0,event:function(){},component:!1};for(var s in i)n[s]=i[s];for(var r=0;r<t.length;r++){var o=t[r];if(l.isObject(o))for(var s in o)n[s]=o[s];else if(\"function\"==typeof o)n.event=o;else if(e.length>=1){var s=e.splice(0,1)[0];n[s]=o}}return this.parent=h.parseElement(n.target),this.parent&&this.parent instanceof HTMLElement&&!n.component&&(this.parent.hasAttribute(\"nexus-ui\")||this.parent.setAttribute(\"nexus-ui\",\"\")),n.size&&Array.isArray(n.size)&&n.snapWithParent?(this.width=n.size[0],this.height=n.size[1],this.parent.style.width=this.width+\"px\",this.parent.style.height=this.height+\"px\"):n.snapWithParent&&!n.component?(this.width=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.height=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue(\"height\").replace(\"px\",\"\")),5e3==this.width&&(this.width=n.defaultSize[0],this.parent.style.width=this.parent.width=this.width+\"px\"),5e3==this.height&&(this.height=n.defaultSize[1],this.parent.style.height=this.parent.height=this.height+\"px\")):(n.size=n.defaultSize,this.width=n.size[0],this.height=n.size[1]),n.event?this.event=this.on(\"change\",n.event):this.event=!1,n}},init:{value:function(){this.buildFrame(),this.buildInterface(),this.sizeInterface(),this.attachListeners(),this.colorInterface(),this.finalTouches()}},buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){}},sizeInterface:{value:function(){}},colorInterface:{value:function(){}},attachListeners:{value:function(){var t=this;this.interactionTarget=this.interactionTarget||this.element,u.exists&&(this.interactionTarget.addEventListener(\"touchstart\",function(e){return t.preTouch(e)}),this.interactionTarget.addEventListener(\"touchmove\",function(e){return t.preTouchMove(e)}),this.interactionTarget.addEventListener(\"touchend\",function(e){return t.preTouchRelease(e)})),this.boundPreMove=function(e){return t.preMove(e)},this.boundPreRelease=function(e){return t.preRelease(e)},this.interactionTarget.addEventListener(\"mousedown\",function(e){return t.preClick(e)})}},finalTouches:{value:function(){this.element.style.cursor=\"pointer\"}},preClick:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.offset=h.findPosition(this.element),this.mouse=h.locateMouse(t,this.offset),this.clicked=!0,this.click(),this.moveEvent=document.addEventListener(\"mousemove\",this.boundPreMove),this.releaseEvent=document.addEventListener(\"mouseup\",this.boundPreRelease),this.emit(\"click\"),t.preventDefault(),t.stopPropagation()}},preMove:{value:function(t){var e=this;this.wait||(this.mouse=h.locateMouse(t,this.offset),this.move(),this.wait=!0,setTimeout(function(){e.wait=!1},25)),t.preventDefault(),t.stopPropagation()}},preRelease:{value:function(t){this.mouse=h.locateMouse(t,this.offset),this.clicked=!1,this.release(),this.emit(\"release\"),document.removeEventListener(\"mousemove\",this.boundPreMove),document.removeEventListener(\"mouseup\",this.boundPreRelease),t.preventDefault(),t.stopPropagation()}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},preTouch:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.offset=h.findPosition(this.element),this.mouse=h.locateTouch(t,this.offset),this.clicked=!0,this.touch(t),this.emit(\"click\"),t.preventDefault(),t.stopPropagation()}},preTouchMove:{value:function(t){this.clicked&&(this.mouse=h.locateTouch(t,this.offset),this.touchMove(),t.preventDefault(),t.stopPropagation())}},preTouchRelease:{value:function(t){this.mouse=h.locateTouch(t,this.offset),this.clicked=!1,this.touchRelease(),this.emit(\"release\"),t.preventDefault(),t.stopPropagation()}},touch:{value:function(){this.click()}},touchMove:{value:function(){this.move()}},touchRelease:{value:function(){this.release()}},resize:{value:function(t,e){this.width=t,this.height=e,this.parent.style.width=this.width+\"px\",this.parent.style.height=this.height+\"px\",this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.sizeInterface()}},empty:{value:function(){for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild)}},destroy:{value:function(){this.empty(),this.parent.removeChild(this.element),this.removeAllListeners(),this.instrument&&delete this.instrument[this.id],this.customDestroy()}},customDestroy:{value:function(){}},colorize:{value:function(t,e){this.colors[t]=e,this.colorInterface()}}}),e}(c);t.exports=d},function(t,e){\"use strict\";e.findPosition=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX}},e.parseElement=function(t){return\"string\"==typeof t&&(t=document.getElementById(t.replace(\"#\",\"\"))),t instanceof HTMLElement||t instanceof SVGElement?t:\"No valid parent argument\"},e.locateMouse=function(t,e){return{x:t.pageX-e.left,y:t.pageY-e.top}},e.locateTouch=function(t,e){return{x:!!t.targetTouches.length&&t.targetTouches[0].pageX-e.left,y:!!t.targetTouches.length&&t.targetTouches[0].pageY-e.top}},e.SmartCanvas=function(t){var e=this;this.element=document.createElement(\"canvas\"),this.context=this.element.getContext(\"2d\"),t.appendChild(this.element),this.resize=function(t,i){e.element.width=2*t,e.element.height=2*i,e.element.style.width=t+\"px\",e.element.style.height=i+\"px\"}}},function(t,e){\"use strict\";e.isObject=function(t){return\"object\"==typeof t&&!Array.isArray(t)&&null!==t&&t instanceof SVGElement==!1&&t instanceof HTMLElement==!1}},function(t,e){\"use strict\";e.exists=\"ontouchstart\"in document.documentElement},function(t,e){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return\"function\"==typeof t}function s(t){return\"number\"==typeof t}function r(t){return\"object\"==typeof t&&null!==t}function o(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!s(t)||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,i,s,a,h,l;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||r(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw u.context=e,u}if(i=this._events[t],o(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(r(i))for(a=Array.prototype.slice.call(arguments,1),l=i.slice(),s=l.length,h=0;h<s;h++)l[h].apply(this,a);return!0},i.prototype.addListener=function(t,e){var s;if(!n(e))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",t,n(e.listener)?e.listener:e),this._events[t]?r(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,r(this._events[t])&&!this._events[t].warned&&(s=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[t].length),\"function\"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function i(){this.removeListener(t,i),s||(s=!0,e.apply(this,arguments))}if(!n(e))throw TypeError(\"listener must be a function\");var s=!1;return i.listener=e,this.on(t,i),this},i.prototype.removeListener=function(t,e){var i,s,o,a;if(!n(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(i=this._events[t],o=i.length,s=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(r(i)){for(a=o;a-- >0;)if(i[a]===e||i[a].listener&&i[a].listener===e){s=a;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(s,1),this._events.removeListener&&this.emit(\"removeListener\",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\"removeListener\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){return this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=i(5),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?1:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?0:arguments[3];s(this,t),this.min=e,this.max=i,this.step=n,this.value=r,this.changed=!1,this.oldValue=!1,this.update(this.value)}return n(t,{update:{value:function(t){return this.step?this.value=r.clip(Math.round((t-this.min)/this.step)*this.step+this.min,this.min,this.max):this.value=r.clip(t,this.min,this.max),this.oldValue!==this.value?(this.oldValue=this.value,this.changed=!0):this.changed=!1,this.value}},updateNormal:{value:function(t){return this.value=r.scale(t,0,1,this.min,this.max),this.update(this.value)}},normalized:{get:function(){return r.normalize(this.value,this.min,this.max)}}}),t}();t.exports=o},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")};Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(i(5)),a=n(i(13));e.Handle=function(){function t(){var e=void 0===arguments[0]?\"absolute\":arguments[0],i=void 0===arguments[1]?\"vertical\":arguments[1],n=void 0===arguments[2]?[0,100]:arguments[2],s=void 0===arguments[3]?[0,100]:arguments[3];r(this,t),this.mode=e,this.direction=i,this.previous=0,this.value=0,this.sensitivity=1,this.resize(n,s)}return s(t,{resize:{value:function(t,e){this.boundary={min:{x:t[0],y:e[0]},max:{x:t[1],y:e[1]},center:{x:(t[1]-t[0])/2+t[0],y:(e[1]-e[0])/2+e[0]}}}},anchor:{set:function(t){this._anchor=this.convertPositionToValue(t)},get:function(){return this._anchor}},update:{value:function(t){if(\"relative\"===this.mode){var e=this.convertPositionToValue(t)-this.anchor;Math.abs(e)>.5&&(e=0),this.anchor=t,this.value=this.value+e*this.sensitivity}else this.value=this.convertPositionToValue(t);this.value=o.clip(this.value,0,1)}},convertPositionToValue:{value:function(t){switch(this.direction){case\"radial\":var e=o.toPolar(t.x-this.boundary.center.x,t.y-this.boundary.center.y);return e=e.angle/(2*Math.PI),e=(e-.25+1)%1;case\"vertical\":return o.scale(t.y,this.boundary.min.y,this.boundary.max.y,0,1);case\"horizontal\":return o.scale(t.x,this.boundary.min.x,this.boundary.max.x,0,1)}}}}),t}(),e.Button=function(){function t(){var e=void 0===arguments[0]?\"button\":arguments[0];r(this,t),this.mode=e,this.state=new a,this.paintbrush=!1}return s(t,{click:{value:function(){switch(this.mode){case\"impulse\":this.state.on(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.state.off.bind(this),30),this.emit(\"change\",this.state);break;case\"button\":this.turnOn(),this.emit(\"change\",this.state);break;case\"aftertouch\":this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.turnOn(),this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y});break;case\"toggle\":this.flip(),this.emit(\"change\",this.state)}}},move:{value:function(){\"aftertouch\"===this.mode&&(this.position={x:o.clip(this.mouse.x/this.width,0,1),y:o.clip(1-this.mouse.y/this.height,0,1)},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},release:{value:function(){switch(this.mode){case\"button\":this.turnOff(),this.emit(\"change\",this.state);break;case\"aftertouch\":this.turnOff(),this.position={x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y})}}}}),t}()},function(t,e){\"use strict\";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},s=function(){function t(e){n(this,t),this.state=e||!1}return i(t,{flip:{value:function(t){this.state=t||!1===t?t:!this.state}},on:{value:function(){this.state=!0}},off:{value:function(){this.state=!1}}}),t}();t.exports=s},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){o(this,e);var t=[\"min\",\"max\",\"value\"],i={size:[120,20],mode:\"relative\",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.orientation=\"vertical\",this._value=new l(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.init(),this.position.direction=this.orientation,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.fillbar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.width<this.height?this.orientation=\"vertical\":this.orientation=\"horizontal\",this.position&&this.position.resize([0,this.width],[this.height,0]);var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},\"vertical\"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s=\"translate(\"+-1*this.thickness/2+\",0)\",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s=\"translate(0,\"+-1*this.thickness/2+\")\",r=n/2),this.bar.setAttribute(\"x\",t),this.bar.setAttribute(\"y\",e),this.bar.setAttribute(\"transform\",s),this.bar.setAttribute(\"rx\",r),this.bar.setAttribute(\"ry\",r),this.bar.setAttribute(\"width\",i),this.bar.setAttribute(\"height\",n),\"vertical\"===this.orientation?(this.fillbar.setAttribute(\"x\",t),this.fillbar.setAttribute(\"y\",this.knobData.level),this.fillbar.setAttribute(\"width\",i),this.fillbar.setAttribute(\"height\",n-this.knobData.level)):(this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"y\",e),this.fillbar.setAttribute(\"width\",this.knobData.level),this.fillbar.setAttribute(\"height\",n)),this.fillbar.setAttribute(\"transform\",s),this.fillbar.setAttribute(\"rx\",r),this.fillbar.setAttribute(\"ry\",r),\"vertical\"===this.orientation?(this.knob.setAttribute(\"cx\",t),this.knob.setAttribute(\"cy\",this.knobData.level)):(this.knob.setAttribute(\"cx\",this.knobData.level),this.knob.setAttribute(\"cy\",e)),this.knob.setAttribute(\"r\",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute(\"fill\",this.colors.fill),this.fillbar.setAttribute(\"fill\",this.colors.accent),this.knob.setAttribute(\"fill\",this.colors.accent)}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute(\"r\",this.knobData.r),\"vertical\"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute(\"cy\",this.height-this.knobData.level),this.fillbar.setAttribute(\"y\",this.height-this.knobData.level),this.fillbar.setAttribute(\"height\",this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute(\"cx\",this.knobData.level),this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"width\",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this._value.updateNormal(this.position.value),this.emit(\"change\",this._value.value),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit(\"change\",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(13),l=i(6),u=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[40,20],target:!1,state:!1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._state=new h(this.settings.state),this.init()}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.height<this.width/2?this.knobSize=this.height/2:this.knobSize=this.width/4,this.bar.setAttribute(\"x\",this.width/2-1.5*this.knobSize),this.bar.setAttribute(\"y\",this.height/2-this.knobSize/2),this.bar.setAttribute(\"rx\",this.knobSize/2),this.bar.setAttribute(\"ry\",this.knobSize/2),this.bar.setAttribute(\"width\",3*this.knobSize),this.bar.setAttribute(\"height\",this.knobSize),this.knob.setAttribute(\"cx\",this.width/2-this.knobSize),this.knob.setAttribute(\"cy\",this.height/2),this.knob.setAttribute(\"r\",this.knobSize)}},colorInterface:{value:function(){this.knob.setAttribute(\"fill\",this.colors.accent),this.render()}},render:{value:function(){this.state?(this.knob.setAttribute(\"cx\",this.width/2+this.knobSize),this.bar.setAttribute(\"fill\",this.colors.accent)):(this.knob.setAttribute(\"cx\",this.width/2-this.knobSize),this.bar.setAttribute(\"fill\",this.colors.fill))}},click:{value:function(){this.flip(),this.render(),this.emit(\"change\",this.state)}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),this.emit(\"change\",this.state),this.render()}},flip:{value:function(){this._state.flip(),this.render()}}}),e}(l);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(17),l=function(t){function e(){o(this,e);var t=[\"mode\"],i={size:[80,80],mode:\"aftertouch\",state:!1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.mode=this.settings.mode,this.init(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create(\"circle\"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.defs=a.create(\"defs\"),this.element.appendChild(this.defs),this.gradient=a.radialGradient(this.defs,2),this.gradient.stops[0].setAttribute(\"offset\",\"30%\"),this.gradient.stops[1].setAttribute(\"offset\",\"100%\")}},sizeInterface:{value:function(){this.pad.setAttribute(\"cx\",this.width/2),this.pad.setAttribute(\"cy\",this.height/2),this.pad.setAttribute(\"r\",Math.min(this.width,this.height)/2-this.width/40),this.pad.setAttribute(\"stroke-width\",this.width/20)}},colorInterface:{value:function(){this.gradient.stops[0].setAttribute(\"stop-color\",this.colors.accent),this.gradient.stops[1].setAttribute(\"stop-color\",this.colors.fill),this.render()}},render:{value:function(){this.state?(\"aftertouch\"===this.mode?(this.pad.setAttribute(\"stroke\",\"url(#\"+this.gradient.id+\")\"),this.gradient.element.setAttribute(\"cx\",100*this.position.x+\"%\"),this.gradient.element.setAttribute(\"cy\",100*(1-this.position.y)+\"%\")):this.pad.setAttribute(\"stroke\",this.colors.accent),this.pad.setAttribute(\"fill\",this.colors.accent)):(this.pad.setAttribute(\"fill\",this.colors.fill),this.pad.setAttribute(\"stroke\",this.colors.mediumLight))}}}),e}(h);t.exports=l},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(13),u=i(6),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,t,i,n),this.mode=this.settings.mode||\"button\",this.position={x:0,y:0},this._state=new l(this.settings.state)}return r(e,t),n(e,{buildInterface:{value:function(){this.pad=a.create(\"circle\"),this.pad.setAttribute(\"fill\",\"#d18\"),this.pad.setAttribute(\"stroke\",\"#d18\"),this.pad.setAttribute(\"stroke-width\",4),this.element.appendChild(this.pad),this.interactionTarget=this.pad,this.sizeInterface()}},sizeInterface:{value:function(){this.pad.setAttribute(\"cx\",this.width/2),this.pad.setAttribute(\"cy\",this.height/2),this.pad.setAttribute(\"r\",Math.min(this.width,this.height)/2-2)}},render:{value:function(){this.state?(this.pad.setAttribute(\"fill\",this.colors.accent),this.pad.setAttribute(\"stroke\",this.colors.accent)):(this.pad.setAttribute(\"fill\",this.colors.fill),this.pad.setAttribute(\"stroke\",this.colors.mediumLight))}},down:{value:function(t){switch(this.mode){case\"impulse\":this.turnOn(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.turnOff.bind(this),30);break;case\"button\":this.turnOn();break;case\"aftertouch\":this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.turnOn();break;case\"toggle\":this.flip(t)}}},bend:{value:function(t){\"aftertouch\"===this.mode&&(this.mouse=t||this.mouse,this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},up:{value:function(){switch(this.mode){case\"button\":this.turnOff();break;case\"aftertouch\":this.turnOff(),this.position={x:h.clip(this.mouse.x/this.width,0,1),y:h.clip(1-this.mouse.y/this.height,0,1)}}}},click:{value:function(){this.down()}},move:{value:function(){this.bend()}},release:{value:function(){this.up()}},state:{get:function(){return this._state.state},set:function(t){this._state.flip(t),\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state),this.render()}},flip:{value:function(t){this._state.flip(t),\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state),this.render()}},turnOn:{value:function(t){this._state.on(),!1!==t&&(\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state)),this.render()}},turnOff:{value:function(t){this._state.off(),!1!==t&&(\"aftertouch\"===this.mode?this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}):this.emit(\"change\",this.state)),this.render()}}}),e}(u);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(17),h=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[150,50],state:!1,text:\"Play\"};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._text=this.settings.text,this.settings.alternate&&(this.settings.alternateText=this.settings.alternate,console.warn(\"'alternate' initiator is deprecated. Use 'alternateText' instead.\")),this._alternateText=this.settings.alternateText,this.mode=this.settings.alternateText?\"toggle\":\"button\",this.init(),this.render(),this.state=this.settings.state}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.parent.appendChild(this.element),this.textElement=document.createElement(\"div\"),this.textElement.innerHTML=this._text,this.element.appendChild(this.textElement)}},buildInterface:{value:function(){}},colorInterface:{value:function(){this.element.style.color=this.colors.dark,this.render()}},sizeInterface:{value:function(){var t=this.height/3,e=this.width/(this._text.length+2);if(t=Math.min(t,e),this.alternateText){var i=this.width/(this.alternateText.length+2);t=Math.min(t,i)}var n=\"width: \"+this.width+\"px;\";n+=\"height: \"+this.height+\"px;\",n+=\"padding: \"+(this.height-t)/2+\"px 0px;\",n+=\"box-sizing: border-box;\",n+=\"text-align: center;\",n+=\"font-family: inherit;\",n+=\"font-weight: 700;\",n+=\"opacity: 1;\",n+=\"font-size:\"+t+\"px;\",this.textElement.style.cssText=n,this.render()}},render:{value:function(){this.state?(this.element.style.backgroundColor=this.colors.accent,this.textElement.style.color=this.colors.fill,this.alternateText?this.textElement.innerHTML=this._alternateText:this.textElement.innerHTML=this._text):(this.element.style.backgroundColor=this.colors.fill,this.textElement.style.color=this.colors.dark,this.textElement.innerHTML=this._text)}},alternateText:{get:function(){return this._alternateText},set:function(t){this.mode=t?\"toggle\":\"button\",this._alternateText=t,this.render()}},text:{get:function(){return this._text},set:function(t){this._text=t,this.sizeInterface(),this.render()}}}),e}(a);t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(6),h=i(16),l=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[120,25],numberOfButtons:4,active:-1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.buttons=[],this._numberOfButtons=this.settings.numberOfButtons,this.active=this.settings.active,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++){var e=document.createElement(\"span\"),i=new h(e,{mode:\"toggle\",component:!0},this.update.bind(this,t));this.buttons.push(i),this.element.appendChild(e)}}},sizeInterface:{value:function(){for(var t=this.width/this._numberOfButtons,e=this.height,i=0;i<this._numberOfButtons;i++)this.buttons[i].resize(t,e)}},colorInterface:{value:function(){for(var t=0;t<this._numberOfButtons;t++)this.buttons[t].colors=this.colors,this.buttons[t].render()}},update:{value:function(t){this.buttons[t].state?this.select(t):this.deselect()}},render:{value:function(){for(var t=0;t<this.buttons.length;t++)t===this.active?this.buttons[t].turnOn(!1):this.buttons[t].turnOff(!1)}},select:{value:function(t){t>=0&&t<this.buttons.length&&(this.active=t,this.emit(\"change\",this.active),this.render())}},deselect:{value:function(){this.active=-1,this.emit(\"change\",this.active),this.render()}},numberOfButtons:{get:function(){return this._numberOfButtons},set:function(t){this._numberOfButtons=t;for(var e=0;e<this.buttons.length;e++)this.buttons[e].destroy();this.buttons=[],this.empty(),this.buildInterface()}}}),e}(a);t.exports=l},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(6),h=i(11),l=i(5),u=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[60,30],value:0,min:0,max:2e4,step:1};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._value=new h(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.decimalPlaces=2,this.actual=0,this.max=this._value.max,this.min=this._value.min,this.step=this._value.step,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"input\"),this.element.type=\"text\",this.element.addEventListener(\"blur\",function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.value!==this.value&&(this.value=parseFloat(this.element.value),this.render())}.bind(this)),this.element.addEventListener(\"keydown\",function(t){(t.which<48||t.which>57)&&189!==t.which&&190!==t.which&&8!==t.which&&t.preventDefault(),13===t.which&&(this.element.blur(),this.value=this.element.value,this.emit(\"change\",this.value),this.render())}.bind(this)),this.parent.appendChild(this.element)}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height);var t=\"width: \"+this.width+\"px;\";t+=\"height: \"+this.height+\"px;\",t+=\"background-color: #e7e7e7;\",t+=\"color: #333;\",t+=\"font-family: arial;\",t+=\"font-weight: 500;\",t+=\"font-size:\"+this._minDimension/2+\"px;\",t+=\"border: none;\",t+=\"outline: none;\",t+=\"padding: \"+this._minDimension/4+\"px \"+this._minDimension/4+\"px;\",t+=\"box-sizing: border-box;\",t+=\"userSelect: text;\",t+=\"mozUserSelect: text;\",t+=\"webkitUserSelect: text;\",this.element.style.cssText+=t,this.element.value=this.value}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark}},render:{value:function(){this.element.value=l.prune(this.value,this.decimalPlaces)}},click:{value:function(){this.hasMoved=!1,this.element.readOnly=!0,this.actual=this.value,this.initial={y:this.mouse.y},this.changeFactor=l.invert(this.mouse.x/this.width),console.log(this.changeFactor)}},move:{value:function(){if(this.hasMoved=!0,this.clicked){var t=this.actual-(this.mouse.y-this.initial.y)*(l.clip(this.max-this.min,0,1e3)/200)*Math.pow(this.changeFactor,2);this.value=t,this.render(),this._value.changed&&this.emit(\"change\",this.value)}}},release:{value:function(){this.hasMoved?document.body.focus():(this.element.readOnly=!1,this.element.focus(),this.element.setSelectionRange(0,this.element.value.length),this.element.style.backgroundColor=this.colors.accent,this.element.style.color=this.colors.light)}},link:{value:function(t){var e=this;this.min=t.min,this.max=t.max,this.step=t.step,t.on(\"change\",function(t){e.passiveUpdate(t)}),this.on(\"change\",function(e){t.value=e}),this.value=t.value}},passiveUpdate:{value:function(t){this._value.update(t),this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.emit(\"change\",this.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}}}),e}(a);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(6),h=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[100,30],options:[\"default\",\"options\"]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._selectedIndex=-1,this._value=!1,this._options=this.settings.options,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"select\"),this.element.style.fontSize=this.height/2+\"px\",this.element.style.outline=\"none\",this.element.style.highlight=\"none\",this.element.style.width=this.width+\"px\",this.element.style.height=this.height+\"px\",this.boundRender=this.render.bind(this),this.element.addEventListener(\"change\",this.boundRender),this.parent.appendChild(this.element)}},attachListeners:{value:function(){}},buildInterface:{value:function(){this.defineOptions()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.style.border=\"solid 0px \"+this.colors.mediumLight}},render:{value:function(){this._value=this.element.options[this.element.selectedIndex].text,this._selectedIndex=this.element.selectedIndex,this.emit(\"change\",{value:this._value,index:this._selectedIndex})}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},defineOptions:{value:function(t){t&&(this._options=t);for(var e=this.element.options.length-1;e>=0;e--)this.element.remove(e);for(var e=0;e<this._options.length;e++)this.element.options.add(new Option(this._options[e],e))}},value:{get:function(){return this._value},set:function(t){this._value=t;for(var e=0;e<this.element.options.length;e++)if(t===this.element.options[e].text){this.selectedIndex=e;break}}},selectedIndex:{get:function(){return this._selectedIndex},set:function(t){this._selectedIndex=t,this.element.selectedIndex=t,this.render()}},customDestroy:{value:function(){this.element.removeEventListener(\"change\",this.boundRender)}}}),e}(a);t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=[\"min\",\"max\",\"value\"],i={size:[75,75],interaction:\"radial\",mode:\"relative\",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.interaction=this.settings.interaction,this._value=new u(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new c.Handle(this.settings.mode,this.interaction,[0,this.width],[this.height,0]),this.init(),this.value=this._value.value,this.position.value=this._value.normalized,this.previousAngle=!1,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.background=a.create(\"circle\"),this.screw=a.create(\"circle\"),this.handle=a.create(\"path\"),this.handle2=a.create(\"path\"),this.handleFill=a.create(\"path\"),this.handle2Fill=a.create(\"path\"),this.handleLine=a.create(\"path\"),this.element.appendChild(this.background),this.element.appendChild(this.handle),this.element.appendChild(this.handle2),this.element.appendChild(this.handleFill),this.element.appendChild(this.handle2Fill),this.element.appendChild(this.handleLine),this.element.appendChild(this.screw)}},sizeInterface:{value:function(){this.position.resize([0,this.width],[this.height,0]);var t={x:this.width/2,y:this.height/2},e=Math.min(this.width,this.height);this.background.setAttribute(\"cx\",t.x),this.background.setAttribute(\"cy\",t.y),this.background.setAttribute(\"r\",e/2-e/40),this.screw.setAttribute(\"cx\",t.x),this.screw.setAttribute(\"cy\",t.y),this.screw.setAttribute(\"r\",e/12);var i=this.value,n={start:1.5*Math.PI,end:h.clip(h.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(t.x,t.y,e/2-e/40,n.start,n.end),o=a.arc(t.x,t.y,e/2-e/40,s.start,s.end);this.handle.setAttribute(\"d\",r),this.handle.setAttribute(\"stroke-width\",e/20),this.handle.setAttribute(\"fill\",\"none\"),this.handle2.setAttribute(\"d\",o),this.handle2.setAttribute(\"stroke-width\",e/20),this.handle2.setAttribute(\"fill\",\"none\"),r+=\" L \"+t.x+\" \"+t.y,this.handleFill.setAttribute(\"d\",r),this.handleFill.setAttribute(\"fill-opacity\",\"0.3\"),o+=\" L \"+t.x+\" \"+t.y,this.handle2Fill.setAttribute(\"d\",o),this.handle2Fill.setAttribute(\"fill-opacity\",\"0.3\");var l=void 0;l=i<.5?n.end:s.end;var u=t.x+Math.cos(l)*(e/2),c=t.y+Math.sin(l)*(e/2)*-1;this.handleLine.setAttribute(\"d\",\"M \"+t.x+\" \"+t.y+\" L \"+u+\" \"+c),this.handleLine.setAttribute(\"stroke-width\",e/20)}},colorInterface:{value:function(){this.background.setAttribute(\"fill\",this.colors.fill),this.screw.setAttribute(\"fill\",this.colors.accent),this.handle.setAttribute(\"stroke\",this.colors.accent),this.handle2.setAttribute(\"stroke\",this.colors.accent),this.handleFill.setAttribute(\"fill\",this.colors.accent),this.handle2Fill.setAttribute(\"fill\",this.colors.accent),this.handleLine.setAttribute(\"stroke\",this.colors.accent)}},render:{value:function(){var t=this._value.normalized,e={x:this.width/2,y:this.height/2},i=Math.min(this.width,this.height),n={start:1.5*Math.PI,end:h.clip(h.scale(t,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},s={start:2.5*Math.PI,end:h.clip(h.scale(t,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},r=a.arc(e.x,e.y,i/2-i/40,n.start,n.end),o=a.arc(e.x,e.y,i/2-i/40,s.start,s.end);this.handle.setAttribute(\"d\",r),this.handle2.setAttribute(\"d\",o),r+=\" L \"+e.x+\" \"+e.y,this.handleFill.setAttribute(\"d\",r),o+=\" L \"+e.x+\" \"+e.y,this.handle2Fill.setAttribute(\"d\",o);var l=void 0;l=t<=.5?n.end:s.end;var u=e.x+Math.cos(l)*(i/2),c=e.y+Math.sin(l)*(i/2)*-1;this.handleLine.setAttribute(\"d\",\"M \"+e.x+\" \"+e.y+\" L \"+u+\" \"+c)}},click:{value:function(){\"relative\"===this.mode&&(this.previousAngle=!1),this.position.anchor=this.mouse,this.position.value=this._value.normalized,this.move()}},move:{value:function(){if(this.clicked){this.position.update(this.mouse);var t=this.position.value*Math.PI*2;t<0&&(t+=2*Math.PI),\"relative\"===this.mode&&!1!==this.previousAngle&&Math.abs(this.previousAngle-t)>2&&(t=this.previousAngle>3?2*Math.PI:0),this.previousAngle=t;var e=t/(2*Math.PI);this.value=this._value.updateNormal(e),\"relative\"===this.mode&&(this.position.value=e),this.emit(\"change\",this._value.value),this.render()}}},release:{value:function(){}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit(\"change\",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}},normalized:{get:function(){return this._value.normalized},set:function(t){this._value.updateNormal(t),this.emit(\"change\",this.value)}}}),e}(l);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(17),u=i(9),c=function(t){function e(){o(this,e);var t=[\"value\",\"note\",\"color\"],i={size:[80,80],target:!1,mode:\"button\",value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.note=this.settings.note,this.color=this.settings.color,this.colors={w:\"#fff\",b:\"#666\"},this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create(\"rect\"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,u.exists||(this.click=function(){t.piano.interacting=!0,t.piano.paintbrush=!t.state,t.down(t.piano.paintbrush)},this.pad.addEventListener(\"mouseover\",function(){t.piano.interacting&&t.down(t.piano.paintbrush)}),this.move=function(){t.piano.interacting&&t.bend()},this.release=function(){t.piano.interacting=!1},this.pad.addEventListener(\"mouseup\",function(){t.piano.interacting&&t.up()}),this.pad.addEventListener(\"mouseout\",function(){t.piano.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute(\"x\",.5),this.pad.setAttribute(\"y\",.5),this.width>2?this.pad.setAttribute(\"width\",this.width-1):this.pad.setAttribute(\"width\",this.width),this.height,this.pad.setAttribute(\"height\",this.height),this.pad.setAttribute(\"rx\",0),this.pad.setAttribute(\"ry\",0)}},render:{value:function(){this.state?this.pad.setAttribute(\"fill\",this.colors.accent):this.pad.setAttribute(\"fill\",this.colors[this.color])}}}),e}(l),f=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[500,125],lowNote:24,highNote:60,mode:\"button\"};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.keyPattern=[\"w\",\"b\",\"w\",\"b\",\"w\",\"w\",\"b\",\"w\",\"b\",\"w\",\"b\",\"w\"],this.paintbrush=!1,this.mode=this.settings.mode,this.range={low:this.settings.lowNote,high:this.settings.highNote},this.range.size=this.range.high-this.range.low,this.keys=[],this.toggleTo=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.element.style.position=\"relative\",this.element.style.borderRadius=\"0px\",this.element.style.display=\"block\",this.element.style.width=\"100%\",this.element.style.height=\"100%\",this.parent.appendChild(this.element)}},buildInterface:{value:function(){this.keys=[];for(var t=0;t<this.range.high-this.range.low;t++){var e=document.createElement(\"span\"),i=(t+this.range.low)%this.keyPattern.length,n=new c(e,{component:!0,note:t+this.range.low,color:this.keyPattern[i],mode:this.mode},this.keyChange.bind(this,t+this.range.low));n.piano=this,u.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.keys.push(n),this.element.appendChild(e)}u.exists&&this.addTouchListeners()}},sizeInterface:{value:function(){for(var t=0,e=[],i=0;i<this.range.high-this.range.low;i++){e.push(t);var n=(i+this.range.low)%this.keyPattern.length,s=(i+1+this.range.low)%this.keyPattern.length;i+1+this.range.low>=this.range.high?t+=1:\"w\"===this.keyPattern[n]&&\"w\"===this.keyPattern[s]?t+=1:t+=.5}for(var r=t,o=(this.width-2)/r,a=(this.height-2)/2,i=0;i<this.keys.length;i++){var h=this.keys[i].parent;h.style.position=\"absolute\",h.style.left=e[i]*o+1+\"px\",\"w\"===this.keys[i].color?(h.style.top=\"1px\",this.keys[i].resize(o,2*a)):(h.style.zIndex=1,h.style.top=\"1px\",this.keys[i].resize(o,1.1*a))}}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.mediumLight;for(var t=0;t<this.keys.length;t++)this.keys[t].colors={w:this.colors.light,b:this.colors.dark,accent:this.colors.accent,border:this.colors.mediumLight},this.keys[t].colorInterface(),this.keys[t].render()}},keyChange:{value:function(t,e){var i={note:t};i.state=\"object\"==typeof e?e.state:e,this.emit(\"change\",i)}},render:{value:function(){}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener(\"touchstart\",function(e){console.log(\"touchstart\");var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchmove\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.keys[i.index];if(i.index!==t.currentElement){if(t.currentElement){t.keys[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.keys[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},setRange:{value:function(t,e){this.range.low=t,this.range.high=e,this.empty(),this.buildInterface()}},toggleKey:{value:function(t,e){this.keys[t-this.range.low].flip(e)}},toggleIndex:{value:function(t,e){this.keys[t].flip(e)}}}),e}(h);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(7),l=i(6),u=i(17),c=i(25),f=i(28),d=i(9),v=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[80,80],target:!1,mode:\"toggle\",value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.index=this.settings.index,this.row=this.settings.row,this.column=this.settings.column,this.matrix=this.settings.matrix,this.interacting=!1,this.paintbrush=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.element.style.top=\"0px\",this.element.style.left=\"0px\",this.element.style.position=\"absolute\",this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create(\"rect\"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,d.exists||(this.click=function(){t.matrix.interacting=!0,t.matrix.paintbrush=!t.state,t.down(t.matrix.paintbrush)},this.pad.addEventListener(\"mouseover\",function(){t.matrix.interacting&&t.down(t.matrix.paintbrush)}),this.move=function(){},this.pad.addEventListener(\"mousemove\",function(e){t.matrix.interacting&&(t.offset||(t.offset=h.findPosition(t.element)),t.mouse=h.locateMouse(e,t.offset),t.bend())}),this.release=function(){t.matrix.interacting=!1},this.pad.addEventListener(\"mouseup\",function(){t.matrix.interacting&&t.up()}),this.pad.addEventListener(\"mouseout\",function(){t.matrix.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute(\"x\",1),this.pad.setAttribute(\"y\",1),this.width>2?this.pad.setAttribute(\"width\",this.width-2):this.pad.setAttribute(\"width\",this.width),this.height>2?this.pad.setAttribute(\"height\",this.height-2):this.pad.setAttribute(\"height\",this.height),this.pad.setAttribute(\"fill\",this.matrix.colors.fill)}},render:{value:function(){this.state?this.pad.setAttribute(\"fill\",this.matrix.colors.accent):this.pad.setAttribute(\"fill\",this.matrix.colors.fill)}}}),e}(u),p=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[400,200],mode:\"toggle\",rows:5,columns:10};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.active=-1,this.mode=this.settings.mode,this.interval=new Nexus.Interval(200,function(){},!1),this.matrix=new c(this.settings.rows,this.settings.columns),this.matrix.ui=this,this.stepper=new f(0,this.columns),this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.element.style.position=\"relative\",this.element.style.display=\"block\",this.element.style.width=\"100%\",this.element.style.height=\"100%\",this.parent.appendChild(this.element),d.exists&&this.addTouchListeners()}},buildInterface:{value:function(){this.cells=[];for(var t=0;t<this.matrix.length;t++){var e=this.matrix.locate(t),i=document.createElement(\"span\");i.style.position=\"absolute\";var n=new v(i,{component:!0,index:t,row:e.row,column:e.column,mode:this.mode,matrix:this},this.keyChange.bind(this,t));d.exists&&(n.pad.index=t,n.preClick=n.preMove=n.preRelease=function(){},n.click=n.move=n.release=function(){},n.preTouch=n.preTouchMove=n.preTouchRelease=function(){},n.touch=n.touchMove=n.touchRelease=function(){}),this.cells.push(n),this.element.appendChild(i)}this.sizeInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.columns,e=this.height/this.rows,i=0;i<this.cells.length;i++){var n=this.cells[i].parent;n.style.left=this.cells[i].column*t+\"px\",n.style.top=this.cells[i].row*e+\"px\",this.cells[i].resize(t,e)}}},colorInterface:{value:function(){for(var t=0;t<this.cells.length;t++)this.cells[t].render()}},update:{value:function(){var t=this;this.matrix.iterate(function(e,i,n){t.matrix.pattern[e][i]!==t.cells[n].state&&(t.matrix.pattern[e][i]>0?t.cells[n].turnOn():t.cells[n].turnOff())})}},keyChange:{value:function(t,e){var i=this.matrix.locate(t);this.matrix.pattern[i.row][i.column]=e;var n={row:i.row,column:i.column,state:e};this.emit(\"change\",n)}},render:{value:function(){var t=this;this.stepper.value>=0&&this.matrix.iterate(function(e,i,n){i===t.stepper.value?(t.cells[n].pad.setAttribute(\"stroke\",t.colors.mediumLight),t.cells[n].pad.setAttribute(\"stroke-width\",\"1\"),t.cells[n].pad.setAttribute(\"stroke-opacity\",\"1\")):t.cells[n].pad.setAttribute(\"stroke\",\"none\")})}},start:{value:function(t){this.interval.event=this.next.bind(this),t&&this.interval.ms(t),this.interval.start()}},stop:{value:function(){this.interval.stop()}},next:{value:function(){this.stepper.next(),this.emit(\"step\",this.matrix.column(this.stepper.value).reverse()),this.render()}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener(\"touchstart\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchmove\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];if(i.index!==t.currentElement){if(t.currentElement>=0){t.cells[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.cells[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},rows:{get:function(){return this.matrix.rows},set:function(t){this.matrix.rows=t,this.empty(),this.buildInterface(),this.update()}},columns:{get:function(){return this.matrix.columns},set:function(t){this.matrix.columns=t,this.stepper.max=t,this.empty(),this.buildInterface(),this.update()}}}),e}(l);t.exports=p},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},o=n(i(5)),a=n(i(26)),h=function(){function t(e,i){var n=this;r(this,t),this.pattern=[],this.create(e,i),this.toggle={cell:function(t,e){return n.pattern[e][t]=!n.pattern[e][t],n.ui&&n.ui.update(),n.pattern[e][t]},all:function(){n.iterate(function(t,e){n.toggle.cell(e,t)}),n.ui&&n.ui.update()},row:function(t){for(var e=0;e<n.columns;e++)n.toggle.cell(e,t);n.ui&&n.ui.update()},column:function(t){for(var e=0;e<n.rows;e++)n.toggle.cell(t,e);n.ui&&n.ui.update()}},this.set={cell:function(t,e,i){n.pattern[e][t]=i,n.ui&&n.ui.update()},all:function(t){n.pattern=t,n.ui&&n.ui.update()},row:function(t,e){n.pattern[t]=e,n.ui&&n.ui.update()},column:function(t,e){n.pattern.forEach(function(i,s){n.pattern[s][t]=e[s]}),n.ui&&n.ui.update()}},this.rotate={all:function(t){t||0===t||(t=1),(t%=n.pattern[0].length)<0&&(t=n.pattern[0].length+t);for(var e=0;e<n.rows;e++){var i=n.pattern[e].splice(n.pattern[e].length-t,t);n.pattern[e]=i.concat(n.pattern[e])}n.ui&&n.ui.update()},row:function(t,e){e||0===e||(e=1),(e%=n.pattern[0].length)<0&&(e=n.pattern[0].length+e);var i=n.pattern[t].splice(n.pattern[t].length-e,e);n.pattern[t]=i.concat(n.pattern[t]),n.ui&&n.ui.update()},column:function(t,e){e||0===e||(e=1),(e%=n.pattern.length)<0&&(e=n.pattern.length+e);var i=[];n.pattern.forEach(function(e){i.push(e[t])});var s=i.splice(i.length-e,e);i=s.concat(i),n.pattern.forEach(function(e,n){e[t]=i[n]}),n.ui&&n.ui.update()}},this.populate={all:function(t){var e=new a(t);n.iterate(function(t,i){n.pattern[t][i]=o.coin(e.next())}),n.ui&&n.ui.update()},row:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern[t].forEach(function(e,s){n.pattern[t][s]=o.coin(i.next())}),n.ui&&n.ui.update()},column:function(){var t=void 0===arguments[0]?0:arguments[0],e=void 0===arguments[1]?1:arguments[1],i=new a(e);n.pattern.forEach(function(e,s){n.pattern[s][t]=o.coin(i.next())}),n.ui&&n.ui.update()}},this.erase={all:function(){n.set.all(0)},row:function(t){n.set.row(t,0)},column:function(t){n.set.column(t,0)}}}return s(t,{create:{value:function(t,e){var i=this;this.pattern=[];for(var n=0;n<t;n++){var s=new Array(e);this.pattern.push(s)}this.iterate(function(t,e){i.pattern[t][e]=!1})}},iterate:{value:function(t,e){for(var i=0,n=0;n<this.rows;n++){e&&e(n);for(var s=0;s<this.columns;s++)t(n,s,i),i++}}},formatAsText:{value:function(){var t=this,e=\"\";return this.iterate(function(i,n){e+=(t.pattern[i][n]?1:0)+\" \"},function(){e+=\"\\n\"}),e}},log:{value:function(){console.log(this.formatAsText())}},update:{value:function(t){this.pattern=t||this.pattern}},length:{get:function(){return this.rows*this.columns}},locate:{value:function(t){return{row:~~(t/this.columns),column:t%this.columns}}},indexOf:{value:function(t,e){return e+t*this.columns}},row:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.columns;i++)e.push(this.pattern[t]?1:0);return e})},column:{value:function(t){var e=function(e){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(t){for(var e=[],i=0;i<this.rows;i++)e.push(this.pattern[i][t]?1:0);return e})},rows:{get:function(){return this.pattern.length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(t,this.columns),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}},columns:{get:function(){return this.pattern[0].length},set:function(t){var e=this,i=this.pattern.slice(0);this.create(this.rows,t),this.iterate(function(t,n){i[t]&&i[t][n]&&(e.pattern[t][n]=i[t][n])})}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?[0,10,20,30]:arguments[0],i=void 0===arguments[1]?\"up\":arguments[1],n=void 0!==arguments[2]&&arguments[2];r(this,t),this.values=e,Array.isArray(this.values)||(this.values=[this.values]),this._mode=i,this.position=n,this.drunkWalk=new a(0,this.values.length-1),this.startValues={up:0,down:this.values.length-1,drunk:~~(this.values.length/2),random:o.ri(this.values.length)},!1!==this.position?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{get:function(){return this._mode},set:function(t){if(\"up\"!==t&&\"down\"!==t&&\"random\"!==t&&\"drunk\"!==t)return void console.error(\"The only modes currently allowed are: up, down, random, drunk\");this._mode=t,this.position&&(this.next=this[this._mode])}},value:{get:function(){return this.values[this.position]},set:function(t){this.position=this.values.indexOf(t)}},first:{value:function(){return!1!==this.position?(this.next=this[this._mode],this.next()):(this.position=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.position++,this.position%=this.values.length,this.value}},down:{value:function(){return this.position--,this.position<0&&(this.position=(this.position+this.values.length)%this.values.length),this.value}},random:{value:function(){return this.position=o.ri(0,this.values.length),this.value}},drunk:{value:function(){return this.drunkWalk.max=this.values.length,this.drunkWalk.value=this.position,this.position=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?9:arguments[1],n=void 0===arguments[2]?0:arguments[2],r=void 0===arguments[3]?1:arguments[3],o=void 0!==arguments[4]&&arguments[4];s(this,t),this.min=e,this.max=i,this.value=n,this.increment=r,this.loop=o}return n(t,{next:{value:function(){return this.value+=r.pick(-1*this.increment,this.increment),this.value>this.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value<this.min&&(this.loop?this.value=this.max:this.value=this.min+this.increment),this.value}}}),t}();t.exports=o},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},o=n(i(5)),a=n(i(27)),h=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?10:arguments[1],n=void 0===arguments[2]?\"up\":arguments[2],s=void 0!==arguments[3]&&arguments[3];r(this,t),this.min=e,this.max=i,this.value=s,this.mode=n,this.drunkWalk=new a(this.min,this.max),!1!==this.value?this.next=this[this._mode]:this.next=this.first}return s(t,{mode:{set:function(t){if(\"up\"!==t&&\"down\"!==t&&\"random\"!==t&&\"drunk\"!==t)return void console.error(\"The only modes currently allowed are: up, down, random, drunk\");this._mode=t,this.value&&(this.next=this[this._mode])},get:function(){return this._mode}},first:{value:function(){return!1!==this.value?(this.next=this[this._mode],this.next()):(this.startValues={up:this.min,down:this.max,drunk:~~o.average(this.min,this.max),random:o.ri(this.min,this.max)},this.value=this.startValues[this._mode],this.next=this[this._mode],this.value)}},up:{value:function(){return this.value++,this.value>=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value<this.min&&(this.value=this.max),this.value}},random:{value:function(){return this.value=o.ri(this.min,this.max),this.value}},drunk:{value:function(){return this.drunkWalk.min=this.min,this.drunkWalk.max=this.max,this.drunkWalk.value=this.value,this.value=this.drunkWalk.next(),this.value}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=[\"range\"],i={size:[200,200],range:.5,mode:\"absolute\",speakers:[[.5,.2],[.75,.25],[.8,.5],[.75,.75],[.5,.8],[.25,.75],[.2,.5],[.25,.25]]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.value={x:new u(0,1,0,.5),y:new u(0,1,0,.5)},this.mode=this.settings.mode,this.position={x:new c.Handle(this.mode,\"horizontal\",[0,this.width],[this.height,0]),y:new c.Handle(this.mode,\"vertical\",[0,this.width],[this.height,0])},this.position.x.value=this.value.x.normalized,this.position.y.value=this.value.y.normalized,this.speakers=this.settings.speakers,this.range=this.settings.range,this.levels=[],this.init(),this.calculateLevels(),this.render()}return r(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create(\"circle\"),this.element.appendChild(this.knob),this.speakerElements=[];for(var t=0;t<this.speakers.length;t++){var e=a.create(\"circle\");this.element.appendChild(e),this.speakerElements.push(e)}}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:3*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute(\"cx\",this.width/2),this.knob.setAttribute(\"cy\",this.height/2),this.knob.setAttribute(\"r\",this.knobRadius.off);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t],i=this.speakers[t];e.setAttribute(\"cx\",i[0]*this.width),e.setAttribute(\"cy\",i[1]*this.height),e.setAttribute(\"r\",this._minDimension/20+5),e.setAttribute(\"fill-opacity\",\"0\")}this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this.calculateLevels(),this.render()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute(\"fill\",this.colors.mediumLight);for(var t=0;t<this.speakers.length;t++){var e=this.speakerElements[t];e.setAttribute(\"fill\",this.colors.accent),e.setAttribute(\"stroke\",this.colors.accent)}}},render:{value:function(){this.knobCoordinates={x:this.value.x.normalized*this.width,y:this.height-this.value.y.normalized*this.height},this.knob.setAttribute(\"cx\",this.knobCoordinates.x),this.knob.setAttribute(\"cy\",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this.calculateLevels(),this.emit(\"change\",this.levels),this.render())}},release:{value:function(){this.render()}},normalized:{get:function(){return{x:this.value.x.normalized,y:this.value.y.normalized}}},calculateLevels:{value:function(){var t=this;this.value.x.updateNormal(this.position.x.value),this.value.y.updateNormal(this.position.y.value),this.levels=[],this.speakers.forEach(function(e,i){var n=h.distance(e[0]*t.width,e[1]*t.height,t.position.x.value*t.width,(1-t.position.y.value)*t.height),s=h.clip(1-n/(t.range*t.width),0,1);t.levels.push(s),t.speakerElements[i].setAttribute(\"fill-opacity\",s)})}},moveSource:{value:function(t,e){var i={x:t*this.width,y:e*this.height};this.position.x.update(i),this.position.y.update(i),this.calculateLevels(),this.emit(\"change\",this.levels),this.render()}},moveSpeaker:{value:function(t,e,i){this.speakers[t]=[e,i],this.speakerElements[t].setAttribute(\"cx\",e*this.width),this.speakerElements[t].setAttribute(\"cy\",i*this.height),this.calculateLevels(),this.emit(\"change\",this.levels),this.render()}}}),e}(l);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(5),h=i(4),l=i(6),u=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[80,80]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._active=!0,this.init(),this.boundUpdate=this.update.bind(this),window.DeviceOrientationEvent?this.orientationListener=window.addEventListener(\"deviceorientation\",this.boundUpdate,!1):(this._active=!1,this.colorInterface())}return r(e,t),n(e,{buildInterface:{value:function(){this.title=h.create(\"text\"),this.circleX=h.create(\"circle\"),this.circleY=h.create(\"circle\"),this.circleZ=h.create(\"circle\"),this.barX=h.create(\"path\"),this.barY=h.create(\"path\"),this.barZ=h.create(\"path\"),this.barX2=h.create(\"path\"),this.barY2=h.create(\"path\"),this.barZ2=h.create(\"path\"),this.barX.setAttribute(\"opacity\",\"0.8\"),this.barY.setAttribute(\"opacity\",\"0.8\"),this.barZ.setAttribute(\"opacity\",\"0.8\"),this.barX2.setAttribute(\"opacity\",\"0.8\"),this.barY2.setAttribute(\"opacity\",\"0.8\"),this.barZ2.setAttribute(\"opacity\",\"0.8\"),this.circleX.setAttribute(\"cx\",3*this.width/12),this.circleX.setAttribute(\"cy\",3*this.height/4),this.circleX.setAttribute(\"r\",this.height/10),this.circleX.setAttribute(\"opacity\",\"0.4\"),this.circleY.setAttribute(\"cx\",6*this.width/12),this.circleY.setAttribute(\"cy\",3*this.height/4),this.circleY.setAttribute(\"r\",this.height/10),this.circleY.setAttribute(\"opacity\",\"0.4\"),this.circleZ.setAttribute(\"cx\",9*this.width/12),this.circleZ.setAttribute(\"cy\",3*this.height/4),this.circleZ.setAttribute(\"r\",this.height/10),this.circleZ.setAttribute(\"opacity\",\"0.4\"),this.barX.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barY.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barZ.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barX.setAttribute(\"fill\",\"none\"),this.barY.setAttribute(\"fill\",\"none\"),this.barZ.setAttribute(\"fill\",\"none\"),this.barX2.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barY2.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barZ2.setAttribute(\"stroke-width\",Math.round(this.height/30)),this.barX2.setAttribute(\"fill\",\"none\"),this.barY2.setAttribute(\"fill\",\"none\"),this.barZ2.setAttribute(\"fill\",\"none\"),this.title.setAttribute(\"x\",this.width/2),this.title.setAttribute(\"y\",this.height/3+7),this.title.setAttribute(\"font-size\",\"15px\"),this.title.setAttribute(\"font-weight\",\"bold\"),this.title.setAttribute(\"letter-spacing\",\"2px\"),this.title.setAttribute(\"opacity\",\"0.7\"),this.title.setAttribute(\"text-anchor\",\"middle\"),this.title.textContent=\"TILT\",this.element.appendChild(this.circleX),this.element.appendChild(this.circleY),this.element.appendChild(this.circleZ),this.element.appendChild(this.barX),this.element.appendChild(this.barY),this.element.appendChild(this.barZ),this.element.appendChild(this.barX2),this.element.appendChild(this.barY2),this.element.appendChild(this.barZ2),this.element.appendChild(this.title)}},colorInterface:{value:function(){this._active?(this.element.style.backgroundColor=this.colors.accent,this.circleX.setAttribute(\"fill\",this.colors.light),this.circleY.setAttribute(\"fill\",this.colors.light),this.circleZ.setAttribute(\"fill\",this.colors.light),this.circleX.setAttribute(\"stroke\",this.colors.light),this.circleY.setAttribute(\"stroke\",this.colors.light),this.circleZ.setAttribute(\"stroke\",this.colors.light),this.barX.setAttribute(\"stroke\",this.colors.light),this.barY.setAttribute(\"stroke\",this.colors.light),this.barZ.setAttribute(\"stroke\",this.colors.light),this.barX2.setAttribute(\"stroke\",this.colors.light),this.barY2.setAttribute(\"stroke\",this.colors.light),this.barZ2.setAttribute(\"stroke\",this.colors.light),this.title.setAttribute(\"fill\",this.colors.light)):(this.element.style.backgroundColor=this.colors.fill,this.circleX.setAttribute(\"fill\",this.colors.mediumLight),this.circleY.setAttribute(\"fill\",this.colors.mediumLight),this.circleZ.setAttribute(\"fill\",this.colors.mediumLight),this.circleX.setAttribute(\"stroke\",this.colors.mediumLight),this.circleY.setAttribute(\"stroke\",this.colors.mediumLight),this.circleZ.setAttribute(\"stroke\",this.colors.mediumLight),this.barX.setAttribute(\"stroke\",this.colors.mediumLight),this.barY.setAttribute(\"stroke\",this.colors.mediumLight),this.barZ.setAttribute(\"stroke\",this.colors.mediumLight),this.barX2.setAttribute(\"stroke\",this.colors.mediumLight),this.barY2.setAttribute(\"stroke\",this.colors.mediumLight),this.barZ2.setAttribute(\"stroke\",this.colors.mediumLight),this.title.setAttribute(\"fill\",this.colors.mediumLight))}},update:{value:function(t){if(this._active){var e=t.beta,i=t.gamma,n=t.alpha;i=a.scale(i,-90,90,0,1),e=a.scale(e,-90,90,0,1),n=a.scale(n,0,360,0,1);var s={start:1.5*Math.PI,end:a.clip(a.scale(i,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(i,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,s.start,s.end),l=h.arc(this.circleX.cx.baseVal.value,this.circleX.cy.baseVal.value,this.circleX.r.baseVal.value,r.start,r.end);this.barX.setAttribute(\"d\",o),this.barX2.setAttribute(\"d\",l),s={start:1.5*Math.PI,end:a.clip(a.scale(e,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(e,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,s.start,s.end),l=h.arc(this.circleY.cx.baseVal.value,this.circleY.cy.baseVal.value,this.circleY.r.baseVal.value,r.start,r.end),this.barY.setAttribute(\"d\",o),this.barY2.setAttribute(\"d\",l),s={start:1.5*Math.PI,end:a.clip(a.scale(n,0,.5,1.5*Math.PI,.5*Math.PI),.5*Math.PI,1.5*Math.PI)},r={start:2.5*Math.PI,end:a.clip(a.scale(n,.5,1,2.5*Math.PI,1.5*Math.PI),1.5*Math.PI,2.5*Math.PI)},o=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,s.start,s.end),l=h.arc(this.circleZ.cx.baseVal.value,this.circleZ.cy.baseVal.value,this.circleZ.r.baseVal.value,r.start,r.end),this.barZ.setAttribute(\"d\",o),this.barZ2.setAttribute(\"d\",l),this.emit(\"change\",{x:i,y:e,z:n})}}},click:{value:function(){window.DeviceOrientationEvent&&(this.active=!this.active)}},active:{get:function(){return this._active},set:function(t){this._active=t,this.colorInterface()}},customDestroy:{value:function(){window.removeEventListener(\"deviceorientation\",this.boundUpdate,!1)}}}),e}(l);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(5),l=i(6),u=i(32),c=i(9),f=function(t){function e(){var t=this;o(this,e);var i=[\"scale\",\"value\"],n={size:[120,20],orientation:\"vertical\",mode:\"absolute\",scale:[0,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,i,n),c.exists||(this.click=function(){t.multislider.interacting=!0,t.multislider.interpolation={index:t.index,value:t.value},t.down(),t.multislider.values[t.index]=t.value},this.element.addEventListener(\"mouseover\",function(e){if(t.multislider.interacting){if(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.down(),t.multislider.values[t.index]=t.value,t.multislider.interpolation){var i=Math.abs(t.multislider.interpolation.index-t.index);if(i>1)for(var n=Math.min(t.multislider.interpolation.index,t.index),s=Math.max(t.multislider.interpolation.index,t.index),r=t.multislider.sliders[n].value,o=t.multislider.sliders[s].value,l=n;l<s;l++){t.multislider.sliders[l].value=h.interp((l-n)/i,r,o);var u=t.multislider.sliders[l].value;t.multislider.values[l]=u,t.multislider.update(l,u)}}t.multislider.interpolation={index:t.index,value:t.value}}}),this.move=function(){},this.element.addEventListener(\"mousemove\",function(e){t.multislider.interacting&&(t.offset||(t.offset=a.findPosition(t.element)),t.mouse=a.locateMouse(e,t.offset),t.slide(),t.multislider.values[t.index]=t.value)}),this.release=function(){t.multislider.interacting=!1,t.multislider.interpolation=!1},this.element.addEventListener(\"mouseup\",function(){t.multislider.interacting&&(t.up(),t.multislider.interpolation=!1,t.multislider.values[t.index]=t.value)}),this.element.addEventListener(\"mouseout\",function(){t.multislider.interacting&&(t.up(),t.multislider.values[t.index]=t.value)})),this.customStyle()}return r(e,t),n(e,{customStyle:{value:function(){this.bar.setAttribute(\"x\",0),this.bar.setAttribute(\"transform\",\"translate(0,0)\"),this.bar.setAttribute(\"rx\",0),this.bar.setAttribute(\"ry\",0),this.bar.setAttribute(\"width\",this.width),this.bar.setAttribute(\"height\",this.height),this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"transform\",\"translate(0,0)\"),this.fillbar.setAttribute(\"rx\",0),this.fillbar.setAttribute(\"ry\",0),this.fillbar.setAttribute(\"width\",this.width),this.fillbar.setAttribute(\"height\",this.height)}}}),e}(u),d=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[200,100],numberOfSliders:5,min:0,max:1,step:0,values:[.7,.7,.7,.7,.7]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._numberOfSliders=this.settings.numberOfSliders,this.values=this.settings.values,this.sliders=[],this.interacting=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this.settings.min,e=this.settings.max,i=this.settings.step;this.sliders.length&&(t=this.sliders[0].min,e=this.sliders[0].max,i=this.sliders[0].step),this.sliders=[];for(var n=0;n<this._numberOfSliders;n++){var s=document.createElement(\"span\"),r=new f(s,{scale:[t,e],step:i,mode:\"absolute\",orientation:\"vertical\",value:this.values[n],hasKnob:!1,component:!0},this.update.bind(this,n));r.multislider=this,r.index=n,c.exists&&(r.bar.index=n,r.fillbar.index=n,r.preClick=r.preMove=r.preRelease=function(){},r.click=r.move=r.release=function(){},r.preTouch=r.preTouchMove=r.preTouchRelease=function(){},r.touch=r.touchMove=r.touchRelease=function(){}),this.sliders.push(r),this.element.appendChild(s)}c.exists&&this.addTouchListeners()}},colorInterface:{value:function(){for(var t=0;t<this.sliders.length;t++)this.sliders[t].colors=this.colors,this.sliders[t].colorInterface()}},sizeInterface:{value:function(){for(var t=this.width/this.sliders.length,e=this.height,i=0;i<this.sliders.length;i++)this.sliders[i].resize(t,e),this.sliders[i].customStyle()}},update:{value:function(t,e){this.emit(\"change\",{index:t,value:e})}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener(\"touchstart\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),n.down(),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchmove\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.sliders[i.index];if(n.offset||(n.offset=a.findPosition(n.element)),n.mouse=a.locateMouse(e,n.offset),i.index!==t.currentElement){if(t.currentElement>=0){t.sliders[t.currentElement].up()}n.down()}else n.slide();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.sliders[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},numberOfSliders:{get:function(){return this.sliders.length},set:function(t){t!==this.sliders.length&&(this.sliders.forEach(function(t){t.destroy()}),this.empty(),this._numberOfSliders=t,this.buildInterface())}},min:{get:function(){return this.sliders[0].min},set:function(t){this.sliders.forEach(function(e){e.min=t})}},max:{get:function(){return this.sliders[0].max},set:function(t){this.sliders.forEach(function(e){e.max=t})}},step:{get:function(){return this.sliders[0].step},set:function(t){this.sliders.forEach(function(e){e.step=t})}},setSlider:{value:function(t,e){this.sliders[t].value=e,this.emit(\"change\",{index:t,value:e})}},setAllSliders:{value:function(t){var e=this;this.values=t,this.sliders.forEach(function(i,n){i.value=t[n%t.length],e.emit(\"change\",{index:n,value:i.value})})}}}),e}(l);t.exports=d},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),l=i(11),u=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(t,i,n){o(this,e),s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,t,i,n),this.orientation=this.settings.orientation,this.hasKnob=this.settings.hasKnob,this._value=new l(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new u.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.fillbar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob),this.sizeInterface()}},sizeInterface:{value:function(){this.settings.orientation||(this.width<this.height?this.orientation=\"vertical\":this.orientation=\"horizontal\");var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},\"vertical\"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.normalized*n,s=\"translate(\"+-1*this.thickness/2+\",0)\",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*i,s=\"translate(0,\"+-1*this.thickness/2+\")\",r=n/2),this.bar.setAttribute(\"x\",t),this.bar.setAttribute(\"y\",e),this.bar.setAttribute(\"transform\",s),this.bar.setAttribute(\"rx\",r),this.bar.setAttribute(\"ry\",r),this.bar.setAttribute(\"width\",i),this.bar.setAttribute(\"height\",n),\"vertical\"===this.orientation?(this.fillbar.setAttribute(\"x\",t),this.fillbar.setAttribute(\"y\",this.knobData.level),this.fillbar.setAttribute(\"width\",i),this.fillbar.setAttribute(\"height\",n-this.knobData.level)):(this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"y\",e),this.fillbar.setAttribute(\"width\",this.knobData.level),this.fillbar.setAttribute(\"height\",n)),this.fillbar.setAttribute(\"transform\",s),this.fillbar.setAttribute(\"rx\",r),this.fillbar.setAttribute(\"ry\",r),\"vertical\"===this.orientation?(this.knob.setAttribute(\"cx\",t),this.knob.setAttribute(\"cy\",this.knobData.level)):(this.knob.setAttribute(\"cx\",this.knobData.level),this.knob.setAttribute(\"cy\",e)),this.knob.setAttribute(\"r\",this.knobData.r),this.position&&this.position.resize([0,this.width],[this.height,0])}},colorInterface:{value:function(){this.bar.setAttribute(\"fill\",this.colors.fill),this.fillbar.setAttribute(\"fill\",this.colors.accent),this.knob.setAttribute(\"fill\",this.colors.accent),this.hasKnob||this.knob.setAttribute(\"fill\",\"none\")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute(\"r\",this.knobData.r),\"vertical\"===this.orientation?(this.knobData.level=this._value.normalized*this.height,this.knob.setAttribute(\"cy\",this.height-this.knobData.level),this.fillbar.setAttribute(\"y\",this.height-this.knobData.level),this.fillbar.setAttribute(\"height\",this.knobData.level)):(this.knobData.level=this._value.normalized*this.width,this.knob.setAttribute(\"cx\",this.knobData.level),this.fillbar.setAttribute(\"x\",0),this.fillbar.setAttribute(\"width\",this.knobData.level))}},down:{value:function(){this.clicked=!0,this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.slide()}},slide:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit(\"change\",this.value))}},up:{value:function(){this.clicked=!1,this.render()}},normalized:{get:function(){return this._value.normalized}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}}}),e}(h);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(5),l=i(6),u=i(11),c=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),f=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[120,20],orientation:\"horizontal\",mode:\"relative\",scale:[-1,1],step:0,value:0,hasKnob:!0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.orientation=this.settings.orientation,this.mode=this.settings.mode,this.hasKnob=this.settings.hasKnob,this.step=this.settings.step,this._value=new u(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new c.Handle(this.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit(\"change\",this.value)}return r(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position&&this.position.resize([0,this.width],[this.height,0]),this.width<this.height?this.orientation=\"vertical\":this.orientation=\"horizontal\";var t=void 0,e=void 0,i=void 0,n=void 0,s=void 0,r=void 0;this.knobData={level:0,r:0},\"vertical\"===this.orientation?(this.thickness=this.width/2,t=this.width/2,e=0,i=this.thickness,n=this.height,this.knobData.r=.8*this.thickness,this.knobData.level=n-this.knobData.r-this.normalized*(n-2*this.knobData.r),s=\"translate(\"+-1*this.thickness/2+\",0)\",r=i/2):(this.thickness=this.height/2,t=0,e=this.height/2,i=this.width,n=this.thickness,this.knobData.r=.8*this.thickness,this.knobData.level=this.normalized*(i-2*this.knobData.r)+this.knobData.r,s=\"translate(0,\"+-1*this.thickness/2+\")\",r=n/2),this.bar.setAttribute(\"x\",t),this.bar.setAttribute(\"y\",e),this.bar.setAttribute(\"transform\",s),this.bar.setAttribute(\"rx\",r),this.bar.setAttribute(\"ry\",r),this.bar.setAttribute(\"width\",i),this.bar.setAttribute(\"height\",n),\"vertical\"===this.orientation?(this.knob.setAttribute(\"cx\",t),this.knob.setAttribute(\"cy\",this.knobData.level)):(this.knob.setAttribute(\"cx\",this.knobData.level),this.knob.setAttribute(\"cy\",e)),this.knob.setAttribute(\"r\",this.knobData.r)}},colorInterface:{value:function(){this.bar.setAttribute(\"fill\",this.colors.fill),this.knob.setAttribute(\"fill\",this.colors.accent),this.hasKnob||this.knob.setAttribute(\"fill\",\"transparent\")}},render:{value:function(){this.clicked||(this.knobData.r=.75*this.thickness),this.knob.setAttribute(\"r\",this.knobData.r),\"vertical\"===this.orientation?(this.knobData.level=this.knobData.r+this._value.normalized*(this.height-2*this.knobData.r),this.knob.setAttribute(\"cy\",this.height-this.knobData.level)):(this.knobData.level=this._value.normalized*(this.width-2*this.knobData.r)+this.knobData.r,this.knob.setAttribute(\"cx\",this.knobData.level))}},click:{value:function(){this.knobData.r=.9*this.thickness,this.position.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.update(this.mouse),this.value=this._value.updateNormal(this.position.value),this.emit(\"change\",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}))}},release:{value:function(){this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit(\"change\",{value:this.value,L:Math.pow(h.scale(this.value,-1,1,1,0),2),R:Math.pow(h.scale(this.value,-1,1,0,1),2)}),this.render()}},normalized:{get:function(){return this._value.normalized}}}),e}(l);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(5),h=i(4),l=i(6),u=function(t,e){this.x=t.x,this.y=t.y,this.envelope=e,this.element=h.create(\"circle\"),this.element.setAttribute(\"fill\",this.envelope.colors.accent),this.envelope.element.appendChild(this.element),this.resize=function(){var t=2+~~(Math.min(this.envelope.width,this.envelope.height)/50);this.element.setAttribute(\"r\",t)},this.move=function(t,e){if(this.x=t||0===t?t:this.x,this.y=e||0===e?e:this.y,this.envelope.nodes.indexOf(this)>=0){var i=this.envelope.nodes.indexOf(this)-1,n=this.envelope.nodes.indexOf(this)+1,s=this.envelope.nodes[i],r=this.envelope.nodes[n],o=i>=0?s.x:0,a=n<this.envelope.nodes.length?r.x:1;this.x<o&&(this.x=o),this.x>a&&(this.x=a)}this.location=this.getCoordinates(),this.element.setAttribute(\"cx\",this.location.x),this.element.setAttribute(\"cy\",this.location.y)},this.getCoordinates=function(){return{x:this.x*this.envelope.width,y:(1-this.y)*this.envelope.height}},this.move(this.x,this.y,!0),this.resize(),this.destroy=function(){this.envelope.element.removeChild(this.element),this.envelope.nodes.splice(this.envelope.nodes.indexOf(this),1)}},c=function(t){function e(){o(this,e);var t=[\"value\"],i={size:[300,150],points:[{x:.1,y:.4},{x:.35,y:.6},{x:.65,y:.2},{x:.9,y:.4}]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.points=this.settings.points,this.nodes=[],this.selected=!1,this.init()}return r(e,t),n(e,{buildInterface:{value:function(){var t=this;this.points.forEach(function(e){var i=new u(e,t);t.nodes.push(i)}),this.sortPoints(),this.line=h.create(\"polyline\"),this.line.setAttribute(\"stroke-width\",2),this.line.setAttribute(\"fill\",\"none\"),this.element.appendChild(this.line),this.fill=h.create(\"polyline\"),this.fill.setAttribute(\"fill-opacity\",\"0.2\"),this.element.appendChild(this.fill)}},sizeInterface:{value:function(){for(var t=0;t<this.nodes.length;t++)this.nodes[t].resize(),this.nodes[t].move();this.render()}},colorInterface:{value:function(){var t=this;this.element.style.backgroundColor=this.colors.fill,this.line.setAttribute(\"stroke\",this.colors.accent),this.fill.setAttribute(\"fill\",this.colors.accent),this.nodes.forEach(function(e){e.element.setAttribute(\"fill\",t.colors.accent)})}},render:{value:function(){this.calculatePath()}},calculatePoints:{value:function(){var t=this;this.points=[],this.nodes.forEach(function(e){t.points.push({x:e.x,y:e.y})})}},calculatePath:{value:function(){var t=\"0 \"+this.nodes[0].location.y+\", \";this.nodes.forEach(function(e){t+=e.location.x+\" \"+e.location.y+\", \"}),t+=this.width+\" \"+this.nodes[this.nodes.length-1].location.y,this.line.setAttribute(\"points\",t),t+=\", \"+this.width+\" \"+this.height+\", \",t+=\"0 \"+this.height,this.fill.setAttribute(\"points\",t)}},click:{value:function(){this.hasMoved=!1,this.selected=this.findNearestNode(),this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},move:{value:function(){this.clicked&&(this.mouse.x=a.clip(this.mouse.x,0,this.width),this.hasMoved=!0,this.nodes[this.selected].move(this.mouse.x/this.width,1-this.mouse.y/this.height),this.scaleNode(this.selected),this.calculatePoints(),this.emit(\"change\",this.points),this.render())}},release:{value:function(){this.hasMoved||this.nodes[this.selected].destroy(),this.calculatePoints(),this.emit(\"change\",this.points),this.render(),this.selected=null}},findNearestNode:{value:function(){for(var t=null,e=1e4,i=this.mouse.x/this.width,n=1-this.mouse.y/this.height,s=this.nodes,r=0;r<s.length;r++){var o=Math.sqrt(Math.pow(s[r].x-i,2)+Math.pow(s[r].y-n,2));o<e&&(e=o,t=r,i>s[r].x)}return e>.07&&(t=this.getIndexFromX(this.mouse.x/this.width),this.nodes.splice(t,0,new u({x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this)),this.hasMoved=!0),t}},getIndexFromX:{value:function(t){var e=this,i=0;return this.nodes.forEach(function(n,s){e.nodes[s].x<=t&&(i=s+1)}),i}},scaleNode:{value:function(t){var e=a.clip(this.nodes[t].x,0,1),i=a.clip(this.nodes[t].y,0,1);this.nodes[t].move(e,i)}},sortPoints:{value:function(){this.nodes.sort(function(t,e){return t.x>e.x})}},addPoint:{value:function(t,e){var i=this.nodes.length;this.sortPoints();for(var n=0;n<this.nodes.length;n++)if(t<this.nodes[n].x){i=n;break}this.nodes.splice(i,0,new u({x:t,y:e},this)),this.scaleNode(i),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},scan:{value:function(t){var e=this.getIndexFromX(t),i=e-1;i<0&&(i=0),e>=this.nodes.length&&(e=this.nodes.length-1);var n=this.nodes[i],s=this.nodes[e],r=a.scale(t,n.x,s.x,0,1),o=a.interp(r,n.y,s.y);return this.emit(\"scan\",o),o}},movePoint:{value:function(t,e,i){this.nodes[t].move(e,i),this.scaleNode(t),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},adjustPoint:{value:function(t,e,i){this.nodes[t].move(this.nodes[t].x+e,this.nodes[t].y+i),this.scaleNode(t),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},destroyPoint:{value:function(t){this.nodes[t].destroy(),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},setPoints:{value:function(t){for(var e=this;this.nodes.length;)this.nodes[0].destroy();t.forEach(function(t){e.addPoint(t.x,t.y)}),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}}}),e}(l);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.active=!0,this.source=!1,this.init()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteFrequencyData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.source&&this.dataArray)for(var t=this.canvas.element.width/this.bufferLength,e=void 0,i=0,n=this.canvas.element.width/50,s=0;s<this.bufferLength;s+=n)e=Math.max.apply(null,this.dataArray.subarray(s,s+n)),e/=255,e*=this.canvas.element.height,this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(i,this.canvas.element.height-e,t*n,e),i+=t*n}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source.disconnect(this.analyser),this.source=null}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(5),l=i(6),u=i(1).context,c=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[30,100]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=u(),this.channels=2,this.splitter=this.context.createChannelSplitter(this.channels),this.analysers=[];for(var n=0;n<this.channels;n++){var r=this.context.createAnalyser();this.splitter.connect(r,n),r.fftSize=1024,r.smoothingTimeConstant=1,this.analysers.push(r)}this.bufferLength=this.analysers[0].frequencyBinCount,this.dataArray=new Float32Array(this.bufferLength),this.active=!0,this.db=-1/0,this.init(),this.meterWidth=this.canvas.element.width/this.channels,this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){this.active&&requestAnimationFrame(this.render.bind(this)),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height);for(var t=0;t<this.analysers.length;t++){if(this.source){this.analysers[t].getFloatTimeDomainData(this.dataArray);for(var e=0,i=0;i<this.dataArray.length;i++)e+=this.dataArray[i]*this.dataArray[i];e=Math.sqrt(e/this.dataArray.length),this.db=20*Math.log10(e)}else this.db>-200&&this.db!==-1/0?this.db-=1:this.db=-1/0;if(this.db>-70){var n=h.normalize(this.db,-70,5),s=n*n,r=h.scale(s,0,1,this.element.height,0);this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(this.meterWidth*t,r,this.meterWidth,this.canvas.element.height-r)}}}},connect:{value:function(t,e){this.source&&this.disconnect(),e?this.channels=e:t.channelCount?this.channels=t.channelCount:this.channels=2,this.meterWidth=this.canvas.element.width/this.channels,this.source=t,this.source.connect(this.splitter)}},disconnect:{value:function(){this.source.disconnect(this.splitter),this.source=!1,this.meterWidth=this.canvas.element.width/this.channels}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(l);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,i,n)}if(\"value\"in s&&s.writable)return s.value;var o=s.get;if(void 0!==o)return o.call(n)},r=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(6),l=i(1).context,u=function(t){function e(){o(this,e);var t=[\"scale\",\"value\"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=l(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.analyser.getByteTimeDomainData(this.dataArray),this.active=!0,this.source=!1,this.init(),this.render()}return r(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteTimeDomainData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.canvas.context.lineWidth=~~(this.height/100+2),this.canvas.context.strokeStyle=this.colors.accent,this.canvas.context.beginPath(),this.source)for(var t=1*this.canvas.element.width/this.bufferLength,e=0,i=0;i<this.bufferLength;i++){var n=this.dataArray[i]/128,s=n*this.canvas.element.height/2;0===i?this.canvas.context.moveTo(e,s):this.canvas.context.lineTo(e,s),e+=t}else this.canvas.context.moveTo(0,this.canvas.element.height/2),this.canvas.context.lineTo(this.canvas.element.width,this.canvas.element.height/2);this.canvas.context.stroke()}},connect:{value:function(t){this.source&&this.disconnect(),this.source=t,this.source.connect(this.analyser),this.render()}},disconnect:{value:function(){this.source&&(this.source.disconnect(this.analyser),this.source=null)}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(h);t.exports=u},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),o=function(t){return t&&t.__esModule?t.default:t}(i(7)),a=i(1).colors,h=function(){function t(e,i){s(this,t),this.meta={},this.meta.target=e,this.meta.parent=o.parseElement(e),this.meta.colors={},i?(this.meta.attribute=i.attribute||\"nexus-ui\",this.meta.title=i.name||!1,this.meta.open=i.open||!1):(this.meta.attribute=\"nexus-ui\",this.meta.title=!1,this.meta.open=!1);var n=a();this.meta.colors.accent=n.accent,this.meta.colors.fill=n.fill,this.meta.colors.light=n.light,this.meta.colors.dark=n.dark,this.meta.colors.mediumLight=n.mediumLight,this.meta.colors.mediumDark=n.mediumDark,this.buildInterface(),this.colorInterface()}return n(t,{buildInterface:{value:function(){var t=this;for(this.meta.parent.style.boxSizing=\"border-box\",this.meta.parent.style.userSelect=\"none\",this.meta.parent.style.mozUserSelect=\"none\",this.meta.parent.style.webkitUserSelect=\"none\",this.meta.contents=document.createElement(\"div\");this.meta.parent.childNodes.length>0;)this.meta.contents.appendChild(this.meta.parent.childNodes[0]);this.meta.contents.style.padding=\"0px\",this.meta.contents.style.boxSizing=\"border-box\",this.meta.title&&(this.meta.titleBar=document.createElement(\"div\"),this.meta.titleBar.innerHTML=this.meta.title,this.meta.titleBar.style.fontFamily=\"arial\",this.meta.titleBar.style.position=\"relative\",this.meta.titleBar.style.color=\"#888\",this.meta.titleBar.style.padding=\"7px\",this.meta.titleBar.style.fontSize=\"12px\",this.meta.button=document.createElement(\"div\"),this.meta.button.style.position=\"absolute\",this.meta.button.style.top=\"5px\",this.meta.button.style.right=\"5px\",this.meta.button.innerHTML=\"-\",this.meta.button.style.padding=\"0px 5px 2px\",this.meta.button.style.lineHeight=\"12px\",this.meta.button.style.fontSize=\"15px\",this.meta.button.style.cursor=\"pointer\",this.meta.button.addEventListener(\"mouseover\",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumDark}),this.meta.button.addEventListener(\"mouseleave\",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumLight}),this.meta.button.addEventListener(\"click\",function(){t.meta.open?t.hide():t.show()}),this.meta.titleBar.appendChild(this.meta.button),this.meta.parent.appendChild(this.meta.titleBar)),this.meta.parent.appendChild(this.meta.contents);var e=r.section(this.meta.target,this.meta.attribute);for(var i in e)this[i]=e[i]}},colorInterface:{value:function(){this.meta.title&&(this.meta.button.style.backgroundColor=this.meta.colors.mediumLight,this.meta.button.style.border=\"solid 0px \"+this.meta.colors.fill,this.meta.parent.style.border=\"solid 1px \"+this.meta.colors.mediumLight,this.meta.parent.style.backgroundColor=this.meta.colors.light,this.meta.titleBar.style.backgroundColor=this.meta.colors.fill)}},show:{value:function(){this.meta.contents.style.display=\"block\",this.meta.open=!0}},hide:{value:function(){this.meta.contents.style.display=\"none\",this.meta.open=!1}},colorize:{value:function(t,e){for(var i in this)this[i].colorize&&this[i].colorize(t,e);this.meta.colors[t]=e,this.colorInterface()}},empty:{value:function(){for(var t in this)this[t].destroy&&this[t].destroy()}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t};Object.defineProperty(e,\"__esModule\",{value:!0});var s=n(i(7)),r=n(i(2)),o=function(t,e){var i=t.type;return e[i]?e[i]++:e[i]=1,i+e[i]},a=function(t,e,i){i=i||{};for(var n=0;n<t.attributes.length;n++){var s=t.attributes[n];i[s.nodeName]=s.nodeValue}e=e[0].toUpperCase()+e.slice(1);var o=new r[e](t,i);return o.id=t.id,o},h=function(t,e){e=e||\"nexus-ui\";for(var i={},n=s.parseElement(t),h={},l=n.getElementsByTagName(\"*\"),u=[],c=0;c<l.length;c++)u.push(l[c]);for(var c=0;c<u.length;c++){var f=u[c].getAttribute(e);if(f){var d=!1;for(var v in r)f.toLowerCase()===v.toLowerCase()&&(d=v);console.log(d);var p=a(u[c],d);if(p.id)h[p.id]=p;else{h[o(p,i)]=p}}}return h},l=function(t,e,i){var n=document.createElement(\"div\");return i=i||{},e=e?s.parseElement(e):document.body,e.appendChild(n),i.target=n,i.size&&(n.style.width=i.size[0]+\"px\",n.style.height=i.size[1]+\"px\"),a(n,t,i)};e.element=a,e.section=h,e.add=l},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=function(t){return t&&t.__esModule?t.default:t}(i(5)),o=function(){function t(){s(this,t),this.scale=[],this.mode={output:\"frequency\",input:\"step\"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.root=r.mtof(60),this.createScale(0,2,4,5,7,9,11)}return n(t,{note:{value:function(t,e){return\"frequency\"===this.mode.output?this.frequency(t,e):\"ratio\"===this.mode.output?this.ratio(t,e):\"MIDI\"===this.mode.output?this.MIDI(t,e):this.frequency(t,e)}},frequency:{value:function(t,e){\"midi\"!==this.mode.input&&\"MIDI\"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);for(var n=t%this.scale.length;n<0;)n+=this.scale.length;var s=this.scale[n],r=this.root*s;return r*=Math.pow(2,i),r=Math.floor(1e11*r)/1e11}},ratio:{value:function(t,e){\"midi\"!==this.mode.input&&\"MIDI\"!==this.mode.input||(this.stepIn+=60);var i=Math.floor(t/this.scale.length);e&&(i+=e);var n=t%this.scale.length,s=Math.pow(2,i)*this.scale[n];return s=Math.floor(1e11*s)/1e11,s}},MIDI:{value:function(t,e){var i=this.frequency(t,e),n=69+12*Math.log(i/440)/Math.log(2);return n=Math.floor(1e9*n)/1e9}},createScale:{value:function(){for(var t=[],e=0;e<arguments.length;e++)t.push(r.mtof(60+arguments[e]));this.loadScaleFromFrequencies(t)}},createJIScale:{value:function(){this.scale=[];for(var t=0;t<arguments.length;t++)this.scale.push(arguments[t])}},loadScaleFromFrequencies:{value:function(t){this.scale=[];for(var e=0;e<t.length-1;e++)this.scale.push(t[e]/t[0])}},loadScale:{value:function(t){var e=this.scales[t].frequencies;this.loadScaleFromFrequencies(e)}},search:{value:function(t){var e=[];for(var i in this.scales)-1!==i.toLowerCase().indexOf(t.toLowerCase())&&e.push(i);return e}},chord:{value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.note(t[i]));return e}}}),t}();t.exports=o},function(t,e){\"use strict\";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},s=function(){function t(){for(var e=arguments.length,i=Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];var r=void 0===arguments[0]?3:arguments[0];n(this,t),r<0&&(r=1),this.length=r,this.onVals=i,this.array=new Array(r).fill(0),i.length>0&&this.on.apply(this,i)}return i(t,{select:{value:function(t){return this.array.fill(0),this.array[t]=1,this.array}},flip:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn(\"Warning: AnonRadio[\"+t+\"] does not exist\"):n[t]=n[t]?0:1}):n.forEach(function(t,e,i){i[e]=t?0:1}),n}},on:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){t>n.length-1?console.warn(\"Warning: AnonRadio[\"+t+\"] exceeds size of object\"):(1===n[t]&&console.warn(\"Warning: AnonRadio[\"+t+\"] was already on.\"),n[t]=1)}):n.fill(1),n}},off:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];var n=this.array;return e.length>0?e.forEach(function(t){n[t]=0}):n.fill(0),n}}}),t}();t.exports=s},function(t,e,i){var n=i(43);t.exports=n,\"undefined\"!=typeof window&&(window.WAAClock=n)},function(t,e,i){(function(e){var i={toleranceLate:.1,toleranceEarly:.001},n=function(t,e,i){this.clock=t,this.func=i,this._cleared=!1,this.toleranceLate=t.toleranceLate,this.toleranceEarly=t.toleranceEarly,this._latestTime=null,this._earliestTime=null,this.deadline=null,this.repeatTime=null,this.schedule(e)};n.prototype.clear=function(){return this.clock._removeEvent(this),this._cleared=!0,this},n.prototype.repeat=function(t){if(0===t)throw new Error(\"delay cannot be 0\");return this.repeatTime=t,this.clock._hasEvent(this)||this.schedule(this.deadline+this.repeatTime),this},n.prototype.tolerance=function(t){return\"number\"==typeof t.late&&(this.toleranceLate=t.late),\"number\"==typeof t.early&&(this.toleranceEarly=t.early),this._refreshEarlyLateDates(),this.clock._hasEvent(this)&&(this.clock._removeEvent(this),this.clock._insertEvent(this)),this},n.prototype.isRepeated=function(){return null!==this.repeatTime},n.prototype.schedule=function(t){this._cleared=!1,this.deadline=t,this._refreshEarlyLateDates(),this.clock.context.currentTime>=this._earliestTime?this._execute():this.clock._hasEvent(this)?(this.clock._removeEvent(this),this.clock._insertEvent(this)):this.clock._insertEvent(this)},n.prototype.timeStretch=function(t,e){this.isRepeated()&&(this.repeatTime=this.repeatTime*e);var i=t+e*(this.deadline-t);if(this.isRepeated())for(;this.clock.context.currentTime>=i-this.toleranceEarly;)i+=this.repeatTime;this.schedule(i)},n.prototype._execute=function(){!1!==this.clock._started&&(this.clock._removeEvent(this),this.clock.context.currentTime<this._latestTime?this.func(this):(this.onexpired&&this.onexpired(this),console.warn(\"event expired\")),this.clock._hasEvent(this)||!this.isRepeated()||this._cleared||this.schedule(this.deadline+this.repeatTime))},n.prototype._refreshEarlyLateDates=function(){this._latestTime=this.deadline+this.toleranceLate,this._earliestTime=this.deadline-this.toleranceEarly};var s=t.exports=function(t,e){e=e||{},this.tickMethod=e.tickMethod||\"ScriptProcessorNode\",this.toleranceEarly=e.toleranceEarly||i.toleranceEarly,this.toleranceLate=e.toleranceLate||i.toleranceLate,this.context=t,this._events=[],this._started=!1};s.prototype.setTimeout=function(t,e){return this._createEvent(t,this._absTime(e))},s.prototype.callbackAtTime=function(t,e){return this._createEvent(t,e)},s.prototype.timeStretch=function(t,e,i){return e.forEach(function(e){e.timeStretch(t,i)}),e},s.prototype.start=function(){if(!1===this._started){var t=this;if(this._started=!0,this._events=[],\"ScriptProcessorNode\"===this.tickMethod){this._clockNode=this.context.createScriptProcessor(256,1,1),this._clockNode.connect(this.context.destination),this._clockNode.onaudioprocess=function(){e.nextTick(function(){t._tick()})}}else if(\"manual\"!==this.tickMethod)throw new Error(\"invalid tickMethod \"+this.tickMethod)}},s.prototype.stop=function(){!0===this._started&&(this._started=!1,this._clockNode.disconnect())},s.prototype._tick=function(){for(var t=this._events.shift();t&&t._earliestTime<=this.context.currentTime;)t._execute(),t=this._events.shift();t&&this._events.unshift(t)},s.prototype._createEvent=function(t,e){return new n(this,e,t)},s.prototype._insertEvent=function(t){this._events.splice(this._indexByTime(t._earliestTime),0,t)},s.prototype._removeEvent=function(t){var e=this._events.indexOf(t);-1!==e&&this._events.splice(e,1)},s.prototype._hasEvent=function(t){return-1!==this._events.indexOf(t)},s.prototype._indexByTime=function(t){for(var e,i=0,n=this._events.length;i<n;)e=Math.floor((i+n)/2),this._events[e]._earliestTime<t?i=e+1:n=e;return i},s.prototype._absTime=function(t){return t+this.context.currentTime},s.prototype._relTime=function(t){return t-this.context.currentTime}}).call(e,i(44))},function(t,e){function i(){throw new Error(\"setTimeout has not been defined\")}function n(){throw new Error(\"clearTimeout has not been defined\")}function s(t){if(u===setTimeout)return setTimeout(t,0);if((u===i||!u)&&setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function r(t){if(c===clearTimeout)return clearTimeout(t);if((c===n||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(t);try{return c(t)}catch(e){try{return c.call(null,t)}catch(e){return c.call(this,t)}}}function o(){p&&d&&(p=!1,d.length?v=d.concat(v):m=-1,v.length&&a())}function a(){if(!p){var t=s(o);p=!0;for(var e=v.length;e;){for(d=v,v=[];++m<e;)d&&d[m].run();m=-1,e=v.length}d=null,p=!1,r(t)}}function h(t,e){this.fun=t,this.array=e}function l(){}var u,c,f=t.exports={};!function(){try{u=\"function\"==typeof setTimeout?setTimeout:i}catch(t){u=i}try{c=\"function\"==typeof clearTimeout?clearTimeout:n}catch(t){c=n}}();var d,v=[],p=!1,m=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];v.push(new h(t,e)),1!==v.length||p||s(a)},h.prototype.run=function(){this.fun.apply(null,this.array)},f.title=\"browser\",f.browser=!0,f.env={},f.argv=[],f.version=\"\",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.prependListener=l,f.prependOnceListener=l,f.listeners=function(t){return[]},f.binding=function(t){throw new Error(\"process.binding is not supported\")},f.cwd=function(){return\"/\"},f.chdir=function(t){throw new Error(\"process.chdir is not supported\")},f.umask=function(){return 0}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=i(1).clock,o=function(){function t(e,i,n){s(this,t),this.rate=e,this.on=n,this.clock=r(),this.pattern=[1],this.index=0,this.event=i||function(){},this.on&&this.start()}return n(t,{_event:{value:function(t){this.event(t),this.index++}},stop:{value:function(){this.on=!1,this.interval.clear()}},start:{value:function(){this.on=!0,this.interval=this.clock.callbackAtTime(this._event.bind(this),this.clock.context.currentTime).repeat(this.rate/1e3).tolerance({early:.1,late:1})}},ms:{value:function(t){if(this.on){var e=t/this.rate;this.rate=t,this.clock.timeStretch(this.clock.context.currentTime,[this.interval],e)}else this.rate=t}}}),t}();t.exports=o}])})},function(t,e,i){\"use strict\";function n(t){if(t.altKey||t.ctrlKey||t.metaKey)return void t.stopPropagation();if(document.activeElement instanceof HTMLInputElement&&t.keyCode in o)return void t.stopPropagation();if(t.keyCode in r){var e=r[t.keyCode];t.shiftKey&&(e+=a.length),e-=7,h(e)}}function s(t){h=t}Object.defineProperty(e,\"__esModule\",{value:!0});var r={},o={},a=\"zxcvbnmasdfghjklqwertyuiop\",h=function(){};a.toUpperCase().split(\"\").map(function(t,e){r[t.charCodeAt(0)]=e}),\"1234567890\".split(\"\").map(function(t,e){r[t.charCodeAt(0)]=e+a.length,o[t.charCodeAt(0)]=!0}),window.addEventListener(\"keydown\",n,!0),e.default={listen:s}},function(t,e,i){\"use strict\";function n(t){return t[Math.floor(Math.random()*t.length)]}function s(t){return Math.floor(Math.random()*t)}function r(t,e){return t-e*Math.floor(t/e)}function o(t,e,i){return(t-e)/(i-e)}function a(t){t=t.slice(0);for(var e=t.length;e>0;e--){var i=s(e),n=t[e-1];t[e-1]=t[i],t[i]=n}return t}function h(t){if(_){var e=document.createElement(\"div\"),i=document.createElement(\"div\");i.innerHTML=\"Tap to start - please unmute your phone\",Object.assign(e.style,{position:\"absolute\",width:\"100%\",height:\"100%\",zIndex:\"10000\",top:\"0px\",left:\"0px\",backgroundColor:\"rgba(0, 0, 0, 0.8)\"}),Object.assign(i.style,{position:\"absolute\",left:\"50%\",top:\"50%\",padding:\"20px\",backgroundColor:\"#7F33ED\",color:\"white\",fontFamily:\"monospace\",borderRadius:\"3px\",transform:\"translate3D(-50%,-50%,0)\",textAlign:\"center\",lineHeight:\"1.5\"}),e.appendChild(i),document.body.appendChild(e),StartAudioContext.setContext(Tone.context),StartAudioContext.on(i),StartAudioContext.onStarted(function(i){e.remove(),t()})}else t()}function l(t){for(var e=atob(t.split(\",\")[1]),i=t.split(\",\")[0].split(\":\")[1].split(\";\")[0],n=new ArrayBuffer(e.length),s=new Uint8Array(n),r=0;r<e.length;r++)s[r]=e.charCodeAt(r);return new Blob([n],{type:i})}function u(t){return 69+12*Math.log2(t/440)}function c(t){return 440*Math.pow(2,(t-69)/12)}function f(t){return function(e){E.isMobile?t():e.press&&t()}}function d(t,e,i,n){var s=document.querySelector(e+\" + .val\"),r=function(t){s.innerHTML=i?parseInt(t):t.toFixed(2),n&&n(t)};t.on(\"change\",r),s.innerHTML=i?parseInt(t.value):t.value.toFixed(2),t.update=r}function v(t,e,i,n){var s=t.active,r=document.querySelector(e+\" + .val\"),o=function(e){-1===e?e=t.active=s:s=e,r.innerHTML=i[e][1],n&&n(e)};t.on(\"change\",o),o(t.active),t.update=o}function p(t,e,i){Object.keys(e).forEach(function(i){var n=e[i],s=document.createElement(\"option\");s.innerHTML=n.name,s.value=i,t.appendChild(s)}),t.addEventListener(\"input\",function(t){i(t.target.value)})}function m(t,e,i,n,s,r){var o=document.createElement(\"div\");o.classList.add(\"block\");var a=document.createElement(\"div\");a.setAttribute(\"id\",e);var h=document.createElement(\"span\");h.classList.add(\"val\");var l=document.createElement(\"label\");l.classList=e,l.innerHTML=i,o.appendChild(l),o.appendChild(a),o.appendChild(h),t.appendChild(o),n.size=[200,24];var u=new y.default.Slider(\"#\"+e,n);return d(u,\"#\"+e,s,r),u}function b(t,e,i){var n=document.createElement(\"div\");n.classList.add(\"stat\");var s=document.createElement(\"div\");s.classList.add(\"key\");var r=document.createElement(\"div\");r.classList.add(\"val\"),n.appendChild(s),n.appendChild(r),t.appendChild(n),s.innerHTML=e,r.innerHTML=i();var o=void 0;return function(){var t=i();o!==t&&(r.innerText=o=t)}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.Statistic=e.Slider=e.build_options=e.update_radio_value_on_change=e.update_value_on_change=e.dataURItoBlob=e.tap=e.mtof=e.ftom=e.requestAudioContext=e.browser=e.randint=e.shuffle=e.choice=e.norm=e.mod=void 0;var g=i(0),y=function(t){return t&&t.__esModule?t:{default:t}}(g),x=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i),w=navigator.userAgent.match(/iPad/i),k=navigator.userAgent.match(/Android/i),_=x||w||k,A=!_;document.body.classList.add(_?\"mobile\":\"desktop\");var E={isIphone:x,isIpad:w,isMobile:_,isDesktop:A};e.mod=r,e.norm=o,e.choice=n,e.shuffle=a,e.randint=s,e.browser=E,e.requestAudioContext=h,e.ftom=u,e.mtof=c,e.tap=f,e.dataURItoBlob=l,e.update_value_on_change=d,e.update_radio_value_on_change=v,e.build_options=p,e.Slider=m,e.Statistic=b},function(t,e,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}function s(){if(K=setTimeout(s,S.Rate.value),!U){tt+=1;var t=S.T.value;(0,C.shuffle)(H).forEach(function(e){if(e.J>1)return void(e.J-=1);var i=_(e);1===e.J&&(Z[e.y][e.x]||(e.J=0,Z[e.y][e.x]=e,e.log.push(\"left jail\"))),e.team===z?a(e,i):(r(e,i),W.update(e,i,t))}),W.id===j.SIM_GENOCIDE&&(H=H.filter(function(t){return!t.dead})),v()}}function r(t,e){t.CAv=o(e),t.G=t.H*(1-S.L.value),t.P=1-Math.exp(-S.k.value*t.CAv),t.NetR=t.R*t.P*Math.pow(S.J.value,S.alpha.value),t.GN=t.G-t.NetR}function o(t){var e=0,i=1;return t.forEach(function(t){t.team!==D&&(t.team===z?e+=1:i+=1)}),e/i}function a(t,e){e.some(function(t){return!(t.team===z||!t.active)&&(h(t),!0)}),f(t,e)}function h(t){t.J=(0,C.randint)(S.J.value),t.active=!1,Z[t.y][t.x]=null,t.log.push(\"sent to jail\")}function l(t,e){t.dead=!0,t.Age=0,Z[t.y][t.x]=null,t.log.push(e)}function u(t,e){e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[i][n]=c(i,n,t),t.log.push(\"gave birth\"),!0}return!1})}function c(t,e,i){if(!(H.length>=S.Size.value*S.Size.value)){var n={id:Q++,team:i?i.team:(0,C.randint)(W.teams)+1,H:i?i.H:Math.random(),R:Math.random(),J:0,Age:(0,C.randint)(S.MaxAge.value)+1,active:!1,G:0,CAv:0,P:0,NetR:0,GN:0,log:[],y:t,x:e};return H.push(n),n}}function f(t,e){t.dead||t.J||e.some(function(e){if(e.team===D){var i=e.y,n=e.x;return Z[t.y][t.x]=null,Z[i][n]=t,t.y=i,t.x=n,!0}return!1})}function d(t){var e=void 0,i=void 0,n=void 0,s=void 0;return\"id\"===J?(e=t.id/Q,i=360*e,n=1,s=.5):\"GN\"===J?(e=t[J],i=t.active?0:180,n=1-e,s=1-e):(e=t[J],i=t.active?0:100,n=1,s=1-2*e),\"hsl(\"+[0|i,(100*n|0)+\"%\",(100*s|0)+\"%\"].join(\",\")+\")\"}function v(){var t=S.Size.value;if(I.clearRect(0,0,(t+1)*q*2,t*q),x(function(e,i){var n=Z[e][i];n?n.team===z?(I.fillStyle=\"#000000\",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V)):(I.save(),I.fillStyle=d(n),I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillStyle=W.color(n),I.fillRect(i*q,e*q,q-V,q-V),I.save()):(I.fillStyle=\"#ffffff\",I.fillRect((i+t+1)*q,e*q,q-V,q-V),I.fillRect(i*q,e*q,q-V,q-V))}),$&&!$.dead&&!$.J){var e=$,i=e.y,n=e.x;I.strokeStyle=\"#000000\",I.lineWidth=1,I.strokeRect((n+t+1)*q,i*q,q,q),I.strokeRect(n*q,i*q,q,q)}G.forEach(function(t){return t()}),$&&$.dead&&p()}function p(){var t=void 0;do{t=(0,C.choice)(H)}while(t.dead||t.team===z);$=t}function m(){H=[],Z=[],Q=0,tt=0;var t=S.Pop.value,e=S.Cops.value;Z=x(function(e,i){return Math.random()<t?c(e,i):null});for(var i=0,n=H.length*e;i<n;i++)H[(0,C.randint)(H.length)].team=z;p(H),et={old_age:0,in_jail:0,murder:0}}function b(){w(),g()}function g(){U=!1,clearTimeout(K),m(),s()}function y(){U=!U,U?(document.querySelector(\"#pause\").innerText=\"Paused\",clearTimeout(K)):(document.querySelector(\"#pause\").innerText=\"Pause\",clearTimeout(K),s())}function x(t){for(var e=[],i=S.Size.value,n=0;n<i;n++){e[n]=[];for(var s=0;s<i;s++)e[n][s]=t(n,s,0)}return e}function w(){S.Size&&(L.width=(S.Size.value+1)*q*2,L.height=S.Size.value*q)}function k(t,e){var i=S.Size.value;return t=(0,C.mod)(t,i),e=(0,C.mod)(e,i),Z[t][e]||{y:t,x:e,team:D}}function _(t){var e=t.y,i=t.x;return(0,C.shuffle)(X.map(function(t){return k(e+t[0],i+t[1])}))}function A(t){W=Y[t],W.init(),console.log(W.name),m()}function E(t){J=t,console.log(\"viewing\",t+\":\",B[t].name)}function P(t){var e=S.Size.value,i=L.getBoundingClientRect(),n=(t.pageY-i.top)/i.height*e|0,s=(t.pageX-i.left)/i.width*(2*e+1)|0;return console.log(s,n),s>=e&&(s%=e),$=Z[n][s],v(),Z[n][s]}function O(t){return t?\"Yes\":\"No\"}var M=i(0),T=(n(M),i(1)),C=(n(T),i(2)),L=document.querySelector(\"canvas\"),I=L.getContext(\"2d\"),S=window.nx={},z=0,D=-1,j={SIM_REBELLION:0,SIM_GENOCIDE:1},R=[\"#000000\",\"#00d020\",\"#0000f0\",\"#008080\",\"#00ff80\",\"#0080ff\"],F=[\"#000000\",\"#800000\",\"#800080\",\"#808080\",\"#80ff80\",\"#8080ff\"],N=[\"Cops\",\"Green\",\"Blue\",\"#3\",\"#4\",\"#5\"],X=[[-1,-1],[-1,0],[-1,1],[0,-1],[0,1],[1,-1],[1,0],[1,1]],Y={rebellion:{id:j.SIM_REBELLION,name:\"Civil Violence Model I: Generalized Rebellion Against Central Authority\",teams:1,init:function(){document.querySelector(\".governmental_legitimacy\").innerText=\"Governmental Legitimacy\"},update:function(t,e,i){if(!(t.J>0)){var n=t.GN>i;n&&!t.active?t.log.push(\"went active\"):!n&&t.active&&t.log.push(\"went inactive\"),t.active=n,f(t,e)}},color:function(t){return t.active?F[t.team]:R[t.team]}},genocide:{id:j.SIM_GENOCIDE,name:\"Civil Violence Model II: Inter-Group Violence\",teams:2,init:function(){document.querySelector(\".governmental_legitimacy\").innerText=\"Empathy\"},update:function(t,e,i){if(!t.dead){if(t.Age--<=0)return void(t.J>0?(l(t,\"died in jail\"),et.in_jail+=1):(l(t,\"died of old age\"),et.old_age+=1));t.GN>i&&e.some(function(e){return e.team!==D&&e.team!==z&&e.team!==t.team&&(l(e,\"died of murder\"),t.active=!0,t.log.push(\"killed someone\"),et.murder+=1,!0)}),Math.random()<S.Rep.value&&u(t,e),f(t,e)}},color:function(t){return R[t.team]}}},B={G:{value:\"G\",name:\"Grievance\"},CAv:{value:\"CAv\",name:\"Cop-to-Active ratio\"},P:{value:\"P\",name:\"Arrest probability\"},NetR:{value:\"NetR\",name:\"Net risk of being arrested\"},GN:{value:\"GN\",name:\"Distance from threshold\"},id:{value:\"id\",name:\"Agent ID\"}},q=10,V=1,H=[],Z=[],G=[],W=Y.rebellion,J=\"G\",U=!1,K=void 0,Q=0,$=void 0,tt=0,et={};!function(){(0,C.build_options)(document.querySelector(\"#sim\"),Y,A),(0,C.build_options)(document.querySelector(\"#view\"),B,E);var t=document.querySelector(\"#options\");S.Size=(0,C.Slider)(t,\"world_size\",\"World size\",{min:10,max:200,step:1,value:40},!0,b),S.Rate=(0,C.Slider)(t,\"rate\",\"Frame rate\",{min:100,max:5e3,step:10,value:200},!0,m),S.L=(0,C.Slider)(t,\"governmental_legitimacy\",\"Governmental legitimacy\",{min:0,max:1,step:.01,value:.89},!1),S.T=(0,C.Slider)(t,\"activation_threshold\",\"Grievance threshold\",{min:0,max:1,step:.01,value:.1},!1),S.Rep=(0,C.Slider)(t,\"birth_rate\",\"Birth rate\",{min:0,max:1,step:.001,value:.05},!1),S.MaxAge=(0,C.Slider)(t,\"max_age\",\"Max age\",{min:0,max:1e3,step:1,value:200},!0),S.J=(0,C.Slider)(t,\"max_jail_term\",\"Maximum jail term\",{min:1,max:100,step:1,value:30},!0),S.alpha=(0,C.Slider)(t,\"jail_deterrent\",\"Jail deterrent\",{min:0,max:2,step:.01,value:0},!1),S.k=(0,C.Slider)(t,\"arrest_constant\",\"Arrest probability constant\",{min:1,max:10,step:.01,value:2.3},!1),S.Pop=(0,C.Slider)(t,\"population_density\",\"Population density\",{min:0,max:1,step:.01,value:.7},!1,g),S.Cops=(0,C.Slider)(t,\"cop_density\",\"Cop density\",{min:0,max:.3,step:.002,value:.05},!1,g);var e=document.querySelector(\"#stats\"),i=document.querySelector(\"#agent\"),n=document.querySelector(\"#log\");G=[(0,C.Statistic)(e,\"Time\",function(){return tt}),(0,C.Statistic)(e,\"Agents\",function(){return H.length}),(0,C.Statistic)(e,\"Cops\",function(){return H.filter(function(t){return t.team===z}).length}),(0,C.Statistic)(e,\"Team #1\",function(){return H.filter(function(t){return 1===t.team}).length}),(0,C.Statistic)(e,\"Team #2\",function(){return H.filter(function(t){return 2===t.team}).length}),(0,C.Statistic)(e,\"Quiescent\",function(){return H.filter(function(t){return!t.active&&!t.J&&t.team!==z}).length}),(0,C.Statistic)(e,\"Active\",function(){return H.filter(function(t){return t.active}).length}),(0,C.Statistic)(e,\"Jailed\",function(){return H.filter(function(t){return t.J>0}).length}),(0,C.Statistic)(e,\"Died of old age\",function(){return et.old_age}),(0,C.Statistic)(e,\"Died in jail\",function(){return et.in_jail}),(0,C.Statistic)(e,\"Murdered\",function(){return et.murder}),(0,C.Statistic)(i,\"Selected Agent #\",function(){return $?$.id:\"None\"}),(0,C.Statistic)(i,\"Team\",function(){return $&&N[$.team]}),(0,C.Statistic)(i,\"Position\",function(){return $&&$.x+\",\"+$.y}),(0,C.Statistic)(i,\"Hardship\",function(){return $&&$.H.toFixed(2)}),(0,C.Statistic)(i,\"Risk tolerance\",function(){return $&&$.R.toFixed(2)}),(0,C.Statistic)(i,\"Grievance\",function(){return $&&$.G.toFixed(2)}),(0,C.Statistic)(i,\"Score\",function(){return $&&$.GN.toFixed(2)}),(0,C.Statistic)(i,\"Cop / Active ratio\",function(){return $&&$.CAv.toFixed(2)}),(0,C.Statistic)(i,\"Arrest probability\",function(){return $&&$.P.toFixed(2)}),(0,C.Statistic)(i,\"Net risk\",function(){return $&&$.NetR.toFixed(2)}),(0,C.Statistic)(i,\"Active\",function(){return $&&O($.active)}),(0,C.Statistic)(i,\"Age\",function(){return $&&$.Age}),(0,C.Statistic)(i,\"Dead?\",function(){return $&&O($.dead)}),(0,C.Statistic)(i,\"In Jail?\",function(){return $&&O($.J)}),(0,C.Statistic)(i,\"Jail term\",function(){return $&&$.J}),(0,C.Statistic)(n,\"Log\",function(){return $&&$.log.join(\"\\n\")})],document.querySelector(\"button#restart\").addEventListener(\"click\",g),document.querySelector(\"button#pause\").addEventListener(\"click\",y),document.querySelector(\"button#observe\").addEventListener(\"click\",function(){p(),v()});var s=!1;L.addEventListener(\"mousemove\",function(t){s||P(t)}),L.addEventListener(\"mousedown\",function(t){P(t)&&(s=!0)}),document.querySelector(\".loading\").classList.remove(\"loading\"),w(),g()}()}]);\n\n\n// WEBPACK FOOTER //\n// ./bundle.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file
diff --git a/client/index.js b/client/index.js
index 3f0e6f9..02d8744 100644
--- a/client/index.js
+++ b/client/index.js
@@ -513,12 +513,12 @@ function build() {
Statistic(stats_el, 'Cops', () => agents.filter(a => a.team === COP_TEAM).length),
Statistic(stats_el, 'Team #1', () => agents.filter(a => a.team === 1).length),
Statistic(stats_el, 'Team #2', () => agents.filter(a => a.team === 2).length),
- Statistic(stats_el, 'Quiescent', () => agents.filter(a => !a.active).length),
+ Statistic(stats_el, 'Quiescent', () => agents.filter(a => !a.active && !a.J && a.team !== COP_TEAM).length),
Statistic(stats_el, 'Active', () => agents.filter(a => a.active).length),
Statistic(stats_el, 'Jailed', () => agents.filter(a => a.J > 0).length),
Statistic(stats_el, 'Died of old age', () => died.old_age),
Statistic(stats_el, 'Died in jail', () => died.in_jail),
- Statistic(stats_el, 'Murder rate', () => died.murder),
+ Statistic(stats_el, 'Murdered', () => died.murder),
Statistic(agent_el, 'Selected Agent #', () => selected_agent ? selected_agent.id : 'None'),
Statistic(agent_el, 'Team', () => selected_agent && team_names[selected_agent.team]),
Statistic(agent_el, 'Position', () => selected_agent && (selected_agent.x + ',' + selected_agent.y)),