From 76984c69c830c21a6180fa5feecbc3a6a6a70a57 Mon Sep 17 00:00:00 2001 From: hasnainroopawalla Date: Sat, 12 Aug 2023 13:50:08 +0200 Subject: [PATCH] CI update --- .github/workflows/ci.yml | 34 ++ .github/workflows/pull-request.yml | 11 +- .github/workflows/{deploy.yml => release.yml} | 20 +- .gitignore | 3 +- build/bundle.js | 153 -------- package-lock.json | 332 +++++++++++++++++- package.json | 3 +- {build => public}/index.html | 0 src/world.ts | 8 +- webpack.config.js | 12 +- 10 files changed, 400 insertions(+), 176 deletions(-) create mode 100644 .github/workflows/ci.yml rename .github/workflows/{deploy.yml => release.yml} (60%) delete mode 100644 build/bundle.js rename {build => public}/index.html (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b28dd4d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI +on: + push: + branches: + - master + +permissions: + contents: write + +jobs: + build-test-bump-version: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: "18.x" + - name: Install dependencies + run: npm install + - name: Build package + run: npm run build + - name: Run tests + run: npm test + - name: Automated version bump + uses: "phips28/gh-action-bump-version@master" + env: + GITHUB_TOKEN: ${{ secrets.DEPLOY_TOKEN }} + with: + major-wording: "major,Major" + minor-wording: "minor,Minor" + patch-wording: "patch,bug,Patch,Bug" + commit-message: "CI: bump version to {{version}}" diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 3115ca9..07e8c7c 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -1,4 +1,4 @@ -name: Pull Request Build +name: Pull Request on: pull_request: branches: [master] @@ -13,6 +13,9 @@ jobs: uses: actions/setup-node@v3 with: node-version: "18.x" - - run: npm install - - run: npm run build - - run: npm test + - name: Install dependencies + run: npm install + - name: Build package + run: npm run build + - name: Run tests + run: npm test diff --git a/.github/workflows/deploy.yml b/.github/workflows/release.yml similarity index 60% rename from .github/workflows/deploy.yml rename to .github/workflows/release.yml index 3107c77..2d0de01 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/release.yml @@ -1,11 +1,10 @@ -name: Deploy +name: Release on: - push: - branches: - - master + release: + types: [published] jobs: - build-test-deploy: + build-test-release: runs-on: ubuntu-latest steps: - name: Checkout @@ -14,10 +13,13 @@ jobs: uses: actions/setup-node@v3 with: node-version: "18.x" - - run: npm install - - run: npm run build - - run: npm test - - name: Deploy + - name: Install dependencies + run: npm install + - name: Build package + run: npm run build + - name: Run tests + run: npm test + - name: Trigger deploy uses: crazy-max/ghaction-github-pages@v3 with: target_branch: release diff --git a/.gitignore b/.gitignore index 12ac647..2d17259 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ -.DS_Store \ No newline at end of file +.DS_Store +build/ \ No newline at end of file diff --git a/build/bundle.js b/build/bundle.js deleted file mode 100644 index 6cdaa96..0000000 --- a/build/bundle.js +++ /dev/null @@ -1,153 +0,0 @@ -/* - * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./node_modules/p5/lib/p5.min.js": -/*!***************************************!*\ - !*** ./node_modules/p5/lib/p5.min.js ***! - \***************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("/*! p5.js v1.7.0 July 10, 2023 */\n!function(e){ true?module.exports=e():0}(function(){var s,t,r;return function o(n,s,i){function a(t,e){if(!s[t]){if(!n[t]){var r=undefined;if(!e&&r)return require(t,!0);if(l)return l(t,!0);throw(e=new Error(\"Cannot find module '\"+t+\"'\")).code=\"MODULE_NOT_FOUND\",e}r=s[t]={exports:{}},n[t][0].call(r.exports,function(e){return a(n[t][1][e]||e)},r,r.exports,o,n,s,i)}return s[t].exports}for(var l=undefined,e=0;e>16&255,s[i++]=t>>8&255,s[i++]=255&t;2===o&&(t=l[e.charCodeAt(r)]<<2|l[e.charCodeAt(r+1)]>>4,s[i++]=255&t);1===o&&(t=l[e.charCodeAt(r)]<<10|l[e.charCodeAt(r+1)]<<4|l[e.charCodeAt(r+2)]>>2,s[i++]=t>>8&255,s[i++]=255&t);return s},r.fromByteArray=function(e){for(var t,r=e.length,o=r%3,n=[],s=0,i=r-o;s>18&63]+a[e>>12&63]+a[e>>6&63]+a[63&e]}(o));return n.join(\"\")}(e,s,i>2]+a[t<<4&63]+\"==\")):2==o&&(t=(e[r-2]<<8)+e[r-1],n.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+\"=\"));return n.join(\"\")};for(var a=[],l=[],u=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n=0,s=o.length;n>>1;case\"base64\":return T(e).length;default:if(n)return o?-1:M(e).length;t=(\"\"+t).toLowerCase(),n=!0}}function r(e,t,r){var o,n=!1;if((t=void 0===t||t<0?0:t)>this.length)return\"\";if((r=void 0===r||r>this.length?this.length:r)<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e=e||\"utf8\";;)switch(e){case\"hex\":var s=this,i=t,a=r,l=s.length;(!a||a<0||l=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if(\"string\"==typeof t&&(t=d.from(t,o)),d.isBuffer(t))return 0===t.length?-1:p(e,t,r,o,n);if(\"number\"==typeof t)return t&=255,\"function\"==typeof Uint8Array.prototype.indexOf?(n?Uint8Array.prototype.indexOf:Uint8Array.prototype.lastIndexOf).call(e,t,r):p(e,[t],r,o,n);throw new TypeError(\"val must be string, number or Buffer\")}function p(e,t,r,o,n){var s=1,i=e.length,a=t.length;if(void 0!==o&&(\"ucs2\"===(o=String(o).toLowerCase())||\"ucs-2\"===o||\"utf16le\"===o||\"utf-16le\"===o)){if(e.length<2||t.length<2)return-1;i/=s=2,a/=2,r/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(n)for(var u=-1,c=r;c>8,o=o%256,n.push(o),n.push(r);return n}(t,e.length-r),e,r,o)}function E(e,t,r){r=Math.min(e.length,r);for(var o=[],n=t;n>>10&1023|55296),c=56320|1023&c),o.push(c),n+=d}var f=o,h=f.length;if(h<=v)return String.fromCharCode.apply(String,f);for(var p=\"\",m=0;mt&&(e+=\" ... \"),\"\"},e&&(d.prototype[e]=d.prototype.inspect),d.prototype.compare=function(e,t,r,o,n){if(O(e,Uint8Array)&&(e=d.from(e,e.offset,e.byteLength)),!d.isBuffer(e))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===r&&(r=e?e.length:0),void 0===o&&(o=0),void 0===n&&(n=this.length),(t=void 0===t?0:t)<0||r>e.length||o<0||n>this.length)throw new RangeError(\"out of range index\");if(n<=o&&r<=t)return 0;if(n<=o)return-1;if(r<=t)return 1;if(this===e)return 0;for(var s=(n>>>=0)-(o>>>=0),i=(r>>>=0)-(t>>>=0),a=Math.min(s,i),l=this.slice(o,n),u=e.slice(t,r),c=0;c>>=0,isFinite(r)?(r>>>=0,void 0===o&&(o=\"utf8\")):(o=r,r=void 0)}var n=this.length-t;if((void 0===r||nthis.length)throw new RangeError(\"Attempt to write outside buffer bounds\");o=o||\"utf8\";for(var s,i,a,l=!1;;)switch(o){case\"hex\":var u=this,c=e,d=t,f=r,h=(d=Number(d)||0,u.length-d);(!f||h<(f=Number(f)))&&(f=h),(h=c.length)/2e.length)throw new RangeError(\"Index out of range\")}function j(e,t,r,o){if(r+o>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function _(e,t,r,o,n){return t=+t,r>>>=0,n||j(e,0,r,4),s.write(e,t,r,o,23,4),r+4}function x(e,t,r,o,n){return t=+t,r>>>=0,n||j(e,0,r,8),s.write(e,t,r,o,52,8),r+8}d.prototype.slice=function(e,t){var r=this.length,r=((e=~~e)<0?(e+=r)<0&&(e=0):r>>=0,t>>>=0,r||m(e,t,this.length);for(var o=this[e],n=1,s=0;++s>>=0,t>>>=0,r||m(e,t,this.length);for(var o=this[e+--t],n=1;0>>=0,t||m(e,1,this.length),this[e]},d.prototype.readUInt16LE=function(e,t){return e>>>=0,t||m(e,2,this.length),this[e]|this[e+1]<<8},d.prototype.readUInt16BE=function(e,t){return e>>>=0,t||m(e,2,this.length),this[e]<<8|this[e+1]},d.prototype.readUInt32LE=function(e,t){return e>>>=0,t||m(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},d.prototype.readUInt32BE=function(e,t){return e>>>=0,t||m(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},d.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||m(e,t,this.length);for(var o=this[e],n=1,s=0;++s>>=0,t>>>=0,r||m(e,t,this.length);for(var o=t,n=1,s=this[e+--o];0>>=0,t||m(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},d.prototype.readInt16LE=function(e,t){e>>>=0,t||m(e,2,this.length);t=this[e]|this[e+1]<<8;return 32768&t?4294901760|t:t},d.prototype.readInt16BE=function(e,t){e>>>=0,t||m(e,2,this.length);t=this[e+1]|this[e]<<8;return 32768&t?4294901760|t:t},d.prototype.readInt32LE=function(e,t){return e>>>=0,t||m(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},d.prototype.readInt32BE=function(e,t){return e>>>=0,t||m(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},d.prototype.readFloatLE=function(e,t){return e>>>=0,t||m(e,4,this.length),s.read(this,e,!0,23,4)},d.prototype.readFloatBE=function(e,t){return e>>>=0,t||m(e,4,this.length),s.read(this,e,!1,23,4)},d.prototype.readDoubleLE=function(e,t){return e>>>=0,t||m(e,8,this.length),s.read(this,e,!0,52,8)},d.prototype.readDoubleBE=function(e,t){return e>>>=0,t||m(e,8,this.length),s.read(this,e,!1,52,8)},d.prototype.writeUIntLE=function(e,t,r,o){e=+e,t>>>=0,r>>>=0,o||b(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,o||b(this,e,t,r,Math.pow(2,8*r)-1,0);var n=r-1,s=1;for(this[t+n]=255&e;0<=--n&&(s*=256);)this[t+n]=e/s&255;return t+r},d.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,1,255,0),this[t]=255&e,t+1},d.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},d.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},d.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},d.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},d.prototype.writeIntLE=function(e,t,r,o){e=+e,t>>>=0,o||b(this,e,t,r,(o=Math.pow(2,8*r-1))-1,-o);var n=0,s=1,i=0;for(this[t]=255&e;++n>0)-i&255;return t+r},d.prototype.writeIntBE=function(e,t,r,o){e=+e,t>>>=0,o||b(this,e,t,r,(o=Math.pow(2,8*r-1))-1,-o);var n=r-1,s=1,i=0;for(this[t+n]=255&e;0<=--n&&(s*=256);)e<0&&0===i&&0!==this[t+n+1]&&(i=1),this[t+n]=(e/s>>0)-i&255;return t+r},d.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,1,127,-128),this[t]=255&(e=e<0?255+e+1:e),t+1},d.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},d.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},d.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},d.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,4,2147483647,-2147483648),this[t]=(e=e<0?4294967295+e+1:e)>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},d.prototype.writeFloatLE=function(e,t,r){return _(this,e,t,!0,r)},d.prototype.writeFloatBE=function(e,t,r){return _(this,e,t,!1,r)},d.prototype.writeDoubleLE=function(e,t,r){return x(this,e,t,!0,r)},d.prototype.writeDoubleBE=function(e,t,r){return x(this,e,t,!1,r)},d.prototype.copy=function(e,t,r,o){if(!d.isBuffer(e))throw new TypeError(\"argument should be a Buffer\");if(r=r||0,o||0===o||(o=this.length),t>=e.length&&(t=e.length),(o=0=this.length)throw new RangeError(\"Index out of range\");if(o<0)throw new RangeError(\"sourceEnd out of bounds\");o>this.length&&(o=this.length);var n=(o=e.length-t>>=0,r=void 0===r?this.length:r>>>0,\"number\"==typeof(e=e||0))for(s=t;s>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function T(e){return S.toByteArray(function(e){if((e=(e=e.split(\"=\")[0]).trim().replace(w,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function k(e,t,r,o){for(var n=0;n=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function O(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function C(e){return e!=e}var A=function(){for(var e=\"0123456789abcdef\",t=new Array(256),r=0;r<16;++r)for(var o=16*r,n=0;n<16;++n)t[o+n]=e[r]+e[n];return t}()}.call(this,P(\"buffer\").Buffer)},{\"base64-js\":1,buffer:4,ieee754:244}],5:[function(e,t,r){t.exports=function(e){if(\"function\"!=typeof e)throw TypeError(String(e)+\" is not a function\");return e}},{}],6:[function(e,t,r){var o=e(\"../internals/is-object\");t.exports=function(e){if(o(e)||null===e)return e;throw TypeError(\"Can't set \"+String(e)+\" as a prototype\")}},{\"../internals/is-object\":74}],7:[function(e,t,r){var o=e(\"../internals/well-known-symbol\"),n=e(\"../internals/object-create\"),e=e(\"../internals/object-define-property\"),s=o(\"unscopables\"),i=Array.prototype;null==i[s]&&e.f(i,s,{configurable:!0,value:n(null)}),t.exports=function(e){i[s][e]=!0}},{\"../internals/object-create\":90,\"../internals/object-define-property\":92,\"../internals/well-known-symbol\":148}],8:[function(e,t,r){\"use strict\";var o=e(\"../internals/string-multibyte\").charAt;t.exports=function(e,t,r){return t+(r?o(e,t).length:1)}},{\"../internals/string-multibyte\":123}],9:[function(e,t,r){t.exports=function(e,t,r){if(e instanceof t)return e;throw TypeError(\"Incorrect \"+(r?r+\" \":\"\")+\"invocation\")}},{}],10:[function(e,t,r){var o=e(\"../internals/is-object\");t.exports=function(e){if(o(e))return e;throw TypeError(String(e)+\" is not an object\")}},{\"../internals/is-object\":74}],11:[function(e,t,r){t.exports=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView},{}],12:[function(e,t,r){\"use strict\";function o(e){return l(e)&&u(M,c(e))}var n,s=e(\"../internals/array-buffer-native\"),i=e(\"../internals/descriptors\"),a=e(\"../internals/global\"),l=e(\"../internals/is-object\"),u=e(\"../internals/has\"),c=e(\"../internals/classof\"),d=e(\"../internals/create-non-enumerable-property\"),f=e(\"../internals/redefine\"),h=e(\"../internals/object-define-property\").f,p=e(\"../internals/object-get-prototype-of\"),m=e(\"../internals/object-set-prototype-of\"),y=e(\"../internals/well-known-symbol\"),e=e(\"../internals/uid\"),g=a.Int8Array,v=g&&g.prototype,b=a.Uint8ClampedArray,b=b&&b.prototype,j=g&&p(g),_=v&&p(v),x=Object.prototype,w=x.isPrototypeOf,y=y(\"toStringTag\"),S=e(\"TYPED_ARRAY_TAG\"),E=s&&!!m&&\"Opera\"!==c(a.opera),e=!1,M={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8};for(n in M)a[n]||(E=!1);if((!E||\"function\"!=typeof j||j===Function.prototype)&&(j=function(){throw TypeError(\"Incorrect invocation\")},E))for(n in M)a[n]&&m(a[n],j);if((!E||!_||_===x)&&(_=j.prototype,E))for(n in M)a[n]&&m(a[n].prototype,_);if(E&&p(b)!==_&&m(b,_),i&&!u(_,y))for(n in e=!0,h(_,y,{get:function(){return l(this)?this[S]:void 0}}),M)a[n]&&d(a[n],S,n);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:E,TYPED_ARRAY_TAG:e&&S,aTypedArray:function(e){if(o(e))return e;throw TypeError(\"Target is not a typed array\")},aTypedArrayConstructor:function(e){if(m){if(w.call(j,e))return e}else for(var t in M)if(u(M,n)){t=a[t];if(t&&(e===t||w.call(t,e)))return e}throw TypeError(\"Target is not a typed array constructor\")},exportTypedArrayMethod:function(e,t,r){if(i){if(r)for(var o in M){o=a[o];o&&u(o.prototype,e)&&delete o.prototype[e]}_[e]&&!r||f(_,e,!r&&E&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,r){var o,n;if(i){if(m){if(r)for(o in M)(n=a[o])&&u(n,e)&&delete n[e];if(j[e]&&!r)return;try{return f(j,e,!r&&E&&g[e]||t)}catch(e){}}for(o in M)!(n=a[o])||n[e]&&!r||f(n,e,t)}},isView:function(e){e=c(e);return\"DataView\"===e||u(M,e)},isTypedArray:o,TypedArray:j,TypedArrayPrototype:_}},{\"../internals/array-buffer-native\":11,\"../internals/classof\":29,\"../internals/create-non-enumerable-property\":38,\"../internals/descriptors\":43,\"../internals/global\":59,\"../internals/has\":60,\"../internals/is-object\":74,\"../internals/object-define-property\":92,\"../internals/object-get-prototype-of\":97,\"../internals/object-set-prototype-of\":101,\"../internals/redefine\":108,\"../internals/uid\":145,\"../internals/well-known-symbol\":148}],13:[function(e,t,D){\"use strict\";function r(e){return[255&e]}function o(e){return[255&e,e>>8&255]}function n(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function s(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function i(e){return C(e,23,4)}function F(e){return C(e,52,8)}function a(e,t){H(e[w],t,{get:function(){return b(this)[t]}})}function l(e,t,r,o){if(r=m(r),e=b(e),r+t>e.byteLength)throw O(S);var n=b(e.buffer).bytes,r=r+e.byteOffset,e=n.slice(r,r+t);return o?e:e.reverse()}function u(e,t,r,o,n,s){if(r=m(r),e=b(e),r+t>e.byteLength)throw O(S);for(var i=b(e.buffer).bytes,a=r+e.byteOffset,l=o(+n),u=0;uR;)(P=L[R++])in M||N(M,P,E[P]);c.constructor=M}g&&V(e)!==k&&g(e,k);var y=new T(new M(2)),I=e.setInt8;y.setInt8(0,2147483648),y.setInt8(1,2147483649),!y.getInt8(0)&&y.getInt8(1)||f(e,{setInt8:function(e,t){I.call(this,e,t<<24>>24)},setUint8:function(e,t){I.call(this,e,t<<24>>24)}},{unsafe:!0})}else M=function(e){p(this,M,_);e=m(e);j(this,{bytes:W.call(new Array(e),0),byteLength:e}),d||(this.byteLength=e)},T=function(e,t,r){p(this,T,x),p(e,M,x);var o=b(e).byteLength,t=B(t);if(t<0||o>24},getUint8:function(e){return l(this,1,e)[0]},getInt16:function(e){e=l(this,2,e,1>16},getUint16:function(e){e=l(this,2,e,1>>0},getFloat32:function(e){return A(l(this,4,e,1\"+e+\"\"}},{\"../internals/require-object-coercible\":113}],37:[function(e,t,r){\"use strict\";function o(){return this}var n=e(\"../internals/iterators-core\").IteratorPrototype,s=e(\"../internals/object-create\"),i=e(\"../internals/create-property-descriptor\"),a=e(\"../internals/set-to-string-tag\"),l=e(\"../internals/iterators\");t.exports=function(e,t,r){t+=\" Iterator\";return e.prototype=s(n,{next:i(1,r)}),a(e,t,!1,!0),l[t]=o,e}},{\"../internals/create-property-descriptor\":39,\"../internals/iterators\":79,\"../internals/iterators-core\":78,\"../internals/object-create\":90,\"../internals/set-to-string-tag\":117}],38:[function(e,t,r){var o=e(\"../internals/descriptors\"),n=e(\"../internals/object-define-property\"),s=e(\"../internals/create-property-descriptor\");t.exports=o?function(e,t,r){return n.f(e,t,s(1,r))}:function(e,t,r){return e[t]=r,e}},{\"../internals/create-property-descriptor\":39,\"../internals/descriptors\":43,\"../internals/object-define-property\":92}],39:[function(e,t,r){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],40:[function(e,t,r){\"use strict\";var o=e(\"../internals/to-primitive\"),n=e(\"../internals/object-define-property\"),s=e(\"../internals/create-property-descriptor\");t.exports=function(e,t,r){t=o(t);t in e?n.f(e,t,s(0,r)):e[t]=r}},{\"../internals/create-property-descriptor\":39,\"../internals/object-define-property\":92,\"../internals/to-primitive\":140}],41:[function(e,t,r){\"use strict\";function m(){return this}var y=e(\"../internals/export\"),g=e(\"../internals/create-iterator-constructor\"),v=e(\"../internals/object-get-prototype-of\"),b=e(\"../internals/object-set-prototype-of\"),j=e(\"../internals/set-to-string-tag\"),_=e(\"../internals/create-non-enumerable-property\"),x=e(\"../internals/redefine\"),o=e(\"../internals/well-known-symbol\"),w=e(\"../internals/is-pure\"),S=e(\"../internals/iterators\"),e=e(\"../internals/iterators-core\"),E=e.IteratorPrototype,M=e.BUGGY_SAFARI_ITERATORS,T=o(\"iterator\"),k=\"values\",O=\"entries\";t.exports=function(e,t,r,o,n,s,i){g(r,t,o);function a(e){if(e===n&&h)return h;if(!M&&e in d)return d[e];switch(e){case\"keys\":case k:case O:return function(){return new r(this,e)}}return function(){return new r(this)}}var l,u,o=t+\" Iterator\",c=!1,d=e.prototype,f=d[T]||d[\"@@iterator\"]||n&&d[n],h=!M&&f||a(n),p=\"Array\"==t&&d.entries||f;if(p&&(p=v(p.call(new e)),E!==Object.prototype&&p.next&&(w||v(p)===E||(b?b(p,E):\"function\"!=typeof p[T]&&_(p,T,m)),j(p,o,!0,!0),w&&(S[o]=m))),n==k&&f&&f.name!==k&&(c=!0,h=function(){return f.call(this)}),w&&!i||d[T]===h||_(d,T,h),S[t]=h,n)if(l={values:a(k),keys:s?h:a(\"keys\"),entries:a(O)},i)for(u in l)!M&&!c&&u in d||x(d,u,l[u]);else y({target:t,proto:!0,forced:M||c},l);return l}},{\"../internals/create-iterator-constructor\":37,\"../internals/create-non-enumerable-property\":38,\"../internals/export\":50,\"../internals/is-pure\":75,\"../internals/iterators\":79,\"../internals/iterators-core\":78,\"../internals/object-get-prototype-of\":97,\"../internals/object-set-prototype-of\":101,\"../internals/redefine\":108,\"../internals/set-to-string-tag\":117,\"../internals/well-known-symbol\":148}],42:[function(e,t,r){var o=e(\"../internals/path\"),n=e(\"../internals/has\"),s=e(\"../internals/well-known-symbol-wrapped\"),i=e(\"../internals/object-define-property\").f;t.exports=function(e){var t=o.Symbol||(o.Symbol={});n(t,e)||i(t,e,{value:s.f(e)})}},{\"../internals/has\":60,\"../internals/object-define-property\":92,\"../internals/path\":104,\"../internals/well-known-symbol-wrapped\":147}],43:[function(e,t,r){e=e(\"../internals/fails\");t.exports=!e(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},{\"../internals/fails\":51}],44:[function(e,t,r){var o=e(\"../internals/global\"),e=e(\"../internals/is-object\"),n=o.document,s=e(n)&&e(n.createElement);t.exports=function(e){return s?n.createElement(e):{}}},{\"../internals/global\":59,\"../internals/is-object\":74}],45:[function(e,t,r){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],46:[function(e,t,r){e=e(\"../internals/engine-user-agent\");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(e)},{\"../internals/engine-user-agent\":47}],47:[function(e,t,r){e=e(\"../internals/get-built-in\");t.exports=e(\"navigator\",\"userAgent\")||\"\"},{\"../internals/get-built-in\":56}],48:[function(e,t,r){var o,n,s=e(\"../internals/global\"),e=e(\"../internals/engine-user-agent\"),s=s.process,s=s&&s.versions,s=s&&s.v8;s?n=(o=s.split(\".\"))[0]+o[1]:e&&(!(o=e.match(/Edge\\/(\\d+)/))||74<=o[1])&&(o=e.match(/Chrome\\/(\\d+)/))&&(n=o[1]),t.exports=n&&+n},{\"../internals/engine-user-agent\":47,\"../internals/global\":59}],49:[function(e,t,r){t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},{}],50:[function(e,t,r){var u=e(\"../internals/global\"),c=e(\"../internals/object-get-own-property-descriptor\").f,d=e(\"../internals/create-non-enumerable-property\"),f=e(\"../internals/redefine\"),h=e(\"../internals/set-global\"),p=e(\"../internals/copy-constructor-properties\"),m=e(\"../internals/is-forced\");t.exports=function(e,t){var r,o,n,s=e.target,i=e.global,a=e.stat,l=i?u:a?u[s]||h(s,{}):(u[s]||{}).prototype;if(l)for(r in t){if(o=t[r],n=e.noTargetGet?(n=c(l,r))&&n.value:l[r],!m(i?r:s+(a?\".\":\"#\")+r,e.forced)&&void 0!==n){if(typeof o==typeof n)continue;p(o,n)}(e.sham||n&&n.sham)&&d(o,\"sham\",!0),f(l,r,o,e)}}},{\"../internals/copy-constructor-properties\":33,\"../internals/create-non-enumerable-property\":38,\"../internals/global\":59,\"../internals/is-forced\":73,\"../internals/object-get-own-property-descriptor\":93,\"../internals/redefine\":108,\"../internals/set-global\":115}],51:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],52:[function(e,t,r){\"use strict\";e(\"../modules/es.regexp.exec\");var u=e(\"../internals/redefine\"),c=e(\"../internals/fails\"),d=e(\"../internals/well-known-symbol\"),f=e(\"../internals/regexp-exec\"),h=e(\"../internals/create-non-enumerable-property\"),p=d(\"species\"),m=!c(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:\"7\"},e},\"7\"!==\"\".replace(e,\"$\")}),y=\"$0\"===\"a\".replace(/./,\"$0\"),e=d(\"replace\"),g=!!/./[e]&&\"\"===/./[e](\"a\",\"$0\"),v=!c(function(){var e=/(?:)/,t=e.exec,e=(e.exec=function(){return t.apply(this,arguments)},\"ab\".split(e));return 2!==e.length||\"a\"!==e[0]||\"b\"!==e[1]});t.exports=function(r,e,t,o){var s,n,i=d(r),a=!c(function(){var e={};return e[i]=function(){return 7},7!=\"\"[r](e)}),l=a&&!c(function(){var e=!1,t=/a/;return\"split\"===r&&((t={constructor:{}}).constructor[p]=function(){return t},t.flags=\"\",t[i]=/./[i]),t.exec=function(){return e=!0,null},t[i](\"\"),!e});a&&l&&(\"replace\"!==r||m&&y&&!g)&&(\"split\"!==r||v)||(s=/./[i],t=(l=t(i,\"\"[r],function(e,t,r,o,n){return t.exec===f?a&&!n?{done:!0,value:s.call(t,r,o)}:{done:!0,value:e.call(r,t,o)}:{done:!1}},{REPLACE_KEEPS_$0:y,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:g}))[0],n=l[1],u(String.prototype,r,t),u(RegExp.prototype,i,2==e?function(e,t){return n.call(e,this,t)}:function(e){return n.call(e,this)})),o&&h(RegExp.prototype[i],\"sham\",!0)}},{\"../internals/create-non-enumerable-property\":38,\"../internals/fails\":51,\"../internals/redefine\":108,\"../internals/regexp-exec\":110,\"../internals/well-known-symbol\":148,\"../modules/es.regexp.exec\":185}],53:[function(e,t,r){e=e(\"../internals/fails\");t.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},{\"../internals/fails\":51}],54:[function(e,t,r){var s=e(\"../internals/a-function\");t.exports=function(o,n,e){if(s(o),void 0===n)return o;switch(e){case 0:return function(){return o.call(n)};case 1:return function(e){return o.call(n,e)};case 2:return function(e,t){return o.call(n,e,t)};case 3:return function(e,t,r){return o.call(n,e,t,r)}}return function(){return o.apply(n,arguments)}}},{\"../internals/a-function\":5}],55:[function(e,t,r){\"use strict\";var o=e(\"../internals/a-function\"),n=e(\"../internals/is-object\"),c=[].slice,d={};t.exports=Function.bind||function(i){var a=o(this),l=c.call(arguments,1),u=function(){var e=l.concat(c.call(arguments));if(this instanceof u){var t=a,r=e.length,o=e;if(!(r in d)){for(var n=[],s=0;s>1,u=23===t?h(2,-24)-h(2,-77):0,c=e<0||0===e&&1/e<0?1:0,d=0;for((e=f(e))!=e||e===1/0?(n=e!=e?1:0,o=r):(o=p(m(e)/y),e*(s=h(2,-o))<1&&(o--,s*=2),2<=(e+=1<=o+l?u/s:u*h(2,1-l))*s&&(o++,s/=2),r<=o+l?(n=0,o=r):1<=o+l?(n=(e*s-1)*h(2,t),o+=l):(n=e*h(2,l-1)*h(2,t),o=0));8<=t;i[d++]=255&n,n/=256,t-=8);for(o=o<>1,a=n-7,l=o-1,n=e[l--],u=127&n;for(n>>=7;0>=-a,a+=t;0\"+e+\"\"},m=function(){try{n=document.domain&&new ActiveXObject(\"htmlfile\")}catch(e){}m=n?((e=n).write(p(\"\")),e.close(),t=e.parentWindow.Object,e=null,t):(e=c(\"iframe\"),t=\"java\"+f+\":\",e.style.display=\"none\",u.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(p(\"document.F=Object\")),t.close(),t.F);for(var e,t,r=a.length;r--;)delete m[d][a[r]];return m()};l[h]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(o[d]=s(e),r=new o,o[d]=null,r[h]=e):r=m(),void 0===t?r:i(r,t)}},{\"../internals/an-object\":10,\"../internals/document-create-element\":44,\"../internals/enum-bug-keys\":49,\"../internals/hidden-keys\":61,\"../internals/html\":63,\"../internals/object-define-properties\":91,\"../internals/shared-key\":118}],91:[function(e,t,r){var o=e(\"../internals/descriptors\"),i=e(\"../internals/object-define-property\"),a=e(\"../internals/an-object\"),l=e(\"../internals/object-keys\");t.exports=o?Object.defineProperties:function(e,t){a(e);for(var r,o=l(t),n=o.length,s=0;sn;)!i(o,r=t[n++])||~l(s,r)||s.push(r);return s}},{\"../internals/array-includes\":18,\"../internals/has\":60,\"../internals/hidden-keys\":61,\"../internals/to-indexed-object\":134}],99:[function(e,t,r){var o=e(\"../internals/object-keys-internal\"),n=e(\"../internals/enum-bug-keys\");t.exports=Object.keys||function(e){return o(e,n)}},{\"../internals/enum-bug-keys\":49,\"../internals/object-keys-internal\":98}],100:[function(e,t,r){\"use strict\";var o={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,s=n&&!o.call({1:2},1);r.f=s?function(e){e=n(this,e);return!!e&&e.enumerable}:o},{}],101:[function(e,t,r){var n=e(\"../internals/an-object\"),s=e(\"../internals/a-possible-prototype\");t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var r,o=!1,e={};try{(r=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set).call(e,[]),o=e instanceof Array}catch(e){}return function(e,t){return n(e),s(t),o?r.call(e,t):e.__proto__=t,e}}():void 0)},{\"../internals/a-possible-prototype\":6,\"../internals/an-object\":10}],102:[function(e,t,r){\"use strict\";var o=e(\"../internals/to-string-tag-support\"),n=e(\"../internals/classof\");t.exports=o?{}.toString:function(){return\"[object \"+n(this)+\"]\"}},{\"../internals/classof\":29,\"../internals/to-string-tag-support\":141}],103:[function(e,t,r){var o=e(\"../internals/get-built-in\"),n=e(\"../internals/object-get-own-property-names\"),s=e(\"../internals/object-get-own-property-symbols\"),i=e(\"../internals/an-object\");t.exports=o(\"Reflect\",\"ownKeys\")||function(e){var t=n.f(i(e)),r=s.f;return r?t.concat(r(e)):t}},{\"../internals/an-object\":10,\"../internals/get-built-in\":56,\"../internals/object-get-own-property-names\":95,\"../internals/object-get-own-property-symbols\":96}],104:[function(e,t,r){e=e(\"../internals/global\");t.exports=e},{\"../internals/global\":59}],105:[function(e,t,r){t.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},{}],106:[function(e,t,r){var o=e(\"../internals/an-object\"),n=e(\"../internals/is-object\"),s=e(\"../internals/new-promise-capability\");t.exports=function(e,t){return o(e),n(t)&&t.constructor===e?t:((0,(e=s.f(e)).resolve)(t),e.promise)}},{\"../internals/an-object\":10,\"../internals/is-object\":74,\"../internals/new-promise-capability\":86}],107:[function(e,t,r){var n=e(\"../internals/redefine\");t.exports=function(e,t,r){for(var o in t)n(e,o,t[o],r);return e}},{\"../internals/redefine\":108}],108:[function(e,t,r){var i=e(\"../internals/global\"),a=e(\"../internals/create-non-enumerable-property\"),l=e(\"../internals/has\"),u=e(\"../internals/set-global\"),o=e(\"../internals/inspect-source\"),e=e(\"../internals/internal-state\"),n=e.get,c=e.enforce,d=String(String).split(\"String\");(t.exports=function(e,t,r,o){var n=!!o&&!!o.unsafe,s=!!o&&!!o.enumerable,o=!!o&&!!o.noTargetGet;\"function\"==typeof r&&(\"string\"!=typeof t||l(r,\"name\")||a(r,\"name\",t),c(r).source=d.join(\"string\"==typeof t?t:\"\")),e===i?s?e[t]=r:u(t,r):(n?!o&&e[t]&&(s=!0):delete e[t],s?e[t]=r:a(e,t,r))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&n(this).source||o(this)})},{\"../internals/create-non-enumerable-property\":38,\"../internals/global\":59,\"../internals/has\":60,\"../internals/inspect-source\":68,\"../internals/internal-state\":70,\"../internals/set-global\":115}],109:[function(e,t,r){var o=e(\"./classof-raw\"),n=e(\"./regexp-exec\");t.exports=function(e,t){var r=e.exec;if(\"function\"==typeof r){r=r.call(e,t);if(\"object\"!=typeof r)throw TypeError(\"RegExp exec method returned something other than an Object or null\");return r}if(\"RegExp\"!==o(e))throw TypeError(\"RegExp#exec called on incompatible receiver\");return n.call(e,t)}},{\"./classof-raw\":28,\"./regexp-exec\":110}],110:[function(e,t,r){\"use strict\";var o,n,d=e(\"./regexp-flags\"),e=e(\"./regexp-sticky-helpers\"),f=RegExp.prototype.exec,h=String.prototype.replace,s=f,p=(o=/a/,n=/b*/g,f.call(o,\"a\"),f.call(n,\"a\"),0!==o.lastIndex||0!==n.lastIndex),m=e.UNSUPPORTED_Y||e.BROKEN_CARET,y=void 0!==/()??/.exec(\"\")[1];t.exports=s=p||y||m?function(e){var t,r,o,n,s=this,i=m&&s.sticky,a=d.call(s),l=s.source,u=0,c=e;return i&&(-1===(a=a.replace(\"y\",\"\")).indexOf(\"g\")&&(a+=\"g\"),c=String(e).slice(s.lastIndex),0t&&(o=o.slice(0,t)),n?e+o:o+e)}}var s=e(\"../internals/to-length\"),i=e(\"../internals/string-repeat\"),a=e(\"../internals/require-object-coercible\"),l=Math.ceil;t.exports={start:o(!1),end:o(!0)}},{\"../internals/require-object-coercible\":113,\"../internals/string-repeat\":127,\"../internals/to-length\":136}],126:[function(e,t,r){\"use strict\";function g(e){return e+22+75*(e<26)}function s(e){var t,r=[],o=(e=function(e){for(var t=[],r=0,o=e.length;rE((v-s)/d))throw RangeError(w);for(s+=(u-n)*d,n=u,c=0;cv)throw RangeError(w);if(t==n){for(var f=s,h=b;;h+=b){var p=h<=i?1:i+j<=h?j:h-i;if(f>1,e+=E(e/t);S*j>>1>>=1)&&(t+=t))1&o&&(r+=t);return r}},{\"../internals/require-object-coercible\":113,\"../internals/to-integer\":135}],128:[function(e,t,r){var o=e(\"../internals/fails\"),n=e(\"../internals/whitespaces\");t.exports=function(e){return o(function(){return!!n[e]()||\"​…᠎\"!=\"​…᠎\"[e]()||n[e].name!==e})}},{\"../internals/fails\":51,\"../internals/whitespaces\":149}],129:[function(e,t,r){function o(t){return function(e){e=String(n(e));return 1&t&&(e=e.replace(s,\"\")),e=2&t?e.replace(i,\"\"):e}}var n=e(\"../internals/require-object-coercible\"),e=\"[\"+e(\"../internals/whitespaces\")+\"]\",s=RegExp(\"^\"+e+e+\"*\"),i=RegExp(e+e+\"*$\");t.exports={start:o(1),end:o(2),trim:o(3)}},{\"../internals/require-object-coercible\":113,\"../internals/whitespaces\":149}],130:[function(e,t,r){function o(e){return function(){x(e)}}function n(e){x(e.data)}function s(e){a.postMessage(e+\"\",h.protocol+\"//\"+h.host)}var i,a=e(\"../internals/global\"),l=e(\"../internals/fails\"),u=e(\"../internals/classof-raw\"),c=e(\"../internals/function-bind-context\"),d=e(\"../internals/html\"),f=e(\"../internals/document-create-element\"),e=e(\"../internals/engine-is-ios\"),h=a.location,p=a.setImmediate,m=a.clearImmediate,y=a.process,g=a.MessageChannel,v=a.Dispatch,b=0,j={},_=\"onreadystatechange\",x=function(e){var t;j.hasOwnProperty(e)&&(t=j[e],delete j[e],t())};p&&m||(p=function(e){for(var t=[],r=1;r=t.length?{value:e.target=void 0,done:!0}:\"keys\"==r?{value:o,done:!1}:\"values\"==r?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}},\"values\"),s.Arguments=s.Array,n(\"keys\"),n(\"values\"),n(\"entries\")},{\"../internals/add-to-unscopables\":7,\"../internals/define-iterator\":41,\"../internals/internal-state\":70,\"../internals/iterators\":79,\"../internals/to-indexed-object\":134}],161:[function(e,t,r){\"use strict\";var o=e(\"../internals/export\"),n=e(\"../internals/indexed-object\"),s=e(\"../internals/to-indexed-object\"),e=e(\"../internals/array-method-is-strict\"),i=[].join,n=n!=Object,e=e(\"join\",\",\");o({target:\"Array\",proto:!0,forced:n||!e},{join:function(e){return i.call(s(this),void 0===e?\",\":e)}})},{\"../internals/array-method-is-strict\":22,\"../internals/export\":50,\"../internals/indexed-object\":66,\"../internals/to-indexed-object\":134}],162:[function(e,t,r){var o=e(\"../internals/export\"),e=e(\"../internals/array-last-index-of\");o({target:\"Array\",proto:!0,forced:e!==[].lastIndexOf},{lastIndexOf:e})},{\"../internals/array-last-index-of\":20,\"../internals/export\":50}],163:[function(e,t,r){\"use strict\";var o=e(\"../internals/export\"),n=e(\"../internals/array-iteration\").map,s=e(\"../internals/array-method-has-species-support\"),e=e(\"../internals/array-method-uses-to-length\"),s=s(\"map\"),e=e(\"map\");o({target:\"Array\",proto:!0,forced:!s||!e},{map:function(e){return n(this,e,1E;E++)l(b,x=S[E])&&!l(w,x)&&y(w,x,m(b,x));(w.prototype=j).constructor=w,a(s,v,w)}},{\"../internals/classof-raw\":28,\"../internals/descriptors\":43,\"../internals/fails\":51,\"../internals/global\":59,\"../internals/has\":60,\"../internals/inherit-if-required\":67,\"../internals/is-forced\":73,\"../internals/object-create\":90,\"../internals/object-define-property\":92,\"../internals/object-get-own-property-descriptor\":93,\"../internals/object-get-own-property-names\":95,\"../internals/redefine\":108,\"../internals/string-trim\":129,\"../internals/to-primitive\":140}],172:[function(e,t,r){e(\"../internals/export\")({target:\"Number\",stat:!0},{isFinite:e(\"../internals/number-is-finite\")})},{\"../internals/export\":50,\"../internals/number-is-finite\":88}],173:[function(e,t,r){\"use strict\";function c(e,t,r){return 0===t?r:t%2==1?c(e,t-1,r*e):c(e*e,t/2,r)}var o=e(\"../internals/export\"),d=e(\"../internals/to-integer\"),f=e(\"../internals/this-number-value\"),h=e(\"../internals/string-repeat\"),e=e(\"../internals/fails\"),n=1..toFixed,p=Math.floor;o({target:\"Number\",proto:!0,forced:n&&(\"0.000\"!==8e-5.toFixed(3)||\"1\"!==.9.toFixed(0)||\"1.25\"!==1.255.toFixed(2)||\"1000000000000000128\"!==0xde0b6b3a7640080.toFixed(0))||!e(function(){n.call({})})},{toFixed:function(e){function t(e,t){for(var r=-1,o=t;++r<6;)o+=e*a[r],a[r]=o%1e7,o=p(o/1e7)}function r(e){for(var t=6,r=0;0<=--t;)r+=a[t],a[t]=p(r/e),r=r%e*1e7}function o(){for(var e,t=6,r=\"\";0<=--t;)\"\"===r&&0!==t&&0===a[t]||(e=String(a[t]),r=\"\"===r?e:r+h.call(\"0\",7-e.length)+e);return r}var n,s,i=f(this),e=d(e),a=[0,0,0,0,0,0],l=\"\",u=\"0\";if(e<0||20n;){var s,i,a,l=y[n++],u=t?l.ok:l.fail,c=l.resolve,d=l.reject,f=l.domain;try{u?(t||(p.rejection===oe&&function(e,t){v.call(g,function(){if(k)E.emit(\"rejectionHandled\",e);else se(te,e,t.value)})}(h,p),p.rejection=A),!0===u?s=e:(f&&f.enter(),s=u(e),f&&(f.exit(),a=!0)),s===l.promise?d(w(\"Promise-chain cycle\")):(i=ne(s))?i.call(s,c,d):c(s)):d(e)}catch(e){f&&!a&&f.exit(),d(e)}}p.reactions=[],p.notified=!1,m&&!p.rejection&&(r=h,o=p,v.call(g,function(){var e=o.value,t=ie(o);if(t&&(t=b(function(){k?E.emit(\"unhandledRejection\",e,r):se(O,r,e)}),o.rejection=k||ie(o)?oe:A,t.error))throw t.value}))}))},se=function(e,t,r){var o;ee?((o=S.createEvent(\"Event\")).promise=t,o.reason=r,o.initEvent(e,!1,!0),g.dispatchEvent(o)):o={promise:t,reason:r},(t=g[\"on\"+e])?t(o):e===O&&Y(\"Unhandled promise rejection\",r)},ie=function(e){return e.rejection!==A&&!e.parent},L=function(t,r,o,n){return function(e){t(r,o,e,n)}},R=function(e,t,r,o){t.done||(t.done=!0,(t=o?o:t).value=r,t.state=re,P(e,t,!0))},I=function(r,o,e,t){if(!o.done){o.done=!0,t&&(o=t);try{if(r===e)throw w(\"Promise can't be resolved itself\");var n=ne(e);n?u(function(){var t={done:!1};try{n.call(e,L(I,r,t,o),L(R,r,t,o))}catch(e){R(r,t,e,o)}}):(o.value=e,o.state=C,P(r,o,!1))}catch(e){R(r,{done:!1},e,o)}}};e&&(x=function(e){z(this,x,j),c(e),r.call(this);var t=_(this);try{e(L(I,this,t),L(R,this,t))}catch(e){R(this,t,e)}},(r=function(e){J(this,{type:j,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=N(x.prototype,{then:function(e,t){var r=K(this),o=T(X(this,x));return o.ok=\"function\"!=typeof e||e,o.fail=\"function\"==typeof t&&t,o.domain=k?E.domain:void 0,r.parent=!0,r.reactions.push(o),0!=r.state&&P(this,r,!1),o.promise},catch:function(e){return this.then(void 0,e)}}),t=function(){var e=new r,t=_(e);this.promise=e,this.resolve=L(I,e,t),this.reject=L(R,e,t)},h.f=T=function(e){return e===x||e===o?new t:$(e)},i||\"function\"!=typeof l||(n=l.prototype.then,U(l.prototype,\"then\",function(e,t){var r=this;return new x(function(e,t){n.call(r,e,t)}).then(e,t)},{unsafe:!0}),\"function\"==typeof M&&s({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return f(x,M.apply(g,arguments))}}))),s({global:!0,wrap:!0,forced:e},{Promise:x}),B(x,j,!1,!0),G(j),o=a(j),s({target:j,stat:!0,forced:e},{reject:function(e){var t=T(this);return t.reject.call(void 0,e),t.promise}}),s({target:j,stat:!0,forced:i||e},{resolve:function(e){return f(i&&this===o?x:this,e)}}),s({target:j,stat:!0,forced:m},{all:function(e){var a=this,t=T(a),l=t.resolve,u=t.reject,r=b(function(){var o=c(a.resolve),n=[],s=0,i=1;d(e,function(e){var t=s++,r=!1;n.push(void 0),i++,o.call(a,e).then(function(e){r||(r=!0,n[t]=e,--i||l(n))},u)}),--i||l(n)});return r.error&&u(r.value),t.promise},race:function(e){var r=this,o=T(r),n=o.reject,t=b(function(){var t=c(r.resolve);d(e,function(e){t.call(r,e).then(o.resolve,n)})});return t.error&&n(t.value),o.promise}})},{\"../internals/a-function\":5,\"../internals/an-instance\":9,\"../internals/check-correctness-of-iteration\":27,\"../internals/classof-raw\":28,\"../internals/engine-v8-version\":48,\"../internals/export\":50,\"../internals/get-built-in\":56,\"../internals/global\":59,\"../internals/host-report-errors\":62,\"../internals/inspect-source\":68,\"../internals/internal-state\":70,\"../internals/is-forced\":73,\"../internals/is-object\":74,\"../internals/is-pure\":75,\"../internals/iterate\":77,\"../internals/microtask\":81,\"../internals/native-promise-constructor\":82,\"../internals/new-promise-capability\":86,\"../internals/perform\":105,\"../internals/promise-resolve\":106,\"../internals/redefine\":108,\"../internals/redefine-all\":107,\"../internals/set-species\":116,\"../internals/set-to-string-tag\":117,\"../internals/species-constructor\":121,\"../internals/task\":130,\"../internals/well-known-symbol\":148}],182:[function(e,t,r){var o=e(\"../internals/export\"),n=e(\"../internals/get-built-in\"),s=e(\"../internals/a-function\"),i=e(\"../internals/an-object\"),a=e(\"../internals/is-object\"),l=e(\"../internals/object-create\"),u=e(\"../internals/function-bind\"),e=e(\"../internals/fails\"),c=n(\"Reflect\",\"construct\"),d=e(function(){function e(){}return!(c(function(){},[],e)instanceof e)}),f=!e(function(){c(function(){})}),n=d||f;o({target:\"Reflect\",stat:!0,forced:n,sham:n},{construct:function(e,t){s(e),i(t);var r=arguments.length<3?e:s(arguments[2]);if(f&&!d)return c(e,t,r);if(e==r){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}o=r.prototype,r=l(a(o)?o:Object.prototype),o=Function.apply.call(e,r,t);return a(o)?o:r}})},{\"../internals/a-function\":5,\"../internals/an-object\":10,\"../internals/export\":50,\"../internals/fails\":51,\"../internals/function-bind\":55,\"../internals/get-built-in\":56,\"../internals/is-object\":74,\"../internals/object-create\":90}],183:[function(e,t,r){var o=e(\"../internals/export\"),s=e(\"../internals/is-object\"),i=e(\"../internals/an-object\"),a=e(\"../internals/has\"),l=e(\"../internals/object-get-own-property-descriptor\"),u=e(\"../internals/object-get-prototype-of\");o({target:\"Reflect\",stat:!0},{get:function e(t,r){var o,n=arguments.length<3?t:arguments[2];return i(t)===n?t[r]:(o=l.f(t,r))?a(o,\"value\")?o.value:void 0===o.get?void 0:o.get.call(n):s(o=u(t))?e(o,r,n):void 0}})},{\"../internals/an-object\":10,\"../internals/export\":50,\"../internals/has\":60,\"../internals/is-object\":74,\"../internals/object-get-own-property-descriptor\":93,\"../internals/object-get-prototype-of\":97}],184:[function(e,t,r){var o=e(\"../internals/descriptors\"),n=e(\"../internals/global\"),s=e(\"../internals/is-forced\"),i=e(\"../internals/inherit-if-required\"),a=e(\"../internals/object-define-property\").f,l=e(\"../internals/object-get-own-property-names\").f,u=e(\"../internals/is-regexp\"),c=e(\"../internals/regexp-flags\"),d=e(\"../internals/regexp-sticky-helpers\"),f=e(\"../internals/redefine\"),h=e(\"../internals/fails\"),p=e(\"../internals/internal-state\").set,m=e(\"../internals/set-species\"),y=e(\"../internals/well-known-symbol\")(\"match\"),g=n.RegExp,v=g.prototype,b=/a/g,j=/a/g,_=new g(b)!==b,x=d.UNSUPPORTED_Y;if(o&&s(\"RegExp\",!_||x||h(function(){return j[y]=!1,g(b)!=b||g(j)==j||\"/a/i\"!=g(b,\"i\")}))){for(var w=function(e,t){var r,o=this instanceof w,n=u(e),s=void 0===t;if(!o&&n&&e.constructor===w&&s)return e;_?n&&!s&&(e=e.source):e instanceof w&&(s&&(t=c.call(e)),e=e.source),x&&(r=!!t&&-1E;)!function(t){t in w||a(w,t,{configurable:!0,get:function(){return g[t]},set:function(e){g[t]=e}})}(S[E++]);(v.constructor=w).prototype=v,f(n,\"RegExp\",w)}m(\"RegExp\")},{\"../internals/descriptors\":43,\"../internals/fails\":51,\"../internals/global\":59,\"../internals/inherit-if-required\":67,\"../internals/internal-state\":70,\"../internals/is-forced\":73,\"../internals/is-regexp\":76,\"../internals/object-define-property\":92,\"../internals/object-get-own-property-names\":95,\"../internals/redefine\":108,\"../internals/regexp-flags\":111,\"../internals/regexp-sticky-helpers\":112,\"../internals/set-species\":116,\"../internals/well-known-symbol\":148}],185:[function(e,t,r){\"use strict\";var o=e(\"../internals/export\"),e=e(\"../internals/regexp-exec\");o({target:\"RegExp\",proto:!0,forced:/./.exec!==e},{exec:e})},{\"../internals/export\":50,\"../internals/regexp-exec\":110}],186:[function(e,t,r){\"use strict\";var o=e(\"../internals/redefine\"),n=e(\"../internals/an-object\"),s=e(\"../internals/fails\"),i=e(\"../internals/regexp-flags\"),e=\"toString\",a=RegExp.prototype,l=a[e],s=s(function(){return\"/a/b\"!=l.call({source:\"a\",flags:\"b\"})}),u=l.name!=e;(s||u)&&o(RegExp.prototype,e,function(){var e=n(this),t=String(e.source),r=e.flags;return\"/\"+t+\"/\"+String(void 0===r&&e instanceof RegExp&&!(\"flags\"in a)?i.call(e):r)},{unsafe:!0})},{\"../internals/an-object\":10,\"../internals/fails\":51,\"../internals/redefine\":108,\"../internals/regexp-flags\":111}],187:[function(e,t,r){\"use strict\";var o=e(\"../internals/collection\"),e=e(\"../internals/collection-strong\");t.exports=o(\"Set\",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},e)},{\"../internals/collection\":32,\"../internals/collection-strong\":30}],188:[function(e,t,r){\"use strict\";var o=e(\"../internals/export\"),n=e(\"../internals/object-get-own-property-descriptor\").f,s=e(\"../internals/to-length\"),i=e(\"../internals/not-a-regexp\"),a=e(\"../internals/require-object-coercible\"),l=e(\"../internals/correct-is-regexp-logic\"),e=e(\"../internals/is-pure\"),u=\"\".endsWith,c=Math.min,l=l(\"endsWith\");o({target:\"String\",proto:!0,forced:!!(e||l||(!(o=n(String.prototype,\"endsWith\"))||o.writable))&&!l},{endsWith:function(e){var t=String(a(this)),r=(i(e),1=t.length?{value:void 0,done:!0}:(t=o(t,r),e.index+=t.length,{value:t,done:!1})})},{\"../internals/define-iterator\":41,\"../internals/internal-state\":70,\"../internals/string-multibyte\":123}],191:[function(e,t,r){\"use strict\";var o=e(\"../internals/fix-regexp-well-known-symbol-logic\"),c=e(\"../internals/an-object\"),d=e(\"../internals/to-length\"),n=e(\"../internals/require-object-coercible\"),f=e(\"../internals/advance-string-index\"),h=e(\"../internals/regexp-exec-abstract\");o(\"match\",1,function(o,l,u){return[function(e){var t=n(this),r=null==e?void 0:e[o];return void 0!==r?r.call(e,t):new RegExp(e)[o](String(t))},function(e){var t=u(l,e,this);if(t.done)return t.value;var r=c(e),o=String(this);if(!r.global)return h(r,o);for(var n=r.unicode,s=[],i=r.lastIndex=0;null!==(a=h(r,o));){var a=String(a[0]);\"\"===(s[i]=a)&&(r.lastIndex=f(o,d(r.lastIndex),n)),i++}return 0===i?null:s}]})},{\"../internals/advance-string-index\":8,\"../internals/an-object\":10,\"../internals/fix-regexp-well-known-symbol-logic\":52,\"../internals/regexp-exec-abstract\":109,\"../internals/require-object-coercible\":113,\"../internals/to-length\":136}],192:[function(e,t,r){\"use strict\";var o=e(\"../internals/export\"),n=e(\"../internals/string-pad\").start;o({target:\"String\",proto:!0,forced:e(\"../internals/string-pad-webkit-bug\")},{padStart:function(e){return n(this,e,1]*>)/g,I=/\\$([$&'`]|\\d\\d?)/g;o(\"replace\",2,function(n,j,_,e){var x=e.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,w=e.REPLACE_KEEPS_$0,S=x?\"$\":\"$0\";return[function(e,t){var r=s(this),o=null==e?void 0:e[n];return void 0!==o?o.call(e,r,t):j.call(String(r),e,t)},function(e,t){if(!x&&w||\"string\"==typeof t&&-1===t.indexOf(S)){var r=_(j,e,this,t);if(r.done)return r.value}for(var o,n=E(e),s=String(this),i=\"function\"==typeof t,a=(i||(t=String(t)),n.global),l=(a&&(o=n.unicode,n.lastIndex=0),[]);null!==(h=C(n,s))&&(l.push(h),a);)\"\"===String(h[0])&&(n.lastIndex=O(s,T(n.lastIndex),o));for(var u,c=\"\",d=0,f=0;f>>0;if(0==o)return[];if(void 0===e)return[r];if(!c(e))return p.call(r,e,o);for(var n,s,i,a=[],t=(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\")+(e.sticky?\"y\":\"\"),l=0,u=new RegExp(e.source,t+\"g\");(n=f.call(u,r))&&!(l<(s=u.lastIndex)&&(a.push(r.slice(l,n.index)),1=o));)u.lastIndex===n.index&&u.lastIndex++;return l===r.length?!i&&u.test(\"\")||a.push(\"\"):a.push(r.slice(l)),a.length>o?a.slice(0,o):a}:\"0\".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:p.call(this,e,t)}:p;return[function(e,t){var r=d(this),o=null==e?void 0:e[n];return void 0!==o?o.call(e,r,t):y.call(String(r),e,t)},function(e,t){var r=m(y,e,this,t,y!==p);if(r.done)return r.value;var r=g(e),o=String(this),e=v(r,RegExp),n=r.unicode,s=(r.ignoreCase?\"i\":\"\")+(r.multiline?\"m\":\"\")+(r.unicode?\"u\":\"\")+(S?\"y\":\"g\"),i=new e(S?r:\"^(?:\"+r.source+\")\",s),a=void 0===t?w:t>>>0;if(0==a)return[];if(0===o.length)return null===_(i,o)?[o]:[];for(var l=0,u=0,c=[];ue.key){o.splice(t,0,e);break}t===s&&o.push(e)}r.updateURL()},forEach:function(e){for(var t,r=A(this).entries,o=v(e,16)return;a=0;while(f()){l=null;if(a>0)if(f()==\".\"&&a<4)n++;else return;if(!x.test(f()))return;while(x.test(f())){u=parseInt(f(),10);if(l===null)l=u;else if(l==0)return;else l=l*10+u;if(l>255)return;n++}t[r]=t[r]*256+l;a++;if(a==2||a==4)r++}if(a!=4)return;break}else if(f()==\":\"){n++;if(!f())return}else if(f())return;t[r++]=s}if(o!==null){c=r-o;r=7;while(r!=0&&c>0){d=t[r];t[r--]=t[o+c-1];t[o+--c]=d}}else if(r!=8)return;return t}(t.slice(1,-1)))?void(e.host=r):_;if(k(e))return t=z(t),ne.test(t)||null===(r=function(e){var t=e.split(\".\"),r,o,n,s,i,a,l;if(t.length&&t[t.length-1]==\"\")t.pop();if((r=t.length)>4)return e;for(o=[],n=0;n1&&s.charAt(0)==\"0\"){i=ee.test(s)?16:8;s=s.slice(i==8?1:2)}if(s===\"\")a=0;else{if(!(i==10?re:i==8?te:oe).test(s))return e;a=parseInt(s,i)}o.push(a)}for(n=0;n=Z(256,5-r))return null}else if(a>255)return null}for(l=o.pop(),n=0;n\":1,\"`\":1}),ce=d({},ue,{\"#\":1,\"?\":1,\"{\":1,\"}\":1}),E=d({},ce,{\"/\":1,\":\":1,\";\":1,\"=\":1,\"@\":1,\"[\":1,\"\\\\\":1,\"]\":1,\"^\":1,\"|\":1}),M=function(e,t){var r=V(e,0);return 32f,applyPalette:()=>function(e,t,r=\"rgb565\"){if(!e||!e.buffer)throw new Error(\"quantize() expected RGBA Uint8Array data\");if(!(e instanceof Uint8Array||e instanceof Uint8ClampedArray))throw new Error(\"quantize() expected RGBA Uint8Array data\");if(256>24&255,c=l>>16&255,d=l>>8&255,l=255&l,f=A(l,d,c,u),f=f in a?a[f]:a[f]=function(t,r,o,n,s){let i=0,a=1e100;for(let e=0;ea||(l=u[0],(c+=v(l-t))>a||(l=u[1],(c+=v(l-r))>a||(l=u[2],(c+=v(l-o))>a||(a=c,i=e))))}return i}(l,d,c,u,t);i[e]=f}else{const g=\"rgb444\"===r?P:C;for(let e=0;e>16&255,m=h>>8&255,h=255&h,y=g(h,m,p),y=y in a?a[y]:a[y]=function(t,r,o,n){let s=0,i=1e100;for(let e=0;ei||(a=l[1],(u+=v(a-r))>i||(a=l[2],(u+=v(a-o))>i||(i=u,s=e)))}return s}(h,m,p,t);i[e]=y}}return i},default:()=>h,nearestColor:()=>function(e,t,r=u){return e[l(e,t,r)]},nearestColorIndex:()=>l,nearestColorIndexWithDistance:()=>d,prequantize:()=>function(e,{roundRGB:r=5,roundAlpha:o=10,oneBitAlpha:n=null}={}){const s=new Uint32Array(e.buffer);for(let t=0;t>24&255;var a,l=i>>16&255,u=i>>8&255,i=255&i;e=c(e,o),n&&(a=\"number\"==typeof n?n:127,e=e<=a?0:255),i=c(i,r),u=c(u,r),l=c(l,r),s[t]=e<<24|l<<16|u<<8|i<<0}},quantize:()=>function(e,t,r={}){var{format:o=\"rgb565\",clearAlpha:n=!0,clearAlphaColor:s=0,clearAlphaThreshold:i=0,oneBitAlpha:a=!1}=r;if(!e||!e.buffer)throw new Error(\"quantize() expected RGBA Uint8Array data\");if(!(e instanceof Uint8Array||e instanceof Uint8ClampedArray))throw new Error(\"quantize() expected RGBA Uint8Array data\");e=new Uint32Array(e.buffer);let l=!1!==r.useSqrt;const u=\"rgba4444\"===o,c=function(r,e){const t=\"rgb444\"===e?4096:65536,o=new Array(t),n=r.length;if(\"rgba4444\"===e)for(let t=0;t>24&255,a=s>>16&255,l=s>>8&255,s=255&s,u=A(s,l,a,i);let e=u in o?o[u]:o[u]=D();e.rc+=s,e.gc+=l,e.bc+=a,e.ac+=i,e.cnt++}else if(\"rgb444\"===e)for(let t=0;t>16&255,f=c>>8&255,c=255&c,h=P(c,f,d);let e=h in o?o[h]:o[h]=D();e.rc+=c,e.gc+=f,e.bc+=d,e.cnt++}else for(let t=0;t>16&255,y=p>>8&255,p=255&p,g=C(p,y,m);let e=g in o?o[g]:o[g]=D();e.rc+=p,e.gc+=y,e.bc+=m,e.cnt++}return o}(e,o),d=c.length,f=d-1,h=new Uint32Array(d+1);for(var p=0,m=0;m>1,!(c[y=h[v]].err<=b));g=v)h[g]=y;h[g]=m}var j,_=p-t;for(m=0;m<_;){for(;;){var x=h[1];if((j=c[x]).tm>=j.mtm&&c[j.nn].mtm<=j.tm)break;j.mtm==f?x=h[1]=h[h[0]--]:(I(c,x,!1),j.tm=m);b=c[x].err;for(g=1;(v=g+g)<=h[0]&&(vc[h[v+1]].err&&v++,!(b<=c[y=h[v]].err));g=v)h[g]=y;h[g]=x}var w=c[j.nn],S=j.cnt,E=w.cnt,M=1/(S+E);u&&(j.ac=M*(S*j.ac+E*w.ac)),j.rc=M*(S*j.rc+E*w.rc),j.gc=M*(S*j.gc+E*w.gc),j.bc=M*(S*j.bc+E*w.bc),j.cnt+=w.cnt,j.mtm=++m,c[w.bk].fw=w.fw,c[w.fw].bk=w.bk,w.mtm=f}let T=[];for(m=0;;0){let e=L(Math.round(c[m].rc),0,255),t=L(Math.round(c[m].gc),0,255),r=L(Math.round(c[m].bc),0,255),o=255;u&&(o=L(Math.round(c[m].ac),0,255),a&&(k=\"number\"==typeof a?a:127,o=o<=k?0:255),n&&o<=i&&(e=t=r=s,o=0));var k=u?[e,t,r,o]:[e,t,r];if(function(t,r){for(let e=0;efunction(r,o,e=5){if(r.length&&o.length){var n=r.map(e=>e.slice(0,3)),s=e*e,i=r[0].length;for(let t=0;ti?e.slice(0,3):e.slice();var a=d(n,e.slice(0,3),u),l=a[0],a=a[1];0>>0),0!=t&&(e=Math.max(e,256));const r=s;s=new Uint8Array(e),0>=8,c-=8;if((v>m||h)&&(h?(p=f,m=(1<>=8,c-=8;0>3}function A(e,t,r,o){return e>>4|240&t|(240&r)<<4|(240&o)<<8}function P(e,t,r){return e>>4<<8|240&t|r>>4}function L(e,t,r){return e>8&255)}function O(e,t){for(var r=0;r>1,c=-7,d=r?n-1:0,f=r?-1:1,n=e[t+d];for(d+=f,s=n&(1<<-c)-1,n>>=-c,c+=a;0>=-c,c+=o;0>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,f=o?0:s-1,h=o?1:-1,s=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(o=Math.pow(2,-i))<1&&(i--,o*=2),2<=(t+=1<=i+c?d/o:d*Math.pow(2,1-c))*o&&(i++,o/=2),u<=i+c?(a=0,i=u):1<=i+c?(a=(t*o-1)*Math.pow(2,n),i+=c):(a=t*Math.pow(2,c-1)*Math.pow(2,n),i=0));8<=n;e[r+f]=255&a,f+=h,a/=256,n-=8);for(i=i<Math.abs(e[0])&&(t=1),t=Math.abs(e[2])>Math.abs(e[t])?2:t}function T(e,t){e.f+=t.f,e.b.f+=t.b.f}function f(e,t,r){return e=e.a,t=t.a,r=r.a,t.b.a===e?r.b.a===e?g(t.a,r.a)?b(r.b.a,t.a,r.a)<=0:0<=b(t.b.a,r.a,t.a):b(r.b.a,e,r.a)<=0:r.b.a===e?0<=b(t.b.a,e,t.a):(t=v(t.b.a,e,t.a),(e=v(r.b.a,e,r.a))<=t)}function k(e){e.a.i=null;var t=e.e;t.a.c=t.c,t.c.a=t.a,e.e=null}function O(e,t){m(e.a),e.c=!1,(e.a=t).i=e}function C(e){for(var t=e.a.a;(e=G(e)).a.a===t;);return e.c&&(O(e,t=S(B(e).a.b,e.a.e)),e=G(e)),e}function q(e,t,r){var o=new N;return o.a=r,o.e=p(e.f,t.e,o),r.i=o}function X(e,t){switch(e.s){case 100130:return 0!=(1&t);case 100131:return 0!==t;case 100132:return 0>1]],a[i[u]])?U:ue)(r,u),a[s]=null,l[s]=r.b,r.b=s}else for(r.c[-(s+1)]=null;0Math.max(i.a,l.a))){if(g(s,i)){if(0r.f&&(r.f*=2,r.c=ae(r.c,r.f+1)),0===r.b?n=o:(n=r.b,r.b=r.c[r.b]),r.e[n]=t,r.c[n]=o,r.d[o]=n,r.h&&ue(r,o),n):(r=e.a++,e.c[r]=t,-(r+1))}function se(e){if(0===e.a)return le(e.b);var t=e.c[e.d[e.a-1]];if(0!==e.b.a&&g(F(e.b),t))return le(e.b);for(;--e.a,0e.a||g(o[i],o[l])){n[r[s]=i]=s;break}n[r[s]=l]=s,s=a}}function ue(e,t){for(var r=e.d,o=e.e,n=e.c,s=t,i=r[s];;){var a=s>>1,l=r[a];if(0==a||g(o[l],o[i])){n[r[s]=i]=s;break}n[r[s]=l]=s,s=a}}function N(){this.e=this.a=null,this.f=0,this.c=this.b=this.h=this.d=!1}function B(e){return e.e.c.b}function G(e){return e.e.a.b}(t=r.prototype).x=function(){I(this,0)},t.B=function(e,t){switch(e){case 100142:return;case 100140:switch(t){case 100130:case 100131:case 100132:case 100133:case 100134:return void(this.s=t)}break;case 100141:return void(this.m=!!t);default:return void l(this,100900)}l(this,100901)},t.y=function(e){switch(e){case 100142:return 0;case 100140:return this.s;case 100141:return this.m;default:l(this,100900)}return!1},t.A=function(e,t,r){this.j[0]=e,this.j[1]=t,this.j[2]=r},t.z=function(e,t){var r=t||null;switch(e){case 100100:case 100106:this.h=r;break;case 100104:case 100110:this.l=r;break;case 100101:case 100107:this.k=r;break;case 100102:case 100108:this.i=r;break;case 100103:case 100109:this.p=r;break;case 100105:case 100111:this.o=r;break;case 100112:this.r=r;break;default:l(this,100900)}},t.C=function(e,t){var r=!1,o=[0,0,0];I(this,2);for(var n=0;n<3;++n){var s=e[n];s<-1e150&&(s=-1e150,r=!0),1e150o[u]&&(o[u]=c,n[u]=r)}if(o[1]-a[1]>o[r=0]-a[0]&&(r=1),a[r=o[2]-a[2]>o[r]-a[r]?2:r]>=o[r])i[0]=0,i[1]=0,i[2]=1;else{for(a=l[r],n=n[r],l=[o=0,0,0],a=[a.g[0]-n.g[0],a.g[1]-n.g[1],a.g[2]-n.g[2]],u=[0,0,0],r=s.e;r!==s;r=r.e)u[0]=r.g[0]-n.g[0],u[1]=r.g[1]-n.g[1],u[2]=r.g[2]-n.g[2],l[0]=a[1]*u[2]-a[2]*u[1],l[1]=a[2]*u[0]-a[0]*u[2],l[2]=a[0]*u[1]-a[1]*u[0],o<(c=l[0]*l[0]+l[1]*l[1]+l[2]*l[2])&&(o=c,i[0]=l[0],i[1]=l[1],i[2]=l[2]);o<=0&&(i[0]=i[1]=i[2]=0,i[W(a)]=1)}s=!0}for(l=W(i),r=this.b.c,o=(l+1)%3,n=(l+2)%3,l=0>=1;)++n;if(i=1<>8&255,g[v++]=255&t,g[v++]=t>>8&255,g[v++]=(null!==b?128:0)|n,g[v++]=s,g[v++]=0,null!==b)for(var a=0,l=b.length;a>16&255,g[v++]=u>>8&255,g[v++]=255&u}if(null!==o){if(o<0||65535>8&255,g[v++]=0}var _=!1;this.addFrame=function(e,t,r,o,n,s){if(!0===_&&(--v,_=!1),s=void 0===s?{}:s,e<0||t<0||65535>=1;)++u;var l=1<>8&255,g[v++]=h,g[v++]=0),g[v++]=44,g[v++]=255&e,g[v++]=e>>8&255,g[v++]=255&t,g[v++]=t>>8&255,g[v++]=255&r,g[v++]=r>>8&255,g[v++]=255&o,g[v++]=o>>8&255,g[v++]=!0===i?128|u-1:0,!0===i)for(var p=0,m=a.length;p>16&255,g[v++]=y>>8&255,g[v++]=255&y}return v=function(t,r,e,o){t[r++]=e;var n=r++,s=1<>=8,c-=8,r===n+256&&(t[n]=255,n=r++)}function h(e){d|=e<>=8,c-=8,r===n+256&&(t[n]=255,n=r++);4096===l?(h(s),l=1+a,u=e+1,m={}):(1<>=l,c-=l,y==s)a=1+i,u=(1<<(l=n+1))-1,m=null;else{if(y==i)break;for(var g=y>8,++v;var j=b;if(o>=8;null!==m&&a<4096&&(p[a++]=m<<8|j,u+1<=a&&l<12&&(++l,u=u<<1|1)),m=y}}f!==o&&console.log(\"Warning, gif stream shorter than expected.\")}try{r.GifWriter=o,r.GifReader=function(b){var e=0;if(71!==b[e++]||73!==b[e++]||70!==b[e++]||56!==b[e++]||56!=(b[e++]+1&253)||97!==b[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var j=b[e++]|b[e++]<<8,t=b[e++]|b[e++]<<8,r=b[e++],o=1<<1+(7&r),n=(b[e++],b[e++],null),s=null,i=(r>>7&&(n=e,e+=3*(s=o)),!0),a=[],l=0,u=null,c=0,d=null;for(this.width=j,this.height=t;i&&e>2&7,e++;break;case 254:for(;;){if(!(0<=(h=b[e++])))throw Error(\"Invalid block size\");if(0===h)break;e+=h}break;default:throw new Error(\"Unknown graphic control label: 0x\"+b[e-1].toString(16))}break;case 44:var h,p=b[e++]|b[e++]<<8,m=b[e++]|b[e++]<<8,y=b[e++]|b[e++]<<8,g=b[e++]|b[e++]<<8,v=b[e++],_=v>>6&1,x=1<<1+(7&v),w=n,S=s,E=!1,v=(v>>7&&(E=!0,w=e,e+=3*(S=x)),e);for(e++;;){if(!(0<=(h=b[e++])))throw Error(\"Invalid block size\");if(0===h)break;e+=h}a.push({x:p,y:m,width:y,height:g,has_local_palette:E,palette_offset:w,palette_size:S,data_offset:v,data_length:e-v,transparent_index:u,interlaced:!!_,delay:l,disposal:c});break;case 59:i=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+b[e-1].toString(16))}this.numFrames=function(){return a.length},this.loopCount=function(){return d},this.frameInfo=function(e){if(e<0||e>=a.length)throw new Error(\"Frame index out of range.\");return a[e]},this.decodeAndBlitFrameBGRA=function(e,t){for(var e=this.frameInfo(e),r=e.width*e.height,o=new Uint8Array(r),n=(M(b,e.data_offset,o,r),e.palette_offset),s=e.transparent_index,i=(null===s&&(s=256),e.width),a=j-i,l=i,u=4*(e.y*j+e.x),c=4*((e.y+e.height)*j+e.x),d=u,f=4*a,h=(!0===e.interlaced&&(f+=4*j*7),8),p=0,m=o.length;p>=1)),v===s?d+=4:(y=b[n+3*v],g=b[n+3*v+1],v=b[n+3*v+2],t[d++]=v,t[d++]=g,t[d++]=y,t[d++]=255),--l}},this.decodeAndBlitFrameRGBA=function(e,t){for(var e=this.frameInfo(e),r=e.width*e.height,o=new Uint8Array(r),n=(M(b,e.data_offset,o,r),e.palette_offset),s=e.transparent_index,i=(null===s&&(s=256),e.width),a=j-i,l=i,u=4*(e.y*j+e.x),c=4*((e.y+e.height)*j+e.x),d=u,f=4*a,h=(!0===e.interlaced&&(f+=4*j*7),8),p=0,m=o.length;p>=1)),v===s?d+=4:(y=b[n+3*v],g=b[n+3*v+1],v=b[n+3*v+2],t[d++]=y,t[d++]=g,t[d++]=v,t[d++]=255),--l}}}}catch(e){}},{}],247:[function(Pr,r,o){!function(Ar){var e,t;e=this,t=function(j){\"use strict\";function D(e){if(null==this)throw TypeError();var t,r=String(this),o=r.length,e=e?Number(e):0;if(!((e=e!=e?0:e)<0||o<=e))return 55296<=(t=r.charCodeAt(e))&&t<=56319&&e+1>>16-t;return e.tag>>>=t,e.bitcount-=t,o+r}function $(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,r+=t.table[++n],0<=(o-=t.table[n]););return e.tag=s,e.bitcount-=n,t.trans[r+o]}function ee(e,t,r){for(;;){var o=$(e,t);if(256===o)return U;if(o<256)e.dest[e.destLen++]=o;else for(var n,s=b(e,H[o-=257],W[o]),o=$(e,r),i=n=e.destLen-b(e,q[o],X[o]);i>>=1,o=n,b(s,2,0)){case 0:r=function(e){for(var t,r;8this.x2&&(this.x2=e)),\"number\"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))},a.prototype.addX=function(e){this.addPoint(e,null)},a.prototype.addY=function(e){this.addPoint(null,e)},a.prototype.addBezier=function(e,t,r,o,n,s,i,a){var l=[e,t],u=[r,o],c=[n,s],d=[i,a];this.addPoint(e,t),this.addPoint(i,a);for(var f=0;f<=1;f++){var h,p=6*l[f]-12*u[f]+6*c[f],m=-3*l[f]+9*u[f]-9*c[f]+3*d[f],y=3*u[f]-3*l[f];0==m?0==p||0<(h=-y/p)&&h<1&&(0===f&&this.addX(g(l[f],u[f],c[f],d[f],h)),1===f&&this.addY(g(l[f],u[f],c[f],d[f],h))):(h=Math.pow(p,2)-4*y*m)<0||(0<(y=(-p+Math.sqrt(h))/(2*m))&&y<1&&(0===f&&this.addX(g(l[f],u[f],c[f],d[f],y)),1===f&&this.addY(g(l[f],u[f],c[f],d[f],y))),0<(y=(-p-Math.sqrt(h))/(2*m))&&y<1&&(0===f&&this.addX(g(l[f],u[f],c[f],d[f],y)),1===f&&this.addY(g(l[f],u[f],c[f],d[f],y))))}},a.prototype.addQuad=function(e,t,r,o,n,s){r=e+2/3*(r-e),o=t+2/3*(o-t);this.addBezier(e,t,r,o,r+1/3*(n-e),o+1/3*(s-t),n,s)},f.prototype.moveTo=function(e,t){this.commands.push({type:\"M\",x:e,y:t})},f.prototype.lineTo=function(e,t){this.commands.push({type:\"L\",x:e,y:t})},f.prototype.curveTo=f.prototype.bezierCurveTo=function(e,t,r,o,n,s){this.commands.push({type:\"C\",x1:e,y1:t,x2:r,y2:o,x:n,y:s})},f.prototype.quadTo=f.prototype.quadraticCurveTo=function(e,t,r,o){this.commands.push({type:\"Q\",x1:e,y1:t,x:r,y:o})},f.prototype.close=f.prototype.closePath=function(){this.commands.push({type:\"Z\"})},f.prototype.extend=function(e){var t;if(e.commands)e=e.commands;else if(e instanceof a)return t=e,this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),void this.close();Array.prototype.push.apply(this.commands,e)},f.prototype.getBoundingBox=function(){for(var e=new a,t=0,r=0,o=0,n=0,s=0;s\"},f.prototype.toDOMElement=function(e){var e=this.toPathData(e),t=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");return t.setAttribute(\"d\",e),t};var L={fail:oe,argument:ne,assert:ne},m={},w={},l={};function r(e){return function(){return e}}w.BYTE=function(e){return L.argument(0<=e&&e<=255,\"Byte value should be between 0 and 255.\"),[e]},l.BYTE=r(1),w.CHAR=function(e){return[e.charCodeAt(0)]},l.CHAR=r(1),w.CHARARRAY=function(e){for(var t=[],r=0;r>8&255,255&e]},l.USHORT=r(2),w.SHORT=function(e){return[(e=32768<=e?-(65536-e):e)>>8&255,255&e]},l.SHORT=r(2),w.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},l.UINT24=r(3),w.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},l.ULONG=r(4),w.LONG=function(e){return[(e=2147483648<=e?-(4294967296-e):e)>>24&255,e>>16&255,e>>8&255,255&e]},l.LONG=r(4),w.FIXED=w.ULONG,l.FIXED=l.ULONG,w.FWORD=w.SHORT,l.FWORD=l.SHORT,w.UFWORD=w.USHORT,l.UFWORD=l.USHORT,w.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},l.LONGDATETIME=r(8),w.TAG=function(e){return L.argument(4===e.length,\"Tag should be exactly 4 ASCII characters.\"),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},l.TAG=r(4),w.Card8=w.BYTE,l.Card8=l.BYTE,w.Card16=w.USHORT,l.Card16=l.USHORT,w.OffSize=w.BYTE,l.OffSize=l.BYTE,w.SID=w.USHORT,l.SID=l.USHORT,w.NUMBER=function(e){return-107<=e&&e<=107?[e+139]:108<=e&&e<=1131?[247+((e-=108)>>8),255&e]:-1131<=e&&e<=-108?[251+((e=-e-108)>>8),255&e]:-32768<=e&&e<=32767?w.NUMBER16(e):w.NUMBER32(e)},l.NUMBER=function(e){return w.NUMBER(e).length},w.NUMBER16=function(e){return[28,e>>8&255,255&e]},l.NUMBER16=r(3),w.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},l.NUMBER32=r(5),w.REAL=function(e){for(var t=e.toString(),r=/\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(t),o=(r&&(r=parseFloat(\"1e\"+((r[2]?+r[2]:0)+r[1].length)),t=(Math.round(e*r)/r).toString()),\"\"),n=0,s=t.length;n>8&255,t[t.length]=255&o}return t},l.UTF16=function(e){return 2*e.length};var se,ie={\"x-mac-croatian\":\"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ\",\"x-mac-cyrillic\":\"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю\",\"x-mac-gaelic\":\"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ\",\"x-mac-greek\":\"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­\",\"x-mac-icelandic\":\"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\",\"x-mac-inuit\":\"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł\",\"x-mac-ce\":\"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\",macintosh:\"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\",\"x-mac-romanian\":\"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\",\"x-mac-turkish\":\"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ\"},ae=(m.MACSTRING=function(e,t,r,o){var n=ie[o];if(void 0!==n){for(var s=\"\",i=0;i>8&255,l+256&255)}return s})(e,t,r);return r},w.INDEX=function(e){for(var t=1,r=[t],o=[],n=0;n>8,t[c+1]=255&d,t=t.concat(o[u])}return t},l.TABLE=function(e){for(var t=0,r=e.fields.length,o=0;o>1,a.skip(\"uShort\",3),y.glyphIndexMap={};for(var j,_=new R.Parser(g,v+b+14),x=new R.Parser(g,v+b+16+2*j),w=new R.Parser(g,v+b+16+4*j),S=new R.Parser(g,v+b+16+6*j),E=v+b+16+8*j,M=0;M>4,s=15&s;if(15==i)break;if(o+=n[i],15==s)break;o+=n[s]}return parseFloat(o)}if(32<=t&&t<=246)return t-139;if(247<=t&&t<=250)return 256*(t-247)+e.parseByte()+108;if(251<=t&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error(\"Invalid b0 \"+t)}function Ie(e,t,r){var o=new R.Parser(e,t=void 0!==t?t:0),n=[],s=[];for(r=void 0!==r?r:e.length;o.relativeOffset>1,M.length=0,k=!0}return function e(t){for(var r,o,n,s,i,a,l,u,c,d,f,h,p=0;pMath.abs(h-A)?C=f+M.shift():A=h+M.shift(),E.curveTo(v,b,j,_,l,u),E.curveTo(c,d,f,h,C,A);break;default:console.log(\"Glyph \"+g.index+\": unknown operator 1200\"+m),M.length=0}break;case 14:0>3;break;case 21:2>16),p+=2;break;case 29:i=M.pop()+y.gsubrsBias,(a=y.gsubrs[i])&&e(a);break;case 30:for(;0=r.begin&&e=c.length&&(s=o.parseChar(),r.names.push(o.parseString(s)));break;case 2.5:r.numberOfGlyphs=o.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var a=0;at.value.tag?1:-1}),t.fields=t.fields.concat(o),t.fields=t.fields.concat(n),t}function xt(e,t,r){for(var o=0;o 123 are reserved for internal usage\");h|=1<>>1,s=e[n].tag;if(s===t)return n;s>>1,s=e[n];if(s===t)return n;s>>1,i=(n=e[s]).start;if(i===t)return n;i(n=e[r-1]).end?0:n}function Tt(e,t){this.font=e,this.tableName=t}function kt(e){Tt.call(this,e,\"gpos\")}function i(e){Tt.call(this,e,\"gsub\")}function Ot(e,t,r){for(var o=e.subtables,n=0;nt.points.length-1||o.matchedPoints[1]>n.points.length-1)throw Error(\"Matched points out of range in \"+t.name);var i=t.points[o.matchedPoints[0]],a=n.points[o.matchedPoints[1]],o={xScale:o.xScale,scale01:o.scale01,scale10:o.scale10,yScale:o.yScale,dx:0,dy:0},a=Lt([a],o)[0];o.dx=i.x-a.x,o.dy=i.y-a.y,s=Lt(n.points,o)}t.points=t.points.concat(s)}}return Rt(t.points)}(kt.prototype=Tt.prototype={searchTag:St,binSearch:Et,getTable:function(e){var t=this.font.tables[this.tableName];return t=!t&&e?this.font.tables[this.tableName]=this.createDefaultTable():t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(e){return e.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r=i[t-1].tag,\"Features must be added in alphabetical order.\"),i.push(n={tag:r,feature:{params:0,lookupListIndexes:[]}}),s.push(t),n.feature}},getLookupTables:function(e,t,r,o,n){var e=this.getFeatureTable(e,t,r,n),s=[];if(e){for(var i,a=e.lookupListIndexes,l=this.font.tables[this.tableName].lookups,u=0;u\",s),t.stack.push(Math.round(64*s))}function fr(e,t){var r=t.stack,o=r.pop(),n=t.fv,s=t.pv,i=t.ppem,a=t.deltaBase+16*(e-1),l=t.deltaShift,u=t.z0;j.DEBUG&&console.log(t.step,\"DELTAP[\"+e+\"]\",o,r);for(var c=0;c>4)===i&&(0<=(f=(15&f)-8)&&f++,j.DEBUG&&console.log(t.step,\"DELTAPFIX\",d,\"by\",f*l),d=u[d],n.setRelative(d,d,f*l,s))}}function hr(e,t){var r=t.stack,o=r.pop();j.DEBUG&&console.log(t.step,\"ROUND[]\"),r.push(64*t.round(o/64))}function pr(e,t){var r=t.stack,o=r.pop(),n=t.ppem,s=t.deltaBase+16*(e-1),i=t.deltaShift;j.DEBUG&&console.log(t.step,\"DELTAC[\"+e+\"]\",o,r);for(var a=0;a>4)===n&&(0<=(u=(15&u)-8)&&u++,u=u*i,j.DEBUG&&console.log(t.step,\"DELTACFIX\",l,\"by\",u),t.cvt[l]+=u)}}function mr(e,t){var r,o=t.stack,n=o.pop(),o=o.pop(),s=t.z2[n],i=t.z1[o];j.DEBUG&&console.log(t.step,\"SDPVTL[\"+e+\"]\",n,o),n=e?(r=s.y-i.y,i.x-s.x):(r=i.x-s.x,i.y-s.y),t.dpv=qt(r,n)}function k(e,t){var r=t.stack,o=t.prog,n=t.ip;j.DEBUG&&console.log(t.step,\"PUSHB[\"+e+\"]\");for(var s=0;s\":\"_\")+(o?\"R\":\"_\")+(0===n?\"Gr\":1===n?\"Bl\":2===n?\"Wh\":\"\")+\"]\",e?u+\"(\"+s.cvt[u]+\",\"+a+\")\":\"\",l,\"(d =\",i,\"->\",y*m,\")\"),s.rp1=s.rp0,s.rp2=l,t&&(s.rp0=l)}Ft.prototype.exec=function(e,t){if(\"number\"!=typeof t)throw new Error(\"Point size is not a number!\");if(!(2\",o),a.interpolate(d,s,i,l),a.touch(d)}e.loop=1},lr.bind(void 0,0),lr.bind(void 0,1),function(e){for(var t=e.stack,r=e.rp0,o=e.z0[r],n=e.loop,s=e.fv,i=e.pv,a=e.z1;n--;){var l=t.pop(),u=a[l];j.DEBUG&&console.log(e.step,(1'.concat(n,\"\").concat(t,\"\"),this.dummyDOM||(this.dummyDOM=document.getElementById(o).parentNode),this.descriptions?this.descriptions.fallbackElements||(this.descriptions.fallbackElements={}):this.descriptions={fallbackElements:{}},this.descriptions.fallbackElements[e]?this.descriptions.fallbackElements[e].innerHTML!==n&&(this.descriptions.fallbackElements[e].innerHTML=n):this._describeElementHTML(\"fallback\",e,n),r===this.LABEL&&(this.descriptions.labelElements||(this.descriptions.labelElements={}),this.descriptions.labelElements[e]?this.descriptions.labelElements[e].innerHTML!==n&&(this.descriptions.labelElements[e].innerHTML=n):this._describeElementHTML(\"label\",e,n)))},s.default.prototype._describeHTML=function(e,t){var r,o=this.canvas.id;\"fallback\"===e?(this.dummyDOM.querySelector(\"#\".concat(o+i))?this.dummyDOM.querySelector(\"#\"+o+l).insertAdjacentHTML(\"beforebegin\",'

')):(r='

'),this.dummyDOM.querySelector(\"#\".concat(o,\"accessibleOutput\"))?this.dummyDOM.querySelector(\"#\".concat(o,\"accessibleOutput\")).insertAdjacentHTML(\"beforebegin\",r):this.dummyDOM.querySelector(\"#\".concat(o)).innerHTML=r),this.descriptions.fallback=this.dummyDOM.querySelector(\"#\".concat(o).concat(a)),this.descriptions.fallback.innerHTML=t):\"label\"===e&&(this.dummyDOM.querySelector(\"#\".concat(o+u))?this.dummyDOM.querySelector(\"#\".concat(o+d))&&this.dummyDOM.querySelector(\"#\".concat(o+d)).insertAdjacentHTML(\"beforebegin\",'

')):(r='

'),this.dummyDOM.querySelector(\"#\".concat(o,\"accessibleOutputLabel\"))?this.dummyDOM.querySelector(\"#\".concat(o,\"accessibleOutputLabel\")).insertAdjacentHTML(\"beforebegin\",r):this.dummyDOM.querySelector(\"#\"+o).insertAdjacentHTML(\"afterend\",r)),this.descriptions.label=this.dummyDOM.querySelector(\"#\"+o+c),this.descriptions.label.innerHTML=t)},s.default.prototype._describeElementHTML=function(e,t,r){var o,n=this.canvas.id;\"fallback\"===e?(this.dummyDOM.querySelector(\"#\".concat(n+i))?this.dummyDOM.querySelector(\"#\"+n+l)||this.dummyDOM.querySelector(\"#\"+n+a).insertAdjacentHTML(\"afterend\",'
Canvas elements and their descriptions
')):(o='
Canvas elements and their descriptions
'),this.dummyDOM.querySelector(\"#\".concat(n,\"accessibleOutput\"))?this.dummyDOM.querySelector(\"#\".concat(n,\"accessibleOutput\")).insertAdjacentHTML(\"beforebegin\",o):this.dummyDOM.querySelector(\"#\"+n).innerHTML=o),(o=document.createElement(\"tr\")).id=n+\"_fte_\"+t,this.dummyDOM.querySelector(\"#\"+n+l).appendChild(o),this.descriptions.fallbackElements[t]=this.dummyDOM.querySelector(\"#\".concat(n).concat(\"_fte_\").concat(t)),this.descriptions.fallbackElements[t].innerHTML=r):\"label\"===e&&(this.dummyDOM.querySelector(\"#\".concat(n+u))?this.dummyDOM.querySelector(\"#\".concat(n+d))||this.dummyDOM.querySelector(\"#\"+n+c).insertAdjacentHTML(\"afterend\",'
')):(o='
'),this.dummyDOM.querySelector(\"#\".concat(n,\"accessibleOutputLabel\"))?this.dummyDOM.querySelector(\"#\".concat(n,\"accessibleOutputLabel\")).insertAdjacentHTML(\"beforebegin\",o):this.dummyDOM.querySelector(\"#\"+n).insertAdjacentHTML(\"afterend\",o)),(e=document.createElement(\"tr\")).id=n+\"_lte_\"+t,this.dummyDOM.querySelector(\"#\"+n+d).appendChild(e),this.descriptions.labelElements[t]=this.dummyDOM.querySelector(\"#\".concat(n).concat(\"_lte_\").concat(t)),this.descriptions.labelElements[t].innerHTML=r)};e=s.default;r.default=e},{\"../core/main\":273,\"core-js/modules/es.array.concat\":151,\"core-js/modules/es.regexp.exec\":185,\"core-js/modules/es.string.ends-with\":188,\"core-js/modules/es.string.replace\":194}],254:[function(e,t,r){\"use strict\";e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.string.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;e=(e=e(\"../core/main\"))&&e.__esModule?e:{default:e};e.default.prototype._updateGridOutput=function(e){var t,r,o,n;this.dummyDOM.querySelector(\"#\".concat(e,\"_summary\"))&&(t=this._accessibleOutputs[e],o=function(e,t,r,o){t=\"\".concat(t,\" canvas, \").concat(r,\" by \").concat(o,\" pixels, contains \").concat(e[0]);t=(1===e[0]?\"\".concat(t,\" shape: \"):\"\".concat(t,\" shapes: \")).concat(e[1]);return t}((r=function(e,t){var r,o=\"\",n=\"\",s=0;for(r in t){var i,a=0;for(i in t[r]){var l='
  • ').concat(t[r][i].color,\" \").concat(r,\",\");\"line\"===r?l+=\" location = \".concat(t[r][i].pos,\", length = \").concat(t[r][i].length,\" pixels\"):(l+=\" location = \".concat(t[r][i].pos),\"point\"!==r&&(l+=\", area = \".concat(t[r][i].area,\" %\")),l+=\"
  • \"),o+=l,a++,s++}n=1').concat(t[r][a].color,\" \").concat(r,\"
    \"):'').concat(t[r][a].color,\" \").concat(r,\" midpoint\"),i[t[r][a].loc.locY][t[r][a].loc.locX]?i[t[r][a].loc.locY][t[r][a].loc.locX]=i[t[r][a].loc.locY][t[r][a].loc.locX]+\" \"+l:i[t[r][a].loc.locY][t[r][a].loc.locX]=l,n++}for(o in i){var u,c=\"\";for(u in i[o])c+=\"\",void 0!==i[o][u]&&(c+=i[o][u]),c+=\"\";s=s+c+\"\"}return s}(e,this.ingredients.shapes),o!==t.summary.innerHTML&&(t.summary.innerHTML=o),n!==t.map.innerHTML&&(t.map.innerHTML=n),r.details!==t.shapeDetails.innerHTML&&(t.shapeDetails.innerHTML=r.details),this._accessibleOutputs[e]=t)};e=e.default;r.default=e},{\"../core/main\":273,\"core-js/modules/es.array.concat\":151,\"core-js/modules/es.array.from\":157,\"core-js/modules/es.array.map\":163,\"core-js/modules/es.string.iterator\":190}],255:[function(e,t,r){\"use strict\";e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.fill\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.number.to-fixed\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.fill\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.number.to-fixed\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/web.dom-collections.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var o=(e=e(\"../core/main\"))&&e.__esModule?e:{default:e};function l(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t')):this.dummyDOM.querySelector(\"#\".concat(s)).innerHTML='
    '))):\"Label\"===t&&(r=s+e+(i=t),this.dummyDOM.querySelector(\"#\".concat(o=s+\"accessibleOutput\"+t))||(this.dummyDOM.querySelector(\"#\".concat(s,\"_Label\"))?this.dummyDOM.querySelector(\"#\".concat(s,\"_Label\")):this.dummyDOM.querySelector(\"#\".concat(s))).insertAdjacentHTML(\"afterend\",'
    '))),this._accessibleOutputs[r]={},\"textOutput\"===e?(i=\"#\".concat(s,\"gridOutput\").concat(i),n='
    Text Output

      '),this.dummyDOM.querySelector(i)?this.dummyDOM.querySelector(i).insertAdjacentHTML(\"beforebegin\",n):this.dummyDOM.querySelector(\"#\".concat(o)).innerHTML=n,this._accessibleOutputs[r].list=this.dummyDOM.querySelector(\"#\".concat(r,\"_list\"))):\"gridOutput\"===e&&(i=\"#\".concat(s,\"textOutput\").concat(i),n='
      Grid Output

        '),this.dummyDOM.querySelector(i)?this.dummyDOM.querySelector(i).insertAdjacentHTML(\"afterend\",n):this.dummyDOM.querySelector(\"#\".concat(o)).innerHTML=n,this._accessibleOutputs[r].map=this.dummyDOM.querySelector(\"#\".concat(r,\"_map\"))),this._accessibleOutputs[r].shapeDetails=this.dummyDOM.querySelector(\"#\".concat(r,\"_shapeDetails\")),this._accessibleOutputs[r].summary=this.dummyDOM.querySelector(\"#\".concat(r,\"_summary\"))},o.default.prototype._updateAccsOutput=function(){var e=this.canvas.id;JSON.stringify(this.ingredients.shapes)!==this.ingredients.pShapes&&(this.ingredients.pShapes=JSON.stringify(this.ingredients.shapes),this._accessibleOutputs.text&&this._updateTextOutput(e+\"textOutput\"),this._accessibleOutputs.grid&&this._updateGridOutput(e+\"gridOutput\"),this._accessibleOutputs.textLabel&&this._updateTextOutput(e+\"textOutputLabel\"),this._accessibleOutputs.gridLabel&&this._updateGridOutput(e+\"gridOutputLabel\"))},o.default.prototype._accsBackground=function(e){this.ingredients.pShapes=JSON.stringify(this.ingredients.shapes),this.ingredients.shapes={},this.ingredients.colors.backgroundRGBA!==e&&(this.ingredients.colors.backgroundRGBA=e,this.ingredients.colors.background=this._rgbColorName(e))},o.default.prototype._accsCanvasColors=function(e,t){\"fill\"===e?this.ingredients.colors.fillRGBA!==t&&(this.ingredients.colors.fillRGBA=t,this.ingredients.colors.fill=this._rgbColorName(t)):\"stroke\"===e&&this.ingredients.colors.strokeRGBA!==t&&(this.ingredients.colors.strokeRGBA=t,this.ingredients.colors.stroke=this._rgbColorName(t))},o.default.prototype._accsOutput=function(e,t){\"ellipse\"===e&&t[2]===t[3]?e=\"circle\":\"rectangle\"===e&&t[2]===t[3]&&(e=\"square\");var r,o,n={},s=!0,i=function(e,t){var r;e=\"rectangle\"===e||\"ellipse\"===e||\"arc\"===e||\"circle\"===e||\"square\"===e?(r=Math.round(t[0]+t[2]/2),Math.round(t[1]+t[3]/2)):\"triangle\"===e?(r=(t[0]+t[2]+t[4])/3,(t[1]+t[3]+t[5])/3):\"quadrilateral\"===e?(r=(t[0]+t[2]+t[4]+t[6])/4,(t[1]+t[3]+t[5]+t[7])/4):\"line\"===e?(r=(t[0]+t[2])/2,(t[1]+t[3])/2):(r=t[0],t[1]);return[r,e]}(e,t);if(\"line\"===e?(n.color=this.ingredients.colors.stroke,n.length=Math.round(this.dist(t[0],t[1],t[2],t[3])),r=this._getPos(t[0],[1]),o=this._getPos(t[2],[3]),n.loc=u(i,this.width,this.height),n.pos=r===o?\"at \".concat(r):\"from \".concat(r,\" to \").concat(o)):(\"point\"===e?n.color=this.ingredients.colors.stroke:(n.color=this.ingredients.colors.fill,n.area=this._getArea(e,t)),n.pos=this._getPos.apply(this,l(i)),n.loc=u(i,this.width,this.height)),this.ingredients.shapes[e]){if(this.ingredients.shapes[e]!==[n]){for(var a in this.ingredients.shapes[e])JSON.stringify(this.ingredients.shapes[e][a])===JSON.stringify(n)&&(s=!1);!0===s&&this.ingredients.shapes[e].push(n)}}else this.ingredients.shapes[e]=[n]},o.default.prototype._getPos=function(e,t){var e=new DOMPointReadOnly(e,t),t=this._renderer.isP3D?new DOMMatrix(this._renderer.uMVMatrix.mat4):this.drawingContext.getTransform(),e=e.matrixTransform(t),t=e.x,e=e.y,r=this.width,o=this.height;return t<.4*r?e<.4*o?\"top left\":.6*oMath.PI?n+=o:n-=o)):\"ellipse\"===e||\"circle\"===e?n=3.14*t[2]/2*t[3]/2:\"line\"===e||\"point\"===e?n=0:\"quadrilateral\"===e?n=Math.abs((t[6]+t[0])*(t[7]-t[1])+(t[0]+t[2])*(t[1]-t[3])+(t[2]+t[4])*(t[3]-t[5])+(t[4]+t[6])*(t[5]-t[7]))/2:\"rectangle\"===e||\"square\"===e?n=t[2]*t[3]:\"triangle\"===e&&(n=Math.abs(t[0]*(t[3]-t[5])+t[2]*(t[5]-t[1])+t[4]*(t[1]-t[3]))/2),this.width*this._pixelDensity),i=this.height*this._pixelDensity,a=[new DOMPoint(0,0),new DOMPoint(s,0),new DOMPoint(s,i),new DOMPoint(0,i)],l=(this._renderer.isP3D?new DOMMatrix(this._renderer.uMVMatrix.mat4):this.drawingContext.getTransform()).inverse(),u=a.map(function(e){return e.matrixTransform(l)}),c=Math.abs((u[3].x+u[0].x)*(u[3].y-u[0].y)+(u[0].x+u[1].x)*(u[0].y-u[1].y)+(u[1].x+u[2].x)*(u[1].y-u[2].y)+(u[2].x+u[3].x)*(u[2].y-u[3].y))/2;return Math.round(100*n/c)};e=o.default;r.default=e},{\"../core/main\":273,\"core-js/modules/es.array.concat\":151,\"core-js/modules/es.array.fill\":154,\"core-js/modules/es.array.from\":157,\"core-js/modules/es.array.iterator\":160,\"core-js/modules/es.array.map\":163,\"core-js/modules/es.number.to-fixed\":173,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.regexp.to-string\":186,\"core-js/modules/es.string.iterator\":190,\"core-js/modules/es.symbol\":202,\"core-js/modules/es.symbol.description\":200,\"core-js/modules/es.symbol.iterator\":201,\"core-js/modules/web.dom-collections.iterator\":236}],256:[function(e,t,r){\"use strict\";e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.concat\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;e=(e=e(\"../core/main\"))&&e.__esModule?e:{default:e};e.default.prototype._updateTextOutput=function(e){var t,r,o,n;this.dummyDOM.querySelector(\"#\".concat(e,\"_summary\"))&&(t=this._accessibleOutputs[e],o=function(e,t,r,o){r=\"Your output is a, \".concat(r,\" by \").concat(o,\" pixels, \").concat(t,\" canvas containing the following\");r=1===e?\"\".concat(r,\" shape:\"):\"\".concat(r,\" \").concat(e,\" shapes:\");return r}((r=function(e,t){var r,o=\"\",n=0;for(r in t)for(var s in t[r]){var i='
      • ').concat(t[r][s].color,\" \").concat(r,\"\");\"line\"===r?i+=\", \".concat(t[r][s].pos,\", \").concat(t[r][s].length,\" pixels long.
      • \"):(i+=\", at \".concat(t[r][s].pos),\"point\"!==r&&(i+=\", covering \".concat(t[r][s].area,\"% of the canvas\")),i+=\".\"),o+=i,n++}return{numShapes:n,listShapes:o}}(e,this.ingredients.shapes)).numShapes,this.ingredients.colors.background,this.width,this.height),n=function(e,t){var r,o=\"\",n=0;for(r in t)for(var s in t[r]){var i='').concat(t[r][s].color,\" \").concat(r,\"\");\"line\"===r?i+=\"location = \".concat(t[r][s].pos,\"length = \").concat(t[r][s].length,\" pixels\"):(i+=\"location = \".concat(t[r][s].pos,\"\"),\"point\"!==r&&(i+=\" area = \".concat(t[r][s].area,\"%\")),i+=\"\"),o+=i,n++}return o}(e,this.ingredients.shapes),o!==t.summary.innerHTML&&(t.summary.innerHTML=o),r.listShapes!==t.list.innerHTML&&(t.list.innerHTML=r.listShapes),n!==t.shapeDetails.innerHTML&&(t.shapeDetails.innerHTML=n),this._accessibleOutputs[e]=t)};e=e.default;r.default=e},{\"../core/main\":273,\"core-js/modules/es.array.concat\":151}],257:[function(e,t,r){\"use strict\";var o=(o=e(\"./core/main\"))&&o.__esModule?o:{default:o};e(\"./core/constants\"),e(\"./core/environment\"),e(\"./core/friendly_errors/stacktrace\"),e(\"./core/friendly_errors/validate_params\"),e(\"./core/friendly_errors/file_errors\"),e(\"./core/friendly_errors/fes_core\"),e(\"./core/friendly_errors/sketch_reader\"),e(\"./core/helpers\"),e(\"./core/legacy\"),e(\"./core/preload\"),e(\"./core/p5.Element\"),e(\"./core/p5.Graphics\"),e(\"./core/p5.Renderer\"),e(\"./core/p5.Renderer2D\"),e(\"./core/rendering\"),e(\"./core/shim\"),e(\"./core/structure\"),e(\"./core/transform\"),e(\"./core/shape/2d_primitives\"),e(\"./core/shape/attributes\"),e(\"./core/shape/curves\"),e(\"./core/shape/vertex\"),e(\"./accessibility/outputs\"),e(\"./accessibility/textOutput\"),e(\"./accessibility/gridOutput\"),e(\"./accessibility/color_namer\"),e(\"./color/color_conversion\"),e(\"./color/creating_reading\"),e(\"./color/p5.Color\"),e(\"./color/setting\"),e(\"./data/p5.TypedDict\"),e(\"./data/local_storage.js\"),e(\"./dom/dom\"),e(\"./accessibility/describe\"),e(\"./events/acceleration\"),e(\"./events/keyboard\"),e(\"./events/mouse\"),e(\"./events/touch\"),e(\"./image/filters\"),e(\"./image/image\"),e(\"./image/loading_displaying\"),e(\"./image/p5.Image\"),e(\"./image/pixels\"),e(\"./io/files\"),e(\"./io/p5.Table\"),e(\"./io/p5.TableRow\"),e(\"./io/p5.XML\"),e(\"./math/calculation\"),e(\"./math/math\"),e(\"./math/noise\"),e(\"./math/p5.Vector\"),e(\"./math/random\"),e(\"./math/trigonometry\"),e(\"./typography/attributes\"),e(\"./typography/loading_displaying\"),e(\"./typography/p5.Font\"),e(\"./utilities/array_functions\"),e(\"./utilities/conversion\"),e(\"./utilities/string_functions\"),e(\"./utilities/time_date\"),e(\"./webgl/3d_primitives\"),e(\"./webgl/interaction\"),e(\"./webgl/light\"),e(\"./webgl/loading\"),e(\"./webgl/material\"),e(\"./webgl/p5.Camera\"),e(\"./webgl/p5.Geometry\"),e(\"./webgl/p5.Matrix\"),e(\"./webgl/p5.RendererGL.Immediate\"),e(\"./webgl/p5.RendererGL\"),e(\"./webgl/p5.RendererGL.Retained\"),e(\"./webgl/p5.Framebuffer\"),e(\"./webgl/p5.Shader\"),e(\"./webgl/p5.RenderBuffer\"),e(\"./webgl/p5.Texture\"),e(\"./webgl/text\"),e(\"./core/init\"),t.exports=o.default},{\"./accessibility/color_namer\":252,\"./accessibility/describe\":253,\"./accessibility/gridOutput\":254,\"./accessibility/outputs\":255,\"./accessibility/textOutput\":256,\"./color/color_conversion\":258,\"./color/creating_reading\":259,\"./color/p5.Color\":260,\"./color/setting\":261,\"./core/constants\":262,\"./core/environment\":263,\"./core/friendly_errors/fes_core\":264,\"./core/friendly_errors/file_errors\":265,\"./core/friendly_errors/sketch_reader\":266,\"./core/friendly_errors/stacktrace\":267,\"./core/friendly_errors/validate_params\":268,\"./core/helpers\":269,\"./core/init\":270,\"./core/legacy\":272,\"./core/main\":273,\"./core/p5.Element\":274,\"./core/p5.Graphics\":275,\"./core/p5.Renderer\":276,\"./core/p5.Renderer2D\":277,\"./core/preload\":278,\"./core/rendering\":279,\"./core/shape/2d_primitives\":280,\"./core/shape/attributes\":281,\"./core/shape/curves\":282,\"./core/shape/vertex\":283,\"./core/shim\":284,\"./core/structure\":285,\"./core/transform\":286,\"./data/local_storage.js\":287,\"./data/p5.TypedDict\":288,\"./dom/dom\":289,\"./events/acceleration\":290,\"./events/keyboard\":291,\"./events/mouse\":292,\"./events/touch\":293,\"./image/filters\":294,\"./image/image\":295,\"./image/loading_displaying\":296,\"./image/p5.Image\":297,\"./image/pixels\":298,\"./io/files\":299,\"./io/p5.Table\":300,\"./io/p5.TableRow\":301,\"./io/p5.XML\":302,\"./math/calculation\":303,\"./math/math\":304,\"./math/noise\":305,\"./math/p5.Vector\":306,\"./math/random\":307,\"./math/trigonometry\":308,\"./typography/attributes\":309,\"./typography/loading_displaying\":310,\"./typography/p5.Font\":311,\"./utilities/array_functions\":312,\"./utilities/conversion\":313,\"./utilities/string_functions\":314,\"./utilities/time_date\":315,\"./webgl/3d_primitives\":316,\"./webgl/interaction\":317,\"./webgl/light\":318,\"./webgl/loading\":319,\"./webgl/material\":320,\"./webgl/p5.Camera\":321,\"./webgl/p5.Framebuffer\":322,\"./webgl/p5.Geometry\":323,\"./webgl/p5.Matrix\":324,\"./webgl/p5.RenderBuffer\":325,\"./webgl/p5.RendererGL\":328,\"./webgl/p5.RendererGL.Immediate\":326,\"./webgl/p5.RendererGL.Retained\":327,\"./webgl/p5.Shader\":329,\"./webgl/p5.Texture\":330,\"./webgl/text\":331}],258:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;e=(e=e(\"../core/main\"))&&e.__esModule?e:{default:e};e.default.ColorConversion={_hsbaToHSLA:function(e){var t=e[0],r=e[1],o=e[2],n=(2-r)*o/2;return 0!=n&&(1==n?r=0:n<.5?r/=2-r:r=r*o/(2-2*n)),[t,r,n,e[3]]},_hsbaToRGBA:function(e){var t,r,o,n,s,i=6*e[0],a=e[1],l=e[2];return 0===a?[l,l,l,e[3]]:(r=l*(1-a),o=l*(1-a*(i-(t=Math.floor(i)))),a=l*(1-a*(1+t-i)),i=1===t?(n=o,s=l,r):2===t?(n=r,s=l,a):3===t?(n=r,s=o,l):4===t?(n=a,s=r,l):5===t?(n=l,s=r,o):(n=l,s=a,r),[n,s,i,e[3]])},_hslaToHSBA:function(e){var t=e[0],r=e[1],o=e[2],n=o<.5?(1+r)*o:o+r-o*r;return[t,r=2*(n-o)/n,n,e[3]]},_hslaToRGBA:function(e){var t,r=6*e[0],o=e[1],n=e[2];return 0===o?[n,n,n,e[3]]:[(t=function(e,t,r){return e<0?e+=6:6<=e&&(e-=6),e<1?t+(r-t)*e:e<3?r:e<4?t+(r-t)*(4-e):t})(2+r,o=2*n-(n=n<.5?(1+o)*n:n+o-n*o),n),t(r,o,n),t(r-2,o,n),e[3]]},_rgbaToHSBA:function(e){var t,r,o=e[0],n=e[1],s=e[2],i=Math.max(o,n,s),a=i-Math.min(o,n,s);return 0==a?r=t=0:(r=a/i,o===i?t=(n-s)/a:n===i?t=2+(s-o)/a:s===i&&(t=4+(o-n)/a),t<0?t+=6:6<=t&&(t-=6)),[t/6,r,i,e[3]]},_rgbaToHSLA:function(e){var t,r,o=e[0],n=e[1],s=e[2],i=Math.max(o,n,s),a=Math.min(o,n,s),l=i+a,a=i-a;return 0==a?r=t=0:(r=l<1?a/l:a/(2-l),o===i?t=(n-s)/a:n===i?t=2+(s-o)/a:s===i&&(t=4+(o-n)/a),t<0?t+=6:6<=t&&(t-=6)),[t/6,r,l/2,e[3]]}};e=e.default.ColorConversion;r.default=e},{\"../core/main\":273}],259:[function(e,t,r){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":o(e)})(e)}e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.weak-map\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.array.map\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var l=(n=e(\"../core/main\"))&&n.__esModule?n:{default:n},u=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e(\"../core/constants\"));function a(){var e;return\"function\"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}e(\"./p5.Color\"),e(\"../core/friendly_errors/validate_params\"),e(\"../core/friendly_errors/file_errors\"),e(\"../core/friendly_errors/fes_core\"),l.default.prototype.alpha=function(e){return l.default._validateParameters(\"alpha\",arguments),this.color(e)._getAlpha()},l.default.prototype.blue=function(e){return l.default._validateParameters(\"blue\",arguments),this.color(e)._getBlue()},l.default.prototype.brightness=function(e){return l.default._validateParameters(\"brightness\",arguments),this.color(e)._getBrightness()},l.default.prototype.color=function(){var e;return l.default._validateParameters(\"color\",arguments),arguments[0]instanceof l.default.Color?arguments[0]:(e=arguments[0]instanceof Array?arguments[0]:arguments,new l.default.Color(this,e))},l.default.prototype.green=function(e){return l.default._validateParameters(\"green\",arguments),this.color(e)._getGreen()},l.default.prototype.hue=function(e){return l.default._validateParameters(\"hue\",arguments),this.color(e)._getHue()},l.default.prototype.lerpColor=function(e,t,r){l.default._validateParameters(\"lerpColor\",arguments);var o,n,s,i=this._colorMode,a=this._colorMaxes;if(i===u.RGB)n=e.levels.map(function(e){return e/255}),s=t.levels.map(function(e){return e/255});else if(i===u.HSB)e._getBrightness(),t._getBrightness(),n=e.hsba,s=t.hsba;else{if(i!==u.HSL)throw new Error(\"\".concat(i,\"cannot be used for interpolation.\"));e._getLightness(),t._getLightness(),n=e.hsla,s=t.hsla}return r=Math.max(Math.min(r,1),0),void 0===this.lerp&&(this.lerp=function(e,t,r){return r*(t-e)+e}),e=this.lerp(n[0],s[0],r),t=this.lerp(n[1],s[1],r),o=this.lerp(n[2],s[2],r),n=this.lerp(n[3],s[3],r),e*=a[i][0],t*=a[i][1],o*=a[i][2],n*=a[i][3],this.color(e,t,o,n)},l.default.prototype.lightness=function(e){return l.default._validateParameters(\"lightness\",arguments),this.color(e)._getLightness()},l.default.prototype.red=function(e){return l.default._validateParameters(\"red\",arguments),this.color(e)._getRed()},l.default.prototype.saturation=function(e){return l.default._validateParameters(\"saturation\",arguments),this.color(e)._getSaturation()};var n=l.default;r.default=n},{\"../core/constants\":262,\"../core/friendly_errors/fes_core\":264,\"../core/friendly_errors/file_errors\":265,\"../core/friendly_errors/validate_params\":268,\"../core/main\":273,\"./p5.Color\":260,\"core-js/modules/es.array.iterator\":160,\"core-js/modules/es.array.map\":163,\"core-js/modules/es.object.get-own-property-descriptor\":176,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.string.iterator\":190,\"core-js/modules/es.symbol\":202,\"core-js/modules/es.symbol.description\":200,\"core-js/modules/es.symbol.iterator\":201,\"core-js/modules/es.weak-map\":234,\"core-js/modules/web.dom-collections.iterator\":236}],260:[function(e,t,r){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":o(e)})(e)}e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.regexp.constructor\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.trim\"),e(\"core-js/modules/es.weak-map\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.regexp.constructor\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.trim\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n=s(e(\"../core/main\")),d=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e(\"../core/constants\")),f=s(e(\"./color_conversion\"));function a(){var e;return\"function\"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var r=0;r\"].indexOf(r[0])?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e}},this)},parseFFOrSafari:function(e){return e.stack.split(\"\\n\").filter(function(e){return!e.match(o)},this).map(function(e){var t,r;return-1===(e=-1 eval\")?e.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g,\":$1\"):e).indexOf(\"@\")&&-1===e.indexOf(\":\")?{functionName:e}:{functionName:(r=e.match(t=/((.*\".+\"[^@]*)?[^@]*)(?:@)/))&&r[1]?r[1]:void 0,fileName:(r=this.extractLocation(e.replace(t,\"\")))[0],lineNumber:r[1],columnNumber:r[2],source:e}},this)},parseOpera:function(e){return!e.stacktrace||-1e.stacktrace.split(\"\\n\").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var t=/Line (\\d+).*script (?:in )?(\\S+)/i,r=e.message.split(\"\\n\"),o=[],n=2,s=r.length;n/,\"$2\").replace(/\\([^)]*\\)/g,\"\")||void 0,args:void 0===(t=r.match(/\\(([^)]*)\\)/)?r.replace(/^[^(]+\\(([^)]*)\\)$/,\"$1\"):t)||\"[arguments not available]\"===t?void 0:t.split(\",\"),fileName:o[0],lineNumber:o[1],columnNumber:o[2],source:e}},this)}}}e.default._getErrorStackParser=function(){return new o};e=e.default;r.default=e},{\"../main\":273,\"core-js/modules/es.array.filter\":155,\"core-js/modules/es.array.index-of\":159,\"core-js/modules/es.array.join\":161,\"core-js/modules/es.array.map\":163,\"core-js/modules/es.array.slice\":164,\"core-js/modules/es.regexp.exec\":185,\"core-js/modules/es.string.match\":191,\"core-js/modules/es.string.replace\":194,\"core-js/modules/es.string.split\":196}],268:[function(e,t,r){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.for-each\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.index-of\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.last-index-of\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.function.name\"),e(\"core-js/modules/es.map\"),e(\"core-js/modules/es.number.constructor\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.get-prototype-of\"),e(\"core-js/modules/es.object.keys\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.reflect.construct\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.set\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.split\"),e(\"core-js/modules/es.weak-map\"),e(\"core-js/modules/web.dom-collections.for-each\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.for-each\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.index-of\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.last-index-of\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.function.name\"),e(\"core-js/modules/es.map\"),e(\"core-js/modules/es.number.constructor\"),e(\"core-js/modules/es.object.get-prototype-of\"),e(\"core-js/modules/es.object.keys\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.reflect.construct\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.set\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.split\"),e(\"core-js/modules/web.dom-collections.for-each\"),e(\"core-js/modules/web.dom-collections.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n=(n=e(\"../main\"))&&n.__esModule?n:{default:n};(function(e){if(e&&e.__esModule)return;if(null===e||\"object\"!==a(e)&&\"function\"!=typeof e)return;var t=i();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o)})(e(\"../constants\")),e(\"../internationalization\");function i(){var e;return\"function\"!=typeof WeakMap?null:(e=new WeakMap,i=function(){return e},e)}function a(e){return(a=\"function\"==typeof Symbol&&\"symbol\"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":o(e)})(e)}n.default._validateParameters=n.default._clearValidateParamsCache=function(){};e=n.default;r.default=e},{\"../../../docs/parameterData.json\":void 0,\"../constants\":262,\"../internationalization\":271,\"../main\":273,\"core-js/modules/es.array.concat\":151,\"core-js/modules/es.array.for-each\":156,\"core-js/modules/es.array.includes\":158,\"core-js/modules/es.array.index-of\":159,\"core-js/modules/es.array.iterator\":160,\"core-js/modules/es.array.join\":161,\"core-js/modules/es.array.last-index-of\":162,\"core-js/modules/es.array.map\":163,\"core-js/modules/es.array.slice\":164,\"core-js/modules/es.function.name\":167,\"core-js/modules/es.map\":168,\"core-js/modules/es.number.constructor\":171,\"core-js/modules/es.object.get-own-property-descriptor\":176,\"core-js/modules/es.object.get-prototype-of\":178,\"core-js/modules/es.object.keys\":179,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.reflect.construct\":182,\"core-js/modules/es.regexp.exec\":185,\"core-js/modules/es.regexp.to-string\":186,\"core-js/modules/es.set\":187,\"core-js/modules/es.string.includes\":189,\"core-js/modules/es.string.iterator\":190,\"core-js/modules/es.string.split\":196,\"core-js/modules/es.symbol\":202,\"core-js/modules/es.symbol.description\":200,\"core-js/modules/es.symbol.iterator\":201,\"core-js/modules/es.weak-map\":234,\"core-js/modules/web.dom-collections.for-each\":235,\"core-js/modules/web.dom-collections.iterator\":236}],269:[function(e,t,r){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":o(e)})(e)}e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.weak-map\"),e(\"core-js/modules/web.dom-collections.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var s=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e(\"./constants\"));function a(){var e;return\"function\"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}r.default={modeAdjust:function(e,t,r,o,n){return n===s.CORNER?{x:e,y:t,w:r,h:o}:n===s.CORNERS?{x:e,y:t,w:r-e,h:o-t}:n===s.RADIUS?{x:e-r,y:t-o,w:2*r,h:2*o}:n===s.CENTER?{x:e-.5*r,y:t-.5*o,w:r,h:o}:void 0}}},{\"./constants\":262,\"core-js/modules/es.array.iterator\":160,\"core-js/modules/es.object.get-own-property-descriptor\":176,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.string.iterator\":190,\"core-js/modules/es.symbol\":202,\"core-js/modules/es.symbol.description\":200,\"core-js/modules/es.symbol.iterator\":201,\"core-js/modules/es.weak-map\":234,\"core-js/modules/web.dom-collections.iterator\":236}],270:[function(e,t,r){\"use strict\";e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.promise\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.promise\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/web.dom-collections.iterator\");var o=(n=e(\"../core/main\"))&&n.__esModule?n:{default:n};e(\"./internationalization\");var n=Promise.resolve();Promise.all([new Promise(function(e,t){\"complete\"===document.readyState?e():window.addEventListener(\"load\",e,!1)}),n]).then(function(){void 0!==window._setupDone?console.warn(\"p5.js seems to have been imported multiple times. Please remove the duplicate import\"):window.mocha||(window.setup&&\"function\"==typeof window.setup||window.draw&&\"function\"==typeof window.draw)&&!o.default.instance&&new o.default})},{\"../core/main\":273,\"./internationalization\":271,\"core-js/modules/es.array.iterator\":160,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.promise\":181,\"core-js/modules/es.string.iterator\":190,\"core-js/modules/web.dom-collections.iterator\":236}],271:[function(e,t,r){\"use strict\";e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.object.keys\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.promise\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.split\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.object.keys\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.promise\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.split\"),e(\"core-js/modules/web.dom-collections.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.setTranslatorLanguage=r.currentTranslatorLanguage=r.availableTranslatorLanguages=r.initialize=r.translator=void 0;var n,s,o=a(e(\"i18next\")),i=a(e(\"i18next-browser-languagedetector\"));function a(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var r=0;r=i.width||t>=i.height?[0,0,0,0]:this._getPixel(e,t);n=new a.default.Image(r,o);return n.canvas.getContext(\"2d\").drawImage(i,e,t,r*s,o*s,0,0,r,o),n}},{key:\"textLeading\",value:function(e){return\"number\"==typeof e?(this._setProperty(\"_leadingSet\",!0),this._setProperty(\"_textLeading\",e),this._pInst):this._textLeading}},{key:\"textStyle\",value:function(e){return e?(e!==A.NORMAL&&e!==A.ITALIC&&e!==A.BOLD&&e!==A.BOLDITALIC||this._setProperty(\"_textStyle\",e),this._applyTextProperties()):this._textStyle}},{key:\"textAscent\",value:function(){return null===this._textAscent&&this._updateTextMetrics(),this._textAscent}},{key:\"textDescent\",value:function(){return null===this._textDescent&&this._updateTextMetrics(),this._textDescent}},{key:\"textAlign\",value:function(e,t){return void 0!==e?(this._setProperty(\"_textAlign\",e),void 0!==t&&this._setProperty(\"_textBaseline\",t),this._applyTextProperties()):{horizontal:this._textAlign,vertical:this._textBaseline}}},{key:\"textWrap\",value:function(e){return this._setProperty(\"_textWrap\",e),this._textWrap}},{key:\"text\",value:function(e,t,r,o,n){var s,i,a,l,u=this._pInst,c=this._textWrap,d=Number.MAX_VALUE,f=r;if((this._doFill||this._doStroke)&&void 0!==e){if(s=(e=(e=\"string\"!=typeof e?e.toString():e).replace(/(\\t)/g,\" \")).split(\"\\n\"),void 0!==o){switch(this._rectMode===A.CENTER&&(t-=o/2),this._textAlign){case A.CENTER:t+=o/2;break;case A.RIGHT:t+=o}if(void 0!==n){this._rectMode===A.CENTER&&(r-=n/2,f-=n/2);var e=r,h=u.textAscent();switch(this._textBaseline){case A.BOTTOM:l=r+n,r=Math.max(l,r),f+=h;break;case A.CENTER:l=r+n/2,r=Math.max(l,r),f+=h/2}d=r+n-h,this._textBaseline===A.CENTER&&(d=e+n-h/2)}else this._textBaseline!==A.BOTTOM&&this._textBaseline!==A.CENTER||(f=r-(e=u.textSize()*this._textLeading)/2,d=r+e/2);if(c===A.WORD){for(var p=[],m=0;ma.HALF_PI&&e<=3*a.HALF_PI?Math.atan(r/o*Math.tan(e))+a.PI:Math.atan(r/o*Math.tan(e))+a.TWO_PI,t=t<=a.HALF_PI?Math.atan(r/o*Math.tan(t)):t>a.HALF_PI&&t<=3*a.HALF_PI?Math.atan(r/o*Math.tan(t))+a.PI:Math.atan(r/o*Math.tan(t))+a.TWO_PI),tp||Math.abs(this.accelerationY-this.pAccelerationY)>p||Math.abs(this.accelerationZ-this.pAccelerationZ)>p)&&s.deviceMoved(),\"function\"==typeof s.deviceTurned&&(t=this.rotationX+180,e=this.pRotationX+180,r=l+180,0>>16,e[1+r]=(65280&t[o])>>>8,e[2+r]=255&t[o],e[3+r]=(4278190080&t[o])>>>24},_toImageData:function(e){return e instanceof ImageData?e:e.getContext(\"2d\").getImageData(0,0,e.width,e.height)},_createImageData:function(e,t){return V._tmpCanvas=document.createElement(\"canvas\"),V._tmpCtx=V._tmpCanvas.getContext(\"2d\"),this._tmpCtx.createImageData(e,t)},apply:function(e,t,r){var o=e.getContext(\"2d\"),n=o.getImageData(0,0,e.width,e.height),t=t(n,r);t instanceof ImageData?o.putImageData(t,0,0,0,0,e.width,e.height):o.putImageData(n,0,0,0,0,e.width,e.height)},threshold:function(e,t){for(var r=V._toPixels(e),o=(void 0===t&&(t=.5),Math.floor(255*t)),n=0;n>8)/o,r[n+1]=255*(i*t>>8)/o,r[n+2]=255*(a*t>>8)/o}},dilate:function(e){for(var t,r,o,n,s,i,a,l,u,c=V._toPixels(e),d=0,f=c.length?c.length/4:0,h=new Int32Array(f);d>16&255)+151*(n>>8&255)+28*(255&n))<(a=77*(u>>16&255)+151*(u>>8&255)+28*(255&u))&&(o=u,n=a),n<(a=77*((u=V._getARGB(c,l))>>16&255)+151*(u>>8&255)+28*(255&u))&&(o=u,n=a),n<(l=77*(s>>16&255)+151*(s>>8&255)+28*(255&s))&&(o=s,n=l),n<(u=77*(i>>16&255)+151*(i>>8&255)+28*(255&i))&&(o=i,n=u),h[d++]=o;V._setPixels(c,h)},erode:function(e){for(var t,r,o,n,s,i,a,l,u,c=V._toPixels(e),d=0,f=c.length?c.length/4:0,h=new Int32Array(f);d>16&255)+151*(u>>8&255)+28*(255&u))<(n=77*(n>>16&255)+151*(n>>8&255)+28*(255&n))&&(o=u,n=a),(a=77*((u=V._getARGB(c,l))>>16&255)+151*(u>>8&255)+28*(255&u))>16&255)+151*(s>>8&255)+28*(255&s))>16&255)+151*(i>>8&255)+28*(255&i))>>24],r+=j[(16711680&I)>>16],o+=j[(65280&I)>>8],n+=j[255&I],t+=B[b],i++}E[a=k+g]=s/t,M[a]=r/t,T[a]=o/t,F[a]=n/t}k+=f}for(u=(l=-U)*f,v=k=0;v\"+p.length.toString()+\" out of \"+c.toString()),e.next=48,new Promise(function(e){return setTimeout(e,0)});e.next=50;break;case 48:e.next=39;break;case 50:i||m.html(\"Frames processed, generating color palette...\"),this.loop(),this.pixelDensity(h),v=(0,A.GIFEncoder)(),b=function(e){for(var t=new Uint8Array(e.length*e[0].length),r=0;r\"+S.toString()+\" out of \"+c.toString()),e.next=68,new Promise(function(e){return setTimeout(e,0)});case 68:S++,e.next=60;break;case 71:v.finish(),k=v.bytesView(),k=new Blob([k],{type:\"image/gif\"}),p=[],this._recording=!1,this.loop(),i||(m.html(\"Done. Downloading your gif!🌸\"),0=t&&(t=Math.floor(r.timeDisplayed/t),r.timeDisplayed=0,r.lastChangeTime=e,r.displayIndex+=t,r.loopCount=Math.floor(r.displayIndex/r.numFrames),null!==r.loopLimit&&r.loopCount>=r.loopLimit?r.playing=!1:(e=r.displayIndex%r.numFrames,this.drawingContext.putImageData(r.frames[e].image,0,0),r.displayIndex=e,this.setModified(!0))))}},{key:\"_setProperty\",value:function(e,t){this[e]=t,this.setModified(!0)}},{key:\"loadPixels\",value:function(){s.default.Renderer2D.prototype.loadPixels.call(this),this.setModified(!0)}},{key:\"updatePixels\",value:function(e,t,r,o){s.default.Renderer2D.prototype.updatePixels.call(this,e,t,r,o),this.setModified(!0)}},{key:\"get\",value:function(e,t,r,o){return s.default._validateParameters(\"p5.Image.get\",arguments),s.default.Renderer2D.prototype.get.apply(this,arguments)}},{key:\"_getPixel\",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r/g,\">\").replace(/\"/g,\""\").replace(/'/g,\"'\")}function i(e,t){t&&!0!==t&&\"true\"!==t||(t=\"\");var r=\"\";return(e=e||\"untitled\")&&e.includes(\".\")&&(r=e.split(\".\").pop()),t&&r!==t&&(r=t,e=\"\".concat(e,\".\").concat(r)),[e,r]}e(\"../core/friendly_errors/validate_params\"),e(\"../core/friendly_errors/file_errors\"),e(\"../core/friendly_errors/fes_core\"),v.default.prototype.loadJSON=function(){for(var e=arguments.length,t=new Array(e),r=0;r\"),n.print(\"\");if(n.print(' '),n.print(\"\"),n.print(\"\"),n.print(\" \"),\"0\"!==s[0]){n.print(\" \");for(var c=0;c\".concat(d)),n.print(\" \")}n.print(\" \")}for(var f=0;f\");for(var h=0;h\".concat(p)),n.print(\" \")}n.print(\" \")}n.print(\"
        \"),n.print(\"\"),n.print(\"\")}n.close(),n.clear()},v.default.prototype.writeFile=function(e,t,r){var o=\"application/octet-stream\",e=(v.default.prototype._isSafari()&&(o=\"text/plain\"),new Blob(e,{type:o}));v.default.prototype.downloadFile(e,t,r)},v.default.prototype.downloadFile=function(e,t,r){var o,t=i(t,r),r=t[0];e instanceof Blob?n.default.saveAs(e,r):((o=document.createElement(\"a\")).href=e,o.download=r,o.onclick=function(e){document.body.removeChild(e.target),e.stopPropagation()},o.style.display=\"none\",document.body.appendChild(o),v.default.prototype._isSafari()&&(e=(e='Hello, Safari user! To download this file...\\n1. Go to File --\\x3e Save As.\\n2. Choose \"Page Source\" as the Format.\\n')+'3. Name it with this extension: .\"'.concat(t[1],'\"'),alert(e)),o.click())},v.default.prototype._checkFileExtension=i,v.default.prototype._isSafari=function(){return 0>>0},getSeed:function(){return t},rand:function(){return(r=(1664525*r+1013904223)%o)/o}};n.setSeed(e),j=new Array(4096);for(var s=0;s<4096;s++)j[s]=n.rand()},e.default);r.default=e},{\"../core/main\":273}],306:[function(e,t,r){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":o(e)})(e)}e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.every\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.array.some\"),e(\"core-js/modules/es.math.sign\"),e(\"core-js/modules/es.number.constructor\"),e(\"core-js/modules/es.number.is-finite\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.sub\"),e(\"core-js/modules/es.weak-map\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.every\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.array.some\"),e(\"core-js/modules/es.math.sign\"),e(\"core-js/modules/es.number.constructor\"),e(\"core-js/modules/es.number.is-finite\"),e(\"core-js/modules/es.string.sub\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var a=(n=e(\"../core/main\"))&&n.__esModule?n:{default:n},s=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e(\"../core/constants\"));function l(){var e;return\"function\"!=typeof WeakMap?null:(e=new WeakMap,l=function(){return e},e)}function u(e,t){for(var r=0;r>>0},n.default.prototype.randomSeed=function(e){this._lcgSetSeed(s,e),this._gaussian_previous=!1},n.default.prototype.random=function(e,t){var r,o;return n.default._validateParameters(\"random\",arguments),r=null!=this[s]?this._lcg(s):Math.random(),void 0===e?r:void 0===t?e instanceof Array?e[Math.floor(r*e.length)]:r*e:(th&&(b=d,v=a,s=l,d=x+h*(i&&x=t?r.substring(r.length-t,r.length):r}},o.default.prototype.unhex=function(e){return e instanceof Array?e.map(o.default.prototype.unhex):parseInt(\"0x\".concat(e),16)};e=o.default;r.default=e},{\"../core/main\":273,\"core-js/modules/es.array.map\":163,\"core-js/modules/es.number.constructor\":171,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.regexp.to-string\":186,\"core-js/modules/es.string.repeat\":193}],314:[function(e,t,r){\"use strict\";e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.filter\"),e(\"core-js/modules/es.array.index-of\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.number.to-fixed\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.regexp.constructor\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.match\"),e(\"core-js/modules/es.string.pad-start\"),e(\"core-js/modules/es.string.replace\"),e(\"core-js/modules/es.string.split\"),e(\"core-js/modules/es.string.trim\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.filter\"),e(\"core-js/modules/es.array.index-of\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.join\"),e(\"core-js/modules/es.array.map\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.number.to-fixed\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.regexp.constructor\"),e(\"core-js/modules/es.regexp.exec\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.string.match\"),e(\"core-js/modules/es.string.pad-start\"),e(\"core-js/modules/es.string.replace\"),e(\"core-js/modules/es.string.split\"),e(\"core-js/modules/es.string.trim\"),e(\"core-js/modules/web.dom-collections.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var s=(u=e(\"../core/main\"))&&u.__esModule?u:{default:u};function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)){var r=[],o=!0,n=!1,s=void 0;try{for(var i,a=e[Symbol.iterator]();!(o=(i=a.next()).done)&&(r.push(i.value),!t||r.length!==t);o=!0);}catch(e){n=!0,s=e}finally{try{o||null==a.return||a.return()}finally{if(n)throw s}}return r}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function o(e,t,r){var o=i(e.toString().split(\".\"),2),n=o[0],o=o[1];return void 0===r?(n=n.padStart(t,\"0\"),o?n+\".\"+o:n):(n=(e=i(e.toFixed(r).toString().split(\".\"),2))[0],o=e[1],(n=n.padStart(t,\"0\"))+\".\"+o)}function n(e,t){var r=(e=e.toString()).indexOf(\".\"),o=-1!==r?e.substring(r):\"\",e=(e=-1!==r?e.substring(0,r):e).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\");if(0===t)o=\"\";else if(void 0!==t)if(t>o.length)for(var n=t-(o+=-1===r?\".\":\"\").length+1,s=0;s=_.TWO_PI?\"\".concat(c=\"ellipse\",\"|\"):\"\".concat(c=\"arc\",\"|\").concat(s,\"|\").concat(i,\"|\").concat(a,\"|\")).concat(l,\"|\"),c=(this.geometryInHash(u)||((t=new S.default.Geometry(l,1,function(){if(s.toFixed(10)!==i.toFixed(10)){a!==_.PIE&&void 0!==a||(this.vertices.push(new S.default.Vector(.5,.5,0)),this.uvs.push([.5,.5]));for(var e=0;e<=l;e++){var t=(i-s)*(e/l)+s,r=.5+Math.cos(t)/2,t=.5+Math.sin(t)/2;this.vertices.push(new S.default.Vector(r,t,0)),this.uvs.push([r,t]),e>5&31)/31,(p>>10&31)/31):(r=i,o=a,l)),new x.default.Vector(y,g,v)),j=1;j<=3;j++){var _=m+12*j,_=new x.default.Vector(u.getFloat32(_,!0),u.getFloat32(4+_,!0),u.getFloat32(8+_,!0));e.vertices.push(_),e.vertexNormals.push(b),d&&s.push(r,o,n)}e.faces.push([3*h,3*h+1,3*h+2]),e.uvs.push([0,0],[0,0],[0,0])}}(e,t);else{t=new DataView(t);if(!(\"TextDecoder\"in window))return console.warn(\"Sorry, ASCII STL loading only works in browsers that support TextDecoder (https://caniuse.com/#feat=textencoder)\");t=new TextDecoder(\"utf-8\").decode(t).split(\"\\n\");!function(e,t){for(var r,o,n=\"\",s=[],i=0;ithis.cameraFar&&(i=this.cameraFar),Math.acos(Math.max(-1,Math.min(1,_.default.Vector.dot(o,n))))+t),t=e;(r<=0||r>=Math.PI)&&(this.upX*=-1,this.upY*=-1,this.upZ*=-1),n.mult(Math.cos(r)),a.mult(Math.cos(t)*Math.sin(r)),s.mult(Math.sin(t)*Math.sin(r)),o.set(n).add(a).add(s),this.eyeX=i*o.x+this.centerX,this.eyeY=i*o.y+this.centerY,this.eyeZ=i*o.z+this.centerZ,this.camera(this.eyeX,this.eyeY,this.eyeZ,this.centerX,this.centerY,this.centerZ,this.upX,this.upY,this.upZ)}},{key:\"_orbitFree\",value:function(e,t,r){var o=this.eyeX-this.centerX,n=this.eyeY-this.centerY,s=this.eyeZ-this.centerZ,i=Math.hypot(o,n,s),o=new _.default.Vector(o,n,s).normalize(),n=new _.default.Vector(this.upX,this.upY,this.upZ),s=new _.default.Vector.cross(n,o).normalize(),a=new _.default.Vector.cross(o,s),l=Math.atan2(t,e),l=(a.mult(Math.sin(l)),s.mult(Math.cos(l)).add(a),Math.sqrt(e*e+t*t)),a=new _.default.Vector.cross(o,s),e=((i=(i*=Math.pow(10,r))this.cameraFar&&(i=this.cameraFar),Math.cos(l)),t=Math.sin(l),r=n.dot(o),l=n.dot(s),u=r*e+l*t,r=-r*t+l*e,l=n.dot(a);n.x=u*o.x+r*s.x+l*a.x,n.y=u*o.y+r*s.y+l*a.y,n.z=u*o.z+r*s.z+l*a.z,s.mult(-t),o.mult(e).add(s).mult(i),this.camera(o.x+this.centerX,o.y+this.centerY,o.z+this.centerZ,this.centerX,this.centerY,this.centerZ,n.x,n.y,n.z)}},{key:\"_isActive\",value:function(){return this===this._renderer._curCamera}}])&&n(e.prototype,r),o&&n(e,o),t}(),_.default.prototype.setCamera=function(e){this._renderer._curCamera=e,this._renderer.uPMatrix.set(e.projMatrix.mat4[0],e.projMatrix.mat4[1],e.projMatrix.mat4[2],e.projMatrix.mat4[3],e.projMatrix.mat4[4],e.projMatrix.mat4[5],e.projMatrix.mat4[6],e.projMatrix.mat4[7],e.projMatrix.mat4[8],e.projMatrix.mat4[9],e.projMatrix.mat4[10],e.projMatrix.mat4[11],e.projMatrix.mat4[12],e.projMatrix.mat4[13],e.projMatrix.mat4[14],e.projMatrix.mat4[15])};e=_.default.Camera;r.default=e},{\"../core/main\":273,\"core-js/modules/es.array.slice\":164,\"core-js/modules/es.math.hypot\":169,\"core-js/modules/es.string.sub\":198}],322:[function(e,t,r){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.fill\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.get-prototype-of\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.reflect.construct\"),e(\"core-js/modules/es.reflect.get\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.typed-array.float32-array\"),e(\"core-js/modules/es.typed-array.uint8-array\"),e(\"core-js/modules/es.typed-array.uint8-clamped-array\"),e(\"core-js/modules/es.typed-array.copy-within\"),e(\"core-js/modules/es.typed-array.every\"),e(\"core-js/modules/es.typed-array.fill\"),e(\"core-js/modules/es.typed-array.filter\"),e(\"core-js/modules/es.typed-array.find\"),e(\"core-js/modules/es.typed-array.find-index\"),e(\"core-js/modules/es.typed-array.for-each\"),e(\"core-js/modules/es.typed-array.includes\"),e(\"core-js/modules/es.typed-array.index-of\"),e(\"core-js/modules/es.typed-array.iterator\"),e(\"core-js/modules/es.typed-array.join\"),e(\"core-js/modules/es.typed-array.last-index-of\"),e(\"core-js/modules/es.typed-array.map\"),e(\"core-js/modules/es.typed-array.reduce\"),e(\"core-js/modules/es.typed-array.reduce-right\"),e(\"core-js/modules/es.typed-array.reverse\"),e(\"core-js/modules/es.typed-array.set\"),e(\"core-js/modules/es.typed-array.slice\"),e(\"core-js/modules/es.typed-array.some\"),e(\"core-js/modules/es.typed-array.sort\"),e(\"core-js/modules/es.typed-array.subarray\"),e(\"core-js/modules/es.typed-array.to-locale-string\"),e(\"core-js/modules/es.typed-array.to-string\"),e(\"core-js/modules/es.weak-map\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.fill\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.get-prototype-of\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.reflect.construct\"),e(\"core-js/modules/es.reflect.get\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.typed-array.float32-array\"),e(\"core-js/modules/es.typed-array.uint8-array\"),e(\"core-js/modules/es.typed-array.uint8-clamped-array\"),e(\"core-js/modules/es.typed-array.copy-within\"),e(\"core-js/modules/es.typed-array.every\"),e(\"core-js/modules/es.typed-array.fill\"),e(\"core-js/modules/es.typed-array.filter\"),e(\"core-js/modules/es.typed-array.find\"),e(\"core-js/modules/es.typed-array.find-index\"),e(\"core-js/modules/es.typed-array.for-each\"),e(\"core-js/modules/es.typed-array.includes\"),e(\"core-js/modules/es.typed-array.index-of\"),e(\"core-js/modules/es.typed-array.iterator\"),e(\"core-js/modules/es.typed-array.join\"),e(\"core-js/modules/es.typed-array.last-index-of\"),e(\"core-js/modules/es.typed-array.map\"),e(\"core-js/modules/es.typed-array.reduce\"),e(\"core-js/modules/es.typed-array.reduce-right\"),e(\"core-js/modules/es.typed-array.reverse\"),e(\"core-js/modules/es.typed-array.set\"),e(\"core-js/modules/es.typed-array.slice\"),e(\"core-js/modules/es.typed-array.some\"),e(\"core-js/modules/es.typed-array.sort\"),e(\"core-js/modules/es.typed-array.subarray\"),e(\"core-js/modules/es.typed-array.to-locale-string\"),e(\"core-js/modules/es.typed-array.to-string\"),e(\"core-js/modules/web.dom-collections.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var h=(x=e(\"../core/main\"))&&x.__esModule?x:{default:x},i=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!==c(e)&&\"function\"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e(\"../core/constants\")),n=e(\"./p5.Texture\"),p=e(\"./p5.RendererGL\");function a(){var e;return\"function\"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}function l(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t=this.width||t>=this.height)&&(console.warn(\"The x and y values passed to p5.Framebuffer.get are outside of its range and will be clamped.\"),e=this.target.constrain(e,0,this.width-1),t=this.target.constrain(t,0,this.height-1)),(0,p.readPixelWebGL)(this.gl,this.framebuffer,e*this.density,t*this.density,n.format,n.type);e=this.target.constrain(e,0,this.width-1),t=this.target.constrain(t,0,this.height-1),r=this.target.constrain(r,1,this.width-e),o=this.target.constrain(o,1,this.height-t);for(var s=(0,p.readPixelsWebGL)(void 0,this.gl,this.framebuffer,e*this.density,t*this.density,r*this.density,o*this.density,n.format,n.type),i=new Uint8ClampedArray(r*o*this.density*this.density*4),a=(i.fill(255),n.type===this.gl.RGB?3:4),l=0;lthis.vertices.length-1-this.detailX;o--)e.add(this.vertexNormals[o]);e=a.default.Vector.div(e,this.detailX);for(var n=this.vertices.length-1;n>this.vertices.length-1-this.detailX;n--)this.vertexNormals[n]=e;return this}},{key:\"_makeTriangleEdges\",value:function(){for(var e=this.edges.length=0;e 65535 triangles. Your web browser does not support the WebGL Extension OES_element_index_uint.\");r.drawElements(r.TRIANGLES,t.vertexCount,t.indexBufferType,0)}else r.drawArrays(e||r.TRIANGLES,0,t.vertexCount)},a.default.RendererGL.prototype._drawPoints=function(e,t){var r=this.GL,o=this._getImmediatePointShader();this._setPointUniforms(o),this._bindBuffer(t,r.ARRAY_BUFFER,this._vToNArray(e),Float32Array,r.STATIC_DRAW),o.enableAttrib(o.attributes.aPosition,3),this._applyColorBlend(this.curStrokeColor),r.drawArrays(r.Points,0,e.length),o.unbindShader()},a.default.RendererGL);r.default=u},{\"../core/constants\":262,\"../core/main\":273,\"./p5.RenderBuffer\":325,\"./p5.RendererGL\":328,\"core-js/modules/es.array.fill\":154,\"core-js/modules/es.array.iterator\":160,\"core-js/modules/es.array.some\":165,\"core-js/modules/es.object.get-own-property-descriptor\":176,\"core-js/modules/es.object.keys\":179,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.string.iterator\":190,\"core-js/modules/es.symbol\":202,\"core-js/modules/es.symbol.description\":200,\"core-js/modules/es.symbol.iterator\":201,\"core-js/modules/es.typed-array.copy-within\":203,\"core-js/modules/es.typed-array.every\":204,\"core-js/modules/es.typed-array.fill\":205,\"core-js/modules/es.typed-array.filter\":206,\"core-js/modules/es.typed-array.find\":208,\"core-js/modules/es.typed-array.find-index\":207,\"core-js/modules/es.typed-array.float32-array\":209,\"core-js/modules/es.typed-array.for-each\":211,\"core-js/modules/es.typed-array.includes\":212,\"core-js/modules/es.typed-array.index-of\":213,\"core-js/modules/es.typed-array.iterator\":216,\"core-js/modules/es.typed-array.join\":217,\"core-js/modules/es.typed-array.last-index-of\":218,\"core-js/modules/es.typed-array.map\":219,\"core-js/modules/es.typed-array.reduce\":221,\"core-js/modules/es.typed-array.reduce-right\":220,\"core-js/modules/es.typed-array.reverse\":222,\"core-js/modules/es.typed-array.set\":223,\"core-js/modules/es.typed-array.slice\":224,\"core-js/modules/es.typed-array.some\":225,\"core-js/modules/es.typed-array.sort\":226,\"core-js/modules/es.typed-array.subarray\":227,\"core-js/modules/es.typed-array.to-locale-string\":228,\"core-js/modules/es.typed-array.to-string\":229,\"core-js/modules/es.typed-array.uint16-array\":230,\"core-js/modules/es.typed-array.uint32-array\":231,\"core-js/modules/es.weak-map\":234,\"core-js/modules/web.dom-collections.iterator\":236}],328:[function(e,t,r){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.copy-within\"),e(\"core-js/modules/es.array.every\"),e(\"core-js/modules/es.array.fill\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.array.some\"),e(\"core-js/modules/es.map\"),e(\"core-js/modules/es.object.assign\"),e(\"core-js/modules/es.object.get-own-property-descriptor\"),e(\"core-js/modules/es.object.get-prototype-of\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.reflect.construct\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.set\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.typed-array.float32-array\"),e(\"core-js/modules/es.typed-array.float64-array\"),e(\"core-js/modules/es.typed-array.int16-array\"),e(\"core-js/modules/es.typed-array.uint8-array\"),e(\"core-js/modules/es.typed-array.uint16-array\"),e(\"core-js/modules/es.typed-array.uint32-array\"),e(\"core-js/modules/es.typed-array.copy-within\"),e(\"core-js/modules/es.typed-array.every\"),e(\"core-js/modules/es.typed-array.fill\"),e(\"core-js/modules/es.typed-array.filter\"),e(\"core-js/modules/es.typed-array.find\"),e(\"core-js/modules/es.typed-array.find-index\"),e(\"core-js/modules/es.typed-array.for-each\"),e(\"core-js/modules/es.typed-array.includes\"),e(\"core-js/modules/es.typed-array.index-of\"),e(\"core-js/modules/es.typed-array.iterator\"),e(\"core-js/modules/es.typed-array.join\"),e(\"core-js/modules/es.typed-array.last-index-of\"),e(\"core-js/modules/es.typed-array.map\"),e(\"core-js/modules/es.typed-array.reduce\"),e(\"core-js/modules/es.typed-array.reduce-right\"),e(\"core-js/modules/es.typed-array.reverse\"),e(\"core-js/modules/es.typed-array.set\"),e(\"core-js/modules/es.typed-array.slice\"),e(\"core-js/modules/es.typed-array.some\"),e(\"core-js/modules/es.typed-array.sort\"),e(\"core-js/modules/es.typed-array.subarray\"),e(\"core-js/modules/es.typed-array.to-locale-string\"),e(\"core-js/modules/es.typed-array.to-string\"),e(\"core-js/modules/es.weak-map\"),e(\"core-js/modules/web.dom-collections.iterator\"),e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.description\"),e(\"core-js/modules/es.symbol.iterator\"),e(\"core-js/modules/es.array.concat\"),e(\"core-js/modules/es.array.copy-within\"),e(\"core-js/modules/es.array.every\"),e(\"core-js/modules/es.array.fill\"),e(\"core-js/modules/es.array.from\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.slice\"),e(\"core-js/modules/es.array.some\"),e(\"core-js/modules/es.map\"),e(\"core-js/modules/es.object.assign\"),e(\"core-js/modules/es.object.get-prototype-of\"),e(\"core-js/modules/es.object.to-string\"),e(\"core-js/modules/es.reflect.construct\"),e(\"core-js/modules/es.regexp.to-string\"),e(\"core-js/modules/es.set\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.string.iterator\"),e(\"core-js/modules/es.typed-array.float32-array\"),e(\"core-js/modules/es.typed-array.float64-array\"),e(\"core-js/modules/es.typed-array.int16-array\"),e(\"core-js/modules/es.typed-array.uint8-array\"),e(\"core-js/modules/es.typed-array.uint16-array\"),e(\"core-js/modules/es.typed-array.uint32-array\"),e(\"core-js/modules/es.typed-array.copy-within\"),e(\"core-js/modules/es.typed-array.every\"),e(\"core-js/modules/es.typed-array.fill\"),e(\"core-js/modules/es.typed-array.filter\"),e(\"core-js/modules/es.typed-array.find\"),e(\"core-js/modules/es.typed-array.find-index\"),e(\"core-js/modules/es.typed-array.for-each\"),e(\"core-js/modules/es.typed-array.includes\"),e(\"core-js/modules/es.typed-array.index-of\"),e(\"core-js/modules/es.typed-array.iterator\"),e(\"core-js/modules/es.typed-array.join\"),e(\"core-js/modules/es.typed-array.last-index-of\"),e(\"core-js/modules/es.typed-array.map\"),e(\"core-js/modules/es.typed-array.reduce\"),e(\"core-js/modules/es.typed-array.reduce-right\"),e(\"core-js/modules/es.typed-array.reverse\"),e(\"core-js/modules/es.typed-array.set\"),e(\"core-js/modules/es.typed-array.slice\"),e(\"core-js/modules/es.typed-array.some\"),e(\"core-js/modules/es.typed-array.sort\"),e(\"core-js/modules/es.typed-array.subarray\"),e(\"core-js/modules/es.typed-array.to-locale-string\"),e(\"core-js/modules/es.typed-array.to-string\"),e(\"core-js/modules/web.dom-collections.iterator\"),Object.defineProperty(r,\"__esModule\",{value:!0}),r.readPixelsWebGL=w,r.readPixelWebGL=S,r.default=void 0;var g=n(e(\"../core/main\")),i=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!==u(e)&&\"function\"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e(\"../core/constants\")),a=n(e(\"libtess\"));e(\"./p5.Shader\"),e(\"./p5.Camera\"),e(\"../core/p5.Renderer\"),e(\"./p5.Matrix\"),e(\"path\");function l(){var e;return\"function\"!=typeof WeakMap?null:(e=new WeakMap,l=function(){return e},e)}function n(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":o(e)})(e)}function c(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t vTexCoord.y;\\n bool y1 = p1.y > vTexCoord.y;\\n bool y2 = p2.y > vTexCoord.y;\\n\\n // could web be under the curve (after t1)?\\n if (y1 ? !y2 : y0) {\\n // add the coverage for t1\\n coverage.x += saturate(C1.x + 0.5);\\n // calculate the anti-aliasing for t1\\n weight.x = min(weight.x, abs(C1.x));\\n }\\n\\n // are we outside the curve (after t2)?\\n if (y1 ? !y0 : y2) {\\n // subtract the coverage for t2\\n coverage.x -= saturate(C2.x + 0.5);\\n // calculate the anti-aliasing for t2\\n weight.x = min(weight.x, abs(C2.x));\\n }\\n}\\n\\n// this is essentially the same as coverageX, but with the axes swapped\\nvoid coverageY(vec2 p0, vec2 p1, vec2 p2) {\\n\\n vec2 C1, C2;\\n calulateCrossings(p0, p1, p2, C1, C2);\\n\\n bool x0 = p0.x > vTexCoord.x;\\n bool x1 = p1.x > vTexCoord.x;\\n bool x2 = p2.x > vTexCoord.x;\\n\\n if (x1 ? !x2 : x0) {\\n coverage.y -= saturate(C1.y + 0.5);\\n weight.y = min(weight.y, abs(C1.y));\\n }\\n\\n if (x1 ? !x0 : x2) {\\n coverage.y += saturate(C2.y + 0.5);\\n weight.y = min(weight.y, abs(C2.y));\\n }\\n}\\n\\nvoid main() {\\n\\n // calculate the pixel scale based on screen-coordinates\\n pixelScale = hardness / fwidth(vTexCoord);\\n\\n // which grid cell is this pixel in?\\n ivec2 gridCoord = ifloor(vTexCoord * vec2(uGridSize));\\n\\n // intersect curves in this row\\n {\\n // the index into the row info bitmap\\n int rowIndex = gridCoord.y + uGridOffset.y;\\n // fetch the info texel\\n vec4 rowInfo = getTexel(uSamplerRows, rowIndex, uGridImageSize);\\n // unpack the rowInfo\\n int rowStrokeIndex = getInt16(rowInfo.xy);\\n int rowStrokeCount = getInt16(rowInfo.zw);\\n\\n for (int iRowStroke = INT(0); iRowStroke < N; iRowStroke++) {\\n if (iRowStroke >= rowStrokeCount)\\n break;\\n\\n // each stroke is made up of 3 points: the start and control point\\n // and the start of the next curve.\\n // fetch the indices of this pair of strokes:\\n vec4 strokeIndices = getTexel(uSamplerRowStrokes, rowStrokeIndex++, uCellsImageSize);\\n\\n // unpack the stroke index\\n int strokePos = getInt16(strokeIndices.xy);\\n\\n // fetch the two strokes\\n vec4 stroke0 = getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\\n vec4 stroke1 = getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\\n\\n // calculate the coverage\\n coverageX(stroke0.xy, stroke0.zw, stroke1.xy);\\n }\\n }\\n\\n // intersect curves in this column\\n {\\n int colIndex = gridCoord.x + uGridOffset.x;\\n vec4 colInfo = getTexel(uSamplerCols, colIndex, uGridImageSize);\\n int colStrokeIndex = getInt16(colInfo.xy);\\n int colStrokeCount = getInt16(colInfo.zw);\\n \\n for (int iColStroke = INT(0); iColStroke < N; iColStroke++) {\\n if (iColStroke >= colStrokeCount)\\n break;\\n\\n vec4 strokeIndices = getTexel(uSamplerColStrokes, colStrokeIndex++, uCellsImageSize);\\n\\n int strokePos = getInt16(strokeIndices.xy);\\n vec4 stroke0 = getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\\n vec4 stroke1 = getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\\n coverageY(stroke0.xy, stroke0.zw, stroke1.xy);\\n }\\n }\\n\\n weight = saturate(1.0 - weight * 2.0);\\n float distance = max(weight.x + weight.y, minDistance); // manhattan approx.\\n float antialias = abs(dot(coverage, weight) / distance);\\n float cover = min(abs(coverage.x), abs(coverage.y));\\n OUT_COLOR = vec4(uMaterialColor.rgb, 1.) * uMaterialColor.a;\\n OUT_COLOR *= saturate(max(antialias, cover));\\n}\\n\",lineVert:j+\"/*\\n Part of the Processing project - http://processing.org\\n Copyright (c) 2012-15 The Processing Foundation\\n Copyright (c) 2004-12 Ben Fry and Casey Reas\\n Copyright (c) 2001-04 Massachusetts Institute of Technology\\n This library is free software; you can redistribute it and/or\\n modify it under the terms of the GNU Lesser General Public\\n License as published by the Free Software Foundation, version 2.1.\\n This library is distributed in the hope that it will be useful,\\n but WITHOUT ANY WARRANTY; without even the implied warranty of\\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\\n Lesser General Public License for more details.\\n You should have received a copy of the GNU Lesser General\\n Public License along with this library; if not, write to the\\n Free Software Foundation, Inc., 59 Temple Place, Suite 330,\\n Boston, MA 02111-1307 USA\\n*/\\n\\n#define PROCESSING_LINE_SHADER\\n\\nprecision mediump float;\\nprecision mediump int;\\n\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform float uStrokeWeight;\\n\\nuniform bool uUseLineColor;\\nuniform vec4 uMaterialColor;\\n\\nuniform vec4 uViewport;\\nuniform int uPerspective;\\nuniform int uStrokeJoin;\\n\\nattribute vec4 aPosition;\\nattribute vec3 aTangentIn;\\nattribute vec3 aTangentOut;\\nattribute float aSide;\\nattribute vec4 aVertexColor;\\n\\nvarying vec4 vColor;\\nvarying vec2 vTangent;\\nvarying vec2 vCenter;\\nvarying vec2 vPosition;\\nvarying float vMaxDist;\\nvarying float vCap;\\nvarying float vJoin;\\n\\nvec2 lineIntersection(vec2 aPoint, vec2 aDir, vec2 bPoint, vec2 bDir) {\\n // Rotate and translate so a starts at the origin and goes out to the right\\n bPoint -= aPoint;\\n vec2 rotatedBFrom = vec2(\\n bPoint.x*aDir.x + bPoint.y*aDir.y,\\n bPoint.y*aDir.x - bPoint.x*aDir.y\\n );\\n vec2 bTo = bPoint + bDir;\\n vec2 rotatedBTo = vec2(\\n bTo.x*aDir.x + bTo.y*aDir.y,\\n bTo.y*aDir.x - bTo.x*aDir.y\\n );\\n float intersectionDistance =\\n rotatedBTo.x + (rotatedBFrom.x - rotatedBTo.x) * rotatedBTo.y /\\n (rotatedBTo.y - rotatedBFrom.y);\\n return aPoint + aDir * intersectionDistance;\\n}\\n\\nvoid main() {\\n // Caps have one of either the in or out tangent set to 0\\n vCap = (aTangentIn == vec3(0.)) != (aTangentOut == (vec3(0.)))\\n ? 1. : 0.;\\n\\n // Joins have two unique, defined tangents\\n vJoin = (\\n aTangentIn != vec3(0.) &&\\n aTangentOut != vec3(0.) &&\\n aTangentIn != aTangentOut\\n ) ? 1. : 0.;\\n\\n vec4 posp = uModelViewMatrix * aPosition;\\n vec4 posqIn = uModelViewMatrix * (aPosition + vec4(aTangentIn, 0));\\n vec4 posqOut = uModelViewMatrix * (aPosition + vec4(aTangentOut, 0));\\n\\n float facingCamera = pow(\\n // The word space tangent's z value is 0 if it's facing the camera\\n abs(normalize(posqIn-posp).z),\\n\\n // Using pow() here to ramp `facingCamera` up from 0 to 1 really quickly\\n // so most lines get scaled and don't get clipped\\n 0.25\\n );\\n\\n // using a scale <1 moves the lines towards the camera\\n // in order to prevent popping effects due to half of\\n // the line disappearing behind the geometry faces.\\n float scale = mix(1., 0.995, facingCamera);\\n\\n // Moving vertices slightly toward the camera\\n // to avoid depth-fighting with the fill triangles.\\n // Discussed here:\\n // http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=252848 \\n posp.xyz = posp.xyz * scale;\\n posqIn.xyz = posqIn.xyz * scale;\\n posqOut.xyz = posqOut.xyz * scale;\\n\\n vec4 p = uProjectionMatrix * posp;\\n vec4 qIn = uProjectionMatrix * posqIn;\\n vec4 qOut = uProjectionMatrix * posqOut;\\n vCenter = p.xy;\\n\\n // formula to convert from clip space (range -1..1) to screen space (range 0..[width or height])\\n // screen_p = (p.xy/p.w + <1,1>) * 0.5 * uViewport.zw\\n\\n // prevent division by W by transforming the tangent formula (div by 0 causes\\n // the line to disappear, see https://github.com/processing/processing/issues/5183)\\n // t = screen_q - screen_p\\n //\\n // tangent is normalized and we don't care which aDirection it points to (+-)\\n // t = +- normalize( screen_q - screen_p )\\n // t = +- normalize( (q.xy/q.w+<1,1>)*0.5*uViewport.zw - (p.xy/p.w+<1,1>)*0.5*uViewport.zw )\\n //\\n // extract common factor, <1,1> - <1,1> cancels out\\n // t = +- normalize( (q.xy/q.w - p.xy/p.w) * 0.5 * uViewport.zw )\\n //\\n // convert to common divisor\\n // t = +- normalize( ((q.xy*p.w - p.xy*q.w) / (p.w*q.w)) * 0.5 * uViewport.zw )\\n //\\n // remove the common scalar divisor/factor, not needed due to normalize and +-\\n // (keep uViewport - can't remove because it has different components for x and y\\n // and corrects for aspect ratio, see https://github.com/processing/processing/issues/5181)\\n // t = +- normalize( (q.xy*p.w - p.xy*q.w) * uViewport.zw )\\n\\n vec2 tangentIn = normalize((qIn.xy*p.w - p.xy*qIn.w) * uViewport.zw);\\n vec2 tangentOut = normalize((qOut.xy*p.w - p.xy*qOut.w) * uViewport.zw);\\n\\n vec2 curPerspScale;\\n if(uPerspective == 1) {\\n // Perspective ---\\n // convert from world to clip by multiplying with projection scaling factor\\n // to get the right thickness (see https://github.com/processing/processing/issues/5182)\\n // invert Y, projections in Processing invert Y\\n curPerspScale = (uProjectionMatrix * vec4(1, -1, 0, 0)).xy;\\n } else {\\n // No Perspective ---\\n // multiply by W (to cancel out division by W later in the pipeline) and\\n // convert from screen to clip (derived from clip to screen above)\\n curPerspScale = p.w / (0.5 * uViewport.zw);\\n }\\n\\n vec2 offset;\\n if (vJoin == 1.) {\\n vTangent = normalize(tangentIn + tangentOut);\\n vec2 normalIn = vec2(-tangentIn.y, tangentIn.x);\\n vec2 normalOut = vec2(-tangentOut.y, tangentOut.x);\\n float side = sign(aSide);\\n float sideEnum = abs(aSide);\\n\\n // We generate vertices for joins on either side of the centerline, but\\n // the \\\"elbow\\\" side is the only one needing a join. By not setting the\\n // offset for the other side, all its vertices will end up in the same\\n // spot and not render, effectively discarding it.\\n if (sign(dot(tangentOut, vec2(-tangentIn.y, tangentIn.x))) != side) {\\n // Side enums:\\n // 1: the side going into the join\\n // 2: the middle of the join\\n // 3: the side going out of the join\\n if (sideEnum == 2.) {\\n // Calculate the position + tangent on either side of the join, and\\n // find where the lines intersect to find the elbow of the join\\n vec2 c = (posp.xy/posp.w + vec2(1.,1.)) * 0.5 * uViewport.zw;\\n vec2 intersection = lineIntersection(\\n c + (side * normalIn * uStrokeWeight / 2.) * curPerspScale,\\n tangentIn,\\n c + (side * normalOut * uStrokeWeight / 2.) * curPerspScale,\\n tangentOut\\n );\\n offset = (intersection - c);\\n\\n // When lines are thick and the angle of the join approaches 180, the\\n // elbow might be really far from the center. We'll apply a limit to\\n // the magnitude to avoid lines going across the whole screen when this\\n // happens.\\n float mag = length(offset);\\n float maxMag = 3. * uStrokeWeight;\\n if (mag > maxMag) {\\n offset *= maxMag / mag;\\n }\\n } else if (sideEnum == 1.) {\\n offset = side * normalIn * curPerspScale * uStrokeWeight / 2.;\\n } else if (sideEnum == 3.) {\\n offset = side * normalOut * curPerspScale * uStrokeWeight / 2.;\\n }\\n }\\n if (uStrokeJoin == STROKE_JOIN_BEVEL) {\\n vec2 avgNormal = vec2(-vTangent.y, vTangent.x);\\n vMaxDist = abs(dot(avgNormal, normalIn * uStrokeWeight / 2.));\\n } else {\\n vMaxDist = uStrokeWeight / 2.;\\n }\\n } else {\\n vec2 tangent = aTangentIn == vec3(0.) ? tangentOut : tangentIn;\\n vTangent = tangent;\\n vec2 normal = vec2(-tangent.y, tangent.x);\\n\\n float normalOffset = sign(aSide);\\n // Caps will have side values of -2 or 2 on the edge of the cap that\\n // extends out from the line\\n float tangentOffset = abs(aSide) - 1.;\\n offset = (normal * normalOffset + tangent * tangentOffset) *\\n uStrokeWeight * 0.5 * curPerspScale;\\n vMaxDist = uStrokeWeight / 2.;\\n }\\n vPosition = vCenter + offset / curPerspScale;\\n\\n gl_Position.xy = p.xy + offset.xy;\\n gl_Position.zw = p.zw;\\n \\n vColor = (uUseLineColor ? aVertexColor : uMaterialColor);\\n}\\n\",lineFrag:j+\"precision mediump float;\\nprecision mediump int;\\n\\nuniform vec4 uMaterialColor;\\nuniform int uStrokeCap;\\nuniform int uStrokeJoin;\\nuniform float uStrokeWeight;\\n\\nvarying vec4 vColor;\\nvarying vec2 vTangent;\\nvarying vec2 vCenter;\\nvarying vec2 vPosition;\\nvarying float vMaxDist;\\nvarying float vCap;\\nvarying float vJoin;\\n\\nfloat distSquared(vec2 a, vec2 b) {\\n vec2 aToB = b - a;\\n return dot(aToB, aToB);\\n}\\n\\nvoid main() {\\n if (vCap > 0.) {\\n if (\\n uStrokeCap == STROKE_CAP_ROUND &&\\n distSquared(vPosition, vCenter) > uStrokeWeight * uStrokeWeight * 0.25\\n ) {\\n discard;\\n } else if (\\n uStrokeCap == STROKE_CAP_SQUARE &&\\n dot(vPosition - vCenter, vTangent) > 0.\\n ) {\\n discard;\\n }\\n // Use full area for PROJECT\\n } else if (vJoin > 0.) {\\n if (\\n uStrokeJoin == STROKE_JOIN_ROUND &&\\n distSquared(vPosition, vCenter) > uStrokeWeight * uStrokeWeight * 0.25\\n ) {\\n discard;\\n } else if (uStrokeJoin == STROKE_JOIN_BEVEL) {\\n vec2 normal = vec2(-vTangent.y, vTangent.x);\\n if (abs(dot(vPosition - vCenter, normal)) > vMaxDist) {\\n discard;\\n }\\n }\\n // Use full area for MITER\\n }\\n gl_FragColor = vec4(vColor.rgb, 1.) * vColor.a;\\n}\\n\",pointVert:\"attribute vec3 aPosition;\\nuniform float uPointSize;\\nvarying float vStrokeWeight;\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nvoid main() {\\n\\tvec4 positionVec4 = vec4(aPosition, 1.0);\\n\\tgl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\\n\\tgl_PointSize = uPointSize;\\n\\tvStrokeWeight = uPointSize;\\n}\",pointFrag:\"precision mediump float;\\nprecision mediump int;\\nuniform vec4 uMaterialColor;\\nvarying float vStrokeWeight;\\n\\nvoid main(){\\n float mask = 0.0;\\n\\n // make a circular mask using the gl_PointCoord (goes from 0 - 1 on a point)\\n // might be able to get a nicer edge on big strokeweights with smoothstep but slightly less performant\\n\\n mask = step(0.98, length(gl_PointCoord * 2.0 - 1.0));\\n\\n // if strokeWeight is 1 or less lets just draw a square\\n // this prevents weird artifacting from carving circles when our points are really small\\n // if strokeWeight is larger than 1, we just use it as is\\n\\n mask = mix(0.0, mask, clamp(floor(vStrokeWeight - 0.5),0.0,1.0));\\n\\n // throw away the borders of the mask\\n // otherwise we get weird alpha blending issues\\n\\n if(mask > 0.98){\\n discard;\\n }\\n\\n gl_FragColor = vec4(uMaterialColor.rgb, 1.) * uMaterialColor.a;\\n}\\n\"};function w(e,t,r,o,n,s,i,a,l,u){var c=t.getParameter(t.FRAMEBUFFER_BINDING),r=(t.bindFramebuffer(t.FRAMEBUFFER,r),a===t.RGBA?4:3),d=s*i*r,f=l===t.UNSIGNED_BYTE?Uint8Array:Float32Array;if(e instanceof f&&e.length===d||(e=new f(d)),t.readPixels(o,u?u-n-i:n,s,i,a,l,e),t.bindFramebuffer(t.FRAMEBUFFER,c),u)for(var h=Math.floor(i/2),p=new f(s*r),m=0;m>7,127&d,c>>7,127&c);for(var f=0;f>7,127&h,0,0)}}return{cellImageInfo:a,dimOffset:t,dimImageInfo:n}}}}]),t}();B.default.RendererGL.prototype._renderText=function(e,t,r,o,n){if(this._textFont&&\"string\"!=typeof this._textFont){if(!(n<=o)&&this._doFill){if(this._isOpenType()){e.push();var n=this._doStroke,s=this.drawMode,i=(this._doStroke=!1,this.drawMode=M.TEXTURE,this._textFont.font),a=(a=this._textFont._fontInfo)||(this._textFont._fontInfo=new T(i)),r=this._textFont._handleAlignment(this,t,r,o),o=this._textSize/i.unitsPerEm,l=(this.translate(r.x,r.y,0),this.scale(o,o,1),this.GL),r=!this._defaultFontShader,u=this._getFontShader(),c=(u.init(),u.bindShader(),r&&(u.setUniform(\"uGridImageSize\",[64,64]),u.setUniform(\"uCellsImageSize\",[64,64]),u.setUniform(\"uStrokeImageSize\",[64,64]),u.setUniform(\"uGridSize\",[9,9])),this._applyColorBlend(this.curFillColor),this.retainedMode.geometry.glyph),d=(c||((o=this._textGeom=new B.default.Geometry(1,1,function(){for(var e=0;e<=1;e++)for(var t=0;t<=1;t++)this.vertices.push(new B.default.Vector(t,e,0)),this.uvs.push(t,e)})).computeFaces().computeNormals(),c=this.createBuffers(\"glyph\",o)),!0),r=!1,o=void 0;try{for(var f,h=this.retainedMode.buffers.text[Symbol.iterator]();!(d=(f=h.next()).done);d=!0)f.value._prepareBuffer(c,u)}catch(e){r=!0,o=e}finally{try{d||null==h.return||h.return()}finally{if(r)throw o}}this._bindBuffer(c.indexBuffer,l.ELEMENT_ARRAY_BUFFER),u.setUniform(\"uMaterialColor\",this.curFillColor),l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);try{var p=0,m=null,y=i.stringToGlyphs(t),g=!0,v=!1,b=void 0;try{for(var j,_=y[Symbol.iterator]();!(g=(j=_.next()).done);g=!0){var x,w,S=j.value,E=(m&&(p+=i.getKerningValue(m,S)),a.getGlyphInfo(S));E.uGlyphRect&&(x=E.rowInfo,w=E.colInfo,u.setUniform(\"uSamplerStrokes\",E.strokeImageInfo.imageData),u.setUniform(\"uSamplerRowStrokes\",x.cellImageInfo.imageData),u.setUniform(\"uSamplerRows\",x.dimImageInfo.imageData),u.setUniform(\"uSamplerColStrokes\",w.cellImageInfo.imageData),u.setUniform(\"uSamplerCols\",w.dimImageInfo.imageData),u.setUniform(\"uGridOffset\",E.uGridOffset),u.setUniform(\"uGlyphRect\",E.uGlyphRect),u.setUniform(\"uGlyphOffset\",p),u.bindTextures(),l.drawElements(l.TRIANGLES,6,this.GL.UNSIGNED_SHORT,0)),p+=S.advanceWidth,m=S}}catch(e){v=!0,b=e}finally{try{g||null==_.return||_.return()}finally{if(v)throw b}}}finally{u.unbindShader(),this._doStroke=n,this.drawMode=s,l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.pop()}}else console.log(\"WEBGL: only Opentype (.otf) and Truetype (.ttf) fonts are supported\");return e}}else console.log(\"WEBGL: you must load and set a font before drawing text. See `loadFont` and `textFont` for more details.\")}},{\"../core/constants\":262,\"../core/main\":273,\"./p5.RendererGL.Retained\":327,\"./p5.Shader\":329,\"core-js/modules/es.array.iterator\":160,\"core-js/modules/es.object.get-own-property-descriptor\":176,\"core-js/modules/es.object.to-string\":180,\"core-js/modules/es.regexp.exec\":185,\"core-js/modules/es.string.iterator\":190,\"core-js/modules/es.string.split\":196,\"core-js/modules/es.string.sub\":198,\"core-js/modules/es.symbol\":202,\"core-js/modules/es.symbol.description\":200,\"core-js/modules/es.symbol.iterator\":201,\"core-js/modules/es.weak-map\":234,\"core-js/modules/web.dom-collections.iterator\":236}]},{},[257])(257)});\n\n//# sourceURL=webpack://ant-colony-simulation/./node_modules/p5/lib/p5.min.js?"); - -/***/ }), - -/***/ "./src/ant.ts": -/*!********************!*\ - !*** ./src/ant.ts ***! - \********************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Ant: () => (/* binding */ Ant),\n/* harmony export */ IAntState: () => (/* binding */ IAntState)\n/* harmony export */ });\n/* harmony import */ var p5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! p5 */ \"./node_modules/p5/lib/p5.min.js\");\n/* harmony import */ var p5__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(p5__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _food_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./food-item */ \"./src/food-item.ts\");\n\n\nvar IAntState;\n(function (IAntState) {\n IAntState[IAntState[\"ReturningHome\"] = 0] = \"ReturningHome\";\n IAntState[IAntState[\"SearchingForFood\"] = 1] = \"SearchingForFood\";\n})(IAntState || (IAntState = {}));\nvar Ant = /** @class */ (function () {\n function Ant(p, world) {\n this.perceptionRange = 50;\n this.wanderAngle = 0;\n this.wanderStrength = 1;\n this.maxSpeed = 3;\n this.steeringLimit = 0.4;\n this.antSize = 4;\n this.showPerceptionRange = false;\n this.state = IAntState.SearchingForFood;\n this.p = p;\n this.world = world;\n this.position = p.createVector(p.windowWidth / 2, p.windowHeight / 2);\n this.angle = p.random(this.p.TWO_PI);\n this.velocity = p5__WEBPACK_IMPORTED_MODULE_0__.Vector.fromAngle(this.angle);\n this.acceleration = p.createVector();\n }\n Ant.prototype.approachTarget = function (target) {\n // speed control (maxSpeed)\n var speedControl = target.copy().sub(this.position).setMag(this.maxSpeed);\n // steering control (steeringLimit)\n return speedControl.sub(this.velocity).limit(this.steeringLimit);\n };\n Ant.prototype.applyForce = function (force) {\n this.acceleration.add(force);\n };\n Ant.prototype.handleEdgeCollision = function () {\n if (this.position.x > this.p.windowWidth - 10 || this.position.x < 10) {\n this.velocity.x *= -1;\n }\n if (this.position.y > this.p.windowHeight - 10 || this.position.y < 10) {\n this.velocity.y *= -1;\n }\n };\n Ant.prototype.handleWandering = function () {\n this.wanderAngle += this.p.random(-0.5, 0.5);\n var circlePos = this.velocity.copy();\n circlePos.setMag(this.perceptionRange).add(this.position);\n var circleOffset = p5__WEBPACK_IMPORTED_MODULE_0__.Vector.fromAngle(this.wanderAngle + this.velocity.heading());\n circleOffset.mult(this.wanderStrength);\n var target = circlePos.add(circleOffset);\n var wander = this.approachTarget(target);\n this.applyForce(wander);\n };\n Ant.prototype.handleSearchingForFood = function () {\n // check if food item exists within perception range\n this.targetFoodItem = this.world.getFoodItemInPerceptionRange(this.position, this.perceptionRange);\n if (!this.targetFoodItem) {\n return;\n }\n // check if food picked up by ant\n if (this.p.abs(this.position.x - this.targetFoodItem.position.x) < 1 &&\n this.p.abs(this.position.y - this.targetFoodItem.position.y) < 1) {\n this.targetFoodItem.state = _food_item__WEBPACK_IMPORTED_MODULE_1__.IFoodItemState.PickedUp;\n this.state = IAntState.ReturningHome;\n }\n var approachFood = this.approachTarget(this.targetFoodItem.position);\n this.applyForce(approachFood);\n };\n Ant.prototype.handleReturningHome = function () {\n this.targetFoodItem.position = this.position;\n };\n Ant.prototype.update = function () {\n this.handleEdgeCollision();\n this.handleWandering();\n this.state === IAntState.SearchingForFood && this.handleSearchingForFood();\n this.state === IAntState.ReturningHome && this.handleReturningHome();\n // update values\n this.velocity.add(this.acceleration);\n this.velocity.limit(this.maxSpeed);\n this.position.add(this.velocity);\n this.acceleration.set(0);\n };\n Ant.prototype.render = function () {\n // ant\n this.p.push();\n this.p.translate(this.position.x, this.position.y);\n this.angle = this.velocity.heading();\n this.p.rotate(this.angle);\n // this.p.triangle(\n // -this.antSize,\n // -this.antSize / 2,\n // -this.antSize,\n // this.antSize / 2,\n // this.antSize,\n // 0\n // );\n this.p.ellipse(0, 0, this.antSize * 2, this.antSize / 1.5);\n // this.p.circle(this.antSize / 2, 0, this.antSize);\n // this.p.ellipse(-this.antSize / 2, 0, this.antSize * 2, this.antSize);\n this.p.pop();\n // perception range\n if (this.showPerceptionRange) {\n this.p.push();\n this.p.strokeWeight(1);\n this.p.fill(255);\n this.p.circle(this.position.x, this.position.y, this.perceptionRange * 2);\n this.p.pop();\n }\n };\n return Ant;\n}());\n\n\n\n//# sourceURL=webpack://ant-colony-simulation/./src/ant.ts?"); - -/***/ }), - -/***/ "./src/food-item.ts": -/*!**************************!*\ - !*** ./src/food-item.ts ***! - \**************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FoodItem: () => (/* binding */ FoodItem),\n/* harmony export */ IFoodItemState: () => (/* binding */ IFoodItemState)\n/* harmony export */ });\nvar IFoodItemState;\n(function (IFoodItemState) {\n IFoodItemState[IFoodItemState[\"Spawned\"] = 0] = \"Spawned\";\n IFoodItemState[IFoodItemState[\"PickedUp\"] = 1] = \"PickedUp\";\n IFoodItemState[IFoodItemState[\"Delivered\"] = 2] = \"Delivered\";\n})(IFoodItemState || (IFoodItemState = {}));\nvar FoodItem = /** @class */ (function () {\n function FoodItem(p, x, y) {\n this.p = p;\n this.position = p.createVector(x, y);\n this.state = IFoodItemState.Spawned;\n }\n FoodItem.prototype.render = function () {\n this.p.push();\n this.p.strokeWeight(0);\n this.p.fill(\"#39FF14\");\n this.p.circle(this.position.x, this.position.y, 5);\n this.p.pop();\n };\n return FoodItem;\n}());\n\n\n\n//# sourceURL=webpack://ant-colony-simulation/./src/food-item.ts?"); - -/***/ }), - -/***/ "./src/sketch.ts": -/*!***********************!*\ - !*** ./src/sketch.ts ***! - \***********************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ myp5: () => (/* binding */ myp5),\n/* harmony export */ sketch: () => (/* binding */ sketch)\n/* harmony export */ });\n/* harmony import */ var p5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! p5 */ \"./node_modules/p5/lib/p5.min.js\");\n/* harmony import */ var p5__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(p5__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _world__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./world */ \"./src/world.ts\");\n\n\nvar world;\nvar numAnts = 100;\nvar sketch = function (p) {\n p.setup = function () {\n world = new _world__WEBPACK_IMPORTED_MODULE_1__.World(p);\n p.createCanvas(p.windowWidth, p.windowHeight);\n p.frameRate(60);\n for (var i = 0; i < numAnts; i++) {\n world.createAnt();\n }\n };\n p.draw = function () {\n p.background(\"#78624f\");\n world.render();\n };\n p.mouseClicked = function () {\n world.createFoodCluster(5);\n };\n};\nvar myp5 = new p5__WEBPACK_IMPORTED_MODULE_0__(sketch, document.body);\n\n\n//# sourceURL=webpack://ant-colony-simulation/./src/sketch.ts?"); - -/***/ }), - -/***/ "./src/world.ts": -/*!**********************!*\ - !*** ./src/world.ts ***! - \**********************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ World: () => (/* binding */ World)\n/* harmony export */ });\n/* harmony import */ var _ant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ant */ \"./src/ant.ts\");\n/* harmony import */ var _food_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./food-item */ \"./src/food-item.ts\");\n\n\nvar World = /** @class */ (function () {\n function World(p) {\n this.p = p;\n this.ants = [];\n this.foodItems = [];\n }\n World.prototype.createAnt = function () {\n this.ants.push(new _ant__WEBPACK_IMPORTED_MODULE_0__.Ant(this.p, this));\n };\n World.prototype.createFoodCluster = function (clusterSize) {\n if (clusterSize === void 0) { clusterSize = 5; }\n var _a = [this.p.mouseX, this.p.mouseY], spawnX = _a[0], spawnY = _a[1];\n for (var i = 0; i < clusterSize; i++) {\n for (var j = 0; j < clusterSize; j++) {\n this.foodItems.push(new _food_item__WEBPACK_IMPORTED_MODULE_1__.FoodItem(this.p, i * 7 + spawnX, j * 7 + spawnY));\n }\n }\n };\n World.prototype.getFoodItemInPerceptionRange = function (antPosition, perceptionRange) {\n for (var i = 0; i < this.foodItems.length; i++) {\n var foodItem = this.foodItems[i];\n // TODO: Replace direct enum comparisons with methods\n if (foodItem.state === _food_item__WEBPACK_IMPORTED_MODULE_1__.IFoodItemState.PickedUp) {\n continue;\n }\n var distanceSquared = (foodItem.position.x - antPosition.x) *\n (foodItem.position.x - antPosition.x) +\n (foodItem.position.y - antPosition.y) *\n (foodItem.position.y - antPosition.y);\n if (distanceSquared <= perceptionRange * perceptionRange) {\n return foodItem;\n }\n }\n };\n World.prototype.render = function () {\n console.log(this.foodItems.length);\n this.p.stroke(0);\n this.p.strokeWeight(2);\n this.p.fill(0);\n this.ants.map(function (ant) {\n ant.update();\n ant.render();\n });\n this.foodItems.map(function (food) {\n food.render();\n });\n };\n return World;\n}());\n\n\n\n//# sourceURL=webpack://ant-colony-simulation/./src/world.ts?"); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module can't be inlined because the eval devtool is used. -/******/ var __webpack_exports__ = __webpack_require__("./src/sketch.ts"); -/******/ -/******/ })() -; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 166ae84..184d874 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,17 @@ { "name": "ant-colony-simulation", - "version": "1.0.0", + "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ant-colony-simulation", - "version": "1.0.0", + "version": "0.0.1", "license": "MIT", "devDependencies": { "@types/p5": "^1.6.2", "gh-pages": "^5.0.0", + "html-webpack-plugin": "^5.5.3", "jest": "^29.6.2", "p5": "^1.7.0", "ts-loader": "^9.4.4", @@ -1230,6 +1231,12 @@ "@types/node": "*" } }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, "node_modules/@types/http-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", @@ -1943,6 +1950,12 @@ "multicast-dns": "^7.2.5" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2043,6 +2056,16 @@ "node": ">=6" } }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -2154,6 +2177,18 @@ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -2347,6 +2382,34 @@ "node": ">= 8" } }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -2461,6 +2524,80 @@ "node": ">=6" } }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -2519,6 +2656,15 @@ "node": ">=10.13.0" } }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/envinfo": { "version": "7.10.0", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", @@ -3155,6 +3301,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -3219,6 +3374,78 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -4440,6 +4667,21 @@ "node": ">=8" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -4640,6 +4882,16 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -4682,6 +4934,18 @@ "node": ">=8" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -4823,6 +5087,16 @@ "integrity": "sha512-qrbT/44Dwm63ZtOKX/mp61pw+5yj6ijYLOmRv7p6zcfjbo83Vb0gVFEvW0kTLFu7hceWCig0HONo9F1bSlqbsQ==", "dev": true }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -4850,6 +5124,16 @@ "node": ">= 0.8" } }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4958,6 +5242,16 @@ "node": ">=8" } }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, "node_modules/pretty-format": { "version": "29.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", @@ -5151,6 +5445,28 @@ "node": ">= 10.13.0" } }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -5927,6 +6243,12 @@ "webpack": "^5.0.0" } }, + "node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "dev": true + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -6037,6 +6359,12 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", diff --git a/package.json b/package.json index f001c1e..c5dd5dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ant-colony-simulation", - "version": "1.0.0", + "version": "0.0.1", "description": "Ant colony simulation with TypeScript and p5.js", "homepage": "https://hasnainroopawalla.github.io/ant-colony-simulation", "private": true, @@ -17,6 +17,7 @@ "devDependencies": { "@types/p5": "^1.6.2", "gh-pages": "^5.0.0", + "html-webpack-plugin": "^5.5.3", "jest": "^29.6.2", "p5": "^1.7.0", "ts-loader": "^9.4.4", diff --git a/build/index.html b/public/index.html similarity index 100% rename from build/index.html rename to public/index.html diff --git a/src/world.ts b/src/world.ts index cb2b6cc..d3e78bb 100644 --- a/src/world.ts +++ b/src/world.ts @@ -47,12 +47,10 @@ export class World { continue; } const distanceSquared = - (foodItem.position.x - antPosition.x) * - (foodItem.position.x - antPosition.x) + - (foodItem.position.y - antPosition.y) * - (foodItem.position.y - antPosition.y); + Math.pow(foodItem.position.x - antPosition.x, 2) + + Math.pow(foodItem.position.y - antPosition.y, 2); - if (distanceSquared <= perceptionRange * perceptionRange) { + if (distanceSquared <= Math.pow(perceptionRange, 2)) { foodItem.reserved(); return foodItem; } diff --git a/webpack.config.js b/webpack.config.js index abd1c22..7153cc6 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,4 +1,6 @@ const path = require('path'); +var webpack = require('webpack'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { mode: "development", @@ -21,5 +23,13 @@ module.exports = { }, devServer: { static: './build', - } + }, + plugins: [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(require("./package.json").version), + }), + new HtmlWebpackPlugin({ + template: 'public/index.html', + }) + ], }; \ No newline at end of file