From 8276e7b15b0d7efac047ab74eec253fcfc8c1ce0 Mon Sep 17 00:00:00 2001 From: Joshua Hsueh Date: Sat, 30 Jan 2021 23:52:06 -0500 Subject: [PATCH] browse stock feature added --- frontend/package-lock.json | 2845 +++++++++++++++++++++ frontend/package.json | 2 + frontend/src/App.js | 49 +- frontend/src/components/Bank.js | 2 +- frontend/src/components/Browse.js | 99 +- frontend/src/components/Portfolio.js | 1 + frontend/src/components/Profile.js | 4 +- frontend/src/components/assets/Browse.css | 17 + npm-debug.log | 19 + website/images/logo.ico | Bin 19141 -> 113288 bytes website/images/logo.png | Bin 9520 -> 22980 bytes 11 files changed, 2995 insertions(+), 43 deletions(-) create mode 100644 npm-debug.log diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 856aac8..ec8fae0 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -4,6 +4,16 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "3d-view": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/3d-view/-/3d-view-2.0.0.tgz", + "integrity": "sha1-gxrpQtdQjFCAHj4G+v4ejFdOF74=", + "requires": { + "matrix-camera-controller": "^2.1.1", + "orbit-camera-controller": "^4.0.0", + "turntable-camera-controller": "^3.0.0" + } + }, "@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", @@ -1117,6 +1127,21 @@ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, + "@choojs/findup": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", + "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", + "requires": { + "commander": "^2.15.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, "@cnakazawa/watch": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", @@ -1740,6 +1765,71 @@ } } }, + "@mapbox/geojson-rewind": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.0.tgz", + "integrity": "sha512-73l/qJQgj/T/zO1JXVfuVvvKDgikD/7D/rHAD28S9BG1OTstgmftrmqfCx4U+zQAmtsB6HcDA3a7ymdnJZAQgg==", + "requires": { + "concat-stream": "~2.0.0", + "minimist": "^1.2.5" + }, + "dependencies": { + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + } + } + }, + "@mapbox/geojson-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", + "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==" + }, + "@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ=" + }, + "@mapbox/mapbox-gl-supported": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", + "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==" + }, + "@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI=" + }, + "@mapbox/tiny-sdf": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.2.tgz", + "integrity": "sha512-GeJdumh5Do1JvnE2QbbLixZmJg6CzOfpzcAuS+qZadWK1Gj+yY/mj7IOVlgXCBg/yDqDmitGwSius+rrTpm8RA==" + }, + "@mapbox/unitbezier": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4=" + }, + "@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "requires": { + "@mapbox/point-geometry": "~0.1.0" + } + }, + "@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==" + }, "@nodelib/fs.scandir": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", @@ -1779,6 +1869,51 @@ } } }, + "@plotly/d3-sankey": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz", + "integrity": "sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==", + "requires": { + "d3-array": "1", + "d3-collection": "1", + "d3-shape": "^1.2.0" + } + }, + "@plotly/d3-sankey-circular": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@plotly/d3-sankey-circular/-/d3-sankey-circular-0.33.1.tgz", + "integrity": "sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.4", + "d3-shape": "^1.2.0", + "elementary-circuits-directed-graph": "^1.0.4" + } + }, + "@plotly/point-cluster": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@plotly/point-cluster/-/point-cluster-3.1.9.tgz", + "integrity": "sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==", + "requires": { + "array-bounds": "^1.0.1", + "binary-search-bounds": "^2.0.4", + "clamp": "^1.0.1", + "defined": "^1.0.0", + "dtype": "^2.0.0", + "flatten-vertex-data": "^1.0.2", + "is-obj": "^1.0.1", + "math-log2": "^1.0.1", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + } + } + }, "@pmmmwh/react-refresh-webpack-plugin": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.2.tgz", @@ -1971,6 +2106,46 @@ "loader-utils": "^2.0.0" } }, + "@turf/area": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.3.0.tgz", + "integrity": "sha512-Y1cYyAQ2fk94npdgOeMF4msc2uabHY1m7A7ntixf1I8rkyDd6/iHh1IMy1QsM+VZXAEwDwsXhu+ZFYd3Jkeg4A==", + "requires": { + "@turf/helpers": "^6.3.0", + "@turf/meta": "^6.3.0" + } + }, + "@turf/bbox": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.3.0.tgz", + "integrity": "sha512-N4ue5Xopu1qieSHP2MA/CJGWHPKaTrVXQJjzHRNcY1vtsO126xbSaJhWUrFc5x5vVkXp0dcucGryO0r5m4o/KA==", + "requires": { + "@turf/helpers": "^6.3.0", + "@turf/meta": "^6.3.0" + } + }, + "@turf/centroid": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.3.0.tgz", + "integrity": "sha512-7KTyqhUEqXDoyR/nf/jAXiW8ZVszEnrp5XZkgYyrf2GWdSovSO0iCN1J3bE2jkJv7IWyeDmGYL61GGzuTSZS2Q==", + "requires": { + "@turf/helpers": "^6.3.0", + "@turf/meta": "^6.3.0" + } + }, + "@turf/helpers": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.3.0.tgz", + "integrity": "sha512-kr6KuD4Z0GZ30tblTEvi90rvvVNlKieXuMC8CTzE/rVQb0/f/Cb29zCXxTD7giQTEQY/P2nRW23wEqqyNHulCg==" + }, + "@turf/meta": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.3.0.tgz", + "integrity": "sha512-qBJjaAJS9H3ap0HlGXyF/Bzfl0qkA9suafX/jnDsZvWMfVLt+s+o6twKrXOGk5t7nnNON2NFRC8+czxpu104EQ==", + "requires": { + "@turf/helpers": "^6.3.0" + } + }, "@types/anymatch": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", @@ -2442,11 +2617,26 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "a-big-triangle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/a-big-triangle/-/a-big-triangle-1.0.3.tgz", + "integrity": "sha1-7v0wsCqPUl6LH3K7a7GwwWdRx5Q=", + "requires": { + "gl-buffer": "^2.1.1", + "gl-vao": "^1.2.0", + "weak-map": "^1.0.5" + } + }, "abab": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" }, + "abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -2480,6 +2670,14 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, + "add-line-numbers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/add-line-numbers/-/add-line-numbers-1.0.1.tgz", + "integrity": "sha1-SNu96kfb0jTer+rGyTzqb3C0t+M=", + "requires": { + "pad-left": "^1.0.2" + } + }, "address": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", @@ -2494,6 +2692,14 @@ "regex-parser": "^2.2.11" } }, + "affine-hull": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/affine-hull/-/affine-hull-1.0.0.tgz", + "integrity": "sha1-dj/x040GPOt+Jy8X7k17vK+QXF0=", + "requires": { + "robust-orientation": "^1.1.3" + } + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -2524,6 +2730,29 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, + "almost-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", + "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=" + }, + "alpha-complex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/alpha-complex/-/alpha-complex-1.0.0.tgz", + "integrity": "sha1-kIZYcNawVCrnPAwTHU75iWabctI=", + "requires": { + "circumradius": "^1.0.0", + "delaunay-triangulate": "^1.1.6" + } + }, + "alpha-shape": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/alpha-shape/-/alpha-shape-1.0.0.tgz", + "integrity": "sha1-yDEJkj7P2mZ9IWP+Tyb+JHJvZKk=", + "requires": { + "alpha-complex": "^1.0.0", + "simplicial-complex-boundary": "^1.0.0" + } + }, "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", @@ -2618,6 +2847,16 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, + "array-bounds": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", + "integrity": "sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, "array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", @@ -2635,6 +2874,24 @@ "is-string": "^1.0.5" } }, + "array-normalize": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array-normalize/-/array-normalize-1.1.4.tgz", + "integrity": "sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==", + "requires": { + "array-bounds": "^1.0.0" + } + }, + "array-range": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-range/-/array-range-1.0.1.tgz", + "integrity": "sha1-9W5GWRhDYRxqVvd+8C7afFAIm/w=" + }, + "array-rearrange": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/array-rearrange/-/array-rearrange-2.2.2.tgz", + "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==" + }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -2784,6 +3041,11 @@ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, + "atob-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-1.0.0.tgz", + "integrity": "sha1-uI3KYAaSK5YglPdVaCa6sxxKKWs=" + }, "autoprefixer": { "version": "9.8.6", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", @@ -3219,6 +3481,14 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "barycentric": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/barycentric/-/barycentric-1.0.1.tgz", + "integrity": "sha1-8VYruJGyb0/sRjqC7to2V4AOxog=", + "requires": { + "robust-linear-solve": "^1.0.0" + } + }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", @@ -3298,6 +3568,23 @@ "tryer": "^1.0.1" } }, + "big-rat": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/big-rat/-/big-rat-1.0.4.tgz", + "integrity": "sha1-do0JO7V5MN0Y7Vdcf8on3FORreo=", + "requires": { + "bit-twiddle": "^1.0.2", + "bn.js": "^4.11.6", + "double-bits": "^1.1.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -3309,6 +3596,57 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "optional": true }, + "binary-search-bounds": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz", + "integrity": "sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==" + }, + "bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" + }, + "bitmap-sdf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.3.tgz", + "integrity": "sha512-ojYySSvWTx21cbgntR942zgEgqj38wHctN64vr4vYRFf3GKVmI23YlA94meWGkFslidwLwGCsMy2laJ3g/94Sg==", + "requires": { + "clamp": "^1.0.1" + } + }, + "bl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -3384,6 +3722,20 @@ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" }, + "boundary-cells": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/boundary-cells/-/boundary-cells-2.0.2.tgz", + "integrity": "sha512-/S48oUFYEgZMNvdqC87iYRbLBAPHYijPRNrNpm/sS8u7ijIViKm/hrV3YD4sx/W68AsG5zLMyBEditVHApHU5w==" + }, + "box-intersect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/box-intersect/-/box-intersect-1.0.2.tgz", + "integrity": "sha512-yJeMwlmFPG1gIa7Rs/cGXeI6iOj6Qz5MG5PE61xLKpElUGzmJ4abm+qsLpzxKJFpsSDq742BQEocr8dI2t8Nxw==", + "requires": { + "bit-twiddle": "^1.0.2", + "typedarray-pool": "^1.1.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3666,6 +4018,14 @@ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001181.tgz", "integrity": "sha512-m5ul/ARCX50JB8BSNM+oiPmQrR5UmngaQ3QThTTp5HcIIQGP/nPBs82BYLE+tigzm3VW+F4BJIhUyaVtEweelQ==" }, + "canvas-fit": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.5.0.tgz", + "integrity": "sha1-rhO+Zq3kL1vg5IfjRfzjCl5bXl8=", + "requires": { + "element-size": "^1.1.1" + } + }, "capture-exit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", @@ -3684,6 +4044,21 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, + "cdt2d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cdt2d/-/cdt2d-1.0.0.tgz", + "integrity": "sha1-TyEkNLzWe9s9aLj+9KzcLFRBUUE=", + "requires": { + "binary-search-bounds": "^2.0.3", + "robust-in-sphere": "^1.1.3", + "robust-orientation": "^1.1.3" + } + }, + "cell-orientation": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cell-orientation/-/cell-orientation-1.0.1.tgz", + "integrity": "sha1-tQStlqZq0obZ7dmFoiU9A7gNKFA=" + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -3747,11 +4122,33 @@ "safe-buffer": "^5.0.1" } }, + "circumcenter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/circumcenter/-/circumcenter-1.0.0.tgz", + "integrity": "sha1-INeqE7F/usUvUtpPVMasi5Bu5Sk=", + "requires": { + "dup": "^1.0.0", + "robust-linear-solve": "^1.0.0" + } + }, + "circumradius": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/circumradius/-/circumradius-1.0.0.tgz", + "integrity": "sha1-cGxEfj5VzR7T0RvRM+N8JSzDBbU=", + "requires": { + "circumcenter": "^1.0.0" + } + }, "cjs-module-lexer": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" }, + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -3788,6 +4185,20 @@ } } }, + "clean-pslg": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/clean-pslg/-/clean-pslg-1.1.2.tgz", + "integrity": "sha1-vTXHRgt+irWp92Gl7VF5aqPIbBE=", + "requires": { + "big-rat": "^1.0.3", + "box-intersect": "^1.0.1", + "nextafter": "^1.0.0", + "rat-vec": "^1.1.1", + "robust-segment-intersect": "^1.0.1", + "union-find": "^1.0.2", + "uniq": "^1.0.1" + } + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3851,6 +4262,14 @@ "color-string": "^1.5.4" } }, + "color-alpha": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", + "integrity": "sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==", + "requires": { + "color-parse": "^1.3.8" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -3859,11 +4278,58 @@ "color-name": "1.1.3" } }, + "color-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz", + "integrity": "sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==", + "requires": { + "clamp": "^1.0.1" + } + }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "color-normalize": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.0.tgz", + "integrity": "sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==", + "requires": { + "clamp": "^1.0.1", + "color-rgba": "^2.1.1", + "dtype": "^2.0.0" + } + }, + "color-parse": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.3.8.tgz", + "integrity": "sha512-1Y79qFv0n1xair3lNMTNeoFvmc3nirMVBij24zbs1f13+7fPpQClMg5b4AuKXLt3szj7BRlHMCXHplkce6XlmA==", + "requires": { + "color-name": "^1.0.0", + "defined": "^1.0.0", + "is-plain-obj": "^1.1.0" + } + }, + "color-rgba": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.1.1.tgz", + "integrity": "sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==", + "requires": { + "clamp": "^1.0.1", + "color-parse": "^1.3.8", + "color-space": "^1.14.6" + } + }, + "color-space": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/color-space/-/color-space-1.16.0.tgz", + "integrity": "sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==", + "requires": { + "hsluv": "^0.0.3", + "mumath": "^3.3.4" + } + }, "color-string": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", @@ -3878,6 +4344,14 @@ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" }, + "colormap": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/colormap/-/colormap-2.3.1.tgz", + "integrity": "sha512-TEzNlo/qYp6pBoR2SK9JiV+DG1cmUcVO/+DEJqVPSHIKNlWh5L5L4FYog7b/h0bAnhKhpOAvx/c1dFp2QE9sFw==", + "requires": { + "lerp": "^1.0.3" + } + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -3901,6 +4375,32 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, + "compare-angle": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/compare-angle/-/compare-angle-1.0.1.tgz", + "integrity": "sha1-pOtjQW6jx0f8a9bItjZotN5PoSk=", + "requires": { + "robust-orientation": "^1.0.2", + "robust-product": "^1.0.0", + "robust-sum": "^1.0.0", + "signum": "^0.0.0", + "two-sum": "^1.0.0" + } + }, + "compare-cell": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/compare-cell/-/compare-cell-1.0.0.tgz", + "integrity": "sha1-qetwj24OQa73qlZrEw8ZaNyeGqo=" + }, + "compare-oriented-cell": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/compare-oriented-cell/-/compare-oriented-cell-1.0.1.tgz", + "integrity": "sha1-ahSf7vnfxPj8YjWOUd1C7/u9w54=", + "requires": { + "cell-orientation": "^1.0.1", + "compare-cell": "^1.0.0" + } + }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -3951,6 +4451,18 @@ } } }, + "compute-dims": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/compute-dims/-/compute-dims-1.1.0.tgz", + "integrity": "sha512-YHMiIKjH/8Eom8zATk3g8/lH3HxGCZcVQyEfEoVrfWI7od/WRpTgRGShnei3jArYSx77mQqPxZNokjGHCdLfxg==", + "requires": { + "utils-copy": "^1.0.0", + "validate.io-array": "^1.0.6", + "validate.io-matrix-like": "^1.0.2", + "validate.io-ndarray-like": "^1.0.0", + "validate.io-positive-integer": "^1.0.0" + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -4006,6 +4518,16 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, + "const-max-uint32": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/const-max-uint32/-/const-max-uint32-1.0.2.tgz", + "integrity": "sha1-8Am7YjDmeO2HTdLWqc2ePL+rtnY=" + }, + "const-pinf-float64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/const-pinf-float64/-/const-pinf-float64-1.0.0.tgz", + "integrity": "sha1-9u+w15+cCYbT558pI6v5twtj1yY=" + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -4037,6 +4559,16 @@ "safe-buffer": "~5.1.1" } }, + "convex-hull": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/convex-hull/-/convex-hull-1.0.3.tgz", + "integrity": "sha1-IKOqbOh/St6i/30XlxyfwcZ+H/8=", + "requires": { + "affine-hull": "^1.0.0", + "incremental-convex-hull": "^1.0.1", + "monotone-convex-hull-2d": "^1.0.1" + } + }, "cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", @@ -4118,6 +4650,11 @@ "yaml": "^1.10.0" } }, + "country-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/country-regex/-/country-regex-1.1.0.tgz", + "integrity": "sha1-UcMz3N8Sknt+XuucEKyBEqYSCJY=" + }, "create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -4241,6 +4778,47 @@ "timsort": "^0.3.0" } }, + "css-font": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz", + "integrity": "sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==", + "requires": { + "css-font-size-keywords": "^1.0.0", + "css-font-stretch-keywords": "^1.0.1", + "css-font-style-keywords": "^1.0.1", + "css-font-weight-keywords": "^1.0.0", + "css-global-keywords": "^1.0.1", + "css-system-font-keywords": "^1.0.0", + "pick-by-alias": "^1.2.0", + "string-split-by": "^1.0.0", + "unquote": "^1.1.0" + } + }, + "css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha1-hUh1rOmspqjS7g00WkSq6btttss=" + }, + "css-font-stretch-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha1-UM7puboDH7XJUtRyMTnx4Qe1SxA=" + }, + "css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha1-XDUygT9jtKHelU0TzqhqtDM0CeQ=" + }, + "css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha1-m8BGcayFvHJLV07106yWsNYE/Zc=" + }, + "css-global-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", + "integrity": "sha1-cqmupyeW0Bmx0qMlLeTlqqN+Smk=" + }, "css-has-pseudo": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", @@ -4310,6 +4888,11 @@ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, + "css-system-font-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha1-hcbwhquk6zLFcaMIav/ENLhII+0=" + }, "css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", @@ -4331,6 +4914,11 @@ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" }, + "csscolorparser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs=" + }, "cssdb": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", @@ -4497,6 +5085,19 @@ } } }, + "cubic-hermite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cubic-hermite/-/cubic-hermite-1.0.0.tgz", + "integrity": "sha1-hOOy8nKzFFToOTuZu2rtRRaMFOU=" + }, + "cwise-compiler": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", + "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", + "requires": { + "uniq": "^1.0.0" + } + }, "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", @@ -4511,6 +5112,91 @@ "type": "^1.0.1" } }, + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=" + }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" + }, + "d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" + }, + "d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "d3-hierarchy": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==" + }, + "d3-interpolate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" + }, + "d3-quadtree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==" + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "requires": { + "d3-path": "1" + } + }, + "d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" + }, + "d3-time-format": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", + "requires": { + "d3-time": "1" + } + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + }, "damerau-levenshtein": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", @@ -4639,6 +5325,11 @@ } } }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, "del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", @@ -4695,6 +5386,15 @@ } } }, + "delaunay-triangulate": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/delaunay-triangulate/-/delaunay-triangulate-1.1.6.tgz", + "integrity": "sha1-W7yiGweBmNS8PHV5ajXLuYwllUw=", + "requires": { + "incremental-convex-hull": "^1.0.1", + "uniq": "^1.0.1" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -4719,6 +5419,11 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "detect-kerning": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", + "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==" + }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -4913,6 +5618,30 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "double-bits": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/double-bits/-/double-bits-1.1.1.tgz", + "integrity": "sha1-WKu6RUlNpND6Nrc60RoobJGEscY=" + }, + "draw-svg-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", + "integrity": "sha1-bxFtli3TFLmepTTW9Y3WbNvWk3k=", + "requires": { + "abs-svg-path": "~0.1.1", + "normalize-svg-path": "~0.1.0" + } + }, + "dtype": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz", + "integrity": "sha1-zQUjI84GFETs0uj1dI9popvihDQ=" + }, + "dup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", + "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -4953,6 +5682,11 @@ } } }, + "earcut": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.2.tgz", + "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ==" + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -4962,6 +5696,14 @@ "safer-buffer": "^2.1.0" } }, + "edges-to-adjacency-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/edges-to-adjacency-list/-/edges-to-adjacency-list-1.0.0.tgz", + "integrity": "sha1-wUbS4ISt37p0pRKTxuAZmkn3V/E=", + "requires": { + "uniq": "^1.0.0" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -4977,6 +5719,19 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.649.tgz", "integrity": "sha512-ojGDupQ3UMkvPWcTICe4JYe17+o9OLiFMPoduoR72Zp2ILt1mRVeqnxBEd6s/ptekrnsFU+0A4lStfBe/wyG/A==" }, + "element-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", + "integrity": "sha1-ZOXxWdlxIWMYRby67K8nnDm1404=" + }, + "elementary-circuits-directed-graph": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/elementary-circuits-directed-graph/-/elementary-circuits-directed-graph-1.2.0.tgz", + "integrity": "sha512-eOQofnrNqebPtC29PvyNMGUBdMrIw5i8nOoC/2VOlSF84tf5+ZXnRkIk7TgdT22jFXK68CC7aA881KRmNYf/Pg==", + "requires": { + "strongly-connected-components": "^1.0.1" + } + }, "elliptic": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", @@ -5157,6 +5912,11 @@ "es6-symbol": "^3.1.1" } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -5166,6 +5926,17 @@ "ext": "^1.1.2" } }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -6072,11 +6843,34 @@ } } }, + "extract-frustum-planes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/extract-frustum-planes/-/extract-frustum-planes-1.0.0.tgz", + "integrity": "sha1-l9VwP/BWTIw8aDjKxF+ee8UsnvU=" + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, + "falafel": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", + "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", + "requires": { + "acorn": "^7.1.1", + "foreach": "^2.0.5", + "isarray": "^2.0.1", + "object-keys": "^1.0.6" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6095,6 +6889,14 @@ "picomatch": "^2.2.1" } }, + "fast-isnumeric": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", + "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", + "requires": { + "is-string-blank": "^1.0.1" + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -6176,6 +6978,22 @@ "to-regex-range": "^5.0.1" } }, + "filtered-vector": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/filtered-vector/-/filtered-vector-1.2.4.tgz", + "integrity": "sha1-VkU8A030MC0pPKjs3qw/kKvGeNM=", + "requires": { + "binary-search-bounds": "^1.0.0", + "cubic-hermite": "^1.0.0" + }, + "dependencies": { + "binary-search-bounds": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz", + "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=" + } + } + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -6243,6 +7061,19 @@ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" }, + "flatten-vertex-data": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz", + "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==", + "requires": { + "dtype": "^2.0.0" + } + }, + "flip-pixels": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flip-pixels/-/flip-pixels-1.0.2.tgz", + "integrity": "sha512-oXbJGbjDnfJRWPC7Va38EFhd+A8JWE5/hCiKcK8qjCdbLj9DTpsq6MEudwpRTH+V4qq+Jw7d3pUgQdSr3x3mTA==" + }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -6281,11 +7112,32 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" }, + "font-atlas": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/font-atlas/-/font-atlas-2.1.0.tgz", + "integrity": "sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==", + "requires": { + "css-font": "^1.0.0" + } + }, + "font-measure": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/font-measure/-/font-measure-1.2.2.tgz", + "integrity": "sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==", + "requires": { + "css-font": "^1.2.0" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -6543,16 +7395,31 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, + "gamma": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/gamma/-/gamma-0.1.0.tgz", + "integrity": "sha1-MxVkNAO/J5BsqAqzfDbs6UQO8zA=" + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, + "geojson-vt": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-canvas-context": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", + "integrity": "sha1-1ue1C8TkyGNXzTnyJkeoS3NgHpM=" + }, "get-intrinsic": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", @@ -6594,6 +7461,403 @@ "assert-plus": "^1.0.0" } }, + "gl-axes3d": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/gl-axes3d/-/gl-axes3d-1.5.3.tgz", + "integrity": "sha512-KRYbguKQcDQ6PcB9g1pgqB8Ly4TY1DQODpPKiDTasyWJ8PxQk0t2Q7XoQQijNqvsguITCpVVCzNb5GVtIWiVlQ==", + "requires": { + "bit-twiddle": "^1.0.2", + "dup": "^1.0.0", + "extract-frustum-planes": "^1.0.0", + "gl-buffer": "^2.1.2", + "gl-mat4": "^1.2.0", + "gl-shader": "^4.2.1", + "gl-state": "^1.0.0", + "gl-vao": "^1.3.0", + "gl-vec4": "^1.0.1", + "glslify": "^7.0.0", + "robust-orientation": "^1.1.3", + "split-polygon": "^1.0.0", + "vectorize-text": "^3.2.1" + } + }, + "gl-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/gl-buffer/-/gl-buffer-2.1.2.tgz", + "integrity": "sha1-LbjZwaVSf7oM25EonCBuiCuInNs=", + "requires": { + "ndarray": "^1.0.15", + "ndarray-ops": "^1.1.0", + "typedarray-pool": "^1.0.0" + } + }, + "gl-cone3d": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.5.2.tgz", + "integrity": "sha512-1JNeHH4sUtUmDA4ZK7Om8/kShwb8IZVAsnxaaB7IPRJsNGciLj1sTpODrJGeMl41RNkex5kXD2SQFrzyEAR2Rw==", + "requires": { + "colormap": "^2.3.1", + "gl-buffer": "^2.1.2", + "gl-mat4": "^1.2.0", + "gl-shader": "^4.2.1", + "gl-texture2d": "^2.1.0", + "gl-vao": "^1.3.0", + "gl-vec3": "^1.1.3", + "glsl-inverse": "^1.0.0", + "glsl-out-of-range": "^1.0.4", + "glsl-specular-cook-torrance": "^2.0.1", + "glslify": "^7.0.0", + "ndarray": "^1.0.18" + } + }, + "gl-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gl-constants/-/gl-constants-1.0.0.tgz", + "integrity": "sha1-WXpQTjZHUP9QJTqjX43qevSl0jM=" + }, + "gl-contour2d": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/gl-contour2d/-/gl-contour2d-1.1.7.tgz", + "integrity": "sha512-GdebvJ9DtT3pJDpoE+eU2q+Wo9S3MijPpPz5arZbhK85w2bARmpFpVfPaDlZqWkB644W3BlH8TVyvAo1KE4Bhw==", + "requires": { + "binary-search-bounds": "^2.0.4", + "cdt2d": "^1.0.0", + "clean-pslg": "^1.1.2", + "gl-buffer": "^2.1.2", + "gl-shader": "^4.2.1", + "glslify": "^7.0.0", + "iota-array": "^1.0.0", + "ndarray": "^1.0.18", + "surface-nets": "^1.0.2" + } + }, + "gl-error3d": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/gl-error3d/-/gl-error3d-1.0.16.tgz", + "integrity": "sha512-TGJewnKSp7ZnqGgG3XCF9ldrDbxZrO+OWlx6oIet4OdOM//n8xJ5isArnIV/sdPJnFbhfoLxWrW9f5fxHFRQ1A==", + "requires": { + "gl-buffer": "^2.1.2", + "gl-shader": "^4.2.1", + "gl-vao": "^1.3.0", + "glsl-out-of-range": "^1.0.4", + "glslify": "^7.0.0" + } + }, + "gl-fbo": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.5.tgz", + "integrity": "sha1-D6daSXz3h2lVMGkcjwSrtvtV+iI=", + "requires": { + "gl-texture2d": "^2.0.0" + } + }, + "gl-format-compiler-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/gl-format-compiler-error/-/gl-format-compiler-error-1.0.3.tgz", + "integrity": "sha1-DHmxdRiZzpcy6GJA8JCqQemEcag=", + "requires": { + "add-line-numbers": "^1.0.1", + "gl-constants": "^1.0.0", + "glsl-shader-name": "^1.0.0", + "sprintf-js": "^1.0.3" + } + }, + "gl-heatmap2d": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/gl-heatmap2d/-/gl-heatmap2d-1.1.1.tgz", + "integrity": "sha512-6Vo1fPIB1vQFWBA/MR6JAA16XuQuhwvZRbSjYEq++m4QV33iqjGS2HcVIRfJGX+fomd5eiz6bwkVZcKm69zQPw==", + "requires": { + "binary-search-bounds": "^2.0.4", + "gl-buffer": "^2.1.2", + "gl-shader": "^4.2.1", + "glslify": "^7.0.0", + "iota-array": "^1.0.0", + "typedarray-pool": "^1.2.0" + } + }, + "gl-line3d": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/gl-line3d/-/gl-line3d-1.2.1.tgz", + "integrity": "sha512-eeb0+RI2ZBRqMYJK85SgsRiJK7c4aiOjcnirxv0830A3jmOc99snY3AbPcV8KvKmW0Yaf3KA4e+qNCbHiTOTnA==", + "requires": { + "binary-search-bounds": "^2.0.4", + "gl-buffer": "^2.1.2", + "gl-shader": "^4.2.1", + "gl-texture2d": "^2.1.0", + "gl-vao": "^1.3.0", + "glsl-out-of-range": "^1.0.4", + "glslify": "^7.0.0", + "ndarray": "^1.0.18" + } + }, + "gl-mat3": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz", + "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=" + }, + "gl-mat4": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", + "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==" + }, + "gl-matrix": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz", + "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==" + }, + "gl-mesh3d": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.3.1.tgz", + "integrity": "sha512-pXECamyGgu4/9HeAQSE5OEUuLBGS1aq9V4BCsTcxsND4fNLaajEkYKUz/WY2QSYElqKdsMBVsldGiKRKwlybqA==", + "requires": { + "barycentric": "^1.0.1", + "colormap": "^2.3.1", + "gl-buffer": "^2.1.2", + "gl-mat4": "^1.2.0", + "gl-shader": "^4.2.1", + "gl-texture2d": "^2.1.0", + "gl-vao": "^1.3.0", + "glsl-out-of-range": "^1.0.4", + "glsl-specular-cook-torrance": "^2.0.1", + "glslify": "^7.0.0", + "ndarray": "^1.0.18", + "normals": "^1.1.0", + "polytope-closest-point": "^1.0.0", + "simplicial-complex-contour": "^1.0.2", + "typedarray-pool": "^1.1.0" + } + }, + "gl-plot2d": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/gl-plot2d/-/gl-plot2d-1.4.5.tgz", + "integrity": "sha512-6GmCN10SWtV+qHFQ1gjdnVubeHFVsm6P4zmo0HrPIl9TcdePCUHDlBKWAuE6XtFhiMKMj7R8rApOX8O8uXUYog==", + "requires": { + "binary-search-bounds": "^2.0.4", + "gl-buffer": "^2.1.2", + "gl-select-static": "^2.0.7", + "gl-shader": "^4.2.1", + "glsl-inverse": "^1.0.0", + "glslify": "^7.0.0", + "text-cache": "^4.2.2" + } + }, + "gl-plot3d": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/gl-plot3d/-/gl-plot3d-2.4.7.tgz", + "integrity": "sha512-mLDVWrl4Dj0O0druWyHUK5l7cBQrRIJRn2oROEgrRuOgbbrLAzsREKefwMO0bA0YqkiZMFMnV5VvPA9j57X5Xg==", + "requires": { + "3d-view": "^2.0.0", + "a-big-triangle": "^1.0.3", + "gl-axes3d": "^1.5.3", + "gl-fbo": "^2.0.5", + "gl-mat4": "^1.2.0", + "gl-select-static": "^2.0.7", + "gl-shader": "^4.2.1", + "gl-spikes3d": "^1.0.10", + "glslify": "^7.0.0", + "has-passive-events": "^1.0.0", + "is-mobile": "^2.2.1", + "mouse-change": "^1.4.0", + "mouse-event-offset": "^3.0.2", + "mouse-wheel": "^1.2.0", + "ndarray": "^1.0.19", + "right-now": "^1.0.0" + } + }, + "gl-pointcloud2d": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/gl-pointcloud2d/-/gl-pointcloud2d-1.0.3.tgz", + "integrity": "sha512-OS2e1irvJXVRpg/GziXj10xrFJm9kkRfFoB6BLUvkjCQV7ZRNNcs2CD+YSK1r0gvMwTg2T3lfLM3UPwNtz+4Xw==", + "requires": { + "gl-buffer": "^2.1.2", + "gl-shader": "^4.2.1", + "glslify": "^7.0.0", + "typedarray-pool": "^1.1.0" + } + }, + "gl-quat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gl-quat/-/gl-quat-1.0.0.tgz", + "integrity": "sha1-CUXskjOG9FMpvl3DV7HIwtR1hsU=", + "requires": { + "gl-mat3": "^1.0.0", + "gl-vec3": "^1.0.3", + "gl-vec4": "^1.0.0" + } + }, + "gl-scatter3d": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/gl-scatter3d/-/gl-scatter3d-1.2.3.tgz", + "integrity": "sha512-nXqPlT1w5Qt51dTksj+DUqrZqwWAEWg0PocsKcoDnVNv0X8sGA+LBZ0Y+zrA+KNXUL0PPCX9WR9cF2uJAZl1Sw==", + "requires": { + "gl-buffer": "^2.1.2", + "gl-mat4": "^1.2.0", + "gl-shader": "^4.2.1", + "gl-vao": "^1.3.0", + "glsl-out-of-range": "^1.0.4", + "glslify": "^7.0.0", + "is-string-blank": "^1.0.1", + "typedarray-pool": "^1.1.0", + "vectorize-text": "^3.2.1" + } + }, + "gl-select-box": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/gl-select-box/-/gl-select-box-1.0.4.tgz", + "integrity": "sha512-mKsCnglraSKyBbQiGq0Ila0WF+m6Tr+EWT2yfaMn/Sh9aMHq5Wt0F/l6Cf/Ed3CdERq5jHWAY5yxLviZteYu2w==", + "requires": { + "gl-buffer": "^2.1.2", + "gl-shader": "^4.2.1", + "glslify": "^7.0.0" + } + }, + "gl-select-static": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/gl-select-static/-/gl-select-static-2.0.7.tgz", + "integrity": "sha512-OvpYprd+ngl3liEatBTdXhSyNBjwvjMSvV2rN0KHpTU+BTi4viEETXNZXFgGXY37qARs0L28ybk3UQEW6C5Nnw==", + "requires": { + "bit-twiddle": "^1.0.2", + "gl-fbo": "^2.0.5", + "ndarray": "^1.0.18", + "typedarray-pool": "^1.1.0" + } + }, + "gl-shader": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/gl-shader/-/gl-shader-4.2.1.tgz", + "integrity": "sha1-vJuAjpKTxRtmjojeYVsMETcI3C8=", + "requires": { + "gl-format-compiler-error": "^1.0.2", + "weakmap-shim": "^1.1.0" + } + }, + "gl-spikes2d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/gl-spikes2d/-/gl-spikes2d-1.0.2.tgz", + "integrity": "sha512-QVeOZsi9nQuJJl7NB3132CCv5KA10BWxAY2QgJNsKqbLsG53B/TrGJpjIAohnJftdZ4fT6b3ZojWgeaXk8bOOA==" + }, + "gl-spikes3d": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/gl-spikes3d/-/gl-spikes3d-1.0.10.tgz", + "integrity": "sha512-lT3xroowOFxMvlhT5Mof76B2TE02l5zt/NIWljhczV2FFHgIVhA4jMrd5dIv1so1RXMBDJIKu0uJI3QKliDVLg==", + "requires": { + "gl-buffer": "^2.1.2", + "gl-shader": "^4.2.1", + "gl-vao": "^1.3.0", + "glslify": "^7.0.0" + } + }, + "gl-state": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gl-state/-/gl-state-1.0.0.tgz", + "integrity": "sha1-Ji+qdYNbC5xTLBLzitxCXR0wzRc=", + "requires": { + "uniq": "^1.0.0" + } + }, + "gl-streamtube3d": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/gl-streamtube3d/-/gl-streamtube3d-1.4.1.tgz", + "integrity": "sha512-rH02v00kgwgdpkXVo7KsSoPp38bIAYR9TE1iONjcQ4cQAlDhrGRauqT/P5sUaOIzs17A2DxWGcXM+EpNQs9pUA==", + "requires": { + "gl-cone3d": "^1.5.2", + "gl-vec3": "^1.1.3", + "gl-vec4": "^1.0.1", + "glsl-inverse": "^1.0.0", + "glsl-out-of-range": "^1.0.4", + "glsl-specular-cook-torrance": "^2.0.1", + "glslify": "^7.0.0" + } + }, + "gl-surface3d": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/gl-surface3d/-/gl-surface3d-1.6.0.tgz", + "integrity": "sha512-x15+u4712ysnB85G55RLJEml6mOB4VaDn0VTlXCc9JcjRl5Es10Tk7lhGGyiPtkCfHwvhnkxzYA1/rHHYN7Y0A==", + "requires": { + "binary-search-bounds": "^2.0.4", + "bit-twiddle": "^1.0.2", + "colormap": "^2.3.1", + "dup": "^1.0.0", + "gl-buffer": "^2.1.2", + "gl-mat4": "^1.2.0", + "gl-shader": "^4.2.1", + "gl-texture2d": "^2.1.0", + "gl-vao": "^1.3.0", + "glsl-out-of-range": "^1.0.4", + "glsl-specular-beckmann": "^1.1.2", + "glslify": "^7.0.0", + "ndarray": "^1.0.18", + "ndarray-gradient": "^1.0.0", + "ndarray-ops": "^1.2.2", + "ndarray-pack": "^1.2.1", + "ndarray-scratch": "^1.2.0", + "surface-nets": "^1.0.2", + "typedarray-pool": "^1.1.0" + } + }, + "gl-text": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.1.8.tgz", + "integrity": "sha512-whnq9DEFYbW92C4ONwk2eT0YkzmVPHoADnEtuzMOmit87XhgAhBrNs3lK9EgGjU/MoWYvlF6RkI8Kl7Yuo1hUw==", + "requires": { + "bit-twiddle": "^1.0.2", + "color-normalize": "^1.5.0", + "css-font": "^1.2.0", + "detect-kerning": "^2.1.2", + "es6-weak-map": "^2.0.3", + "flatten-vertex-data": "^1.0.2", + "font-atlas": "^2.1.0", + "font-measure": "^1.2.2", + "gl-util": "^3.1.2", + "is-plain-obj": "^1.1.0", + "object-assign": "^4.1.1", + "parse-rect": "^1.2.0", + "parse-unit": "^1.0.1", + "pick-by-alias": "^1.2.0", + "regl": "^1.3.11", + "to-px": "^1.0.1", + "typedarray-pool": "^1.1.0" + } + }, + "gl-texture2d": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gl-texture2d/-/gl-texture2d-2.1.0.tgz", + "integrity": "sha1-/2gk5+fDGoum/c2+nlxpXX4hh8c=", + "requires": { + "ndarray": "^1.0.15", + "ndarray-ops": "^1.2.2", + "typedarray-pool": "^1.1.0" + } + }, + "gl-util": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz", + "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==", + "requires": { + "is-browser": "^2.0.1", + "is-firefox": "^1.0.3", + "is-plain-obj": "^1.1.0", + "number-is-integer": "^1.0.1", + "object-assign": "^4.1.0", + "pick-by-alias": "^1.2.0", + "weak-map": "^1.0.5" + } + }, + "gl-vao": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/gl-vao/-/gl-vao-1.3.0.tgz", + "integrity": "sha1-6ekqqVWIyrnVwvBLaTRAw99pGSM=" + }, + "gl-vec3": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz", + "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==" + }, + "gl-vec4": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz", + "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=" + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -6651,11 +7915,227 @@ "slash": "^3.0.0" } }, + "glsl-inject-defines": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", + "integrity": "sha1-3RqswsF/yyvT/DJBHGYz0Ne2D9Q=", + "requires": { + "glsl-token-inject-block": "^1.0.0", + "glsl-token-string": "^1.0.1", + "glsl-tokenizer": "^2.0.2" + } + }, + "glsl-inverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glsl-inverse/-/glsl-inverse-1.0.0.tgz", + "integrity": "sha1-EsCx0GX1WERNHm/q95td34qRiuY=" + }, + "glsl-out-of-range": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/glsl-out-of-range/-/glsl-out-of-range-1.0.4.tgz", + "integrity": "sha512-fCcDu2LCQ39VBvfe1FbhuazXEf0CqMZI9OYXrYlL6uUARG48CTAbL04+tZBtVM0zo1Ljx4OLu2AxNquq++lxWQ==" + }, + "glsl-resolve": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", + "integrity": "sha1-iUvvc5ENeSyBtRQxgANdCnivdtM=", + "requires": { + "resolve": "^0.6.1", + "xtend": "^2.1.2" + }, + "dependencies": { + "resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=" + }, + "xtend": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", + "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=" + } + } + }, + "glsl-shader-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glsl-shader-name/-/glsl-shader-name-1.0.0.tgz", + "integrity": "sha1-osMLO6c0mb77DMcYTXx3M91LSH0=", + "requires": { + "atob-lite": "^1.0.0", + "glsl-tokenizer": "^2.0.2" + } + }, + "glsl-specular-beckmann": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glsl-specular-beckmann/-/glsl-specular-beckmann-1.1.2.tgz", + "integrity": "sha1-/OkFaTPs3yRWJ4N2pU0IKJPndfE=" + }, + "glsl-specular-cook-torrance": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/glsl-specular-cook-torrance/-/glsl-specular-cook-torrance-2.0.1.tgz", + "integrity": "sha1-qJHMBsjHtPRyhwK0gk/ay7ln148=", + "requires": { + "glsl-specular-beckmann": "^1.1.1" + } + }, + "glsl-token-assignments": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", + "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=" + }, + "glsl-token-defines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", + "integrity": "sha1-y4kqqVmTYjFyhHDU90AySJaX+p0=", + "requires": { + "glsl-tokenizer": "^2.0.0" + } + }, + "glsl-token-depth": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", + "integrity": "sha1-I8XjDuK9JViEtKKLyFC495HpXYQ=" + }, + "glsl-token-descope": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", + "integrity": "sha1-D8kKsyYYa4L1l7LnfcniHvzTIHY=", + "requires": { + "glsl-token-assignments": "^2.0.0", + "glsl-token-depth": "^1.1.0", + "glsl-token-properties": "^1.0.0", + "glsl-token-scope": "^1.1.0" + } + }, + "glsl-token-inject-block": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", + "integrity": "sha1-4QFfWYDBCRgkraomJfHf3ovQADQ=" + }, + "glsl-token-properties": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", + "integrity": "sha1-SD3D2Dnw1LXGFx0VkfJJvlPCip4=" + }, + "glsl-token-scope": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", + "integrity": "sha1-oXKOeN8kRE+cuT/RjvD3VQOmQ7E=" + }, + "glsl-token-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", + "integrity": "sha1-WUQdL4V958NEnJRWZgIezjWOSOw=" + }, + "glsl-token-whitespace-trim": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", + "integrity": "sha1-RtHf6Yx1vX1QTAXX0RsbPpzJOxA=" + }, + "glsl-tokenizer": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", + "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", + "requires": { + "through2": "^0.6.3" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "glslify": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", + "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", + "requires": { + "bl": "^2.2.1", + "concat-stream": "^1.5.2", + "duplexify": "^3.4.5", + "falafel": "^2.1.0", + "from2": "^2.3.0", + "glsl-resolve": "0.0.1", + "glsl-token-whitespace-trim": "^1.0.0", + "glslify-bundle": "^5.0.0", + "glslify-deps": "^1.2.5", + "minimist": "^1.2.5", + "resolve": "^1.1.5", + "stack-trace": "0.0.9", + "static-eval": "^2.0.5", + "through2": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "glslify-bundle": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", + "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", + "requires": { + "glsl-inject-defines": "^1.0.1", + "glsl-token-defines": "^1.0.0", + "glsl-token-depth": "^1.1.1", + "glsl-token-descope": "^1.0.2", + "glsl-token-scope": "^1.1.1", + "glsl-token-string": "^1.0.1", + "glsl-token-whitespace-trim": "^1.0.0", + "glsl-tokenizer": "^2.0.2", + "murmurhash-js": "^1.0.0", + "shallow-copy": "0.0.1" + } + }, + "glslify-deps": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.2.tgz", + "integrity": "sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==", + "requires": { + "@choojs/findup": "^0.2.0", + "events": "^3.2.0", + "glsl-resolve": "0.0.1", + "glsl-tokenizer": "^2.0.0", + "graceful-fs": "^4.1.2", + "inherits": "^2.0.1", + "map-limit": "0.0.1", + "resolve": "^1.0.0" + } + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, + "grid-index": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", + "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -6708,6 +8188,22 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, + "has-hover": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-hover/-/has-hover-1.0.1.tgz", + "integrity": "sha1-PZdDeusZnGK4rAisvcU9O8UsF/c=", + "requires": { + "is-browser": "^2.0.1" + } + }, + "has-passive-events": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-passive-events/-/has-passive-events-1.0.0.tgz", + "integrity": "sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==", + "requires": { + "is-browser": "^2.0.1" + } + }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", @@ -6882,6 +8378,11 @@ "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" }, + "hsluv": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/hsluv/-/hsluv-0.0.3.tgz", + "integrity": "sha1-gpEH2vtKn4tSoYCe0C4JHq3mdUw=" + }, "html-comment-regex": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", @@ -7185,6 +8686,21 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" }, + "image-palette": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/image-palette/-/image-palette-2.1.0.tgz", + "integrity": "sha512-3ImSEWD26+xuQFdP0RWR4WSXadZwvgrFhjGNpMEapTG1tf2XrBFS2dlKK5hNgH4UIaSQlSUFRn1NeA+zULIWbQ==", + "requires": { + "color-id": "^1.1.0", + "pxls": "^2.0.0", + "quantize": "^1.0.2" + } + }, + "image-size": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==" + }, "immer": { "version": "7.0.9", "resolved": "https://registry.npmjs.org/immer/-/immer-7.0.9.tgz", @@ -7246,6 +8762,15 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, + "incremental-convex-hull": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/incremental-convex-hull/-/incremental-convex-hull-1.0.1.tgz", + "integrity": "sha1-UUKMFMudmmFEv+abKFH7N3M0vh4=", + "requires": { + "robust-orientation": "^1.1.2", + "simplicial-complex": "^1.0.0" + } + }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -7299,6 +8824,31 @@ "side-channel": "^1.0.4" } }, + "interval-tree-1d": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.3.tgz", + "integrity": "sha1-j9veArayx9verWNry+2OCHENhcE=", + "requires": { + "binary-search-bounds": "^1.0.0" + }, + "dependencies": { + "binary-search-bounds": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz", + "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=" + } + } + }, + "invert-permutation": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-permutation/-/invert-permutation-1.0.0.tgz", + "integrity": "sha1-oKeAQurbNrwXVR54fv0UOa3VSTM=" + }, + "iota-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", + "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" + }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -7350,6 +8900,11 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, + "is-base64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-base64/-/is-base64-0.1.0.tgz", + "integrity": "sha512-WRRyllsGXJM7ZN7gPTCCQ/6wNPTRDwiWdPK66l5sJzcU/oOzcIcRRf0Rux8bkpox/1yjt0F6VJRsQOIG2qz5sg==" + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -7359,6 +8914,16 @@ "binary-extensions": "^2.0.0" } }, + "is-blob": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.1.0.tgz", + "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==" + }, + "is-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", + "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==" + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -7458,6 +9023,21 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + }, + "is-firefox": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz", + "integrity": "sha1-KioVZ3g6QX9uFYMjEI84YbCRhWI=" + }, + "is-float-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-float-array/-/is-float-array-1.0.0.tgz", + "integrity": "sha512-4ew1Sx6B6kEAl3T3NOM0yB94J3NZnBdNt4paw0e8nY73yHHTeTEhyQ3Lj7EQEnv5LD+GxNTaT4L46jcKjjpLiQ==" + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -7476,6 +9056,16 @@ "is-extglob": "^2.1.1" } }, + "is-iexplorer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz", + "integrity": "sha1-HXK8ZtP+Iur2Fw3ajPEJQySM/HY=" + }, + "is-mobile": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz", + "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==" + }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -7568,6 +9158,11 @@ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" }, + "is-string-blank": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", + "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==" + }, "is-svg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", @@ -7576,6 +9171,11 @@ "html-comment-regex": "^1.1.0" } }, + "is-svg-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-svg-path/-/is-svg-path-1.0.2.tgz", + "integrity": "sha1-d6tZDBKz0gNI5cehPQBAyHeE3aA=" + }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -9292,6 +10892,11 @@ "object.assign": "^4.1.2" } }, + "kdbush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -9329,6 +10934,11 @@ "webpack-sources": "^1.1.0" } }, + "lerp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lerp/-/lerp-1.0.3.tgz", + "integrity": "sha1-oYyJaPkXiW3hXM/MKNVaa3Med24=" + }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -9512,6 +11122,24 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, + "map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + } + } + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -9520,6 +11148,96 @@ "object-visit": "^1.0.0" } }, + "mapbox-gl": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.10.1.tgz", + "integrity": "sha512-0aHt+lFUpYfvh0kMIqXqNXqoYMuhuAsMlw87TbhWrw78Tx2zfuPI0Lx31/YPUgJ+Ire0tzQ4JnuBL7acDNXmMg==", + "requires": { + "@mapbox/geojson-rewind": "^0.5.0", + "@mapbox/geojson-types": "^1.0.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/mapbox-gl-supported": "^1.5.0", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^1.1.1", + "@mapbox/unitbezier": "^0.0.0", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "csscolorparser": "~1.0.3", + "earcut": "^2.2.2", + "geojson-vt": "^3.2.1", + "gl-matrix": "^3.2.1", + "grid-index": "^1.1.0", + "minimist": "^1.2.5", + "murmurhash-js": "^1.0.0", + "pbf": "^3.2.1", + "potpack": "^1.0.1", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "supercluster": "^7.0.0", + "tinyqueue": "^2.0.3", + "vt-pbf": "^3.1.1" + } + }, + "marching-simplex-table": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/marching-simplex-table/-/marching-simplex-table-1.0.0.tgz", + "integrity": "sha1-vBYlbg+Pm1WKqbKHL4gy2UM/Uuo=", + "requires": { + "convex-hull": "^1.0.3" + } + }, + "mat4-decompose": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mat4-decompose/-/mat4-decompose-1.0.4.tgz", + "integrity": "sha1-ZetP451wh496RE60Yk1S9+frL68=", + "requires": { + "gl-mat4": "^1.0.1", + "gl-vec3": "^1.0.2" + } + }, + "mat4-interpolate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.4.tgz", + "integrity": "sha1-Vf/p6zw1KV4sDVqfdyXZBoqJ/3Q=", + "requires": { + "gl-mat4": "^1.0.1", + "gl-vec3": "^1.0.2", + "mat4-decompose": "^1.0.3", + "mat4-recompose": "^1.0.3", + "quat-slerp": "^1.0.0" + } + }, + "mat4-recompose": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mat4-recompose/-/mat4-recompose-1.0.4.tgz", + "integrity": "sha1-OVPCMP8kc9x3LuAUpSySXPgbDk0=", + "requires": { + "gl-mat4": "^1.0.1" + } + }, + "math-log2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", + "integrity": "sha1-+4lBvl9evol55xjmJzsXjlhpRWU=" + }, + "matrix-camera-controller": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/matrix-camera-controller/-/matrix-camera-controller-2.1.3.tgz", + "integrity": "sha1-NeUmDMHNVQliunmfLY1OlLGjk3A=", + "requires": { + "binary-search-bounds": "^1.0.0", + "gl-mat4": "^1.1.2", + "gl-vec3": "^1.0.3", + "mat4-interpolate": "^1.0.3" + }, + "dependencies": { + "binary-search-bounds": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz", + "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=" + } + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -9804,6 +11522,49 @@ "minimist": "^1.2.5" } }, + "monotone-convex-hull-2d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/monotone-convex-hull-2d/-/monotone-convex-hull-2d-1.0.1.tgz", + "integrity": "sha1-R/Xa6t88Sv03dkuqGqh4ekDu4Iw=", + "requires": { + "robust-orientation": "^1.1.3" + } + }, + "mouse-change": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz", + "integrity": "sha1-wrd+W/o0pDzhRFyBV6Tk3JiVwU8=", + "requires": { + "mouse-event": "^1.0.0" + } + }, + "mouse-event": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz", + "integrity": "sha1-s3ie23EJmX1aky0dAdqhVDpQFzI=" + }, + "mouse-event-offset": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz", + "integrity": "sha1-39hqbiSMa6jK1TuQXVA3ogY+mYQ=" + }, + "mouse-wheel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz", + "integrity": "sha1-bSkDseqPtI5h8bU7kDZ3PwQs21w=", + "requires": { + "right-now": "^1.0.0", + "signum": "^1.0.0", + "to-px": "^1.0.1" + }, + "dependencies": { + "signum": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", + "integrity": "sha1-dKfSvyogtA66FqkrFSEk8dVZ+nc=" + } + } + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -9846,6 +11607,19 @@ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, + "mumath": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/mumath/-/mumath-3.3.4.tgz", + "integrity": "sha1-SNSg8P2MrU57Mglu6JsWGmPTC78=", + "requires": { + "almost-equal": "^1.1.0" + } + }, + "murmurhash-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=" + }, "nanoid": { "version": "3.1.20", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", @@ -9882,6 +11656,72 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, + "ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", + "requires": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + } + }, + "ndarray-extract-contour": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ndarray-extract-contour/-/ndarray-extract-contour-1.0.1.tgz", + "integrity": "sha1-Cu4ROjozsia5DEiIz4d79HUTBeQ=", + "requires": { + "typedarray-pool": "^1.0.0" + } + }, + "ndarray-gradient": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ndarray-gradient/-/ndarray-gradient-1.0.0.tgz", + "integrity": "sha1-t0kaUVxqZJ8ZpiMk//byf8jCU5M=", + "requires": { + "cwise-compiler": "^1.0.0", + "dup": "^1.0.0" + } + }, + "ndarray-linear-interpolate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz", + "integrity": "sha1-eLySuFuavBW25n7mWCj54hN65ys=" + }, + "ndarray-ops": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", + "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", + "requires": { + "cwise-compiler": "^1.0.0" + } + }, + "ndarray-pack": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz", + "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=", + "requires": { + "cwise-compiler": "^1.1.2", + "ndarray": "^1.0.13" + } + }, + "ndarray-scratch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", + "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", + "requires": { + "ndarray": "^1.0.14", + "ndarray-ops": "^1.2.1", + "typedarray-pool": "^1.0.2" + } + }, + "ndarray-sort": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ndarray-sort/-/ndarray-sort-1.0.1.tgz", + "integrity": "sha1-/qBbTLg0x/TgIWo1TzynUTAN/Wo=", + "requires": { + "typedarray-pool": "^1.0.0" + } + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -9897,6 +11737,14 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, + "nextafter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nextafter/-/nextafter-1.0.0.tgz", + "integrity": "sha1-t9d7U1MQ4+CX5gJauwqQNHfsGjo=", + "requires": { + "double-bits": "^1.1.0" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -10052,6 +11900,11 @@ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, + "normalize-svg-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-0.1.0.tgz", + "integrity": "sha1-RWNg5g7Odfvve11+FgSA5//Rb+U=" + }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -10063,6 +11916,11 @@ "sort-keys": "^1.0.0" } }, + "normals": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normals/-/normals-1.1.0.tgz", + "integrity": "sha1-MltZXtNK/kZ6bFWhT9kIV4f/WcA=" + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -10084,6 +11942,19 @@ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" }, + "number-is-integer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz", + "integrity": "sha1-5ZvKFy/+0nMY55x862y3LAlbIVI=", + "requires": { + "is-finite": "^1.0.1" + } + }, + "numeric": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/numeric/-/numeric-1.2.6.tgz", + "integrity": "sha1-dlsCvvl5iPz4gNTrPza4D6MTNao=" + }, "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -10296,6 +12167,15 @@ "word-wrap": "^1.2.3" } }, + "orbit-camera-controller": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/orbit-camera-controller/-/orbit-camera-controller-4.0.0.tgz", + "integrity": "sha1-bis28OeHhmPDMPUNqbfOaGwncAU=", + "requires": { + "filtered-vector": "^1.2.1", + "gl-mat4": "^1.0.3" + } + }, "original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", @@ -10356,6 +12236,14 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, + "pad-left": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-1.0.2.tgz", + "integrity": "sha1-GeVzXqmDlaJs7carkm6tEPMQDUw=", + "requires": { + "repeat-string": "^1.3.0" + } + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -10419,6 +12307,11 @@ "callsites": "^3.0.0" } }, + "parenthesis": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.7.tgz", + "integrity": "sha512-iMtu+HCbLXVrpf6Ys/4YKhcFxbux3xK4ZVB9r+a2kMSqeeQWQoDNYlXIsOjwlT2ldYXZ3k5PVeBnYn7fbAo/Bg==" + }, "parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", @@ -10442,6 +12335,24 @@ "lines-and-columns": "^1.1.6" } }, + "parse-rect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz", + "integrity": "sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==", + "requires": { + "pick-by-alias": "^1.2.0" + } + }, + "parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" + }, + "parse-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz", + "integrity": "sha1-fhu21b7zh0wo45JSaiVBFwKR7s8=" + }, "parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", @@ -10518,6 +12429,15 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, + "pbf": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", + "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "requires": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + } + }, "pbkdf2": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", @@ -10535,6 +12455,28 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "permutation-parity": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/permutation-parity/-/permutation-parity-1.0.0.tgz", + "integrity": "sha1-AXTVH8pwSxG5pLFSsj1Tf9xrXvQ=", + "requires": { + "typedarray-pool": "^1.0.0" + } + }, + "permutation-rank": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/permutation-rank/-/permutation-rank-1.0.0.tgz", + "integrity": "sha1-n9mLvOzwj79ZlLXq3JSmLmeUg7U=", + "requires": { + "invert-permutation": "^1.0.0", + "typedarray-pool": "^1.0.0" + } + }, + "pick-by-alias": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz", + "integrity": "sha1-X3yysfIabh6ISgyHhVqko3NhEHs=" + }, "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", @@ -10646,6 +12588,104 @@ } } }, + "planar-dual": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/planar-dual/-/planar-dual-1.0.2.tgz", + "integrity": "sha1-tqQjVSOxsMt55fkm+OozXdmC1WM=", + "requires": { + "compare-angle": "^1.0.0", + "dup": "^1.0.0" + } + }, + "planar-graph-to-polyline": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/planar-graph-to-polyline/-/planar-graph-to-polyline-1.0.5.tgz", + "integrity": "sha1-iCuGBRmbqIv9RkyVUzA1VsUrmIo=", + "requires": { + "edges-to-adjacency-list": "^1.0.0", + "planar-dual": "^1.0.0", + "point-in-big-polygon": "^2.0.0", + "robust-orientation": "^1.0.1", + "robust-sum": "^1.0.0", + "two-product": "^1.0.0", + "uniq": "^1.0.0" + } + }, + "plotly.js": { + "version": "1.58.4", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-1.58.4.tgz", + "integrity": "sha512-hdt/aEvkPjS1HJ7tJKcPqsqi9ErEZPhUFs4d2ANTLeBim+AmVcHzS1rtwr7ZrVCINgliW/+92u81omJoy+lbUw==", + "requires": { + "@plotly/d3-sankey": "0.7.2", + "@plotly/d3-sankey-circular": "0.33.1", + "@plotly/point-cluster": "^3.1.9", + "@turf/area": "^6.0.1", + "@turf/bbox": "^6.0.1", + "@turf/centroid": "^6.0.2", + "alpha-shape": "^1.0.0", + "canvas-fit": "^1.5.0", + "color-alpha": "1.0.4", + "color-normalize": "1.5.0", + "color-parse": "1.3.8", + "color-rgba": "2.1.1", + "convex-hull": "^1.0.3", + "country-regex": "^1.1.0", + "d3": "^3.5.17", + "d3-force": "^1.2.1", + "d3-hierarchy": "^1.1.9", + "d3-interpolate": "^1.4.0", + "d3-time-format": "^2.2.3", + "delaunay-triangulate": "^1.1.6", + "es6-promise": "^4.2.8", + "fast-isnumeric": "^1.1.4", + "gl-cone3d": "^1.5.2", + "gl-contour2d": "^1.1.7", + "gl-error3d": "^1.0.16", + "gl-heatmap2d": "^1.1.0", + "gl-line3d": "1.2.1", + "gl-mat4": "^1.2.0", + "gl-mesh3d": "^2.3.1", + "gl-plot2d": "^1.4.5", + "gl-plot3d": "^2.4.7", + "gl-pointcloud2d": "^1.0.3", + "gl-scatter3d": "^1.2.3", + "gl-select-box": "^1.0.4", + "gl-spikes2d": "^1.0.2", + "gl-streamtube3d": "^1.4.1", + "gl-surface3d": "^1.6.0", + "gl-text": "^1.1.8", + "glslify": "^7.1.1", + "has-hover": "^1.0.1", + "has-passive-events": "^1.0.0", + "image-size": "^0.7.5", + "is-mobile": "^2.2.2", + "mapbox-gl": "1.10.1", + "matrix-camera-controller": "^2.1.3", + "mouse-change": "^1.4.0", + "mouse-event-offset": "^3.0.2", + "mouse-wheel": "^1.2.0", + "ndarray": "^1.0.19", + "ndarray-linear-interpolate": "^1.0.0", + "parse-svg-path": "^0.1.2", + "polybooljs": "^1.2.0", + "regl": "^1.6.1", + "regl-error2d": "^2.0.11", + "regl-line2d": "^3.0.18", + "regl-scatter2d": "^3.2.1", + "regl-splom": "^1.0.12", + "right-now": "^1.0.0", + "robust-orientation": "^1.1.3", + "sane-topojson": "^4.0.0", + "strongly-connected-components": "^1.0.1", + "superscript-text": "^1.0.0", + "svg-path-sdf": "^1.1.3", + "tinycolor2": "^1.4.2", + "to-px": "1.0.1", + "topojson-client": "^3.1.0", + "webgl-context": "^2.2.0", + "world-calendars": "^1.0.3" + } + }, "pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", @@ -10654,6 +12694,37 @@ "ts-pnp": "^1.1.6" } }, + "point-in-big-polygon": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/point-in-big-polygon/-/point-in-big-polygon-2.0.0.tgz", + "integrity": "sha1-ObYT6mzxfWtD4Yj3fzTETGszulU=", + "requires": { + "binary-search-bounds": "^1.0.0", + "interval-tree-1d": "^1.0.1", + "robust-orientation": "^1.1.3", + "slab-decomposition": "^1.0.1" + }, + "dependencies": { + "binary-search-bounds": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz", + "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=" + } + } + }, + "polybooljs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/polybooljs/-/polybooljs-1.2.0.tgz", + "integrity": "sha1-tDkMLgedTCYtOyUExiiNlbp6R1g=" + }, + "polytope-closest-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/polytope-closest-point/-/polytope-closest-point-1.0.0.tgz", + "integrity": "sha1-5uV/QIGrXox3i4Ee8G4sSK4zjD8=", + "requires": { + "numeric": "^1.2.6" + } + }, "portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", @@ -11676,6 +13747,11 @@ "uniq": "^1.0.1" } }, + "potpack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.1.tgz", + "integrity": "sha512-15vItUAbViaYrmaB/Pbw7z6qX2xENbFSTA7Ii4tgbPtasxm5v6ryKhKtL91tpWovDJzTiZqdwzhcFBCwiMVdVw==" + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -11786,6 +13862,11 @@ "react-is": "^16.8.1" } }, + "protocol-buffers-schema": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.1.tgz", + "integrity": "sha512-YVCvdhxWNDP8/nJDyXLuM+UFsuPk4+1PB7WGPVDzm3HTHbzFLxQYeW2iZpS4mmnXrQJGBzt230t/BbEb7PrQaw==" + }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -11860,6 +13941,26 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, + "pxls": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/pxls/-/pxls-2.3.2.tgz", + "integrity": "sha512-pQkwgbLqWPcuES5iEmGa10OlCf5xG0blkIF3dg7PpRZShbTYcvAdfFfGL03SMrkaSUaa/V0UpN9HWg40O2AIIw==", + "requires": { + "arr-flatten": "^1.1.0", + "compute-dims": "^1.1.0", + "flip-pixels": "^1.0.2", + "is-browser": "^2.1.0", + "is-buffer": "^2.0.3", + "to-uint8": "^1.4.1" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + } + } + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -11870,6 +13971,19 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "quantize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quantize/-/quantize-1.0.2.tgz", + "integrity": "sha1-0lrCAKd7bXD0ASfKFxoQ4zyFRt4=" + }, + "quat-slerp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/quat-slerp/-/quat-slerp-1.0.1.tgz", + "integrity": "sha1-K6oVzjprvcMkHZcusXKDE57Wnyk=", + "requires": { + "gl-quat": "^1.0.0" + } + }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", @@ -11894,6 +14008,11 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, + "quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, "raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", @@ -11924,6 +14043,14 @@ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, + "rat-vec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rat-vec/-/rat-vec-1.1.1.tgz", + "integrity": "sha1-Dd4rZrezS7G80qI4BerIBth/0X8=", + "requires": { + "big-rat": "^1.0.3" + } + }, "raw-body": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", @@ -12090,6 +14217,14 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "react-plotly.js": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.5.1.tgz", + "integrity": "sha512-Oya14whSHvPsYXdI0nHOGs1pZhMzV2edV7HAW1xFHD58Y73m/LbG2Encvyz1tztL0vfjph0JNhiwO8cGBJnlhg==", + "requires": { + "prop-types": "^15.7.2" + } + }, "react-refresh": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", @@ -12313,6 +14448,16 @@ "minimatch": "3.0.4" } }, + "reduce-simplicial-complex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/reduce-simplicial-complex/-/reduce-simplicial-complex-1.0.0.tgz", + "integrity": "sha1-dNaWovg196bc2SBl/YxRgfLt+Lw=", + "requires": { + "cell-orientation": "^1.0.1", + "compare-cell": "^1.0.0", + "compare-oriented-cell": "^1.0.1" + } + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -12353,6 +14498,11 @@ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" }, + "regex-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regex-regex/-/regex-regex-1.0.0.tgz", + "integrity": "sha1-kEih6uuHD01IDavHb8Qs3MC8OnI=" + }, "regexp.prototype.flags": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", @@ -12400,6 +14550,82 @@ } } }, + "regl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz", + "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==" + }, + "regl-error2d": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.11.tgz", + "integrity": "sha512-Bv4DbLtDU69GXPSm+NvlVWzT82oQ8M2FK+SxzkyaYMlA9izZRdLmDADqBSyJTnPWiRT4a/2KA+MP+WI0N0yt7Q==", + "requires": { + "array-bounds": "^1.0.1", + "color-normalize": "^1.5.0", + "flatten-vertex-data": "^1.0.2", + "object-assign": "^4.1.1", + "pick-by-alias": "^1.2.0", + "to-float32": "^1.0.1", + "update-diff": "^1.1.0" + } + }, + "regl-line2d": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.0.tgz", + "integrity": "sha512-8dB3SyAW5zTU759LrIJdkOe128htl1xlONHrknsFl1tAxZVqTc+WO/2k9pAJDuyiKu1v/6bosiuEDOB7G3dm4w==", + "requires": { + "array-bounds": "^1.0.1", + "array-find-index": "^1.0.2", + "array-normalize": "^1.1.4", + "color-normalize": "^1.5.0", + "earcut": "^2.1.5", + "es6-weak-map": "^2.0.3", + "flatten-vertex-data": "^1.0.2", + "glslify": "^7.0.0", + "object-assign": "^4.1.1", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0", + "to-float32": "^1.0.1" + } + }, + "regl-scatter2d": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.3.tgz", + "integrity": "sha512-wURiMVjNrcBoED0SMYH9Accs0CovdnBWWuzH/WgT0kuJ3kDzia1vhmEUA2JZ/beozalARkFAy/C2K/4Nd1eZqQ==", + "requires": { + "@plotly/point-cluster": "^3.1.9", + "array-range": "^1.0.1", + "array-rearrange": "^2.2.2", + "clamp": "^1.0.1", + "color-id": "^1.1.0", + "color-normalize": "^1.5.0", + "color-rgba": "^2.1.1", + "flatten-vertex-data": "^1.0.2", + "glslify": "^7.0.0", + "image-palette": "^2.1.0", + "is-iexplorer": "^1.0.0", + "object-assign": "^4.1.1", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0", + "to-float32": "^1.0.1", + "update-diff": "^1.1.0" + } + }, + "regl-splom": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/regl-splom/-/regl-splom-1.0.14.tgz", + "integrity": "sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==", + "requires": { + "array-bounds": "^1.0.1", + "array-range": "^1.0.1", + "color-alpha": "^1.0.4", + "flatten-vertex-data": "^1.0.2", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0", + "raf": "^3.4.1", + "regl-scatter2d": "^3.2.3" + } + }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -12573,6 +14799,14 @@ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" }, + "resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "requires": { + "protocol-buffers-schema": "^3.3.1" + } + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -12694,6 +14928,11 @@ "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, + "right-now": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", + "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=" + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -12711,6 +14950,97 @@ "inherits": "^2.0.1" } }, + "robust-compress": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/robust-compress/-/robust-compress-1.0.0.tgz", + "integrity": "sha1-TPYsSzGNgwhRYBK7jBF1Lzkymxs=" + }, + "robust-determinant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/robust-determinant/-/robust-determinant-1.1.0.tgz", + "integrity": "sha1-jsrnm3nKqz509t6+IjflORon6cc=", + "requires": { + "robust-compress": "^1.0.0", + "robust-scale": "^1.0.0", + "robust-sum": "^1.0.0", + "two-product": "^1.0.0" + } + }, + "robust-dot-product": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/robust-dot-product/-/robust-dot-product-1.0.0.tgz", + "integrity": "sha1-yboBeL0sMEv9cl9Y6Inx2UYARVM=", + "requires": { + "robust-sum": "^1.0.0", + "two-product": "^1.0.0" + } + }, + "robust-in-sphere": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/robust-in-sphere/-/robust-in-sphere-1.1.3.tgz", + "integrity": "sha1-HFiD0WpOkjkpR27zSBmFe/Kpz3U=", + "requires": { + "robust-scale": "^1.0.0", + "robust-subtract": "^1.0.0", + "robust-sum": "^1.0.0", + "two-product": "^1.0.0" + } + }, + "robust-linear-solve": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/robust-linear-solve/-/robust-linear-solve-1.0.0.tgz", + "integrity": "sha1-DNasUEBpGm8qo81jEdcokFyjofE=", + "requires": { + "robust-determinant": "^1.1.0" + } + }, + "robust-orientation": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.1.3.tgz", + "integrity": "sha1-2v9bANO+TmByLw6cAVbvln8cIEk=", + "requires": { + "robust-scale": "^1.0.2", + "robust-subtract": "^1.0.0", + "robust-sum": "^1.0.0", + "two-product": "^1.0.2" + } + }, + "robust-product": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/robust-product/-/robust-product-1.0.0.tgz", + "integrity": "sha1-aFJQAHzbunzx3nW/9tKScBEJir4=", + "requires": { + "robust-scale": "^1.0.0", + "robust-sum": "^1.0.0" + } + }, + "robust-scale": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz", + "integrity": "sha1-d1Ey7QlULQKOWLLMecBikLz3jDI=", + "requires": { + "two-product": "^1.0.2", + "two-sum": "^1.0.0" + } + }, + "robust-segment-intersect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/robust-segment-intersect/-/robust-segment-intersect-1.0.1.tgz", + "integrity": "sha1-MlK2oPwboUreaRXMvgnLzpqrHBw=", + "requires": { + "robust-orientation": "^1.1.3" + } + }, + "robust-subtract": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz", + "integrity": "sha1-4LFk4e2LpOOl3aRaEgODSNvtPpo=" + }, + "robust-sum": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz", + "integrity": "sha1-FmRuUlKStNJdgnV6KGlV4Lv6U9k=" + }, "rollup": { "version": "1.32.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", @@ -12802,6 +15132,11 @@ "aproba": "^1.1.1" } }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -12950,6 +15285,11 @@ } } }, + "sane-topojson": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/sane-topojson/-/sane-topojson-4.0.0.tgz", + "integrity": "sha512-bJILrpBboQfabG3BNnHI2hZl52pbt80BE09u4WhnrmzuF2JbMKZdl62G5glXskJ46p+gxE2IzOwGj/awR4g8AA==" + }, "sanitize.css": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz", @@ -13206,6 +15546,11 @@ "kind-of": "^6.0.2" } }, + "shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -13245,6 +15590,11 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, + "signum": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/signum/-/signum-0.0.0.tgz", + "integrity": "sha1-q1UbEAM1EHCnBHg/GgnF52kfnPY=" + }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -13260,11 +15610,87 @@ } } }, + "simplicial-complex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-1.0.0.tgz", + "integrity": "sha1-bDOk7Wn81Nkbe8rdOzC2NoPq4kE=", + "requires": { + "bit-twiddle": "^1.0.0", + "union-find": "^1.0.0" + } + }, + "simplicial-complex-boundary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simplicial-complex-boundary/-/simplicial-complex-boundary-1.0.1.tgz", + "integrity": "sha1-csn/HiTeqjdMm7L6DL8MCB6++BU=", + "requires": { + "boundary-cells": "^2.0.0", + "reduce-simplicial-complex": "^1.0.0" + } + }, + "simplicial-complex-contour": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/simplicial-complex-contour/-/simplicial-complex-contour-1.0.2.tgz", + "integrity": "sha1-iQqsrChDZTQBEFRc8mKaJuBL+dE=", + "requires": { + "marching-simplex-table": "^1.0.0", + "ndarray": "^1.0.15", + "ndarray-sort": "^1.0.0", + "typedarray-pool": "^1.1.0" + } + }, + "simplify-planar-graph": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/simplify-planar-graph/-/simplify-planar-graph-2.0.1.tgz", + "integrity": "sha1-vIWJNyXzLo+oriVoE5hEbSy892Y=", + "requires": { + "robust-orientation": "^1.0.1", + "simplicial-complex": "^0.3.3" + }, + "dependencies": { + "bit-twiddle": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz", + "integrity": "sha1-wurruVKjuUrMFASX4c3NLxoz9Y4=" + }, + "simplicial-complex": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-0.3.3.tgz", + "integrity": "sha1-TDDK1X+eRXKd2PMGyHU1efRr6Z4=", + "requires": { + "bit-twiddle": "~0.0.1", + "union-find": "~0.0.3" + } + }, + "union-find": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/union-find/-/union-find-0.0.4.tgz", + "integrity": "sha1-uFSzMBYZva0USwAUx4+W6sDS8PY=" + } + } + }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, + "slab-decomposition": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/slab-decomposition/-/slab-decomposition-1.0.2.tgz", + "integrity": "sha1-He1WdU1AixBznxRRA9/GGAf2UTQ=", + "requires": { + "binary-search-bounds": "^1.0.0", + "functional-red-black-tree": "^1.0.0", + "robust-orientation": "^1.1.3" + }, + "dependencies": { + "binary-search-bounds": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz", + "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=" + } + } + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -13570,6 +15996,15 @@ "wbuf": "^1.7.3" } }, + "split-polygon": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/split-polygon/-/split-polygon-1.0.0.tgz", + "integrity": "sha1-DqzIoTanaxKj2VJW6n2kXbDC0kc=", + "requires": { + "robust-dot-product": "^1.0.0", + "robust-sum": "^1.0.0" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -13612,6 +16047,11 @@ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" }, + "stack-trace": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" + }, "stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", @@ -13632,6 +16072,14 @@ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==" }, + "static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "requires": { + "escodegen": "^1.11.1" + } + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -13763,6 +16211,30 @@ "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" }, + "string-split-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", + "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", + "requires": { + "parenthesis": "^3.1.5" + } + }, + "string-to-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-to-arraybuffer/-/string-to-arraybuffer-1.0.2.tgz", + "integrity": "sha512-DaGZidzi93dwjQen5I2osxR9ERS/R7B1PFyufNMnzhj+fmlDQAc1DSDIJVJhgI8Oq221efIMbABUBdPHDRt43Q==", + "requires": { + "atob-lite": "^2.0.0", + "is-base64": "^0.1.0" + }, + "dependencies": { + "atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" + } + } + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -13874,6 +16346,11 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, + "strongly-connected-components": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz", + "integrity": "sha1-CSDitN9nyOrulsa2I0/inoc9upk=" + }, "style-loader": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", @@ -13905,6 +16382,19 @@ } } }, + "supercluster": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.2.tgz", + "integrity": "sha512-bGA0pk3DYMjLTY1h+rbh0imi/I8k/Lg0rzdBGfyQs0Xkiix7jK2GUmH1qSD8+jq6U0Vu382QHr3+rbbiHqdKJA==", + "requires": { + "kdbush": "^3.0.0" + } + }, + "superscript-text": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/superscript-text/-/superscript-text-1.0.0.tgz", + "integrity": "sha1-58snUlZzYN9QvrBhDOjfPXHY39g=" + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -13937,11 +16427,59 @@ } } }, + "surface-nets": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/surface-nets/-/surface-nets-1.0.2.tgz", + "integrity": "sha1-5DPIy7qUpydMb0yZVStGG/H8eks=", + "requires": { + "ndarray-extract-contour": "^1.0.0", + "triangulate-hypercube": "^1.0.0", + "zero-crossings": "^1.0.0" + } + }, + "svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" + }, "svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" }, + "svg-path-bounds": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/svg-path-bounds/-/svg-path-bounds-1.0.1.tgz", + "integrity": "sha1-v0WLeDcmv1NDG0Yz8nkvYHSNn3Q=", + "requires": { + "abs-svg-path": "^0.1.1", + "is-svg-path": "^1.0.1", + "normalize-svg-path": "^1.0.0", + "parse-svg-path": "^0.1.2" + }, + "dependencies": { + "normalize-svg-path": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "requires": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + } + } + }, + "svg-path-sdf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/svg-path-sdf/-/svg-path-sdf-1.1.3.tgz", + "integrity": "sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==", + "requires": { + "bitmap-sdf": "^1.0.0", + "draw-svg-path": "^1.0.0", + "is-svg-path": "^1.0.1", + "parse-svg-path": "^0.1.2", + "svg-path-bounds": "^1.0.1" + } + }, "svgo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", @@ -14178,6 +16716,14 @@ "minimatch": "^3.0.4" } }, + "text-cache": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/text-cache/-/text-cache-4.2.2.tgz", + "integrity": "sha512-zky+UDYiX0a/aPw/YTBD+EzKMlCTu1chFuCMZeAkgoRiceySdROu1V2kJXhCbtEdBhiOviYnAdGiSYl58HW0ZQ==", + "requires": { + "vectorize-text": "^3.2.1" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -14249,11 +16795,31 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, + "tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" + }, + "tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" + }, "tmpl": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" }, + "to-array-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/to-array-buffer/-/to-array-buffer-3.2.0.tgz", + "integrity": "sha512-zN33mwi0gpL+7xW1ITLfJ48CEj6ZQW0ZAP0MU+2W3kEY0PAIncyuxmD4OqkUVhPAbTP7amq9j/iwvZKYS+lzSQ==", + "requires": { + "flatten-vertex-data": "^1.0.2", + "is-blob": "^2.0.1", + "string-to-arraybuffer": "^1.0.0" + } + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -14264,6 +16830,11 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, + "to-float32": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.0.1.tgz", + "integrity": "sha512-nOy2WSwae3xhZbc+05xiCuU3ZPPmH0L4Rg4Q1qiOGFSuNSCTB9nVJaGgGl3ZScxAclX/L8hJuDHJGDAzbfuKCQ==" + }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -14282,6 +16853,14 @@ } } }, + "to-px": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz", + "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=", + "requires": { + "parse-unit": "^1.0.1" + } + }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -14301,11 +16880,38 @@ "is-number": "^7.0.0" } }, + "to-uint8": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/to-uint8/-/to-uint8-1.4.1.tgz", + "integrity": "sha512-o+ochsMlTZyucbww8It401FC2Rx+OP2RpDeYbA6h+y9HgedDl1UjdsJ9CmzKEG7AFP9es5PmJ4eDWeeeXihESg==", + "requires": { + "arr-flatten": "^1.1.0", + "clamp": "^1.0.1", + "is-base64": "^0.1.0", + "is-float-array": "^1.0.0", + "to-array-buffer": "^3.0.0" + } + }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "requires": { + "commander": "2" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, "tough-cookie": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", @@ -14324,6 +16930,24 @@ "punycode": "^2.1.1" } }, + "triangulate-hypercube": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/triangulate-hypercube/-/triangulate-hypercube-1.0.1.tgz", + "integrity": "sha1-2Acdsuv8/VHzCNC88qXEils20Tc=", + "requires": { + "gamma": "^0.1.0", + "permutation-parity": "^1.0.0", + "permutation-rank": "^1.0.0" + } + }, + "triangulate-polyline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/triangulate-polyline/-/triangulate-polyline-1.0.3.tgz", + "integrity": "sha1-v4uod6hQVBA/65+lphtOjXAXgU0=", + "requires": { + "cdt2d": "^1.0.0" + } + }, "tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -14381,11 +17005,31 @@ "safe-buffer": "^5.0.1" } }, + "turntable-camera-controller": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/turntable-camera-controller/-/turntable-camera-controller-3.0.1.tgz", + "integrity": "sha1-jb0/4AVQGRxlFky4iJcQSVeK/Zk=", + "requires": { + "filtered-vector": "^1.2.1", + "gl-mat4": "^1.0.2", + "gl-vec3": "^1.0.2" + } + }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, + "two-product": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz", + "integrity": "sha1-Z9ldSyV6kh4stL16+VEfkIhSLqo=" + }, + "two-sum": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz", + "integrity": "sha1-MdPzIjnk9zHsqd+RVeKyl/AIq2Q=" + }, "type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", @@ -14418,11 +17062,25 @@ "mime-types": "~2.1.24" } }, + "type-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", + "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typedarray-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", + "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", + "requires": { + "bit-twiddle": "^1.0.0", + "dup": "^1.0.0" + } + }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -14455,6 +17113,11 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" }, + "union-find": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/union-find/-/union-find-1.0.2.tgz", + "integrity": "sha1-KSusQV5q06iVNdI3AQ20pTYoTlg=" + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -14556,6 +17219,11 @@ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, + "update-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-diff/-/update-diff-1.1.0.tgz", + "integrity": "sha1-9RAYLYHugZ+4LDprIrYrve2ngI8=" + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -14677,11 +17345,54 @@ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" }, + "utils-copy": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/utils-copy/-/utils-copy-1.1.1.tgz", + "integrity": "sha1-biuXmCqozXPhGCo+b4vsPA9AWKc=", + "requires": { + "const-pinf-float64": "^1.0.0", + "object-keys": "^1.0.9", + "type-name": "^2.0.0", + "utils-copy-error": "^1.0.0", + "utils-indexof": "^1.0.0", + "utils-regex-from-string": "^1.0.0", + "validate.io-array": "^1.0.3", + "validate.io-buffer": "^1.0.1", + "validate.io-nonnegative-integer": "^1.0.0" + } + }, + "utils-copy-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-copy-error/-/utils-copy-error-1.0.1.tgz", + "integrity": "sha1-eR3jk8DwmJCv1Z88vqY18HmpT6U=", + "requires": { + "object-keys": "^1.0.9", + "utils-copy": "^1.1.0" + } + }, + "utils-indexof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-indexof/-/utils-indexof-1.0.0.tgz", + "integrity": "sha1-IP6r8J7xAYtSNkPoOA57yD7GG1w=", + "requires": { + "validate.io-array-like": "^1.0.1", + "validate.io-integer-primitive": "^1.0.0" + } + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, + "utils-regex-from-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-regex-from-string/-/utils-regex-from-string-1.0.0.tgz", + "integrity": "sha1-/hopCfjeD/DVGCyA+8ZU1qaH0Yk=", + "requires": { + "regex-regex": "^1.0.0", + "validate.io-string-primitive": "^1.0.0" + } + }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -14719,6 +17430,82 @@ "spdx-expression-parse": "^3.0.0" } }, + "validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha1-W1osr9j4uFq7L4hroVPy2Tond00=" + }, + "validate.io-array-like": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-array-like/-/validate.io-array-like-1.0.2.tgz", + "integrity": "sha1-evn363tRcVvrIhVmjsXM5U+t21o=", + "requires": { + "const-max-uint32": "^1.0.2", + "validate.io-integer-primitive": "^1.0.0" + } + }, + "validate.io-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-buffer/-/validate.io-buffer-1.0.2.tgz", + "integrity": "sha1-hS1nNAIZFNXROvwyUxdh43IO1E4=" + }, + "validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha1-FoSWSAuVviJH7EQ/IjPeT4mHgGg=", + "requires": { + "validate.io-number": "^1.0.3" + } + }, + "validate.io-integer-primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-primitive/-/validate.io-integer-primitive-1.0.0.tgz", + "integrity": "sha1-qaoBA1X+hoHA/qbBp0rSQZyt3cY=", + "requires": { + "validate.io-number-primitive": "^1.0.0" + } + }, + "validate.io-matrix-like": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-matrix-like/-/validate.io-matrix-like-1.0.2.tgz", + "integrity": "sha1-XsMqddCInaxzbepovdYUWxVe38M=" + }, + "validate.io-ndarray-like": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-ndarray-like/-/validate.io-ndarray-like-1.0.0.tgz", + "integrity": "sha1-2KOw7RZbvx0vwNAHMnDPpVIpWRk=" + }, + "validate.io-nonnegative-integer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-nonnegative-integer/-/validate.io-nonnegative-integer-1.0.0.tgz", + "integrity": "sha1-gGkkOgjF+Y6VQTySnf17GPP28p8=", + "requires": { + "validate.io-integer": "^1.0.5" + } + }, + "validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha1-9j/+2iSL8opnqNSODjtGGhZluvg=" + }, + "validate.io-number-primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-number-primitive/-/validate.io-number-primitive-1.0.0.tgz", + "integrity": "sha1-0uAfICmJNp3PEVVElWQgOv5YTlU=" + }, + "validate.io-positive-integer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-positive-integer/-/validate.io-positive-integer-1.0.0.tgz", + "integrity": "sha1-ftLQO0wnVYzGagCqsPDpIYFKZYI=", + "requires": { + "validate.io-integer": "^1.0.5" + } + }, + "validate.io-string-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate.io-string-primitive/-/validate.io-string-primitive-1.0.1.tgz", + "integrity": "sha1-uBNbn7E3K94C/dU60dDM1t55j+4=" + }, "value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", @@ -14729,6 +17516,20 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "vectorize-text": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/vectorize-text/-/vectorize-text-3.2.1.tgz", + "integrity": "sha512-rGojF+D9BB96iPZPUitfq5kaiS6eCJmfEel0NXOK/MzZSuXGiwhoop80PtaDas9/Hg/oaox1tI9g3h93qpuspg==", + "requires": { + "cdt2d": "^1.0.0", + "clean-pslg": "^1.1.0", + "ndarray": "^1.0.11", + "planar-graph-to-polyline": "^1.0.0", + "simplify-planar-graph": "^2.0.1", + "surface-nets": "^1.0.0", + "triangulate-polyline": "^1.0.0" + } + }, "vendors": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", @@ -14749,6 +17550,16 @@ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, + "vt-pbf": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.1.tgz", + "integrity": "sha512-pHjWdrIoxurpmTcbfBWXaPwSmtPAHS105253P1qyEfSTV2HJddqjM+kIHquaT/L6lVJIk9ltTGc0IxR/G47hYA==", + "requires": { + "@mapbox/point-geometry": "0.1.0", + "@mapbox/vector-tile": "^1.3.1", + "pbf": "^3.0.5" + } + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -15024,6 +17835,24 @@ "minimalistic-assert": "^1.0.0" } }, + "weak-map": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz", + "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" + }, + "weakmap-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/weakmap-shim/-/weakmap-shim-1.1.1.tgz", + "integrity": "sha1-1lr9eEEJshZuAP9XHDMVDsKkC0k=" + }, + "webgl-context": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webgl-context/-/webgl-context-2.2.0.tgz", + "integrity": "sha1-jzfXJXz23xzQpJ5qextyG5TMhqA=", + "requires": { + "get-canvas-context": "^1.0.1" + } + }, "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", @@ -16114,6 +18943,14 @@ "microevent.ts": "~0.1.1" } }, + "world-calendars": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.3.tgz", + "integrity": "sha1-slxQMrokEo/8QdCfr0pewbnBQzU=", + "requires": { + "object-assign": "^4.1.0" + } + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -16236,6 +19073,14 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "zero-crossings": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/zero-crossings/-/zero-crossings-1.0.1.tgz", + "integrity": "sha1-xWK9MRNkPzRDokXRJAa4i2m5qf8=", + "requires": { + "cwise-compiler": "^1.0.0" + } } } } diff --git a/frontend/package.json b/frontend/package.json index e217177..34f8f32 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,8 +4,10 @@ "private": true, "dependencies": { "bootstrap": "^4.6.0", + "plotly.js": "^1.58.4", "react": "^17.0.1", "react-dom": "^17.0.1", + "react-plotly.js": "^2.5.1", "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "react-scripts": "4.0.1" diff --git a/frontend/src/App.js b/frontend/src/App.js index 825ec08..53aeb78 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -9,45 +9,40 @@ import Login from "./components/Login"; import "./App.css"; function App() { - const adminUser = { + const adminUser = { + email: "admin@admin.com", + password: "admin123", + }; - email: "admin@admin.com", - password: "admin123" + const [user, setUser] = useState({ name: "", email: "" }); + const [error, setError] = useState(""); - } + const Login = (details) => { + console.log(details); + }; - const [user, setUser] = useState({name: "", email: ""}); - const [error, setError] = useState(""); - - const Login = details => { - console.log(details); - - } - - const Logout = () => { - console.log("Logout"); - } + const Logout = () => { + console.log("Logout"); + }; return ( -
- - - - - - - - - {(user.email !== "") ? ( + + + + + + + + + {/* {(user.email !== "") ? (

Welcome, {user.name}

) : ( - )} - + )} */}
); } diff --git a/frontend/src/components/Bank.js b/frontend/src/components/Bank.js index d89a66b..edc1fd0 100644 --- a/frontend/src/components/Bank.js +++ b/frontend/src/components/Bank.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; import "./assets/Portfolio.css"; -const Portfolio = (props) => { +const Bank = (props) => { const [state, setState] = useState({}); useEffect(() => { callAPI(); diff --git a/frontend/src/components/Browse.js b/frontend/src/components/Browse.js index d5d665c..b471e46 100644 --- a/frontend/src/components/Browse.js +++ b/frontend/src/components/Browse.js @@ -1,23 +1,96 @@ import React, { useState, useEffect } from "react"; import "./assets/Browse.css"; - -const Portfolio = (props) => { - const [state, setState] = useState({}); +import Plotly from "plotly.js"; +import createPlotlyComponent from "react-plotly.js/factory"; +const Plot = createPlotlyComponent(Plotly); +const Browse = (props) => { + const [stockChartXValues, setStockChartXValues] = useState([]); + const [stockChartYValues, setStockChartYValues] = useState([]); + const [days, setDays] = useState(100); + const [stock, setStock] = useState("INTC"); useEffect(() => { - callAPI(); - }); + fetchStock(); + }, [stock]); + let stockChartXValuesFunction = []; + let stockChartYValuesFunction = []; + const fetchStock = () => { + const KEY = "DTPB5IBDMPNE65TY"; + let API_CALL = `https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=${stock}&outputsize=compact&apikey=${KEY}`; - const callAPI = () => { - fetch("http://localhost:9000/FETCHURL") - .then((res) => res.text()) - .then((res) => setState(res)) - .catch((err) => err); + const handleData = (data) => { + for (var date in data["Time Series (Daily)"]) { + stockChartXValuesFunction.push(date); + stockChartYValuesFunction.push( + data["Time Series (Daily)"][date]["1. open"] + ); + } + setStockChartXValues(stockChartXValuesFunction); + setStockChartYValues(stockChartYValuesFunction); + }; + + fetch(API_CALL) + .then((response) => response.json()) + .then((data) => handleData(data)); }; return ( -
-

Browse

-

+
+

Browse

+ + + index <= days), + y: stockChartYValues.filter((y, index) => index <= days), + type: "scatter", + mode: "lines+markers", + marker: { color: "red" }, + }, + ]} + layout={{ width: 720, height: 440, title: `${stock} ` }} + /> +
+ + + + +
+
+

+
+
+ + +
+
+ +
+
); }; diff --git a/frontend/src/components/Portfolio.js b/frontend/src/components/Portfolio.js index 1f48ee3..92ef647 100644 --- a/frontend/src/components/Portfolio.js +++ b/frontend/src/components/Portfolio.js @@ -17,6 +17,7 @@ const Portfolio = (props) => { return (

Portfolio

+

); diff --git a/frontend/src/components/Profile.js b/frontend/src/components/Profile.js index a378b62..2bf6cf3 100644 --- a/frontend/src/components/Profile.js +++ b/frontend/src/components/Profile.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; import "./assets/Portfolio.css"; -const Portfolio = (props) => { +const Profile = (props) => { const [state, setState] = useState({}); useEffect(() => { callAPI(); @@ -22,4 +22,4 @@ const Portfolio = (props) => { ); }; -export default Portfolio; +export default Profile; diff --git a/frontend/src/components/assets/Browse.css b/frontend/src/components/assets/Browse.css index e69de29..a21d3b5 100644 --- a/frontend/src/components/assets/Browse.css +++ b/frontend/src/components/assets/Browse.css @@ -0,0 +1,17 @@ +.h4 { + font-family: "Lucida Console", "Courier New", monospace; + color: cornflowerblue; +} +h1 { + font-family: "Lucida Console", "Courier New", monospace; + color: cornflowerblue; +} +.btn { + background-color: cornflowerblue; + font-family: "Lucida Console", "Courier New", monospace; + border-radius: 0px; +} +.btn:hover { + background-color: aqua; /* Green */ + color: white; +} diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 0000000..8ffaced --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,19 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ] +2 info using npm@3.5.2 +3 info using node@v8.10.0 +4 verbose stack Error: ENOENT: no such file or directory, open '/mnt/c/Users/JoshuaHsueh/package.json' +5 verbose cwd /mnt/c/Users/JoshuaHsueh/Desktop/reinvest +6 error Linux 4.4.0-18362-Microsoft +7 error argv "/usr/bin/node" "/usr/bin/npm" "start" +8 error node v8.10.0 +9 error npm v3.5.2 +10 error path /mnt/c/Users/JoshuaHsueh/package.json +11 error code ENOENT +12 error errno -2 +13 error syscall open +14 error enoent ENOENT: no such file or directory, open '/mnt/c/Users/JoshuaHsueh/package.json' +15 error enoent ENOENT: no such file or directory, open '/mnt/c/Users/JoshuaHsueh/package.json' +15 error enoent This is most likely not a problem with npm itself +15 error enoent and is related to npm not being able to find a file. +16 verbose exit [ -2, true ] diff --git a/website/images/logo.ico b/website/images/logo.ico index be413fc4934dc40a734f4191f3bfd613ab7b01dd..a1a02f2db0a5a3a75fc2b68a07c1390c836d974b 100644 GIT binary patch literal 113288 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 PwloFV&mUmY#=-vsaNCYm literal 19141 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 diff --git a/website/images/logo.png b/website/images/logo.png index 270f64b1efcad8b81dcd6fb64436a8722d2928dd..18db70ffa5351be3c844b626ed7a2d48d9a89acb 100644 GIT binary patch literal 22980 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 RXMa}qp04rTs@o4={1@G<_Ei7? literal 9520 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 exCi$f+TLy|bUR(*0{hAdPDxHpwn5q=;(q`