Use chart.js
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 14 Sep 2023 08:41:53 +0000 (10:41 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 14 Sep 2023 08:41:53 +0000 (10:41 +0200)
js/package-lock.json
js/package.json
js/src/graph/TestGraph.js
js/src/graph/index.html

index 193fd92fe043902290e81254464289de55fe4205..ec19936b63a5b2213b8368cafa767865334ef417 100644 (file)
@@ -9,9 +9,9 @@
                        "version": "2.3.0.next",
                        "license": "GPL",
                        "dependencies": {
-                               "@nieuwlandgeo/sldreader": "^0.3.1",
-                               "@observablehq/plot": "^0.6.10",
-                               "ol": "7.5.x"
+                               "@nieuwlandgeo/sldreader": "0.3.x",
+                               "chart.js": "4.x.x",
+                               "ol": "8.x.x"
                        },
                        "devDependencies": {
                                "css-loader": "^6.8.1",
                                "node": ">=v12.0.0"
                        }
                },
-               "node_modules/@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": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==",
-                       "engines": {
-                               "node": ">= 0.6"
-                       }
-               },
-               "node_modules/@mapbox/mapbox-gl-style-spec": {
-                       "version": "13.28.0",
-                       "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz",
-                       "integrity": "sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==",
-                       "dependencies": {
-                               "@mapbox/jsonlint-lines-primitives": "~2.0.2",
-                               "@mapbox/point-geometry": "^0.1.0",
-                               "@mapbox/unitbezier": "^0.0.0",
-                               "csscolorparser": "~1.0.2",
-                               "json-stringify-pretty-compact": "^2.0.0",
-                               "minimist": "^1.2.6",
-                               "rw": "^1.3.3",
-                               "sort-object": "^0.3.2"
-                       },
-                       "bin": {
-                               "gl-style-composite": "bin/gl-style-composite.js",
-                               "gl-style-format": "bin/gl-style-format.js",
-                               "gl-style-migrate": "bin/gl-style-migrate.js",
-                               "gl-style-validate": "bin/gl-style-validate.js"
-                       }
-               },
-               "node_modules/@mapbox/point-geometry": {
-                       "version": "0.1.0",
-                       "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz",
-                       "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ=="
-               },
-               "node_modules/@mapbox/unitbezier": {
-                       "version": "0.0.0",
-                       "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz",
-                       "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA=="
+               "node_modules/@kurkle/color": {
+                       "version": "0.3.2",
+                       "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz",
+                       "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
                },
                "node_modules/@nieuwlandgeo/sldreader": {
                        "version": "0.3.1",
                                "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
                        }
                },
-               "node_modules/@observablehq/plot": {
-                       "version": "0.6.10",
-                       "resolved": "https://registry.npmjs.org/@observablehq/plot/-/plot-0.6.10.tgz",
-                       "integrity": "sha512-LmPoYAh8oCP6GmjFTUPbmxwDm62516kbeSJsXu05GcTILzT9hsh4ssZiXg61ufPm+n8f/5L7UtZHghR+XtcJHQ==",
-                       "dependencies": {
-                               "d3": "^7.8.0",
-                               "interval-tree-1d": "^1.0.0",
-                               "isoformat": "^0.2.0"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
                "node_modules/@petamoriken/float16": {
                        "version": "3.8.3",
                        "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.8.3.tgz",
                        "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
                        "dev": true
                },
-               "node_modules/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=="
-               },
                "node_modules/bluebird": {
                        "version": "3.7.2",
                        "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
                                "node": ">=8"
                        }
                },
+               "node_modules/chart.js": {
+                       "version": "4.4.0",
+                       "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.0.tgz",
+                       "integrity": "sha512-vQEj6d+z0dcsKLlQvbKIMYFHd3t8W/7L2vfJIbYcfyPcRx92CsHqECpueN8qVGNlKyDcr5wBrYAYKnfu/9Q1hQ==",
+                       "dependencies": {
+                               "@kurkle/color": "^0.3.0"
+                       },
+                       "engines": {
+                               "pnpm": ">=7"
+                       }
+               },
                "node_modules/chownr": {
                        "version": "2.0.0",
                        "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
                        "dev": true
                },
                "node_modules/commander": {
-                       "version": "7.2.0",
-                       "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
-                       "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+                       "version": "8.3.0",
+                       "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+                       "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+                       "dev": true,
                        "engines": {
-                               "node": ">= 10"
+                               "node": ">= 12"
                        }
                },
                "node_modules/concat-map": {
                                "url": "https://github.com/sponsors/fb55"
                        }
                },
