Files
keras-js/demos/dist/bundle.min.js
T

3 lines
85 KiB
JavaScript

!function(e){function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}var t={};return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,n,t){Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="",n(n.s=54)}([function(e,n){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],n=0;n<this.length;n++){var t=this[n];t[2]?e.push("@media "+t[2]+"{"+t[1]+"}"):e.push(t[1])}return e.join("")},e.i=function(n,t){"string"==typeof n&&(n=[[null,n,""]]);for(var r={},a=0;a<this.length;a++){var i=this[a][0];"number"==typeof i&&(r[i]=!0)}for(a=0;a<n.length;a++){var o=n[a];"number"==typeof o[0]&&r[o[0]]||(t&&!o[2]?o[2]=t:t&&(o[2]="("+o[2]+") and ("+t+")"),e.push(o))}},e}},function(e,n){function t(e){var n=typeof e;return null!=e&&("object"==n||"function"==n)}e.exports=t},function(e,n){function t(e,n){for(var t=0;t<e.length;t++){var r=e[t],a=d[r.id];if(a){a.refs++;for(var i=0;i<a.parts.length;i++)a.parts[i](r.parts[i]);for(;i<r.parts.length;i++)a.parts.push(c(r.parts[i],n))}else{for(var o=[],i=0;i<r.parts.length;i++)o.push(c(r.parts[i],n));d[r.id]={id:r.id,refs:1,parts:o}}}}function r(e){for(var n=[],t={},r=0;r<e.length;r++){var a=e[r],i=a[0],o=a[1],s=a[2],c=a[3],l={css:o,media:s,sourceMap:c};t[i]?t[i].parts.push(l):n.push(t[i]={id:i,parts:[l]})}return n}function a(e,n){var t=h(),r=v[v.length-1];if("top"===e.insertAt)r?r.nextSibling?t.insertBefore(n,r.nextSibling):t.appendChild(n):t.insertBefore(n,t.firstChild),v.push(n);else{if("bottom"!==e.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");t.appendChild(n)}}function i(e){e.parentNode.removeChild(e);var n=v.indexOf(e);n>=0&&v.splice(n,1)}function o(e){var n=document.createElement("style");return n.type="text/css",a(e,n),n}function s(e){var n=document.createElement("link");return n.rel="stylesheet",a(e,n),n}function c(e,n){var t,r,a;if(n.singleton){var c=y++;t=g||(g=o(n)),r=l.bind(null,t,c,!1),a=l.bind(null,t,c,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(t=s(n),r=p.bind(null,t),a=function(){i(t),t.href&&URL.revokeObjectURL(t.href)}):(t=o(n),r=u.bind(null,t),a=function(){i(t)});return r(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;r(e=n)}else a()}}function l(e,n,t,r){var a=t?"":r.css;if(e.styleSheet)e.styleSheet.cssText=b(n,a);else{var i=document.createTextNode(a),o=e.childNodes;o[n]&&e.removeChild(o[n]),o.length?e.insertBefore(i,o[n]):e.appendChild(i)}}function u(e,n){var t=n.css,r=n.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}function p(e,n){var t=n.css,r=n.sourceMap;r&&(t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var a=new Blob([t],{type:"text/css"}),i=e.href;e.href=URL.createObjectURL(a),i&&URL.revokeObjectURL(i)}var d={},f=function(e){var n;return function(){return"undefined"==typeof n&&(n=e.apply(this,arguments)),n}},m=f(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),h=f(function(){return document.head||document.getElementsByTagName("head")[0]}),g=null,y=0,v=[];e.exports=function(e,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");n=n||{},"undefined"==typeof n.singleton&&(n.singleton=m()),"undefined"==typeof n.insertAt&&(n.insertAt="bottom");var a=r(e);return t(a,n),function(e){for(var i=[],o=0;o<a.length;o++){var s=a[o],c=d[s.id];c.refs--,i.push(c)}if(e){var l=r(e);t(l,n)}for(var o=0;o<i.length;o++){var c=i[o];if(0===c.refs){for(var u=0;u<c.parts.length;u++)c.parts[u]();delete d[c.id]}}}};var b=function(){var e=[];return function(n,t){return e[n]=t,e.filter(Boolean).join("\n")}}()},function(e,n,t){var r=t(31),a="object"==typeof self&&self&&self.Object===Object&&self,i=r||a||Function("return this")();e.exports=i},function(e,n,t){function r(e){return null!=e&&i(e.length)&&!a(e)}var a=t(42),i=t(43);e.exports=r},function(e,n){function t(e){return null!=e&&"object"==typeof e}e.exports=t},function(e,n,t){function r(e){if("number"==typeof e)return e;if(i(e))return o;if(a(e)){var n="function"==typeof e.valueOf?e.valueOf():e;e=a(n)?n+"":n}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var t=l.test(e);return t||u.test(e)?p(e.slice(2),t?2:8):c.test(e)?o:+e}var a=t(1),i=t(44),o=NaN,s=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,p=parseInt;e.exports=r},function(e,n){"use strict";function t(e,n){for(var t=1,r=e.length,a=e[0],i=e[0],o=1;o<r;++o)if(i=a,a=e[o],n(a,i)){if(o===t){t++;continue}e[t++]=a}return e.length=t,e}function r(e){for(var n=1,t=e.length,r=e[0],a=e[0],i=1;i<t;++i,a=r)if(a=r,r=e[i],r!==a){if(i===n){n++;continue}e[n++]=r}return e.length=n,e}function a(e,n,a){return 0===e.length?e:n?(a||e.sort(n),t(e,n)):(a||e.sort(),r(e))}e.exports=a},function(e,n){var t;t=function(){return this}();try{t=t||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n,t){"use strict";function r(){var e=["mnist-cnn"],n=window.location.hash,t=n.substr(2);e.indexOf(t)>-1?s.currentView=t:s.currentView="home"}t(51);var a=t(11),i=t(10),o=t(12);Vue.component("menu",a.Menu),Vue.component("home",i.Home),Vue.component("mnist-cnn",o.MnistCnn),Vue.use(VueMdl.default);var s=new Vue({el:"#app",data:{currentView:"home"}});window.addEventListener("load",r),window.addEventListener("hashchange",r)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Home=void 0,t(50);n.Home=Vue.extend({template:'\n <div class="demo home">\n <div class="title">Home</div>\n </div>\n '})},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Menu=void 0,t(52);n.Menu=Vue.extend({template:'\n <aside class="menu">\n <h1>Keras.js Demos</h1>\n <p class="menu-label">\n Demos\n </p>\n <ul class="menu-list">\n <li><a href="#/">Home</a></li>\n <li><a href="#/mnist-cnn">Basic Convnet - MNIST</a></li>\n </ul>\n <p class="menu-label">\n Links\n </p>\n <ul class="menu-list">\n <li>\n <a href="https://github.com/transcranial/keras-js" target="_blank">\n <svg height="24" width="24" class="github-logo" viewBox="0 0 16 16" version="1.1" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg>\n GitHub repo\n </a>\n </li>\n </ul>\n <p class="menu-label">\n Contact\n </p>\n <ul class="menu-list contact">\n <li><a href="https://github.com/transcranial" target="_blank">Leon Chen <@transcranial></a></li>\n <li></li>\n </ul>\n </aside>\n '})},function(e,n,t){"use strict";function r(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t]);return n.default=e,n}function a(e){return e&&e.__esModule?e:{default:e}}function i(e){if(Array.isArray(e)){for(var n=0,t=Array(e.length);n<e.length;n++)t[n]=e[n];return t}return Array.from(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.MnistCnn=void 0;var o=function(){function e(e,n){var t=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(t.push(o.value),!n||t.length!==n);r=!0);}catch(e){a=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(a)throw i}}return t}return function(n,t){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return e(n,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t(53);var s=t(35),c=a(s),l=t(46),u=a(l),p=t(13),d=r(p),f={filepaths:{model:"/demos/data/mnist_cnn/mnist_cnn.json",weights:"/demos/data/mnist_cnn/mnist_cnn_weights.buf",metadata:"/demos/data/mnist_cnn/mnist_cnn_metadata.json"},gpu:!1};Object.assign(f,{filepaths:{model:"demos/data/mnist_cnn/mnist_cnn.json",weights:"https://transcranial.github.io/keras-js-demos-data/mnist_cnn/mnist_cnn_weights.buf",metadata:"demos/data/mnist_cnn/mnist_cnn_metadata.json"}});var m={convolution2d_1:{heading:"32 3x3 filters, border mode valid, 1x1 strides",scalingFactor:2},activation_1:{heading:"ReLU",scalingFactor:2},convolution2d_2:{heading:"32 3x3 filters, border mode valid, 1x1 strides",scalingFactor:2},activation_2:{heading:"ReLU",scalingFactor:2},maxpooling2d_1:{heading:"2x2 pools, 1x1 strides",scalingFactor:2},dropout_1:{heading:"p=0.25 (only active during training phase)",scalingFactor:2},flatten_1:{heading:"",scalingFactor:2},dense_1:{heading:"output dimensionality 128",scalingFactor:4},activation_3:{heading:"ReLU",scalingFactor:4},dropout_2:{heading:"p=0.5 (only active during training phase)",scalingFactor:4},dense_2:{heading:"output dimensionality 10",scalingFactor:8},activation_4:{heading:"Softmax",scalingFactor:8}};n.MnistCnn=Vue.extend({template:'\n <div class="demo mnist-cnn">\n <div class="title">Basic Convnet - MNIST</div>\n <div class="loading-progress" v-if="modelLoading && loadingProgress < 100">\n Loading...{{ loadingProgress }}%\n </div>\n <div class="columns input-output">\n <div class="column input-column">\n <div class="input-container">\n <div class="input-label">Draw any digit (0-9) here <span class="arrow">⤸</span></div>\n <div class="canvas-container">\n <canvas\n id="input-canvas" width="240" height="240"\n @mousedown="activateDraw"\n @mouseup="deactivateDrawAndPredict"\n @mouseleave="deactivateDrawAndPredict"\n @mousemove="draw"\n @touchstart="activateDraw"\n @touchend="deactivateDrawAndPredict"\n @touchmove="draw"\n ></canvas>\n <canvas id="input-canvas-scaled" width="28" height="28" style="display:none;"></canvas>\n <canvas id="input-canvas-centercrop" style="display:none;"></canvas>\n </div>\n <div class="input-clear" v-on:click="clear">\n <i class="material-icons">clear</i>CLEAR\n </div>\n </div>\n </div>\n <div class="column is-2 controls-column">\n <mdl-switch :checked.sync="useGpu" @click="toggleGpu">Use GPU</mdl-switch>\n </div>\n <div class="column output-column">\n <div class="output">\n <div class="output-class"\n v-bind:class="{ \'predicted\': i === predictedClass }"\n v-for="i in outputClasses"\n >\n <div class="output-label">{{ i }}</div>\n <div class="output-bar"\n style="height: {{ Math.round(100 * output[i]) }}px; background: rgba(27, 188, 155, {{ output[i].toFixed(2) }});"\n ></div>\n </div>\n </div>\n </div>\n </div>\n <div class="layer-results-container">\n <div class="bg-line"></div>\n <div\n v-for="layerResult in layerResultImages"\n class="layer-result"\n >\n <div class="layer-result-heading">\n <span class="layer-class">{{ layerResult.layerClass }}</span>\n <span> {{ layerDisplayConfig[layerResult.name].heading }}</span>\n </div>\n <div class="layer-result-canvas-container">\n <canvas v-for="image in layerResult.images"\n id="intermediate-result-{{ $parent.$index }}-{{ $index }}"\n width="{{ image.width }}"\n height="{{ image.height }}"\n style="display:none;"\n ></canvas>\n <canvas v-for="image in layerResult.images"\n id="intermediate-result-{{ $parent.$index }}-{{ $index }}-scaled"\n width="{{ layerDisplayConfig[layerResult.name].scalingFactor * image.width }}"\n height="{{ layerDisplayConfig[layerResult.name].scalingFactor * image.height }}"\n ></canvas>\n </div>\n </div>\n </div>\n </div>\n ',data:function(){return{model:new KerasJS.Model(f),modelLoading:!0,input:new Float32Array(784),output:new Float32Array(10),outputClasses:(0,u.default)(10),layerResultImages:[],layerDisplayConfig:m,drawing:!1,strokes:[],useGpu:f.gpu}},computed:{loadingProgress:function(){return this.model.getLoadingProgress()},predictedClass:function(){var e=this;return 0===this.output.reduce(function(e,n){return e+n},0)?-1:this.output.reduce(function(n,t,r){return t>e.output[n]?r:n},0)}},created:function(){var e=this;this.model.initialize(),this.model.ready().then(function(){e.modelLoading=!1,e.getIntermediateResults()})},methods:{clear:function(e){this.clearIntermediateResults();var n=document.getElementById("input-canvas").getContext("2d");n.clearRect(0,0,n.canvas.width,n.canvas.height);var t=document.getElementById("input-canvas-centercrop").getContext("2d");t.clearRect(0,0,t.canvas.width,t.canvas.height);var r=document.getElementById("input-canvas-scaled").getContext("2d");r.clearRect(0,0,r.canvas.width,r.canvas.height),this.output=new Float32Array(10),this.drawing=!1,this.strokes=[]},activateDraw:function(e){this.drawing=!0,this.strokes.push([]);var n=this.strokes[this.strokes.length-1];n.push(d.getCoordinates(e))},draw:function(e){if(this.drawing){var n=document.getElementById("input-canvas").getContext("2d");n.lineWidth=20,n.lineJoin=n.lineCap="round",n.strokeStyle="#393E46",n.clearRect(0,0,n.canvas.width,n.canvas.height);var t=this.strokes[this.strokes.length-1];t.push(d.getCoordinates(e));for(var r=0,a=this.strokes.length;r<a;r++){t=this.strokes[r];var o=t[0],s=t[1];n.beginPath(),n.moveTo.apply(n,i(o));for(var c=1,l=t.length;c<l;c++)n.quadraticCurveTo.apply(n,i(o).concat(i(d.getMidpoint(o,s)))),o=t[c],s=t[c+1];n.lineTo.apply(n,i(o)),n.stroke()}}},deactivateDrawAndPredict:(0,c.default)(function(){if(this.drawing){this.drawing=!1;var e=document.getElementById("input-canvas").getContext("2d"),n=d.centerCrop(e.getImageData(0,0,e.canvas.width,e.canvas.height)),t=document.getElementById("input-canvas-centercrop").getContext("2d");t.canvas.width=n.width,t.canvas.height=n.height,t.putImageData(n,0,0);var r=document.getElementById("input-canvas-scaled").getContext("2d");r.save(),r.scale(28/t.canvas.width,28/t.canvas.height),r.clearRect(0,0,t.canvas.width,t.canvas.height),r.drawImage(document.getElementById("input-canvas-centercrop"),0,0);var a=r.getImageData(0,0,r.canvas.width,r.canvas.height);r.restore();var i=a.data;this.input=new Float32Array(784);for(var o=0,s=i.length;o<s;o+=4)this.input[o/4]=i[o+3]/255;this.output=this.model.predict({input:this.input}).output,this.getIntermediateResults()}},200,{leading:!0,trailing:!0}),getIntermediateResults:function(){var e=this,n=[],t=!0,r=!1,a=void 0;try{for(var i,s=this.model.modelLayersMap.entries()[Symbol.iterator]();!(t=(i=s.next()).done);t=!0){var c=o(i.value,2),l=c[0],u=c[1];if("input"!==l){var p=u.layerClass||"",f=[];u.result&&3===u.result.tensor.shape.length?f=d.unroll3Dtensor(u.result.tensor):u.result&&2===u.result.tensor.shape.length?f=[d.image2Dtensor(u.result.tensor)]:u.result&&1===u.result.tensor.shape.length&&(f=[d.image1Dtensor(u.result.tensor)]),n.push({name:l,layerClass:p,images:f})}}}catch(e){r=!0,a=e}finally{try{!t&&s.return&&s.return()}finally{if(r)throw a}}this.layerResultImages=n,setTimeout(function(){e.showIntermediateResults()},0)},showIntermediateResults:function(){var e=this;this.layerResultImages.forEach(function(n,t){var r=e.layerDisplayConfig[n.name].scalingFactor;n.images.forEach(function(e,n){var a=document.getElementById("intermediate-result-"+t+"-"+n).getContext("2d");a.putImageData(e,0,0);var i=document.getElementById("intermediate-result-"+t+"-"+n+"-scaled").getContext("2d");i.save(),i.scale(r,r),i.clearRect(0,0,i.canvas.width,i.canvas.height),i.drawImage(document.getElementById("intermediate-result-"+t+"-"+n),0,0),i.restore()})})},clearIntermediateResults:function(){var e=this;this.layerResultImages.forEach(function(n,t){var r=e.layerDisplayConfig[n.name].scalingFactor;n.images.forEach(function(e,n){var a=document.getElementById("intermediate-result-"+t+"-"+n+"-scaled").getContext("2d");a.save(),a.scale(r,r),a.clearRect(0,0,a.canvas.width,a.canvas.height),a.restore()})})},toggleGpu:function(){this.model.gpu=!this.useGpu}}})},function(e,n,t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){if(Array.isArray(e)){for(var n=0,t=Array(e.length);n<e.length;n++)t[n]=e[n];return t}return Array.from(e)}function i(e,n){var t=f(e,2),r=t[0],a=t[1],i=f(n,2),o=i[0],s=i[1];return[r+(o-r)/2,a+(s-a)/2]}function o(e){var n=e.clientX,t=e.clientY;e.touches&&e.touches.length&&(n=e.touches[0].clientX,t=e.touches[0].clientY);var r=e.target.getBoundingClientRect(),a=r.left,i=r.top,o=n-a,s=t-i;return[o,s]}function s(e){for(var n=e.data,t=e.width,r=e.height,a=t,i=r,o=-1,s=-1,c=0;c<t;c++)for(var l=0;l<r;l++){var u=c+l*t;n[4*u+3]>0&&(c<a&&(a=c),c>o&&(o=c),l<i&&(i=l),l>s&&(s=l))}a-=20,o+=20,i-=20,s+=20;var p=o-a+1,d=s-i+1;if(p<d){var f=Math.floor((d-p)/2),m=d-p-f;o+=m,a-=f}else if(p>d){var h=Math.floor((p-d)/2),g=p-d-h;s+=g,i-=h}p=o-a+1,d=s-i+1;for(var y=new Uint8ClampedArray(p*d*4),v=a;v<=o;v++)for(var b=i;b<=s;b++)if(v>=0&&v<t&&b>=0&&b<r){var x=v+b*t,w=v-a+(b-i)*p;y[4*w+3]=n[4*x+3]}return new ImageData(y,p,d)}function c(e){var n=(0,h.default)(e.data)/e.data.length,t=Math.sqrt((0,h.default)(e.data.map(function(e){return Math.pow(e-n,2)}))/e.data.length);return{mean:n,stddev:t}}function l(e){var n=Math.min.apply(Math,a(e.data)),t=Math.max.apply(Math,a(e.data));return{min:n,max:t}}function u(e){for(var n=l(e),t=n.min,r=n.max,a=new Uint8ClampedArray(4*e.size),i=0,o=a.length;i<o;i+=4)a[i+3]=255*(e.data[i/4]-t)/(r-t);return new ImageData(a,e.shape[0],1)}function p(e){for(var n=l(e),t=n.min,r=n.max,a=new Uint8ClampedArray(4*e.size),i=0,o=a.length;i<o;i+=4)a[i+3]=255*(e.data[i/4]-t)/(r-t);return new ImageData(a,e.shape[0],e.shape[1])}function d(e){for(var n=l(e),t=n.min,r=n.max,a=e.shape.slice(),i=[],o=0,s=a[2];o<s;o++){var c=(0,y.default)((0,b.default)(e.pick(null,null,o)));i.push(c)}return i.map(function(e){for(var n=new Uint8ClampedArray(4*e.length),i=0,o=e.length;i<o;i++)n[4*i]=0,n[4*i+1]=0,n[4*i+2]=0,n[4*i+3]=255*(e[i]-t)/(r-t);return new ImageData(n,a[0],a[1])})}Object.defineProperty(n,"__esModule",{value:!0});var f=function(){function e(e,n){var t=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(t.push(o.value),!n||t.length!==n);r=!0);}catch(e){a=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(a)throw i}}return t}return function(n,t){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return e(n,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();n.getMidpoint=i,n.getCoordinates=o,n.centerCrop=s,n.tensorStats=c,n.tensorMinMax=l,n.image1Dtensor=u,n.image2Dtensor=p,n.unroll3Dtensor=d;var m=t(47),h=r(m),g=t(37),y=r(g),v=t(49),b=r(v)},function(e,n,t){n=e.exports=t(0)(),n.push([e.i,"",""])},function(e,n,t){n=e.exports=t(0)(),n.push([e.i,"@import url(https://fonts.googleapis.com/css?family=Inconsolata);",""]),n.push([e.i,"@import url(https://fonts.googleapis.com/css?family=Fira+Sans);",""]),n.push([e.i,"@import url(https://fonts.googleapis.com/css?family=Nothing+You+Could+Do);",""]),n.push([e.i,"body {\n background: -webkit-linear-gradient(bottom, #DDDDDD, #EEEEEE);\n background: linear-gradient(0deg, #DDDDDD, #EEEEEE);\n color: #393E46;\n min-height: 100vh;\n font-family: 'Fira Sans', sans-serif;\n}\n\n#github-corner-link {\n position: absolute;\n width: 120px;\n height: 120px;\n top: -60px;\n right: -60px;\n border-radius: 50%;\n background-color: #1BBC9B;\n -webkit-transition: background-color 0.2s ease-in;\n transition: background-color 0.2s ease-in;\n}\n\n#github-corner-link:hover {\n background-color: rgba(27, 188, 155, 0.7);\n}\n\n#github-corner-link .github-logo {\n position: absolute;\n bottom: 18px;\n left: 18px;\n fill: white;\n}\n\n.title {\n width: 100%;\n color: #1BBC9B;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.subtitle {\n color: #393E46;\n}\n\n.demo {\n padding: 50px 30px;\n}\n\n.demo .loading-progress {\n position: absolute;\n top: 0;\n right: 0;\n padding: 30px;\n color: #1BBC9B;\n font-size: 18px;\n font-family: 'Inconsolata', sans-serif;\n padding: 20px 50px;\n margin: 20px;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 10px;\n}\n",""])},function(e,n,t){n=e.exports=t(0)(),n.push([e.i,".menu {\n padding: 50px;\n margin: 20px;\n background: white;\n border-radius: 10px;\n box-shadow: 6px 8px #CCCCCC;\n}\n\n.menu h1 {\n color: #CCCCCC;\n font-family: 'Fira Sans', sans-serif;\n font-size: 1.5rem;\n}\n\n.menu-list li {\n color: #69707a;\n}\n\n.menu-list a {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.menu-list a:hover {\n color: #1BBC9B;\n background-color: whitesmoke;\n}\n\n.menu-list a:hover .github-logo {\n fill: #1BBC9B;\n}\n\n.menu-list.contact li {\n padding: 5px 10px;\n}\n\n.menu-list.contact a {\n color: #aaaaaa;\n padding: 0;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n background-color: none;\n -webkit-transition: color 0.2s ease-in;\n transition: color 0.2s ease-in;\n}\n\n.menu-list.contact a:hover {\n color: #1BBC9B;\n background: none;\n}\n\n.menu-list .github-logo {\n fill: #69707a;\n margin: 3px 8px 3px 0;\n}\n",""])},function(e,n,t){n=e.exports=t(0)(),n.push([e.i,"/* MDL overrides */\n\n.demo.mnist-cnn .mdl-switch__label {\n font-size: 14px !important;\n color: #69707a;\n}\n\n.demo.mnist-cnn .mdl-switch.is-checked .mdl-switch__thumb {\n background: rgba(27, 188, 155, 0.6);\n}\n\n.demo.mnist-cnn .mdl-switch.is-checked .mdl-switch__track {\n background: rgba(27, 188, 155, 0.3);\n}\n\n/*******************************************/\n\n.demo.mnist-cnn .column {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.demo.mnist-cnn .column.input-column {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n\n.demo.mnist-cnn .column.controls-column {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding-top: 80px;\n}\n\n.demo.mnist-cnn .column.output-column {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.demo.mnist-cnn .input-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n margin: 20px;\n position: relative;\n}\n\n.demo.mnist-cnn .input-label {\n font-family: 'Nothing You Could Do', cursive;\n font-size: 18px;\n color: #69707a;\n text-align: right;\n}\n\n.demo.mnist-cnn .input-label span.arrow {\n font-size: 36px;\n color: #CCCCCC;\n position: absolute;\n right: -32px;\n top: 8px;\n}\n\n.demo.mnist-cnn .canvas-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin: 10px 0;\n background: white;\n border: 15px solid rgba(27, 188, 155, 0.3);\n -webkit-transition: border-color 0.2s ease-in;\n transition: border-color 0.2s ease-in;\n}\n\n.demo.mnist-cnn .canvas-container:hover {\n border-color: rgba(27, 188, 155, 0.6);\n}\n\n.demo.mnist-cnn .canvas-container canvas:hover {\n cursor: crosshair;\n}\n\n.demo.mnist-cnn .input-clear {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n color: #69707a;\n -webkit-transition: color 0.2s ease-in;\n transition: color 0.2s ease-in;\n}\n\n.demo.mnist-cnn .input-clear:hover {\n color: rgba(27, 188, 155, 0.3);\n cursor: pointer;\n}\n\n.demo.mnist-cnn .output {\n height: 160px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.demo.mnist-cnn .output .output-class {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0 6px;\n border-bottom: 2px solid rgba(27, 188, 155, 0.3);\n}\n\n.demo.mnist-cnn .output .output-class.predicted {\n border-bottom-color: #1BBC9B;\n}\n\n.demo.mnist-cnn .output .output-class .output-label {\n font-family: 'Inconsolata', sans-serif;\n font-size: 1.5rem;\n color: #69707a;\n}\n\n.demo.mnist-cnn .output .output-class .output-bar {\n width: 8px;\n background: #EEEEEE;\n -webkit-transition: height 0.2s ease-out;\n transition: height 0.2s ease-out;\n}\n\n.demo.mnist-cnn .output .output-class.predicted .output-label {\n color: #1BBC9B;\n}\n\n.demo.mnist-cnn .layer-results-container {\n position: relative;\n}\n\n.demo.mnist-cnn .layer-results-container .bg-line {\n position: absolute;\n z-index: 0;\n top: 0;\n left: 50%;\n background: white;\n width: 20px;\n height: 100%;\n}\n\n.demo.mnist-cnn .layer-result {\n position: relative;\n z-index: 1;\n margin: 30px 20px;\n background: white;\n border-radius: 10px;\n padding: 20px;\n overflow-x: auto;\n}\n\n.demo.mnist-cnn .layer-result-heading {\n font-size: 1rem;\n color: #999999;\n margin-bottom: 10px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n font-size: 12px;\n}\n\n.demo.mnist-cnn .layer-result-heading span.layer-class {\n color: #1BBC9B;\n font-size: 14px;\n font-weight: bold;\n}\n\n.demo.mnist-cnn .layer-result-canvas-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n background: white;\n}\n\n.demo.mnist-cnn .layer-result-canvas-container canvas {\n border: 1px solid lightgray;\n margin: 1px;\n}\n",""])},function(e,n,t){"use strict";function r(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}function a(e){var n=new r;n.pre=e.pre,n.body=e.body,n.post=e.post;var t=e.args.slice(0);n.argTypes=t;for(var a=0;a<t.length;++a){var o=t[a];if("array"===o||"object"==typeof o&&o.blockIndices){if(n.argTypes[a]="array",n.arrayArgs.push(a),n.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),n.shimArgs.push("array"+a),a<n.pre.args.length&&n.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array args");if(a<n.post.args.length&&n.post.args[a].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)n.scalarArgs.push(a),n.shimArgs.push("scalar"+a);else if("index"===o){if(n.indexArgs.push(a),a<n.pre.args.length&&n.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array index");if(a<n.body.args.length&&n.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array index");if(a<n.post.args.length&&n.post.args[a].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(n.shapeArgs.push(a),a<n.pre.args.length&&n.pre.args[a].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(a<n.body.args.length&&n.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array shape");if(a<n.post.args.length&&n.post.args[a].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+t[a]);n.argTypes[a]="offset",n.offsetArgs.push({array:o.array,offset:o.offset}),n.offsetArgIndex.push(a)}}if(n.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(n.pre.args.length>t.length)throw new Error("cwise: Too many arguments in pre() block");if(n.body.args.length>t.length)throw new Error("cwise: Too many arguments in body() block");if(n.post.args.length>t.length)throw new Error("cwise: Too many arguments in post() block");return n.debug=!!e.printCode||!!e.debug,n.funcName=e.funcName||"cwise",n.blockSize=e.blockSize||64,i(n)}var i=t(20);e.exports=a},function(e,n,t){"use strict";function r(e,n,t){var r,a,i=e.length,o=n.arrayArgs.length,s=n.indexArgs.length>0,c=[],l=[],u=0,p=0;for(r=0;r<i;++r)l.push(["i",r,"=0"].join(""));for(a=0;a<o;++a)for(r=0;r<i;++r)p=u,u=e[r],0===r?l.push(["d",a,"s",r,"=t",a,"p",u].join("")):l.push(["d",a,"s",r,"=(t",a,"p",u,"-s",p,"*t",a,"p",p,")"].join(""));for(c.push("var "+l.join(",")),r=i-1;r>=0;--r)u=e[r],c.push(["for(i",r,"=0;i",r,"<s",u,";++i",r,"){"].join(""));for(c.push(t),r=0;r<i;++r){for(p=u,u=e[r],a=0;a<o;++a)c.push(["p",a,"+=d",a,"s",r].join(""));s&&(r>0&&c.push(["index[",p,"]-=s",p].join("")),c.push(["++index[",u,"]"].join(""))),c.push("}")}return c.join("\n")}function a(e,n,t,a){for(var i=n.length,o=t.arrayArgs.length,s=t.blockSize,c=t.indexArgs.length>0,l=[],u=0;u<o;++u)l.push(["var offset",u,"=p",u].join(""));for(var u=e;u<i;++u)l.push(["for(var j"+u+"=SS[",n[u],"]|0;j",u,">0;){"].join("")),l.push(["if(j",u,"<",s,"){"].join("")),l.push(["s",n[u],"=j",u].join("")),l.push(["j",u,"=0"].join("")),l.push(["}else{s",n[u],"=",s].join("")),l.push(["j",u,"-=",s,"}"].join("")),c&&l.push(["index[",n[u],"]=j",u].join(""));for(var u=0;u<o;++u){for(var p=["offset"+u],d=e;d<i;++d)p.push(["j",d,"*t",u,"p",n[d]].join(""));l.push(["p",u,"=(",p.join("+"),")"].join(""))}l.push(r(n,t,a));for(var u=e;u<i;++u)l.push("}");return l.join("\n")}function i(e){for(var n=0,t=e[0].length;n<t;){for(var r=1;r<e.length;++r)if(e[r][n]!==e[0][n])return n;++n}return n}function o(e,n,t){for(var r=e.body,a=[],i=[],o=0;o<e.args.length;++o){var s=e.args[o];if(!(s.count<=0)){var c=new RegExp(s.name,"g"),l="",u=n.arrayArgs.indexOf(o);
switch(n.argTypes[o]){case"offset":var p=n.offsetArgIndex.indexOf(o),d=n.offsetArgs[p];u=d.array,l="+q"+p;case"array":l="p"+u+l;var f="l"+o,m="a"+u;if(0===n.arrayBlockIndices[u])1===s.count?"generic"===t[u]?s.lvalue?(a.push(["var ",f,"=",m,".get(",l,")"].join("")),r=r.replace(c,f),i.push([m,".set(",l,",",f,")"].join(""))):r=r.replace(c,[m,".get(",l,")"].join("")):r=r.replace(c,[m,"[",l,"]"].join("")):"generic"===t[u]?(a.push(["var ",f,"=",m,".get(",l,")"].join("")),r=r.replace(c,f),s.lvalue&&i.push([m,".set(",l,",",f,")"].join(""))):(a.push(["var ",f,"=",m,"[",l,"]"].join("")),r=r.replace(c,f),s.lvalue&&i.push([m,"[",l,"]=",f].join("")));else{for(var h=[s.name],g=[l],y=0;y<Math.abs(n.arrayBlockIndices[u]);y++)h.push("\\s*\\[([^\\]]+)\\]"),g.push("$"+(y+1)+"*t"+u+"b"+y);if(c=new RegExp(h.join(""),"g"),l=g.join("+"),"generic"===t[u])throw new Error("cwise: Generic arrays not supported in combination with blocks!");r=r.replace(c,[m,"[",l,"]"].join(""))}break;case"scalar":r=r.replace(c,"Y"+n.scalarArgs.indexOf(o));break;case"index":r=r.replace(c,"index");break;case"shape":r=r.replace(c,"shape")}}}return[a.join("\n"),r,i.join("\n")].join("\n").trim()}function s(e){for(var n=new Array(e.length),t=!0,r=0;r<e.length;++r){var a=e[r],i=a.match(/\d+/);i=i?i[0]:"",0===a.charAt(0)?n[r]="u"+a.charAt(1)+i:n[r]=a.charAt(0)+i,r>0&&(t=t&&n[r]===n[r-1])}return t?n[0]:n.join("")}function c(e,n){for(var t=n[1].length-Math.abs(e.arrayBlockIndices[0])|0,c=new Array(e.arrayArgs.length),u=new Array(e.arrayArgs.length),p=0;p<e.arrayArgs.length;++p)u[p]=n[2*p],c[p]=n[2*p+1];for(var d=[],f=[],m=[],h=[],g=[],p=0;p<e.arrayArgs.length;++p){e.arrayBlockIndices[p]<0?(m.push(0),h.push(t),d.push(t),f.push(t+e.arrayBlockIndices[p])):(m.push(e.arrayBlockIndices[p]),h.push(e.arrayBlockIndices[p]+t),d.push(0),f.push(e.arrayBlockIndices[p]));for(var y=[],v=0;v<c[p].length;v++)m[p]<=c[p][v]&&c[p][v]<h[p]&&y.push(c[p][v]-m[p]);g.push(y)}for(var b=["SS"],x=["'use strict'"],w=[],v=0;v<t;++v)w.push(["s",v,"=SS[",v,"]"].join(""));for(var p=0;p<e.arrayArgs.length;++p){b.push("a"+p),b.push("t"+p),b.push("p"+p);for(var v=0;v<t;++v)w.push(["t",p,"p",v,"=t",p,"[",m[p]+v,"]"].join(""));for(var v=0;v<Math.abs(e.arrayBlockIndices[p]);++v)w.push(["t",p,"b",v,"=t",p,"[",d[p]+v,"]"].join(""))}for(var p=0;p<e.scalarArgs.length;++p)b.push("Y"+p);if(e.shapeArgs.length>0&&w.push("shape=SS.slice(0)"),e.indexArgs.length>0){for(var k=new Array(t),p=0;p<t;++p)k[p]="0";w.push(["index=[",k.join(","),"]"].join(""))}for(var p=0;p<e.offsetArgs.length;++p){for(var S=e.offsetArgs[p],E=[],v=0;v<S.offset.length;++v)0!==S.offset[v]&&(1===S.offset[v]?E.push(["t",S.array,"p",v].join("")):E.push([S.offset[v],"*t",S.array,"p",v].join("")));0===E.length?w.push("q"+p+"=0"):w.push(["q",p,"=",E.join("+")].join(""))}var C=l([].concat(e.pre.thisVars).concat(e.body.thisVars).concat(e.post.thisVars));w=w.concat(C),x.push("var "+w.join(","));for(var p=0;p<e.arrayArgs.length;++p)x.push("p"+p+"|=0");e.pre.body.length>3&&x.push(o(e.pre,e,u));var I=o(e.body,e,u),A=i(g);A<t?x.push(a(A,g[0],e,I)):x.push(r(g[0],e,I)),e.post.body.length>3&&x.push(o(e.post,e,u)),e.debug&&console.log("-----Generated cwise routine for ",n,":\n"+x.join("\n")+"\n----------");var j=[e.funcName||"unnamed","_cwise_loop_",c[0].join("s"),"m",A,s(u)].join(""),L=new Function(["function ",j,"(",b.join(","),"){",x.join("\n"),"} return ",j].join(""));return L()}var l=t(7);e.exports=c},function(e,n,t){"use strict";function r(e){var n=["'use strict'","var CACHED={}"],t=[],r=e.funcName+"_cwise_thunk";n.push(["return function ",r,"(",e.shimArgs.join(","),"){"].join(""));for(var i=[],o=[],s=[["array",e.arrayArgs[0],".shape.slice(",Math.max(0,e.arrayBlockIndices[0]),e.arrayBlockIndices[0]<0?","+e.arrayBlockIndices[0]+")":")"].join("")],c=[],l=[],u=0;u<e.arrayArgs.length;++u){var p=e.arrayArgs[u];t.push(["t",p,"=array",p,".dtype,","r",p,"=array",p,".order"].join("")),i.push("t"+p),i.push("r"+p),o.push("t"+p),o.push("r"+p+".join()"),s.push("array"+p+".data"),s.push("array"+p+".stride"),s.push("array"+p+".offset|0"),u>0&&(c.push("array"+e.arrayArgs[0]+".shape.length===array"+p+".shape.length+"+(Math.abs(e.arrayBlockIndices[0])-Math.abs(e.arrayBlockIndices[u]))),l.push("array"+e.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[0])+"]===array"+p+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[u])+"]"))}e.arrayArgs.length>1&&(n.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),n.push("for(var shapeIndex=array"+e.arrayArgs[0]+".shape.length-"+Math.abs(e.arrayBlockIndices[0])+"; shapeIndex-->0;) {"),n.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),n.push("}"));for(var u=0;u<e.scalarArgs.length;++u)s.push("scalar"+e.scalarArgs[u]);t.push(["type=[",o.join(","),"].join()"].join("")),t.push("proc=CACHED[type]"),n.push("var "+t.join(",")),n.push(["if(!proc){","CACHED[type]=proc=compile([",i.join(","),"])}","return proc(",s.join(","),")}"].join("")),e.debug&&console.log("-----Generated thunk:\n"+n.join("\n")+"\n----------");var d=new Function("compile",n.join("\n"));return d(a.bind(void 0,e))}var a=t(19);e.exports=r},function(e,n,t){"use strict";(function(n){function r(e,n,t){this.name=e,this.lvalue=n,this.rvalue=t,this.count=0}function a(e,n,t,r){this.body=e,this.args=n,this.thisVars=t,this.localVars=r}function i(e){if("eval"===e)throw new Error("cwise-parser: eval() not allowed");return"undefined"!=typeof window?e in window:"undefined"!=typeof n?e in n:"undefined"!=typeof self&&e in self}function o(e){for(var n=e.body[0].expression.callee.params,t=new Array(n.length),r=0;r<n.length;++r)t[r]=n[r].name;return t}function s(e){function n(e){var n=g+e.replace(/\_/g,"__");return k.push(n),n}function t(e){var n="this_"+e.replace(/\_/g,"__");return S.push(n),n}function s(e,n){for(var t=e.range[0],r=e.range[1],a=t+1;a<r;++a)x[a]="";x[t]=n}function p(e){return"'"+e.replace(/\_/g,"\\_").replace(/\'/g,"'")+"'"}function d(e){return x.slice(e.range[0],e.range[1]).join("")}function f(e){return"AssignmentExpression"===e.parent.type&&e.parent.left===e?"="===e.parent.operator?E:E|C:"UpdateExpression"===e.parent.type?E|C:C}for(var m=["(",e,")()"].join(""),h=c.parse(m,{range:!0}),g="_inline_"+u++ +"_",y=o(h),v=new Array(y.length),b=0;b<y.length;++b)v[b]=new r([g,"arg",b,"_"].join(""),!1,!1);for(var x=new Array(m.length),b=0,w=m.length;b<w;++b)x[b]=m.charAt(b);var k=[],S=[],E=1,C=2;!function e(r,a){if(r.parent=a,"MemberExpression"===r.type)r.computed?(e(r.object,r),e(r.property,r)):"ThisExpression"===r.object.type?s(r,t(r.property.name)):e(r.object,r);else{if("ThisExpression"===r.type)throw new Error("cwise-parser: Computed this is not allowed");if("Identifier"===r.type){var o=r.name,c=y.indexOf(o);if(c>=0){var l=v[c],u=f(r);u&E&&(l.lvalue=!0),u&C&&(l.rvalue=!0),++l.count,s(r,l.name)}else i(o)||s(r,n(o))}else if("Literal"===r.type)"string"==typeof r.value&&s(r,p(r.value));else{if("WithStatement"===r.type)throw new Error("cwise-parser: with() statements not allowed");for(var d=Object.keys(r),m=0,h=d.length;m<h;++m)if("parent"!==d[m]){var g=r[d[m]];if(g)if(g instanceof Array)for(var b=0;b<g.length;++b)g[b]&&"string"==typeof g[b].type&&e(g[b],r);else"string"==typeof g.type&&e(g,r)}}}}(h.body[0].expression.callee.body,void 0),l(k),l(S);var I=new a(d(h.body[0].expression.callee.body),v,S,k);return I}var c=t(24),l=t(7),u=0;e.exports=s}).call(n,t(8))},function(e,n,t){"use strict";function r(e){for(var n in e)o.indexOf(n)<0&&s.indexOf(n)<0&&console.warn("cwise: Unknown argument '"+n+"' passed to expression compiler");for(var t=0;t<o.length;++t)if(!e[o[t]])throw new Error("cwise: Missing argument: "+o[t]);return i({args:e.args,pre:a(e.pre||function(){}),body:a(e.body),post:a(e.post||function(){}),debug:!!e.printCode,funcName:e.funcName||e.body.name||"cwise",blockSize:e.blockSize||64})}var a=t(21),i=t(18),o=["args","body"],s=["pre","post","printCode","funcName","blockSize"];e.exports=r},function(e,n){"use strict";function t(e,n,r){var a=0|e[r];if(a<=0)return[];var i,o=new Array(a);if(r===e.length-1)for(i=0;i<a;++i)o[i]=n;else for(i=0;i<a;++i)o[i]=t(e,n,r+1);return o}function r(e,n){var t,r;for(t=new Array(e),r=0;r<e;++r)t[r]=n;return t}function a(e,n){switch("undefined"==typeof n&&(n=0),typeof e){case"number":if(e>0)return r(0|e,n);break;case"object":if("number"==typeof e.length)return t(e,n,0)}return[]}e.exports=a},function(e,n,t){var r,a,i;!function(t,o){"use strict";a=[n],r=o,i="function"==typeof r?r.apply(n,a):r,!(void 0!==i&&(e.exports=i))}(this,function(e){"use strict";function n(e,n){if(!e)throw new Error("ASSERT: "+n)}function t(e){return e>=48&&e<=57}function r(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function a(e){return"01234567".indexOf(e)>=0}function i(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function o(e){return 10===e||13===e||8232===e||8233===e}function s(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&on.NonAsciiIdentifierStart.test(String.fromCharCode(e))}function c(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&on.NonAsciiIdentifierPart.test(String.fromCharCode(e))}function l(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}function u(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function p(e){return"eval"===e||"arguments"===e}function d(e){if(ln&&u(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function f(e,t,r,a,i){var o;n("number"==typeof r,"Comment must have valid position"),gn.lastCommentStart>=r||(gn.lastCommentStart=r,o={type:e,value:t},yn.range&&(o.range=[r,a]),yn.loc&&(o.loc=i),yn.comments.push(o),yn.attachComment&&(yn.leadingComments.push(o),yn.trailingComments.push(o)))}function m(e){var n,t,r,a;for(n=un-e,t={start:{line:pn,column:un-dn-e}};un<fn;)if(r=cn.charCodeAt(un),++un,o(r))return yn.comments&&(a=cn.slice(n+e,un-1),t.end={line:pn,column:un-dn-1},f("Line",a,n,un-1,t)),13===r&&10===cn.charCodeAt(un)&&++un,++pn,void(dn=un);yn.comments&&(a=cn.slice(n+e,un),t.end={line:pn,column:un-dn},f("Line",a,n,un,t))}function h(){var e,n,t,r;for(yn.comments&&(e=un-2,n={start:{line:pn,column:un-dn-2}});un<fn;)if(t=cn.charCodeAt(un),o(t))13===t&&10===cn.charCodeAt(un+1)&&++un,++pn,++un,dn=un,un>=fn&&V({},an.UnexpectedToken,"ILLEGAL");else if(42===t){if(47===cn.charCodeAt(un+1))return++un,++un,void(yn.comments&&(r=cn.slice(e+2,un-2),n.end={line:pn,column:un-dn},f("Block",r,e,un,n)));++un}else++un;V({},an.UnexpectedToken,"ILLEGAL")}function g(){var e,n;for(n=0===un;un<fn;)if(e=cn.charCodeAt(un),i(e))++un;else if(o(e))++un,13===e&&10===cn.charCodeAt(un)&&++un,++pn,dn=un,n=!0;else if(47===e)if(e=cn.charCodeAt(un+1),47===e)++un,++un,m(2),n=!0;else{if(42!==e)break;++un,++un,h()}else if(n&&45===e){if(45!==cn.charCodeAt(un+1)||62!==cn.charCodeAt(un+2))break;un+=3,m(3)}else{if(60!==e)break;if("!--"!==cn.slice(un+1,un+4))break;++un,++un,++un,++un,m(4)}}function y(e){var n,t,a,i=0;for(t="u"===e?4:2,n=0;n<t;++n){if(!(un<fn&&r(cn[un])))return"";a=cn[un++],i=16*i+"0123456789abcdef".indexOf(a.toLowerCase())}return String.fromCharCode(i)}function v(){var e,n;for(e=cn.charCodeAt(un++),n=String.fromCharCode(e),92===e&&(117!==cn.charCodeAt(un)&&V({},an.UnexpectedToken,"ILLEGAL"),++un,e=y("u"),e&&"\\"!==e&&s(e.charCodeAt(0))||V({},an.UnexpectedToken,"ILLEGAL"),n=e);un<fn&&(e=cn.charCodeAt(un),c(e));)++un,n+=String.fromCharCode(e),92===e&&(n=n.substr(0,n.length-1),117!==cn.charCodeAt(un)&&V({},an.UnexpectedToken,"ILLEGAL"),++un,e=y("u"),e&&"\\"!==e&&c(e.charCodeAt(0))||V({},an.UnexpectedToken,"ILLEGAL"),n+=e);return n}function b(){var e,n;for(e=un++;un<fn;){if(n=cn.charCodeAt(un),92===n)return un=e,v();if(!c(n))break;++un}return cn.slice(e,un)}function x(){var e,n,t;return e=un,n=92===cn.charCodeAt(un)?v():b(),t=1===n.length?Ze.Identifier:d(n)?Ze.Keyword:"null"===n?Ze.NullLiteral:"true"===n||"false"===n?Ze.BooleanLiteral:Ze.Identifier,{type:t,value:n,lineNumber:pn,lineStart:dn,start:e,end:un}}function w(){var e,n,t,r,a=un,i=cn.charCodeAt(un),o=cn[un];switch(i){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++un,yn.tokenize&&(40===i?yn.openParenToken=yn.tokens.length:123===i&&(yn.openCurlyToken=yn.tokens.length)),{type:Ze.Punctuator,value:String.fromCharCode(i),lineNumber:pn,lineStart:dn,start:a,end:un};default:if(e=cn.charCodeAt(un+1),61===e)switch(i){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return un+=2,{type:Ze.Punctuator,value:String.fromCharCode(i)+String.fromCharCode(e),lineNumber:pn,lineStart:dn,start:a,end:un};case 33:case 61:return un+=2,61===cn.charCodeAt(un)&&++un,{type:Ze.Punctuator,value:cn.slice(a,un),lineNumber:pn,lineStart:dn,start:a,end:un}}}return r=cn.substr(un,4),">>>="===r?(un+=4,{type:Ze.Punctuator,value:r,lineNumber:pn,lineStart:dn,start:a,end:un}):(t=r.substr(0,3),">>>"===t||"<<="===t||">>="===t?(un+=3,{type:Ze.Punctuator,value:t,lineNumber:pn,lineStart:dn,start:a,end:un}):(n=t.substr(0,2),o===n[1]&&"+-<>&|".indexOf(o)>=0||"=>"===n?(un+=2,{type:Ze.Punctuator,value:n,lineNumber:pn,lineStart:dn,start:a,end:un}):"<>=!+-*%&|^/".indexOf(o)>=0?(++un,{type:Ze.Punctuator,value:o,lineNumber:pn,lineStart:dn,start:a,end:un}):void V({},an.UnexpectedToken,"ILLEGAL")))}function k(e){for(var n="";un<fn&&r(cn[un]);)n+=cn[un++];return 0===n.length&&V({},an.UnexpectedToken,"ILLEGAL"),s(cn.charCodeAt(un))&&V({},an.UnexpectedToken,"ILLEGAL"),{type:Ze.NumericLiteral,value:parseInt("0x"+n,16),lineNumber:pn,lineStart:dn,start:e,end:un}}function S(e){for(var n="0"+cn[un++];un<fn&&a(cn[un]);)n+=cn[un++];return(s(cn.charCodeAt(un))||t(cn.charCodeAt(un)))&&V({},an.UnexpectedToken,"ILLEGAL"),{type:Ze.NumericLiteral,value:parseInt(n,8),octal:!0,lineNumber:pn,lineStart:dn,start:e,end:un}}function E(){var e,n;for(e=un+1;e<fn;++e){if(n=cn[e],"8"===n||"9"===n)return!1;if(!a(n))return!0}return!0}function C(){var e,r,i;if(i=cn[un],n(t(i.charCodeAt(0))||"."===i,"Numeric literal must start with a decimal digit or a decimal point"),r=un,e="","."!==i){if(e=cn[un++],i=cn[un],"0"===e){if("x"===i||"X"===i)return++un,k(r);if(a(i)&&E())return S(r)}for(;t(cn.charCodeAt(un));)e+=cn[un++];i=cn[un]}if("."===i){for(e+=cn[un++];t(cn.charCodeAt(un));)e+=cn[un++];i=cn[un]}if("e"===i||"E"===i)if(e+=cn[un++],i=cn[un],"+"!==i&&"-"!==i||(e+=cn[un++]),t(cn.charCodeAt(un)))for(;t(cn.charCodeAt(un));)e+=cn[un++];else V({},an.UnexpectedToken,"ILLEGAL");return s(cn.charCodeAt(un))&&V({},an.UnexpectedToken,"ILLEGAL"),{type:Ze.NumericLiteral,value:parseFloat(e),lineNumber:pn,lineStart:dn,start:r,end:un}}function I(){var e,t,r,i,s,c,l,u,p="",d=!1;for(l=pn,u=dn,e=cn[un],n("'"===e||'"'===e,"String literal must starts with a quote"),t=un,++un;un<fn;){if(r=cn[un++],r===e){e="";break}if("\\"===r)if(r=cn[un++],r&&o(r.charCodeAt(0)))++pn,"\r"===r&&"\n"===cn[un]&&++un,dn=un;else switch(r){case"u":case"x":c=un,s=y(r),s?p+=s:(un=c,p+=r);break;case"n":p+="\n";break;case"r":p+="\r";break;case"t":p+="\t";break;case"b":p+="\b";break;case"f":p+="\f";break;case"v":p+="\v";break;default:a(r)?(i="01234567".indexOf(r),0!==i&&(d=!0),un<fn&&a(cn[un])&&(d=!0,i=8*i+"01234567".indexOf(cn[un++]),"0123".indexOf(r)>=0&&un<fn&&a(cn[un])&&(i=8*i+"01234567".indexOf(cn[un++]))),p+=String.fromCharCode(i)):p+=r}else{if(o(r.charCodeAt(0)))break;p+=r}}return""!==e&&V({},an.UnexpectedToken,"ILLEGAL"),{type:Ze.StringLiteral,value:p,octal:d,startLineNumber:l,startLineStart:u,lineNumber:pn,lineStart:dn,start:t,end:un}}function A(e,n){var t;try{t=new RegExp(e,n)}catch(e){V({},an.InvalidRegExp)}return t}function j(){var e,t,r,a,i;for(e=cn[un],n("/"===e,"Regular expression literal must start with a slash"),t=cn[un++],r=!1,a=!1;un<fn;)if(e=cn[un++],t+=e,"\\"===e)e=cn[un++],o(e.charCodeAt(0))&&V({},an.UnterminatedRegExp),t+=e;else if(o(e.charCodeAt(0)))V({},an.UnterminatedRegExp);else if(r)"]"===e&&(r=!1);else{if("/"===e){a=!0;break}"["===e&&(r=!0)}return a||V({},an.UnterminatedRegExp),i=t.substr(1,t.length-2),{value:i,literal:t}}function L(){var e,n,t,r;for(n="",t="";un<fn&&(e=cn[un],c(e.charCodeAt(0)));)if(++un,"\\"===e&&un<fn)if(e=cn[un],"u"===e){if(++un,r=un,e=y("u"))for(t+=e,n+="\\u";r<un;++r)n+=cn[r];else un=r,t+="u",n+="\\u";z({},an.UnexpectedToken,"ILLEGAL")}else n+="\\",z({},an.UnexpectedToken,"ILLEGAL");else t+=e,n+=e;return{value:t,literal:n}}function B(){var e,n,t,r;return hn=null,g(),e=un,n=j(),t=L(),r=A(n.value,t.value),yn.tokenize?{type:Ze.RegularExpression,value:r,lineNumber:pn,lineStart:dn,start:e,end:un}:{literal:n.literal+t.literal,value:r,start:e,end:un}}function D(){var e,n,t,r;return g(),e=un,n={start:{line:pn,column:un-dn}},t=B(),n.end={line:pn,column:un-dn},yn.tokenize||(yn.tokens.length>0&&(r=yn.tokens[yn.tokens.length-1],r.range[0]===e&&"Punctuator"===r.type&&("/"!==r.value&&"/="!==r.value||yn.tokens.pop())),yn.tokens.push({type:"RegularExpression",value:t.literal,range:[e,un],loc:n})),t}function R(e){return e.type===Ze.Identifier||e.type===Ze.Keyword||e.type===Ze.BooleanLiteral||e.type===Ze.NullLiteral}function O(){var e,n;if(e=yn.tokens[yn.tokens.length-1],!e)return D();if("Punctuator"===e.type){if("]"===e.value)return w();if(")"===e.value)return n=yn.tokens[yn.openParenToken-1],!n||"Keyword"!==n.type||"if"!==n.value&&"while"!==n.value&&"for"!==n.value&&"with"!==n.value?w():D();if("}"===e.value){if(yn.tokens[yn.openCurlyToken-3]&&"Keyword"===yn.tokens[yn.openCurlyToken-3].type){if(n=yn.tokens[yn.openCurlyToken-4],!n)return w()}else{if(!yn.tokens[yn.openCurlyToken-4]||"Keyword"!==yn.tokens[yn.openCurlyToken-4].type)return w();if(n=yn.tokens[yn.openCurlyToken-5],!n)return D()}return nn.indexOf(n.value)>=0?w():D()}return D()}return"Keyword"===e.type&&"this"!==e.value?D():w()}function N(){var e;return g(),un>=fn?{type:Ze.EOF,lineNumber:pn,lineStart:dn,start:un,end:un}:(e=cn.charCodeAt(un),s(e)?x():40===e||41===e||59===e?w():39===e||34===e?I():46===e?t(cn.charCodeAt(un+1))?C():w():t(e)?C():yn.tokenize&&47===e?O():w())}function P(){var e,n,t;return g(),e={start:{line:pn,column:un-dn}},n=N(),e.end={line:pn,column:un-dn},n.type!==Ze.EOF&&(t=cn.slice(n.start,n.end),yn.tokens.push({type:en[n.type],value:t,range:[n.start,n.end],loc:e})),n}function U(){var e;return e=hn,un=e.end,pn=e.lineNumber,dn=e.lineStart,hn="undefined"!=typeof yn.tokens?P():N(),un=e.end,pn=e.lineNumber,dn=e.lineStart,e}function F(){var e,n,t;e=un,n=pn,t=dn,hn="undefined"!=typeof yn.tokens?P():N(),un=e,pn=n,dn=t}function T(e,n){this.line=e,this.column=n}function M(e,n,t,r){this.start=new T(e,n),this.end=new T(t,r)}function _(){var e,n,t,r;return e=un,n=pn,t=dn,g(),r=pn!==n,un=e,pn=n,dn=t,r}function V(e,t){var r,a=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,function(e,t){return n(t<a.length,"Message reference must be in range"),a[t]});throw"number"==typeof e.lineNumber?(r=new Error("Line "+e.lineNumber+": "+i),r.index=e.start,r.lineNumber=e.lineNumber,r.column=e.start-dn+1):(r=new Error("Line "+pn+": "+i),r.index=un,r.lineNumber=pn,r.column=un-dn+1),r.description=i,r}function z(){try{V.apply(null,arguments)}catch(e){if(!yn.errors)throw e;yn.errors.push(e)}}function G(e){if(e.type===Ze.EOF&&V(e,an.UnexpectedEOS),e.type===Ze.NumericLiteral&&V(e,an.UnexpectedNumber),e.type===Ze.StringLiteral&&V(e,an.UnexpectedString),e.type===Ze.Identifier&&V(e,an.UnexpectedIdentifier),e.type===Ze.Keyword){if(l(e.value))V(e,an.UnexpectedReserved);else if(ln&&u(e.value))return void z(e,an.StrictReservedWord);V(e,an.UnexpectedToken,e.value)}V(e,an.UnexpectedToken,e.value)}function W(e){var n=U();n.type===Ze.Punctuator&&n.value===e||G(n)}function H(e){var n=U();n.type===Ze.Keyword&&n.value===e||G(n)}function K(e){return hn.type===Ze.Punctuator&&hn.value===e}function $(e){return hn.type===Ze.Keyword&&hn.value===e}function q(){var e;return hn.type===Ze.Punctuator&&(e=hn.value,"="===e||"*="===e||"/="===e||"%="===e||"+="===e||"-="===e||"<<="===e||">>="===e||">>>="===e||"&="===e||"^="===e||"|="===e)}function Y(){var e,n=un,t=pn,r=dn,a=hn;return 59===cn.charCodeAt(un)||K(";")?void U():(e=pn,g(),pn!==e?(un=n,pn=t,dn=r,void(hn=a)):void(hn.type===Ze.EOF||K("}")||G(hn)))}function J(e){return e.type===tn.Identifier||e.type===tn.MemberExpression}function X(){var e,n=[];for(e=hn,W("[");!K("]");)K(",")?(U(),n.push(null)):(n.push(ge()),K("]")||W(","));return U(),mn.markEnd(mn.createArrayExpression(n),e)}function Q(e,n){var t,r,a;return t=ln,a=hn,r=Ge(),n&&ln&&p(e[0].name)&&z(n,an.StrictParamName),ln=t,mn.markEnd(mn.createFunctionExpression(null,e,[],r),a)}function Z(){var e,n;return n=hn,e=U(),e.type===Ze.StringLiteral||e.type===Ze.NumericLiteral?(ln&&e.octal&&z(e,an.StrictOctalLiteral),mn.markEnd(mn.createLiteral(e),n)):mn.markEnd(mn.createIdentifier(e.value),n)}function ee(){var e,n,t,r,a,i;return e=hn,i=hn,e.type===Ze.Identifier?(t=Z(),"get"!==e.value||K(":")?"set"!==e.value||K(":")?(W(":"),r=ge(),mn.markEnd(mn.createProperty("init",t,r),i)):(n=Z(),W("("),e=hn,e.type!==Ze.Identifier?(W(")"),z(e,an.UnexpectedToken,e.value),r=Q([])):(a=[xe()],W(")"),r=Q(a,e)),mn.markEnd(mn.createProperty("set",n,r),i)):(n=Z(),W("("),W(")"),r=Q([]),mn.markEnd(mn.createProperty("get",n,r),i))):e.type!==Ze.EOF&&e.type!==Ze.Punctuator?(n=Z(),W(":"),r=ge(),mn.markEnd(mn.createProperty("init",n,r),i)):void G(e)}function ne(){var e,n,t,r,a,i=[],o={},s=String;for(a=hn,W("{");!K("}");)e=ee(),n=e.key.type===tn.Identifier?e.key.name:s(e.key.value),r="init"===e.kind?rn.Data:"get"===e.kind?rn.Get:rn.Set,t="$"+n,Object.prototype.hasOwnProperty.call(o,t)?(o[t]===rn.Data?ln&&r===rn.Data?z({},an.StrictDuplicateProperty):r!==rn.Data&&z({},an.AccessorDataProperty):r===rn.Data?z({},an.AccessorDataProperty):o[t]&r&&z({},an.AccessorGetSet),o[t]|=r):o[t]=r,i.push(e),K("}")||W(",");return W("}"),mn.markEnd(mn.createObjectExpression(i),a)}function te(){var e;return W("("),e=ye(),W(")"),e}function re(){var e,n,t,r;if(K("("))return te();if(K("["))return X();if(K("{"))return ne();if(e=hn.type,r=hn,e===Ze.Identifier)t=mn.createIdentifier(U().value);else if(e===Ze.StringLiteral||e===Ze.NumericLiteral)ln&&hn.octal&&z(hn,an.StrictOctalLiteral),t=mn.createLiteral(U());else if(e===Ze.Keyword){if($("function"))return Ke();$("this")?(U(),t=mn.createThisExpression()):G(U())}else e===Ze.BooleanLiteral?(n=U(),n.value="true"===n.value,t=mn.createLiteral(n)):e===Ze.NullLiteral?(n=U(),n.value=null,t=mn.createLiteral(n)):K("/")||K("/=")?(t="undefined"!=typeof yn.tokens?mn.createLiteral(D()):mn.createLiteral(B()),F()):G(U());return mn.markEnd(t,r)}function ae(){var e=[];if(W("("),!K(")"))for(;un<fn&&(e.push(ge()),!K(")"));)W(",");return W(")"),e}function ie(){var e,n;return n=hn,e=U(),R(e)||G(e),mn.markEnd(mn.createIdentifier(e.value),n)}function oe(){return W("."),ie()}function se(){var e;return W("["),e=ye(),W("]"),e}function ce(){var e,n,t;return t=hn,H("new"),e=ue(),n=K("(")?ae():[],mn.markEnd(mn.createNewExpression(e,n),t)}function le(){var e,n,t,r,a=gn.allowIn;for(r=hn,gn.allowIn=!0,e=$("new")?ce():re();;){if(K("."))t=oe(),e=mn.createMemberExpression(".",e,t);else if(K("("))n=ae(),e=mn.createCallExpression(e,n);else{if(!K("["))break;t=se(),e=mn.createMemberExpression("[",e,t)}mn.markEnd(e,r)}return gn.allowIn=a,e}function ue(){var e,t,r;for(n(gn.allowIn,"callee of new expression always allow in keyword."),r=hn,e=$("new")?ce():re();K(".")||K("[");)K("[")?(t=se(),e=mn.createMemberExpression("[",e,t)):(t=oe(),e=mn.createMemberExpression(".",e,t)),mn.markEnd(e,r);return e}function pe(){var e,n,t=hn;return e=le(),hn.type===Ze.Punctuator&&(!K("++")&&!K("--")||_()||(ln&&e.type===tn.Identifier&&p(e.name)&&z({},an.StrictLHSPostfix),J(e)||z({},an.InvalidLHSInAssignment),n=U(),e=mn.markEnd(mn.createPostfixExpression(n.value,e),t))),e}function de(){var e,n,t;return hn.type!==Ze.Punctuator&&hn.type!==Ze.Keyword?n=pe():K("++")||K("--")?(t=hn,e=U(),n=de(),ln&&n.type===tn.Identifier&&p(n.name)&&z({},an.StrictLHSPrefix),J(n)||z({},an.InvalidLHSInAssignment),n=mn.createUnaryExpression(e.value,n),n=mn.markEnd(n,t)):K("+")||K("-")||K("~")||K("!")?(t=hn,e=U(),n=de(),n=mn.createUnaryExpression(e.value,n),n=mn.markEnd(n,t)):$("delete")||$("void")||$("typeof")?(t=hn,e=U(),n=de(),n=mn.createUnaryExpression(e.value,n),n=mn.markEnd(n,t),ln&&"delete"===n.operator&&n.argument.type===tn.Identifier&&z({},an.StrictDelete)):n=pe(),n}function fe(e,n){var t=0;if(e.type!==Ze.Punctuator&&e.type!==Ze.Keyword)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":t=7;break;case"in":t=n?7:0;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function me(){var e,n,t,r,a,i,o,s,c,l;if(e=hn,c=de(),r=hn,a=fe(r,gn.allowIn),0===a)return c;for(r.prec=a,U(),n=[e,hn],o=de(),i=[c,r,o];(a=fe(hn,gn.allowIn))>0;){for(;i.length>2&&a<=i[i.length-2].prec;)o=i.pop(),s=i.pop().value,c=i.pop(),t=mn.createBinaryExpression(s,c,o),n.pop(),e=n[n.length-1],mn.markEnd(t,e),i.push(t);r=U(),r.prec=a,i.push(r),n.push(hn),t=de(),i.push(t)}for(l=i.length-1,t=i[l],n.pop();l>1;)t=mn.createBinaryExpression(i[l-1].value,i[l-2],t),l-=2,e=n.pop(),mn.markEnd(t,e);return t}function he(){var e,n,t,r,a;return a=hn,e=me(),K("?")&&(U(),n=gn.allowIn,gn.allowIn=!0,t=ge(),gn.allowIn=n,W(":"),r=ge(),e=mn.createConditionalExpression(e,t,r),mn.markEnd(e,a)),e}function ge(){var e,n,t,r,a;return e=hn,a=hn,r=n=he(),q()&&(J(n)||z({},an.InvalidLHSInAssignment),ln&&n.type===tn.Identifier&&p(n.name)&&z(e,an.StrictLHSAssignment),e=U(),t=ge(),r=mn.markEnd(mn.createAssignmentExpression(e.value,n,t),a)),r}function ye(){var e,n=hn;if(e=ge(),K(",")){for(e=mn.createSequenceExpression([e]);un<fn&&K(",");)U(),e.expressions.push(ge());mn.markEnd(e,n)}return e}function ve(){for(var e,n=[];un<fn&&!K("}")&&(e=$e(),"undefined"!=typeof e);)n.push(e);return n}function be(){var e,n;return n=hn,W("{"),e=ve(),W("}"),mn.markEnd(mn.createBlockStatement(e),n)}function xe(){var e,n;return n=hn,e=U(),e.type!==Ze.Identifier&&G(e),mn.markEnd(mn.createIdentifier(e.value),n)}function we(e){var n,t,r=null;return t=hn,n=xe(),ln&&p(n.name)&&z({},an.StrictVarName),"const"===e?(W("="),r=ge()):K("=")&&(U(),r=ge()),mn.markEnd(mn.createVariableDeclarator(n,r),t)}function ke(e){var n=[];do{if(n.push(we(e)),!K(","))break;U()}while(un<fn);return n}function Se(){var e;return H("var"),e=ke(),Y(),mn.createVariableDeclaration(e,"var")}function Ee(e){var n,t;return t=hn,H(e),n=ke(e),Y(),mn.markEnd(mn.createVariableDeclaration(n,e),t)}function Ce(){return W(";"),mn.createEmptyStatement()}function Ie(){var e=ye();return Y(),mn.createExpressionStatement(e)}function Ae(){var e,n,t;return H("if"),W("("),e=ye(),W(")"),n=ze(),$("else")?(U(),t=ze()):t=null,mn.createIfStatement(e,n,t)}function je(){var e,n,t;return H("do"),t=gn.inIteration,gn.inIteration=!0,e=ze(),gn.inIteration=t,H("while"),W("("),n=ye(),W(")"),K(";")&&U(),mn.createDoWhileStatement(e,n)}function Le(){var e,n,t;return H("while"),W("("),e=ye(),W(")"),t=gn.inIteration,gn.inIteration=!0,n=ze(),gn.inIteration=t,mn.createWhileStatement(e,n)}function Be(){var e,n,t;return t=hn,e=U(),n=ke(),mn.markEnd(mn.createVariableDeclaration(n,e.value),t)}function De(){var e,n,t,r,a,i,o,s=gn.allowIn;return e=n=t=null,H("for"),W("("),K(";")?U():($("var")||$("let")?(gn.allowIn=!1,e=Be(),gn.allowIn=s,1===e.declarations.length&&$("in")&&(U(),r=e,a=ye(),e=null)):(gn.allowIn=!1,e=ye(),gn.allowIn=s,$("in")&&(J(e)||z({},an.InvalidLHSInForIn),U(),r=e,a=ye(),e=null)),"undefined"==typeof r&&W(";")),"undefined"==typeof r&&(K(";")||(n=ye()),W(";"),K(")")||(t=ye())),W(")"),o=gn.inIteration,gn.inIteration=!0,i=ze(),gn.inIteration=o,"undefined"==typeof r?mn.createForStatement(e,n,t,i):mn.createForInStatement(r,a,i)}function Re(){var e,n=null;return H("continue"),59===cn.charCodeAt(un)?(U(),gn.inIteration||V({},an.IllegalContinue),mn.createContinueStatement(null)):_()?(gn.inIteration||V({},an.IllegalContinue),mn.createContinueStatement(null)):(hn.type===Ze.Identifier&&(n=xe(),e="$"+n.name,Object.prototype.hasOwnProperty.call(gn.labelSet,e)||V({},an.UnknownLabel,n.name)),Y(),null!==n||gn.inIteration||V({},an.IllegalContinue),mn.createContinueStatement(n))}function Oe(){var e,n=null;return H("break"),59===cn.charCodeAt(un)?(U(),gn.inIteration||gn.inSwitch||V({},an.IllegalBreak),mn.createBreakStatement(null)):_()?(gn.inIteration||gn.inSwitch||V({},an.IllegalBreak),mn.createBreakStatement(null)):(hn.type===Ze.Identifier&&(n=xe(),e="$"+n.name,Object.prototype.hasOwnProperty.call(gn.labelSet,e)||V({},an.UnknownLabel,n.name)),Y(),null!==n||gn.inIteration||gn.inSwitch||V({},an.IllegalBreak),mn.createBreakStatement(n))}function Ne(){var e=null;return H("return"),gn.inFunctionBody||z({},an.IllegalReturn),32===cn.charCodeAt(un)&&s(cn.charCodeAt(un+1))?(e=ye(),Y(),mn.createReturnStatement(e)):_()?mn.createReturnStatement(null):(K(";")||K("}")||hn.type===Ze.EOF||(e=ye()),Y(),mn.createReturnStatement(e))}function Pe(){var e,n;return ln&&(g(),z({},an.StrictModeWith)),H("with"),W("("),e=ye(),W(")"),n=ze(),mn.createWithStatement(e,n)}function Ue(){var e,n,t,r=[];for(t=hn,$("default")?(U(),e=null):(H("case"),e=ye()),W(":");un<fn&&!(K("}")||$("default")||$("case"));)n=ze(),r.push(n);return mn.markEnd(mn.createSwitchCase(e,r),t)}function Fe(){var e,n,t,r,a;if(H("switch"),W("("),e=ye(),W(")"),W("{"),n=[],K("}"))return U(),mn.createSwitchStatement(e,n);for(r=gn.inSwitch,gn.inSwitch=!0,a=!1;un<fn&&!K("}");)t=Ue(),null===t.test&&(a&&V({},an.MultipleDefaultsInSwitch),a=!0),n.push(t);return gn.inSwitch=r,W("}"),mn.createSwitchStatement(e,n)}function Te(){var e;return H("throw"),_()&&V({},an.NewlineAfterThrow),e=ye(),Y(),mn.createThrowStatement(e)}function Me(){var e,n,t;return t=hn,H("catch"),W("("),K(")")&&G(hn),e=xe(),ln&&p(e.name)&&z({},an.StrictCatchVariable),W(")"),n=be(),mn.markEnd(mn.createCatchClause(e,n),t)}function _e(){var e,n=[],t=null;return H("try"),e=be(),$("catch")&&n.push(Me()),$("finally")&&(U(),t=be()),0!==n.length||t||V({},an.NoCatchOrFinally),mn.createTryStatement(e,[],n,t)}function Ve(){return H("debugger"),Y(),mn.createDebuggerStatement()}function ze(){var e,n,t,r,a=hn.type;if(a===Ze.EOF&&G(hn),a===Ze.Punctuator&&"{"===hn.value)return be();if(r=hn,a===Ze.Punctuator)switch(hn.value){case";":return mn.markEnd(Ce(),r);case"(":return mn.markEnd(Ie(),r)}if(a===Ze.Keyword)switch(hn.value){case"break":return mn.markEnd(Oe(),r);case"continue":return mn.markEnd(Re(),r);case"debugger":return mn.markEnd(Ve(),r);case"do":return mn.markEnd(je(),r);case"for":return mn.markEnd(De(),r);case"function":return mn.markEnd(He(),r);case"if":return mn.markEnd(Ae(),r);case"return":return mn.markEnd(Ne(),r);case"switch":return mn.markEnd(Fe(),r);case"throw":return mn.markEnd(Te(),r);case"try":return mn.markEnd(_e(),r);case"var":return mn.markEnd(Se(),r);case"while":return mn.markEnd(Le(),r);case"with":return mn.markEnd(Pe(),r)}return e=ye(),e.type===tn.Identifier&&K(":")?(U(),t="$"+e.name,Object.prototype.hasOwnProperty.call(gn.labelSet,t)&&V({},an.Redeclaration,"Label",e.name),gn.labelSet[t]=!0,n=ze(),delete gn.labelSet[t],mn.markEnd(mn.createLabeledStatement(e,n),r)):(Y(),mn.markEnd(mn.createExpressionStatement(e),r))}function Ge(){
var e,n,t,r,a,i,o,s,c,l=[];for(c=hn,W("{");un<fn&&hn.type===Ze.StringLiteral&&(n=hn,e=$e(),l.push(e),e.expression.type===tn.Literal);)t=cn.slice(n.start+1,n.end-1),"use strict"===t?(ln=!0,r&&z(r,an.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(a=gn.labelSet,i=gn.inIteration,o=gn.inSwitch,s=gn.inFunctionBody,gn.labelSet={},gn.inIteration=!1,gn.inSwitch=!1,gn.inFunctionBody=!0;un<fn&&!K("}")&&(e=$e(),"undefined"!=typeof e);)l.push(e);return W("}"),gn.labelSet=a,gn.inIteration=i,gn.inSwitch=o,gn.inFunctionBody=s,mn.markEnd(mn.createBlockStatement(l),c)}function We(e){var n,t,r,a,i,o,s=[];if(W("("),!K(")"))for(a={};un<fn&&(t=hn,n=xe(),i="$"+t.value,ln?(p(t.value)&&(r=t,o=an.StrictParamName),Object.prototype.hasOwnProperty.call(a,i)&&(r=t,o=an.StrictParamDupe)):e||(p(t.value)?(e=t,o=an.StrictParamName):u(t.value)?(e=t,o=an.StrictReservedWord):Object.prototype.hasOwnProperty.call(a,i)&&(e=t,o=an.StrictParamDupe)),s.push(n),a[i]=!0,!K(")"));)W(",");return W(")"),{params:s,stricted:r,firstRestricted:e,message:o}}function He(){var e,n,t,r,a,i,o,s,c,l=[];return c=hn,H("function"),t=hn,e=xe(),ln?p(t.value)&&z(t,an.StrictFunctionName):p(t.value)?(i=t,o=an.StrictFunctionName):u(t.value)&&(i=t,o=an.StrictReservedWord),a=We(i),l=a.params,r=a.stricted,i=a.firstRestricted,a.message&&(o=a.message),s=ln,n=Ge(),ln&&i&&V(i,o),ln&&r&&z(r,o),ln=s,mn.markEnd(mn.createFunctionDeclaration(e,l,[],n),c)}function Ke(){var e,n,t,r,a,i,o,s,c=null,l=[];return s=hn,H("function"),K("(")||(e=hn,c=xe(),ln?p(e.value)&&z(e,an.StrictFunctionName):p(e.value)?(t=e,r=an.StrictFunctionName):u(e.value)&&(t=e,r=an.StrictReservedWord)),a=We(t),l=a.params,n=a.stricted,t=a.firstRestricted,a.message&&(r=a.message),o=ln,i=Ge(),ln&&t&&V(t,r),ln&&n&&z(n,r),ln=o,mn.markEnd(mn.createFunctionExpression(c,l,[],i),s)}function $e(){if(hn.type===Ze.Keyword)switch(hn.value){case"const":case"let":return Ee(hn.value);case"function":return He();default:return ze()}if(hn.type!==Ze.EOF)return ze()}function qe(){for(var e,n,t,r,a=[];un<fn&&(n=hn,n.type===Ze.StringLiteral)&&(e=$e(),a.push(e),e.expression.type===tn.Literal);)t=cn.slice(n.start+1,n.end-1),"use strict"===t?(ln=!0,r&&z(r,an.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(;un<fn&&(e=$e(),"undefined"!=typeof e);)a.push(e);return a}function Ye(){var e,n;return g(),F(),n=hn,ln=!1,e=qe(),mn.markEnd(mn.createProgram(e),n)}function Je(){var e,n,t,r=[];for(e=0;e<yn.tokens.length;++e)n=yn.tokens[e],t={type:n.type,value:n.value},yn.range&&(t.range=n.range),yn.loc&&(t.loc=n.loc),r.push(t);yn.tokens=r}function Xe(e,n){var t,r,a;t=String,"string"==typeof e||e instanceof String||(e=t(e)),mn=sn,cn=e,un=0,pn=cn.length>0?1:0,dn=0,fn=cn.length,hn=null,gn={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},yn={},n=n||{},n.tokens=!0,yn.tokens=[],yn.tokenize=!0,yn.openParenToken=-1,yn.openCurlyToken=-1,yn.range="boolean"==typeof n.range&&n.range,yn.loc="boolean"==typeof n.loc&&n.loc,"boolean"==typeof n.comment&&n.comment&&(yn.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(yn.errors=[]);try{if(F(),hn.type===Ze.EOF)return yn.tokens;for(r=U();hn.type!==Ze.EOF;)try{r=U()}catch(e){if(r=hn,yn.errors){yn.errors.push(e);break}throw e}Je(),a=yn.tokens,"undefined"!=typeof yn.comments&&(a.comments=yn.comments),"undefined"!=typeof yn.errors&&(a.errors=yn.errors)}catch(e){throw e}finally{yn={}}return a}function Qe(e,n){var t,r;r=String,"string"==typeof e||e instanceof String||(e=r(e)),mn=sn,cn=e,un=0,pn=cn.length>0?1:0,dn=0,fn=cn.length,hn=null,gn={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},yn={},"undefined"!=typeof n&&(yn.range="boolean"==typeof n.range&&n.range,yn.loc="boolean"==typeof n.loc&&n.loc,yn.attachComment="boolean"==typeof n.attachComment&&n.attachComment,yn.loc&&null!==n.source&&void 0!==n.source&&(yn.source=r(n.source)),"boolean"==typeof n.tokens&&n.tokens&&(yn.tokens=[]),"boolean"==typeof n.comment&&n.comment&&(yn.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(yn.errors=[]),yn.attachComment&&(yn.range=!0,yn.comments=[],yn.bottomRightStack=[],yn.trailingComments=[],yn.leadingComments=[]));try{t=Ye(),"undefined"!=typeof yn.comments&&(t.comments=yn.comments),"undefined"!=typeof yn.tokens&&(Je(),t.tokens=yn.tokens),"undefined"!=typeof yn.errors&&(t.errors=yn.errors)}catch(e){throw e}finally{yn={}}return t}var Ze,en,nn,tn,rn,an,on,sn,cn,ln,un,pn,dn,fn,mn,hn,gn,yn;Ze={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9},en={},en[Ze.BooleanLiteral]="Boolean",en[Ze.EOF]="<end>",en[Ze.Identifier]="Identifier",en[Ze.Keyword]="Keyword",en[Ze.NullLiteral]="Null",en[Ze.NumericLiteral]="Numeric",en[Ze.Punctuator]="Punctuator",en[Ze.StringLiteral]="String",en[Ze.RegularExpression]="RegularExpression",nn=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="],tn={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},rn={Data:1,Get:2,Set:4},an={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},on={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},sn={name:"SyntaxTree",processComment:function(e){var n,t;if(!(e.type===tn.Program&&e.body.length>0)){for(yn.trailingComments.length>0?yn.trailingComments[0].range[0]>=e.range[1]?(t=yn.trailingComments,yn.trailingComments=[]):yn.trailingComments.length=0:yn.bottomRightStack.length>0&&yn.bottomRightStack[yn.bottomRightStack.length-1].trailingComments&&yn.bottomRightStack[yn.bottomRightStack.length-1].trailingComments[0].range[0]>=e.range[1]&&(t=yn.bottomRightStack[yn.bottomRightStack.length-1].trailingComments,delete yn.bottomRightStack[yn.bottomRightStack.length-1].trailingComments);yn.bottomRightStack.length>0&&yn.bottomRightStack[yn.bottomRightStack.length-1].range[0]>=e.range[0];)n=yn.bottomRightStack.pop();n?n.leadingComments&&n.leadingComments[n.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=n.leadingComments,delete n.leadingComments):yn.leadingComments.length>0&&yn.leadingComments[yn.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=yn.leadingComments,yn.leadingComments=[]),t&&(e.trailingComments=t),yn.bottomRightStack.push(e)}},markEnd:function(e,n){return yn.range&&(e.range=[n.start,un]),yn.loc&&(e.loc=new M(void 0===n.startLineNumber?n.lineNumber:n.startLineNumber,n.start-(void 0===n.startLineStart?n.lineStart:n.startLineStart),pn,un-dn),this.postProcess(e)),yn.attachComment&&this.processComment(e),e},postProcess:function(e){return yn.source&&(e.loc.source=yn.source),e},createArrayExpression:function(e){return{type:tn.ArrayExpression,elements:e}},createAssignmentExpression:function(e,n,t){return{type:tn.AssignmentExpression,operator:e,left:n,right:t}},createBinaryExpression:function(e,n,t){var r="||"===e||"&&"===e?tn.LogicalExpression:tn.BinaryExpression;return{type:r,operator:e,left:n,right:t}},createBlockStatement:function(e){return{type:tn.BlockStatement,body:e}},createBreakStatement:function(e){return{type:tn.BreakStatement,label:e}},createCallExpression:function(e,n){return{type:tn.CallExpression,callee:e,arguments:n}},createCatchClause:function(e,n){return{type:tn.CatchClause,param:e,body:n}},createConditionalExpression:function(e,n,t){return{type:tn.ConditionalExpression,test:e,consequent:n,alternate:t}},createContinueStatement:function(e){return{type:tn.ContinueStatement,label:e}},createDebuggerStatement:function(){return{type:tn.DebuggerStatement}},createDoWhileStatement:function(e,n){return{type:tn.DoWhileStatement,body:e,test:n}},createEmptyStatement:function(){return{type:tn.EmptyStatement}},createExpressionStatement:function(e){return{type:tn.ExpressionStatement,expression:e}},createForStatement:function(e,n,t,r){return{type:tn.ForStatement,init:e,test:n,update:t,body:r}},createForInStatement:function(e,n,t){return{type:tn.ForInStatement,left:e,right:n,body:t,each:!1}},createFunctionDeclaration:function(e,n,t,r){return{type:tn.FunctionDeclaration,id:e,params:n,defaults:t,body:r,rest:null,generator:!1,expression:!1}},createFunctionExpression:function(e,n,t,r){return{type:tn.FunctionExpression,id:e,params:n,defaults:t,body:r,rest:null,generator:!1,expression:!1}},createIdentifier:function(e){return{type:tn.Identifier,name:e}},createIfStatement:function(e,n,t){return{type:tn.IfStatement,test:e,consequent:n,alternate:t}},createLabeledStatement:function(e,n){return{type:tn.LabeledStatement,label:e,body:n}},createLiteral:function(e){return{type:tn.Literal,value:e.value,raw:cn.slice(e.start,e.end)}},createMemberExpression:function(e,n,t){return{type:tn.MemberExpression,computed:"["===e,object:n,property:t}},createNewExpression:function(e,n){return{type:tn.NewExpression,callee:e,arguments:n}},createObjectExpression:function(e){return{type:tn.ObjectExpression,properties:e}},createPostfixExpression:function(e,n){return{type:tn.UpdateExpression,operator:e,argument:n,prefix:!1}},createProgram:function(e){return{type:tn.Program,body:e}},createProperty:function(e,n,t){return{type:tn.Property,key:n,value:t,kind:e}},createReturnStatement:function(e){return{type:tn.ReturnStatement,argument:e}},createSequenceExpression:function(e){return{type:tn.SequenceExpression,expressions:e}},createSwitchCase:function(e,n){return{type:tn.SwitchCase,test:e,consequent:n}},createSwitchStatement:function(e,n){return{type:tn.SwitchStatement,discriminant:e,cases:n}},createThisExpression:function(){return{type:tn.ThisExpression}},createThrowStatement:function(e){return{type:tn.ThrowStatement,argument:e}},createTryStatement:function(e,n,t,r){return{type:tn.TryStatement,block:e,guardedHandlers:n,handlers:t,finalizer:r}},createUnaryExpression:function(e,n){return"++"===e||"--"===e?{type:tn.UpdateExpression,operator:e,argument:n,prefix:!0}:{type:tn.UnaryExpression,operator:e,argument:n,prefix:!0}},createVariableDeclaration:function(e,n){return{type:tn.VariableDeclaration,declarations:e,kind:n}},createVariableDeclarator:function(e,n){return{type:tn.VariableDeclarator,id:e,init:n}},createWhileStatement:function(e,n){return{type:tn.WhileStatement,test:e,body:n}},createWithStatement:function(e,n){return{type:tn.WithStatement,object:e,body:n}}},e.version="1.2.5",e.tokenize=Xe,e.parse=Qe,e.Syntax=function(){var e,n={};"function"==typeof Object.create&&(n=Object.create(null));for(e in tn)tn.hasOwnProperty(e)&&(n[e]=tn[e]);return"function"==typeof Object.freeze&&Object.freeze(n),n}()})},function(e,n,t){var r=t(3),a=r.Symbol;e.exports=a},function(e,n){function t(e,n){for(var t=-1,r=n.length,a=e.length;++t<r;)e[a+t]=n[t];return e}e.exports=t},function(e,n,t){function r(e,n,t,o,s){var c=-1,l=e.length;for(t||(t=i),s||(s=[]);++c<l;){var u=e[c];n>0&&t(u)?n>1?r(u,n-1,t,o,s):a(s,u):o||(s[s.length]=u)}return s}var a=t(26),i=t(32);e.exports=r},function(e,n){function t(e,n,t,i){for(var o=-1,s=a(r((n-e)/(t||1)),0),c=Array(s);s--;)c[i?s:++o]=e,e+=t;return c}var r=Math.ceil,a=Math.max;e.exports=t},function(e,n){function t(e,n){for(var t,r=-1,a=e.length;++r<a;){var i=n(e[r]);void 0!==i&&(t=void 0===t?i:t+i)}return t}e.exports=t},function(e,n,t){function r(e){return function(n,t,r){return r&&"number"!=typeof r&&i(n,t,r)&&(t=r=void 0),n=o(n),void 0===t?(t=n,n=0):t=o(t),r=void 0===r?n<t?1:-1:o(r),a(n,t,r,e)}}var a=t(28),i=t(34),o=t(48);e.exports=r},function(e,n,t){(function(n){var t="object"==typeof n&&n&&n.Object===Object&&n;e.exports=t}).call(n,t(8))},function(e,n,t){function r(e){return o(e)||i(e)||!!(s&&e&&e[s])}var a=t(25),i=t(39),o=t(40),s=a?a.isConcatSpreadable:void 0;e.exports=r},function(e,n){function t(e,n){return n=null==n?r:n,!!n&&("number"==typeof e||a.test(e))&&e>-1&&e%1==0&&e<n}var r=9007199254740991,a=/^(?:0|[1-9]\d*)$/;e.exports=t},function(e,n,t){function r(e,n,t){if(!s(t))return!1;var r=typeof n;return!!("number"==r?i(t)&&o(n,t.length):"string"==r&&n in t)&&a(t[n],e)}var a=t(36),i=t(4),o=t(33),s=t(1);e.exports=r},function(e,n,t){function r(e,n,t){function r(n){var t=v,r=b;return v=b=void 0,E=n,w=e.apply(r,t)}function u(e){return E=e,k=setTimeout(f,n),C?r(e):w}function p(e){var t=e-S,r=e-E,a=n-t;return I?l(a,x-r):a}function d(e){var t=e-S,r=e-E;return void 0===S||t>=n||t<0||I&&r>=x}function f(){var e=i();return d(e)?m(e):void(k=setTimeout(f,p(e)))}function m(e){return k=void 0,A&&v?r(e):(v=b=void 0,w)}function h(){void 0!==k&&clearTimeout(k),E=0,v=S=b=k=void 0}function g(){return void 0===k?w:m(i())}function y(){var e=i(),t=d(e);if(v=arguments,b=this,S=e,t){if(void 0===k)return u(S);if(I)return k=setTimeout(f,n),r(S)}return void 0===k&&(k=setTimeout(f,n)),w}var v,b,x,w,k,S,E=0,C=!1,I=!1,A=!0;if("function"!=typeof e)throw new TypeError(s);return n=o(n)||0,a(t)&&(C=!!t.leading,I="maxWait"in t,x=I?c(o(t.maxWait)||0,n):x,A="trailing"in t?!!t.trailing:A),y.cancel=h,y.flush=g,y}var a=t(1),i=t(45),o=t(6),s="Expected a function",c=Math.max,l=Math.min;e.exports=r},function(e,n){function t(e,n){return e===n||e!==e&&n!==n}e.exports=t},function(e,n,t){function r(e){var n=e?e.length:0;return n?a(e,1):[]}var a=t(27);e.exports=r},function(e,n){function t(e){return e}e.exports=t},function(e,n,t){function r(e){return a(e)&&s.call(e,"callee")&&(!l.call(e,"callee")||c.call(e)==i)}var a=t(41),i="[object Arguments]",o=Object.prototype,s=o.hasOwnProperty,c=o.toString,l=o.propertyIsEnumerable;e.exports=r},function(e,n){var t=Array.isArray;e.exports=t},function(e,n,t){function r(e){return i(e)&&a(e)}var a=t(4),i=t(5);e.exports=r},function(e,n,t){function r(e){var n=a(e)?c.call(e):"";return n==i||n==o}var a=t(1),i="[object Function]",o="[object GeneratorFunction]",s=Object.prototype,c=s.toString;e.exports=r},function(e,n){function t(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=t},function(e,n,t){function r(e){return"symbol"==typeof e||a(e)&&s.call(e)==i}var a=t(5),i="[object Symbol]",o=Object.prototype,s=o.toString;e.exports=r},function(e,n,t){var r=t(3),a=function(){return r.Date.now()};e.exports=a},function(e,n,t){var r=t(30),a=r();e.exports=a},function(e,n,t){function r(e){return e&&e.length?a(e,i):0}var a=t(29),i=t(38);e.exports=r},function(e,n,t){function r(e){if(!e)return 0===e?e:0;if(e=a(e),e===i||e===-i){var n=e<0?-1:1;return n*o}return e===e?e:0}var a=t(6),i=1/0,o=1.7976931348623157e308;e.exports=r},function(e,n,t){"use strict";var r=t(23),a=t(22),i=a({args:["array","scalar","index"],body:function(e,n,t){var r,a=n;for(r=0;r<t.length-1;++r)a=a[t[r]];a[t[t.length-1]]=e}});e.exports=function(e){var n=r(e.shape);return i(e,n),n}},function(e,n,t){var r=t(14);"string"==typeof r&&(r=[[e.i,r,""]]);t(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,n,t){var r=t(15);"string"==typeof r&&(r=[[e.i,r,""]]);t(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,n,t){var r=t(16);"string"==typeof r&&(r=[[e.i,r,""]]);t(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,n,t){var r=t(17);"string"==typeof r&&(r=[[e.i,r,""]]);t(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,n,t){e.exports=t(9)}]);