├── src ├── .gitignore ├── observable.png ├── .observablehq │ └── deploy.json ├── today.js ├── [name] │ ├── downloads.svg.js │ └── downloads-dark.svg.js ├── @[scope] │ ├── [name] │ │ ├── downloads.svg.js │ │ └── downloads-dark.svg.js │ └── [name].md.js ├── rate.js ├── fetch.js ├── npm.js ├── DailyPlot.js ├── github.js ├── style.css └── index.md.js ├── .gitignore ├── LICENSE ├── package.json ├── .github └── workflows │ └── deploy.yml ├── README.md ├── observablehq.config.js └── yarn.lock /src/.gitignore: -------------------------------------------------------------------------------- 1 | /.observablehq/cache/ 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .env 3 | /dist/ 4 | node_modules/ 5 | yarn-error.log 6 | -------------------------------------------------------------------------------- /src/observable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/observablehq/oss-analytics/HEAD/src/observable.png -------------------------------------------------------------------------------- /src/.observablehq/deploy.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectId": "6b22f906aebb73e4", 3 | "projectSlug": "oss-analytics", 4 | "workspaceLogin": "observablehq" 5 | } 6 | -------------------------------------------------------------------------------- /src/today.js: -------------------------------------------------------------------------------- 1 | import {utcDay, utcHour, utcYear} from "d3-time"; 2 | 3 | export const today = utcDay(utcHour.offset(new Date(), -6)); // give npm time to compute stats 4 | export const lastWeek = utcDay.offset(today, -7); 5 | export const lastYear = utcYear.offset(today, -1); 6 | -------------------------------------------------------------------------------- /src/[name]/downloads.svg.js: -------------------------------------------------------------------------------- 1 | import {parseArgs} from "node:util"; 2 | import {fetchNpmDownloads} from "../npm.js"; 3 | import {DailyPlot} from "../DailyPlot.js"; 4 | 5 | const { 6 | values: {name} 7 | } = parseArgs({ 8 | options: {name: {type: "string"}} 9 | }); 10 | 11 | const data = await fetchNpmDownloads(name); 12 | 13 | process.stdout.write(DailyPlot(data).outerHTML); 14 | -------------------------------------------------------------------------------- /src/[name]/downloads-dark.svg.js: -------------------------------------------------------------------------------- 1 | import {parseArgs} from "node:util"; 2 | import {fetchNpmDownloads} from "../npm.js"; 3 | import {DailyPlot} from "../DailyPlot.js"; 4 | 5 | const { 6 | values: {name} 7 | } = parseArgs({ 8 | options: {name: {type: "string"}} 9 | }); 10 | 11 | const data = await fetchNpmDownloads(name); 12 | 13 | process.stdout.write(DailyPlot(data, {foreground: "white", background: "black"}).outerHTML); 14 | -------------------------------------------------------------------------------- /src/@[scope]/[name]/downloads.svg.js: -------------------------------------------------------------------------------- 1 | import {parseArgs} from "node:util"; 2 | import {fetchNpmDownloads} from "../../npm.js"; 3 | import {DailyPlot} from "../../DailyPlot.js"; 4 | 5 | const { 6 | values: {scope, name} 7 | } = parseArgs({ 8 | options: {scope: {type: "string"}, name: {type: "string"}} 9 | }); 10 | 11 | const data = await fetchNpmDownloads(`@${scope}/${name}`); 12 | 13 | process.stdout.write(DailyPlot(data).outerHTML); 14 | -------------------------------------------------------------------------------- /src/@[scope]/[name]/downloads-dark.svg.js: -------------------------------------------------------------------------------- 1 | import {parseArgs} from "node:util"; 2 | import {fetchNpmDownloads} from "../../npm.js"; 3 | import {DailyPlot} from "../../DailyPlot.js"; 4 | 5 | const { 6 | values: {scope, name} 7 | } = parseArgs({ 8 | options: {scope: {type: "string"}, name: {type: "string"}} 9 | }); 10 | 11 | const data = await fetchNpmDownloads(`@${scope}/${name}`); 12 | 13 | process.stdout.write(DailyPlot(data, {foreground: "white", background: "black"}).outerHTML); 14 | -------------------------------------------------------------------------------- /src/rate.js: -------------------------------------------------------------------------------- 1 | export function RateLimiter(n, duration) { 2 | let recents = []; 3 | return async () => { 4 | if (!((n = +n) >= 1)) throw new Error(`invalid n: ${n}`); 5 | while (true) { 6 | const time = Date.now() - duration; 7 | recents = recents.filter((r) => r >= time); 8 | if (recents.length < n) break; 9 | const delay = Math.max(recents[0] + duration - Date.now(), 100); 10 | console.warn(`rate limit reached; waiting ${delay}`); 11 | await new Promise((resolve) => setTimeout(resolve, delay)); 12 | } 13 | recents.push(Date.now()); 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2024 Observable, Inc. 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any purpose 4 | with or without fee is hereby granted, provided that the above copyright notice 5 | and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 9 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 11 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 12 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 13 | THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "private": true, 4 | "license": "ISC", 5 | "scripts": { 6 | "clean": "rimraf src/.observablehq/cache", 7 | "build": "observable build", 8 | "dev": "observable preview", 9 | "deploy": "observable deploy", 10 | "observable": "observable" 11 | }, 12 | "dependencies": { 13 | "@observablehq/framework": "^1.13.0", 14 | "@observablehq/plot": "^0.6.16", 15 | "d3-array": "^3.2.4", 16 | "d3-time": "^3.1.0", 17 | "d3-time-format": "^4.1.0", 18 | "dotenv": "^16.4.5", 19 | "isoformat": "^0.2.1", 20 | "jsdom": "^25.0.1", 21 | "markdown-it-emoji": "^3.0.0" 22 | }, 23 | "devDependencies": { 24 | "@types/node": "^22.7.4", 25 | "rimraf": "^5.0.5" 26 | }, 27 | "engines": { 28 | "node": ">=18" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Deploy 2 | 3 | on: 4 | push: {branches: [main]} 5 | schedule: [{cron: "15 10 * * *"}] 6 | workflow_dispatch: {} 7 | 8 | jobs: 9 | deploy: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | contents: read 13 | pages: write 14 | id-token: write 15 | environment: 16 | name: github-pages 17 | url: ${{ steps.deployment.outputs.page_url }} 18 | steps: 19 | - uses: actions/checkout@v4 20 | - uses: actions/setup-node@v4 21 | with: 22 | node-version: 24 23 | cache: yarn 24 | - run: yarn --frozen-lockfile 25 | - run: yarn build 26 | env: 27 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 28 | - uses: actions/configure-pages@v4 29 | - uses: actions/upload-pages-artifact@v3 30 | with: 31 | path: dist 32 | - name: Deploy 33 | id: deployment 34 | uses: actions/deploy-pages@v4 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Open-source analytics 2 | 3 | This project collects [npm download counts](https://github.com/npm/registry/blob/main/docs/download-counts.md) for [Observable’s open-source projects](https://github.com/observablehq) and [D3](https://github.com/d3). These charts are built with [Observable Framework](https://observablehq.com/framework/) and updated daily via [GitHub Actions](https://observablehq.com/framework/deploying) so they can be embedded in our GitHub READMEs. 4 | 5 | 6 | 7 | 8 | Daily downloads of Observable Plot 9 | 10 | 11 | 12 | Daily downloads of Observable Plot · [oss-analytics](https://observablehq.github.io/oss-analytics/) 13 | 14 | ## How to use for your own packages 15 | 16 | This project is [open-source](https://github.com/observablehq/oss-analytics/); you can use it to build embeddable charts of your own packages. 17 | 18 | 1. [Fork this repository.](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) 19 | 2. Edit [`observablehq.config.js`](https://github.com/observablehq/oss-analytics/blob/main/observablehq.config.js) to list your npm packages, comitting your changes. 20 | 3. Tweak [`index.md.js`](https://github.com/observablehq/oss-analytics/blob/main/src/index.md.js) to personalize the page. 21 | -------------------------------------------------------------------------------- /src/fetch.js: -------------------------------------------------------------------------------- 1 | import {mkdir, readFile, writeFile} from "node:fs/promises"; 2 | import {dirname, join} from "node:path/posix"; 3 | 4 | const cacheDir = join("src", ".observablehq", "cache", "_fetch"); 5 | 6 | const faint = color(2, 22); 7 | 8 | function color(code, reset) { 9 | return process.stdout.isTTY ? (text) => `\x1b[${code}m${text}\x1b[${reset}m` : String; 10 | } 11 | 12 | export async function fetchCached(url, options) { 13 | const u = new URL(url); 14 | if (u.protocol !== "https:") throw new Error(`unsupported protocol: ${u.protocol}`); 15 | console.warn(faint("fetch"), String(u)); 16 | let path = join(cacheDir, String(u).slice(8)); 17 | if (!path.endsWith(".json")) path += ".json"; 18 | await mkdir(dirname(path), {recursive: true}); 19 | try { 20 | const {headers, body} = JSON.parse(await readFile(path, "utf-8")); 21 | return new Response({headers: new Headers(headers), body}); 22 | } catch (error) { 23 | if (error.code !== "ENOENT") throw error; 24 | const response = await fetch(url, options); 25 | if (!response.ok) return response; 26 | const headers = response.headers; 27 | const body = await response.json(); 28 | await writeFile(path, JSON.stringify({headers: Object.fromEntries(response.headers), body}), "utf-8"); 29 | return new Response({headers, body}); 30 | } 31 | } 32 | 33 | class Response { 34 | constructor({headers, body}) { 35 | this.headers = headers; 36 | this.body = body; 37 | } 38 | get ok() { 39 | return true; 40 | } 41 | get status() { 42 | return 200; 43 | } 44 | async json() { 45 | return this.body; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/npm.js: -------------------------------------------------------------------------------- 1 | import {utcDay, utcYear} from "d3-time"; 2 | import {format as formatIso} from "isoformat"; 3 | import {fetchCached as fetch} from "./fetch.js"; 4 | import {RateLimiter} from "./rate.js"; 5 | import {today} from "./today.js"; 6 | 7 | const rateLimit = RateLimiter(30, 60_000); // 30 requests per 60 seconds 8 | 9 | export async function fetchNpm(path) { 10 | const url = new URL(path, "https://api.npmjs.org"); 11 | let response; 12 | let headers; 13 | for (let attempt = 0, maxAttempts = 3; attempt < maxAttempts; ++attempt) { 14 | await rateLimit(); 15 | response = await fetch(url, {headers: {"User-Agent": "observablehq/oss-analytics"}}); 16 | headers = response.headers; 17 | if (response.ok) break; 18 | console.warn(Object.fromEntries(headers)); 19 | if (headers.get("retry-after")) { 20 | const retryDelay = headers.get("retry-after") * 1000; 21 | console.warn(`retry-after ${headers.get("retry-after")}`, retryDelay); 22 | await new Promise((resolve) => setTimeout(resolve, retryDelay)); 23 | continue; 24 | } 25 | throw new Error(`failed to fetch ${url}: ${response.status}`); 26 | } 27 | return await response.json(); 28 | } 29 | 30 | export async function fetchNpmDownloads(name, start = utcYear.offset(today, -3), end = today) { 31 | const data = []; 32 | let batchStart = end; 33 | let batchEnd; 34 | while (batchStart > start) { 35 | batchEnd = batchStart; 36 | batchStart = utcYear(utcDay.offset(batchStart, -1)); // align on year for caching 37 | if (batchStart < start) batchStart = start; 38 | const formatStart = formatIso(batchStart); 39 | const formatEnd = formatIso(utcDay.offset(batchEnd, -1)); // inclusive end 40 | const batch = await fetchNpm(`/downloads/range/${formatStart}:${formatEnd}/${name}`); 41 | for (const {downloads: value, day: date} of batch.downloads.reverse()) { 42 | data.push({date: new Date(date), value: value || undefined}); // npm sometimes erroneously reports zeroes 43 | } 44 | } 45 | let i = data.length - 1; 46 | let j = 0; 47 | for (; i > 0 && data[i].value === undefined; --i); // trim missing data 48 | for (; j < i && data[j].value === undefined; ++j); // trim missing data 49 | return data.slice(j, i + 1); 50 | } 51 | -------------------------------------------------------------------------------- /src/DailyPlot.js: -------------------------------------------------------------------------------- 1 | import * as Plot from "@observablehq/plot"; 2 | import {quantile} from "d3-array"; 3 | import {JSDOM} from "jsdom"; 4 | 5 | export function DailyPlot( 6 | data, 7 | { 8 | label, 9 | x = "date", 10 | y = "value", 11 | max = quantile(data, 0.995, (d) => d[y]), 12 | width, 13 | height = 200, 14 | round = true, 15 | marginTop = 10, 16 | marginBottom = 30, 17 | annotations = [], 18 | background = "white", 19 | foreground = "black", 20 | focus = "#26c1ad", 21 | document = new JSDOM("").window.document, 22 | ...options 23 | } = {} 24 | ) { 25 | const d7 = (options) => Plot.windowY({k: 7, anchor: "start", strict: true}, options); 26 | const d28 = (options) => Plot.windowY({k: 28, anchor: "start", strict: true}, options); 27 | const plot = Plot.plot({ 28 | ...options, 29 | style: `color: ${foreground}; --plot-background: ${background};`, 30 | document, 31 | marginTop, 32 | marginBottom, 33 | width, 34 | height, 35 | round, 36 | y: {grid: true, domain: [0, max], label}, 37 | marks: [ 38 | Plot.axisY({anchor: "right", label: null, tickFormat: max >= 10e3 ? "s" : undefined}), 39 | Plot.areaY(data, {x, y, curve: "step", fill: foreground, fillOpacity: 0.2, interval: "day"}), // prettier-ignore 40 | Plot.ruleY([0]), 41 | Plot.lineY(data, d7({x, y, strokeWidth: 1, stroke: focus, interval: "day"})), 42 | Plot.lineY(data, d28({x, y, stroke: foreground, interval: "day"})), 43 | Annotations(annotations, {x, stroke: background, fill: foreground}) 44 | ] 45 | }); 46 | plot.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns", "http://www.w3.org/2000/svg"); // prettier-ignore 47 | plot.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink"); // prettier-ignore 48 | return plot; 49 | } 50 | 51 | export function Annotations( 52 | data, 53 | { 54 | x = "date", 55 | text = "text", 56 | href = "href", 57 | target = "_blank", 58 | fill = "currentColor", 59 | stroke = "white", 60 | strokeOpacity = 0.1, 61 | fontVariant = "tabular-nums", 62 | frameAnchor = "top-right", 63 | lineAnchor = "bottom", 64 | rotate = -90, 65 | dx = -3, 66 | dy = 0, 67 | transform, 68 | clip = true 69 | } = {} 70 | ) { 71 | return Plot.marks( 72 | Plot.ruleX(data, {x, stroke: fill, strokeOpacity, transform, clip}), 73 | Plot.text(data, { 74 | x, 75 | text, 76 | href, 77 | target, 78 | rotate, 79 | dx, 80 | dy, 81 | frameAnchor, 82 | lineAnchor, 83 | fontVariant, 84 | fill, 85 | stroke, 86 | transform, 87 | clip 88 | }) 89 | ); 90 | } 91 | -------------------------------------------------------------------------------- /src/github.js: -------------------------------------------------------------------------------- 1 | import "dotenv/config"; 2 | import {fetchCached as fetch} from "./fetch.js"; 3 | 4 | const {GITHUB_TOKEN} = process.env; 5 | 6 | if (!GITHUB_TOKEN) throw new Error("missing required GITHUB_TOKEN"); 7 | 8 | export async function fetchGithub(path, options) { 9 | return (await requestGithub(path, options)).body; 10 | } 11 | 12 | export async function fetchGithubStargazersSinceCount(repo, since) { 13 | let count = 0; 14 | for await (const item of listGithub(`/repos/${repo}/stargazers`, {accept: "application/vnd.github.star+json"})) { 15 | const starred_at = new Date(item.starred_at); 16 | if (starred_at < since) break; 17 | ++count; 18 | } 19 | return count; 20 | } 21 | 22 | export async function requestGithub( 23 | path, 24 | {accept = "application/vnd.github.v3+json"} = {} 25 | ) { 26 | const url = new URL(path, "https://api.github.com"); 27 | let response; 28 | let headers; 29 | for (let attempt = 0, maxAttempts = 3; attempt < maxAttempts; ++attempt) { 30 | response = await fetch(url, { 31 | headers: { 32 | "User-Agent": "observablehq/oss-analytics", 33 | "X-GitHub-Api-Version": "2022-11-28", 34 | "Authorization": `token ${GITHUB_TOKEN}`, 35 | "Accept": accept 36 | } 37 | }); 38 | headers = response.headers; 39 | if (response.ok) break; 40 | console.warn(Object.fromEntries(headers)); 41 | if (headers.get("x-ratelimit-remaining") === "0") { 42 | const ratelimitDelay = new Date(headers.get("x-ratelimit-reset") * 1000) - Date.now(); 43 | console.warn(`x-ratelimit-reset ${headers.get("x-ratelimit-reset")}`, ratelimitDelay); 44 | await new Promise((resolve) => setTimeout(resolve, ratelimitDelay)); 45 | continue; 46 | } 47 | if (headers.get("retry-after")) { 48 | const retryDelay = headers.get("retry-after") * 1000; 49 | console.warn(`retry-after ${headers.get("retry-after")}`, retryDelay); 50 | await new Promise((resolve) => setTimeout(resolve, retryDelay)); 51 | continue; 52 | } 53 | throw new Error(`failed to fetch ${url}: ${response.status}`); 54 | } 55 | return {headers, body: await response.json()}; 56 | } 57 | 58 | export async function* listGithub(path, {reverse = true, ...options} = {}) { 59 | const url = new URL(path, "https://api.github.com"); 60 | url.searchParams.set("per_page", "100"); 61 | url.searchParams.set("page", "1"); 62 | const first = await requestGithub(String(url), options); 63 | if (reverse) { 64 | let prevUrl = findRelLink(first.headers, "last"); 65 | if (prevUrl) { 66 | do { 67 | const next = await requestGithub(prevUrl, options); 68 | yield* next.body.reverse(); // reverse order 69 | prevUrl = findRelLink(next.headers, "prev"); 70 | } while (prevUrl); 71 | } else { 72 | yield* first.body.reverse(); 73 | } 74 | } else { 75 | yield* first.body; 76 | let nextUrl = findRelLink(first.headers, "next"); 77 | while (nextUrl) { 78 | const next = await requestGithub(nextUrl, options); 79 | yield* next.body; // natural order 80 | nextUrl = findRelLink(next.headers, "next"); 81 | } 82 | } 83 | } 84 | 85 | function findRelLink(headers, name) { 86 | return headers 87 | .get("link") 88 | ?.split(/,\s+/g) 89 | .map((link) => link.split(/;\s+/g)) 90 | .find(([, rel]) => rel === `rel="${name}"`)?.[0] 91 | .replace(/^$/, ""); 93 | } 94 | -------------------------------------------------------------------------------- /src/style.css: -------------------------------------------------------------------------------- 1 | @import url("observablehq:default.css"); 2 | @import url("observablehq:theme-air.css") (prefers-color-scheme: light); 3 | @import url("observablehq:theme-near-midnight.css") (prefers-color-scheme: dark); 4 | @import url("observablehq:theme-alt.css"); 5 | 6 | :root { 7 | --sans-serif: Inter, -apple-system, BlinkMacSystemFont, "avenir next", avenir, helvetica, "helvetica neue", ubuntu, roboto, 8 | noto, "segoe ui", arial, sans-serif; 9 | --monospace: "Spline Sans Mono", Menlo, Consolas, monospace; 10 | --theme-foreground-focus: #148576; 11 | } 12 | 13 | h1 code, 14 | h2 code, 15 | h3 code, 16 | h4 code, 17 | h5 code, 18 | h6 code, 19 | code, 20 | tt { 21 | font-size: revert; 22 | } 23 | 24 | code:not(pre code, h1 code, h2 code, h3 code, h4 code, h5 code, h6 code) { 25 | color: var(--theme-foreground-alt); 26 | background-color: var(--theme-background-alt); 27 | padding: 2px 4px; 28 | border-radius: 4px; 29 | } 30 | 31 | @media (prefers-color-scheme: dark) { 32 | :root { 33 | --theme-foreground: #f5f5f5; 34 | --theme-foreground-focus: #37d5be; 35 | } 36 | } 37 | 38 | #observablehq-header a[href] { 39 | color: inherit; 40 | } 41 | 42 | #observablehq-header a[target="_blank"], 43 | .observablehq-link a[target="_blank"] { 44 | display: flex; 45 | align-items: center; 46 | gap: 0.25rem; 47 | text-decoration: none; 48 | } 49 | 50 | #observablehq-header a[target="_blank"]:is(:hover, :focus) span, 51 | .observablehq-link a[target="_blank"]:is(:hover, :focus) span { 52 | text-decoration: underline; 53 | } 54 | 55 | #observablehq-header a[target="_blank"]::after, 56 | .observablehq-link a[target="_blank"]::after { 57 | content: "\2197"; 58 | } 59 | 60 | #observablehq-header a[target="_blank"][data-decoration]::after { 61 | content: attr(data-decoration); 62 | } 63 | 64 | #observablehq-header a[target="_blank"]:not(:hover, :focus)::after { 65 | color: var(--theme-foreground-muted); 66 | } 67 | 68 | .observablehq-link a[target="_blank"]:not(:hover, :focus)::after { 69 | color: var(--theme-foreground-faint); 70 | } 71 | 72 | .observablehq-link-active a[target="_blank"]:not(:hover, :focus)::after { 73 | color: var(--theme-foreground-focus); 74 | } 75 | 76 | body { 77 | font: 16px/1.5 var(--sans-serif); 78 | } 79 | 80 | #observablehq-main { 81 | min-height: calc(100vh - 23.8rem); 82 | } 83 | 84 | #observablehq-main a[href]:not(.observablehq-header-anchor) { 85 | color: inherit; 86 | text-decoration: underline; 87 | } 88 | 89 | h1 { 90 | font-family: var(--monospace); 91 | font-weight: 500; 92 | } 93 | 94 | #observablehq-header { 95 | container-type: inline-size; 96 | } 97 | 98 | @container not (min-width: 640px) { 99 | .hide-if-small { 100 | display: none !important; 101 | } 102 | } 103 | 104 | @container not (min-width: 720px) { 105 | .hide-if-small2 { 106 | display: none !important; 107 | } 108 | } 109 | 110 | @media (min-width: calc(640px + 6rem + 272px)) { 111 | #observablehq-sidebar-toggle:is(:checked, :indeterminate) ~ #observablehq-center .hide-if-sidebar { 112 | display: none !important; 113 | } 114 | } 115 | 116 | #observablehq-sidebar > ol:first-child > li::before { 117 | display: none; 118 | } 119 | 120 | #observablehq-sidebar > ol:first-child > li > a { 121 | background: none; 122 | color: inherit; 123 | } 124 | 125 | a.observablehq-version-badge { 126 | font: 500 12px var(--sans-serif); 127 | display: inline-block; 128 | vertical-align: top; 129 | padding: 2px 8px; 130 | color: var(--theme-green); 131 | background: color-mix(in srgb, var(--theme-green), transparent 80%); 132 | border-radius: 12px; 133 | } 134 | 135 | .observablehq-version-badge::before { 136 | content: attr(data-version); 137 | } 138 | -------------------------------------------------------------------------------- /observablehq.config.js: -------------------------------------------------------------------------------- 1 | import {full as MarkdownItEmoji} from "markdown-it-emoji"; 2 | 3 | export const packages = [ 4 | ...[ 5 | "notebook-kit", 6 | "framework", 7 | "plot", 8 | "inputs", 9 | "runtime", 10 | "stdlib", 11 | "inspector", 12 | "parser", 13 | "htl" 14 | ].map((name) => ({ 15 | name: name === "htl" ? name : `@observablehq/${name}`, 16 | repo: `observablehq/${name}`, 17 | group: "Observable" 18 | })), 19 | ...[ 20 | "d3", 21 | "d3-array", 22 | "d3-axis", 23 | "d3-brush", 24 | "d3-chord", 25 | "d3-color", 26 | "d3-contour", 27 | "d3-delaunay", 28 | "d3-dispatch", 29 | "d3-drag", 30 | "d3-dsv", 31 | "d3-ease", 32 | "d3-fetch", 33 | "d3-force", 34 | "d3-format", 35 | "d3-geo", 36 | "d3-hierarchy", 37 | "d3-interpolate", 38 | "d3-path", 39 | "d3-polygon", 40 | "d3-quadtree", 41 | "d3-random", 42 | "d3-scale", 43 | "d3-scale-chromatic", 44 | "d3-selection", 45 | "d3-shape", 46 | "d3-time", 47 | "d3-time-format", 48 | "d3-timer", 49 | "d3-transition", 50 | "d3-zoom" 51 | ].map((name) => ({ 52 | name, 53 | repo: `d3/${name}`, 54 | group: "D3 (core)" 55 | })), 56 | ...[ 57 | "d3-collection", 58 | "d3-geo-polygon", 59 | "d3-geo-projection", 60 | "d3-hexbin", 61 | "d3-hsv", 62 | "d3-queue", 63 | "d3-request", 64 | "d3-require", 65 | "d3-sankey", 66 | "d3-selection-multi", 67 | "d3-tile", 68 | "d3-voronoi" 69 | ].map((name) => ({ 70 | name, 71 | repo: `d3/${name}`, 72 | group: "D3 (non-core)" 73 | })) 74 | ]; 75 | 76 | export default { 77 | title: "Open-source analytics", 78 | head: '', 79 | root: "src", 80 | style: "style.css", 81 | markdownIt: (md) => md.use(MarkdownItEmoji), 82 | globalStylesheets: [ 83 | "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Spline+Sans+Mono:ital,wght@0,300..700;1,300..700&display=swap" 84 | ], 85 | toc: false, 86 | header: ({path}) => `
87 |
88 | 89 | 90 | 91 | 92 | 93 | ${path === "/index" ? "Observable" : "Open-source analytics"} 94 | 95 | 96 |
97 | 98 | ​ 99 | GitHub️ 100 | 101 |
`, 102 | footer: ((date = new Date()) => 103 | `© ${date.getUTCFullYear()} Observable, Inc. Last updated ${date.toLocaleDateString("en-US", {month: "short", day: "numeric"})}.`)(), 104 | dynamicPaths: packages.flatMap(({name, repo}) => [ 105 | `/@${repo}`, 106 | `/${name}/downloads-dark.svg`, 107 | `/${name}/downloads.svg` 108 | ]) 109 | }; 110 | -------------------------------------------------------------------------------- /src/index.md.js: -------------------------------------------------------------------------------- 1 | import {groups, sort, sum} from "d3-array"; 2 | import {utcDay} from "d3-time"; 3 | import {format as formatIso} from "isoformat"; 4 | import {packages} from "../observablehq.config.js"; 5 | import {fetchGithub, fetchGithubStargazersSinceCount} from "./github.js"; 6 | import {fetchNpm, fetchNpmDownloads} from "./npm.js"; 7 | import {lastWeek, today} from "./today.js"; 8 | 9 | for (const p of packages) { 10 | const downloads = await fetchNpmDownloads(p.name); 11 | p.weeklyDownloads = sum(downloads.slice(0, 7), (d) => d.value); 12 | p.lastWeeklyDownloads = sum(downloads.slice(7, 14), (d) => d.value); 13 | p.stargazers = (await fetchGithub(`/repos/${encodeURI(p.repo)}`)).stargazers_count; 14 | p.recentStargazers = await fetchGithubStargazersSinceCount(p.repo, lastWeek); 15 | const githubRepo = p.repo; 16 | const githubPackage = await fetchGithub(`/repos/${encodeURI(githubRepo)}/contents/package.json`); 17 | const {name: npmPackage} = JSON.parse(Buffer.from(githubPackage.content, "base64").toString("utf-8")); 18 | p.npmInfo = await fetchNpm(`https://registry.npmjs.org/${encodeURIComponent(npmPackage)}`); 19 | } 20 | 21 | process.stdout.write(`# Open-source analytics 22 | 23 | This dashboard shows [Observable’s open-source projects](https://github.com/observablehq) and [D3](https://github.com/d3). This dashboard is itself [open-source](https://github.com/observablehq/oss-analytics/) and built with [Observable Framework](https://observablehq.com/framework/) and [updated daily](https://github.com/observablehq/oss-analytics/actions/workflows/deploy.yml); fork it to visualize your own projects! 24 | 25 | 120 | 121 | ${groups(packages, ({group}) => group) 122 | .map( 123 | ([group, packages]) => `