-               "node_modules/csscolorparser": {
-                       "version": "1.0.3",
-                       "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz",
-                       "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w=="
-               },
                "node_modules/cssesc": {
                        "version": "3.0.0",
                        "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
                        "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
                        "dev": true
                },
-               "node_modules/d3": {
-                       "version": "7.8.5",
-                       "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz",
-                       "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==",
-                       "dependencies": {
-                               "d3-array": "3",
-                               "d3-axis": "3",
-                               "d3-brush": "3",
-                               "d3-chord": "3",
-                               "d3-color": "3",
-                               "d3-contour": "4",
-                               "d3-delaunay": "6",
-                               "d3-dispatch": "3",
-                               "d3-drag": "3",
-                               "d3-dsv": "3",
-                               "d3-ease": "3",
-                               "d3-fetch": "3",
-                               "d3-force": "3",
-                               "d3-format": "3",
-                               "d3-geo": "3",
-                               "d3-hierarchy": "3",
-                               "d3-interpolate": "3",
-                               "d3-path": "3",
-                               "d3-polygon": "3",
-                               "d3-quadtree": "3",
-                               "d3-random": "3",
-                               "d3-scale": "4",
-                               "d3-scale-chromatic": "3",
-                               "d3-selection": "3",
-                               "d3-shape": "3",
-                               "d3-time": "3",
-                               "d3-time-format": "4",
-                               "d3-timer": "3",
-                               "d3-transition": "3",
-                               "d3-zoom": "3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-array": {
-                       "version": "3.2.4",
-                       "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
-                       "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
-                       "dependencies": {
-                               "internmap": "1 - 2"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-axis": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
-                       "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-brush": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
-                       "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
-                       "dependencies": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-drag": "2 - 3",
-                               "d3-interpolate": "1 - 3",
-                               "d3-selection": "3",
-                               "d3-transition": "3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-chord": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
-                       "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
-                       "dependencies": {
-                               "d3-path": "1 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-color": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
-                       "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-contour": {
-                       "version": "4.0.2",
-                       "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
-                       "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
-                       "dependencies": {
-                               "d3-array": "^3.2.0"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-delaunay": {
-                       "version": "6.0.4",
-                       "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
-                       "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
-                       "dependencies": {
-                               "delaunator": "5"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-dispatch": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
-                       "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-drag": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
-                       "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
-                       "dependencies": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-selection": "3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-dsv": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
-                       "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
-                       "dependencies": {
-                               "commander": "7",
-                               "iconv-lite": "0.6",
-                               "rw": "1"
-                       },
-                       "bin": {
-                               "csv2json": "bin/dsv2json.js",
-                               "csv2tsv": "bin/dsv2dsv.js",
-                               "dsv2dsv": "bin/dsv2dsv.js",
-                               "dsv2json": "bin/dsv2json.js",
-                               "json2csv": "bin/json2dsv.js",
-                               "json2dsv": "bin/json2dsv.js",
-                               "json2tsv": "bin/json2dsv.js",
-                               "tsv2csv": "bin/dsv2dsv.js",
-                               "tsv2json": "bin/dsv2json.js"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-ease": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
-                       "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-fetch": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
-                       "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
-                       "dependencies": {
-                               "d3-dsv": "1 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-force": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
-                       "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
-                       "dependencies": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-quadtree": "1 - 3",
-                               "d3-timer": "1 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-format": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
-                       "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-geo": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz",
-                       "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==",
-                       "dependencies": {
-                               "d3-array": "2.5.0 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-hierarchy": {
-                       "version": "3.1.2",
-                       "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
-                       "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-interpolate": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
-                       "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
-                       "dependencies": {
-                               "d3-color": "1 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-path": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
-                       "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-polygon": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
-                       "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-quadtree": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
-                       "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-random": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
-                       "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-scale": {
-                       "version": "4.0.2",
-                       "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
-                       "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
-                       "dependencies": {
-                               "d3-array": "2.10.0 - 3",
-                               "d3-format": "1 - 3",
-                               "d3-interpolate": "1.2.0 - 3",
-                               "d3-time": "2.1.1 - 3",
-                               "d3-time-format": "2 - 4"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-scale-chromatic": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
-                       "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
-                       "dependencies": {
-                               "d3-color": "1 - 3",
-                               "d3-interpolate": "1 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-selection": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
-                       "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-shape": {
-                       "version": "3.2.0",
-                       "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
-                       "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
-                       "dependencies": {
-                               "d3-path": "^3.1.0"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-time": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
-                       "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
-                       "dependencies": {
-                               "d3-array": "2 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-time-format": {
-                       "version": "4.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
-                       "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
-                       "dependencies": {
-                               "d3-time": "1 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-timer": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
-                       "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
-               "node_modules/d3-transition": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
-                       "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
-                       "dependencies": {
-                               "d3-color": "1 - 3",
-                               "d3-dispatch": "1 - 3",
-                               "d3-ease": "1 - 3",
-                               "d3-interpolate": "1 - 3",
-                               "d3-timer": "1 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       },
-                       "peerDependencies": {
-                               "d3-selection": "2 - 3"
-                       }
-               },
-               "node_modules/d3-zoom": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
-                       "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
-                       "dependencies": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-drag": "2 - 3",
-                               "d3-interpolate": "1 - 3",
-                               "d3-selection": "2 - 3",
-                               "d3-transition": "2 - 3"
-                       },
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
                "node_modules/debug": {
                        "version": "4.3.4",
                        "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
                                "node": ">=10"
                        }
                },
-               "node_modules/delaunator": {
-                       "version": "5.0.0",
-                       "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
-                       "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
-                       "dependencies": {
-                               "robust-predicates": "^3.0.0"
-                       }
-               },
                "node_modules/delegates": {
                        "version": "1.0.0",
                        "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
                                "node": ">=12"
                        }
                },
-               "node_modules/html-minifier-terser/node_modules/commander": {
-                       "version": "8.3.0",
-                       "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
-                       "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
-                       "dev": true,
-                       "engines": {
-                               "node": ">= 12"
-                       }
-               },
                "node_modules/html-webpack-plugin": {
                        "version": "5.5.3",
                        "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz",
                        "version": "0.6.3",
                        "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
                        "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+                       "dev": true,
+                       "optional": true,
                        "dependencies": {
                                "safer-buffer": ">= 2.1.2 < 3.0.0"
                        },
                                "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
                        }
                },
-               "node_modules/internmap": {
-                       "version": "2.0.3",
-                       "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
-                       "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
-                       "engines": {
-                               "node": ">=12"
-                       }
-               },
                "node_modules/interpret": {
                        "version": "3.1.1",
                        "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
                                "node": ">=10.13.0"
                        }
                },
-               "node_modules/interval-tree-1d": {
-                       "version": "1.0.4",
-                       "resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.4.tgz",
-                       "integrity": "sha512-wY8QJH+6wNI0uh4pDQzMvl+478Qh7Rl4qLmqiluxALlNvl+I+o5x38Pw3/z7mDPTPS1dQalZJXsmbvxx5gclhQ==",
-                       "dependencies": {
-                               "binary-search-bounds": "^2.0.0"
-                       }
-               },
                "node_modules/ip": {
                        "version": "2.0.0",
                        "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
                                "node": ">=0.10.0"
                        }
                },
-               "node_modules/isoformat": {
-                       "version": "0.2.1",
-                       "resolved": "https://registry.npmjs.org/isoformat/-/isoformat-0.2.1.tgz",
-                       "integrity": "sha512-tFLRAygk9NqrRPhJSnNGh7g7oaVWDwR0wKh/GM2LgmPa50Eg4UfyaCO4I8k6EqJHl1/uh2RAD6g06n5ygEnrjQ=="
-               },
                "node_modules/jackspeak": {
                        "version": "2.3.3",
                        "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.3.tgz",
                        "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
                        "dev": true
                },
-               "node_modules/json-stringify-pretty-compact": {
-                       "version": "2.0.0",
-                       "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz",
-                       "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ=="
-               },
                "node_modules/json5": {
                        "version": "2.2.3",
                        "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
                                "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
                        }
                },
-               "node_modules/mapbox-to-css-font": {
-                       "version": "2.4.2",
-                       "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz",
-                       "integrity": "sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA=="
-               },
                "node_modules/markdown-it": {
                        "version": "12.3.2",
                        "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
                        "version": "1.2.8",
                        "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
                        "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+                       "dev": true,
                        "funding": {
                                "url": "https://github.com/sponsors/ljharb"
                        }
                        }
                },
                "node_modules/ol": {
-                       "version": "7.5.2",
-                       "resolved": "https://registry.npmjs.org/ol/-/ol-7.5.2.tgz",
-                       "integrity": "sha512-HJbb3CxXrksM6ct367LsP3N+uh+iBBMdP3DeGGipdV9YAYTP0vTJzqGnoqQ6C2IW4qf8krw9yuyQbc9fjOIaOQ==",
+                       "version": "8.1.0",
+                       "resolved": "https://registry.npmjs.org/ol/-/ol-8.1.0.tgz",
+                       "integrity": "sha512-cx3SH2plpFS9fM8pp1nCypgQXGJD7Mcb1E3mEySmy5XEw1DUEo+kkNzgtAZz5qupekqi7aU9iBJEjCoMfqvO2Q==",
                        "dependencies": {
                                "earcut": "^2.2.3",
                                "geotiff": "^2.0.7",
-                               "ol-mapbox-style": "^10.1.0",
                                "pbf": "3.2.1",
                                "rbush": "^3.0.1"
                        },
                                "url": "https://opencollective.com/openlayers"
                        }
                },
-               "node_modules/ol-mapbox-style": {
-                       "version": "10.7.0",
-                       "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-10.7.0.tgz",
-                       "integrity": "sha512-S/UdYBuOjrotcR95Iq9AejGYbifKeZE85D9VtH11ryJLQPTZXZSW1J5bIXcr4AlAH6tyjPPHTK34AdkwB32Myw==",
-                       "dependencies": {
-                               "@mapbox/mapbox-gl-style-spec": "^13.23.1",
-                               "mapbox-to-css-font": "^2.4.1",
-                               "ol": "^7.3.0"
-                       }
-               },
                "node_modules/once": {
                        "version": "1.4.0",
                        "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
                                "url": "https://github.com/sponsors/isaacs"
                        }
                },
-               "node_modules/robust-predicates": {
-                       "version": "3.0.2",
-                       "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
-                       "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="
-               },
                "node_modules/run-parallel": {
                        "version": "1.2.0",
                        "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
                                "queue-microtask": "^1.2.2"
                        }
                },
-               "node_modules/rw": {
-                       "version": "1.3.3",
-                       "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
-                       "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
-               },
                "node_modules/safe-buffer": {
                        "version": "5.2.1",
                        "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
                "node_modules/safer-buffer": {
                        "version": "2.1.2",
                        "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-                       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+                       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+                       "dev": true,
+                       "optional": true
                },
                "node_modules/schema-utils": {
                        "version": "4.2.0",
                                "node": ">= 10"
                        }
                },
-               "node_modules/sort-asc": {
-                       "version": "0.1.0",
-                       "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz",
-                       "integrity": "sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw==",
-                       "engines": {
-                               "node": ">=0.10.0"
-                       }
-               },
-               "node_modules/sort-desc": {
-                       "version": "0.1.1",
-                       "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz",
-                       "integrity": "sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw==",
-                       "engines": {
-                               "node": ">=0.10.0"
-                       }
-               },
-               "node_modules/sort-object": {
-                       "version": "0.3.2",
-                       "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz",
-                       "integrity": "sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==",
-                       "dependencies": {
-                               "sort-asc": "^0.1.0",
-                               "sort-desc": "^0.1.1"
-                       },
-                       "engines": {
-                               "node": ">=0.10.0"
-                       }
-               },
                "node_modules/source-map": {
                        "version": "0.6.1",
                        "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
                                "url": "https://opencollective.com/svgo"
                        }
                },
+               "node_modules/svgo/node_modules/commander": {
+                       "version": "7.2.0",
+                       "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+                       "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+                       "dev": true,
+                       "engines": {
+                               "node": ">= 10"
+                       }
+               },
                "node_modules/svgo/node_modules/css-select": {
                        "version": "5.1.0",
                        "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
                                "lodash": "^4.17.21"
                        }
                },
-               "@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": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ=="
-               },
-               "@mapbox/mapbox-gl-style-spec": {
-                       "version": "13.28.0",
-                       "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz",
-                       "integrity": "sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==",
-                       "requires": {
-                               "@mapbox/jsonlint-lines-primitives": "~2.0.2",
-                               "@mapbox/point-geometry": "^0.1.0",
-                               "@mapbox/unitbezier": "^0.0.0",
-                               "csscolorparser": "~1.0.2",
-                               "json-stringify-pretty-compact": "^2.0.0",
-                               "minimist": "^1.2.6",
-                               "rw": "^1.3.3",
-                               "sort-object": "^0.3.2"
-                       }
-               },
-               "@mapbox/point-geometry": {
-                       "version": "0.1.0",
-                       "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz",
-                       "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ=="
-               },
-               "@mapbox/unitbezier": {
-                       "version": "0.0.0",
-                       "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz",
-                       "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA=="
+               "@kurkle/color": {
+                       "version": "0.3.2",
+                       "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz",
+                       "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
                },
                "@nieuwlandgeo/sldreader": {
                        "version": "0.3.1",
                                }
                        }
                },
-               "@observablehq/plot": {
-                       "version": "0.6.10",
-                       "resolved": "https://registry.npmjs.org/@observablehq/plot/-/plot-0.6.10.tgz",
-                       "integrity": "sha512-LmPoYAh8oCP6GmjFTUPbmxwDm62516kbeSJsXu05GcTILzT9hsh4ssZiXg61ufPm+n8f/5L7UtZHghR+XtcJHQ==",
-                       "requires": {
-                               "d3": "^7.8.0",
-                               "interval-tree-1d": "^1.0.0",
-                               "isoformat": "^0.2.0"
-                       }
-               },
                "@petamoriken/float16": {
                        "version": "3.8.3",
                        "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.8.3.tgz",
                        "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
                        "dev": 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=="
-               },
                "bluebird": {
                        "version": "3.7.2",
                        "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
                                }
                        }
                },
+               "chart.js": {
+                       "version": "4.4.0",
+                       "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.0.tgz",
+                       "integrity": "sha512-vQEj6d+z0dcsKLlQvbKIMYFHd3t8W/7L2vfJIbYcfyPcRx92CsHqECpueN8qVGNlKyDcr5wBrYAYKnfu/9Q1hQ==",
+                       "requires": {
+                               "@kurkle/color": "^0.3.0"
+                       }
+               },
                "chownr": {
                        "version": "2.0.0",
                        "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
                        "dev": true
                },
                "commander": {
-                       "version": "7.2.0",
-                       "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
-                       "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
+                       "version": "8.3.0",
+                       "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+                       "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+                       "dev": true
                },
                "concat-map": {
                        "version": "0.0.1",
                        "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
                        "dev": true
                },
-               "csscolorparser": {
-                       "version": "1.0.3",
-                       "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz",
-                       "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w=="
-               },
                "cssesc": {
                        "version": "3.0.0",
                        "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
                                }
                        }
                },
-               "d3": {
-                       "version": "7.8.5",
-                       "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz",
-                       "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==",
-                       "requires": {
-                               "d3-array": "3",
-                               "d3-axis": "3",
-                               "d3-brush": "3",
-                               "d3-chord": "3",
-                               "d3-color": "3",
-                               "d3-contour": "4",
-                               "d3-delaunay": "6",
-                               "d3-dispatch": "3",
-                               "d3-drag": "3",
-                               "d3-dsv": "3",
-                               "d3-ease": "3",
-                               "d3-fetch": "3",
-                               "d3-force": "3",
-                               "d3-format": "3",
-                               "d3-geo": "3",
-                               "d3-hierarchy": "3",
-                               "d3-interpolate": "3",
-                               "d3-path": "3",
-                               "d3-polygon": "3",
-                               "d3-quadtree": "3",
-                               "d3-random": "3",
-                               "d3-scale": "4",
-                               "d3-scale-chromatic": "3",
-                               "d3-selection": "3",
-                               "d3-shape": "3",
-                               "d3-time": "3",
-                               "d3-time-format": "4",
-                               "d3-timer": "3",
-                               "d3-transition": "3",
-                               "d3-zoom": "3"
-                       }
-               },
-               "d3-array": {
-                       "version": "3.2.4",
-                       "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
-                       "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
-                       "requires": {
-                               "internmap": "1 - 2"
-                       }
-               },
-               "d3-axis": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
-                       "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="
-               },
-               "d3-brush": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
-                       "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
-                       "requires": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-drag": "2 - 3",
-                               "d3-interpolate": "1 - 3",
-                               "d3-selection": "3",
-                               "d3-transition": "3"
-                       }
-               },
-               "d3-chord": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
-                       "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
-                       "requires": {
-                               "d3-path": "1 - 3"
-                       }
-               },
-               "d3-color": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
-                       "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="
-               },
-               "d3-contour": {
-                       "version": "4.0.2",
-                       "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
-                       "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
-                       "requires": {
-                               "d3-array": "^3.2.0"
-                       }
-               },
-               "d3-delaunay": {
-                       "version": "6.0.4",
-                       "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
-                       "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
-                       "requires": {
-                               "delaunator": "5"
-                       }
-               },
-               "d3-dispatch": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
-                       "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="
-               },
-               "d3-drag": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
-                       "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
-                       "requires": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-selection": "3"
-                       }
-               },
-               "d3-dsv": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
-                       "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
-                       "requires": {
-                               "commander": "7",
-                               "iconv-lite": "0.6",
-                               "rw": "1"
-                       }
-               },
-               "d3-ease": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
-                       "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="
-               },
-               "d3-fetch": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
-                       "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
-                       "requires": {
-                               "d3-dsv": "1 - 3"
-                       }
-               },
-               "d3-force": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
-                       "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
-                       "requires": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-quadtree": "1 - 3",
-                               "d3-timer": "1 - 3"
-                       }
-               },
-               "d3-format": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
-                       "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="
-               },
-               "d3-geo": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz",
-                       "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==",
-                       "requires": {
-                               "d3-array": "2.5.0 - 3"
-                       }
-               },
-               "d3-hierarchy": {
-                       "version": "3.1.2",
-                       "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
-                       "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA=="
-               },
-               "d3-interpolate": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
-                       "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
-                       "requires": {
-                               "d3-color": "1 - 3"
-                       }
-               },
-               "d3-path": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
-                       "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="
-               },
-               "d3-polygon": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
-                       "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="
-               },
-               "d3-quadtree": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
-                       "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="
-               },
-               "d3-random": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
-                       "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="
-               },
-               "d3-scale": {
-                       "version": "4.0.2",
-                       "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
-                       "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
-                       "requires": {
-                               "d3-array": "2.10.0 - 3",
-                               "d3-format": "1 - 3",
-                               "d3-interpolate": "1.2.0 - 3",
-                               "d3-time": "2.1.1 - 3",
-                               "d3-time-format": "2 - 4"
-                       }
-               },
-               "d3-scale-chromatic": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
-                       "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
-                       "requires": {
-                               "d3-color": "1 - 3",
-                               "d3-interpolate": "1 - 3"
-                       }
-               },
-               "d3-selection": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
-                       "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="
-               },
-               "d3-shape": {
-                       "version": "3.2.0",
-                       "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
-                       "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
-                       "requires": {
-                               "d3-path": "^3.1.0"
-                       }
-               },
-               "d3-time": {
-                       "version": "3.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
-                       "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
-                       "requires": {
-                               "d3-array": "2 - 3"
-                       }
-               },
-               "d3-time-format": {
-                       "version": "4.1.0",
-                       "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
-                       "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
-                       "requires": {
-                               "d3-time": "1 - 3"
-                       }
-               },
-               "d3-timer": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
-                       "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="
-               },
-               "d3-transition": {
-                       "version": "3.0.1",
-                       "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
-                       "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
-                       "requires": {
-                               "d3-color": "1 - 3",
-                               "d3-dispatch": "1 - 3",
-                               "d3-ease": "1 - 3",
-                               "d3-interpolate": "1 - 3",
-                               "d3-timer": "1 - 3"
-                       }
-               },
-               "d3-zoom": {
-                       "version": "3.0.0",
-                       "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
-                       "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
-                       "requires": {
-                               "d3-dispatch": "1 - 3",
-                               "d3-drag": "2 - 3",
-                               "d3-interpolate": "1 - 3",
-                               "d3-selection": "2 - 3",
-                               "d3-transition": "2 - 3"
-                       }
-               },
                "debug": {
                        "version": "4.3.4",
                        "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
                        "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
                        "dev": true
                },
