From 2e9afd6ba0cd7bdfe534485cb83276ce5448cedf Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 22 Aug 2018 19:18:16 +0200 Subject: bundle --- bundle.js | 2 +- bundle.js.map | 2 +- client/index.js | 4 ++-- 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("")}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=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i=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;h0&&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=0&&t57)&&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;e2&&(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?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;i2?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;t0?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;ethis.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value1)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=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=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=na&&(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;ts[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&&(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-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;i0;)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;n1?e-1:0),s=1;s0&&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;i0?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;i0?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;i0?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.currentTime1)for(var i=1;i0;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;r1)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()=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()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("")}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=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i=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;h0&&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=0&&t57)&&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;e2&&(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?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;i2?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;t0?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;ethis.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value1)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=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=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=na&&(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;ts[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&&(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-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;i0;)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;n1?e-1:0),s=1;s0&&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;i0?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;i0?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;i0?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.currentTime1)for(var i=1;i0;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;r1)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()=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()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(\"\")}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=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i=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;h0&&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=0&&t57)&&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;e2&&(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?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;i2?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;t0?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;ethis.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value1)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=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=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=na&&(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;ts[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&&(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-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;i0;)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;n1?e-1:0),s=1;s0&&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;i0?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;i0?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;i0?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.currentTime1)for(var i=1;i0;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;r1)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()=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()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(\"\")}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=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i=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;h0&&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=0&&t57)&&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;e2&&(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?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;i2?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;t0?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;ethis.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value1)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=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=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=na&&(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;ts[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&&(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-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;i0;)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;n1?e-1:0),s=1;s0&&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;i0?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;i0?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;i0?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.currentTime1)for(var i=1;i0;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;r1)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()=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()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)), -- cgit v1.2.3-70-g09d2