${group}

124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | ${sort(packages, (p) => -p.stargazers).map((p) => ` 139 | 142 | 145 | 148 | 151 | 154 | 157 | 160 | `).join("\n ")} 161 | 162 |
namelatest releasestarsweekly downloads
140 | @${p.repo} 141 | 143 | ${p.npmInfo["dist-tags"].latest} 144 | 146 | ${formatIso(new Date(p.npmInfo.time[p.npmInfo["dist-tags"].latest])).slice(0, 10)} 147 | 149 | ${p.stargazers.toLocaleString("en-US")} ★ 150 | 152 | ${p.recentStargazers ? p.recentStargazers.toLocaleString("en-US", {signDisplay: "always"}) : ""} 153 | 155 | ${p.weeklyDownloads.toLocaleString("en-US")} 156 | 158 | ${((p.weeklyDownloads - p.lastWeeklyDownloads) / p.lastWeeklyDownloads).toLocaleString("en-US", {style: "percent", signDisplay: "always"})} 159 |
` 163 | ) 164 | .join("\n\n")} 165 | 166 | ~~~js 167 | import semverCompare from "npm:semver/functions/compare"; 168 | 169 | for (const th of document.querySelectorAll("th[data-sort]")) { 170 | th.onclick = resort; 171 | th.onmousedown = noselect; 172 | } 173 | 174 | function noselect(event) { 175 | if (event.detail > 1) { 176 | event.preventDefault(); 177 | } 178 | } 179 | 180 | function resort(event) { 181 | const th = event.currentTarget; 182 | if (th.dataset.sort === "desc") { 183 | th.dataset.sort = "asc"; 184 | } else if (th.dataset.sort === "asc") { 185 | th.dataset.sort = "desc"; 186 | } else { 187 | const oth = th.parentNode.querySelector("[data-sort]:not([data-sort=''])"); 188 | if (oth) oth.dataset.sort = ""; 189 | th.dataset.sort = th.dataset.type === undefined ? "asc" : "desc"; 190 | } 191 | const i = Array.prototype.indexOf.call(th.parentNode.children, th); 192 | const o = th.dataset.type === "semver" ? semverCompare : d3.ascending; 193 | const v = th.dataset.type === "number" ? Number : th.dataset.type === "date" ? (d) => new Date(d) : String; 194 | Array.from(th.closest("table").querySelectorAll("tbody tr")) 195 | .sort(th.dataset.sort === "asc" 196 | ? (a, b) => o(v(a.children[i].dataset.value), v(b.children[i].dataset.value)) 197 | : (b, a) => o(v(a.children[i].dataset.value), v(b.children[i].dataset.value))) 198 | .forEach((tr) => tr.parentNode.appendChild(tr)); 199 | event.preventDefault(); 200 | } 201 | ~~~ 202 | 203 | `); 204 | -------------------------------------------------------------------------------- /src/@[scope]/[name].md.js: -------------------------------------------------------------------------------- 1 | import {parseArgs} from "node:util"; 2 | import {greatest, sum} from "d3-array"; 3 | import {utcDay, utcYear} from "d3-time"; 4 | import {format as formatIso} from "isoformat"; 5 | import {fetchGithub, fetchGithubStargazersSinceCount, listGithub} from "../github.js"; 6 | import {fetchNpm, fetchNpmDownloads} from "../npm.js"; 7 | import {lastWeek, lastYear, today} from "../today.js"; 8 | 9 | const { 10 | values: {scope, name} 11 | } = parseArgs({ 12 | options: {scope: {type: "string"}, name: {type: "string"}} 13 | }); 14 | 15 | const githubRepo = `${scope}/${name}`; 16 | const githubInfo = await fetchGithub(`/repos/${encodeURI(githubRepo)}`); 17 | const githubPackage = await fetchGithub(`/repos/${encodeURI(githubRepo)}/contents/package.json`); 18 | const {name: npmPackage} = JSON.parse(Buffer.from(githubPackage.content, "base64").toString("utf-8")); 19 | 20 | const npmInfo = await fetchNpm(`https://registry.npmjs.org/${encodeURIComponent(npmPackage)}`); 21 | const npmDownloads = await fetchNpmDownloads(npmPackage); 22 | const npmDownloadsByVersion = await fetchNpm(`/versions/${encodeURIComponent(npmPackage)}/last-week`); 23 | 24 | const downloads = npmDownloads; 25 | const downloadsByVersion = npmDownloadsByVersion.downloads; 26 | 27 | const commits = []; 28 | 29 | for await (const item of listGithub(`/repos/${githubRepo}/commits`, {reverse: false})) { 30 | commits.push({ 31 | sha: item.sha, 32 | message: truncate(item.commit.message), 33 | date: new Date(item.commit.committer.date), 34 | author: item.author?.login 35 | }); 36 | } 37 | 38 | const start = greatest([utcYear.offset(today, -3), utcDay(commits.at(-1).date)]); 39 | const recentStargazerCount = await fetchGithubStargazersSinceCount(githubRepo, lastWeek); 40 | 41 | const issues = []; 42 | const pullRequests = []; 43 | 44 | for await (const item of listGithub(`/repos/${githubRepo}/issues?state=all`, {reverse: false})) { 45 | (item.pull_request ? pullRequests : issues).push({ 46 | state: item.state, 47 | created_at: new Date(item.created_at), 48 | closed_at: item.closed_at && new Date(item.closed_at), 49 | // draft: item.draft, 50 | // reactions: {...item.reactions, url: undefined}, 51 | // title: truncate(item.title), 52 | // number: item.number 53 | }); 54 | } 55 | 56 | const versions = []; 57 | 58 | for (const version in npmInfo.versions) { 59 | if (isPrerelease(version)) continue; 60 | versions.push({ 61 | version, 62 | date: npmInfo.time[version] ? new Date(npmInfo.time[version]) : undefined, 63 | downloads: downloadsByVersion[version] 64 | }); 65 | } 66 | 67 | versions.sort((a, b) => a.date - b.date); 68 | 69 | function truncate(message, length = 255) { 70 | message = message.replace(/\n\n.*/s, ""); 71 | return message.length <= length ? message : `${message.slice(0, length - 1)}…`; 72 | } 73 | 74 | function replacer(key, value) { 75 | return value && /(_|^)(date|time)$/.test(key) ? formatIso(new Date(value)) : value; 76 | } 77 | 78 | function isPrerelease(version) { 79 | return /-/.test(version); 80 | } 81 | 82 | const weeklyDownloadsCount = sum(downloads.slice(0, 7), (d) => d.value); 83 | const lastWeeklyDownloadsCount = sum(downloads.slice(7, 14), (d) => d.value); 84 | const weeklyDownloadsChange = (weeklyDownloadsCount - lastWeeklyDownloadsCount) / lastWeeklyDownloadsCount; 85 | 86 | process.stdout.write(`# [@${scope}/${name}](https://github.com/${githubRepo}) 87 | 88 | ${githubInfo.description} 89 | 90 | --- 91 | 92 | ~~~js 93 | import semverCompare from "npm:semver/functions/compare"; 94 | 95 | const downloads = JSON.parse(data__downloads.textContent, reviver); 96 | const versions = JSON.parse(data__versions.textContent, reviver); 97 | const commits = JSON.parse(data__commits.textContent, reviver); 98 | const issues = JSON.parse(data__issues.textContent, reviver); 99 | const lastYear = new Date("${formatIso(lastYear)}"); 100 | const start = new Date("${formatIso(start)}"); 101 | const today = new Date("${formatIso(today)}"); 102 | const domain = [start, today]; 103 | 104 | function reviver(key, value) { 105 | return typeof value === "string" && /(^|_)(date|time|at)$/.test(key) ? new Date(value) : value; 106 | } 107 | 108 | function idle() { 109 | return new Promise(typeof window.requestIdleCallback === "function" 110 | ? window.requestIdleCallback 111 | : requestAnimationFrame); 112 | } 113 | ~~~ 114 | 115 |
116 | 117 |
118 |

Stars

119 |
120 |
${githubInfo.stargazers_count.toLocaleString("en-US")}
121 |
${recentStargazerCount.toLocaleString("en-US", {signDisplay: "always"})} in 7d
122 |
123 |
124 |
125 | 126 |

Weekly downloads

127 |
128 |
${weeklyDownloadsCount.toLocaleString("en-US")}
129 |
${weeklyDownloadsChange.toLocaleString("en-US", {style: "percent", signDisplay: "always"})}
130 |
131 |
132 | 133 |

Latest release

134 |
135 |
${npmInfo["dist-tags"].latest}
136 |
${utcDay.count(new Date(npmInfo.time[npmInfo["dist-tags"].latest]), today).toLocaleString("en-US")} days ago
137 |
138 |
139 |
140 | 141 |
142 |
143 |

Daily downloads

144 |

28d and 7d average

145 |
$\{resize((width) => Plot.plot({ 146 | width, 147 | height: 400, 148 | marginLeft: 0, 149 | marginRight: 60, 150 | x: {domain}, 151 | y: {label: "downloads", domain: [0, d3.quantile(downloads, 0.995, (d) => d.value)]}, 152 | marks: [ 153 | Plot.axisY({anchor: "right", label: null}), 154 | Plot.areaY(downloads, {x: "date", y: "value", fillOpacity: 0.2, curve: "step"}), 155 | Plot.ruleY([0]), 156 | Plot.lineY(downloads, Plot.windowY({k: 7, anchor: "start", strict: true}, {x: "date", y: "value", strokeWidth: 1, stroke: "var(--theme-foreground-focus)", curve: "step"})), 157 | Plot.lineY(downloads, Plot.windowY({k: 28, anchor: "start", strict: true}, {x: "date", y: "value", stroke: "var(--theme-foreground)", curve: "step"})), 158 | Plot.textX(versions.filter((d) => d.date >= start), {x: "date", text: "version", href: (d) => \`https://github.com/${githubRepo}/releases/tag/v$\{d.version\}\`, target: "_blank", rotate: -90, frameAnchor: "top-right", lineAnchor: "bottom", dx: -4}), 159 | Plot.ruleX(versions.filter((d) => d.date >= start), {x: "date", strokeOpacity: 0.2}), 160 | Plot.tip(downloads, Plot.pointerX({x: "date", y: "value"})) 161 | ] 162 | }))}
163 |
164 |
165 | 166 |
167 |
168 |

Downloads by version

169 |

Last seven days${versions.filter((d) => d.downloads > 0).length > 10 ? "; top 10 versions" : ""}

170 | $\{resize((width) => Plot.plot({ 171 | width, 172 | label: null, 173 | marginLeft: 40, 174 | marginRight: 60, 175 | x: {axis: "top", grid: true}, 176 | y: {domain: d3.sort(d3.sort(versions.filter((d) => d.downloads > 0), (d) => -d.downloads).slice(0, 10).map((d) => d.version), (a, b) => semverCompare(b, a))}, 177 | marks: [ 178 | Plot.barX(versions, { 179 | y: "version", 180 | x: "downloads" 181 | }), 182 | ((versions) => { 183 | const threshold = d3.max(versions, (d) => d.downloads) * 0.15; 184 | return d3.groups(versions, ({downloads}) => downloads > threshold) 185 | .map(([high, versions]) => Plot.text(versions, { 186 | y: "version", 187 | x: "downloads", 188 | dx: high ? -4 : 7, 189 | text: "downloads", 190 | textAnchor: high ? "end" : "start", 191 | fill: high ? "var(--theme-background)" : "var(--theme-foreground-muted)" 192 | }) 193 | ); 194 | })(versions), 195 | Plot.ruleX([0]) 196 | ] 197 | }))} 198 |
199 |
200 | 201 | --- 202 | 203 |
204 | 205 |

Days since last commit

206 |
${utcDay.count(new Date(commits[0].date), today).toLocaleString("en-US")}
207 |
208 | 209 |

Commits

210 |
211 |
${commits.filter((d) => d.date >= lastYear).length.toLocaleString("en-US")}
212 |
in 12 months
213 |
214 |
215 | 216 |

Open issues

217 |
218 |
${issues.filter((d) => d.state === "open").length.toLocaleString("en-US")}
219 |
220 |
221 |
222 | 223 |
224 |
225 |

Commits calendar

226 |

Last 12 months

227 | $\{resize((width) => Plot.plot({ 228 | width, 229 | label: null, 230 | round: false, 231 | marginTop: 0, 232 | marginBottom: 0, 233 | aspectRatio: 1, 234 | padding: 0, 235 | x: {axis: null}, 236 | y: {domain: [-1, 1, 2, 3, 4, 5, 6, 0], ticks: [1, 2, 3, 4, 5, 6, 0], tickFormat: Plot.formatWeekday()}, 237 | color: {type: "log", label: "commits", domain: [0.2, 20], interpolate: "hcl", range: dark ? [d3.hcl(160, 40, 0), d3.hcl(140, 80, 80)] : ["white", d3.hcl(140, 70, 40)]}, 238 | marks: [ 239 | Plot.cell(d3.utcDays(lastYear, today), {x: (d) => d3.utcMonday.count(0, d), y: (d) => d.getUTCDay(), stroke: "var(--theme-background)", r: 2, inset: 1.5}), 240 | Plot.text(d3.utcMondays(d3.utcMonday(lastYear), d3.utcMonday(today)).filter((d, i, D) => i === 0 || d.getUTCMonth() !== D[i - 1].getUTCMonth()), {x: (d) => d3.utcMonday.count(0, d), y: -1, text: d3.utcFormat("%b"), frameAnchor: "bottom-left"}), 241 | Plot.cell(commits.filter((d) => d.date >= lastYear), Plot.group({fill: "count"}, {x: (d) => d3.utcMonday.count(0, d.date), y: (d) => d.date.getUTCDay(), channels: {date: ([d]) => d3.utcDay(d.date)}, r: 2, tip: {format: {x: null, y: null}}, inset: 1})) 242 | ] 243 | }))} 244 |
245 |
246 | 247 | ${commits.some((d) => d.date >= start) ? `
248 |
249 |

Commits by author

${new Set(commits.filter((d) => d.date >= start).map((d) => d.author)).size > 10 ? "\n

Top 10 authors

" : ""} 250 | $\{resize((width) => Plot.plot({ 251 | width, 252 | label: null, 253 | marginLeft: 0, 254 | marginRight: 60, 255 | x: {axis: "top", domain}, 256 | y: {grid: true}, 257 | marks: [ 258 | Plot.axisY({anchor: "right", textOverflow: "ellipsis-middle", lineWidth: 5}), 259 | Plot.dot(commits.filter((d) => d.date >= start), {x: "date", y: "author", sort: {y: "x", reduce: "count", reverse: true, limit: 10}}), 260 | Plot.voronoi(commits.filter((d) => d.date >= start), {x: "date", y: "author", href: (d) => \`https://github.com/${githubRepo}/commit/$\{d.sha\}\`, target: "_blank", fill: "transparent", title: "message", tip: {maxRadius: Infinity}}) 261 | ] 262 | }))} 263 |
264 |
` : ""} 265 | 266 |
267 |
268 |

Issues burndown

269 |

Open issues by open date

270 |
$\{idle().then(() => resize((width) => Plot.plot({ 271 | width, 272 | style: "margin-top: 0.5rem;", 273 | x: {label: null, domain}, 274 | y: {label: "Open issues", insetTop: 30}, 275 | color: {legend: true, label: "Open date"}, 276 | marks: [ 277 | Plot.areaY( 278 | issues.flatMap((i) => 279 | d3 280 | .utcDays(Math.max(start, i.created_at), i.closed_at ?? d3.utcDay()) 281 | .map((at) => ({created_at: i.created_at, at})) 282 | ), 283 | Plot.binX( 284 | {y: "count"}, 285 | { 286 | x: "at", 287 | fill: (d) => d3.utcWeek(d.created_at), 288 | reverse: true, 289 | curve: "step-before", 290 | tip: {format: {x: null, z: null}}, 291 | interval: "day" 292 | } 293 | ) 294 | ), 295 | Plot.textX(versions.filter((d) => d.date >= start), {x: "date", text: "version", href: (d) => \`https://github.com/${githubRepo}/releases/tag/v$\{d.version\}\`, target: "_blank", rotate: -90, frameAnchor: "top-right", lineAnchor: "bottom", dx: -4}), 296 | Plot.ruleX(versions.filter((d) => d.date >= start), {x: "date", strokeOpacity: 0.2}), 297 | Plot.ruleY([0]) 298 | ] 299 | })))}
300 |
301 |
302 | 303 | --- 304 | 305 | 306 | 307 | 308 | 309 | 310 | 318 | `); 319 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@asamuzakjp/dom-selector@^2.0.1": 6 | version "2.0.2" 7 | resolved "https://registry.yarnpkg.com/@asamuzakjp/dom-selector/-/dom-selector-2.0.2.tgz#160f601d9a465bbdf641410afdc527f37325506e" 8 | integrity sha512-x1KXOatwofR6ZAYzXRBL5wrdV0vwNxlTCK9NCuLqAzQYARqGcvFwiJA6A1ERuh+dgeA4Dxm3JBYictIes+SqUQ== 9 | dependencies: 10 | bidi-js "^1.0.3" 11 | css-tree "^2.3.1" 12 | is-potential-custom-element-name "^1.0.1" 13 | 14 | "@clack/core@^0.3.3": 15 | version "0.3.4" 16 | resolved "https://registry.yarnpkg.com/@clack/core/-/core-0.3.4.tgz#375e82fc8fe46650b37cab2f2ea8752c6b7f0450" 17 | integrity sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw== 18 | dependencies: 19 | picocolors "^1.0.0" 20 | sisteransi "^1.0.5" 21 | 22 | "@clack/prompts@^0.7.0": 23 | version "0.7.0" 24 | resolved "https://registry.yarnpkg.com/@clack/prompts/-/prompts-0.7.0.tgz#6aaef48ea803d91cce12bc80811cfcb8de2e75ea" 25 | integrity sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA== 26 | dependencies: 27 | "@clack/core" "^0.3.3" 28 | picocolors "^1.0.0" 29 | sisteransi "^1.0.5" 30 | 31 | "@esbuild/aix-ppc64@0.20.2": 32 | version "0.20.2" 33 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" 34 | integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== 35 | 36 | "@esbuild/aix-ppc64@0.23.1": 37 | version "0.23.1" 38 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz#51299374de171dbd80bb7d838e1cfce9af36f353" 39 | integrity sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ== 40 | 41 | "@esbuild/android-arm64@0.20.2": 42 | version "0.20.2" 43 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" 44 | integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== 45 | 46 | "@esbuild/android-arm64@0.23.1": 47 | version "0.23.1" 48 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz#58565291a1fe548638adb9c584237449e5e14018" 49 | integrity sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw== 50 | 51 | "@esbuild/android-arm@0.20.2": 52 | version "0.20.2" 53 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" 54 | integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== 55 | 56 | "@esbuild/android-arm@0.23.1": 57 | version "0.23.1" 58 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.23.1.tgz#5eb8c652d4c82a2421e3395b808e6d9c42c862ee" 59 | integrity sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ== 60 | 61 | "@esbuild/android-x64@0.20.2": 62 | version "0.20.2" 63 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" 64 | integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== 65 | 66 | "@esbuild/android-x64@0.23.1": 67 | version "0.23.1" 68 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.23.1.tgz#ae19d665d2f06f0f48a6ac9a224b3f672e65d517" 69 | integrity sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg== 70 | 71 | "@esbuild/darwin-arm64@0.20.2": 72 | version "0.20.2" 73 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" 74 | integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== 75 | 76 | "@esbuild/darwin-arm64@0.23.1": 77 | version "0.23.1" 78 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz#05b17f91a87e557b468a9c75e9d85ab10c121b16" 79 | integrity sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q== 80 | 81 | "@esbuild/darwin-x64@0.20.2": 82 | version "0.20.2" 83 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" 84 | integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== 85 | 86 | "@esbuild/darwin-x64@0.23.1": 87 | version "0.23.1" 88 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz#c58353b982f4e04f0d022284b8ba2733f5ff0931" 89 | integrity sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw== 90 | 91 | "@esbuild/freebsd-arm64@0.20.2": 92 | version "0.20.2" 93 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" 94 | integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== 95 | 96 | "@esbuild/freebsd-arm64@0.23.1": 97 | version "0.23.1" 98 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz#f9220dc65f80f03635e1ef96cfad5da1f446f3bc" 99 | integrity sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA== 100 | 101 | "@esbuild/freebsd-x64@0.20.2": 102 | version "0.20.2" 103 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" 104 | integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== 105 | 106 | "@esbuild/freebsd-x64@0.23.1": 107 | version "0.23.1" 108 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz#69bd8511fa013b59f0226d1609ac43f7ce489730" 109 | integrity sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g== 110 | 111 | "@esbuild/linux-arm64@0.20.2": 112 | version "0.20.2" 113 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" 114 | integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== 115 | 116 | "@esbuild/linux-arm64@0.23.1": 117 | version "0.23.1" 118 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz#8050af6d51ddb388c75653ef9871f5ccd8f12383" 119 | integrity sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g== 120 | 121 | "@esbuild/linux-arm@0.20.2": 122 | version "0.20.2" 123 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" 124 | integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== 125 | 126 | "@esbuild/linux-arm@0.23.1": 127 | version "0.23.1" 128 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz#ecaabd1c23b701070484990db9a82f382f99e771" 129 | integrity sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ== 130 | 131 | "@esbuild/linux-ia32@0.20.2": 132 | version "0.20.2" 133 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" 134 | integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== 135 | 136 | "@esbuild/linux-ia32@0.23.1": 137 | version "0.23.1" 138 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz#3ed2273214178109741c09bd0687098a0243b333" 139 | integrity sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ== 140 | 141 | "@esbuild/linux-loong64@0.20.2": 142 | version "0.20.2" 143 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" 144 | integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== 145 | 146 | "@esbuild/linux-loong64@0.23.1": 147 | version "0.23.1" 148 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz#a0fdf440b5485c81b0fbb316b08933d217f5d3ac" 149 | integrity sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw== 150 | 151 | "@esbuild/linux-mips64el@0.20.2": 152 | version "0.20.2" 153 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" 154 | integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== 155 | 156 | "@esbuild/linux-mips64el@0.23.1": 157 | version "0.23.1" 158 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz#e11a2806346db8375b18f5e104c5a9d4e81807f6" 159 | integrity sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q== 160 | 161 | "@esbuild/linux-ppc64@0.20.2": 162 | version "0.20.2" 163 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" 164 | integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== 165 | 166 | "@esbuild/linux-ppc64@0.23.1": 167 | version "0.23.1" 168 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz#06a2744c5eaf562b1a90937855b4d6cf7c75ec96" 169 | integrity sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw== 170 | 171 | "@esbuild/linux-riscv64@0.20.2": 172 | version "0.20.2" 173 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" 174 | integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== 175 | 176 | "@esbuild/linux-riscv64@0.23.1": 177 | version "0.23.1" 178 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz#65b46a2892fc0d1af4ba342af3fe0fa4a8fe08e7" 179 | integrity sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA== 180 | 181 | "@esbuild/linux-s390x@0.20.2": 182 | version "0.20.2" 183 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" 184 | integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== 185 | 186 | "@esbuild/linux-s390x@0.23.1": 187 | version "0.23.1" 188 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz#e71ea18c70c3f604e241d16e4e5ab193a9785d6f" 189 | integrity sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw== 190 | 191 | "@esbuild/linux-x64@0.20.2": 192 | version "0.20.2" 193 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" 194 | integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== 195 | 196 | "@esbuild/linux-x64@0.23.1": 197 | version "0.23.1" 198 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz#d47f97391e80690d4dfe811a2e7d6927ad9eed24" 199 | integrity sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ== 200 | 201 | "@esbuild/netbsd-x64@0.20.2": 202 | version "0.20.2" 203 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" 204 | integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== 205 | 206 | "@esbuild/netbsd-x64@0.23.1": 207 | version "0.23.1" 208 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz#44e743c9778d57a8ace4b72f3c6b839a3b74a653" 209 | integrity sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA== 210 | 211 | "@esbuild/openbsd-arm64@0.23.1": 212 | version "0.23.1" 213 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz#05c5a1faf67b9881834758c69f3e51b7dee015d7" 214 | integrity sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q== 215 | 216 | "@esbuild/openbsd-x64@0.20.2": 217 | version "0.20.2" 218 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" 219 | integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== 220 | 221 | "@esbuild/openbsd-x64@0.23.1": 222 | version "0.23.1" 223 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz#2e58ae511bacf67d19f9f2dcd9e8c5a93f00c273" 224 | integrity sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA== 225 | 226 | "@esbuild/sunos-x64@0.20.2": 227 | version "0.20.2" 228 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" 229 | integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== 230 | 231 | "@esbuild/sunos-x64@0.23.1": 232 | version "0.23.1" 233 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz#adb022b959d18d3389ac70769cef5a03d3abd403" 234 | integrity sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA== 235 | 236 | "@esbuild/win32-arm64@0.20.2": 237 | version "0.20.2" 238 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" 239 | integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== 240 | 241 | "@esbuild/win32-arm64@0.23.1": 242 | version "0.23.1" 243 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz#84906f50c212b72ec360f48461d43202f4c8b9a2" 244 | integrity sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A== 245 | 246 | "@esbuild/win32-ia32@0.20.2": 247 | version "0.20.2" 248 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" 249 | integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== 250 | 251 | "@esbuild/win32-ia32@0.23.1": 252 | version "0.23.1" 253 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz#5e3eacc515820ff729e90d0cb463183128e82fac" 254 | integrity sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ== 255 | 256 | "@esbuild/win32-x64@0.20.2": 257 | version "0.20.2" 258 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" 259 | integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== 260 | 261 | "@esbuild/win32-x64@0.23.1": 262 | version "0.23.1" 263 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz#81fd50d11e2c32b2d6241470e3185b70c7b30699" 264 | integrity sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg== 265 | 266 | "@isaacs/cliui@^8.0.2": 267 | version "8.0.2" 268 | resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" 269 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== 270 | dependencies: 271 | string-width "^5.1.2" 272 | string-width-cjs "npm:string-width@^4.2.0" 273 | strip-ansi "^7.0.1" 274 | strip-ansi-cjs "npm:strip-ansi@^6.0.1" 275 | wrap-ansi "^8.1.0" 276 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 277 | 278 | "@jridgewell/sourcemap-codec@^1.5.0": 279 | version "1.5.0" 280 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" 281 | integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== 282 | 283 | "@observablehq/framework@^1.13.0": 284 | version "1.13.0" 285 | resolved "https://registry.yarnpkg.com/@observablehq/framework/-/framework-1.13.0.tgz#bd67a4bbd21ab418aed9c63382bb34e041f1e4d8" 286 | integrity sha512-xHT8A5yjNNzvB+EDIIGTyVaKYo0TXCY0s2v6kAK4fAswiV1GMmlttx7VTxpu5Tn5ZMIzomfmWSb06/oidLP8OQ== 287 | dependencies: 288 | "@clack/prompts" "^0.7.0" 289 | "@observablehq/inputs" "^0.12.0" 290 | "@observablehq/inspector" "^5.0.1" 291 | "@observablehq/runtime" "^6.0.0" 292 | "@rollup/plugin-commonjs" "^25.0.7" 293 | "@rollup/plugin-json" "^6.1.0" 294 | "@rollup/plugin-node-resolve" "^15.2.3" 295 | "@rollup/plugin-virtual" "^3.0.2" 296 | "@sindresorhus/slugify" "^2.2.1" 297 | acorn "^8.11.2" 298 | acorn-walk "^8.3.0" 299 | ci-info "^4.0.0" 300 | cross-spawn "^7.0.3" 301 | d3-array "^3.2.4" 302 | d3-hierarchy "^3.1.2" 303 | esbuild "^0.20.1" 304 | fast-array-diff "^1.1.0" 305 | fast-deep-equal "^3.1.3" 306 | glob "^10.3.10" 307 | gray-matter "^4.0.3" 308 | he "^1.2.0" 309 | highlight.js "^11.8.0" 310 | is-docker "^3.0.0" 311 | is-wsl "^3.1.0" 312 | jsdom "^23.2.0" 313 | jszip "^3.10.1" 314 | markdown-it "^14.0.0" 315 | markdown-it-anchor "^8.6.7" 316 | mime "^4.0.0" 317 | minisearch "^6.3.0" 318 | open "^10.1.0" 319 | picocolors "^1.1.1" 320 | pkg-dir "^8.0.0" 321 | resolve.exports "^2.0.2" 322 | rollup "^4.6.0" 323 | rollup-plugin-esbuild "^6.1.0" 324 | semver "^7.5.4" 325 | send "^0.19.0" 326 | tar "^6.2.0" 327 | tar-stream "^3.1.6" 328 | tsx "^4.7.1" 329 | untildify "^5.0.0" 330 | wrap-ansi "^9.0.0" 331 | ws "^8.14.2" 332 | 333 | "@observablehq/inputs@^0.12.0": 334 | version "0.12.0" 335 | resolved "https://registry.yarnpkg.com/@observablehq/inputs/-/inputs-0.12.0.tgz#865acb8f3292efdfedfdd5291e69dd88f7086ef3" 336 | integrity sha512-1ln7+PYe31cMx00K9awVbiCscQM0THnXRJ/AEzd+FfTA25Gu3KRWknAGECxU49QzHyKqiXpLl5LCg3XtYm70eQ== 337 | dependencies: 338 | htl "^0.3.1" 339 | isoformat "^0.2.0" 340 | 341 | "@observablehq/inspector@^5.0.1": 342 | version "5.0.1" 343 | resolved "https://registry.yarnpkg.com/@observablehq/inspector/-/inspector-5.0.1.tgz#586280d0bc5da55da8e715ade86ba438dc14b056" 344 | integrity sha512-euwWxwDa6KccU4G3D2JBD7GI/2McJh/z7HHEzJKbj2TDa7zhI37eTbTxiwE9rgTWBagvVBel+hAmnJRYBYOv2Q== 345 | dependencies: 346 | isoformat "^0.2.0" 347 | 348 | "@observablehq/plot@^0.6.16": 349 | version "0.6.16" 350 | resolved "https://registry.yarnpkg.com/@observablehq/plot/-/plot-0.6.16.tgz#d417d716e2704e2899b0a43f53bda022641eec80" 351 | integrity sha512-LRi9Rn93yUx90MIo2Md7+vazxO3Wiat14but2ttCER0xVS+jnfoUjuCGoz6H7bz/lgI9CFcW0HWlvWjMFjAv8g== 352 | dependencies: 353 | d3 "^7.9.0" 354 | interval-tree-1d "^1.0.0" 355 | isoformat "^0.2.0" 356 | 357 | "@observablehq/runtime@^6.0.0": 358 | version "6.0.0" 359 | resolved "https://registry.yarnpkg.com/@observablehq/runtime/-/runtime-6.0.0.tgz#0ae8d8fa202dba487c34d2ff09ed5f6bca6b189e" 360 | integrity sha512-t3UXP69O0JK20HY/neF4/DDDSDorwo92As806Y1pNTgTmj1NtoPyVpesYzfH31gTFOFrXC2cArV+wLpebMk9eA== 361 | 362 | "@pkgjs/parseargs@^0.11.0": 363 | version "0.11.0" 364 | resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" 365 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== 366 | 367 | "@rollup/plugin-commonjs@^25.0.7": 368 | version "25.0.8" 369 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz#c77e608ab112a666b7f2a6bea625c73224f7dd34" 370 | integrity sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A== 371 | dependencies: 372 | "@rollup/pluginutils" "^5.0.1" 373 | commondir "^1.0.1" 374 | estree-walker "^2.0.2" 375 | glob "^8.0.3" 376 | is-reference "1.2.1" 377 | magic-string "^0.30.3" 378 | 379 | "@rollup/plugin-json@^6.1.0": 380 | version "6.1.0" 381 | resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-6.1.0.tgz#fbe784e29682e9bb6dee28ea75a1a83702e7b805" 382 | integrity sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA== 383 | dependencies: 384 | "@rollup/pluginutils" "^5.1.0" 385 | 386 | "@rollup/plugin-node-resolve@^15.2.3": 387 | version "15.3.0" 388 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.0.tgz#efbb35515c9672e541c08d59caba2eff492a55d5" 389 | integrity sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag== 390 | dependencies: 391 | "@rollup/pluginutils" "^5.0.1" 392 | "@types/resolve" "1.20.2" 393 | deepmerge "^4.2.2" 394 | is-module "^1.0.0" 395 | resolve "^1.22.1" 396 | 397 | "@rollup/plugin-virtual@^3.0.2": 398 | version "3.0.2" 399 | resolved "https://registry.yarnpkg.com/@rollup/plugin-virtual/-/plugin-virtual-3.0.2.tgz#17e17eeecb4c9fa1c0a6e72c9e5f66382fddbb82" 400 | integrity sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A== 401 | 402 | "@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@^5.0.5", "@rollup/pluginutils@^5.1.0": 403 | version "5.1.2" 404 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.2.tgz#d3bc9f0fea4fd4086aaac6aa102f3fa587ce8bd9" 405 | integrity sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw== 406 | dependencies: 407 | "@types/estree" "^1.0.0" 408 | estree-walker "^2.0.2" 409 | picomatch "^2.3.1" 410 | 411 | "@rollup/rollup-android-arm-eabi@4.24.0": 412 | version "4.24.0" 413 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz#1661ff5ea9beb362795304cb916049aba7ac9c54" 414 | integrity sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA== 415 | 416 | "@rollup/rollup-android-arm64@4.24.0": 417 | version "4.24.0" 418 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz#2ffaa91f1b55a0082b8a722525741aadcbd3971e" 419 | integrity sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA== 420 | 421 | "@rollup/rollup-darwin-arm64@4.24.0": 422 | version "4.24.0" 423 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz#627007221b24b8cc3063703eee0b9177edf49c1f" 424 | integrity sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA== 425 | 426 | "@rollup/rollup-darwin-x64@4.24.0": 427 | version "4.24.0" 428 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz#0605506142b9e796c370d59c5984ae95b9758724" 429 | integrity sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ== 430 | 431 | "@rollup/rollup-linux-arm-gnueabihf@4.24.0": 432 | version "4.24.0" 433 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz#62dfd196d4b10c0c2db833897164d2d319ee0cbb" 434 | integrity sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA== 435 | 436 | "@rollup/rollup-linux-arm-musleabihf@4.24.0": 437 | version "4.24.0" 438 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz#53ce72aeb982f1f34b58b380baafaf6a240fddb3" 439 | integrity sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw== 440 | 441 | "@rollup/rollup-linux-arm64-gnu@4.24.0": 442 | version "4.24.0" 443 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz#1632990f62a75c74f43e4b14ab3597d7ed416496" 444 | integrity sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA== 445 | 446 | "@rollup/rollup-linux-arm64-musl@4.24.0": 447 | version "4.24.0" 448 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz#8c03a996efb41e257b414b2e0560b7a21f2d9065" 449 | integrity sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw== 450 | 451 | "@rollup/rollup-linux-powerpc64le-gnu@4.24.0": 452 | version "4.24.0" 453 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz#5b98729628d5bcc8f7f37b58b04d6845f85c7b5d" 454 | integrity sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw== 455 | 456 | "@rollup/rollup-linux-riscv64-gnu@4.24.0": 457 | version "4.24.0" 458 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz#48e42e41f4cabf3573cfefcb448599c512e22983" 459 | integrity sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg== 460 | 461 | "@rollup/rollup-linux-s390x-gnu@4.24.0": 462 | version "4.24.0" 463 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz#e0b4f9a966872cb7d3e21b9e412a4b7efd7f0b58" 464 | integrity sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g== 465 | 466 | "@rollup/rollup-linux-x64-gnu@4.24.0": 467 | version "4.24.0" 468 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz#78144741993100f47bd3da72fce215e077ae036b" 469 | integrity sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A== 470 | 471 | "@rollup/rollup-linux-x64-musl@4.24.0": 472 | version "4.24.0" 473 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz#d9fe32971883cd1bd858336bd33a1c3ca6146127" 474 | integrity sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ== 475 | 476 | "@rollup/rollup-win32-arm64-msvc@4.24.0": 477 | version "4.24.0" 478 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz#71fa3ea369316db703a909c790743972e98afae5" 479 | integrity sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ== 480 | 481 | "@rollup/rollup-win32-ia32-msvc@4.24.0": 482 | version "4.24.0" 483 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz#653f5989a60658e17d7576a3996deb3902e342e2" 484 | integrity sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ== 485 | 486 | "@rollup/rollup-win32-x64-msvc@4.24.0": 487 | version "4.24.0" 488 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz#0574d7e87b44ee8511d08cc7f914bcb802b70818" 489 | integrity sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw== 490 | 491 | "@sindresorhus/slugify@^2.2.1": 492 | version "2.2.1" 493 | resolved "https://registry.yarnpkg.com/@sindresorhus/slugify/-/slugify-2.2.1.tgz#fa2e2e25d6e1e74a2eeb5e2c37f5ccc516ed2c4b" 494 | integrity sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== 495 | dependencies: 496 | "@sindresorhus/transliterate" "^1.0.0" 497 | escape-string-regexp "^5.0.0" 498 | 499 | "@sindresorhus/transliterate@^1.0.0": 500 | version "1.6.0" 501 | resolved "https://registry.yarnpkg.com/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz#2309fff65a868047e6d2dd70dec747c5b36a8327" 502 | integrity sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== 503 | dependencies: 504 | escape-string-regexp "^5.0.0" 505 | 506 | "@types/estree@*", "@types/estree@1.0.6", "@types/estree@^1.0.0": 507 | version "1.0.6" 508 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" 509 | integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== 510 | 511 | "@types/node@^22.7.4": 512 | version "22.7.4" 513 | resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.4.tgz#e35d6f48dca3255ce44256ddc05dee1c23353fcc" 514 | integrity sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg== 515 | dependencies: 516 | undici-types "~6.19.2" 517 | 518 | "@types/resolve@1.20.2": 519 | version "1.20.2" 520 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" 521 | integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== 522 | 523 | acorn-walk@^8.3.0: 524 | version "8.3.4" 525 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" 526 | integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== 527 | dependencies: 528 | acorn "^8.11.0" 529 | 530 | acorn@^8.11.0, acorn@^8.11.2: 531 | version "8.12.1" 532 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" 533 | integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== 534 | 535 | agent-base@^7.0.2, agent-base@^7.1.0: 536 | version "7.1.1" 537 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" 538 | integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== 539 | dependencies: 540 | debug "^4.3.4" 541 | 542 | ansi-regex@^5.0.1: 543 | version "5.0.1" 544 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 545 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 546 | 547 | ansi-regex@^6.0.1: 548 | version "6.1.0" 549 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" 550 | integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== 551 | 552 | ansi-styles@^4.0.0: 553 | version "4.3.0" 554 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 555 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 556 | dependencies: 557 | color-convert "^2.0.1" 558 | 559 | ansi-styles@^6.1.0, ansi-styles@^6.2.1: 560 | version "6.2.1" 561 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" 562 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 563 | 564 | argparse@^1.0.7: 565 | version "1.0.10" 566 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 567 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 568 | dependencies: 569 | sprintf-js "~1.0.2" 570 | 571 | argparse@^2.0.1: 572 | version "2.0.1" 573 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 574 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 575 | 576 | asynckit@^0.4.0: 577 | version "0.4.0" 578 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 579 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 580 | 581 | b4a@^1.6.4: 582 | version "1.6.7" 583 | resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" 584 | integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== 585 | 586 | balanced-match@^1.0.0: 587 | version "1.0.2" 588 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 589 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 590 | 591 | bare-events@^2.2.0: 592 | version "2.5.0" 593 | resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.5.0.tgz#305b511e262ffd8b9d5616b056464f8e1b3329cc" 594 | integrity sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A== 595 | 596 | bidi-js@^1.0.3: 597 | version "1.0.3" 598 | resolved "https://registry.yarnpkg.com/bidi-js/-/bidi-js-1.0.3.tgz#6f8bcf3c877c4d9220ddf49b9bb6930c88f877d2" 599 | integrity sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw== 600 | dependencies: 601 | require-from-string "^2.0.2" 602 | 603 | binary-search-bounds@^2.0.0: 604 | version "2.0.5" 605 | resolved "https://registry.yarnpkg.com/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz#125e5bd399882f71e6660d4bf1186384e989fba7" 606 | integrity sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA== 607 | 608 | brace-expansion@^2.0.1: 609 | version "2.0.1" 610 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 611 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 612 | dependencies: 613 | balanced-match "^1.0.0" 614 | 615 | bundle-name@^4.1.0: 616 | version "4.1.0" 617 | resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" 618 | integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== 619 | dependencies: 620 | run-applescript "^7.0.0" 621 | 622 | chownr@^2.0.0: 623 | version "2.0.0" 624 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" 625 | integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== 626 | 627 | ci-info@^4.0.0: 628 | version "4.0.0" 629 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" 630 | integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== 631 | 632 | color-convert@^2.0.1: 633 | version "2.0.1" 634 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 635 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 636 | dependencies: 637 | color-name "~1.1.4" 638 | 639 | color-name@~1.1.4: 640 | version "1.1.4" 641 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 642 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 643 | 644 | combined-stream@^1.0.8: 645 | version "1.0.8" 646 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 647 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 648 | dependencies: 649 | delayed-stream "~1.0.0" 650 | 651 | commander@7: 652 | version "7.2.0" 653 | resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" 654 | integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== 655 | 656 | commondir@^1.0.1: 657 | version "1.0.1" 658 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 659 | integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 660 | 661 | core-util-is@~1.0.0: 662 | version "1.0.3" 663 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 664 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 665 | 666 | cross-spawn@^7.0.0, cross-spawn@^7.0.3: 667 | version "7.0.3" 668 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 669 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 670 | dependencies: 671 | path-key "^3.1.0" 672 | shebang-command "^2.0.0" 673 | which "^2.0.1" 674 | 675 | css-tree@^2.3.1: 676 | version "2.3.1" 677 | resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" 678 | integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== 679 | dependencies: 680 | mdn-data "2.0.30" 681 | source-map-js "^1.0.1" 682 | 683 | cssstyle@^4.0.1, cssstyle@^4.1.0: 684 | version "4.1.0" 685 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.1.0.tgz#161faee382af1bafadb6d3867a92a19bcb4aea70" 686 | integrity sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA== 687 | dependencies: 688 | rrweb-cssom "^0.7.1" 689 | 690 | "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0, d3-array@^3.2.4: 691 | version "3.2.4" 692 | resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" 693 | integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== 694 | dependencies: 695 | internmap "1 - 2" 696 | 697 | d3-axis@3: 698 | version "3.0.0" 699 | resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" 700 | integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== 701 | 702 | d3-brush@3: 703 | version "3.0.0" 704 | resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" 705 | integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== 706 | dependencies: 707 | d3-dispatch "1 - 3" 708 | d3-drag "2 - 3" 709 | d3-interpolate "1 - 3" 710 | d3-selection "3" 711 | d3-transition "3" 712 | 713 | d3-chord@3: 714 | version "3.0.1" 715 | resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" 716 | integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== 717 | dependencies: 718 | d3-path "1 - 3" 719 | 720 | "d3-color@1 - 3", d3-color@3: 721 | version "3.1.0" 722 | resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" 723 | integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== 724 | 725 | d3-contour@4: 726 | version "4.0.2" 727 | resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" 728 | integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== 729 | dependencies: 730 | d3-array "^3.2.0" 731 | 732 | d3-delaunay@6: 733 | version "6.0.4" 734 | resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" 735 | integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== 736 | dependencies: 737 | delaunator "5" 738 | 739 | "d3-dispatch@1 - 3", d3-dispatch@3: 740 | version "3.0.1" 741 | resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" 742 | integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== 743 | 744 | "d3-drag@2 - 3", d3-drag@3: 745 | version "3.0.0" 746 | resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" 747 | integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== 748 | dependencies: 749 | d3-dispatch "1 - 3" 750 | d3-selection "3" 751 | 752 | "d3-dsv@1 - 3", d3-dsv@3: 753 | version "3.0.1" 754 | resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" 755 | integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== 756 | dependencies: 757 | commander "7" 758 | iconv-lite "0.6" 759 | rw "1" 760 | 761 | "d3-ease@1 - 3", d3-ease@3: 762 | version "3.0.1" 763 | resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" 764 | integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== 765 | 766 | d3-fetch@3: 767 | version "3.0.1" 768 | resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" 769 | integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== 770 | dependencies: 771 | d3-dsv "1 - 3" 772 | 773 | d3-force@3: 774 | version "3.0.0" 775 | resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" 776 | integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== 777 | dependencies: 778 | d3-dispatch "1 - 3" 779 | d3-quadtree "1 - 3" 780 | d3-timer "1 - 3" 781 | 782 | "d3-format@1 - 3", d3-format@3: 783 | version "3.1.0" 784 | resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" 785 | integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== 786 | 787 | d3-geo@3: 788 | version "3.1.1" 789 | resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.1.tgz#6027cf51246f9b2ebd64f99e01dc7c3364033a4d" 790 | integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== 791 | dependencies: 792 | d3-array "2.5.0 - 3" 793 | 794 | d3-hierarchy@3, d3-hierarchy@^3.1.2: 795 | version "3.1.2" 796 | resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" 797 | integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== 798 | 799 | "d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: 800 | version "3.0.1" 801 | resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" 802 | integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== 803 | dependencies: 804 | d3-color "1 - 3" 805 | 806 | "d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: 807 | version "3.1.0" 808 | resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" 809 | integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== 810 | 811 | d3-polygon@3: 812 | version "3.0.1" 813 | resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" 814 | integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== 815 | 816 | "d3-quadtree@1 - 3", d3-quadtree@3: 817 | version "3.0.1" 818 | resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" 819 | integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== 820 | 821 | d3-random@3: 822 | version "3.0.1" 823 | resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" 824 | integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== 825 | 826 | d3-scale-chromatic@3: 827 | version "3.1.0" 828 | resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" 829 | integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== 830 | dependencies: 831 | d3-color "1 - 3" 832 | d3-interpolate "1 - 3" 833 | 834 | d3-scale@4: 835 | version "4.0.2" 836 | resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" 837 | integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== 838 | dependencies: 839 | d3-array "2.10.0 - 3" 840 | d3-format "1 - 3" 841 | d3-interpolate "1.2.0 - 3" 842 | d3-time "2.1.1 - 3" 843 | d3-time-format "2 - 4" 844 | 845 | "d3-selection@2 - 3", d3-selection@3: 846 | version "3.0.0" 847 | resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" 848 | integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== 849 | 850 | d3-shape@3: 851 | version "3.2.0" 852 | resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" 853 | integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== 854 | dependencies: 855 | d3-path "^3.1.0" 856 | 857 | "d3-time-format@2 - 4", d3-time-format@4, d3-time-format@^4.1.0: 858 | version "4.1.0" 859 | resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" 860 | integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== 861 | dependencies: 862 | d3-time "1 - 3" 863 | 864 | "d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3, d3-time@^3.1.0: 865 | version "3.1.0" 866 | resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" 867 | integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== 868 | dependencies: 869 | d3-array "2 - 3" 870 | 871 | "d3-timer@1 - 3", d3-timer@3: 872 | version "3.0.1" 873 | resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" 874 | integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== 875 | 876 | "d3-transition@2 - 3", d3-transition@3: 877 | version "3.0.1" 878 | resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" 879 | integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== 880 | dependencies: 881 | d3-color "1 - 3" 882 | d3-dispatch "1 - 3" 883 | d3-ease "1 - 3" 884 | d3-interpolate "1 - 3" 885 | d3-timer "1 - 3" 886 | 887 | d3-zoom@3: 888 | version "3.0.0" 889 | resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" 890 | integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== 891 | dependencies: 892 | d3-dispatch "1 - 3" 893 | d3-drag "2 - 3" 894 | d3-interpolate "1 - 3" 895 | d3-selection "2 - 3" 896 | d3-transition "2 - 3" 897 | 898 | d3@^7.9.0: 899 | version "7.9.0" 900 | resolved "https://registry.yarnpkg.com/d3/-/d3-7.9.0.tgz#579e7acb3d749caf8860bd1741ae8d371070cd5d" 901 | integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== 902 | dependencies: 903 | d3-array "3" 904 | d3-axis "3" 905 | d3-brush "3" 906 | d3-chord "3" 907 | d3-color "3" 908 | d3-contour "4" 909 | d3-delaunay "6" 910 | d3-dispatch "3" 911 | d3-drag "3" 912 | d3-dsv "3" 913 | d3-ease "3" 914 | d3-fetch "3" 915 | d3-force "3" 916 | d3-format "3" 917 | d3-geo "3" 918 | d3-hierarchy "3" 919 | d3-interpolate "3" 920 | d3-path "3" 921 | d3-polygon "3" 922 | d3-quadtree "3" 923 | d3-random "3" 924 | d3-scale "4" 925 | d3-scale-chromatic "3" 926 | d3-selection "3" 927 | d3-shape "3" 928 | d3-time "3" 929 | d3-time-format "4" 930 | d3-timer "3" 931 | d3-transition "3" 932 | d3-zoom "3" 933 | 934 | data-urls@^5.0.0: 935 | version "5.0.0" 936 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde" 937 | integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== 938 | dependencies: 939 | whatwg-mimetype "^4.0.0" 940 | whatwg-url "^14.0.0" 941 | 942 | debug@2.6.9: 943 | version "2.6.9" 944 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 945 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 946 | dependencies: 947 | ms "2.0.0" 948 | 949 | debug@4, debug@^4.3.4: 950 | version "4.3.7" 951 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" 952 | integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== 953 | dependencies: 954 | ms "^2.1.3" 955 | 956 | decimal.js@^10.4.3: 957 | version "10.4.3" 958 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" 959 | integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== 960 | 961 | deepmerge@^4.2.2: 962 | version "4.3.1" 963 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" 964 | integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== 965 | 966 | default-browser-id@^5.0.0: 967 | version "5.0.0" 968 | resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-5.0.0.tgz#a1d98bf960c15082d8a3fa69e83150ccccc3af26" 969 | integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== 970 | 971 | default-browser@^5.2.1: 972 | version "5.2.1" 973 | resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-5.2.1.tgz#7b7ba61204ff3e425b556869ae6d3e9d9f1712cf" 974 | integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== 975 | dependencies: 976 | bundle-name "^4.1.0" 977 | default-browser-id "^5.0.0" 978 | 979 | define-lazy-prop@^3.0.0: 980 | version "3.0.0" 981 | resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" 982 | integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== 983 | 984 | delaunator@5: 985 | version "5.0.1" 986 | resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.1.tgz#39032b08053923e924d6094fe2cde1a99cc51278" 987 | integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== 988 | dependencies: 989 | robust-predicates "^3.0.2" 990 | 991 | delayed-stream@~1.0.0: 992 | version "1.0.0" 993 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 994 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 995 | 996 | depd@2.0.0: 997 | version "2.0.0" 998 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 999 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 1000 | 1001 | destroy@1.2.0: 1002 | version "1.2.0" 1003 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 1004 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 1005 | 1006 | dotenv@^16.4.5: 1007 | version "16.4.5" 1008 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" 1009 | integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== 1010 | 1011 | eastasianwidth@^0.2.0: 1012 | version "0.2.0" 1013 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 1014 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 1015 | 1016 | ee-first@1.1.1: 1017 | version "1.1.1" 1018 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 1019 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 1020 | 1021 | emoji-regex@^10.3.0: 1022 | version "10.4.0" 1023 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.4.0.tgz#03553afea80b3975749cfcb36f776ca268e413d4" 1024 | integrity sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== 1025 | 1026 | emoji-regex@^8.0.0: 1027 | version "8.0.0" 1028 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1029 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1030 | 1031 | emoji-regex@^9.2.2: 1032 | version "9.2.2" 1033 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 1034 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 1035 | 1036 | encodeurl@~1.0.2: 1037 | version "1.0.2" 1038 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 1039 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 1040 | 1041 | entities@^4.4.0: 1042 | version "4.5.0" 1043 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" 1044 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== 1045 | 1046 | es-module-lexer@^1.3.1: 1047 | version "1.5.4" 1048 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" 1049 | integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== 1050 | 1051 | esbuild@^0.20.1: 1052 | version "0.20.2" 1053 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" 1054 | integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== 1055 | optionalDependencies: 1056 | "@esbuild/aix-ppc64" "0.20.2" 1057 | "@esbuild/android-arm" "0.20.2" 1058 | "@esbuild/android-arm64" "0.20.2" 1059 | "@esbuild/android-x64" "0.20.2" 1060 | "@esbuild/darwin-arm64" "0.20.2" 1061 | "@esbuild/darwin-x64" "0.20.2" 1062 | "@esbuild/freebsd-arm64" "0.20.2" 1063 | "@esbuild/freebsd-x64" "0.20.2" 1064 | "@esbuild/linux-arm" "0.20.2" 1065 | "@esbuild/linux-arm64" "0.20.2" 1066 | "@esbuild/linux-ia32" "0.20.2" 1067 | "@esbuild/linux-loong64" "0.20.2" 1068 | "@esbuild/linux-mips64el" "0.20.2" 1069 | "@esbuild/linux-ppc64" "0.20.2" 1070 | "@esbuild/linux-riscv64" "0.20.2" 1071 | "@esbuild/linux-s390x" "0.20.2" 1072 | "@esbuild/linux-x64" "0.20.2" 1073 | "@esbuild/netbsd-x64" "0.20.2" 1074 | "@esbuild/openbsd-x64" "0.20.2" 1075 | "@esbuild/sunos-x64" "0.20.2" 1076 | "@esbuild/win32-arm64" "0.20.2" 1077 | "@esbuild/win32-ia32" "0.20.2" 1078 | "@esbuild/win32-x64" "0.20.2" 1079 | 1080 | esbuild@~0.23.0: 1081 | version "0.23.1" 1082 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.23.1.tgz#40fdc3f9265ec0beae6f59824ade1bd3d3d2dab8" 1083 | integrity sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg== 1084 | optionalDependencies: 1085 | "@esbuild/aix-ppc64" "0.23.1" 1086 | "@esbuild/android-arm" "0.23.1" 1087 | "@esbuild/android-arm64" "0.23.1" 1088 | "@esbuild/android-x64" "0.23.1" 1089 | "@esbuild/darwin-arm64" "0.23.1" 1090 | "@esbuild/darwin-x64" "0.23.1" 1091 | "@esbuild/freebsd-arm64" "0.23.1" 1092 | "@esbuild/freebsd-x64" "0.23.1" 1093 | "@esbuild/linux-arm" "0.23.1" 1094 | "@esbuild/linux-arm64" "0.23.1" 1095 | "@esbuild/linux-ia32" "0.23.1" 1096 | "@esbuild/linux-loong64" "0.23.1" 1097 | "@esbuild/linux-mips64el" "0.23.1" 1098 | "@esbuild/linux-ppc64" "0.23.1" 1099 | "@esbuild/linux-riscv64" "0.23.1" 1100 | "@esbuild/linux-s390x" "0.23.1" 1101 | "@esbuild/linux-x64" "0.23.1" 1102 | "@esbuild/netbsd-x64" "0.23.1" 1103 | "@esbuild/openbsd-arm64" "0.23.1" 1104 | "@esbuild/openbsd-x64" "0.23.1" 1105 | "@esbuild/sunos-x64" "0.23.1" 1106 | "@esbuild/win32-arm64" "0.23.1" 1107 | "@esbuild/win32-ia32" "0.23.1" 1108 | "@esbuild/win32-x64" "0.23.1" 1109 | 1110 | escape-html@~1.0.3: 1111 | version "1.0.3" 1112 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 1113 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 1114 | 1115 | escape-string-regexp@^5.0.0: 1116 | version "5.0.0" 1117 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" 1118 | integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== 1119 | 1120 | esprima@^4.0.0: 1121 | version "4.0.1" 1122 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1123 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1124 | 1125 | estree-walker@^2.0.2: 1126 | version "2.0.2" 1127 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 1128 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1129 | 1130 | etag@~1.8.1: 1131 | version "1.8.1" 1132 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 1133 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 1134 | 1135 | extend-shallow@^2.0.1: 1136 | version "2.0.1" 1137 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1138 | integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== 1139 | dependencies: 1140 | is-extendable "^0.1.0" 1141 | 1142 | fast-array-diff@^1.1.0: 1143 | version "1.1.0" 1144 | resolved "https://registry.yarnpkg.com/fast-array-diff/-/fast-array-diff-1.1.0.tgz#3f0a48b208f7d146671db6b4efdabf8995ad86be" 1145 | integrity sha512-muSPyZa/yHCoDQhah9th57AmLENB1nekbrUoLAqOpQXdl1Kw8VbH24Syl5XLscaQJlx7KRU95bfTDPvVB5BJvw== 1146 | 1147 | fast-deep-equal@^3.1.3: 1148 | version "3.1.3" 1149 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1150 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1151 | 1152 | fast-fifo@^1.2.0, fast-fifo@^1.3.2: 1153 | version "1.3.2" 1154 | resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" 1155 | integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== 1156 | 1157 | find-up-simple@^1.0.0: 1158 | version "1.0.0" 1159 | resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.0.tgz#21d035fde9fdbd56c8f4d2f63f32fd93a1cfc368" 1160 | integrity sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw== 1161 | 1162 | foreground-child@^3.1.0: 1163 | version "3.3.0" 1164 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" 1165 | integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== 1166 | dependencies: 1167 | cross-spawn "^7.0.0" 1168 | signal-exit "^4.0.1" 1169 | 1170 | form-data@^4.0.0: 1171 | version "4.0.0" 1172 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 1173 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 1174 | dependencies: 1175 | asynckit "^0.4.0" 1176 | combined-stream "^1.0.8" 1177 | mime-types "^2.1.12" 1178 | 1179 | fresh@0.5.2: 1180 | version "0.5.2" 1181 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1182 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 1183 | 1184 | fs-minipass@^2.0.0: 1185 | version "2.1.0" 1186 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" 1187 | integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== 1188 | dependencies: 1189 | minipass "^3.0.0" 1190 | 1191 | fs.realpath@^1.0.0: 1192 | version "1.0.0" 1193 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1194 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1195 | 1196 | fsevents@~2.3.2, fsevents@~2.3.3: 1197 | version "2.3.3" 1198 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" 1199 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 1200 | 1201 | function-bind@^1.1.2: 1202 | version "1.1.2" 1203 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1204 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1205 | 1206 | get-east-asian-width@^1.0.0: 1207 | version "1.2.0" 1208 | resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" 1209 | integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== 1210 | 1211 | get-tsconfig@^4.7.2, get-tsconfig@^4.7.5: 1212 | version "4.8.1" 1213 | resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" 1214 | integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== 1215 | dependencies: 1216 | resolve-pkg-maps "^1.0.0" 1217 | 1218 | glob@^10.3.10, glob@^10.3.7: 1219 | version "10.4.5" 1220 | resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" 1221 | integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== 1222 | dependencies: 1223 | foreground-child "^3.1.0" 1224 | jackspeak "^3.1.2" 1225 | minimatch "^9.0.4" 1226 | minipass "^7.1.2" 1227 | package-json-from-dist "^1.0.0" 1228 | path-scurry "^1.11.1" 1229 | 1230 | glob@^8.0.3: 1231 | version "8.1.0" 1232 | resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" 1233 | integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== 1234 | dependencies: 1235 | fs.realpath "^1.0.0" 1236 | inflight "^1.0.4" 1237 | inherits "2" 1238 | minimatch "^5.0.1" 1239 | once "^1.3.0" 1240 | 1241 | gray-matter@^4.0.3: 1242 | version "4.0.3" 1243 | resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" 1244 | integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== 1245 | dependencies: 1246 | js-yaml "^3.13.1" 1247 | kind-of "^6.0.2" 1248 | section-matter "^1.0.0" 1249 | strip-bom-string "^1.0.0" 1250 | 1251 | hasown@^2.0.2: 1252 | version "2.0.2" 1253 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 1254 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 1255 | dependencies: 1256 | function-bind "^1.1.2" 1257 | 1258 | he@^1.2.0: 1259 | version "1.2.0" 1260 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1261 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 1262 | 1263 | highlight.js@^11.8.0: 1264 | version "11.10.0" 1265 | resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.10.0.tgz#6e3600dc4b33d6dc23d5bd94fbf72405f5892b92" 1266 | integrity sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ== 1267 | 1268 | htl@^0.3.1: 1269 | version "0.3.1" 1270 | resolved "https://registry.yarnpkg.com/htl/-/htl-0.3.1.tgz#13c5a32fa46434f33b84d4553dd37e58a80e8d8a" 1271 | integrity sha512-1LBtd+XhSc+++jpOOt0lCcEycXs/zTQSupOISnVAUmvGBpV7DH+C2M6hwV7zWYfpTMMg9ch4NO0lHiOTAMHdVA== 1272 | 1273 | html-encoding-sniffer@^4.0.0: 1274 | version "4.0.0" 1275 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448" 1276 | integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== 1277 | dependencies: 1278 | whatwg-encoding "^3.1.1" 1279 | 1280 | http-errors@2.0.0: 1281 | version "2.0.0" 1282 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 1283 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 1284 | dependencies: 1285 | depd "2.0.0" 1286 | inherits "2.0.4" 1287 | setprototypeof "1.2.0" 1288 | statuses "2.0.1" 1289 | toidentifier "1.0.1" 1290 | 1291 | http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.2: 1292 | version "7.0.2" 1293 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" 1294 | integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== 1295 | dependencies: 1296 | agent-base "^7.1.0" 1297 | debug "^4.3.4" 1298 | 1299 | https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.5: 1300 | version "7.0.5" 1301 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" 1302 | integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== 1303 | dependencies: 1304 | agent-base "^7.0.2" 1305 | debug "4" 1306 | 1307 | iconv-lite@0.6, iconv-lite@0.6.3: 1308 | version "0.6.3" 1309 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" 1310 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 1311 | dependencies: 1312 | safer-buffer ">= 2.1.2 < 3.0.0" 1313 | 1314 | immediate@~3.0.5: 1315 | version "3.0.6" 1316 | resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" 1317 | integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== 1318 | 1319 | inflight@^1.0.4: 1320 | version "1.0.6" 1321 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1322 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1323 | dependencies: 1324 | once "^1.3.0" 1325 | wrappy "1" 1326 | 1327 | inherits@2, inherits@2.0.4, inherits@~2.0.3: 1328 | version "2.0.4" 1329 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1330 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1331 | 1332 | "internmap@1 - 2": 1333 | version "2.0.3" 1334 | resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" 1335 | integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== 1336 | 1337 | interval-tree-1d@^1.0.0: 1338 | version "1.0.4" 1339 | resolved "https://registry.yarnpkg.com/interval-tree-1d/-/interval-tree-1d-1.0.4.tgz#b44f657de7ddae69ea3f98e0a9ad4bb046b07d11" 1340 | integrity sha512-wY8QJH+6wNI0uh4pDQzMvl+478Qh7Rl4qLmqiluxALlNvl+I+o5x38Pw3/z7mDPTPS1dQalZJXsmbvxx5gclhQ== 1341 | dependencies: 1342 | binary-search-bounds "^2.0.0" 1343 | 1344 | is-core-module@^2.13.0: 1345 | version "2.15.1" 1346 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" 1347 | integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== 1348 | dependencies: 1349 | hasown "^2.0.2" 1350 | 1351 | is-docker@^3.0.0: 1352 | version "3.0.0" 1353 | resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" 1354 | integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== 1355 | 1356 | is-extendable@^0.1.0: 1357 | version "0.1.1" 1358 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1359 | integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== 1360 | 1361 | is-fullwidth-code-point@^3.0.0: 1362 | version "3.0.0" 1363 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1364 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1365 | 1366 | is-inside-container@^1.0.0: 1367 | version "1.0.0" 1368 | resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" 1369 | integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== 1370 | dependencies: 1371 | is-docker "^3.0.0" 1372 | 1373 | is-module@^1.0.0: 1374 | version "1.0.0" 1375 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1376 | integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== 1377 | 1378 | is-potential-custom-element-name@^1.0.1: 1379 | version "1.0.1" 1380 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" 1381 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== 1382 | 1383 | is-reference@1.2.1: 1384 | version "1.2.1" 1385 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 1386 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 1387 | dependencies: 1388 | "@types/estree" "*" 1389 | 1390 | is-wsl@^3.1.0: 1391 | version "3.1.0" 1392 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" 1393 | integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== 1394 | dependencies: 1395 | is-inside-container "^1.0.0" 1396 | 1397 | isarray@~1.0.0: 1398 | version "1.0.0" 1399 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1400 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 1401 | 1402 | isexe@^2.0.0: 1403 | version "2.0.0" 1404 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1405 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1406 | 1407 | isoformat@^0.2.0, isoformat@^0.2.1: 1408 | version "0.2.1" 1409 | resolved "https://registry.yarnpkg.com/isoformat/-/isoformat-0.2.1.tgz#2526344a4276a101b2881848dc337d1d2ae74494" 1410 | integrity sha512-tFLRAygk9NqrRPhJSnNGh7g7oaVWDwR0wKh/GM2LgmPa50Eg4UfyaCO4I8k6EqJHl1/uh2RAD6g06n5ygEnrjQ== 1411 | 1412 | jackspeak@^3.1.2: 1413 | version "3.4.3" 1414 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" 1415 | integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== 1416 | dependencies: 1417 | "@isaacs/cliui" "^8.0.2" 1418 | optionalDependencies: 1419 | "@pkgjs/parseargs" "^0.11.0" 1420 | 1421 | js-yaml@^3.13.1: 1422 | version "3.14.1" 1423 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1424 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1425 | dependencies: 1426 | argparse "^1.0.7" 1427 | esprima "^4.0.0" 1428 | 1429 | jsdom@^23.2.0: 1430 | version "23.2.0" 1431 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-23.2.0.tgz#08083220146d41c467efa1c6969f02b525ba6c1d" 1432 | integrity sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA== 1433 | dependencies: 1434 | "@asamuzakjp/dom-selector" "^2.0.1" 1435 | cssstyle "^4.0.1" 1436 | data-urls "^5.0.0" 1437 | decimal.js "^10.4.3" 1438 | form-data "^4.0.0" 1439 | html-encoding-sniffer "^4.0.0" 1440 | http-proxy-agent "^7.0.0" 1441 | https-proxy-agent "^7.0.2" 1442 | is-potential-custom-element-name "^1.0.1" 1443 | parse5 "^7.1.2" 1444 | rrweb-cssom "^0.6.0" 1445 | saxes "^6.0.0" 1446 | symbol-tree "^3.2.4" 1447 | tough-cookie "^4.1.3" 1448 | w3c-xmlserializer "^5.0.0" 1449 | webidl-conversions "^7.0.0" 1450 | whatwg-encoding "^3.1.1" 1451 | whatwg-mimetype "^4.0.0" 1452 | whatwg-url "^14.0.0" 1453 | ws "^8.16.0" 1454 | xml-name-validator "^5.0.0" 1455 | 1456 | jsdom@^25.0.1: 1457 | version "25.0.1" 1458 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-25.0.1.tgz#536ec685c288fc8a5773a65f82d8b44badcc73ef" 1459 | integrity sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw== 1460 | dependencies: 1461 | cssstyle "^4.1.0" 1462 | data-urls "^5.0.0" 1463 | decimal.js "^10.4.3" 1464 | form-data "^4.0.0" 1465 | html-encoding-sniffer "^4.0.0" 1466 | http-proxy-agent "^7.0.2" 1467 | https-proxy-agent "^7.0.5" 1468 | is-potential-custom-element-name "^1.0.1" 1469 | nwsapi "^2.2.12" 1470 | parse5 "^7.1.2" 1471 | rrweb-cssom "^0.7.1" 1472 | saxes "^6.0.0" 1473 | symbol-tree "^3.2.4" 1474 | tough-cookie "^5.0.0" 1475 | w3c-xmlserializer "^5.0.0" 1476 | webidl-conversions "^7.0.0" 1477 | whatwg-encoding "^3.1.1" 1478 | whatwg-mimetype "^4.0.0" 1479 | whatwg-url "^14.0.0" 1480 | ws "^8.18.0" 1481 | xml-name-validator "^5.0.0" 1482 | 1483 | jszip@^3.10.1: 1484 | version "3.10.1" 1485 | resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" 1486 | integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== 1487 | dependencies: 1488 | lie "~3.3.0" 1489 | pako "~1.0.2" 1490 | readable-stream "~2.3.6" 1491 | setimmediate "^1.0.5" 1492 | 1493 | kind-of@^6.0.0, kind-of@^6.0.2: 1494 | version "6.0.3" 1495 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 1496 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1497 | 1498 | lie@~3.3.0: 1499 | version "3.3.0" 1500 | resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" 1501 | integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== 1502 | dependencies: 1503 | immediate "~3.0.5" 1504 | 1505 | linkify-it@^5.0.0: 1506 | version "5.0.0" 1507 | resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" 1508 | integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== 1509 | dependencies: 1510 | uc.micro "^2.0.0" 1511 | 1512 | lru-cache@^10.2.0: 1513 | version "10.4.3" 1514 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" 1515 | integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== 1516 | 1517 | magic-string@^0.30.3: 1518 | version "0.30.11" 1519 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" 1520 | integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== 1521 | dependencies: 1522 | "@jridgewell/sourcemap-codec" "^1.5.0" 1523 | 1524 | markdown-it-anchor@^8.6.7: 1525 | version "8.6.7" 1526 | resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz#ee6926daf3ad1ed5e4e3968b1740eef1c6399634" 1527 | integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== 1528 | 1529 | markdown-it-emoji@^3.0.0: 1530 | version "3.0.0" 1531 | resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-3.0.0.tgz#8475a04d671d7c93f931b76fb90c582768b7f0b5" 1532 | integrity sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg== 1533 | 1534 | markdown-it@^14.0.0: 1535 | version "14.1.0" 1536 | resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" 1537 | integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== 1538 | dependencies: 1539 | argparse "^2.0.1" 1540 | entities "^4.4.0" 1541 | linkify-it "^5.0.0" 1542 | mdurl "^2.0.0" 1543 | punycode.js "^2.3.1" 1544 | uc.micro "^2.1.0" 1545 | 1546 | mdn-data@2.0.30: 1547 | version "2.0.30" 1548 | resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" 1549 | integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== 1550 | 1551 | mdurl@^2.0.0: 1552 | version "2.0.0" 1553 | resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" 1554 | integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== 1555 | 1556 | mime-db@1.52.0: 1557 | version "1.52.0" 1558 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1559 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1560 | 1561 | mime-types@^2.1.12: 1562 | version "2.1.35" 1563 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1564 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1565 | dependencies: 1566 | mime-db "1.52.0" 1567 | 1568 | mime@1.6.0: 1569 | version "1.6.0" 1570 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1571 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1572 | 1573 | mime@^4.0.0: 1574 | version "4.0.4" 1575 | resolved "https://registry.yarnpkg.com/mime/-/mime-4.0.4.tgz#9f851b0fc3c289d063b20a7a8055b3014b25664b" 1576 | integrity sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ== 1577 | 1578 | minimatch@^5.0.1: 1579 | version "5.1.6" 1580 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" 1581 | integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== 1582 | dependencies: 1583 | brace-expansion "^2.0.1" 1584 | 1585 | minimatch@^9.0.4: 1586 | version "9.0.5" 1587 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" 1588 | integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== 1589 | dependencies: 1590 | brace-expansion "^2.0.1" 1591 | 1592 | minipass@^3.0.0: 1593 | version "3.3.6" 1594 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" 1595 | integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== 1596 | dependencies: 1597 | yallist "^4.0.0" 1598 | 1599 | minipass@^5.0.0: 1600 | version "5.0.0" 1601 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" 1602 | integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== 1603 | 1604 | "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: 1605 | version "7.1.2" 1606 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" 1607 | integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== 1608 | 1609 | minisearch@^6.3.0: 1610 | version "6.3.0" 1611 | resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.3.0.tgz#985a2f1ca3c73c2d65af94f0616bfe57164b0b6b" 1612 | integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ== 1613 | 1614 | minizlib@^2.1.1: 1615 | version "2.1.2" 1616 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" 1617 | integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== 1618 | dependencies: 1619 | minipass "^3.0.0" 1620 | yallist "^4.0.0" 1621 | 1622 | mkdirp@^1.0.3: 1623 | version "1.0.4" 1624 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 1625 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 1626 | 1627 | ms@2.0.0: 1628 | version "2.0.0" 1629 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1630 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 1631 | 1632 | ms@2.1.3, ms@^2.1.3: 1633 | version "2.1.3" 1634 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1635 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1636 | 1637 | nwsapi@^2.2.12: 1638 | version "2.2.13" 1639 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" 1640 | integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== 1641 | 1642 | on-finished@2.4.1: 1643 | version "2.4.1" 1644 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 1645 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 1646 | dependencies: 1647 | ee-first "1.1.1" 1648 | 1649 | once@^1.3.0: 1650 | version "1.4.0" 1651 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1652 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1653 | dependencies: 1654 | wrappy "1" 1655 | 1656 | open@^10.1.0: 1657 | version "10.1.0" 1658 | resolved "https://registry.yarnpkg.com/open/-/open-10.1.0.tgz#a7795e6e5d519abe4286d9937bb24b51122598e1" 1659 | integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== 1660 | dependencies: 1661 | default-browser "^5.2.1" 1662 | define-lazy-prop "^3.0.0" 1663 | is-inside-container "^1.0.0" 1664 | is-wsl "^3.1.0" 1665 | 1666 | package-json-from-dist@^1.0.0: 1667 | version "1.0.1" 1668 | resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" 1669 | integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== 1670 | 1671 | pako@~1.0.2: 1672 | version "1.0.11" 1673 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1674 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1675 | 1676 | parse5@^7.1.2: 1677 | version "7.1.2" 1678 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" 1679 | integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== 1680 | dependencies: 1681 | entities "^4.4.0" 1682 | 1683 | path-key@^3.1.0: 1684 | version "3.1.1" 1685 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1686 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1687 | 1688 | path-parse@^1.0.7: 1689 | version "1.0.7" 1690 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1691 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1692 | 1693 | path-scurry@^1.11.1: 1694 | version "1.11.1" 1695 | resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" 1696 | integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== 1697 | dependencies: 1698 | lru-cache "^10.2.0" 1699 | minipass "^5.0.0 || ^6.0.2 || ^7.0.0" 1700 | 1701 | picocolors@^1.0.0: 1702 | version "1.1.0" 1703 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" 1704 | integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== 1705 | 1706 | picocolors@^1.1.1: 1707 | version "1.1.1" 1708 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" 1709 | integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== 1710 | 1711 | picomatch@^2.3.1: 1712 | version "2.3.1" 1713 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1714 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1715 | 1716 | pkg-dir@^8.0.0: 1717 | version "8.0.0" 1718 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-8.0.0.tgz#8f3de8ba83d46b72a05c80bfd4e579f060fa91e2" 1719 | integrity sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ== 1720 | dependencies: 1721 | find-up-simple "^1.0.0" 1722 | 1723 | process-nextick-args@~2.0.0: 1724 | version "2.0.1" 1725 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1726 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1727 | 1728 | psl@^1.1.33: 1729 | version "1.9.0" 1730 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" 1731 | integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== 1732 | 1733 | punycode.js@^2.3.1: 1734 | version "2.3.1" 1735 | resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" 1736 | integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== 1737 | 1738 | punycode@^2.1.1, punycode@^2.3.1: 1739 | version "2.3.1" 1740 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" 1741 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== 1742 | 1743 | querystringify@^2.1.1: 1744 | version "2.2.0" 1745 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" 1746 | integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== 1747 | 1748 | queue-tick@^1.0.1: 1749 | version "1.0.1" 1750 | resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" 1751 | integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== 1752 | 1753 | range-parser@~1.2.1: 1754 | version "1.2.1" 1755 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1756 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1757 | 1758 | readable-stream@~2.3.6: 1759 | version "2.3.8" 1760 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" 1761 | integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== 1762 | dependencies: 1763 | core-util-is "~1.0.0" 1764 | inherits "~2.0.3" 1765 | isarray "~1.0.0" 1766 | process-nextick-args "~2.0.0" 1767 | safe-buffer "~5.1.1" 1768 | string_decoder "~1.1.1" 1769 | util-deprecate "~1.0.1" 1770 | 1771 | require-from-string@^2.0.2: 1772 | version "2.0.2" 1773 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 1774 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 1775 | 1776 | requires-port@^1.0.0: 1777 | version "1.0.0" 1778 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 1779 | integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== 1780 | 1781 | resolve-pkg-maps@^1.0.0: 1782 | version "1.0.0" 1783 | resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" 1784 | integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== 1785 | 1786 | resolve.exports@^2.0.2: 1787 | version "2.0.2" 1788 | resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" 1789 | integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== 1790 | 1791 | resolve@^1.22.1: 1792 | version "1.22.8" 1793 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" 1794 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 1795 | dependencies: 1796 | is-core-module "^2.13.0" 1797 | path-parse "^1.0.7" 1798 | supports-preserve-symlinks-flag "^1.0.0" 1799 | 1800 | rimraf@^5.0.5: 1801 | version "5.0.10" 1802 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" 1803 | integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== 1804 | dependencies: 1805 | glob "^10.3.7" 1806 | 1807 | robust-predicates@^3.0.2: 1808 | version "3.0.2" 1809 | resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" 1810 | integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== 1811 | 1812 | rollup-plugin-esbuild@^6.1.0: 1813 | version "6.1.1" 1814 | resolved "https://registry.yarnpkg.com/rollup-plugin-esbuild/-/rollup-plugin-esbuild-6.1.1.tgz#ec1dba647dbe1974f76192c75e907aa6eb636399" 1815 | integrity sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== 1816 | dependencies: 1817 | "@rollup/pluginutils" "^5.0.5" 1818 | debug "^4.3.4" 1819 | es-module-lexer "^1.3.1" 1820 | get-tsconfig "^4.7.2" 1821 | 1822 | rollup@^4.6.0: 1823 | version "4.24.0" 1824 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.24.0.tgz#c14a3576f20622ea6a5c9cad7caca5e6e9555d05" 1825 | integrity sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg== 1826 | dependencies: 1827 | "@types/estree" "1.0.6" 1828 | optionalDependencies: 1829 | "@rollup/rollup-android-arm-eabi" "4.24.0" 1830 | "@rollup/rollup-android-arm64" "4.24.0" 1831 | "@rollup/rollup-darwin-arm64" "4.24.0" 1832 | "@rollup/rollup-darwin-x64" "4.24.0" 1833 | "@rollup/rollup-linux-arm-gnueabihf" "4.24.0" 1834 | "@rollup/rollup-linux-arm-musleabihf" "4.24.0" 1835 | "@rollup/rollup-linux-arm64-gnu" "4.24.0" 1836 | "@rollup/rollup-linux-arm64-musl" "4.24.0" 1837 | "@rollup/rollup-linux-powerpc64le-gnu" "4.24.0" 1838 | "@rollup/rollup-linux-riscv64-gnu" "4.24.0" 1839 | "@rollup/rollup-linux-s390x-gnu" "4.24.0" 1840 | "@rollup/rollup-linux-x64-gnu" "4.24.0" 1841 | "@rollup/rollup-linux-x64-musl" "4.24.0" 1842 | "@rollup/rollup-win32-arm64-msvc" "4.24.0" 1843 | "@rollup/rollup-win32-ia32-msvc" "4.24.0" 1844 | "@rollup/rollup-win32-x64-msvc" "4.24.0" 1845 | fsevents "~2.3.2" 1846 | 1847 | rrweb-cssom@^0.6.0: 1848 | version "0.6.0" 1849 | resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" 1850 | integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== 1851 | 1852 | rrweb-cssom@^0.7.1: 1853 | version "0.7.1" 1854 | resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" 1855 | integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== 1856 | 1857 | run-applescript@^7.0.0: 1858 | version "7.0.0" 1859 | resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb" 1860 | integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== 1861 | 1862 | rw@1: 1863 | version "1.3.3" 1864 | resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" 1865 | integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== 1866 | 1867 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1868 | version "5.1.2" 1869 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1870 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1871 | 1872 | "safer-buffer@>= 2.1.2 < 3.0.0": 1873 | version "2.1.2" 1874 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1875 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1876 | 1877 | saxes@^6.0.0: 1878 | version "6.0.0" 1879 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" 1880 | integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== 1881 | dependencies: 1882 | xmlchars "^2.2.0" 1883 | 1884 | section-matter@^1.0.0: 1885 | version "1.0.0" 1886 | resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" 1887 | integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== 1888 | dependencies: 1889 | extend-shallow "^2.0.1" 1890 | kind-of "^6.0.0" 1891 | 1892 | semver@^7.5.4: 1893 | version "7.6.3" 1894 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" 1895 | integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== 1896 | 1897 | send@^0.19.0: 1898 | version "0.19.0" 1899 | resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" 1900 | integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== 1901 | dependencies: 1902 | debug "2.6.9" 1903 | depd "2.0.0" 1904 | destroy "1.2.0" 1905 | encodeurl "~1.0.2" 1906 | escape-html "~1.0.3" 1907 | etag "~1.8.1" 1908 | fresh "0.5.2" 1909 | http-errors "2.0.0" 1910 | mime "1.6.0" 1911 | ms "2.1.3" 1912 | on-finished "2.4.1" 1913 | range-parser "~1.2.1" 1914 | statuses "2.0.1" 1915 | 1916 | setimmediate@^1.0.5: 1917 | version "1.0.5" 1918 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1919 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== 1920 | 1921 | setprototypeof@1.2.0: 1922 | version "1.2.0" 1923 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1924 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1925 | 1926 | shebang-command@^2.0.0: 1927 | version "2.0.0" 1928 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1929 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1930 | dependencies: 1931 | shebang-regex "^3.0.0" 1932 | 1933 | shebang-regex@^3.0.0: 1934 | version "3.0.0" 1935 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1936 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1937 | 1938 | signal-exit@^4.0.1: 1939 | version "4.1.0" 1940 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" 1941 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 1942 | 1943 | sisteransi@^1.0.5: 1944 | version "1.0.5" 1945 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 1946 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 1947 | 1948 | source-map-js@^1.0.1: 1949 | version "1.2.1" 1950 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" 1951 | integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== 1952 | 1953 | sprintf-js@~1.0.2: 1954 | version "1.0.3" 1955 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1956 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 1957 | 1958 | statuses@2.0.1: 1959 | version "2.0.1" 1960 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 1961 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1962 | 1963 | streamx@^2.15.0: 1964 | version "2.20.1" 1965 | resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.20.1.tgz#471c4f8b860f7b696feb83d5b125caab2fdbb93c" 1966 | integrity sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA== 1967 | dependencies: 1968 | fast-fifo "^1.3.2" 1969 | queue-tick "^1.0.1" 1970 | text-decoder "^1.1.0" 1971 | optionalDependencies: 1972 | bare-events "^2.2.0" 1973 | 1974 | "string-width-cjs@npm:string-width@^4.2.0": 1975 | version "4.2.3" 1976 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1977 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1978 | dependencies: 1979 | emoji-regex "^8.0.0" 1980 | is-fullwidth-code-point "^3.0.0" 1981 | strip-ansi "^6.0.1" 1982 | 1983 | string-width@^4.1.0: 1984 | version "4.2.3" 1985 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1986 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1987 | dependencies: 1988 | emoji-regex "^8.0.0" 1989 | is-fullwidth-code-point "^3.0.0" 1990 | strip-ansi "^6.0.1" 1991 | 1992 | string-width@^5.0.1, string-width@^5.1.2: 1993 | version "5.1.2" 1994 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 1995 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 1996 | dependencies: 1997 | eastasianwidth "^0.2.0" 1998 | emoji-regex "^9.2.2" 1999 | strip-ansi "^7.0.1" 2000 | 2001 | string-width@^7.0.0: 2002 | version "7.2.0" 2003 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" 2004 | integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== 2005 | dependencies: 2006 | emoji-regex "^10.3.0" 2007 | get-east-asian-width "^1.0.0" 2008 | strip-ansi "^7.1.0" 2009 | 2010 | string_decoder@~1.1.1: 2011 | version "1.1.1" 2012 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 2013 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 2014 | dependencies: 2015 | safe-buffer "~5.1.0" 2016 | 2017 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1": 2018 | version "6.0.1" 2019 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2020 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2021 | dependencies: 2022 | ansi-regex "^5.0.1" 2023 | 2024 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2025 | version "6.0.1" 2026 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2027 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2028 | dependencies: 2029 | ansi-regex "^5.0.1" 2030 | 2031 | strip-ansi@^7.0.1, strip-ansi@^7.1.0: 2032 | version "7.1.0" 2033 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" 2034 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== 2035 | dependencies: 2036 | ansi-regex "^6.0.1" 2037 | 2038 | strip-bom-string@^1.0.0: 2039 | version "1.0.0" 2040 | resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" 2041 | integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== 2042 | 2043 | supports-preserve-symlinks-flag@^1.0.0: 2044 | version "1.0.0" 2045 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2046 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2047 | 2048 | symbol-tree@^3.2.4: 2049 | version "3.2.4" 2050 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" 2051 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 2052 | 2053 | tar-stream@^3.1.6: 2054 | version "3.1.7" 2055 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b" 2056 | integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== 2057 | dependencies: 2058 | b4a "^1.6.4" 2059 | fast-fifo "^1.2.0" 2060 | streamx "^2.15.0" 2061 | 2062 | tar@^6.2.0: 2063 | version "6.2.1" 2064 | resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" 2065 | integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== 2066 | dependencies: 2067 | chownr "^2.0.0" 2068 | fs-minipass "^2.0.0" 2069 | minipass "^5.0.0" 2070 | minizlib "^2.1.1" 2071 | mkdirp "^1.0.3" 2072 | yallist "^4.0.0" 2073 | 2074 | text-decoder@^1.1.0: 2075 | version "1.2.0" 2076 | resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.0.tgz#85f19d4d5088e0b45cd841bdfaeac458dbffeefc" 2077 | integrity sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg== 2078 | dependencies: 2079 | b4a "^1.6.4" 2080 | 2081 | tldts-core@^6.1.50: 2082 | version "6.1.50" 2083 | resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.50.tgz#8f8f87928adde862b8bc8ce6954c463e2dded790" 2084 | integrity sha512-na2EcZqmdA2iV9zHV7OHQDxxdciEpxrjbkp+aHmZgnZKHzoElLajP59np5/4+sare9fQBfixgvXKx8ev1d7ytw== 2085 | 2086 | tldts@^6.1.32: 2087 | version "6.1.50" 2088 | resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.50.tgz#3b259a65bb11978a2a3d1b3c37660e542dbf9896" 2089 | integrity sha512-q9GOap6q3KCsLMdOjXhWU5jVZ8/1dIib898JBRLsN+tBhENpBDcAVQbE0epADOjw11FhQQy9AcbqKGBQPUfTQA== 2090 | dependencies: 2091 | tldts-core "^6.1.50" 2092 | 2093 | toidentifier@1.0.1: 2094 | version "1.0.1" 2095 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 2096 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 2097 | 2098 | tough-cookie@^4.1.3: 2099 | version "4.1.4" 2100 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" 2101 | integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== 2102 | dependencies: 2103 | psl "^1.1.33" 2104 | punycode "^2.1.1" 2105 | universalify "^0.2.0" 2106 | url-parse "^1.5.3" 2107 | 2108 | tough-cookie@^5.0.0: 2109 | version "5.0.0" 2110 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" 2111 | integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== 2112 | dependencies: 2113 | tldts "^6.1.32" 2114 | 2115 | tr46@^5.0.0: 2116 | version "5.0.0" 2117 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec" 2118 | integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g== 2119 | dependencies: 2120 | punycode "^2.3.1" 2121 | 2122 | tsx@^4.7.1: 2123 | version "4.19.1" 2124 | resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.19.1.tgz#b7bffdf4b565813e4dea14b90872af279cd0090b" 2125 | integrity sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA== 2126 | dependencies: 2127 | esbuild "~0.23.0" 2128 | get-tsconfig "^4.7.5" 2129 | optionalDependencies: 2130 | fsevents "~2.3.3" 2131 | 2132 | uc.micro@^2.0.0, uc.micro@^2.1.0: 2133 | version "2.1.0" 2134 | resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" 2135 | integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== 2136 | 2137 | undici-types@~6.19.2: 2138 | version "6.19.8" 2139 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" 2140 | integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== 2141 | 2142 | universalify@^0.2.0: 2143 | version "0.2.0" 2144 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" 2145 | integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== 2146 | 2147 | untildify@^5.0.0: 2148 | version "5.0.0" 2149 | resolved "https://registry.yarnpkg.com/untildify/-/untildify-5.0.0.tgz#3e40c5dd67518cb8582a027b78d3c2747234f921" 2150 | integrity sha512-bOgQLUnd2G5rhzaTvh1VCI9Fo6bC5cLTpH17T5aFfamyXFYDbbdzN6IXdeoc3jBS7T9hNTmJtYUzJCJ2Xlc9gA== 2151 | 2152 | url-parse@^1.5.3: 2153 | version "1.5.10" 2154 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" 2155 | integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== 2156 | dependencies: 2157 | querystringify "^2.1.1" 2158 | requires-port "^1.0.0" 2159 | 2160 | util-deprecate@~1.0.1: 2161 | version "1.0.2" 2162 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2163 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2164 | 2165 | w3c-xmlserializer@^5.0.0: 2166 | version "5.0.0" 2167 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c" 2168 | integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== 2169 | dependencies: 2170 | xml-name-validator "^5.0.0" 2171 | 2172 | webidl-conversions@^7.0.0: 2173 | version "7.0.0" 2174 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" 2175 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== 2176 | 2177 | whatwg-encoding@^3.1.1: 2178 | version "3.1.1" 2179 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" 2180 | integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== 2181 | dependencies: 2182 | iconv-lite "0.6.3" 2183 | 2184 | whatwg-mimetype@^4.0.0: 2185 | version "4.0.0" 2186 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" 2187 | integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== 2188 | 2189 | whatwg-url@^14.0.0: 2190 | version "14.0.0" 2191 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6" 2192 | integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw== 2193 | dependencies: 2194 | tr46 "^5.0.0" 2195 | webidl-conversions "^7.0.0" 2196 | 2197 | which@^2.0.1: 2198 | version "2.0.2" 2199 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2200 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2201 | dependencies: 2202 | isexe "^2.0.0" 2203 | 2204 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": 2205 | version "7.0.0" 2206 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2207 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2208 | dependencies: 2209 | ansi-styles "^4.0.0" 2210 | string-width "^4.1.0" 2211 | strip-ansi "^6.0.0" 2212 | 2213 | wrap-ansi@^8.1.0: 2214 | version "8.1.0" 2215 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" 2216 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 2217 | dependencies: 2218 | ansi-styles "^6.1.0" 2219 | string-width "^5.0.1" 2220 | strip-ansi "^7.0.1" 2221 | 2222 | wrap-ansi@^9.0.0: 2223 | version "9.0.0" 2224 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" 2225 | integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== 2226 | dependencies: 2227 | ansi-styles "^6.2.1" 2228 | string-width "^7.0.0" 2229 | strip-ansi "^7.1.0" 2230 | 2231 | wrappy@1: 2232 | version "1.0.2" 2233 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2234 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2235 | 2236 | ws@^8.14.2, ws@^8.16.0, ws@^8.18.0: 2237 | version "8.18.0" 2238 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" 2239 | integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== 2240 | 2241 | xml-name-validator@^5.0.0: 2242 | version "5.0.0" 2243 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673" 2244 | integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== 2245 | 2246 | xmlchars@^2.2.0: 2247 | version "2.2.0" 2248 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 2249 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 2250 | 2251 | yallist@^4.0.0: 2252 | version "4.0.0" 2253 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2254 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2255 | --------------------------------------------------------------------------------