-               "delaunator": {
-                       "version": "5.0.0",
-                       "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
-                       "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
-                       "requires": {
-                               "robust-predicates": "^3.0.0"
-                       }
-               },
                "delegates": {
                        "version": "1.0.0",
                        "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
                                "param-case": "^3.0.4",
                                "relateurl": "^0.2.7",
                                "terser": "^5.10.0"
-                       },
-                       "dependencies": {
-                               "commander": {
-                                       "version": "8.3.0",
-                                       "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
-                                       "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
-                                       "dev": true
-                               }
                        }
                },
                "html-webpack-plugin": {
                        "version": "0.6.3",
                        "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
                        "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+                       "dev": true,
+                       "optional": true,
                        "requires": {
                                "safer-buffer": ">= 2.1.2 < 3.0.0"
                        }
                        "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
                        "dev": true
                },
-               "internmap": {
-                       "version": "2.0.3",
-                       "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
-                       "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="
-               },
                "interpret": {
                        "version": "3.1.1",
                        "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
                        "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
                        "dev": true
                },
-               "interval-tree-1d": {
-                       "version": "1.0.4",
-                       "resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.4.tgz",
-                       "integrity": "sha512-wY8QJH+6wNI0uh4pDQzMvl+478Qh7Rl4qLmqiluxALlNvl+I+o5x38Pw3/z7mDPTPS1dQalZJXsmbvxx5gclhQ==",
-                       "requires": {
-                               "binary-search-bounds": "^2.0.0"
-                       }
-               },
                "ip": {
                        "version": "2.0.0",
                        "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
                        "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
                        "dev": true
                },
