harryagasi commited on
Commit
1db9b28
·
1 Parent(s): 98ca5fc

feat: render plotly charts embedded in report markdown

Browse files

- Add PlotlyChartBlock component that lazy-loads plotly.js-dist-min + react-plotly.js so the ~1.5MB gzip payload only loads when a report actually contains a chart
- Detect ```plotly fenced code blocks in MarkdownContent, parse the JSON spec, and render an interactive chart instead of raw code text
- Add plotly.js-dist-min, react-plotly.js, and their type packages as dependencies

package.json CHANGED
@@ -50,11 +50,13 @@
50
  "lucide-react": "0.487.0",
51
  "motion": "12.23.24",
52
  "next-themes": "0.4.6",
 
53
  "react-day-picker": "8.10.1",
54
  "react-dnd": "16.0.1",
55
  "react-dnd-html5-backend": "16.0.1",
56
  "react-hook-form": "7.55.0",
57
  "react-markdown": "^10.1.0",
 
58
  "react-popper": "2.3.0",
59
  "react-resizable-panels": "2.1.7",
60
  "react-responsive-masonry": "2.7.1",
@@ -71,6 +73,8 @@
71
  },
72
  "devDependencies": {
73
  "@tailwindcss/vite": "4.1.12",
 
 
74
  "@vitejs/plugin-react": "4.7.0",
75
  "tailwindcss": "4.1.12",
76
  "vite": "6.3.5"
@@ -91,6 +95,9 @@
91
  "overrides": {
92
  "vite": "6.3.5"
93
  },
94
- "onlyBuiltDependencies": ["@tailwindcss/oxide", "esbuild"]
 
 
 
95
  }
96
  }
 
50
  "lucide-react": "0.487.0",
51
  "motion": "12.23.24",
52
  "next-themes": "0.4.6",
53
+ "plotly.js-dist-min": "^3.7.0",
54
  "react-day-picker": "8.10.1",
55
  "react-dnd": "16.0.1",
56
  "react-dnd-html5-backend": "16.0.1",
57
  "react-hook-form": "7.55.0",
58
  "react-markdown": "^10.1.0",
59
+ "react-plotly.js": "^4.0.0",
60
  "react-popper": "2.3.0",
61
  "react-resizable-panels": "2.1.7",
62
  "react-responsive-masonry": "2.7.1",
 
73
  },
74
  "devDependencies": {
75
  "@tailwindcss/vite": "4.1.12",
76
+ "@types/plotly.js": "^3.0.10",
77
+ "@types/react-plotly.js": "^2.6.4",
78
  "@vitejs/plugin-react": "4.7.0",
79
  "tailwindcss": "4.1.12",
80
  "vite": "6.3.5"
 
95
  "overrides": {
96
  "vite": "6.3.5"
97
  },
98
+ "onlyBuiltDependencies": [
99
+ "@tailwindcss/oxide",
100
+ "esbuild"
101
+ ]
102
  }
103
  }
pnpm-lock.yaml CHANGED
@@ -137,6 +137,9 @@ importers:
137
  next-themes:
138
  specifier: 0.4.6
139
  version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
 
 
140
  react:
141
  specifier: 18.3.1
142
  version: 18.3.1
@@ -158,6 +161,9 @@ importers:
158
  react-markdown:
159
  specifier: ^10.1.0
160
  version: 10.1.0(@types/react@19.2.14)(react@18.3.1)
 
 
 
161
  react-popper:
162
  specifier: 2.3.0
163
  version: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -201,6 +207,12 @@ importers:
201
  '@tailwindcss/vite':
202
  specifier: 4.1.12
203
  version: 4.1.12(vite@6.3.5(jiti@2.6.1)(lightningcss@1.30.1))
 
 
 
 
 
 
204
  '@vitejs/plugin-react':
205
  specifier: 4.7.0
206
  version: 4.7.0(vite@6.3.5(jiti@2.6.1)(lightningcss@1.30.1))
@@ -300,6 +312,10 @@ packages:
300
  resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
301
  engines: {node: '>=6.9.0'}
302
 
 
 
 
 
303
  '@emotion/babel-plugin@11.13.5':
304
  resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
305
 
@@ -545,6 +561,48 @@ packages:
545
  '@jridgewell/trace-mapping@0.3.31':
546
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
547
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
548
  '@mui/core-downloads-tracker@7.3.9':
549
  resolution: {integrity: sha512-MOkOCTfbMJwLshlBCKJ59V2F/uaLYfmKnN76kksj6jlGUVdI25A9Hzs08m+zjBRdLv+sK7Rqdsefe8X7h/6PCw==}
550
 
@@ -636,6 +694,25 @@ packages:
636
  '@types/react':
637
  optional: true
638
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
639
  '@popperjs/core@2.11.8':
640
  resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
641
 
@@ -1509,6 +1586,21 @@ packages:
1509
  peerDependencies:
1510
  vite: 6.3.5
1511
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1512
  '@types/babel__core@7.20.5':
1513
  resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
1514
 
@@ -1557,12 +1649,24 @@ packages:
1557
  '@types/estree@1.0.8':
1558
  resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
1559
 
 
 
 
 
 
 
1560
  '@types/hast@3.0.4':
1561
  resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
1562
 
1563
  '@types/katex@0.16.8':
1564
  resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
1565
 
 
 
 
 
 
 
1566
  '@types/mdast@4.0.4':
1567
  resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
1568
 
@@ -1572,9 +1676,18 @@ packages:
1572
  '@types/parse-json@4.0.2':
1573
  resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
1574
 
 
 
 
 
 
 
1575
  '@types/prop-types@15.7.15':
1576
  resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
1577
 
 
 
 
1578
  '@types/react-transition-group@4.4.12':
1579
  resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==}
1580
  peerDependencies:
@@ -1583,6 +1696,9 @@ packages:
1583
  '@types/react@19.2.14':
1584
  resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
1585
 
 
 
 
1586
  '@types/unist@2.0.11':
1587
  resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
1588
 
@@ -1598,10 +1714,31 @@ packages:
1598
  peerDependencies:
1599
  vite: 6.3.5
1600
 
 
 
 
 
 
 
 
 
1601
  aria-hidden@1.2.6:
1602
  resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
1603
  engines: {node: '>=10'}
1604
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1605
  babel-plugin-macros@3.1.0:
1606
  resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
1607
  engines: {node: '>=10', npm: '>=6'}
@@ -1609,16 +1746,35 @@ packages:
1609
  bail@2.0.2:
1610
  resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
1611
 
 
 
 
 
1612
  baseline-browser-mapping@2.10.16:
1613
  resolution: {integrity: sha512-Lyf3aK28zpsD1yQMiiHD4RvVb6UdMoo8xzG2XzFIfR9luPzOpcBlAsT/qfB1XWS1bxWT+UtE4WmQgsp297FYOA==}
1614
  engines: {node: '>=6.0.0'}
1615
  hasBin: true
1616
 
 
 
 
 
 
 
 
 
 
 
 
 
1617
  browserslist@4.28.2:
1618
  resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
1619
  engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1620
  hasBin: true
1621
 
 
 
 
1622
  callsites@3.1.0:
1623
  resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1624
  engines: {node: '>=6'}
@@ -1648,6 +1804,9 @@ packages:
1648
  resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
1649
  engines: {node: '>=18'}
1650
 
 
 
 
1651
  class-variance-authority@0.7.1:
1652
  resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
1653
 
@@ -1664,13 +1823,51 @@ packages:
1664
  react: ^18 || ^19 || ^19.0.0-rc
1665
  react-dom: ^18 || ^19 || ^19.0.0-rc
1666
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1667
  comma-separated-tokens@2.0.3:
1668
  resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
1669
 
 
 
 
1670
  commander@8.3.0:
1671
  resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
1672
  engines: {node: '>= 12'}
1673
 
 
 
 
 
1674
  convert-source-map@1.9.0:
1675
  resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
1676
 
@@ -1681,60 +1878,153 @@ packages:
1681
  resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
1682
  engines: {node: '>=18'}
1683
 
 
 
 
1684
  cosmiconfig@7.1.0:
1685
  resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
1686
  engines: {node: '>=10'}
1687
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1688
  csstype@3.2.3:
1689
  resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
1690
 
 
 
 
1691
  d3-array@3.2.4:
1692
  resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
1693
  engines: {node: '>=12'}
1694
 
 
 
 
1695
  d3-color@3.1.0:
1696
  resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
1697
  engines: {node: '>=12'}
1698
 
 
 
 
1699
  d3-ease@3.0.1:
1700
  resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
1701
  engines: {node: '>=12'}
1702
 
 
 
 
 
 
 
1703
  d3-format@3.1.2:
1704
  resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
1705
  engines: {node: '>=12'}
1706
 
 
 
 
 
 
 
 
 
 
 
1707
  d3-interpolate@3.0.1:
1708
  resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
1709
  engines: {node: '>=12'}
1710
 
 
 
 
1711
  d3-path@3.1.0:
1712
  resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
1713
  engines: {node: '>=12'}
1714
 
 
 
 
1715
  d3-scale@4.0.2:
1716
  resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
1717
  engines: {node: '>=12'}
1718
 
 
 
 
1719
  d3-shape@3.2.0:
1720
  resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
1721
  engines: {node: '>=12'}
1722
 
 
 
 
1723
  d3-time-format@4.1.0:
1724
  resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
1725
  engines: {node: '>=12'}
1726
 
 
 
 
1727
  d3-time@3.1.0:
1728
  resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
1729
  engines: {node: '>=12'}
1730
 
 
 
 
1731
  d3-timer@3.0.1:
1732
  resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
1733
  engines: {node: '>=12'}
1734
 
 
 
 
 
1735
  date-fns@3.6.0:
1736
  resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==}
1737
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1738
  debug@4.4.3:
1739
  resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
1740
  engines: {node: '>=6.0'}
@@ -1750,10 +2040,16 @@ packages:
1750
  decode-named-character-reference@1.3.0:
1751
  resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
1752
 
 
 
 
1753
  dequal@2.0.3:
1754
  resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1755
  engines: {node: '>=6'}
1756
 
 
 
 
1757
  detect-libc@2.1.2:
1758
  resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
1759
  engines: {node: '>=8'}
@@ -1770,9 +2066,31 @@ packages:
1770
  dom-helpers@5.2.1:
1771
  resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
1772
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1773
  electron-to-chromium@1.5.332:
1774
  resolution: {integrity: sha512-7OOtytmh/rINMLwaFTbcMVvYXO3AUm029X0LcyfYk0B557RlPkdpTpnH9+htMlfu5dKwOmT0+Zs2Aw+lnn6TeQ==}
1775
 
 
 
 
1776
  embla-carousel-react@8.6.0:
1777
  resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==}
1778
  peerDependencies:
@@ -1786,6 +2104,9 @@ packages:
1786
  embla-carousel@8.6.0:
1787
  resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==}
1788
 
 
 
 
1789
  enhanced-resolve@5.20.1:
1790
  resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==}
1791
  engines: {node: '>=10.13.0'}
@@ -1797,6 +2118,20 @@ packages:
1797
  error-ex@1.3.4:
1798
  resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
1799
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1800
  esbuild@0.25.12:
1801
  resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
1802
  engines: {node: '>=18'}
@@ -1814,15 +2149,51 @@ packages:
1814
  resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
1815
  engines: {node: '>=12'}
1816
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1817
  estree-util-is-identifier-name@3.0.0:
1818
  resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
1819
 
 
 
 
 
 
 
 
1820
  eventemitter3@4.0.7:
1821
  resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
1822
 
 
 
 
 
 
 
 
1823
  extend@3.0.2:
1824
  resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
1825
 
 
 
 
 
1826
  fast-deep-equal@3.1.3:
1827
  resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1828
 
@@ -1830,6 +2201,9 @@ packages:
1830
  resolution: {integrity: sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==}
1831
  engines: {node: '>=6.0.0'}
1832
 
 
 
 
1833
  fdir@6.5.0:
1834
  resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
1835
  engines: {node: '>=12.0.0'}
@@ -1842,6 +2216,15 @@ packages:
1842
  find-root@1.1.0:
1843
  resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
1844
 
 
 
 
 
 
 
 
 
 
1845
  framer-motion@12.38.0:
1846
  resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==}
1847
  peerDependencies:
@@ -1856,6 +2239,9 @@ packages:
1856
  react-dom:
1857
  optional: true
1858
 
 
 
 
1859
  fsevents@2.3.3:
1860
  resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1861
  engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -1868,13 +2254,97 @@ packages:
1868
  resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1869
  engines: {node: '>=6.9.0'}
1870
 
 
 
 
 
 
 
 
 
 
1871
  get-nonce@1.0.1:
1872
  resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
1873
  engines: {node: '>=6'}
1874
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1875
  graceful-fs@4.2.11:
1876
  resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1877
 
 
 
 
 
 
 
 
 
 
1878
  hasown@2.0.2:
1879
  resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1880
  engines: {node: '>= 0.4'}
@@ -1915,10 +2385,24 @@ packages:
1915
  html-url-attributes@3.0.1:
1916
  resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
1917
 
 
 
 
 
 
 
 
1918
  import-fresh@3.3.1:
1919
  resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
1920
  engines: {node: '>=6'}
1921
 
 
 
 
 
 
 
 
1922
  inline-style-parser@0.2.7:
1923
  resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
1924
 
@@ -1941,6 +2425,9 @@ packages:
1941
  is-arrayish@0.2.1:
1942
  resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
1943
 
 
 
 
1944
  is-core-module@2.16.1:
1945
  resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1946
  engines: {node: '>= 0.4'}
@@ -1948,13 +2435,51 @@ packages:
1948
  is-decimal@2.0.1:
1949
  resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
1950
 
 
 
 
 
 
 
 
 
1951
  is-hexadecimal@2.0.1:
1952
  resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
1953
 
 
 
 
 
 
 
 
 
 
 
 
1954
  is-plain-obj@4.1.0:
1955
  resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
1956
  engines: {node: '>=12'}
1957
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1958
  jiti@2.6.1:
1959
  resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
1960
  hasBin: true
@@ -1970,6 +2495,9 @@ packages:
1970
  json-parse-even-better-errors@2.3.1:
1971
  resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1972
 
 
 
 
1973
  json2mq@0.2.0:
1974
  resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==}
1975
 
@@ -1982,6 +2510,16 @@ packages:
1982
  resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==}
1983
  hasBin: true
1984
 
 
 
 
 
 
 
 
 
 
 
1985
  lightningcss-darwin-arm64@1.30.1:
1986
  resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
1987
  engines: {node: '>= 12.0.0'}
@@ -2052,6 +2590,9 @@ packages:
2052
  lodash.debounce@4.0.8:
2053
  resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
2054
 
 
 
 
2055
  lodash@4.18.1:
2056
  resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
2057
 
@@ -2073,9 +2614,24 @@ packages:
2073
  magic-string@0.30.21:
2074
  resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
2075
 
 
 
 
 
 
 
 
 
 
 
 
2076
  markdown-table@3.0.4:
2077
  resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
2078
 
 
 
 
 
2079
  mdast-util-find-and-replace@3.0.2:
2080
  resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
2081
 
@@ -2211,6 +2767,9 @@ packages:
2211
  micromark@4.0.2:
2212
  resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
2213
 
 
 
 
2214
  minipass@7.1.3:
2215
  resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
2216
  engines: {node: '>=16 || 14 >=14.17'}
@@ -2239,31 +2798,70 @@ packages:
2239
  react-dom:
2240
  optional: true
2241
 
 
 
 
 
 
 
2242
  ms@2.1.3:
2243
  resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
2244
 
 
 
 
2245
  nanoid@3.3.11:
2246
  resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
2247
  engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2248
  hasBin: true
2249
 
 
 
 
 
 
 
 
 
2250
  next-themes@0.4.6:
2251
  resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
2252
  peerDependencies:
2253
  react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
2254
  react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
2255
 
 
 
 
2256
  node-releases@2.0.37:
2257
  resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==}
2258
 
 
 
 
 
 
 
 
 
 
 
2259
  object-assign@4.1.1:
2260
  resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2261
  engines: {node: '>=0.10.0'}
2262
 
 
 
 
 
 
 
2263
  parent-module@1.0.1:
2264
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2265
  engines: {node: '>=6'}
2266
 
 
 
 
2267
  parse-entities@4.0.2:
2268
  resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
2269
 
@@ -2271,6 +2869,15 @@ packages:
2271
  resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
2272
  engines: {node: '>=8'}
2273
 
 
 
 
 
 
 
 
 
 
2274
  parse5@7.3.0:
2275
  resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
2276
 
@@ -2281,6 +2888,16 @@ packages:
2281
  resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2282
  engines: {node: '>=8'}
2283
 
 
 
 
 
 
 
 
 
 
 
2284
  picocolors@1.1.1:
2285
  resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
2286
 
@@ -2288,16 +2905,53 @@ packages:
2288
  resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
2289
  engines: {node: '>=12'}
2290
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2291
  postcss@8.5.8:
2292
  resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
2293
  engines: {node: ^10 || ^12 || >=14}
2294
 
 
 
 
 
 
 
 
 
 
 
 
 
2295
  prop-types@15.8.1:
2296
  resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2297
 
2298
  property-information@7.1.0:
2299
  resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
2300
 
 
 
 
 
 
 
 
 
 
 
 
 
2301
  react-day-picker@8.10.1:
2302
  resolution: {integrity: sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==}
2303
  peerDependencies:
@@ -2351,6 +3005,13 @@ packages:
2351
  '@types/react': '>=18'
2352
  react: '>=18'
2353
 
 
 
 
 
 
 
 
2354
  react-popper@2.3.0:
2355
  resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==}
2356
  peerDependencies:
@@ -2433,6 +3094,12 @@ packages:
2433
  resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
2434
  engines: {node: '>=0.10.0'}
2435
 
 
 
 
 
 
 
2436
  recharts-scale@0.4.5:
2437
  resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==}
2438
 
@@ -2446,6 +3113,21 @@ packages:
2446
  redux@4.2.1:
2447
  resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==}
2448
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2449
  rehype-katex@7.0.1:
2450
  resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==}
2451
 
@@ -2471,6 +3153,12 @@ packages:
2471
  resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2472
  engines: {node: '>=4'}
2473
 
 
 
 
 
 
 
2474
  resolve@1.22.11:
2475
  resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
2476
  engines: {node: '>= 0.4'}
@@ -2481,6 +3169,22 @@ packages:
2481
  engines: {node: '>=18.0.0', npm: '>=8.0.0'}
2482
  hasBin: true
2483
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2484
  scheduler@0.23.2:
2485
  resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
2486
 
@@ -2491,6 +3195,9 @@ packages:
2491
  set-cookie-parser@2.7.2:
2492
  resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==}
2493
 
 
 
 
2494
  sonner@2.0.3:
2495
  resolution: {integrity: sha512-njQ4Hht92m0sMqqHVDL32V2Oun9W1+PHO9NDv9FHfJjT3JT22IG4Jpo3FPQy+mouRKCXFWO+r67v6MrHX2zeIA==}
2496
  peerDependencies:
@@ -2505,15 +3212,43 @@ packages:
2505
  resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
2506
  engines: {node: '>=0.10.0'}
2507
 
 
 
 
 
2508
  space-separated-tokens@2.0.2:
2509
  resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
2510
 
2511
- string-convert@0.2.1:
 
 
 
 
 
 
 
 
 
 
 
 
2512
  resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==}
2513
 
 
 
 
 
 
 
 
 
 
2514
  stringify-entities@4.0.4:
2515
  resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
2516
 
 
 
 
2517
  style-to-js@1.1.21:
2518
  resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
2519
 
@@ -2523,10 +3258,25 @@ packages:
2523
  stylis@4.2.0:
2524
  resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
2525
 
 
 
 
 
 
 
2526
  supports-preserve-symlinks-flag@1.0.0:
2527
  resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2528
  engines: {node: '>= 0.4'}
2529
 
 
 
 
 
 
 
 
 
 
2530
  tailwind-merge@3.2.0:
2531
  resolution: {integrity: sha512-FQT/OVqCD+7edmmJpsgCsY820RTD5AkBryuG5IUqR5YQZSdj5xlH5nLgH7YPths7WsLPSpSBNneJdM8aS8aeFA==}
2532
 
@@ -2541,13 +3291,38 @@ packages:
2541
  resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==}
2542
  engines: {node: '>=18'}
2543
 
 
 
 
 
 
 
2544
  tiny-invariant@1.3.3:
2545
  resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
2546
 
 
 
 
2547
  tinyglobby@0.2.15:
2548
  resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
2549
  engines: {node: '>=12.0.0'}
2550
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2551
  trim-lines@3.0.1:
2552
  resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
2553
 
@@ -2560,6 +3335,15 @@ packages:
2560
  tw-animate-css@1.3.8:
2561
  resolution: {integrity: sha512-Qrk3PZ7l7wUcGYhwZloqfkWCmaXZAoqjkdbIDvzfGshwGtexa/DAs9koXxIkrpEasyevandomzCBAV1Yyop5rw==}
2562
 
 
 
 
 
 
 
 
 
 
2563
  unified@11.0.5:
2564
  resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
2565
 
@@ -2584,12 +3368,18 @@ packages:
2584
  unist-util-visit@5.1.0:
2585
  resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==}
2586
 
 
 
 
2587
  update-browserslist-db@1.2.3:
2588
  resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
2589
  hasBin: true
2590
  peerDependencies:
2591
  browserslist: '>= 4.21.0'
2592
 
 
 
 
2593
  use-callback-ref@1.3.3:
2594
  resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
2595
  engines: {node: '>=10'}
@@ -2610,6 +3400,9 @@ packages:
2610
  '@types/react':
2611
  optional: true
2612
 
 
 
 
2613
  vaul@1.1.2:
2614
  resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==}
2615
  peerDependencies:
@@ -2668,12 +3461,40 @@ packages:
2668
  yaml:
2669
  optional: true
2670
 
 
 
 
2671
  warning@4.0.3:
2672
  resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
2673
 
 
 
 
2674
  web-namespaces@2.0.1:
2675
  resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
2676
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2677
  yallist@3.1.1:
2678
  resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2679
 
@@ -2804,6 +3625,10 @@ snapshots:
2804
  '@babel/helper-string-parser': 7.27.1
2805
  '@babel/helper-validator-identifier': 7.28.5
2806
 
 
 
 
 
2807
  '@emotion/babel-plugin@11.13.5':
2808
  dependencies:
2809
  '@babel/helper-module-imports': 7.28.6
@@ -3005,6 +3830,45 @@ snapshots:
3005
  '@jridgewell/resolve-uri': 3.1.2
3006
  '@jridgewell/sourcemap-codec': 1.5.5
3007
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3008
  '@mui/core-downloads-tracker@7.3.9': {}
3009
 
3010
  '@mui/icons-material@7.3.5(@mui/material@7.3.5(@emotion/react@11.14.0(@types/react@19.2.14)(react@18.3.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@18.3.1))(@types/react@19.2.14)(react@18.3.1))(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@19.2.14)(react@18.3.1)':
@@ -3092,6 +3956,63 @@ snapshots:
3092
  optionalDependencies:
3093
  '@types/react': 19.2.14
3094
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3095
  '@popperjs/core@2.11.8': {}
3096
 
3097
  '@radix-ui/number@1.1.0': {}
@@ -3883,6 +4804,38 @@ snapshots:
3883
  tailwindcss: 4.1.12
3884
  vite: 6.3.5(jiti@2.6.1)(lightningcss@1.30.1)
3885
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3886
  '@types/babel__core@7.20.5':
3887
  dependencies:
3888
  '@babel/parser': 7.29.2
@@ -3938,12 +4891,26 @@ snapshots:
3938
 
3939
  '@types/estree@1.0.8': {}
3940
 
 
 
 
 
 
 
3941
  '@types/hast@3.0.4':
3942
  dependencies:
3943
  '@types/unist': 3.0.3
3944
 
3945
  '@types/katex@0.16.8': {}
3946
 
 
 
 
 
 
 
 
 
3947
  '@types/mdast@4.0.4':
3948
  dependencies:
3949
  '@types/unist': 3.0.3
@@ -3952,8 +4919,17 @@ snapshots:
3952
 
3953
  '@types/parse-json@4.0.2': {}
3954
 
 
 
 
 
3955
  '@types/prop-types@15.7.15': {}
3956
 
 
 
 
 
 
3957
  '@types/react-transition-group@4.4.12(@types/react@19.2.14)':
3958
  dependencies:
3959
  '@types/react': 19.2.14
@@ -3962,6 +4938,10 @@ snapshots:
3962
  dependencies:
3963
  csstype: 3.2.3
3964
 
 
 
 
 
3965
  '@types/unist@2.0.11': {}
3966
 
3967
  '@types/unist@3.0.3': {}
@@ -3980,10 +4960,24 @@ snapshots:
3980
  transitivePeerDependencies:
3981
  - supports-color
3982
 
 
 
 
 
3983
  aria-hidden@1.2.6:
3984
  dependencies:
3985
  tslib: 2.8.1
3986
 
 
 
 
 
 
 
 
 
 
 
3987
  babel-plugin-macros@3.1.0:
3988
  dependencies:
3989
  '@babel/runtime': 7.29.2
@@ -3992,8 +4986,21 @@ snapshots:
3992
 
3993
  bail@2.0.2: {}
3994
 
 
 
3995
  baseline-browser-mapping@2.10.16: {}
3996
 
 
 
 
 
 
 
 
 
 
 
 
3997
  browserslist@4.28.2:
3998
  dependencies:
3999
  baseline-browser-mapping: 2.10.16
@@ -4002,6 +5009,8 @@ snapshots:
4002
  node-releases: 2.0.37
4003
  update-browserslist-db: 1.2.3(browserslist@4.28.2)
4004
 
 
 
4005
  callsites@3.1.0: {}
4006
 
4007
  caniuse-lite@1.0.30001786: {}
@@ -4020,6 +5029,8 @@ snapshots:
4020
 
4021
  chownr@3.0.0: {}
4022
 
 
 
4023
  class-variance-authority@0.7.1:
4024
  dependencies:
4025
  clsx: 2.1.1
@@ -4040,16 +5051,65 @@ snapshots:
4040
  - '@types/react'
4041
  - '@types/react-dom'
4042
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4043
  comma-separated-tokens@2.0.3: {}
4044
 
 
 
4045
  commander@8.3.0: {}
4046
 
 
 
 
 
 
 
 
4047
  convert-source-map@1.9.0: {}
4048
 
4049
  convert-source-map@2.0.0: {}
4050
 
4051
  cookie@1.1.1: {}
4052
 
 
 
4053
  cosmiconfig@7.1.0:
4054
  dependencies:
4055
  '@types/parse-json': 4.0.2
@@ -4058,24 +5118,84 @@ snapshots:
4058
  path-type: 4.0.0
4059
  yaml: 1.10.3
4060
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4061
  csstype@3.2.3: {}
4062
 
 
 
4063
  d3-array@3.2.4:
4064
  dependencies:
4065
  internmap: 2.0.3
4066
 
 
 
4067
  d3-color@3.1.0: {}
4068
 
 
 
4069
  d3-ease@3.0.1: {}
4070
 
 
 
 
 
 
 
 
 
 
4071
  d3-format@3.1.2: {}
4072
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4073
  d3-interpolate@3.0.1:
4074
  dependencies:
4075
  d3-color: 3.1.0
4076
 
 
 
4077
  d3-path@3.1.0: {}
4078
 
 
 
4079
  d3-scale@4.0.2:
4080
  dependencies:
4081
  d3-array: 3.2.4
@@ -4084,22 +5204,47 @@ snapshots:
4084
  d3-time: 3.1.0
4085
  d3-time-format: 4.1.0
4086
 
 
 
 
 
4087
  d3-shape@3.2.0:
4088
  dependencies:
4089
  d3-path: 3.1.0
4090
 
 
 
 
 
4091
  d3-time-format@4.1.0:
4092
  dependencies:
4093
  d3-time: 3.1.0
4094
 
 
 
4095
  d3-time@3.1.0:
4096
  dependencies:
4097
  d3-array: 3.2.4
4098
 
 
 
4099
  d3-timer@3.0.1: {}
4100
 
 
 
 
 
 
4101
  date-fns@3.6.0: {}
4102
 
 
 
 
 
 
 
 
 
4103
  debug@4.4.3:
4104
  dependencies:
4105
  ms: 2.1.3
@@ -4110,8 +5255,12 @@ snapshots:
4110
  dependencies:
4111
  character-entities: 2.0.2
4112
 
 
 
4113
  dequal@2.0.3: {}
4114
 
 
 
4115
  detect-libc@2.1.2: {}
4116
 
4117
  detect-node-es@1.1.0: {}
@@ -4131,8 +5280,32 @@ snapshots:
4131
  '@babel/runtime': 7.29.2
4132
  csstype: 3.2.3
4133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4134
  electron-to-chromium@1.5.332: {}
4135
 
 
 
 
 
4136
  embla-carousel-react@8.6.0(react@18.3.1):
4137
  dependencies:
4138
  embla-carousel: 8.6.0
@@ -4145,6 +5318,10 @@ snapshots:
4145
 
4146
  embla-carousel@8.6.0: {}
4147
 
 
 
 
 
4148
  enhanced-resolve@5.20.1:
4149
  dependencies:
4150
  graceful-fs: 4.2.11
@@ -4156,6 +5333,31 @@ snapshots:
4156
  dependencies:
4157
  is-arrayish: 0.2.1
4158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4159
  esbuild@0.25.12:
4160
  optionalDependencies:
4161
  '@esbuild/aix-ppc64': 0.25.12
@@ -4191,22 +5393,75 @@ snapshots:
4191
 
4192
  escape-string-regexp@5.0.0: {}
4193
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4194
  estree-util-is-identifier-name@3.0.0: {}
4195
 
 
 
 
 
 
 
 
4196
  eventemitter3@4.0.7: {}
4197
 
 
 
 
 
 
 
4198
  extend@3.0.2: {}
4199
 
 
 
 
 
 
4200
  fast-deep-equal@3.1.3: {}
4201
 
4202
  fast-equals@5.4.0: {}
4203
 
 
 
 
 
4204
  fdir@6.5.0(picomatch@4.0.4):
4205
  optionalDependencies:
4206
  picomatch: 4.0.4
4207
 
4208
  find-root@1.1.0: {}
4209
 
 
 
 
 
 
 
 
 
 
 
 
 
4210
  framer-motion@12.38.0(@emotion/is-prop-valid@1.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
4211
  dependencies:
4212
  motion-dom: 12.38.0
@@ -4217,6 +5472,11 @@ snapshots:
4217
  react: 18.3.1
4218
  react-dom: 18.3.1(react@18.3.1)
4219
 
 
 
 
 
 
4220
  fsevents@2.3.3:
4221
  optional: true
4222
 
@@ -4224,10 +5484,150 @@ snapshots:
4224
 
4225
  gensync@1.0.0-beta.2: {}
4226
 
 
 
 
 
 
 
4227
  get-nonce@1.0.1: {}
4228
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4229
  graceful-fs@4.2.11: {}
4230
 
 
 
 
 
 
 
 
 
 
 
4231
  hasown@2.0.2:
4232
  dependencies:
4233
  function-bind: 1.1.2
@@ -4318,11 +5718,21 @@ snapshots:
4318
 
4319
  html-url-attributes@3.0.1: {}
4320
 
 
 
 
 
 
 
4321
  import-fresh@3.3.1:
4322
  dependencies:
4323
  parent-module: 1.0.1
4324
  resolve-from: 4.0.0
4325
 
 
 
 
 
4326
  inline-style-parser@0.2.7: {}
4327
 
4328
  input-otp@1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
@@ -4341,16 +5751,40 @@ snapshots:
4341
 
4342
  is-arrayish@0.2.1: {}
4343
 
 
 
4344
  is-core-module@2.16.1:
4345
  dependencies:
4346
  hasown: 2.0.2
4347
 
4348
  is-decimal@2.0.1: {}
4349
 
 
 
 
 
4350
  is-hexadecimal@2.0.1: {}
4351
 
 
 
 
 
 
 
4352
  is-plain-obj@4.1.0: {}
4353
 
 
 
 
 
 
 
 
 
 
 
 
 
4354
  jiti@2.6.1: {}
4355
 
4356
  js-tokens@4.0.0: {}
@@ -4359,6 +5793,8 @@ snapshots:
4359
 
4360
  json-parse-even-better-errors@2.3.1: {}
4361
 
 
 
4362
  json2mq@0.2.0:
4363
  dependencies:
4364
  string-convert: 0.2.1
@@ -4369,6 +5805,12 @@ snapshots:
4369
  dependencies:
4370
  commander: 8.3.0
4371
 
 
 
 
 
 
 
4372
  lightningcss-darwin-arm64@1.30.1:
4373
  optional: true
4374
 
@@ -4418,6 +5860,8 @@ snapshots:
4418
 
4419
  lodash.debounce@4.0.8: {}
4420
 
 
 
4421
  lodash@4.18.1: {}
4422
 
4423
  longest-streak@3.1.0: {}
@@ -4438,8 +5882,68 @@ snapshots:
4438
  dependencies:
4439
  '@jridgewell/sourcemap-codec': 1.5.5
4440
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4441
  markdown-table@3.0.4: {}
4442
 
 
 
4443
  mdast-util-find-and-replace@3.0.2:
4444
  dependencies:
4445
  '@types/mdast': 4.0.4
@@ -4806,6 +6310,8 @@ snapshots:
4806
  transitivePeerDependencies:
4807
  - supports-color
4808
 
 
 
4809
  minipass@7.1.3: {}
4810
 
4811
  minizlib@3.1.0:
@@ -4827,23 +6333,61 @@ snapshots:
4827
  react: 18.3.1
4828
  react-dom: 18.3.1(react@18.3.1)
4829
 
 
 
 
 
4830
  ms@2.1.3: {}
4831
 
 
 
4832
  nanoid@3.3.11: {}
4833
 
 
 
 
 
 
 
 
 
 
 
4834
  next-themes@0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
4835
  dependencies:
4836
  react: 18.3.1
4837
  react-dom: 18.3.1(react@18.3.1)
4838
 
 
 
4839
  node-releases@2.0.37: {}
4840
 
 
 
 
 
 
 
 
 
 
 
4841
  object-assign@4.1.1: {}
4842
 
 
 
 
 
 
 
 
 
4843
  parent-module@1.0.1:
4844
  dependencies:
4845
  callsites: 3.1.0
4846
 
 
 
4847
  parse-entities@4.0.2:
4848
  dependencies:
4849
  '@types/unist': 2.0.11
@@ -4861,6 +6405,14 @@ snapshots:
4861
  json-parse-even-better-errors: 2.3.1
4862
  lines-and-columns: 1.2.4
4863
 
 
 
 
 
 
 
 
 
4864
  parse5@7.3.0:
4865
  dependencies:
4866
  entities: 6.0.1
@@ -4869,16 +6421,94 @@ snapshots:
4869
 
4870
  path-type@4.0.0: {}
4871
 
 
 
 
 
 
 
 
 
 
4872
  picocolors@1.1.1: {}
4873
 
4874
  picomatch@4.0.4: {}
4875
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4876
  postcss@8.5.8:
4877
  dependencies:
4878
  nanoid: 3.3.11
4879
  picocolors: 1.1.1
4880
  source-map-js: 1.2.1
4881
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4882
  prop-types@15.8.1:
4883
  dependencies:
4884
  loose-envify: 1.4.0
@@ -4887,6 +6517,16 @@ snapshots:
4887
 
4888
  property-information@7.1.0: {}
4889
 
 
 
 
 
 
 
 
 
 
 
4890
  react-day-picker@8.10.1(date-fns@3.6.0)(react@18.3.1):
4891
  dependencies:
4892
  date-fns: 3.6.0
@@ -4943,6 +6583,11 @@ snapshots:
4943
  transitivePeerDependencies:
4944
  - supports-color
4945
 
 
 
 
 
 
4946
  react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
4947
  dependencies:
4948
  '@popperjs/core': 2.11.8
@@ -5025,6 +6670,23 @@ snapshots:
5025
  dependencies:
5026
  loose-envify: 1.4.0
5027
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5028
  recharts-scale@0.4.5:
5029
  dependencies:
5030
  decimal.js-light: 2.5.1
@@ -5046,6 +6708,56 @@ snapshots:
5046
  dependencies:
5047
  '@babel/runtime': 7.29.2
5048
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5049
  rehype-katex@7.0.1:
5050
  dependencies:
5051
  '@types/hast': 3.0.4
@@ -5103,6 +6815,12 @@ snapshots:
5103
 
5104
  resolve-from@4.0.0: {}
5105
 
 
 
 
 
 
 
5106
  resolve@1.22.11:
5107
  dependencies:
5108
  is-core-module: 2.16.1
@@ -5140,6 +6858,16 @@ snapshots:
5140
  '@rollup/rollup-win32-x64-msvc': 4.60.1
5141
  fsevents: 2.3.3
5142
 
 
 
 
 
 
 
 
 
 
 
5143
  scheduler@0.23.2:
5144
  dependencies:
5145
  loose-envify: 1.4.0
@@ -5148,6 +6876,8 @@ snapshots:
5148
 
5149
  set-cookie-parser@2.7.2: {}
5150
 
 
 
5151
  sonner@2.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
5152
  dependencies:
5153
  react: 18.3.1
@@ -5157,15 +6887,44 @@ snapshots:
5157
 
5158
  source-map@0.5.7: {}
5159
 
 
 
 
5160
  space-separated-tokens@2.0.2: {}
5161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5162
  string-convert@0.2.1: {}
5163
 
 
 
 
 
 
 
 
 
 
 
5164
  stringify-entities@4.0.4:
5165
  dependencies:
5166
  character-entities-html4: 2.1.0
5167
  character-entities-legacy: 3.0.0
5168
 
 
 
5169
  style-to-js@1.1.21:
5170
  dependencies:
5171
  style-to-object: 1.0.14
@@ -5176,8 +6935,33 @@ snapshots:
5176
 
5177
  stylis@4.2.0: {}
5178
 
 
 
 
 
 
 
 
 
5179
  supports-preserve-symlinks-flag@1.0.0: {}
5180
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5181
  tailwind-merge@3.2.0: {}
5182
 
5183
  tailwindcss@4.1.12: {}
@@ -5192,13 +6976,39 @@ snapshots:
5192
  minizlib: 3.1.0
5193
  yallist: 5.0.0
5194
 
 
 
 
 
 
 
 
 
 
 
5195
  tiny-invariant@1.3.3: {}
5196
 
 
 
5197
  tinyglobby@0.2.15:
5198
  dependencies:
5199
  fdir: 6.5.0(picomatch@4.0.4)
5200
  picomatch: 4.0.4
5201
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5202
  trim-lines@3.0.1: {}
5203
 
5204
  trough@2.2.0: {}
@@ -5207,6 +7017,15 @@ snapshots:
5207
 
5208
  tw-animate-css@1.3.8: {}
5209
 
 
 
 
 
 
 
 
 
 
5210
  unified@11.0.5:
5211
  dependencies:
5212
  '@types/unist': 3.0.3
@@ -5250,12 +7069,16 @@ snapshots:
5250
  unist-util-is: 6.0.1
5251
  unist-util-visit-parents: 6.0.2
5252
 
 
 
5253
  update-browserslist-db@1.2.3(browserslist@4.28.2):
5254
  dependencies:
5255
  browserslist: 4.28.2
5256
  escalade: 3.2.0
5257
  picocolors: 1.1.1
5258
 
 
 
5259
  use-callback-ref@1.3.3(@types/react@19.2.14)(react@18.3.1):
5260
  dependencies:
5261
  react: 18.3.1
@@ -5271,6 +7094,8 @@ snapshots:
5271
  optionalDependencies:
5272
  '@types/react': 19.2.14
5273
 
 
 
5274
  vaul@1.1.2(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
5275
  dependencies:
5276
  '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -5325,12 +7150,38 @@ snapshots:
5325
  jiti: 2.6.1
5326
  lightningcss: 1.30.1
5327
 
 
 
 
 
 
 
5328
  warning@4.0.3:
5329
  dependencies:
5330
  loose-envify: 1.4.0
5331
 
 
 
5332
  web-namespaces@2.0.1: {}
5333
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5334
  yallist@3.1.1: {}
5335
 
5336
  yallist@5.0.0: {}
 
137
  next-themes:
138
  specifier: 0.4.6
139
  version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
140
+ plotly.js-dist-min:
141
+ specifier: ^3.7.0
142
+ version: 3.7.0
143
  react:
144
  specifier: 18.3.1
145
  version: 18.3.1
 
161
  react-markdown:
162
  specifier: ^10.1.0
163
  version: 10.1.0(@types/react@19.2.14)(react@18.3.1)
164
+ react-plotly.js:
165
+ specifier: ^4.0.0
166
+ version: 4.0.0(plotly.js@3.7.0(mapbox-gl@1.13.3))(react@18.3.1)
167
  react-popper:
168
  specifier: 2.3.0
169
  version: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
207
  '@tailwindcss/vite':
208
  specifier: 4.1.12
209
  version: 4.1.12(vite@6.3.5(jiti@2.6.1)(lightningcss@1.30.1))
210
+ '@types/plotly.js':
211
+ specifier: ^3.0.10
212
+ version: 3.0.10
213
+ '@types/react-plotly.js':
214
+ specifier: ^2.6.4
215
+ version: 2.6.4
216
  '@vitejs/plugin-react':
217
  specifier: 4.7.0
218
  version: 4.7.0(vite@6.3.5(jiti@2.6.1)(lightningcss@1.30.1))
 
312
  resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
313
  engines: {node: '>=6.9.0'}
314
 
315
+ '@choojs/findup@0.2.1':
316
+ resolution: {integrity: sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==}
317
+ hasBin: true
318
+
319
  '@emotion/babel-plugin@11.13.5':
320
  resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
321
 
 
561
  '@jridgewell/trace-mapping@0.3.31':
562
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
563
 
564
+ '@mapbox/geojson-rewind@0.5.2':
565
+ resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==}
566
+ hasBin: true
567
+
568
+ '@mapbox/geojson-types@1.0.2':
569
+ resolution: {integrity: sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==}
570
+
571
+ '@mapbox/jsonlint-lines-primitives@2.0.3':
572
+ resolution: {integrity: sha512-0SElaV0uMxEnxzBhhX9WTuPyUeMsAN/SS0i16tjuba4/mio63MG9khjC1a0JAiPGXAwvwm4UfHJURCN7nyudQg==}
573
+ engines: {node: '>= 22'}
574
+
575
+ '@mapbox/mapbox-gl-supported@1.5.0':
576
+ resolution: {integrity: sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==}
577
+ peerDependencies:
578
+ mapbox-gl: '>=0.32.1 <2.0.0'
579
+
580
+ '@mapbox/point-geometry@0.1.0':
581
+ resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==}
582
+
583
+ '@mapbox/tiny-sdf@1.2.5':
584
+ resolution: {integrity: sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==}
585
+
586
+ '@mapbox/tiny-sdf@2.2.0':
587
+ resolution: {integrity: sha512-LVL4wgI9YAum5V+LNVQO6QgFBPw7/MIIY4XJPNsPDMrjEwcE+JfKk1LuIl8GnF197ejVdC9QdPaxrx5gfgdGXg==}
588
+
589
+ '@mapbox/unitbezier@0.0.0':
590
+ resolution: {integrity: sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==}
591
+
592
+ '@mapbox/unitbezier@0.0.1':
593
+ resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==}
594
+
595
+ '@mapbox/vector-tile@1.3.1':
596
+ resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==}
597
+
598
+ '@mapbox/whoots-js@3.1.0':
599
+ resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==}
600
+ engines: {node: '>=6.0.0'}
601
+
602
+ '@maplibre/maplibre-gl-style-spec@20.4.0':
603
+ resolution: {integrity: sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==}
604
+ hasBin: true
605
+
606
  '@mui/core-downloads-tracker@7.3.9':
607
  resolution: {integrity: sha512-MOkOCTfbMJwLshlBCKJ59V2F/uaLYfmKnN76kksj6jlGUVdI25A9Hzs08m+zjBRdLv+sK7Rqdsefe8X7h/6PCw==}
608
 
 
694
  '@types/react':
695
  optional: true
696
 
697
+ '@plotly/d3-sankey-circular@0.33.1':
698
+ resolution: {integrity: sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==}
699
+
700
+ '@plotly/d3-sankey@0.7.2':
701
+ resolution: {integrity: sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==}
702
+
703
+ '@plotly/d3@3.8.2':
704
+ resolution: {integrity: sha512-wvsNmh1GYjyJfyEBPKJLTMzgf2c2bEbSIL50lmqVUi+o1NHaLPi1Lb4v7VxXXJn043BhNyrxUrWI85Q+zmjOVA==}
705
+
706
+ '@plotly/mapbox-gl@1.13.4':
707
+ resolution: {integrity: sha512-sR3/Pe5LqT/fhYgp4rT4aSFf1rTsxMbGiH6Hojc7PH36ny5Bn17iVFUjpzycafETURuFbLZUfjODO8LvSI+5zQ==}
708
+ engines: {node: '>=6.4.0'}
709
+
710
+ '@plotly/point-cluster@3.1.9':
711
+ resolution: {integrity: sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==}
712
+
713
+ '@plotly/regl@2.1.2':
714
+ resolution: {integrity: sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==}
715
+
716
  '@popperjs/core@2.11.8':
717
  resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
718
 
 
1586
  peerDependencies:
1587
  vite: 6.3.5
1588
 
1589
+ '@turf/area@7.3.5':
1590
+ resolution: {integrity: sha512-sSn80wPT7XfBIDN3vurCPxhk9W4U8ozS/XImSqeLN8qveTICOxzZkhsGDMp0CuncaN+plWut4a2TdNM7mzZB6Q==}
1591
+
1592
+ '@turf/bbox@7.3.5':
1593
+ resolution: {integrity: sha512-oG1ya/HtBjAIg4TimbWx+nOYPbY0bCvt82Bq8tm6sBw3qqtbOyRSfDz79Sq90TnH7DXJprJ1qnVGKNtZ6jemfw==}
1594
+
1595
+ '@turf/centroid@7.3.5':
1596
+ resolution: {integrity: sha512-hkWaqwGFdOn6Tf0EWfn2yn1XZ1FWE1h2C5ZWstDMu/FxYO5DB+YjlmOFPl4K6SmSOEgdV07eK2vDCyPeTHqKGA==}
1597
+
1598
+ '@turf/helpers@7.3.5':
1599
+ resolution: {integrity: sha512-E/NMGV5MwbjjP7AJXBtsanC3yY8N2MQ87IGdIgkB2ji5AtBpwnH4L3gEqpYN4RlCJJWbLbzO91BbKv2waUd0eg==}
1600
+
1601
+ '@turf/meta@7.3.5':
1602
+ resolution: {integrity: sha512-r+ohqxoyqeigFB0oFrQx/YEHIkOKqcKpCjvZkvZs7Tkv+IFco5MezAd2zd4rzK+0DfFgDP3KpJc7HqrYjvEjhg==}
1603
+
1604
  '@types/babel__core@7.20.5':
1605
  resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
1606
 
 
1649
  '@types/estree@1.0.8':
1650
  resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
1651
 
1652
+ '@types/geojson-vt@3.2.5':
1653
+ resolution: {integrity: sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==}
1654
+
1655
+ '@types/geojson@7946.0.16':
1656
+ resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
1657
+
1658
  '@types/hast@3.0.4':
1659
  resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
1660
 
1661
  '@types/katex@0.16.8':
1662
  resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
1663
 
1664
+ '@types/mapbox__point-geometry@0.1.4':
1665
+ resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==}
1666
+
1667
+ '@types/mapbox__vector-tile@1.3.4':
1668
+ resolution: {integrity: sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==}
1669
+
1670
  '@types/mdast@4.0.4':
1671
  resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
1672
 
 
1676
  '@types/parse-json@4.0.2':
1677
  resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
1678
 
1679
+ '@types/pbf@3.0.5':
1680
+ resolution: {integrity: sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==}
1681
+
1682
+ '@types/plotly.js@3.0.10':
1683
+ resolution: {integrity: sha512-q+MgO4aajC2HrO7FllTYWzrpdfbTjboSMfjkz/aXKjg1v7HNo1zMEFfAW7quKfk6SL+bH74A5ThBEps/7hZxOA==}
1684
+
1685
  '@types/prop-types@15.7.15':
1686
  resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
1687
 
1688
+ '@types/react-plotly.js@2.6.4':
1689
+ resolution: {integrity: sha512-AU6w1u3qEGM0NmBA69PaOgNc0KPFA/+qkH6Uu9EBTJ45/WYOUoXi9AF5O15PRM2klpHSiHAAs4WnlI+OZAFmUA==}
1690
+
1691
  '@types/react-transition-group@4.4.12':
1692
  resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==}
1693
  peerDependencies:
 
1696
  '@types/react@19.2.14':
1697
  resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
1698
 
1699
+ '@types/supercluster@7.1.3':
1700
+ resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==}
1701
+
1702
  '@types/unist@2.0.11':
1703
  resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
1704
 
 
1714
  peerDependencies:
1715
  vite: 6.3.5
1716
 
1717
+ abs-svg-path@0.1.1:
1718
+ resolution: {integrity: sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==}
1719
+
1720
+ acorn@7.4.1:
1721
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
1722
+ engines: {node: '>=0.4.0'}
1723
+ hasBin: true
1724
+
1725
  aria-hidden@1.2.6:
1726
  resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
1727
  engines: {node: '>=10'}
1728
 
1729
+ array-bounds@1.0.1:
1730
+ resolution: {integrity: sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==}
1731
+
1732
+ array-find-index@1.0.2:
1733
+ resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==}
1734
+ engines: {node: '>=0.10.0'}
1735
+
1736
+ array-normalize@1.1.4:
1737
+ resolution: {integrity: sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==}
1738
+
1739
+ array-range@1.0.1:
1740
+ resolution: {integrity: sha512-shdaI1zT3CVNL2hnx9c0JMc0ZogGaxDs5e85akgHWKYa0yVbIyp06Ind3dVkTj/uuFrzaHBOyqFzo+VV6aXgtA==}
1741
+
1742
  babel-plugin-macros@3.1.0:
1743
  resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
1744
  engines: {node: '>=10', npm: '>=6'}
 
1746
  bail@2.0.2:
1747
  resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
1748
 
1749
+ base64-arraybuffer@1.0.2:
1750
+ resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==}
1751
+ engines: {node: '>= 0.6.0'}
1752
+
1753
  baseline-browser-mapping@2.10.16:
1754
  resolution: {integrity: sha512-Lyf3aK28zpsD1yQMiiHD4RvVb6UdMoo8xzG2XzFIfR9luPzOpcBlAsT/qfB1XWS1bxWT+UtE4WmQgsp297FYOA==}
1755
  engines: {node: '>=6.0.0'}
1756
  hasBin: true
1757
 
1758
+ binary-search-bounds@2.0.5:
1759
+ resolution: {integrity: sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==}
1760
+
1761
+ bit-twiddle@1.0.2:
1762
+ resolution: {integrity: sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==}
1763
+
1764
+ bitmap-sdf@1.0.4:
1765
+ resolution: {integrity: sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==}
1766
+
1767
+ bl@2.2.1:
1768
+ resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==}
1769
+
1770
  browserslist@4.28.2:
1771
  resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
1772
  engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1773
  hasBin: true
1774
 
1775
+ buffer-from@1.1.2:
1776
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
1777
+
1778
  callsites@3.1.0:
1779
  resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1780
  engines: {node: '>=6'}
 
1804
  resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
1805
  engines: {node: '>=18'}
1806
 
1807
+ clamp@1.0.1:
1808
+ resolution: {integrity: sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==}
1809
+
1810
  class-variance-authority@0.7.1:
1811
  resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
1812
 
 
1823
  react: ^18 || ^19 || ^19.0.0-rc
1824
  react-dom: ^18 || ^19 || ^19.0.0-rc
1825
 
1826
+ color-alpha@1.1.3:
1827
+ resolution: {integrity: sha512-krPYBO1RSO5LH4AGb/b6z70O1Ip2o0F0+0cVFN5FN99jfQtZFT08rQyg+9oOBNJYAn3SRwJIFC8jUEOKz7PisA==}
1828
+
1829
+ color-id@1.1.0:
1830
+ resolution: {integrity: sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==}
1831
+
1832
+ color-name@1.1.4:
1833
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1834
+
1835
+ color-name@2.1.0:
1836
+ resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==}
1837
+ engines: {node: '>=12.20'}
1838
+
1839
+ color-normalize@1.5.0:
1840
+ resolution: {integrity: sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==}
1841
+
1842
+ color-parse@1.4.3:
1843
+ resolution: {integrity: sha512-BADfVl/FHkQkyo8sRBwMYBqemqsgnu7JZAwUgvBvuwwuNUZAhSvLTbsEErS5bQXzOjDR0dWzJ4vXN2Q+QoPx0A==}
1844
+
1845
+ color-parse@2.0.2:
1846
+ resolution: {integrity: sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==}
1847
+
1848
+ color-rgba@2.4.0:
1849
+ resolution: {integrity: sha512-Nti4qbzr/z2LbUWySr7H9dk3Rl7gZt7ihHAxlgT4Ho90EXWkjtkL1avTleu9yeGuqrt/chxTB6GKK8nZZ6V0+Q==}
1850
+
1851
+ color-rgba@3.0.0:
1852
+ resolution: {integrity: sha512-PPwZYkEY3M2THEHHV6Y95sGUie77S7X8v+h1r6LSAPF3/LL2xJ8duUXSrkic31Nzc4odPwHgUbiX/XuTYzQHQg==}
1853
+
1854
+ color-space@2.3.2:
1855
+ resolution: {integrity: sha512-BcKnbOEsOarCwyoLstcoEztwT0IJxqqQkNwDuA3a65sICvvHL2yoeV13psoDFh5IuiOMnIOKdQDwB4Mk3BypiA==}
1856
+
1857
  comma-separated-tokens@2.0.3:
1858
  resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
1859
 
1860
+ commander@2.20.3:
1861
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
1862
+
1863
  commander@8.3.0:
1864
  resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
1865
  engines: {node: '>= 12'}
1866
 
1867
+ concat-stream@1.6.2:
1868
+ resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
1869
+ engines: {'0': node >= 0.8}
1870
+
1871
  convert-source-map@1.9.0:
1872
  resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
1873
 
 
1878
  resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
1879
  engines: {node: '>=18'}
1880
 
1881
+ core-util-is@1.0.3:
1882
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
1883
+
1884
  cosmiconfig@7.1.0:
1885
  resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
1886
  engines: {node: '>=10'}
1887
 
1888
+ country-regex@1.1.0:
1889
+ resolution: {integrity: sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==}
1890
+
1891
+ css-font-size-keywords@1.0.0:
1892
+ resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==}
1893
+
1894
+ css-font-stretch-keywords@1.0.1:
1895
+ resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==}
1896
+
1897
+ css-font-style-keywords@1.0.1:
1898
+ resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==}
1899
+
1900
+ css-font-weight-keywords@1.0.0:
1901
+ resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==}
1902
+
1903
+ css-font@1.2.0:
1904
+ resolution: {integrity: sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==}
1905
+
1906
+ css-global-keywords@1.0.1:
1907
+ resolution: {integrity: sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==}
1908
+
1909
+ css-system-font-keywords@1.0.0:
1910
+ resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==}
1911
+
1912
+ csscolorparser@1.0.3:
1913
+ resolution: {integrity: sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==}
1914
+
1915
  csstype@3.2.3:
1916
  resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
1917
 
1918
+ d3-array@1.2.4:
1919
+ resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==}
1920
+
1921
  d3-array@3.2.4:
1922
  resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
1923
  engines: {node: '>=12'}
1924
 
1925
+ d3-collection@1.0.7:
1926
+ resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==}
1927
+
1928
  d3-color@3.1.0:
1929
  resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
1930
  engines: {node: '>=12'}
1931
 
1932
+ d3-dispatch@1.0.6:
1933
+ resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==}
1934
+
1935
  d3-ease@3.0.1:
1936
  resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
1937
  engines: {node: '>=12'}
1938
 
1939
+ d3-force@1.2.1:
1940
+ resolution: {integrity: sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==}
1941
+
1942
+ d3-format@1.4.5:
1943
+ resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==}
1944
+
1945
  d3-format@3.1.2:
1946
  resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
1947
  engines: {node: '>=12'}
1948
 
1949
+ d3-geo-projection@2.9.0:
1950
+ resolution: {integrity: sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==}
1951
+ hasBin: true
1952
+
1953
+ d3-geo@1.12.1:
1954
+ resolution: {integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==}
1955
+
1956
+ d3-hierarchy@1.1.9:
1957
+ resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==}
1958
+
1959
  d3-interpolate@3.0.1:
1960
  resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
1961
  engines: {node: '>=12'}
1962
 
1963
+ d3-path@1.0.9:
1964
+ resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
1965
+
1966
  d3-path@3.1.0:
1967
  resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
1968
  engines: {node: '>=12'}
1969
 
1970
+ d3-quadtree@1.0.7:
1971
+ resolution: {integrity: sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==}
1972
+
1973
  d3-scale@4.0.2:
1974
  resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
1975
  engines: {node: '>=12'}
1976
 
1977
+ d3-shape@1.3.7:
1978
+ resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
1979
+
1980
  d3-shape@3.2.0:
1981
  resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
1982
  engines: {node: '>=12'}
1983
 
1984
+ d3-time-format@2.3.0:
1985
+ resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==}
1986
+
1987
  d3-time-format@4.1.0:
1988
  resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
1989
  engines: {node: '>=12'}
1990
 
1991
+ d3-time@1.1.0:
1992
+ resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==}
1993
+
1994
  d3-time@3.1.0:
1995
  resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
1996
  engines: {node: '>=12'}
1997
 
1998
+ d3-timer@1.0.10:
1999
+ resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==}
2000
+
2001
  d3-timer@3.0.1:
2002
  resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
2003
  engines: {node: '>=12'}
2004
 
2005
+ d@1.0.2:
2006
+ resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
2007
+ engines: {node: '>=0.12'}
2008
+
2009
  date-fns@3.6.0:
2010
  resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==}
2011
 
2012
+ debug@2.6.9:
2013
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
2014
+ peerDependencies:
2015
+ supports-color: '*'
2016
+ peerDependenciesMeta:
2017
+ supports-color:
2018
+ optional: true
2019
+
2020
+ debug@3.2.7:
2021
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
2022
+ peerDependencies:
2023
+ supports-color: '*'
2024
+ peerDependenciesMeta:
2025
+ supports-color:
2026
+ optional: true
2027
+
2028
  debug@4.4.3:
2029
  resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
2030
  engines: {node: '>=6.0'}
 
2040
  decode-named-character-reference@1.3.0:
2041
  resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
2042
 
2043
+ defined@1.0.1:
2044
+ resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
2045
+
2046
  dequal@2.0.3:
2047
  resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
2048
  engines: {node: '>=6'}
2049
 
2050
+ detect-kerning@2.1.2:
2051
+ resolution: {integrity: sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==}
2052
+
2053
  detect-libc@2.1.2:
2054
  resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
2055
  engines: {node: '>=8'}
 
2066
  dom-helpers@5.2.1:
2067
  resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
2068
 
2069
+ draw-svg-path@1.0.0:
2070
+ resolution: {integrity: sha512-P8j3IHxcgRMcY6sDzr0QvJDLzBnJJqpTG33UZ2Pvp8rw0apCHhJCWqYprqrXjrgHnJ6tuhP1iTJSAodPDHxwkg==}
2071
+
2072
+ dtype@2.0.0:
2073
+ resolution: {integrity: sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==}
2074
+ engines: {node: '>= 0.8.0'}
2075
+
2076
+ dup@1.0.0:
2077
+ resolution: {integrity: sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==}
2078
+
2079
+ duplexify@3.7.1:
2080
+ resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
2081
+
2082
+ earcut@2.2.4:
2083
+ resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
2084
+
2085
+ earcut@3.2.3:
2086
+ resolution: {integrity: sha512-vnS4AVwp1KHAF13i1vp1/2D5evWy3k5u/iW/B81QVsUZtV8cv2tU0b2VNFlqvh4kYwrFMDdjPCfAmfyJW9y14Q==}
2087
+
2088
  electron-to-chromium@1.5.332:
2089
  resolution: {integrity: sha512-7OOtytmh/rINMLwaFTbcMVvYXO3AUm029X0LcyfYk0B557RlPkdpTpnH9+htMlfu5dKwOmT0+Zs2Aw+lnn6TeQ==}
2090
 
2091
+ elementary-circuits-directed-graph@1.3.1:
2092
+ resolution: {integrity: sha512-ZEiB5qkn2adYmpXGnJKkxT8uJHlW/mxmBpmeqawEHzPxh9HkLD4/1mFYX5l0On+f6rcPIt8/EWlRU2Vo3fX6dQ==}
2093
+
2094
  embla-carousel-react@8.6.0:
2095
  resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==}
2096
  peerDependencies:
 
2104
  embla-carousel@8.6.0:
2105
  resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==}
2106
 
2107
+ end-of-stream@1.4.5:
2108
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
2109
+
2110
  enhanced-resolve@5.20.1:
2111
  resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==}
2112
  engines: {node: '>=10.13.0'}
 
2118
  error-ex@1.3.4:
2119
  resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
2120
 
2121
+ es5-ext@0.10.64:
2122
+ resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
2123
+ engines: {node: '>=0.10'}
2124
+
2125
+ es6-iterator@2.0.3:
2126
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
2127
+
2128
+ es6-symbol@3.1.4:
2129
+ resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
2130
+ engines: {node: '>=0.12'}
2131
+
2132
+ es6-weak-map@2.0.3:
2133
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
2134
+
2135
  esbuild@0.25.12:
2136
  resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
2137
  engines: {node: '>=18'}
 
2149
  resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
2150
  engines: {node: '>=12'}
2151
 
2152
+ escodegen@2.1.0:
2153
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
2154
+ engines: {node: '>=6.0'}
2155
+ hasBin: true
2156
+
2157
+ esniff@2.0.1:
2158
+ resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
2159
+ engines: {node: '>=0.10'}
2160
+
2161
+ esprima@4.0.1:
2162
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
2163
+ engines: {node: '>=4'}
2164
+ hasBin: true
2165
+
2166
+ estraverse@5.3.0:
2167
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
2168
+ engines: {node: '>=4.0'}
2169
+
2170
  estree-util-is-identifier-name@3.0.0:
2171
  resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
2172
 
2173
+ esutils@2.0.3:
2174
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
2175
+ engines: {node: '>=0.10.0'}
2176
+
2177
+ event-emitter@0.3.5:
2178
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
2179
+
2180
  eventemitter3@4.0.7:
2181
  resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
2182
 
2183
+ events@3.3.0:
2184
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
2185
+ engines: {node: '>=0.8.x'}
2186
+
2187
+ ext@1.7.0:
2188
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
2189
+
2190
  extend@3.0.2:
2191
  resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
2192
 
2193
+ falafel@2.2.5:
2194
+ resolution: {integrity: sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==}
2195
+ engines: {node: '>=0.4.0'}
2196
+
2197
  fast-deep-equal@3.1.3:
2198
  resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
2199
 
 
2201
  resolution: {integrity: sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==}
2202
  engines: {node: '>=6.0.0'}
2203
 
2204
+ fast-isnumeric@1.1.4:
2205
+ resolution: {integrity: sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==}
2206
+
2207
  fdir@6.5.0:
2208
  resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
2209
  engines: {node: '>=12.0.0'}
 
2216
  find-root@1.1.0:
2217
  resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
2218
 
2219
+ flatten-vertex-data@1.0.2:
2220
+ resolution: {integrity: sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==}
2221
+
2222
+ font-atlas@2.1.0:
2223
+ resolution: {integrity: sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==}
2224
+
2225
+ font-measure@1.2.2:
2226
+ resolution: {integrity: sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==}
2227
+
2228
  framer-motion@12.38.0:
2229
  resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==}
2230
  peerDependencies:
 
2239
  react-dom:
2240
  optional: true
2241
 
2242
+ from2@2.3.0:
2243
+ resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
2244
+
2245
  fsevents@2.3.3:
2246
  resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
2247
  engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
 
2254
  resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
2255
  engines: {node: '>=6.9.0'}
2256
 
2257
+ geojson-vt@3.2.1:
2258
+ resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==}
2259
+
2260
+ geojson-vt@4.0.3:
2261
+ resolution: {integrity: sha512-jR1MwkLaZGa8Zftct9ZFruyWFrdl9ZyD2OliXNy9Qq5bBPeg5wHVpBQF9p5GjnicSDQqvBVpysxTPKmWdsfWMA==}
2262
+
2263
+ get-canvas-context@1.0.2:
2264
+ resolution: {integrity: sha512-LnpfLf/TNzr9zVOGiIY6aKCz8EKuXmlYNV7CM2pUjBa/B+c2I15tS7KLySep75+FuerJdmArvJLcsAXWEy2H0A==}
2265
+
2266
  get-nonce@1.0.1:
2267
  resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
2268
  engines: {node: '>=6'}
2269
 
2270
+ get-stream@6.0.1:
2271
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
2272
+ engines: {node: '>=10'}
2273
+
2274
+ gl-mat4@1.2.0:
2275
+ resolution: {integrity: sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==}
2276
+
2277
+ gl-matrix@3.4.4:
2278
+ resolution: {integrity: sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==}
2279
+
2280
+ gl-text@1.4.0:
2281
+ resolution: {integrity: sha512-o47+XBqLCj1efmuNyCHt7/UEJmB9l66ql7pnobD6p+sgmBUdzfMZXIF0zD2+KRfpd99DJN+QXdvTFAGCKCVSmQ==}
2282
+
2283
+ gl-util@3.1.3:
2284
+ resolution: {integrity: sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==}
2285
+
2286
+ global-prefix@4.0.0:
2287
+ resolution: {integrity: sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==}
2288
+ engines: {node: '>=16'}
2289
+
2290
+ glsl-inject-defines@1.0.3:
2291
+ resolution: {integrity: sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==}
2292
+
2293
+ glsl-resolve@0.0.1:
2294
+ resolution: {integrity: sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==}
2295
+
2296
+ glsl-token-assignments@2.0.2:
2297
+ resolution: {integrity: sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==}
2298
+
2299
+ glsl-token-defines@1.0.0:
2300
+ resolution: {integrity: sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==}
2301
+
2302
+ glsl-token-depth@1.1.2:
2303
+ resolution: {integrity: sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==}
2304
+
2305
+ glsl-token-descope@1.0.2:
2306
+ resolution: {integrity: sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==}
2307
+
2308
+ glsl-token-inject-block@1.1.0:
2309
+ resolution: {integrity: sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==}
2310
+
2311
+ glsl-token-properties@1.0.1:
2312
+ resolution: {integrity: sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==}
2313
+
2314
+ glsl-token-scope@1.1.2:
2315
+ resolution: {integrity: sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==}
2316
+
2317
+ glsl-token-string@1.0.1:
2318
+ resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==}
2319
+
2320
+ glsl-token-whitespace-trim@1.0.0:
2321
+ resolution: {integrity: sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==}
2322
+
2323
+ glsl-tokenizer@2.1.5:
2324
+ resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
2325
+
2326
+ glslify-bundle@5.1.1:
2327
+ resolution: {integrity: sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==}
2328
+
2329
+ glslify-deps@1.3.2:
2330
+ resolution: {integrity: sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==}
2331
+
2332
+ glslify@7.1.1:
2333
+ resolution: {integrity: sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==}
2334
+ hasBin: true
2335
+
2336
  graceful-fs@4.2.11:
2337
  resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
2338
 
2339
+ grid-index@1.1.0:
2340
+ resolution: {integrity: sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==}
2341
+
2342
+ has-hover@1.0.1:
2343
+ resolution: {integrity: sha512-0G6w7LnlcpyDzpeGUTuT0CEw05+QlMuGVk1IHNAlHrGJITGodjZu3x8BNDUMfKJSZXNB2ZAclqc1bvrd+uUpfg==}
2344
+
2345
+ has-passive-events@1.0.0:
2346
+ resolution: {integrity: sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==}
2347
+
2348
  hasown@2.0.2:
2349
  resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
2350
  engines: {node: '>= 0.4'}
 
2385
  html-url-attributes@3.0.1:
2386
  resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
2387
 
2388
+ iconv-lite@0.4.24:
2389
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
2390
+ engines: {node: '>=0.10.0'}
2391
+
2392
+ ieee754@1.2.1:
2393
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
2394
+
2395
  import-fresh@3.3.1:
2396
  resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
2397
  engines: {node: '>=6'}
2398
 
2399
+ inherits@2.0.4:
2400
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
2401
+
2402
+ ini@4.1.3:
2403
+ resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
2404
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
2405
+
2406
  inline-style-parser@0.2.7:
2407
  resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
2408
 
 
2425
  is-arrayish@0.2.1:
2426
  resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
2427
 
2428
+ is-browser@2.1.0:
2429
+ resolution: {integrity: sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==}
2430
+
2431
  is-core-module@2.16.1:
2432
  resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
2433
  engines: {node: '>= 0.4'}
 
2435
  is-decimal@2.0.1:
2436
  resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
2437
 
2438
+ is-finite@1.1.0:
2439
+ resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==}
2440
+ engines: {node: '>=0.10.0'}
2441
+
2442
+ is-firefox@1.0.3:
2443
+ resolution: {integrity: sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==}
2444
+ engines: {node: '>=0.10.0'}
2445
+
2446
  is-hexadecimal@2.0.1:
2447
  resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
2448
 
2449
+ is-mobile@4.0.0:
2450
+ resolution: {integrity: sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==}
2451
+
2452
+ is-obj@1.0.1:
2453
+ resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
2454
+ engines: {node: '>=0.10.0'}
2455
+
2456
+ is-plain-obj@1.1.0:
2457
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
2458
+ engines: {node: '>=0.10.0'}
2459
+
2460
  is-plain-obj@4.1.0:
2461
  resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
2462
  engines: {node: '>=12'}
2463
 
2464
+ is-string-blank@1.0.1:
2465
+ resolution: {integrity: sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==}
2466
+
2467
+ is-svg-path@1.0.2:
2468
+ resolution: {integrity: sha512-Lj4vePmqpPR1ZnRctHv8ltSh1OrSxHkhUkd7wi+VQdcdP15/KvQFyk7LhNuM7ZW0EVbJz8kZLVmL9quLrfq4Kg==}
2469
+
2470
+ isarray@0.0.1:
2471
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
2472
+
2473
+ isarray@1.0.0:
2474
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
2475
+
2476
+ isarray@2.0.5:
2477
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
2478
+
2479
+ isexe@3.1.5:
2480
+ resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==}
2481
+ engines: {node: '>=18'}
2482
+
2483
  jiti@2.6.1:
2484
  resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
2485
  hasBin: true
 
2495
  json-parse-even-better-errors@2.3.1:
2496
  resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
2497
 
2498
+ json-stringify-pretty-compact@4.0.0:
2499
+ resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==}
2500
+
2501
  json2mq@0.2.0:
2502
  resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==}
2503
 
 
2510
  resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==}
2511
  hasBin: true
2512
 
2513
+ kdbush@3.0.0:
2514
+ resolution: {integrity: sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==}
2515
+
2516
+ kdbush@4.1.0:
2517
+ resolution: {integrity: sha512-e9vurzrXJQrFX6ckpHP3bvj5l+9CnYzkxDNnNQ1h2QTqdWsUAJgXiKdGNcOa1EY85dU8KbQ+z/FdQdB7P+9yfQ==}
2518
+
2519
+ kind-of@6.0.3:
2520
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
2521
+ engines: {node: '>=0.10.0'}
2522
+
2523
  lightningcss-darwin-arm64@1.30.1:
2524
  resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
2525
  engines: {node: '>= 12.0.0'}
 
2590
  lodash.debounce@4.0.8:
2591
  resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
2592
 
2593
+ lodash.merge@4.6.2:
2594
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
2595
+
2596
  lodash@4.18.1:
2597
  resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
2598
 
 
2614
  magic-string@0.30.21:
2615
  resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
2616
 
2617
+ map-limit@0.0.1:
2618
+ resolution: {integrity: sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==}
2619
+
2620
+ mapbox-gl@1.13.3:
2621
+ resolution: {integrity: sha512-p8lJFEiqmEQlyv+DQxFAOG/XPWN0Wp7j/Psq93Zywz7qt9CcUKFYDBOoOEKzqe6gudHVJY8/Bhqw6VDpX2lSBg==}
2622
+ engines: {node: '>=6.4.0'}
2623
+
2624
+ maplibre-gl@4.7.1:
2625
+ resolution: {integrity: sha512-lgL7XpIwsgICiL82ITplfS7IGwrB1OJIw/pCvprDp2dhmSSEBgmPzYRvwYYYvJGJD7fxUv1Tvpih4nZ6VrLuaA==}
2626
+ engines: {node: '>=16.14.0', npm: '>=8.1.0'}
2627
+
2628
  markdown-table@3.0.4:
2629
  resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
2630
 
2631
+ math-log2@1.0.1:
2632
+ resolution: {integrity: sha512-9W0yGtkaMAkf74XGYVy4Dqw3YUMnTNB2eeiw9aQbUl4A3KmuCEHTt2DgAB07ENzOYAjsYSAYufkAq0Zd+jU7zA==}
2633
+ engines: {node: '>=0.10.0'}
2634
+
2635
  mdast-util-find-and-replace@3.0.2:
2636
  resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
2637
 
 
2767
  micromark@4.0.2:
2768
  resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
2769
 
2770
+ minimist@1.2.8:
2771
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
2772
+
2773
  minipass@7.1.3:
2774
  resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
2775
  engines: {node: '>=16 || 14 >=14.17'}
 
2798
  react-dom:
2799
  optional: true
2800
 
2801
+ mouse-event-offset@3.0.2:
2802
+ resolution: {integrity: sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==}
2803
+
2804
+ ms@2.0.0:
2805
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
2806
+
2807
  ms@2.1.3:
2808
  resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
2809
 
2810
+ murmurhash-js@1.0.0:
2811
+ resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==}
2812
+
2813
  nanoid@3.3.11:
2814
  resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
2815
  engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2816
  hasBin: true
2817
 
2818
+ native-promise-only@0.8.1:
2819
+ resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==}
2820
+
2821
+ needle@2.9.1:
2822
+ resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==}
2823
+ engines: {node: '>= 4.4.x'}
2824
+ hasBin: true
2825
+
2826
  next-themes@0.4.6:
2827
  resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
2828
  peerDependencies:
2829
  react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
2830
  react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
2831
 
2832
+ next-tick@1.1.0:
2833
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
2834
+
2835
  node-releases@2.0.37:
2836
  resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==}
2837
 
2838
+ normalize-svg-path@0.1.0:
2839
+ resolution: {integrity: sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA==}
2840
+
2841
+ normalize-svg-path@1.1.0:
2842
+ resolution: {integrity: sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==}
2843
+
2844
+ number-is-integer@1.0.1:
2845
+ resolution: {integrity: sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==}
2846
+ engines: {node: '>=0.10.0'}
2847
+
2848
  object-assign@4.1.1:
2849
  resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2850
  engines: {node: '>=0.10.0'}
2851
 
2852
+ once@1.3.3:
2853
+ resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==}
2854
+
2855
+ once@1.4.0:
2856
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2857
+
2858
  parent-module@1.0.1:
2859
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2860
  engines: {node: '>=6'}
2861
 
2862
+ parenthesis@3.1.8:
2863
+ resolution: {integrity: sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==}
2864
+
2865
  parse-entities@4.0.2:
2866
  resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
2867
 
 
2869
  resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
2870
  engines: {node: '>=8'}
2871
 
2872
+ parse-rect@1.2.0:
2873
+ resolution: {integrity: sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==}
2874
+
2875
+ parse-svg-path@0.1.2:
2876
+ resolution: {integrity: sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==}
2877
+
2878
+ parse-unit@1.0.1:
2879
+ resolution: {integrity: sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==}
2880
+
2881
  parse5@7.3.0:
2882
  resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
2883
 
 
2888
  resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2889
  engines: {node: '>=8'}
2890
 
2891
+ pbf@3.3.0:
2892
+ resolution: {integrity: sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==}
2893
+ hasBin: true
2894
+
2895
+ performance-now@2.1.0:
2896
+ resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
2897
+
2898
+ pick-by-alias@1.2.0:
2899
+ resolution: {integrity: sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==}
2900
+
2901
  picocolors@1.1.1:
2902
  resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
2903
 
 
2905
  resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
2906
  engines: {node: '>=12'}
2907
 
2908
+ plotly.js-dist-min@3.7.0:
2909
+ resolution: {integrity: sha512-IRWNnBJZmKss3URDnicBK2nvt/VTSi/MD1GnUscAYFjwSuN6g/CTde5R1UC0RYtblehj8rkT4BL8r05e/c8j5Q==}
2910
+
2911
+ plotly.js@3.7.0:
2912
+ resolution: {integrity: sha512-r17/w3Ob/E+A1vqN382PV/6Dz+IAxAsxNCpWcnGfGFLqE0M6vPUa+ve7HPhivrl9LMicZg2Fy0U5GbpauHo32A==}
2913
+ engines: {node: '>=18.0.0'}
2914
+
2915
+ point-in-polygon@1.1.0:
2916
+ resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==}
2917
+
2918
+ polybooljs@1.2.2:
2919
+ resolution: {integrity: sha512-ziHW/02J0XuNuUtmidBc6GXE8YohYydp3DWPWXYsd7O721TjcmN+k6ezjdwkDqep+gnWnFY+yqZHvzElra2oCg==}
2920
+
2921
  postcss@8.5.8:
2922
  resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
2923
  engines: {node: ^10 || ^12 || >=14}
2924
 
2925
+ potpack@1.0.2:
2926
+ resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
2927
+
2928
+ potpack@2.1.0:
2929
+ resolution: {integrity: sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==}
2930
+
2931
+ probe-image-size@7.3.0:
2932
+ resolution: {integrity: sha512-7CaDeBwiAbh6ohXsvLbAZhO7wzsZAmaevfxe39qvCwRh8LyaZfDlBGGLU1CCTgrTLtCOdwBBhjOrIHaIIimHfQ==}
2933
+
2934
+ process-nextick-args@2.0.1:
2935
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
2936
+
2937
  prop-types@15.8.1:
2938
  resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2939
 
2940
  property-information@7.1.0:
2941
  resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
2942
 
2943
+ protocol-buffers-schema@3.6.1:
2944
+ resolution: {integrity: sha512-VG2K63Igkiv9p76tk1lilczEK1cT+kCjKtkdhw1dQZV3k3IXJbd3o6Ho8b9zJZaHSnT2hKe4I+ObmX9w6m5SmQ==}
2945
+
2946
+ quickselect@2.0.0:
2947
+ resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
2948
+
2949
+ quickselect@3.0.0:
2950
+ resolution: {integrity: sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==}
2951
+
2952
+ raf@3.4.1:
2953
+ resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==}
2954
+
2955
  react-day-picker@8.10.1:
2956
  resolution: {integrity: sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==}
2957
  peerDependencies:
 
3005
  '@types/react': '>=18'
3006
  react: '>=18'
3007
 
3008
+ react-plotly.js@4.0.0:
3009
+ resolution: {integrity: sha512-spKsIYganLXUOoeiUVzUHby1Ea4kK/UKdNRKlxFRfkcB6HlvO1zguqWIdQKwa2AkE+IuCc8lMSy1zmLA6hcgBg==}
3010
+ engines: {node: '>=18'}
3011
+ peerDependencies:
3012
+ plotly.js: '>=3.0.0'
3013
+ react: ^18.0.0 || ^19.0.0
3014
+
3015
  react-popper@2.3.0:
3016
  resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==}
3017
  peerDependencies:
 
3094
  resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
3095
  engines: {node: '>=0.10.0'}
3096
 
3097
+ readable-stream@1.0.34:
3098
+ resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
3099
+
3100
+ readable-stream@2.3.8:
3101
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
3102
+
3103
  recharts-scale@0.4.5:
3104
  resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==}
3105
 
 
3113
  redux@4.2.1:
3114
  resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==}
3115
 
3116
+ regl-error2d@2.0.12:
3117
+ resolution: {integrity: sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==}
3118
+
3119
+ regl-line2d@3.1.3:
3120
+ resolution: {integrity: sha512-fkgzW+tTn4QUQLpFKsUIE0sgWdCmXAM3ctXcCgoGBZTSX5FE2A0M7aynz7nrZT5baaftLrk9te54B+MEq4QcSA==}
3121
+
3122
+ regl-scatter2d@3.4.0:
3123
+ resolution: {integrity: sha512-DavKQlHsI+iHZuLgOL+yGkg+sPd94CS+7FCBWkcQ6s/TbaNfUsF9eN591fjjSWIoKrGNfb/SEGhsXR5lXjqZ2w==}
3124
+
3125
+ regl-splom@1.0.14:
3126
+ resolution: {integrity: sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==}
3127
+
3128
+ regl@2.1.1:
3129
+ resolution: {integrity: sha512-+IOGrxl3FZ8ZM9ixCWQZzFRiRn7Rzn9bu3iFHwg/yz4tlOUQgbO4PHLgG+1ZT60zcIV8tief6Qrmyl8qcoJP0g==}
3130
+
3131
  rehype-katex@7.0.1:
3132
  resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==}
3133
 
 
3153
  resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
3154
  engines: {node: '>=4'}
3155
 
3156
+ resolve-protobuf-schema@2.1.0:
3157
+ resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==}
3158
+
3159
+ resolve@0.6.3:
3160
+ resolution: {integrity: sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==}
3161
+
3162
  resolve@1.22.11:
3163
  resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
3164
  engines: {node: '>= 0.4'}
 
3169
  engines: {node: '>=18.0.0', npm: '>=8.0.0'}
3170
  hasBin: true
3171
 
3172
+ rw@1.3.3:
3173
+ resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
3174
+
3175
+ safe-buffer@5.1.2:
3176
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
3177
+
3178
+ safe-buffer@5.2.1:
3179
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
3180
+
3181
+ safer-buffer@2.1.2:
3182
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
3183
+
3184
+ sax@1.6.0:
3185
+ resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
3186
+ engines: {node: '>=11.0.0'}
3187
+
3188
  scheduler@0.23.2:
3189
  resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
3190
 
 
3195
  set-cookie-parser@2.7.2:
3196
  resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==}
3197
 
3198
+ shallow-copy@0.0.1:
3199
+ resolution: {integrity: sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==}
3200
+
3201
  sonner@2.0.3:
3202
  resolution: {integrity: sha512-njQ4Hht92m0sMqqHVDL32V2Oun9W1+PHO9NDv9FHfJjT3JT22IG4Jpo3FPQy+mouRKCXFWO+r67v6MrHX2zeIA==}
3203
  peerDependencies:
 
3212
  resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
3213
  engines: {node: '>=0.10.0'}
3214
 
3215
+ source-map@0.6.1:
3216
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
3217
+ engines: {node: '>=0.10.0'}
3218
+
3219
  space-separated-tokens@2.0.2:
3220
  resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
3221
 
3222
+ stack-trace@0.0.9:
3223
+ resolution: {integrity: sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==}
3224
+
3225
+ static-eval@2.1.1:
3226
+ resolution: {integrity: sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==}
3227
+
3228
+ stream-parser@0.3.1:
3229
+ resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==}
3230
+
3231
+ stream-shift@1.0.3:
3232
+ resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
3233
+
3234
+ string-convert@0.2.1:
3235
  resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==}
3236
 
3237
+ string-split-by@1.0.0:
3238
+ resolution: {integrity: sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==}
3239
+
3240
+ string_decoder@0.10.31:
3241
+ resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
3242
+
3243
+ string_decoder@1.1.1:
3244
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
3245
+
3246
  stringify-entities@4.0.4:
3247
  resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
3248
 
3249
+ strongly-connected-components@1.0.1:
3250
+ resolution: {integrity: sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==}
3251
+
3252
  style-to-js@1.1.21:
3253
  resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
3254
 
 
3258
  stylis@4.2.0:
3259
  resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
3260
 
3261
+ supercluster@7.1.5:
3262
+ resolution: {integrity: sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==}
3263
+
3264
+ supercluster@8.0.1:
3265
+ resolution: {integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==}
3266
+
3267
  supports-preserve-symlinks-flag@1.0.0:
3268
  resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
3269
  engines: {node: '>= 0.4'}
3270
 
3271
+ svg-arc-to-cubic-bezier@3.2.0:
3272
+ resolution: {integrity: sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==}
3273
+
3274
+ svg-path-bounds@1.0.2:
3275
+ resolution: {integrity: sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ==}
3276
+
3277
+ svg-path-sdf@1.1.3:
3278
+ resolution: {integrity: sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==}
3279
+
3280
  tailwind-merge@3.2.0:
3281
  resolution: {integrity: sha512-FQT/OVqCD+7edmmJpsgCsY820RTD5AkBryuG5IUqR5YQZSdj5xlH5nLgH7YPths7WsLPSpSBNneJdM8aS8aeFA==}
3282
 
 
3291
  resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==}
3292
  engines: {node: '>=18'}
3293
 
3294
+ through2@0.6.5:
3295
+ resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
3296
+
3297
+ through2@2.0.5:
3298
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
3299
+
3300
  tiny-invariant@1.3.3:
3301
  resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
3302
 
3303
+ tinycolor2@1.6.0:
3304
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
3305
+
3306
  tinyglobby@0.2.15:
3307
  resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
3308
  engines: {node: '>=12.0.0'}
3309
 
3310
+ tinyqueue@2.0.3:
3311
+ resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==}
3312
+
3313
+ tinyqueue@3.0.0:
3314
+ resolution: {integrity: sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==}
3315
+
3316
+ to-float32@1.1.0:
3317
+ resolution: {integrity: sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==}
3318
+
3319
+ to-px@1.1.0:
3320
+ resolution: {integrity: sha512-bfg3GLYrGoEzrGoE05TAL/Uw+H/qrf2ptr9V3W7U0lkjjyYnIfgxmVLUfhQ1hZpIQwin81uxhDjvUkDYsC0xWw==}
3321
+
3322
+ topojson-client@3.1.0:
3323
+ resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==}
3324
+ hasBin: true
3325
+
3326
  trim-lines@3.0.1:
3327
  resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
3328
 
 
3335
  tw-animate-css@1.3.8:
3336
  resolution: {integrity: sha512-Qrk3PZ7l7wUcGYhwZloqfkWCmaXZAoqjkdbIDvzfGshwGtexa/DAs9koXxIkrpEasyevandomzCBAV1Yyop5rw==}
3337
 
3338
+ type@2.7.3:
3339
+ resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
3340
+
3341
+ typedarray-pool@1.2.0:
3342
+ resolution: {integrity: sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==}
3343
+
3344
+ typedarray@0.0.6:
3345
+ resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
3346
+
3347
  unified@11.0.5:
3348
  resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
3349
 
 
3368
  unist-util-visit@5.1.0:
3369
  resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==}
3370
 
3371
+ unquote@1.1.1:
3372
+ resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==}
3373
+
3374
  update-browserslist-db@1.2.3:
3375
  resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
3376
  hasBin: true
3377
  peerDependencies:
3378
  browserslist: '>= 4.21.0'
3379
 
3380
+ update-diff@1.1.0:
3381
+ resolution: {integrity: sha512-rCiBPiHxZwT4+sBhEbChzpO5hYHjm91kScWgdHf4Qeafs6Ba7MBl+d9GlGv72bcTZQO0sLmtQS1pHSWoCLtN/A==}
3382
+
3383
  use-callback-ref@1.3.3:
3384
  resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
3385
  engines: {node: '>=10'}
 
3400
  '@types/react':
3401
  optional: true
3402
 
3403
+ util-deprecate@1.0.2:
3404
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
3405
+
3406
  vaul@1.1.2:
3407
  resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==}
3408
  peerDependencies:
 
3461
  yaml:
3462
  optional: true
3463
 
3464
+ vt-pbf@3.1.3:
3465
+ resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==}
3466
+
3467
  warning@4.0.3:
3468
  resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
3469
 
3470
+ weak-map@1.0.8:
3471
+ resolution: {integrity: sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==}
3472
+
3473
  web-namespaces@2.0.1:
3474
  resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
3475
 
3476
+ webgl-context@2.2.0:
3477
+ resolution: {integrity: sha512-q/fGIivtqTT7PEoF07axFIlHNk/XCPaYpq64btnepopSWvKNFkoORlQYgqDigBIuGA1ExnFd/GnSUnBNEPQY7Q==}
3478
+
3479
+ which@4.0.0:
3480
+ resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
3481
+ engines: {node: ^16.13.0 || >=18.0.0}
3482
+ hasBin: true
3483
+
3484
+ world-calendars@1.0.4:
3485
+ resolution: {integrity: sha512-VGRnLJS+xJmGDPodgJRnGIDwGu0s+Cr9V2HB3EzlDZ5n0qb8h5SJtGUEkjrphZYAglEiXZ6kiXdmk0H/h/uu/w==}
3486
+
3487
+ wrappy@1.0.2:
3488
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
3489
+
3490
+ xtend@2.2.0:
3491
+ resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==}
3492
+ engines: {node: '>=0.4'}
3493
+
3494
+ xtend@4.0.2:
3495
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
3496
+ engines: {node: '>=0.4'}
3497
+
3498
  yallist@3.1.1:
3499
  resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
3500
 
 
3625
  '@babel/helper-string-parser': 7.27.1
3626
  '@babel/helper-validator-identifier': 7.28.5
3627
 
3628
+ '@choojs/findup@0.2.1':
3629
+ dependencies:
3630
+ commander: 2.20.3
3631
+
3632
  '@emotion/babel-plugin@11.13.5':
3633
  dependencies:
3634
  '@babel/helper-module-imports': 7.28.6
 
3830
  '@jridgewell/resolve-uri': 3.1.2
3831
  '@jridgewell/sourcemap-codec': 1.5.5
3832
 
3833
+ '@mapbox/geojson-rewind@0.5.2':
3834
+ dependencies:
3835
+ get-stream: 6.0.1
3836
+ minimist: 1.2.8
3837
+
3838
+ '@mapbox/geojson-types@1.0.2': {}
3839
+
3840
+ '@mapbox/jsonlint-lines-primitives@2.0.3': {}
3841
+
3842
+ '@mapbox/mapbox-gl-supported@1.5.0(mapbox-gl@1.13.3)':
3843
+ dependencies:
3844
+ mapbox-gl: 1.13.3
3845
+
3846
+ '@mapbox/point-geometry@0.1.0': {}
3847
+
3848
+ '@mapbox/tiny-sdf@1.2.5': {}
3849
+
3850
+ '@mapbox/tiny-sdf@2.2.0': {}
3851
+
3852
+ '@mapbox/unitbezier@0.0.0': {}
3853
+
3854
+ '@mapbox/unitbezier@0.0.1': {}
3855
+
3856
+ '@mapbox/vector-tile@1.3.1':
3857
+ dependencies:
3858
+ '@mapbox/point-geometry': 0.1.0
3859
+
3860
+ '@mapbox/whoots-js@3.1.0': {}
3861
+
3862
+ '@maplibre/maplibre-gl-style-spec@20.4.0':
3863
+ dependencies:
3864
+ '@mapbox/jsonlint-lines-primitives': 2.0.3
3865
+ '@mapbox/unitbezier': 0.0.1
3866
+ json-stringify-pretty-compact: 4.0.0
3867
+ minimist: 1.2.8
3868
+ quickselect: 2.0.0
3869
+ rw: 1.3.3
3870
+ tinyqueue: 3.0.0
3871
+
3872
  '@mui/core-downloads-tracker@7.3.9': {}
3873
 
3874
  '@mui/icons-material@7.3.5(@mui/material@7.3.5(@emotion/react@11.14.0(@types/react@19.2.14)(react@18.3.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@18.3.1))(@types/react@19.2.14)(react@18.3.1))(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@19.2.14)(react@18.3.1)':
 
3956
  optionalDependencies:
3957
  '@types/react': 19.2.14
3958
 
3959
+ '@plotly/d3-sankey-circular@0.33.1':
3960
+ dependencies:
3961
+ d3-array: 1.2.4
3962
+ d3-collection: 1.0.7
3963
+ d3-shape: 1.3.7
3964
+ elementary-circuits-directed-graph: 1.3.1
3965
+
3966
+ '@plotly/d3-sankey@0.7.2':
3967
+ dependencies:
3968
+ d3-array: 1.2.4
3969
+ d3-collection: 1.0.7
3970
+ d3-shape: 1.3.7
3971
+
3972
+ '@plotly/d3@3.8.2': {}
3973
+
3974
+ '@plotly/mapbox-gl@1.13.4(mapbox-gl@1.13.3)':
3975
+ dependencies:
3976
+ '@mapbox/geojson-rewind': 0.5.2
3977
+ '@mapbox/geojson-types': 1.0.2
3978
+ '@mapbox/jsonlint-lines-primitives': 2.0.3
3979
+ '@mapbox/mapbox-gl-supported': 1.5.0(mapbox-gl@1.13.3)
3980
+ '@mapbox/point-geometry': 0.1.0
3981
+ '@mapbox/tiny-sdf': 1.2.5
3982
+ '@mapbox/unitbezier': 0.0.0
3983
+ '@mapbox/vector-tile': 1.3.1
3984
+ '@mapbox/whoots-js': 3.1.0
3985
+ csscolorparser: 1.0.3
3986
+ earcut: 2.2.4
3987
+ geojson-vt: 3.2.1
3988
+ gl-matrix: 3.4.4
3989
+ grid-index: 1.1.0
3990
+ murmurhash-js: 1.0.0
3991
+ pbf: 3.3.0
3992
+ potpack: 1.0.2
3993
+ quickselect: 2.0.0
3994
+ rw: 1.3.3
3995
+ supercluster: 7.1.5
3996
+ tinyqueue: 2.0.3
3997
+ vt-pbf: 3.1.3
3998
+ transitivePeerDependencies:
3999
+ - mapbox-gl
4000
+
4001
+ '@plotly/point-cluster@3.1.9':
4002
+ dependencies:
4003
+ array-bounds: 1.0.1
4004
+ binary-search-bounds: 2.0.5
4005
+ clamp: 1.0.1
4006
+ defined: 1.0.1
4007
+ dtype: 2.0.0
4008
+ flatten-vertex-data: 1.0.2
4009
+ is-obj: 1.0.1
4010
+ math-log2: 1.0.1
4011
+ parse-rect: 1.2.0
4012
+ pick-by-alias: 1.2.0
4013
+
4014
+ '@plotly/regl@2.1.2': {}
4015
+
4016
  '@popperjs/core@2.11.8': {}
4017
 
4018
  '@radix-ui/number@1.1.0': {}
 
4804
  tailwindcss: 4.1.12
4805
  vite: 6.3.5(jiti@2.6.1)(lightningcss@1.30.1)
4806
 
4807
+ '@turf/area@7.3.5':
4808
+ dependencies:
4809
+ '@turf/helpers': 7.3.5
4810
+ '@turf/meta': 7.3.5
4811
+ '@types/geojson': 7946.0.16
4812
+ tslib: 2.8.1
4813
+
4814
+ '@turf/bbox@7.3.5':
4815
+ dependencies:
4816
+ '@turf/helpers': 7.3.5
4817
+ '@turf/meta': 7.3.5
4818
+ '@types/geojson': 7946.0.16
4819
+ tslib: 2.8.1
4820
+
4821
+ '@turf/centroid@7.3.5':
4822
+ dependencies:
4823
+ '@turf/helpers': 7.3.5
4824
+ '@turf/meta': 7.3.5
4825
+ '@types/geojson': 7946.0.16
4826
+ tslib: 2.8.1
4827
+
4828
+ '@turf/helpers@7.3.5':
4829
+ dependencies:
4830
+ '@types/geojson': 7946.0.16
4831
+ tslib: 2.8.1
4832
+
4833
+ '@turf/meta@7.3.5':
4834
+ dependencies:
4835
+ '@turf/helpers': 7.3.5
4836
+ '@types/geojson': 7946.0.16
4837
+ tslib: 2.8.1
4838
+
4839
  '@types/babel__core@7.20.5':
4840
  dependencies:
4841
  '@babel/parser': 7.29.2
 
4891
 
4892
  '@types/estree@1.0.8': {}
4893
 
4894
+ '@types/geojson-vt@3.2.5':
4895
+ dependencies:
4896
+ '@types/geojson': 7946.0.16
4897
+
4898
+ '@types/geojson@7946.0.16': {}
4899
+
4900
  '@types/hast@3.0.4':
4901
  dependencies:
4902
  '@types/unist': 3.0.3
4903
 
4904
  '@types/katex@0.16.8': {}
4905
 
4906
+ '@types/mapbox__point-geometry@0.1.4': {}
4907
+
4908
+ '@types/mapbox__vector-tile@1.3.4':
4909
+ dependencies:
4910
+ '@types/geojson': 7946.0.16
4911
+ '@types/mapbox__point-geometry': 0.1.4
4912
+ '@types/pbf': 3.0.5
4913
+
4914
  '@types/mdast@4.0.4':
4915
  dependencies:
4916
  '@types/unist': 3.0.3
 
4919
 
4920
  '@types/parse-json@4.0.2': {}
4921
 
4922
+ '@types/pbf@3.0.5': {}
4923
+
4924
+ '@types/plotly.js@3.0.10': {}
4925
+
4926
  '@types/prop-types@15.7.15': {}
4927
 
4928
+ '@types/react-plotly.js@2.6.4':
4929
+ dependencies:
4930
+ '@types/plotly.js': 3.0.10
4931
+ '@types/react': 19.2.14
4932
+
4933
  '@types/react-transition-group@4.4.12(@types/react@19.2.14)':
4934
  dependencies:
4935
  '@types/react': 19.2.14
 
4938
  dependencies:
4939
  csstype: 3.2.3
4940
 
4941
+ '@types/supercluster@7.1.3':
4942
+ dependencies:
4943
+ '@types/geojson': 7946.0.16
4944
+
4945
  '@types/unist@2.0.11': {}
4946
 
4947
  '@types/unist@3.0.3': {}
 
4960
  transitivePeerDependencies:
4961
  - supports-color
4962
 
4963
+ abs-svg-path@0.1.1: {}
4964
+
4965
+ acorn@7.4.1: {}
4966
+
4967
  aria-hidden@1.2.6:
4968
  dependencies:
4969
  tslib: 2.8.1
4970
 
4971
+ array-bounds@1.0.1: {}
4972
+
4973
+ array-find-index@1.0.2: {}
4974
+
4975
+ array-normalize@1.1.4:
4976
+ dependencies:
4977
+ array-bounds: 1.0.1
4978
+
4979
+ array-range@1.0.1: {}
4980
+
4981
  babel-plugin-macros@3.1.0:
4982
  dependencies:
4983
  '@babel/runtime': 7.29.2
 
4986
 
4987
  bail@2.0.2: {}
4988
 
4989
+ base64-arraybuffer@1.0.2: {}
4990
+
4991
  baseline-browser-mapping@2.10.16: {}
4992
 
4993
+ binary-search-bounds@2.0.5: {}
4994
+
4995
+ bit-twiddle@1.0.2: {}
4996
+
4997
+ bitmap-sdf@1.0.4: {}
4998
+
4999
+ bl@2.2.1:
5000
+ dependencies:
5001
+ readable-stream: 2.3.8
5002
+ safe-buffer: 5.2.1
5003
+
5004
  browserslist@4.28.2:
5005
  dependencies:
5006
  baseline-browser-mapping: 2.10.16
 
5009
  node-releases: 2.0.37
5010
  update-browserslist-db: 1.2.3(browserslist@4.28.2)
5011
 
5012
+ buffer-from@1.1.2: {}
5013
+
5014
  callsites@3.1.0: {}
5015
 
5016
  caniuse-lite@1.0.30001786: {}
 
5029
 
5030
  chownr@3.0.0: {}
5031
 
5032
+ clamp@1.0.1: {}
5033
+
5034
  class-variance-authority@0.7.1:
5035
  dependencies:
5036
  clsx: 2.1.1
 
5051
  - '@types/react'
5052
  - '@types/react-dom'
5053
 
5054
+ color-alpha@1.1.3:
5055
+ dependencies:
5056
+ color-parse: 1.4.3
5057
+
5058
+ color-id@1.1.0:
5059
+ dependencies:
5060
+ clamp: 1.0.1
5061
+
5062
+ color-name@1.1.4: {}
5063
+
5064
+ color-name@2.1.0: {}
5065
+
5066
+ color-normalize@1.5.0:
5067
+ dependencies:
5068
+ clamp: 1.0.1
5069
+ color-rgba: 2.4.0
5070
+ dtype: 2.0.0
5071
+
5072
+ color-parse@1.4.3:
5073
+ dependencies:
5074
+ color-name: 1.1.4
5075
+
5076
+ color-parse@2.0.2:
5077
+ dependencies:
5078
+ color-name: 2.1.0
5079
+
5080
+ color-rgba@2.4.0:
5081
+ dependencies:
5082
+ color-parse: 1.4.3
5083
+ color-space: 2.3.2
5084
+
5085
+ color-rgba@3.0.0:
5086
+ dependencies:
5087
+ color-parse: 2.0.2
5088
+ color-space: 2.3.2
5089
+
5090
+ color-space@2.3.2: {}
5091
+
5092
  comma-separated-tokens@2.0.3: {}
5093
 
5094
+ commander@2.20.3: {}
5095
+
5096
  commander@8.3.0: {}
5097
 
5098
+ concat-stream@1.6.2:
5099
+ dependencies:
5100
+ buffer-from: 1.1.2
5101
+ inherits: 2.0.4
5102
+ readable-stream: 2.3.8
5103
+ typedarray: 0.0.6
5104
+
5105
  convert-source-map@1.9.0: {}
5106
 
5107
  convert-source-map@2.0.0: {}
5108
 
5109
  cookie@1.1.1: {}
5110
 
5111
+ core-util-is@1.0.3: {}
5112
+
5113
  cosmiconfig@7.1.0:
5114
  dependencies:
5115
  '@types/parse-json': 4.0.2
 
5118
  path-type: 4.0.0
5119
  yaml: 1.10.3
5120
 
5121
+ country-regex@1.1.0: {}
5122
+
5123
+ css-font-size-keywords@1.0.0: {}
5124
+
5125
+ css-font-stretch-keywords@1.0.1: {}
5126
+
5127
+ css-font-style-keywords@1.0.1: {}
5128
+
5129
+ css-font-weight-keywords@1.0.0: {}
5130
+
5131
+ css-font@1.2.0:
5132
+ dependencies:
5133
+ css-font-size-keywords: 1.0.0
5134
+ css-font-stretch-keywords: 1.0.1
5135
+ css-font-style-keywords: 1.0.1
5136
+ css-font-weight-keywords: 1.0.0
5137
+ css-global-keywords: 1.0.1
5138
+ css-system-font-keywords: 1.0.0
5139
+ pick-by-alias: 1.2.0
5140
+ string-split-by: 1.0.0
5141
+ unquote: 1.1.1
5142
+
5143
+ css-global-keywords@1.0.1: {}
5144
+
5145
+ css-system-font-keywords@1.0.0: {}
5146
+
5147
+ csscolorparser@1.0.3: {}
5148
+
5149
  csstype@3.2.3: {}
5150
 
5151
+ d3-array@1.2.4: {}
5152
+
5153
  d3-array@3.2.4:
5154
  dependencies:
5155
  internmap: 2.0.3
5156
 
5157
+ d3-collection@1.0.7: {}
5158
+
5159
  d3-color@3.1.0: {}
5160
 
5161
+ d3-dispatch@1.0.6: {}
5162
+
5163
  d3-ease@3.0.1: {}
5164
 
5165
+ d3-force@1.2.1:
5166
+ dependencies:
5167
+ d3-collection: 1.0.7
5168
+ d3-dispatch: 1.0.6
5169
+ d3-quadtree: 1.0.7
5170
+ d3-timer: 1.0.10
5171
+
5172
+ d3-format@1.4.5: {}
5173
+
5174
  d3-format@3.1.2: {}
5175
 
5176
+ d3-geo-projection@2.9.0:
5177
+ dependencies:
5178
+ commander: 2.20.3
5179
+ d3-array: 1.2.4
5180
+ d3-geo: 1.12.1
5181
+ resolve: 1.22.11
5182
+
5183
+ d3-geo@1.12.1:
5184
+ dependencies:
5185
+ d3-array: 1.2.4
5186
+
5187
+ d3-hierarchy@1.1.9: {}
5188
+
5189
  d3-interpolate@3.0.1:
5190
  dependencies:
5191
  d3-color: 3.1.0
5192
 
5193
+ d3-path@1.0.9: {}
5194
+
5195
  d3-path@3.1.0: {}
5196
 
5197
+ d3-quadtree@1.0.7: {}
5198
+
5199
  d3-scale@4.0.2:
5200
  dependencies:
5201
  d3-array: 3.2.4
 
5204
  d3-time: 3.1.0
5205
  d3-time-format: 4.1.0
5206
 
5207
+ d3-shape@1.3.7:
5208
+ dependencies:
5209
+ d3-path: 1.0.9
5210
+
5211
  d3-shape@3.2.0:
5212
  dependencies:
5213
  d3-path: 3.1.0
5214
 
5215
+ d3-time-format@2.3.0:
5216
+ dependencies:
5217
+ d3-time: 1.1.0
5218
+
5219
  d3-time-format@4.1.0:
5220
  dependencies:
5221
  d3-time: 3.1.0
5222
 
5223
+ d3-time@1.1.0: {}
5224
+
5225
  d3-time@3.1.0:
5226
  dependencies:
5227
  d3-array: 3.2.4
5228
 
5229
+ d3-timer@1.0.10: {}
5230
+
5231
  d3-timer@3.0.1: {}
5232
 
5233
+ d@1.0.2:
5234
+ dependencies:
5235
+ es5-ext: 0.10.64
5236
+ type: 2.7.3
5237
+
5238
  date-fns@3.6.0: {}
5239
 
5240
+ debug@2.6.9:
5241
+ dependencies:
5242
+ ms: 2.0.0
5243
+
5244
+ debug@3.2.7:
5245
+ dependencies:
5246
+ ms: 2.1.3
5247
+
5248
  debug@4.4.3:
5249
  dependencies:
5250
  ms: 2.1.3
 
5255
  dependencies:
5256
  character-entities: 2.0.2
5257
 
5258
+ defined@1.0.1: {}
5259
+
5260
  dequal@2.0.3: {}
5261
 
5262
+ detect-kerning@2.1.2: {}
5263
+
5264
  detect-libc@2.1.2: {}
5265
 
5266
  detect-node-es@1.1.0: {}
 
5280
  '@babel/runtime': 7.29.2
5281
  csstype: 3.2.3
5282
 
5283
+ draw-svg-path@1.0.0:
5284
+ dependencies:
5285
+ abs-svg-path: 0.1.1
5286
+ normalize-svg-path: 0.1.0
5287
+
5288
+ dtype@2.0.0: {}
5289
+
5290
+ dup@1.0.0: {}
5291
+
5292
+ duplexify@3.7.1:
5293
+ dependencies:
5294
+ end-of-stream: 1.4.5
5295
+ inherits: 2.0.4
5296
+ readable-stream: 2.3.8
5297
+ stream-shift: 1.0.3
5298
+
5299
+ earcut@2.2.4: {}
5300
+
5301
+ earcut@3.2.3: {}
5302
+
5303
  electron-to-chromium@1.5.332: {}
5304
 
5305
+ elementary-circuits-directed-graph@1.3.1:
5306
+ dependencies:
5307
+ strongly-connected-components: 1.0.1
5308
+
5309
  embla-carousel-react@8.6.0(react@18.3.1):
5310
  dependencies:
5311
  embla-carousel: 8.6.0
 
5318
 
5319
  embla-carousel@8.6.0: {}
5320
 
5321
+ end-of-stream@1.4.5:
5322
+ dependencies:
5323
+ once: 1.4.0
5324
+
5325
  enhanced-resolve@5.20.1:
5326
  dependencies:
5327
  graceful-fs: 4.2.11
 
5333
  dependencies:
5334
  is-arrayish: 0.2.1
5335
 
5336
+ es5-ext@0.10.64:
5337
+ dependencies:
5338
+ es6-iterator: 2.0.3
5339
+ es6-symbol: 3.1.4
5340
+ esniff: 2.0.1
5341
+ next-tick: 1.1.0
5342
+
5343
+ es6-iterator@2.0.3:
5344
+ dependencies:
5345
+ d: 1.0.2
5346
+ es5-ext: 0.10.64
5347
+ es6-symbol: 3.1.4
5348
+
5349
+ es6-symbol@3.1.4:
5350
+ dependencies:
5351
+ d: 1.0.2
5352
+ ext: 1.7.0
5353
+
5354
+ es6-weak-map@2.0.3:
5355
+ dependencies:
5356
+ d: 1.0.2
5357
+ es5-ext: 0.10.64
5358
+ es6-iterator: 2.0.3
5359
+ es6-symbol: 3.1.4
5360
+
5361
  esbuild@0.25.12:
5362
  optionalDependencies:
5363
  '@esbuild/aix-ppc64': 0.25.12
 
5393
 
5394
  escape-string-regexp@5.0.0: {}
5395
 
5396
+ escodegen@2.1.0:
5397
+ dependencies:
5398
+ esprima: 4.0.1
5399
+ estraverse: 5.3.0
5400
+ esutils: 2.0.3
5401
+ optionalDependencies:
5402
+ source-map: 0.6.1
5403
+
5404
+ esniff@2.0.1:
5405
+ dependencies:
5406
+ d: 1.0.2
5407
+ es5-ext: 0.10.64
5408
+ event-emitter: 0.3.5
5409
+ type: 2.7.3
5410
+
5411
+ esprima@4.0.1: {}
5412
+
5413
+ estraverse@5.3.0: {}
5414
+
5415
  estree-util-is-identifier-name@3.0.0: {}
5416
 
5417
+ esutils@2.0.3: {}
5418
+
5419
+ event-emitter@0.3.5:
5420
+ dependencies:
5421
+ d: 1.0.2
5422
+ es5-ext: 0.10.64
5423
+
5424
  eventemitter3@4.0.7: {}
5425
 
5426
+ events@3.3.0: {}
5427
+
5428
+ ext@1.7.0:
5429
+ dependencies:
5430
+ type: 2.7.3
5431
+
5432
  extend@3.0.2: {}
5433
 
5434
+ falafel@2.2.5:
5435
+ dependencies:
5436
+ acorn: 7.4.1
5437
+ isarray: 2.0.5
5438
+
5439
  fast-deep-equal@3.1.3: {}
5440
 
5441
  fast-equals@5.4.0: {}
5442
 
5443
+ fast-isnumeric@1.1.4:
5444
+ dependencies:
5445
+ is-string-blank: 1.0.1
5446
+
5447
  fdir@6.5.0(picomatch@4.0.4):
5448
  optionalDependencies:
5449
  picomatch: 4.0.4
5450
 
5451
  find-root@1.1.0: {}
5452
 
5453
+ flatten-vertex-data@1.0.2:
5454
+ dependencies:
5455
+ dtype: 2.0.0
5456
+
5457
+ font-atlas@2.1.0:
5458
+ dependencies:
5459
+ css-font: 1.2.0
5460
+
5461
+ font-measure@1.2.2:
5462
+ dependencies:
5463
+ css-font: 1.2.0
5464
+
5465
  framer-motion@12.38.0(@emotion/is-prop-valid@1.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
5466
  dependencies:
5467
  motion-dom: 12.38.0
 
5472
  react: 18.3.1
5473
  react-dom: 18.3.1(react@18.3.1)
5474
 
5475
+ from2@2.3.0:
5476
+ dependencies:
5477
+ inherits: 2.0.4
5478
+ readable-stream: 2.3.8
5479
+
5480
  fsevents@2.3.3:
5481
  optional: true
5482
 
 
5484
 
5485
  gensync@1.0.0-beta.2: {}
5486
 
5487
+ geojson-vt@3.2.1: {}
5488
+
5489
+ geojson-vt@4.0.3: {}
5490
+
5491
+ get-canvas-context@1.0.2: {}
5492
+
5493
  get-nonce@1.0.1: {}
5494
 
5495
+ get-stream@6.0.1: {}
5496
+
5497
+ gl-mat4@1.2.0: {}
5498
+
5499
+ gl-matrix@3.4.4: {}
5500
+
5501
+ gl-text@1.4.0:
5502
+ dependencies:
5503
+ bit-twiddle: 1.0.2
5504
+ color-normalize: 1.5.0
5505
+ css-font: 1.2.0
5506
+ detect-kerning: 2.1.2
5507
+ es6-weak-map: 2.0.3
5508
+ flatten-vertex-data: 1.0.2
5509
+ font-atlas: 2.1.0
5510
+ font-measure: 1.2.2
5511
+ gl-util: 3.1.3
5512
+ is-plain-obj: 1.1.0
5513
+ object-assign: 4.1.1
5514
+ parse-rect: 1.2.0
5515
+ parse-unit: 1.0.1
5516
+ pick-by-alias: 1.2.0
5517
+ regl: 2.1.1
5518
+ to-px: 1.1.0
5519
+ typedarray-pool: 1.2.0
5520
+
5521
+ gl-util@3.1.3:
5522
+ dependencies:
5523
+ is-browser: 2.1.0
5524
+ is-firefox: 1.0.3
5525
+ is-plain-obj: 1.1.0
5526
+ number-is-integer: 1.0.1
5527
+ object-assign: 4.1.1
5528
+ pick-by-alias: 1.2.0
5529
+ weak-map: 1.0.8
5530
+
5531
+ global-prefix@4.0.0:
5532
+ dependencies:
5533
+ ini: 4.1.3
5534
+ kind-of: 6.0.3
5535
+ which: 4.0.0
5536
+
5537
+ glsl-inject-defines@1.0.3:
5538
+ dependencies:
5539
+ glsl-token-inject-block: 1.1.0
5540
+ glsl-token-string: 1.0.1
5541
+ glsl-tokenizer: 2.1.5
5542
+
5543
+ glsl-resolve@0.0.1:
5544
+ dependencies:
5545
+ resolve: 0.6.3
5546
+ xtend: 2.2.0
5547
+
5548
+ glsl-token-assignments@2.0.2: {}
5549
+
5550
+ glsl-token-defines@1.0.0:
5551
+ dependencies:
5552
+ glsl-tokenizer: 2.1.5
5553
+
5554
+ glsl-token-depth@1.1.2: {}
5555
+
5556
+ glsl-token-descope@1.0.2:
5557
+ dependencies:
5558
+ glsl-token-assignments: 2.0.2
5559
+ glsl-token-depth: 1.1.2
5560
+ glsl-token-properties: 1.0.1
5561
+ glsl-token-scope: 1.1.2
5562
+
5563
+ glsl-token-inject-block@1.1.0: {}
5564
+
5565
+ glsl-token-properties@1.0.1: {}
5566
+
5567
+ glsl-token-scope@1.1.2: {}
5568
+
5569
+ glsl-token-string@1.0.1: {}
5570
+
5571
+ glsl-token-whitespace-trim@1.0.0: {}
5572
+
5573
+ glsl-tokenizer@2.1.5:
5574
+ dependencies:
5575
+ through2: 0.6.5
5576
+
5577
+ glslify-bundle@5.1.1:
5578
+ dependencies:
5579
+ glsl-inject-defines: 1.0.3
5580
+ glsl-token-defines: 1.0.0
5581
+ glsl-token-depth: 1.1.2
5582
+ glsl-token-descope: 1.0.2
5583
+ glsl-token-scope: 1.1.2
5584
+ glsl-token-string: 1.0.1
5585
+ glsl-token-whitespace-trim: 1.0.0
5586
+ glsl-tokenizer: 2.1.5
5587
+ murmurhash-js: 1.0.0
5588
+ shallow-copy: 0.0.1
5589
+
5590
+ glslify-deps@1.3.2:
5591
+ dependencies:
5592
+ '@choojs/findup': 0.2.1
5593
+ events: 3.3.0
5594
+ glsl-resolve: 0.0.1
5595
+ glsl-tokenizer: 2.1.5
5596
+ graceful-fs: 4.2.11
5597
+ inherits: 2.0.4
5598
+ map-limit: 0.0.1
5599
+ resolve: 1.22.11
5600
+
5601
+ glslify@7.1.1:
5602
+ dependencies:
5603
+ bl: 2.2.1
5604
+ concat-stream: 1.6.2
5605
+ duplexify: 3.7.1
5606
+ falafel: 2.2.5
5607
+ from2: 2.3.0
5608
+ glsl-resolve: 0.0.1
5609
+ glsl-token-whitespace-trim: 1.0.0
5610
+ glslify-bundle: 5.1.1
5611
+ glslify-deps: 1.3.2
5612
+ minimist: 1.2.8
5613
+ resolve: 1.22.11
5614
+ stack-trace: 0.0.9
5615
+ static-eval: 2.1.1
5616
+ through2: 2.0.5
5617
+ xtend: 4.0.2
5618
+
5619
  graceful-fs@4.2.11: {}
5620
 
5621
+ grid-index@1.1.0: {}
5622
+
5623
+ has-hover@1.0.1:
5624
+ dependencies:
5625
+ is-browser: 2.1.0
5626
+
5627
+ has-passive-events@1.0.0:
5628
+ dependencies:
5629
+ is-browser: 2.1.0
5630
+
5631
  hasown@2.0.2:
5632
  dependencies:
5633
  function-bind: 1.1.2
 
5718
 
5719
  html-url-attributes@3.0.1: {}
5720
 
5721
+ iconv-lite@0.4.24:
5722
+ dependencies:
5723
+ safer-buffer: 2.1.2
5724
+
5725
+ ieee754@1.2.1: {}
5726
+
5727
  import-fresh@3.3.1:
5728
  dependencies:
5729
  parent-module: 1.0.1
5730
  resolve-from: 4.0.0
5731
 
5732
+ inherits@2.0.4: {}
5733
+
5734
+ ini@4.1.3: {}
5735
+
5736
  inline-style-parser@0.2.7: {}
5737
 
5738
  input-otp@1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
 
5751
 
5752
  is-arrayish@0.2.1: {}
5753
 
5754
+ is-browser@2.1.0: {}
5755
+
5756
  is-core-module@2.16.1:
5757
  dependencies:
5758
  hasown: 2.0.2
5759
 
5760
  is-decimal@2.0.1: {}
5761
 
5762
+ is-finite@1.1.0: {}
5763
+
5764
+ is-firefox@1.0.3: {}
5765
+
5766
  is-hexadecimal@2.0.1: {}
5767
 
5768
+ is-mobile@4.0.0: {}
5769
+
5770
+ is-obj@1.0.1: {}
5771
+
5772
+ is-plain-obj@1.1.0: {}
5773
+
5774
  is-plain-obj@4.1.0: {}
5775
 
5776
+ is-string-blank@1.0.1: {}
5777
+
5778
+ is-svg-path@1.0.2: {}
5779
+
5780
+ isarray@0.0.1: {}
5781
+
5782
+ isarray@1.0.0: {}
5783
+
5784
+ isarray@2.0.5: {}
5785
+
5786
+ isexe@3.1.5: {}
5787
+
5788
  jiti@2.6.1: {}
5789
 
5790
  js-tokens@4.0.0: {}
 
5793
 
5794
  json-parse-even-better-errors@2.3.1: {}
5795
 
5796
+ json-stringify-pretty-compact@4.0.0: {}
5797
+
5798
  json2mq@0.2.0:
5799
  dependencies:
5800
  string-convert: 0.2.1
 
5805
  dependencies:
5806
  commander: 8.3.0
5807
 
5808
+ kdbush@3.0.0: {}
5809
+
5810
+ kdbush@4.1.0: {}
5811
+
5812
+ kind-of@6.0.3: {}
5813
+
5814
  lightningcss-darwin-arm64@1.30.1:
5815
  optional: true
5816
 
 
5860
 
5861
  lodash.debounce@4.0.8: {}
5862
 
5863
+ lodash.merge@4.6.2: {}
5864
+
5865
  lodash@4.18.1: {}
5866
 
5867
  longest-streak@3.1.0: {}
 
5882
  dependencies:
5883
  '@jridgewell/sourcemap-codec': 1.5.5
5884
 
5885
+ map-limit@0.0.1:
5886
+ dependencies:
5887
+ once: 1.3.3
5888
+
5889
+ mapbox-gl@1.13.3:
5890
+ dependencies:
5891
+ '@mapbox/geojson-rewind': 0.5.2
5892
+ '@mapbox/geojson-types': 1.0.2
5893
+ '@mapbox/jsonlint-lines-primitives': 2.0.3
5894
+ '@mapbox/mapbox-gl-supported': 1.5.0(mapbox-gl@1.13.3)
5895
+ '@mapbox/point-geometry': 0.1.0
5896
+ '@mapbox/tiny-sdf': 1.2.5
5897
+ '@mapbox/unitbezier': 0.0.0
5898
+ '@mapbox/vector-tile': 1.3.1
5899
+ '@mapbox/whoots-js': 3.1.0
5900
+ csscolorparser: 1.0.3
5901
+ earcut: 2.2.4
5902
+ geojson-vt: 3.2.1
5903
+ gl-matrix: 3.4.4
5904
+ grid-index: 1.1.0
5905
+ murmurhash-js: 1.0.0
5906
+ pbf: 3.3.0
5907
+ potpack: 1.0.2
5908
+ quickselect: 2.0.0
5909
+ rw: 1.3.3
5910
+ supercluster: 7.1.5
5911
+ tinyqueue: 2.0.3
5912
+ vt-pbf: 3.1.3
5913
+
5914
+ maplibre-gl@4.7.1:
5915
+ dependencies:
5916
+ '@mapbox/geojson-rewind': 0.5.2
5917
+ '@mapbox/jsonlint-lines-primitives': 2.0.3
5918
+ '@mapbox/point-geometry': 0.1.0
5919
+ '@mapbox/tiny-sdf': 2.2.0
5920
+ '@mapbox/unitbezier': 0.0.1
5921
+ '@mapbox/vector-tile': 1.3.1
5922
+ '@mapbox/whoots-js': 3.1.0
5923
+ '@maplibre/maplibre-gl-style-spec': 20.4.0
5924
+ '@types/geojson': 7946.0.16
5925
+ '@types/geojson-vt': 3.2.5
5926
+ '@types/mapbox__point-geometry': 0.1.4
5927
+ '@types/mapbox__vector-tile': 1.3.4
5928
+ '@types/pbf': 3.0.5
5929
+ '@types/supercluster': 7.1.3
5930
+ earcut: 3.2.3
5931
+ geojson-vt: 4.0.3
5932
+ gl-matrix: 3.4.4
5933
+ global-prefix: 4.0.0
5934
+ kdbush: 4.1.0
5935
+ murmurhash-js: 1.0.0
5936
+ pbf: 3.3.0
5937
+ potpack: 2.1.0
5938
+ quickselect: 3.0.0
5939
+ supercluster: 8.0.1
5940
+ tinyqueue: 3.0.0
5941
+ vt-pbf: 3.1.3
5942
+
5943
  markdown-table@3.0.4: {}
5944
 
5945
+ math-log2@1.0.1: {}
5946
+
5947
  mdast-util-find-and-replace@3.0.2:
5948
  dependencies:
5949
  '@types/mdast': 4.0.4
 
6310
  transitivePeerDependencies:
6311
  - supports-color
6312
 
6313
+ minimist@1.2.8: {}
6314
+
6315
  minipass@7.1.3: {}
6316
 
6317
  minizlib@3.1.0:
 
6333
  react: 18.3.1
6334
  react-dom: 18.3.1(react@18.3.1)
6335
 
6336
+ mouse-event-offset@3.0.2: {}
6337
+
6338
+ ms@2.0.0: {}
6339
+
6340
  ms@2.1.3: {}
6341
 
6342
+ murmurhash-js@1.0.0: {}
6343
+
6344
  nanoid@3.3.11: {}
6345
 
6346
+ native-promise-only@0.8.1: {}
6347
+
6348
+ needle@2.9.1:
6349
+ dependencies:
6350
+ debug: 3.2.7
6351
+ iconv-lite: 0.4.24
6352
+ sax: 1.6.0
6353
+ transitivePeerDependencies:
6354
+ - supports-color
6355
+
6356
  next-themes@0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
6357
  dependencies:
6358
  react: 18.3.1
6359
  react-dom: 18.3.1(react@18.3.1)
6360
 
6361
+ next-tick@1.1.0: {}
6362
+
6363
  node-releases@2.0.37: {}
6364
 
6365
+ normalize-svg-path@0.1.0: {}
6366
+
6367
+ normalize-svg-path@1.1.0:
6368
+ dependencies:
6369
+ svg-arc-to-cubic-bezier: 3.2.0
6370
+
6371
+ number-is-integer@1.0.1:
6372
+ dependencies:
6373
+ is-finite: 1.1.0
6374
+
6375
  object-assign@4.1.1: {}
6376
 
6377
+ once@1.3.3:
6378
+ dependencies:
6379
+ wrappy: 1.0.2
6380
+
6381
+ once@1.4.0:
6382
+ dependencies:
6383
+ wrappy: 1.0.2
6384
+
6385
  parent-module@1.0.1:
6386
  dependencies:
6387
  callsites: 3.1.0
6388
 
6389
+ parenthesis@3.1.8: {}
6390
+
6391
  parse-entities@4.0.2:
6392
  dependencies:
6393
  '@types/unist': 2.0.11
 
6405
  json-parse-even-better-errors: 2.3.1
6406
  lines-and-columns: 1.2.4
6407
 
6408
+ parse-rect@1.2.0:
6409
+ dependencies:
6410
+ pick-by-alias: 1.2.0
6411
+
6412
+ parse-svg-path@0.1.2: {}
6413
+
6414
+ parse-unit@1.0.1: {}
6415
+
6416
  parse5@7.3.0:
6417
  dependencies:
6418
  entities: 6.0.1
 
6421
 
6422
  path-type@4.0.0: {}
6423
 
6424
+ pbf@3.3.0:
6425
+ dependencies:
6426
+ ieee754: 1.2.1
6427
+ resolve-protobuf-schema: 2.1.0
6428
+
6429
+ performance-now@2.1.0: {}
6430
+
6431
+ pick-by-alias@1.2.0: {}
6432
+
6433
  picocolors@1.1.1: {}
6434
 
6435
  picomatch@4.0.4: {}
6436
 
6437
+ plotly.js-dist-min@3.7.0: {}
6438
+
6439
+ plotly.js@3.7.0(mapbox-gl@1.13.3):
6440
+ dependencies:
6441
+ '@plotly/d3': 3.8.2
6442
+ '@plotly/d3-sankey': 0.7.2
6443
+ '@plotly/d3-sankey-circular': 0.33.1
6444
+ '@plotly/mapbox-gl': 1.13.4(mapbox-gl@1.13.3)
6445
+ '@plotly/regl': 2.1.2
6446
+ '@turf/area': 7.3.5
6447
+ '@turf/bbox': 7.3.5
6448
+ '@turf/centroid': 7.3.5
6449
+ base64-arraybuffer: 1.0.2
6450
+ color-normalize: 1.5.0
6451
+ color-rgba: 3.0.0
6452
+ country-regex: 1.1.0
6453
+ d3-force: 1.2.1
6454
+ d3-format: 1.4.5
6455
+ d3-geo: 1.12.1
6456
+ d3-geo-projection: 2.9.0
6457
+ d3-hierarchy: 1.1.9
6458
+ d3-interpolate: 3.0.1
6459
+ d3-time: 1.1.0
6460
+ d3-time-format: 2.3.0
6461
+ fast-isnumeric: 1.1.4
6462
+ gl-mat4: 1.2.0
6463
+ gl-text: 1.4.0
6464
+ has-hover: 1.0.1
6465
+ has-passive-events: 1.0.0
6466
+ is-mobile: 4.0.0
6467
+ maplibre-gl: 4.7.1
6468
+ mouse-event-offset: 3.0.2
6469
+ native-promise-only: 0.8.1
6470
+ parse-svg-path: 0.1.2
6471
+ point-in-polygon: 1.1.0
6472
+ polybooljs: 1.2.2
6473
+ probe-image-size: 7.3.0
6474
+ regl-error2d: 2.0.12
6475
+ regl-line2d: 3.1.3
6476
+ regl-scatter2d: 3.4.0
6477
+ regl-splom: 1.0.14
6478
+ strongly-connected-components: 1.0.1
6479
+ svg-path-sdf: 1.1.3
6480
+ tinycolor2: 1.6.0
6481
+ topojson-client: 3.1.0
6482
+ webgl-context: 2.2.0
6483
+ world-calendars: 1.0.4
6484
+ transitivePeerDependencies:
6485
+ - mapbox-gl
6486
+ - supports-color
6487
+
6488
+ point-in-polygon@1.1.0: {}
6489
+
6490
+ polybooljs@1.2.2: {}
6491
+
6492
  postcss@8.5.8:
6493
  dependencies:
6494
  nanoid: 3.3.11
6495
  picocolors: 1.1.1
6496
  source-map-js: 1.2.1
6497
 
6498
+ potpack@1.0.2: {}
6499
+
6500
+ potpack@2.1.0: {}
6501
+
6502
+ probe-image-size@7.3.0:
6503
+ dependencies:
6504
+ lodash.merge: 4.6.2
6505
+ needle: 2.9.1
6506
+ stream-parser: 0.3.1
6507
+ transitivePeerDependencies:
6508
+ - supports-color
6509
+
6510
+ process-nextick-args@2.0.1: {}
6511
+
6512
  prop-types@15.8.1:
6513
  dependencies:
6514
  loose-envify: 1.4.0
 
6517
 
6518
  property-information@7.1.0: {}
6519
 
6520
+ protocol-buffers-schema@3.6.1: {}
6521
+
6522
+ quickselect@2.0.0: {}
6523
+
6524
+ quickselect@3.0.0: {}
6525
+
6526
+ raf@3.4.1:
6527
+ dependencies:
6528
+ performance-now: 2.1.0
6529
+
6530
  react-day-picker@8.10.1(date-fns@3.6.0)(react@18.3.1):
6531
  dependencies:
6532
  date-fns: 3.6.0
 
6583
  transitivePeerDependencies:
6584
  - supports-color
6585
 
6586
+ react-plotly.js@4.0.0(plotly.js@3.7.0(mapbox-gl@1.13.3))(react@18.3.1):
6587
+ dependencies:
6588
+ plotly.js: 3.7.0(mapbox-gl@1.13.3)
6589
+ react: 18.3.1
6590
+
6591
  react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
6592
  dependencies:
6593
  '@popperjs/core': 2.11.8
 
6670
  dependencies:
6671
  loose-envify: 1.4.0
6672
 
6673
+ readable-stream@1.0.34:
6674
+ dependencies:
6675
+ core-util-is: 1.0.3
6676
+ inherits: 2.0.4
6677
+ isarray: 0.0.1
6678
+ string_decoder: 0.10.31
6679
+
6680
+ readable-stream@2.3.8:
6681
+ dependencies:
6682
+ core-util-is: 1.0.3
6683
+ inherits: 2.0.4
6684
+ isarray: 1.0.0
6685
+ process-nextick-args: 2.0.1
6686
+ safe-buffer: 5.1.2
6687
+ string_decoder: 1.1.1
6688
+ util-deprecate: 1.0.2
6689
+
6690
  recharts-scale@0.4.5:
6691
  dependencies:
6692
  decimal.js-light: 2.5.1
 
6708
  dependencies:
6709
  '@babel/runtime': 7.29.2
6710
 
6711
+ regl-error2d@2.0.12:
6712
+ dependencies:
6713
+ array-bounds: 1.0.1
6714
+ color-normalize: 1.5.0
6715
+ flatten-vertex-data: 1.0.2
6716
+ object-assign: 4.1.1
6717
+ pick-by-alias: 1.2.0
6718
+ to-float32: 1.1.0
6719
+ update-diff: 1.1.0
6720
+
6721
+ regl-line2d@3.1.3:
6722
+ dependencies:
6723
+ array-bounds: 1.0.1
6724
+ array-find-index: 1.0.2
6725
+ array-normalize: 1.1.4
6726
+ color-normalize: 1.5.0
6727
+ earcut: 2.2.4
6728
+ es6-weak-map: 2.0.3
6729
+ flatten-vertex-data: 1.0.2
6730
+ object-assign: 4.1.1
6731
+ parse-rect: 1.2.0
6732
+ pick-by-alias: 1.2.0
6733
+ to-float32: 1.1.0
6734
+
6735
+ regl-scatter2d@3.4.0:
6736
+ dependencies:
6737
+ '@plotly/point-cluster': 3.1.9
6738
+ array-bounds: 1.0.1
6739
+ color-id: 1.1.0
6740
+ color-normalize: 1.5.0
6741
+ flatten-vertex-data: 1.0.2
6742
+ glslify: 7.1.1
6743
+ parse-rect: 1.2.0
6744
+ pick-by-alias: 1.2.0
6745
+ to-float32: 1.1.0
6746
+ update-diff: 1.1.0
6747
+
6748
+ regl-splom@1.0.14:
6749
+ dependencies:
6750
+ array-bounds: 1.0.1
6751
+ array-range: 1.0.1
6752
+ color-alpha: 1.1.3
6753
+ flatten-vertex-data: 1.0.2
6754
+ parse-rect: 1.2.0
6755
+ pick-by-alias: 1.2.0
6756
+ raf: 3.4.1
6757
+ regl-scatter2d: 3.4.0
6758
+
6759
+ regl@2.1.1: {}
6760
+
6761
  rehype-katex@7.0.1:
6762
  dependencies:
6763
  '@types/hast': 3.0.4
 
6815
 
6816
  resolve-from@4.0.0: {}
6817
 
6818
+ resolve-protobuf-schema@2.1.0:
6819
+ dependencies:
6820
+ protocol-buffers-schema: 3.6.1
6821
+
6822
+ resolve@0.6.3: {}
6823
+
6824
  resolve@1.22.11:
6825
  dependencies:
6826
  is-core-module: 2.16.1
 
6858
  '@rollup/rollup-win32-x64-msvc': 4.60.1
6859
  fsevents: 2.3.3
6860
 
6861
+ rw@1.3.3: {}
6862
+
6863
+ safe-buffer@5.1.2: {}
6864
+
6865
+ safe-buffer@5.2.1: {}
6866
+
6867
+ safer-buffer@2.1.2: {}
6868
+
6869
+ sax@1.6.0: {}
6870
+
6871
  scheduler@0.23.2:
6872
  dependencies:
6873
  loose-envify: 1.4.0
 
6876
 
6877
  set-cookie-parser@2.7.2: {}
6878
 
6879
+ shallow-copy@0.0.1: {}
6880
+
6881
  sonner@2.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
6882
  dependencies:
6883
  react: 18.3.1
 
6887
 
6888
  source-map@0.5.7: {}
6889
 
6890
+ source-map@0.6.1:
6891
+ optional: true
6892
+
6893
  space-separated-tokens@2.0.2: {}
6894
 
6895
+ stack-trace@0.0.9: {}
6896
+
6897
+ static-eval@2.1.1:
6898
+ dependencies:
6899
+ escodegen: 2.1.0
6900
+
6901
+ stream-parser@0.3.1:
6902
+ dependencies:
6903
+ debug: 2.6.9
6904
+ transitivePeerDependencies:
6905
+ - supports-color
6906
+
6907
+ stream-shift@1.0.3: {}
6908
+
6909
  string-convert@0.2.1: {}
6910
 
6911
+ string-split-by@1.0.0:
6912
+ dependencies:
6913
+ parenthesis: 3.1.8
6914
+
6915
+ string_decoder@0.10.31: {}
6916
+
6917
+ string_decoder@1.1.1:
6918
+ dependencies:
6919
+ safe-buffer: 5.1.2
6920
+
6921
  stringify-entities@4.0.4:
6922
  dependencies:
6923
  character-entities-html4: 2.1.0
6924
  character-entities-legacy: 3.0.0
6925
 
6926
+ strongly-connected-components@1.0.1: {}
6927
+
6928
  style-to-js@1.1.21:
6929
  dependencies:
6930
  style-to-object: 1.0.14
 
6935
 
6936
  stylis@4.2.0: {}
6937
 
6938
+ supercluster@7.1.5:
6939
+ dependencies:
6940
+ kdbush: 3.0.0
6941
+
6942
+ supercluster@8.0.1:
6943
+ dependencies:
6944
+ kdbush: 4.1.0
6945
+
6946
  supports-preserve-symlinks-flag@1.0.0: {}
6947
 
6948
+ svg-arc-to-cubic-bezier@3.2.0: {}
6949
+
6950
+ svg-path-bounds@1.0.2:
6951
+ dependencies:
6952
+ abs-svg-path: 0.1.1
6953
+ is-svg-path: 1.0.2
6954
+ normalize-svg-path: 1.1.0
6955
+ parse-svg-path: 0.1.2
6956
+
6957
+ svg-path-sdf@1.1.3:
6958
+ dependencies:
6959
+ bitmap-sdf: 1.0.4
6960
+ draw-svg-path: 1.0.0
6961
+ is-svg-path: 1.0.2
6962
+ parse-svg-path: 0.1.2
6963
+ svg-path-bounds: 1.0.2
6964
+
6965
  tailwind-merge@3.2.0: {}
6966
 
6967
  tailwindcss@4.1.12: {}
 
6976
  minizlib: 3.1.0
6977
  yallist: 5.0.0
6978
 
6979
+ through2@0.6.5:
6980
+ dependencies:
6981
+ readable-stream: 1.0.34
6982
+ xtend: 4.0.2
6983
+
6984
+ through2@2.0.5:
6985
+ dependencies:
6986
+ readable-stream: 2.3.8
6987
+ xtend: 4.0.2
6988
+
6989
  tiny-invariant@1.3.3: {}
6990
 
6991
+ tinycolor2@1.6.0: {}
6992
+
6993
  tinyglobby@0.2.15:
6994
  dependencies:
6995
  fdir: 6.5.0(picomatch@4.0.4)
6996
  picomatch: 4.0.4
6997
 
6998
+ tinyqueue@2.0.3: {}
6999
+
7000
+ tinyqueue@3.0.0: {}
7001
+
7002
+ to-float32@1.1.0: {}
7003
+
7004
+ to-px@1.1.0:
7005
+ dependencies:
7006
+ parse-unit: 1.0.1
7007
+
7008
+ topojson-client@3.1.0:
7009
+ dependencies:
7010
+ commander: 2.20.3
7011
+
7012
  trim-lines@3.0.1: {}
7013
 
7014
  trough@2.2.0: {}
 
7017
 
7018
  tw-animate-css@1.3.8: {}
7019
 
7020
+ type@2.7.3: {}
7021
+
7022
+ typedarray-pool@1.2.0:
7023
+ dependencies:
7024
+ bit-twiddle: 1.0.2
7025
+ dup: 1.0.0
7026
+
7027
+ typedarray@0.0.6: {}
7028
+
7029
  unified@11.0.5:
7030
  dependencies:
7031
  '@types/unist': 3.0.3
 
7069
  unist-util-is: 6.0.1
7070
  unist-util-visit-parents: 6.0.2
7071
 
7072
+ unquote@1.1.1: {}
7073
+
7074
  update-browserslist-db@1.2.3(browserslist@4.28.2):
7075
  dependencies:
7076
  browserslist: 4.28.2
7077
  escalade: 3.2.0
7078
  picocolors: 1.1.1
7079
 
7080
+ update-diff@1.1.0: {}
7081
+
7082
  use-callback-ref@1.3.3(@types/react@19.2.14)(react@18.3.1):
7083
  dependencies:
7084
  react: 18.3.1
 
7094
  optionalDependencies:
7095
  '@types/react': 19.2.14
7096
 
7097
+ util-deprecate@1.0.2: {}
7098
+
7099
  vaul@1.1.2(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
7100
  dependencies:
7101
  '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
7150
  jiti: 2.6.1
7151
  lightningcss: 1.30.1
7152
 
7153
+ vt-pbf@3.1.3:
7154
+ dependencies:
7155
+ '@mapbox/point-geometry': 0.1.0
7156
+ '@mapbox/vector-tile': 1.3.1
7157
+ pbf: 3.3.0
7158
+
7159
  warning@4.0.3:
7160
  dependencies:
7161
  loose-envify: 1.4.0
7162
 
7163
+ weak-map@1.0.8: {}
7164
+
7165
  web-namespaces@2.0.1: {}
7166
 
7167
+ webgl-context@2.2.0:
7168
+ dependencies:
7169
+ get-canvas-context: 1.0.2
7170
+
7171
+ which@4.0.0:
7172
+ dependencies:
7173
+ isexe: 3.1.5
7174
+
7175
+ world-calendars@1.0.4:
7176
+ dependencies:
7177
+ object-assign: 4.1.1
7178
+
7179
+ wrappy@1.0.2: {}
7180
+
7181
+ xtend@2.2.0: {}
7182
+
7183
+ xtend@4.0.2: {}
7184
+
7185
  yallist@3.1.1: {}
7186
 
7187
  yallist@5.0.0: {}
src/app/components/analysis/MarkdownContent.tsx CHANGED
@@ -1,9 +1,11 @@
 
1
  import ReactMarkdown from "react-markdown";
2
  import type { Components } from "react-markdown";
3
  import remarkGfm from "remark-gfm";
4
  import remarkMath from "remark-math";
5
  import rehypeKatex from "rehype-katex";
6
  import { SortableMarkdownTable } from "./SortableMarkdownTable";
 
7
 
8
  function repairMarkdownMarkers(line: string) {
9
  return line
@@ -64,13 +66,29 @@ const markdownComponents: Components = {
64
  </a>
65
  ),
66
  code: ({ children, className }) => {
 
 
 
 
 
 
 
 
 
 
 
67
  const isBlock = className?.includes("language-");
68
  if (isBlock) {
69
  return <code className={className}>{children}</code>;
70
  }
71
  return <code className="rounded bg-slate-100 px-1.5 py-0.5 text-[0.85em] text-slate-900">{children}</code>;
72
  },
73
- pre: ({ children }) => <pre className="my-3 max-w-full overflow-x-auto rounded-lg bg-slate-950 p-3 text-xs leading-6 text-slate-50">{children}</pre>,
 
 
 
 
 
74
  table: ({ children }) => <SortableMarkdownTable>{children}</SortableMarkdownTable>,
75
  th: ({ children }) => <th className="border border-slate-200 bg-slate-50 px-3 py-2 text-left font-semibold text-slate-900">{children}</th>,
76
  td: ({ children }) => <td className="border border-slate-200 px-3 py-2 align-top text-slate-700">{children}</td>,
 
1
+ import { isValidElement } from "react";
2
  import ReactMarkdown from "react-markdown";
3
  import type { Components } from "react-markdown";
4
  import remarkGfm from "remark-gfm";
5
  import remarkMath from "remark-math";
6
  import rehypeKatex from "rehype-katex";
7
  import { SortableMarkdownTable } from "./SortableMarkdownTable";
8
+ import { PlotlyChartBlock, type PlotlyChartSpec } from "./PlotlyChartBlock";
9
 
10
  function repairMarkdownMarkers(line: string) {
11
  return line
 
66
  </a>
67
  ),
68
  code: ({ children, className }) => {
69
+ if (className === "language-plotly") {
70
+ const raw = String(children).replace(/\n$/, "");
71
+ try {
72
+ const spec = JSON.parse(raw) as PlotlyChartSpec;
73
+ if (spec?.plotly?.data) {
74
+ return <PlotlyChartBlock spec={spec} />;
75
+ }
76
+ } catch {
77
+ // fall through to raw code rendering below
78
+ }
79
+ }
80
  const isBlock = className?.includes("language-");
81
  if (isBlock) {
82
  return <code className={className}>{children}</code>;
83
  }
84
  return <code className="rounded bg-slate-100 px-1.5 py-0.5 text-[0.85em] text-slate-900">{children}</code>;
85
  },
86
+ pre: ({ children }) => {
87
+ const child = Array.isArray(children) ? children[0] : children;
88
+ const isChart = isValidElement(child) && child.type === PlotlyChartBlock;
89
+ if (isChart) return <>{children}</>;
90
+ return <pre className="my-3 max-w-full overflow-x-auto rounded-lg bg-slate-950 p-3 text-xs leading-6 text-slate-50">{children}</pre>;
91
+ },
92
  table: ({ children }) => <SortableMarkdownTable>{children}</SortableMarkdownTable>,
93
  th: ({ children }) => <th className="border border-slate-200 bg-slate-50 px-3 py-2 text-left font-semibold text-slate-900">{children}</th>,
94
  td: ({ children }) => <td className="border border-slate-200 px-3 py-2 align-top text-slate-700">{children}</td>,
src/app/components/analysis/PlotlyChartBlock.tsx ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { lazy, Suspense } from "react";
2
+ import type { Data, Layout } from "plotly.js";
3
+
4
+ const LazyPlot = lazy(async () => {
5
+ const [{ default: Plotly }, { default: createPlotlyComponent }] = await Promise.all([
6
+ // @ts-expect-error plotly.js-dist-min ships no type declarations; runtime shape matches plotly.js
7
+ import("plotly.js-dist-min"),
8
+ import("react-plotly.js/factory"),
9
+ ]);
10
+ return { default: createPlotlyComponent(Plotly) };
11
+ });
12
+
13
+ export interface PlotlyChartSpec {
14
+ schema?: string;
15
+ chart_type?: string;
16
+ title?: string;
17
+ plotly: {
18
+ data: Data[];
19
+ layout?: Partial<Layout>;
20
+ };
21
+ }
22
+
23
+ export function PlotlyChartBlock({ spec }: { spec: PlotlyChartSpec }) {
24
+ if (!spec?.plotly?.data) return null;
25
+
26
+ return (
27
+ <div className="my-3 max-w-full overflow-x-auto rounded-lg border border-slate-200 bg-white p-2">
28
+ <Suspense
29
+ fallback={
30
+ <div className="flex h-64 items-center justify-center text-xs text-slate-400">Loading chart…</div>
31
+ }
32
+ >
33
+ <LazyPlot
34
+ data={spec.plotly.data}
35
+ layout={{ autosize: true, ...spec.plotly.layout }}
36
+ config={{ displaylogo: false, responsive: true }}
37
+ style={{ width: "100%", height: "360px" }}
38
+ useResizeHandler
39
+ />
40
+ </Suspense>
41
+ </div>
42
+ );
43
+ }