-               "isoformat": {
-                       "version": "0.2.1",
-                       "resolved": "https://registry.npmjs.org/isoformat/-/isoformat-0.2.1.tgz",
-                       "integrity": "sha512-tFLRAygk9NqrRPhJSnNGh7g7oaVWDwR0wKh/GM2LgmPa50Eg4UfyaCO4I8k6EqJHl1/uh2RAD6g06n5ygEnrjQ=="
-               },
                "jackspeak": {
                        "version": "2.3.3",
                        "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.3.tgz",
                        "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
                        "dev": true
                },
-               "json-stringify-pretty-compact": {
-                       "version": "2.0.0",
-                       "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz",
-                       "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ=="
-               },
                "json5": {
                        "version": "2.2.3",
                        "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
                                "ssri": "^10.0.0"
                        }
                },
-               "mapbox-to-css-font": {
-                       "version": "2.4.2",
-                       "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz",
-                       "integrity": "sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA=="
-               },
                "markdown-it": {
                        "version": "12.3.2",
                        "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
                "minimist": {
                        "version": "1.2.8",
                        "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
-                       "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
+                       "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+                       "dev": true
                },
                "minipass": {
                        "version": "5.0.0",
                        }
                },
                "ol": {
-                       "version": "7.5.2",
-                       "resolved": "https://registry.npmjs.org/ol/-/ol-7.5.2.tgz",
-                       "integrity": "sha512-HJbb3CxXrksM6ct367LsP3N+uh+iBBMdP3DeGGipdV9YAYTP0vTJzqGnoqQ6C2IW4qf8krw9yuyQbc9fjOIaOQ==",
+                       "version": "8.1.0",
+                       "resolved": "https://registry.npmjs.org/ol/-/ol-8.1.0.tgz",
+                       "integrity": "sha512-cx3SH2plpFS9fM8pp1nCypgQXGJD7Mcb1E3mEySmy5XEw1DUEo+kkNzgtAZz5qupekqi7aU9iBJEjCoMfqvO2Q==",
                        "requires": {
                                "earcut": "^2.2.3",
                                "geotiff": "^2.0.7",
-                               "ol-mapbox-style": "^10.1.0",
                                "pbf": "3.2.1",
                                "rbush": "^3.0.1"
                        }
                },
-               "ol-mapbox-style": {
-                       "version": "10.7.0",
-                       "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-10.7.0.tgz",
-                       "integrity": "sha512-S/UdYBuOjrotcR95Iq9AejGYbifKeZE85D9VtH11ryJLQPTZXZSW1J5bIXcr4AlAH6tyjPPHTK34AdkwB32Myw==",
-                       "requires": {
-                               "@mapbox/mapbox-gl-style-spec": "^13.23.1",
-                               "mapbox-to-css-font": "^2.4.1",
-                               "ol": "^7.3.0"
-                       }
-               },
                "once": {
                        "version": "1.4.0",
                        "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
                                "glob": "^10.2.5"
                        }
                },
-               "robust-predicates": {
-                       "version": "3.0.2",
-                       "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
-                       "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="
-               },
                "run-parallel": {
                        "version": "1.2.0",
                        "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
                                "queue-microtask": "^1.2.2"
                        }
                },
-               "rw": {
-                       "version": "1.3.3",
-                       "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
-                       "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
-               },
                "safe-buffer": {
                        "version": "5.2.1",
                        "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
                "safer-buffer": {
                        "version": "2.1.2",
                        "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-                       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+                       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+                       "dev": true,
+                       "optional": true
                },
                "schema-utils": {
                        "version": "4.2.0",
                                "socks": "^2.6.2"
                        }
                },
-               "sort-asc": {
-                       "version": "0.1.0",
-                       "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz",
-                       "integrity": "sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw=="
-               },
-               "sort-desc": {
-                       "version": "0.1.1",
-                       "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz",
-                       "integrity": "sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw=="
-               },
-               "sort-object": {
-                       "version": "0.3.2",
-                       "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz",
-                       "integrity": "sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==",
-                       "requires": {
-                               "sort-asc": "^0.1.0",
-                               "sort-desc": "^0.1.1"
-                       }
-               },
                "source-map": {
                        "version": "0.6.1",
                        "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
                                "picocolors": "^1.0.0"
                        },
                        "dependencies": {
+                               "commander": {
+                                       "version": "7.2.0",
+                                       "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+                                       "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+                                       "dev": true
+                               },
                                "css-select": {
                                        "version": "5.1.0",
                                        "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
index 534427621f068e75e3cb534d5a1af25863f4657d..08a3865c47b214580d49f20de3edf253df50e7cc 100644 (file)
@@ -23,8 +23,8 @@
                "webpack-merge": "^5.9.0"
        },
        "dependencies": {
-               "@nieuwlandgeo/sldreader": "^0.3.1",
-               "@observablehq/plot": "^0.6.10",
-               "ol": "7.5.x"
+               "@nieuwlandgeo/sldreader": "0.3.x",
+               "chart.js": "4.x.x",
+               "ol": "8.x.x"
        }
 }
index 5236657db397be82f38686b2e44e12d41021e70e..9cc67db4fa4061561fe3ba53bab78c12cb73db17 100644 (file)
@@ -1,12 +1,27 @@
-import * as Plot from "@observablehq/plot";
+import Chart from 'chart.js/auto';
 
 export default class TestGraph {
 
        init() {
+               const ctx = document.getElementById('myChart');
 
-               const plot = Plot.rectY({ length: 10000 }, Plot.binX({ y: "count" }, { x: Math.random })).plot();
-               const div = document.querySelector("#myplot");
-               div.append(plot);
-
+               new Chart(ctx, {
+                       type: 'bar',
+                       data: {
+                               labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
+                               datasets: [{
+                                       label: '# of Votes',
+                                       data: [12, 19, 3, 5, 2, 3],
+                                       borderWidth: 1
+                               }]
+                       },
+                       options: {
+                               scales: {
+                                       y: {
+                                               beginAtZero: true
+                                       }
+                               }
+                       }
+               });
        }
 }
index 32cbd31d017d5a9d91091a4ec6d20c6940136284..b9115a8be1608ef1d3a0f55bd6c6d8de226b722c 100644 (file)
@@ -6,7 +6,7 @@
 </head>
 
 <body>
-       <div id="myplot"></div>
+       <canvas id="myChart"></canvas>
 </body>
 
 </html>
\ No newline at end of file