├── .changeset ├── README.md └── config.json ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── README.md ├── package.json ├── packages └── satori-html │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ └── index.ts │ ├── test │ ├── __image_snapshots__ │ │ ├── svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-basic-css-1-snap.png │ │ ├── svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-basic-html-1-snap.png │ │ ├── svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-style-1-snap.png │ │ └── svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-tailwind-1-snap.png │ ├── assets │ │ └── Inter-Regular.woff │ ├── html.test.ts │ ├── svg.test.ts │ ├── tw.test.ts │ └── utils.ts │ └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── tsconfig.json /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@2.1.1/schema.json", 3 | "changelog": [ 4 | "@changesets/changelog-github", 5 | { "repo": "natemoo-re/satori-html" } 6 | ], 7 | "commit": false, 8 | "fixed": [], 9 | "linked": [], 10 | "access": "public", 11 | "baseBranch": "main", 12 | "updateInternalDependencies": "patch", 13 | "ignore": [] 14 | } 15 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | concurrency: 4 | group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }} 5 | cancel-in-progress: true 6 | 7 | on: 8 | push: 9 | branches: ["main"] 10 | pull_request: 11 | branches: ["main"] 12 | 13 | jobs: 14 | test: 15 | name: Node ${{ matrix.node }} on ${{ matrix.os }} 16 | timeout-minutes: 5 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | os: [ubuntu-latest] 21 | node: [18, 20] 22 | runs-on: ${{ matrix.os }} 23 | steps: 24 | - name: Checkout 25 | uses: actions/checkout@v3 26 | - name: Use pnpm 27 | run: corepack enable pnpm && pnpm --version 28 | - name: Use Node.js ${{ matrix.node-version }} 29 | uses: actions/setup-node@v3 30 | with: 31 | node-version: ${{ matrix.node-version }} 32 | cache: "pnpm" 33 | - run: pnpm install 34 | - run: pnpm test 35 | 36 | publish: 37 | name: Publish 38 | needs: [test] 39 | if: github.event_name == 'push' 40 | runs-on: ubuntu-latest 41 | steps: 42 | - name: Checkout 43 | uses: actions/checkout@v3 44 | - name: Use pnpm 45 | run: corepack enable pnpm && pnpm --version 46 | - name: Use Node.js 18 47 | uses: actions/setup-node@v3 48 | with: 49 | node-version: 18 50 | cache: "pnpm" 51 | - run: pnpm install 52 | - run: pnpm run build 53 | - name: Create Release Pull Request or Publish 54 | id: changesets 55 | uses: changesets/action@v1 56 | with: 57 | publish: pnpm changeset publish 58 | commit: "chore: release" 59 | title: "chore: release" 60 | env: 61 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 62 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 63 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* 131 | 132 | .DS_Store 133 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ./packages/satori-html/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "root", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "build": "pnpm -r run build", 8 | "test": "pnpm -r run test", 9 | "lint": "prettier \"**/*.{js,ts,md,json}\"", 10 | "format": "pnpm -w run lint --write" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/natemoo-re/astro-remote.git" 15 | }, 16 | "keywords": [], 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/natemoo-re/astro-remote/issues" 20 | }, 21 | "homepage": "https://github.com/natemoo-re/astro-remote#readme", 22 | "volta": { 23 | "node": "18.20.8" 24 | }, 25 | "packageManager": "pnpm@10.7.1", 26 | "dependencies": { 27 | "@changesets/changelog-github": "^0.5.1", 28 | "@changesets/cli": "^2.28.1" 29 | }, 30 | "devDependencies": { 31 | "prettier": "^2.5.0" 32 | }, 33 | "pnpm": { 34 | "peerDependencyRules": { 35 | "ignoreMissing": [ 36 | "jest" 37 | ] 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /packages/satori-html/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # satori-html 2 | 3 | ## 0.3.2 4 | 5 | ### Patch Changes 6 | 7 | - [`b7eea4c`](https://github.com/natemoo-re/satori-html/commit/b7eea4c25e5fbc597c1631074445ecf6b6a56790) - Update `ultrahtml` and use `stylis` to properly parse styles 8 | 9 | ## 0.3.1 10 | 11 | ### Patch Changes 12 | 13 | - [`fa940fb`](https://github.com/natemoo-re/satori-html/commit/fa940fb7c31731e5aedc5e343c878cd6e1bb8f1b) - Upgrade `ultrahtml` dependency, fixing ` 34 | ``` 35 | 36 | ## 0.1.0 37 | 38 | ### Minor Changes 39 | 40 | - [`c64fc25`](https://github.com/natemoo-re/satori-html/commit/c64fc257c6c726d81a500e6735bd70fe8a4f2f9a) - Update `html` to be synchronous 41 | 42 | ## 0.0.2 43 | 44 | ### Patch Changes 45 | 46 | - [`3ed0921`](https://github.com/natemoo-re/satori-html/commit/3ed0921f44d4088090eaa55501aa2fd273d1cd38) - Update README 47 | -------------------------------------------------------------------------------- /packages/satori-html/README.md: -------------------------------------------------------------------------------- 1 | # Satori HTML 2 | 3 | Generate a [satori](https://github.com/vercel/satori)-friendly VDOM from a string of HTML. 4 | 5 | ## What is this? 6 | 7 | [Satori](https://github.com/vercel/satori) is an amazing library for generating SVG strings from pure HTML and CSS. 8 | 9 | Unfortunately, it is built on top of React's JSX and [expects "React-elements-like objects"](https://github.com/vercel/satori#use-without-jsx). This library (`satori-html`) bridges that gap, generating the necessary VDOM object from a string of HTML. 10 | 11 | > **Note** 12 | > Satori supports a limited subset of HTML and CSS features, due to its special use case. Please use inline styles rather than class-based styling! 13 | 14 | ## Example 15 | 16 | ### API 17 | 18 | `satori-html` exports an `html` helper, which transforms HTML strings into an object that is compatible with `satori`. 19 | 20 | ```js 21 | import satori from "satori"; 22 | import { html } from "satori-html"; 23 | 24 | const markup = html`
hello, world
`; 25 | // See https://github.com/vercel/satori#documentation 26 | const svg = await satori(markup, { 27 | width: 600, 28 | height: 400, 29 | fonts: [], 30 | }); 31 | ``` 32 | 33 | The `html` utility can be used as a tagged template literal or as a function. 34 | 35 | ```js 36 | // Tagged Template Literal 37 | const tagged = html`
hello, world
`; 38 | // Function 39 | const fn = html('
hello, world
'); 40 | ``` 41 | -------------------------------------------------------------------------------- /packages/satori-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "satori-html", 3 | "type": "module", 4 | "version": "0.3.2", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/natemoo-re/satori-html" 8 | }, 9 | "bugs": { 10 | "url": "https://github.com/natemoo-re/satori-html/issues" 11 | }, 12 | "homepage": "https://github.com/natemoo-re/satori-html#README", 13 | "scripts": { 14 | "dev": "vitest dev", 15 | "build": "tsc -p .", 16 | "test": "vitest run" 17 | }, 18 | "files": [ 19 | "dist", 20 | "CHANGELOG.md" 21 | ], 22 | "types": "./dist/index.d.ts", 23 | "exports": { 24 | ".": "./dist/index.js", 25 | "./package.json": "./package.json" 26 | }, 27 | "author": { 28 | "name": "Nate Moore", 29 | "email": "nate@natemoo.re", 30 | "url": "https://twitter.com/n_moore" 31 | }, 32 | "license": "MIT", 33 | "dependencies": { 34 | "ultrahtml": "^1.2.0" 35 | }, 36 | "devDependencies": { 37 | "@resvg/resvg-js": "^2.1.0", 38 | "@types/node": "^18.8.4", 39 | "jest-image-snapshot": "^5.2.0", 40 | "satori": "^0.0.38", 41 | "typescript": "^4.8.4", 42 | "vite": "^3.1.7", 43 | "vitest": "^0.24.1" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /packages/satori-html/src/index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | parse, 3 | html as __html, 4 | walkSync, 5 | ELEMENT_NODE, 6 | DOCUMENT_NODE, 7 | TEXT_NODE, 8 | DoctypeNode, 9 | } from "ultrahtml"; 10 | import inlineCSS from "ultrahtml/transformers/inline"; 11 | 12 | const TW_NAMES = new Set([ 13 | /[mp](t|b|r|l|x|y)?-/, 14 | `color-`, 15 | `flex`, 16 | `h-`, 17 | `w-`, 18 | `min-w-`, 19 | `min-h-`, 20 | `max-w-`, 21 | `max-h-`, 22 | `leading-`, 23 | `text-`, 24 | `opacity-`, 25 | `font-`, 26 | `aspect-`, 27 | `tint-`, 28 | `bg-`, 29 | `opacity-`, 30 | `shadow-`, 31 | `rounded`, 32 | `top-`, 33 | `right-`, 34 | `bottom-`, 35 | `left-`, 36 | `inset-`, 37 | `border`, 38 | `elevation-`, 39 | `tracking-`, 40 | `z-`, 41 | ]); 42 | const inliner = inlineCSS({ useObjectSyntax: true }); 43 | const tw = (doc: DoctypeNode) => { 44 | walkSync(doc, (node) => { 45 | if (node.type !== ELEMENT_NODE) return; 46 | if (node.attributes.class && !node.attributes.tw) { 47 | const classNames = node.attributes.class.split(/\s+/); 48 | let match = false; 49 | for (const name of TW_NAMES) { 50 | if (match) break; 51 | for (const item of classNames) { 52 | if (match) break; 53 | if (item.indexOf(":") > -1) { 54 | match = true; 55 | } else if (typeof name === "string") { 56 | match = item.startsWith(name); 57 | } else { 58 | match = name.test(item); 59 | } 60 | } 61 | } 62 | if (match) { 63 | node.attributes.tw = node.attributes.class; 64 | } 65 | } 66 | }); 67 | }; 68 | const camelize = (ident: string) => 69 | ident.replace(/-([a-z])/g, (_, char) => char.toUpperCase()); 70 | 71 | interface VNode { 72 | type: string; 73 | props: { 74 | style?: Record; 75 | children?: string | VNode | VNode[]; 76 | [prop: string]: any; 77 | }; 78 | } 79 | 80 | export function html( 81 | templates: string | TemplateStringsArray, 82 | ...expressions: any[] 83 | ): VNode { 84 | const result = __html.call(null, templates, ...expressions); 85 | let doc = parse(result.value.trim()); 86 | inliner(doc); 87 | tw(doc); 88 | 89 | const nodeMap = new WeakMap(); 90 | let root: VNode = { 91 | type: "div", 92 | props: { 93 | style: { 94 | display: "flex", 95 | flexDirection: "column", 96 | width: "100%", 97 | height: "100%", 98 | }, 99 | children: [], 100 | }, 101 | }; 102 | walkSync(doc, (node, parent, index) => { 103 | let newNode: any = {}; 104 | if (node.type === DOCUMENT_NODE) { 105 | nodeMap.set(node, root); 106 | } else if (node.type === ELEMENT_NODE) { 107 | newNode.type = node.name; 108 | const { style, "": _, ...props } = node.attributes as any; 109 | if (typeof style === "object") { 110 | props["style"] = {}; 111 | for (const [decl, value] of Object.entries(style)) { 112 | props["style"][camelize(decl)] = value; 113 | } 114 | } 115 | props.children = [] as unknown as string; 116 | Object.assign(newNode, { props }); 117 | nodeMap.set(node, newNode); 118 | if (parent) { 119 | const newParent = nodeMap.get(parent); 120 | newParent.props.children[index] = newNode; 121 | } 122 | } else if (node.type === TEXT_NODE) { 123 | newNode = node.value.trim(); 124 | if (newNode.trim()) { 125 | if (parent) { 126 | const newParent = nodeMap.get(parent); 127 | if (parent.children.length === 1) { 128 | newParent.props.children = newNode; 129 | } else { 130 | newParent.props.children[index] = newNode; 131 | } 132 | } 133 | } 134 | } 135 | }); 136 | 137 | return root; 138 | } 139 | -------------------------------------------------------------------------------- /packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-basic-css-1-snap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natemoo-re/satori-html/4252f50f7447645bc504d568709e0fb573750dff/packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-basic-css-1-snap.png -------------------------------------------------------------------------------- /packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-basic-html-1-snap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natemoo-re/satori-html/4252f50f7447645bc504d568709e0fb573750dff/packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-basic-html-1-snap.png -------------------------------------------------------------------------------- /packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-style-1-snap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natemoo-re/satori-html/4252f50f7447645bc504d568709e0fb573750dff/packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-style-1-snap.png -------------------------------------------------------------------------------- /packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-tailwind-1-snap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natemoo-re/satori-html/4252f50f7447645bc504d568709e0fb573750dff/packages/satori-html/test/__image_snapshots__/svg-test-ts-test-svg-test-ts-2-m-22-msvg-2-m-22-mshould-handle-tailwind-1-snap.png -------------------------------------------------------------------------------- /packages/satori-html/test/assets/Inter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natemoo-re/satori-html/4252f50f7447645bc504d568709e0fb573750dff/packages/satori-html/test/assets/Inter-Regular.woff -------------------------------------------------------------------------------- /packages/satori-html/test/html.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from "vitest"; 2 | import { html } from "../src/index"; 3 | 4 | const wrap = (...children: any[]) => ({ 5 | type: "div", 6 | props: { 7 | style: { 8 | display: "flex", 9 | flexDirection: "column", 10 | height: "100%", 11 | width: "100%", 12 | }, 13 | children, 14 | }, 15 | }); 16 | 17 | describe("html", () => { 18 | it("works as a simple tagged template", async () => { 19 | const result = html`
Hello world
`; 20 | expect(result).toEqual( 21 | wrap({ 22 | type: "div", 23 | props: { 24 | children: "Hello world", 25 | }, 26 | }) 27 | ); 28 | }); 29 | 30 | it("works as a complex tagged template", async () => { 31 | const result = html`
Hello ${"world"}
`; 32 | expect(result).toEqual( 33 | wrap({ 34 | type: "div", 35 | props: { 36 | children: "Hello world", 37 | }, 38 | }) 39 | ); 40 | }); 41 | 42 | it("works as a function", async () => { 43 | const result = html(`
Hello world
`); 44 | expect(result).toEqual( 45 | wrap({ 46 | type: "div", 47 | props: { 48 | children: "Hello world", 49 | }, 50 | }) 51 | ); 52 | }); 53 | 54 | it("should handle basic styles", async () => { 55 | const result = html`
56 | Hello world 57 |
`; 58 | expect(result).toEqual( 59 | wrap({ 60 | type: "div", 61 | props: { 62 | style: { 63 | borderTop: "1px solid green", 64 | color: "red", 65 | }, 66 | children: "Hello world", 67 | }, 68 | }) 69 | ); 70 | }); 71 | 72 | it("inlines css", async () => { 73 | const result = html`
Hello world
74 | `; 79 | expect(result).toEqual( 80 | wrap({ 81 | type: "div", 82 | props: { 83 | style: { 84 | color: "red", 85 | }, 86 | class: "cool", 87 | children: "Hello world", 88 | }, 89 | }) 90 | ); 91 | }); 92 | 93 | it("preserves url() in css", async () => { 94 | const result = html`
`; 97 | expect(result).toEqual( 98 | wrap({ 99 | type: "div", 100 | props: { 101 | style: { backgroundImage: "url(https://example.com/img.png)" }, 102 | children: [], 103 | }, 104 | }) 105 | ); 106 | }); 107 | 108 | it("supports linebreaks in style attribute", async () => { 109 | const result = html`
116 |
122 | Hello World! 👋 123 |
124 |
`; 125 | expect(result).toEqual( 126 | wrap({ 127 | type: "div", 128 | props: { 129 | children: [ 130 | undefined, 131 | { 132 | type: "div", 133 | props: { 134 | children: "Hello World! 👋", 135 | style: { 136 | flexGrow: "1", 137 | margin: "80px", 138 | }, 139 | }, 140 | }, 141 | ], 142 | style: { 143 | backgroundColor: "white", 144 | height: "100%", 145 | width: "100%", 146 | }, 147 | }, 148 | }) 149 | ); 150 | }); 151 | 152 | it("supports parens in style attribute", async () => { 153 | const result = html`
`; 156 | expect(result).toEqual( 157 | wrap({ 158 | type: "div", 159 | props: { 160 | children: [], 161 | style: { 162 | backgroundImage: "linear-gradient(135deg, #ef629f, #eecda3)", 163 | display: "flex", 164 | }, 165 | }, 166 | }) 167 | ); 168 | }); 169 | }); 170 | -------------------------------------------------------------------------------- /packages/satori-html/test/svg.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from "vitest"; 2 | import { html } from "../src/index"; 3 | import { initFonts, toImage } from "./utils"; 4 | import satori, { SatoriOptions } from "satori"; 5 | 6 | describe("svg", () => { 7 | let fonts: SatoriOptions["fonts"]; 8 | initFonts((f) => { 9 | fonts = f; 10 | }); 11 | 12 | it("should handle basic html", async () => { 13 | const result = await satori(html`
Hello world
`, { 14 | width: 100, 15 | height: 100, 16 | fonts, 17 | }); 18 | expect(toImage(result, 100)).toMatchImageSnapshot(); 19 | }); 20 | 21 | it("should handle basic css", async () => { 22 | const result = await satori( 23 | html`
Hello world
`, 24 | { 25 | width: 100, 26 | height: 100, 27 | fonts, 28 | } 29 | ); 30 | expect(toImage(result, 100)).toMatchImageSnapshot(); 31 | }); 32 | 33 | it("should handle style", async () => { 34 | const result = await satori( 35 | html`
Hello world
36 | `, 41 | { 42 | width: 100, 43 | height: 100, 44 | fonts, 45 | } 46 | ); 47 | expect(toImage(result, 100)).toMatchImageSnapshot(); 48 | }); 49 | 50 | it("should handle tailwind", async () => { 51 | const result = await satori( 52 | html`
53 |
56 |

59 | Ready to dive in? 60 | Start your free trial today. 61 |

62 |
63 |
64 | Get started 69 |
70 |
71 | Learn more 76 |
77 |
78 |
79 |
`, 80 | { 81 | width: 800, 82 | height: 150, 83 | fonts, 84 | } 85 | ); 86 | expect(toImage(result, 100)).toMatchImageSnapshot(); 87 | }); 88 | }); 89 | -------------------------------------------------------------------------------- /packages/satori-html/test/tw.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from "vitest"; 2 | import { html } from "../src/index"; 3 | 4 | describe("tailwind", () => { 5 | it("picks up margin util", async () => { 6 | const result = html`
Hello world
`; 7 | expect("tw" in result.props.children?.[0].props).toEqual(true); 8 | }); 9 | it("picks up padding util", async () => { 10 | const result = html`
Hello world
`; 11 | expect("tw" in result.props.children?.[0].props).toEqual(true); 12 | }); 13 | it("picks up color", async () => { 14 | const result = html`
Hello world
`; 15 | expect("tw" in result.props.children?.[0].props).toEqual(true); 16 | }); 17 | it("picks up flex", async () => { 18 | const result = html`
Hello world
`; 19 | expect("tw" in result.props.children?.[0].props).toEqual(true); 20 | }); 21 | it("picks up width", async () => { 22 | const result = html`
Hello world
`; 23 | expect("tw" in result.props.children?.[0].props).toEqual(true); 24 | }); 25 | it("picks up height", async () => { 26 | const result = html`
Hello world
`; 27 | expect("tw" in result.props.children?.[0].props).toEqual(true); 28 | }); 29 | it(`picks up min-w-`, () => { 30 | const result = html`
Hello world
`; 31 | expect("tw" in result.props.children?.[0].props).toEqual(true); 32 | }); 33 | it(`picks up min-h-`, () => { 34 | const result = html`
Hello world
`; 35 | expect("tw" in result.props.children?.[0].props).toEqual(true); 36 | }); 37 | it(`picks up max-w-`, () => { 38 | const result = html`
Hello world
`; 39 | expect("tw" in result.props.children?.[0].props).toEqual(true); 40 | }); 41 | it(`picks up max-h-`, () => { 42 | const result = html`
Hello world
`; 43 | expect("tw" in result.props.children?.[0].props).toEqual(true); 44 | }); 45 | it(`picks up leading-`, () => { 46 | const result = html`
Hello world
`; 47 | expect("tw" in result.props.children?.[0].props).toEqual(true); 48 | }); 49 | it(`picks up text-`, () => { 50 | const result = html`
Hello world
`; 51 | expect("tw" in result.props.children?.[0].props).toEqual(true); 52 | }); 53 | it(`picks up opacity-`, () => { 54 | const result = html`
Hello world
`; 55 | expect("tw" in result.props.children?.[0].props).toEqual(true); 56 | }); 57 | it(`picks up font-`, () => { 58 | const result = html`
Hello world
`; 59 | expect("tw" in result.props.children?.[0].props).toEqual(true); 60 | }); 61 | it(`picks up aspect-`, () => { 62 | const result = html`
Hello world
`; 63 | expect("tw" in result.props.children?.[0].props).toEqual(true); 64 | }); 65 | it(`picks up tint-`, () => { 66 | const result = html`
Hello world
`; 67 | expect("tw" in result.props.children?.[0].props).toEqual(true); 68 | }); 69 | it(`picks up bg-`, () => { 70 | const result = html`
Hello world
`; 71 | expect("tw" in result.props.children?.[0].props).toEqual(true); 72 | }); 73 | it(`picks up opacity-`, () => { 74 | const result = html`
Hello world
`; 75 | expect("tw" in result.props.children?.[0].props).toEqual(true); 76 | }); 77 | it(`picks up shadow-`, () => { 78 | const result = html`
Hello world
`; 79 | expect("tw" in result.props.children?.[0].props).toEqual(true); 80 | }); 81 | it(`picks up rounded`, () => { 82 | const result = html`
Hello world
`; 83 | expect("tw" in result.props.children?.[0].props).toEqual(true); 84 | }); 85 | it(`picks up top-`, () => { 86 | const result = html`
Hello world
`; 87 | expect("tw" in result.props.children?.[0].props).toEqual(true); 88 | }); 89 | it(`picks up right-`, () => { 90 | const result = html`
Hello world
`; 91 | expect("tw" in result.props.children?.[0].props).toEqual(true); 92 | }); 93 | it(`picks up bottom-`, () => { 94 | const result = html`
Hello world
`; 95 | expect("tw" in result.props.children?.[0].props).toEqual(true); 96 | }); 97 | it(`picks up left-`, () => { 98 | const result = html`
Hello world
`; 99 | expect("tw" in result.props.children?.[0].props).toEqual(true); 100 | }); 101 | it(`picks up inset-`, () => { 102 | const result = html`
Hello world
`; 103 | expect("tw" in result.props.children?.[0].props).toEqual(true); 104 | }); 105 | it(`picks up border`, () => { 106 | const result = html`
Hello world
`; 107 | expect("tw" in result.props.children?.[0].props).toEqual(true); 108 | }); 109 | it(`picks up elevation-`, () => { 110 | const result = html`
Hello world
`; 111 | expect("tw" in result.props.children?.[0].props).toEqual(true); 112 | }); 113 | it(`picks up tracking-`, () => { 114 | const result = html`
Hello world
`; 115 | expect("tw" in result.props.children?.[0].props).toEqual(true); 116 | }); 117 | it(`picks up z-`, () => { 118 | const result = html`
Hello world
`; 119 | expect("tw" in result.props.children?.[0].props).toEqual(true); 120 | }); 121 | }); 122 | -------------------------------------------------------------------------------- /packages/satori-html/test/utils.ts: -------------------------------------------------------------------------------- 1 | import { beforeAll, expect } from "vitest"; 2 | import fs from "node:fs/promises"; 3 | import { Resvg } from "@resvg/resvg-js"; 4 | import { toMatchImageSnapshot } from "jest-image-snapshot"; 5 | 6 | import type { SatoriOptions } from "satori"; 7 | import { fileURLToPath } from "node:url"; 8 | 9 | export function initFonts(callback: (fonts: SatoriOptions["fonts"]) => void) { 10 | beforeAll(async () => { 11 | const fontPath = new URL("./assets/Inter-Regular.woff", import.meta.url); 12 | const fontData = await fs.readFile(fontPath); 13 | callback([ 14 | { 15 | name: "Roboto", 16 | data: fontData, 17 | weight: 400, 18 | style: "normal", 19 | }, 20 | ]); 21 | }); 22 | } 23 | 24 | export function toImage(svg: string, width: number = 100) { 25 | const resvg = new Resvg(svg, { 26 | fitTo: { 27 | mode: "width", 28 | value: width, 29 | }, 30 | font: { 31 | // As system fallback font 32 | fontFiles: [ 33 | fileURLToPath(new URL("./assets/Inter-Regular.woff", import.meta.url)), 34 | ], 35 | loadSystemFonts: false, 36 | defaultFontFamily: "Playfair Display", 37 | }, 38 | }); 39 | const pngData = resvg.render(); 40 | return pngData.asPng(); 41 | } 42 | 43 | declare global { 44 | namespace jest { 45 | interface Matchers { 46 | toMatchImageSnapshot(): R; 47 | } 48 | } 49 | } 50 | 51 | expect.extend({ toMatchImageSnapshot }); 52 | -------------------------------------------------------------------------------- /packages/satori-html/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "skipLibCheck": true, 6 | "declaration": true 7 | }, 8 | "include": ["src"] 9 | } 10 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@changesets/changelog-github': 12 | specifier: ^0.5.1 13 | version: 0.5.1 14 | '@changesets/cli': 15 | specifier: ^2.28.1 16 | version: 2.28.1 17 | devDependencies: 18 | prettier: 19 | specifier: ^2.5.0 20 | version: 2.8.8 21 | 22 | packages/satori-html: 23 | dependencies: 24 | ultrahtml: 25 | specifier: ^1.2.0 26 | version: 1.5.3 27 | devDependencies: 28 | '@resvg/resvg-js': 29 | specifier: ^2.1.0 30 | version: 2.6.2 31 | '@types/node': 32 | specifier: ^18.8.4 33 | version: 18.19.86 34 | jest-image-snapshot: 35 | specifier: ^5.2.0 36 | version: 5.2.0(jest@28.1.3(@types/node@18.19.86)) 37 | satori: 38 | specifier: ^0.0.38 39 | version: 0.0.38 40 | typescript: 41 | specifier: ^4.8.4 42 | version: 4.9.5 43 | vite: 44 | specifier: ^3.1.7 45 | version: 3.2.11(@types/node@18.19.86) 46 | vitest: 47 | specifier: ^0.24.1 48 | version: 0.24.5 49 | 50 | packages: 51 | 52 | '@ampproject/remapping@2.3.0': 53 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 54 | engines: {node: '>=6.0.0'} 55 | 56 | '@babel/code-frame@7.26.2': 57 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 58 | engines: {node: '>=6.9.0'} 59 | 60 | '@babel/compat-data@7.26.8': 61 | resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} 62 | engines: {node: '>=6.9.0'} 63 | 64 | '@babel/core@7.26.10': 65 | resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} 66 | engines: {node: '>=6.9.0'} 67 | 68 | '@babel/generator@7.27.0': 69 | resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} 70 | engines: {node: '>=6.9.0'} 71 | 72 | '@babel/helper-compilation-targets@7.27.0': 73 | resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} 74 | engines: {node: '>=6.9.0'} 75 | 76 | '@babel/helper-module-imports@7.25.9': 77 | resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} 78 | engines: {node: '>=6.9.0'} 79 | 80 | '@babel/helper-module-transforms@7.26.0': 81 | resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} 82 | engines: {node: '>=6.9.0'} 83 | peerDependencies: 84 | '@babel/core': ^7.0.0 85 | 86 | '@babel/helper-plugin-utils@7.26.5': 87 | resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} 88 | engines: {node: '>=6.9.0'} 89 | 90 | '@babel/helper-string-parser@7.25.9': 91 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 92 | engines: {node: '>=6.9.0'} 93 | 94 | '@babel/helper-validator-identifier@7.25.9': 95 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 96 | engines: {node: '>=6.9.0'} 97 | 98 | '@babel/helper-validator-option@7.25.9': 99 | resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} 100 | engines: {node: '>=6.9.0'} 101 | 102 | '@babel/helpers@7.27.0': 103 | resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} 104 | engines: {node: '>=6.9.0'} 105 | 106 | '@babel/parser@7.27.0': 107 | resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} 108 | engines: {node: '>=6.0.0'} 109 | hasBin: true 110 | 111 | '@babel/plugin-syntax-async-generators@7.8.4': 112 | resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} 113 | peerDependencies: 114 | '@babel/core': ^7.0.0-0 115 | 116 | '@babel/plugin-syntax-bigint@7.8.3': 117 | resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} 118 | peerDependencies: 119 | '@babel/core': ^7.0.0-0 120 | 121 | '@babel/plugin-syntax-class-properties@7.12.13': 122 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} 123 | peerDependencies: 124 | '@babel/core': ^7.0.0-0 125 | 126 | '@babel/plugin-syntax-class-static-block@7.14.5': 127 | resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} 128 | engines: {node: '>=6.9.0'} 129 | peerDependencies: 130 | '@babel/core': ^7.0.0-0 131 | 132 | '@babel/plugin-syntax-import-attributes@7.26.0': 133 | resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} 134 | engines: {node: '>=6.9.0'} 135 | peerDependencies: 136 | '@babel/core': ^7.0.0-0 137 | 138 | '@babel/plugin-syntax-import-meta@7.10.4': 139 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} 140 | peerDependencies: 141 | '@babel/core': ^7.0.0-0 142 | 143 | '@babel/plugin-syntax-json-strings@7.8.3': 144 | resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} 145 | peerDependencies: 146 | '@babel/core': ^7.0.0-0 147 | 148 | '@babel/plugin-syntax-logical-assignment-operators@7.10.4': 149 | resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} 150 | peerDependencies: 151 | '@babel/core': ^7.0.0-0 152 | 153 | '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': 154 | resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} 155 | peerDependencies: 156 | '@babel/core': ^7.0.0-0 157 | 158 | '@babel/plugin-syntax-numeric-separator@7.10.4': 159 | resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} 160 | peerDependencies: 161 | '@babel/core': ^7.0.0-0 162 | 163 | '@babel/plugin-syntax-object-rest-spread@7.8.3': 164 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} 165 | peerDependencies: 166 | '@babel/core': ^7.0.0-0 167 | 168 | '@babel/plugin-syntax-optional-catch-binding@7.8.3': 169 | resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} 170 | peerDependencies: 171 | '@babel/core': ^7.0.0-0 172 | 173 | '@babel/plugin-syntax-optional-chaining@7.8.3': 174 | resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} 175 | peerDependencies: 176 | '@babel/core': ^7.0.0-0 177 | 178 | '@babel/plugin-syntax-private-property-in-object@7.14.5': 179 | resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} 180 | engines: {node: '>=6.9.0'} 181 | peerDependencies: 182 | '@babel/core': ^7.0.0-0 183 | 184 | '@babel/plugin-syntax-top-level-await@7.14.5': 185 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} 186 | engines: {node: '>=6.9.0'} 187 | peerDependencies: 188 | '@babel/core': ^7.0.0-0 189 | 190 | '@babel/plugin-syntax-typescript@7.25.9': 191 | resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} 192 | engines: {node: '>=6.9.0'} 193 | peerDependencies: 194 | '@babel/core': ^7.0.0-0 195 | 196 | '@babel/runtime@7.27.0': 197 | resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} 198 | engines: {node: '>=6.9.0'} 199 | 200 | '@babel/template@7.27.0': 201 | resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} 202 | engines: {node: '>=6.9.0'} 203 | 204 | '@babel/traverse@7.27.0': 205 | resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==} 206 | engines: {node: '>=6.9.0'} 207 | 208 | '@babel/types@7.27.0': 209 | resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} 210 | engines: {node: '>=6.9.0'} 211 | 212 | '@bcoe/v8-coverage@0.2.3': 213 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 214 | 215 | '@changesets/apply-release-plan@7.0.10': 216 | resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==} 217 | 218 | '@changesets/assemble-release-plan@6.0.6': 219 | resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==} 220 | 221 | '@changesets/changelog-git@0.2.1': 222 | resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} 223 | 224 | '@changesets/changelog-github@0.5.1': 225 | resolution: {integrity: sha512-BVuHtF+hrhUScSoHnJwTELB4/INQxVFc+P/Qdt20BLiBFIHFJDDUaGsZw+8fQeJTRP5hJZrzpt3oZWh0G19rAQ==} 226 | 227 | '@changesets/cli@2.28.1': 228 | resolution: {integrity: sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==} 229 | hasBin: true 230 | 231 | '@changesets/config@3.1.1': 232 | resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} 233 | 234 | '@changesets/errors@0.2.0': 235 | resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} 236 | 237 | '@changesets/get-dependents-graph@2.1.3': 238 | resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} 239 | 240 | '@changesets/get-github-info@0.6.0': 241 | resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} 242 | 243 | '@changesets/get-release-plan@4.0.8': 244 | resolution: {integrity: sha512-MM4mq2+DQU1ZT7nqxnpveDMTkMBLnwNX44cX7NSxlXmr7f8hO6/S2MXNiXG54uf/0nYnefv0cfy4Czf/ZL/EKQ==} 245 | 246 | '@changesets/get-version-range-type@0.4.0': 247 | resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} 248 | 249 | '@changesets/git@3.0.2': 250 | resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} 251 | 252 | '@changesets/logger@0.1.1': 253 | resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} 254 | 255 | '@changesets/parse@0.4.1': 256 | resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} 257 | 258 | '@changesets/pre@2.0.2': 259 | resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} 260 | 261 | '@changesets/read@0.6.3': 262 | resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==} 263 | 264 | '@changesets/should-skip-package@0.1.2': 265 | resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} 266 | 267 | '@changesets/types@4.1.0': 268 | resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} 269 | 270 | '@changesets/types@6.1.0': 271 | resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} 272 | 273 | '@changesets/write@0.4.0': 274 | resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} 275 | 276 | '@esbuild/android-arm@0.15.18': 277 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 278 | engines: {node: '>=12'} 279 | cpu: [arm] 280 | os: [android] 281 | 282 | '@esbuild/linux-loong64@0.15.18': 283 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 284 | engines: {node: '>=12'} 285 | cpu: [loong64] 286 | os: [linux] 287 | 288 | '@istanbuljs/load-nyc-config@1.1.0': 289 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} 290 | engines: {node: '>=8'} 291 | 292 | '@istanbuljs/schema@0.1.3': 293 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 294 | engines: {node: '>=8'} 295 | 296 | '@jest/console@28.1.3': 297 | resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} 298 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 299 | 300 | '@jest/core@28.1.3': 301 | resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} 302 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 303 | peerDependencies: 304 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 305 | peerDependenciesMeta: 306 | node-notifier: 307 | optional: true 308 | 309 | '@jest/environment@28.1.3': 310 | resolution: {integrity: sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==} 311 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 312 | 313 | '@jest/expect-utils@28.1.3': 314 | resolution: {integrity: sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==} 315 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 316 | 317 | '@jest/expect@28.1.3': 318 | resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} 319 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 320 | 321 | '@jest/fake-timers@28.1.3': 322 | resolution: {integrity: sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==} 323 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 324 | 325 | '@jest/globals@28.1.3': 326 | resolution: {integrity: sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==} 327 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 328 | 329 | '@jest/reporters@28.1.3': 330 | resolution: {integrity: sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==} 331 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 332 | peerDependencies: 333 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 334 | peerDependenciesMeta: 335 | node-notifier: 336 | optional: true 337 | 338 | '@jest/schemas@28.1.3': 339 | resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} 340 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 341 | 342 | '@jest/source-map@28.1.2': 343 | resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} 344 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 345 | 346 | '@jest/test-result@28.1.3': 347 | resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} 348 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 349 | 350 | '@jest/test-sequencer@28.1.3': 351 | resolution: {integrity: sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==} 352 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 353 | 354 | '@jest/transform@28.1.3': 355 | resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} 356 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 357 | 358 | '@jest/types@28.1.3': 359 | resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} 360 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 361 | 362 | '@jridgewell/gen-mapping@0.3.8': 363 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 364 | engines: {node: '>=6.0.0'} 365 | 366 | '@jridgewell/resolve-uri@3.1.2': 367 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 368 | engines: {node: '>=6.0.0'} 369 | 370 | '@jridgewell/set-array@1.2.1': 371 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 372 | engines: {node: '>=6.0.0'} 373 | 374 | '@jridgewell/sourcemap-codec@1.5.0': 375 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 376 | 377 | '@jridgewell/trace-mapping@0.3.25': 378 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 379 | 380 | '@manypkg/find-root@1.1.0': 381 | resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} 382 | 383 | '@manypkg/get-packages@1.1.3': 384 | resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 385 | 386 | '@nodelib/fs.scandir@2.1.5': 387 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 388 | engines: {node: '>= 8'} 389 | 390 | '@nodelib/fs.stat@2.0.5': 391 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 392 | engines: {node: '>= 8'} 393 | 394 | '@nodelib/fs.walk@1.2.8': 395 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 396 | engines: {node: '>= 8'} 397 | 398 | '@resvg/resvg-js-android-arm-eabi@2.6.2': 399 | resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==} 400 | engines: {node: '>= 10'} 401 | cpu: [arm] 402 | os: [android] 403 | 404 | '@resvg/resvg-js-android-arm64@2.6.2': 405 | resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==} 406 | engines: {node: '>= 10'} 407 | cpu: [arm64] 408 | os: [android] 409 | 410 | '@resvg/resvg-js-darwin-arm64@2.6.2': 411 | resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==} 412 | engines: {node: '>= 10'} 413 | cpu: [arm64] 414 | os: [darwin] 415 | 416 | '@resvg/resvg-js-darwin-x64@2.6.2': 417 | resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==} 418 | engines: {node: '>= 10'} 419 | cpu: [x64] 420 | os: [darwin] 421 | 422 | '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': 423 | resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==} 424 | engines: {node: '>= 10'} 425 | cpu: [arm] 426 | os: [linux] 427 | 428 | '@resvg/resvg-js-linux-arm64-gnu@2.6.2': 429 | resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==} 430 | engines: {node: '>= 10'} 431 | cpu: [arm64] 432 | os: [linux] 433 | 434 | '@resvg/resvg-js-linux-arm64-musl@2.6.2': 435 | resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==} 436 | engines: {node: '>= 10'} 437 | cpu: [arm64] 438 | os: [linux] 439 | 440 | '@resvg/resvg-js-linux-x64-gnu@2.6.2': 441 | resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==} 442 | engines: {node: '>= 10'} 443 | cpu: [x64] 444 | os: [linux] 445 | 446 | '@resvg/resvg-js-linux-x64-musl@2.6.2': 447 | resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==} 448 | engines: {node: '>= 10'} 449 | cpu: [x64] 450 | os: [linux] 451 | 452 | '@resvg/resvg-js-win32-arm64-msvc@2.6.2': 453 | resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==} 454 | engines: {node: '>= 10'} 455 | cpu: [arm64] 456 | os: [win32] 457 | 458 | '@resvg/resvg-js-win32-ia32-msvc@2.6.2': 459 | resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==} 460 | engines: {node: '>= 10'} 461 | cpu: [ia32] 462 | os: [win32] 463 | 464 | '@resvg/resvg-js-win32-x64-msvc@2.6.2': 465 | resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==} 466 | engines: {node: '>= 10'} 467 | cpu: [x64] 468 | os: [win32] 469 | 470 | '@resvg/resvg-js@2.6.2': 471 | resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==} 472 | engines: {node: '>= 10'} 473 | 474 | '@shuding/opentype.js@1.4.0-beta.0': 475 | resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==} 476 | engines: {node: '>= 8.0.0'} 477 | hasBin: true 478 | 479 | '@sinclair/typebox@0.24.51': 480 | resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} 481 | 482 | '@sinonjs/commons@1.8.6': 483 | resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} 484 | 485 | '@sinonjs/fake-timers@9.1.2': 486 | resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} 487 | 488 | '@types/babel__core@7.20.5': 489 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 490 | 491 | '@types/babel__generator@7.27.0': 492 | resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} 493 | 494 | '@types/babel__template@7.4.4': 495 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 496 | 497 | '@types/babel__traverse@7.20.7': 498 | resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} 499 | 500 | '@types/chai-subset@1.3.6': 501 | resolution: {integrity: sha512-m8lERkkQj+uek18hXOZuec3W/fCRTrU4hrnXjH3qhHy96ytuPaPiWGgu7sJb7tZxZonO75vYAjCvpe/e4VUwRw==} 502 | peerDependencies: 503 | '@types/chai': <5.2.0 504 | 505 | '@types/chai@4.3.20': 506 | resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} 507 | 508 | '@types/graceful-fs@4.1.9': 509 | resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} 510 | 511 | '@types/istanbul-lib-coverage@2.0.6': 512 | resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} 513 | 514 | '@types/istanbul-lib-report@3.0.3': 515 | resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} 516 | 517 | '@types/istanbul-reports@3.0.4': 518 | resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} 519 | 520 | '@types/node@12.20.55': 521 | resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} 522 | 523 | '@types/node@18.19.86': 524 | resolution: {integrity: sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ==} 525 | 526 | '@types/prettier@2.7.3': 527 | resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} 528 | 529 | '@types/stack-utils@2.0.3': 530 | resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} 531 | 532 | '@types/yargs-parser@21.0.3': 533 | resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} 534 | 535 | '@types/yargs@17.0.33': 536 | resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} 537 | 538 | '@types/yoga-layout@1.9.2': 539 | resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} 540 | 541 | acorn@8.14.1: 542 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 543 | engines: {node: '>=0.4.0'} 544 | hasBin: true 545 | 546 | ansi-colors@4.1.3: 547 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 548 | engines: {node: '>=6'} 549 | 550 | ansi-escapes@4.3.2: 551 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 552 | engines: {node: '>=8'} 553 | 554 | ansi-regex@2.1.1: 555 | resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} 556 | engines: {node: '>=0.10.0'} 557 | 558 | ansi-regex@5.0.1: 559 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 560 | engines: {node: '>=8'} 561 | 562 | ansi-styles@2.2.1: 563 | resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} 564 | engines: {node: '>=0.10.0'} 565 | 566 | ansi-styles@4.3.0: 567 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 568 | engines: {node: '>=8'} 569 | 570 | ansi-styles@5.2.0: 571 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 572 | engines: {node: '>=10'} 573 | 574 | anymatch@3.1.3: 575 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 576 | engines: {node: '>= 8'} 577 | 578 | argparse@1.0.10: 579 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 580 | 581 | array-union@2.1.0: 582 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 583 | engines: {node: '>=8'} 584 | 585 | assertion-error@1.1.0: 586 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 587 | 588 | babel-jest@28.1.3: 589 | resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} 590 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 591 | peerDependencies: 592 | '@babel/core': ^7.8.0 593 | 594 | babel-plugin-istanbul@6.1.1: 595 | resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} 596 | engines: {node: '>=8'} 597 | 598 | babel-plugin-jest-hoist@28.1.3: 599 | resolution: {integrity: sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==} 600 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 601 | 602 | babel-preset-current-node-syntax@1.1.0: 603 | resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} 604 | peerDependencies: 605 | '@babel/core': ^7.0.0 606 | 607 | babel-preset-jest@28.1.3: 608 | resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} 609 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 610 | peerDependencies: 611 | '@babel/core': ^7.0.0 612 | 613 | balanced-match@1.0.2: 614 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 615 | 616 | better-path-resolve@1.0.0: 617 | resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} 618 | engines: {node: '>=4'} 619 | 620 | brace-expansion@1.1.11: 621 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 622 | 623 | braces@3.0.3: 624 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 625 | engines: {node: '>=8'} 626 | 627 | browserslist@4.24.4: 628 | resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} 629 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 630 | hasBin: true 631 | 632 | bser@2.1.1: 633 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 634 | 635 | buffer-from@1.1.2: 636 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 637 | 638 | callsites@3.1.0: 639 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 640 | engines: {node: '>=6'} 641 | 642 | camelcase@5.3.1: 643 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 644 | engines: {node: '>=6'} 645 | 646 | camelcase@6.3.0: 647 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 648 | engines: {node: '>=10'} 649 | 650 | camelize@1.0.1: 651 | resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} 652 | 653 | caniuse-lite@1.0.30001709: 654 | resolution: {integrity: sha512-NgL3vUTnDrPCZ3zTahp4fsugQ4dc7EKTSzwQDPEel6DMoMnfH2jhry9n2Zm8onbSR+f/QtKHFOA+iAQu4kbtWA==} 655 | 656 | chai@4.5.0: 657 | resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} 658 | engines: {node: '>=4'} 659 | 660 | chalk@1.1.3: 661 | resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} 662 | engines: {node: '>=0.10.0'} 663 | 664 | chalk@4.1.2: 665 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 666 | engines: {node: '>=10'} 667 | 668 | char-regex@1.0.2: 669 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 670 | engines: {node: '>=10'} 671 | 672 | chardet@0.7.0: 673 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 674 | 675 | check-error@1.0.3: 676 | resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} 677 | 678 | ci-info@3.9.0: 679 | resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} 680 | engines: {node: '>=8'} 681 | 682 | cjs-module-lexer@1.4.3: 683 | resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} 684 | 685 | cliui@8.0.1: 686 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 687 | engines: {node: '>=12'} 688 | 689 | co@4.6.0: 690 | resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} 691 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} 692 | 693 | collect-v8-coverage@1.0.2: 694 | resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} 695 | 696 | color-convert@2.0.1: 697 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 698 | engines: {node: '>=7.0.0'} 699 | 700 | color-name@1.1.4: 701 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 702 | 703 | concat-map@0.0.1: 704 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 705 | 706 | convert-source-map@1.9.0: 707 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 708 | 709 | convert-source-map@2.0.0: 710 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 711 | 712 | cross-spawn@7.0.6: 713 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 714 | engines: {node: '>= 8'} 715 | 716 | css-background-parser@0.1.0: 717 | resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} 718 | 719 | css-box-shadow@1.0.0-3: 720 | resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==} 721 | 722 | css-color-keywords@1.0.0: 723 | resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} 724 | engines: {node: '>=4'} 725 | 726 | css-to-react-native@3.2.0: 727 | resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} 728 | 729 | dataloader@1.4.0: 730 | resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} 731 | 732 | debug@4.4.0: 733 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 734 | engines: {node: '>=6.0'} 735 | peerDependencies: 736 | supports-color: '*' 737 | peerDependenciesMeta: 738 | supports-color: 739 | optional: true 740 | 741 | dedent@0.7.0: 742 | resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} 743 | 744 | deep-eql@4.1.4: 745 | resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} 746 | engines: {node: '>=6'} 747 | 748 | deepmerge@4.3.1: 749 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 750 | engines: {node: '>=0.10.0'} 751 | 752 | detect-indent@6.1.0: 753 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 754 | engines: {node: '>=8'} 755 | 756 | detect-newline@3.1.0: 757 | resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} 758 | engines: {node: '>=8'} 759 | 760 | diff-sequences@28.1.1: 761 | resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} 762 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 763 | 764 | dir-glob@3.0.1: 765 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 766 | engines: {node: '>=8'} 767 | 768 | dotenv@8.6.0: 769 | resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} 770 | engines: {node: '>=10'} 771 | 772 | electron-to-chromium@1.5.131: 773 | resolution: {integrity: sha512-fJFRYXVEJgDCiqFOgRGJm8XR97hZ13tw7FXI9k2yC5hgY+nyzC2tMO8baq1cQR7Ur58iCkASx2zrkZPZUnfzPg==} 774 | 775 | emittery@0.10.2: 776 | resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} 777 | engines: {node: '>=12'} 778 | 779 | emoji-regex@8.0.0: 780 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 781 | 782 | enquirer@2.4.1: 783 | resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} 784 | engines: {node: '>=8.6'} 785 | 786 | error-ex@1.3.2: 787 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 788 | 789 | esbuild-android-64@0.15.18: 790 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 791 | engines: {node: '>=12'} 792 | cpu: [x64] 793 | os: [android] 794 | 795 | esbuild-android-arm64@0.15.18: 796 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 797 | engines: {node: '>=12'} 798 | cpu: [arm64] 799 | os: [android] 800 | 801 | esbuild-darwin-64@0.15.18: 802 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 803 | engines: {node: '>=12'} 804 | cpu: [x64] 805 | os: [darwin] 806 | 807 | esbuild-darwin-arm64@0.15.18: 808 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 809 | engines: {node: '>=12'} 810 | cpu: [arm64] 811 | os: [darwin] 812 | 813 | esbuild-freebsd-64@0.15.18: 814 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 815 | engines: {node: '>=12'} 816 | cpu: [x64] 817 | os: [freebsd] 818 | 819 | esbuild-freebsd-arm64@0.15.18: 820 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 821 | engines: {node: '>=12'} 822 | cpu: [arm64] 823 | os: [freebsd] 824 | 825 | esbuild-linux-32@0.15.18: 826 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 827 | engines: {node: '>=12'} 828 | cpu: [ia32] 829 | os: [linux] 830 | 831 | esbuild-linux-64@0.15.18: 832 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 833 | engines: {node: '>=12'} 834 | cpu: [x64] 835 | os: [linux] 836 | 837 | esbuild-linux-arm64@0.15.18: 838 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 839 | engines: {node: '>=12'} 840 | cpu: [arm64] 841 | os: [linux] 842 | 843 | esbuild-linux-arm@0.15.18: 844 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 845 | engines: {node: '>=12'} 846 | cpu: [arm] 847 | os: [linux] 848 | 849 | esbuild-linux-mips64le@0.15.18: 850 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 851 | engines: {node: '>=12'} 852 | cpu: [mips64el] 853 | os: [linux] 854 | 855 | esbuild-linux-ppc64le@0.15.18: 856 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 857 | engines: {node: '>=12'} 858 | cpu: [ppc64] 859 | os: [linux] 860 | 861 | esbuild-linux-riscv64@0.15.18: 862 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 863 | engines: {node: '>=12'} 864 | cpu: [riscv64] 865 | os: [linux] 866 | 867 | esbuild-linux-s390x@0.15.18: 868 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 869 | engines: {node: '>=12'} 870 | cpu: [s390x] 871 | os: [linux] 872 | 873 | esbuild-netbsd-64@0.15.18: 874 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 875 | engines: {node: '>=12'} 876 | cpu: [x64] 877 | os: [netbsd] 878 | 879 | esbuild-openbsd-64@0.15.18: 880 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 881 | engines: {node: '>=12'} 882 | cpu: [x64] 883 | os: [openbsd] 884 | 885 | esbuild-sunos-64@0.15.18: 886 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 887 | engines: {node: '>=12'} 888 | cpu: [x64] 889 | os: [sunos] 890 | 891 | esbuild-windows-32@0.15.18: 892 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 893 | engines: {node: '>=12'} 894 | cpu: [ia32] 895 | os: [win32] 896 | 897 | esbuild-windows-64@0.15.18: 898 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 899 | engines: {node: '>=12'} 900 | cpu: [x64] 901 | os: [win32] 902 | 903 | esbuild-windows-arm64@0.15.18: 904 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 905 | engines: {node: '>=12'} 906 | cpu: [arm64] 907 | os: [win32] 908 | 909 | esbuild@0.15.18: 910 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 911 | engines: {node: '>=12'} 912 | hasBin: true 913 | 914 | escalade@3.2.0: 915 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 916 | engines: {node: '>=6'} 917 | 918 | escape-string-regexp@1.0.5: 919 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 920 | engines: {node: '>=0.8.0'} 921 | 922 | escape-string-regexp@2.0.0: 923 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} 924 | engines: {node: '>=8'} 925 | 926 | esprima@4.0.1: 927 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 928 | engines: {node: '>=4'} 929 | hasBin: true 930 | 931 | execa@5.1.1: 932 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 933 | engines: {node: '>=10'} 934 | 935 | exit@0.1.2: 936 | resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} 937 | engines: {node: '>= 0.8.0'} 938 | 939 | expect@28.1.3: 940 | resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} 941 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 942 | 943 | extendable-error@0.1.7: 944 | resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} 945 | 946 | external-editor@3.1.0: 947 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 948 | engines: {node: '>=4'} 949 | 950 | fast-glob@3.3.3: 951 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 952 | engines: {node: '>=8.6.0'} 953 | 954 | fast-json-stable-stringify@2.1.0: 955 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 956 | 957 | fastq@1.19.1: 958 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 959 | 960 | fb-watchman@2.0.2: 961 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 962 | 963 | fflate@0.7.4: 964 | resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} 965 | 966 | fill-range@7.1.1: 967 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 968 | engines: {node: '>=8'} 969 | 970 | find-up@4.1.0: 971 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 972 | engines: {node: '>=8'} 973 | 974 | fs-extra@7.0.1: 975 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 976 | engines: {node: '>=6 <7 || >=8'} 977 | 978 | fs-extra@8.1.0: 979 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 980 | engines: {node: '>=6 <7 || >=8'} 981 | 982 | fs.realpath@1.0.0: 983 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 984 | 985 | fsevents@2.3.3: 986 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 987 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 988 | os: [darwin] 989 | 990 | function-bind@1.1.2: 991 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 992 | 993 | gensync@1.0.0-beta.2: 994 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 995 | engines: {node: '>=6.9.0'} 996 | 997 | get-caller-file@2.0.5: 998 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 999 | engines: {node: 6.* || 8.* || >= 10.*} 1000 | 1001 | get-func-name@2.0.2: 1002 | resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 1003 | 1004 | get-package-type@0.1.0: 1005 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 1006 | engines: {node: '>=8.0.0'} 1007 | 1008 | get-stdin@5.0.1: 1009 | resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==} 1010 | engines: {node: '>=0.12.0'} 1011 | 1012 | get-stream@6.0.1: 1013 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1014 | engines: {node: '>=10'} 1015 | 1016 | glob-parent@5.1.2: 1017 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1018 | engines: {node: '>= 6'} 1019 | 1020 | glob@7.2.3: 1021 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1022 | deprecated: Glob versions prior to v9 are no longer supported 1023 | 1024 | globals@11.12.0: 1025 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1026 | engines: {node: '>=4'} 1027 | 1028 | globby@11.1.0: 1029 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1030 | engines: {node: '>=10'} 1031 | 1032 | glur@1.1.2: 1033 | resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} 1034 | 1035 | graceful-fs@4.2.11: 1036 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1037 | 1038 | has-ansi@2.0.0: 1039 | resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} 1040 | engines: {node: '>=0.10.0'} 1041 | 1042 | has-flag@4.0.0: 1043 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1044 | engines: {node: '>=8'} 1045 | 1046 | hasown@2.0.2: 1047 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1048 | engines: {node: '>= 0.4'} 1049 | 1050 | html-escaper@2.0.2: 1051 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1052 | 1053 | human-id@4.1.1: 1054 | resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} 1055 | hasBin: true 1056 | 1057 | human-signals@2.1.0: 1058 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1059 | engines: {node: '>=10.17.0'} 1060 | 1061 | iconv-lite@0.4.24: 1062 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1063 | engines: {node: '>=0.10.0'} 1064 | 1065 | ignore@5.3.2: 1066 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1067 | engines: {node: '>= 4'} 1068 | 1069 | import-local@3.2.0: 1070 | resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} 1071 | engines: {node: '>=8'} 1072 | hasBin: true 1073 | 1074 | imurmurhash@0.1.4: 1075 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1076 | engines: {node: '>=0.8.19'} 1077 | 1078 | inflight@1.0.6: 1079 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1080 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1081 | 1082 | inherits@2.0.4: 1083 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1084 | 1085 | is-arrayish@0.2.1: 1086 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1087 | 1088 | is-core-module@2.16.1: 1089 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1090 | engines: {node: '>= 0.4'} 1091 | 1092 | is-extglob@2.1.1: 1093 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1094 | engines: {node: '>=0.10.0'} 1095 | 1096 | is-fullwidth-code-point@3.0.0: 1097 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1098 | engines: {node: '>=8'} 1099 | 1100 | is-generator-fn@2.1.0: 1101 | resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} 1102 | engines: {node: '>=6'} 1103 | 1104 | is-glob@4.0.3: 1105 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1106 | engines: {node: '>=0.10.0'} 1107 | 1108 | is-number@7.0.0: 1109 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1110 | engines: {node: '>=0.12.0'} 1111 | 1112 | is-stream@2.0.1: 1113 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1114 | engines: {node: '>=8'} 1115 | 1116 | is-subdir@1.2.0: 1117 | resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} 1118 | engines: {node: '>=4'} 1119 | 1120 | is-windows@1.0.2: 1121 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 1122 | engines: {node: '>=0.10.0'} 1123 | 1124 | isexe@2.0.0: 1125 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1126 | 1127 | istanbul-lib-coverage@3.2.2: 1128 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} 1129 | engines: {node: '>=8'} 1130 | 1131 | istanbul-lib-instrument@5.2.1: 1132 | resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} 1133 | engines: {node: '>=8'} 1134 | 1135 | istanbul-lib-report@3.0.1: 1136 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1137 | engines: {node: '>=10'} 1138 | 1139 | istanbul-lib-source-maps@4.0.1: 1140 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} 1141 | engines: {node: '>=10'} 1142 | 1143 | istanbul-reports@3.1.7: 1144 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} 1145 | engines: {node: '>=8'} 1146 | 1147 | jest-changed-files@28.1.3: 1148 | resolution: {integrity: sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==} 1149 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1150 | 1151 | jest-circus@28.1.3: 1152 | resolution: {integrity: sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==} 1153 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1154 | 1155 | jest-cli@28.1.3: 1156 | resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} 1157 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1158 | hasBin: true 1159 | peerDependencies: 1160 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 1161 | peerDependenciesMeta: 1162 | node-notifier: 1163 | optional: true 1164 | 1165 | jest-config@28.1.3: 1166 | resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} 1167 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1168 | peerDependencies: 1169 | '@types/node': '*' 1170 | ts-node: '>=9.0.0' 1171 | peerDependenciesMeta: 1172 | '@types/node': 1173 | optional: true 1174 | ts-node: 1175 | optional: true 1176 | 1177 | jest-diff@28.1.3: 1178 | resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} 1179 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1180 | 1181 | jest-docblock@28.1.1: 1182 | resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} 1183 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1184 | 1185 | jest-each@28.1.3: 1186 | resolution: {integrity: sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==} 1187 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1188 | 1189 | jest-environment-node@28.1.3: 1190 | resolution: {integrity: sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==} 1191 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1192 | 1193 | jest-get-type@28.0.2: 1194 | resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} 1195 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1196 | 1197 | jest-haste-map@28.1.3: 1198 | resolution: {integrity: sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==} 1199 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1200 | 1201 | jest-image-snapshot@5.2.0: 1202 | resolution: {integrity: sha512-msKQqsxr4ZS8S3FQ6ot1SPlDKc4pCfyKY3SxU9LEoASj1zoEfglDYjmxNX53pxpNf7Fp7CJZvwP4xkNXVQgEXA==} 1203 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1204 | peerDependencies: 1205 | jest: '>=20 <=28' 1206 | 1207 | jest-leak-detector@28.1.3: 1208 | resolution: {integrity: sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==} 1209 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1210 | 1211 | jest-matcher-utils@28.1.3: 1212 | resolution: {integrity: sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==} 1213 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1214 | 1215 | jest-message-util@28.1.3: 1216 | resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} 1217 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1218 | 1219 | jest-mock@28.1.3: 1220 | resolution: {integrity: sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==} 1221 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1222 | 1223 | jest-pnp-resolver@1.2.3: 1224 | resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} 1225 | engines: {node: '>=6'} 1226 | peerDependencies: 1227 | jest-resolve: '*' 1228 | peerDependenciesMeta: 1229 | jest-resolve: 1230 | optional: true 1231 | 1232 | jest-regex-util@28.0.2: 1233 | resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} 1234 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1235 | 1236 | jest-resolve-dependencies@28.1.3: 1237 | resolution: {integrity: sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==} 1238 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1239 | 1240 | jest-resolve@28.1.3: 1241 | resolution: {integrity: sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==} 1242 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1243 | 1244 | jest-runner@28.1.3: 1245 | resolution: {integrity: sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==} 1246 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1247 | 1248 | jest-runtime@28.1.3: 1249 | resolution: {integrity: sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==} 1250 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1251 | 1252 | jest-snapshot@28.1.3: 1253 | resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} 1254 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1255 | 1256 | jest-util@28.1.3: 1257 | resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} 1258 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1259 | 1260 | jest-validate@28.1.3: 1261 | resolution: {integrity: sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==} 1262 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1263 | 1264 | jest-watcher@28.1.3: 1265 | resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} 1266 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1267 | 1268 | jest-worker@28.1.3: 1269 | resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} 1270 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1271 | 1272 | jest@28.1.3: 1273 | resolution: {integrity: sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==} 1274 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1275 | hasBin: true 1276 | peerDependencies: 1277 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 1278 | peerDependenciesMeta: 1279 | node-notifier: 1280 | optional: true 1281 | 1282 | js-tokens@4.0.0: 1283 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1284 | 1285 | js-yaml@3.14.1: 1286 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1287 | hasBin: true 1288 | 1289 | jsesc@3.1.0: 1290 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 1291 | engines: {node: '>=6'} 1292 | hasBin: true 1293 | 1294 | json-parse-even-better-errors@2.3.1: 1295 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1296 | 1297 | json5@2.2.3: 1298 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1299 | engines: {node: '>=6'} 1300 | hasBin: true 1301 | 1302 | jsonfile@4.0.0: 1303 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1304 | 1305 | kleur@3.0.3: 1306 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 1307 | engines: {node: '>=6'} 1308 | 1309 | leven@3.1.0: 1310 | resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} 1311 | engines: {node: '>=6'} 1312 | 1313 | lines-and-columns@1.2.4: 1314 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1315 | 1316 | local-pkg@0.4.3: 1317 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 1318 | engines: {node: '>=14'} 1319 | 1320 | locate-path@5.0.0: 1321 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1322 | engines: {node: '>=8'} 1323 | 1324 | lodash.startcase@4.4.0: 1325 | resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} 1326 | 1327 | lodash@4.17.21: 1328 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1329 | 1330 | loupe@2.3.7: 1331 | resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} 1332 | 1333 | lru-cache@5.1.1: 1334 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1335 | 1336 | make-dir@4.0.0: 1337 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 1338 | engines: {node: '>=10'} 1339 | 1340 | makeerror@1.0.12: 1341 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} 1342 | 1343 | merge-stream@2.0.0: 1344 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1345 | 1346 | merge2@1.4.1: 1347 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1348 | engines: {node: '>= 8'} 1349 | 1350 | micromatch@4.0.8: 1351 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1352 | engines: {node: '>=8.6'} 1353 | 1354 | mimic-fn@2.1.0: 1355 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1356 | engines: {node: '>=6'} 1357 | 1358 | minimatch@3.1.2: 1359 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1360 | 1361 | minimist@1.2.8: 1362 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1363 | 1364 | mkdirp@0.5.6: 1365 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 1366 | hasBin: true 1367 | 1368 | mri@1.2.0: 1369 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1370 | engines: {node: '>=4'} 1371 | 1372 | ms@2.1.3: 1373 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1374 | 1375 | nanoid@3.3.11: 1376 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1377 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1378 | hasBin: true 1379 | 1380 | natural-compare@1.4.0: 1381 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1382 | 1383 | node-fetch@2.7.0: 1384 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 1385 | engines: {node: 4.x || >=6.0.0} 1386 | peerDependencies: 1387 | encoding: ^0.1.0 1388 | peerDependenciesMeta: 1389 | encoding: 1390 | optional: true 1391 | 1392 | node-int64@0.4.0: 1393 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} 1394 | 1395 | node-releases@2.0.19: 1396 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} 1397 | 1398 | normalize-path@3.0.0: 1399 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1400 | engines: {node: '>=0.10.0'} 1401 | 1402 | npm-run-path@4.0.1: 1403 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1404 | engines: {node: '>=8'} 1405 | 1406 | once@1.4.0: 1407 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1408 | 1409 | onetime@5.1.2: 1410 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1411 | engines: {node: '>=6'} 1412 | 1413 | os-tmpdir@1.0.2: 1414 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1415 | engines: {node: '>=0.10.0'} 1416 | 1417 | outdent@0.5.0: 1418 | resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} 1419 | 1420 | p-filter@2.1.0: 1421 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} 1422 | engines: {node: '>=8'} 1423 | 1424 | p-limit@2.3.0: 1425 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1426 | engines: {node: '>=6'} 1427 | 1428 | p-limit@3.1.0: 1429 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1430 | engines: {node: '>=10'} 1431 | 1432 | p-locate@4.1.0: 1433 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1434 | engines: {node: '>=8'} 1435 | 1436 | p-map@2.1.0: 1437 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} 1438 | engines: {node: '>=6'} 1439 | 1440 | p-try@2.2.0: 1441 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1442 | engines: {node: '>=6'} 1443 | 1444 | package-manager-detector@0.2.11: 1445 | resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} 1446 | 1447 | parse-json@5.2.0: 1448 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1449 | engines: {node: '>=8'} 1450 | 1451 | path-exists@4.0.0: 1452 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1453 | engines: {node: '>=8'} 1454 | 1455 | path-is-absolute@1.0.1: 1456 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1457 | engines: {node: '>=0.10.0'} 1458 | 1459 | path-key@3.1.1: 1460 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1461 | engines: {node: '>=8'} 1462 | 1463 | path-parse@1.0.7: 1464 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1465 | 1466 | path-type@4.0.0: 1467 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1468 | engines: {node: '>=8'} 1469 | 1470 | pathval@1.1.1: 1471 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 1472 | 1473 | picocolors@1.1.1: 1474 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1475 | 1476 | picomatch@2.3.1: 1477 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1478 | engines: {node: '>=8.6'} 1479 | 1480 | pify@4.0.1: 1481 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 1482 | engines: {node: '>=6'} 1483 | 1484 | pirates@4.0.7: 1485 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} 1486 | engines: {node: '>= 6'} 1487 | 1488 | pixelmatch@5.3.0: 1489 | resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} 1490 | hasBin: true 1491 | 1492 | pkg-dir@4.2.0: 1493 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 1494 | engines: {node: '>=8'} 1495 | 1496 | pngjs@3.4.0: 1497 | resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} 1498 | engines: {node: '>=4.0.0'} 1499 | 1500 | pngjs@6.0.0: 1501 | resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} 1502 | engines: {node: '>=12.13.0'} 1503 | 1504 | postcss-value-parser@4.2.0: 1505 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1506 | 1507 | postcss@8.5.3: 1508 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1509 | engines: {node: ^10 || ^12 || >=14} 1510 | 1511 | prettier@2.8.8: 1512 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} 1513 | engines: {node: '>=10.13.0'} 1514 | hasBin: true 1515 | 1516 | pretty-format@28.1.3: 1517 | resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} 1518 | engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} 1519 | 1520 | prompts@2.4.2: 1521 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 1522 | engines: {node: '>= 6'} 1523 | 1524 | quansync@0.2.10: 1525 | resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} 1526 | 1527 | queue-microtask@1.2.3: 1528 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1529 | 1530 | react-is@18.3.1: 1531 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} 1532 | 1533 | read-yaml-file@1.1.0: 1534 | resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} 1535 | engines: {node: '>=6'} 1536 | 1537 | regenerator-runtime@0.14.1: 1538 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 1539 | 1540 | require-directory@2.1.1: 1541 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1542 | engines: {node: '>=0.10.0'} 1543 | 1544 | resolve-cwd@3.0.0: 1545 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} 1546 | engines: {node: '>=8'} 1547 | 1548 | resolve-from@5.0.0: 1549 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1550 | engines: {node: '>=8'} 1551 | 1552 | resolve.exports@1.1.1: 1553 | resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} 1554 | engines: {node: '>=10'} 1555 | 1556 | resolve@1.22.10: 1557 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1558 | engines: {node: '>= 0.4'} 1559 | hasBin: true 1560 | 1561 | reusify@1.1.0: 1562 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1563 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1564 | 1565 | rimraf@2.7.1: 1566 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 1567 | deprecated: Rimraf versions prior to v4 are no longer supported 1568 | hasBin: true 1569 | 1570 | rimraf@3.0.2: 1571 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1572 | deprecated: Rimraf versions prior to v4 are no longer supported 1573 | hasBin: true 1574 | 1575 | rollup@2.79.2: 1576 | resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} 1577 | engines: {node: '>=10.0.0'} 1578 | hasBin: true 1579 | 1580 | run-parallel@1.2.0: 1581 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1582 | 1583 | safer-buffer@2.1.2: 1584 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1585 | 1586 | satori@0.0.38: 1587 | resolution: {integrity: sha512-o8nMTp5IiLKi3oOw80Y3LdDAReGS+UfC1StQBAwlnFNzHmY1A3JGFT+9gam6x8I6uMDFrs82FnG9R/kI9iONdg==} 1588 | engines: {node: '>=16'} 1589 | 1590 | semver@6.3.1: 1591 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1592 | hasBin: true 1593 | 1594 | semver@7.7.1: 1595 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1596 | engines: {node: '>=10'} 1597 | hasBin: true 1598 | 1599 | shebang-command@2.0.0: 1600 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1601 | engines: {node: '>=8'} 1602 | 1603 | shebang-regex@3.0.0: 1604 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1605 | engines: {node: '>=8'} 1606 | 1607 | signal-exit@3.0.7: 1608 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1609 | 1610 | signal-exit@4.1.0: 1611 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1612 | engines: {node: '>=14'} 1613 | 1614 | sisteransi@1.0.5: 1615 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 1616 | 1617 | slash@3.0.0: 1618 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1619 | engines: {node: '>=8'} 1620 | 1621 | source-map-js@1.2.1: 1622 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1623 | engines: {node: '>=0.10.0'} 1624 | 1625 | source-map-support@0.5.13: 1626 | resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} 1627 | 1628 | source-map@0.6.1: 1629 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1630 | engines: {node: '>=0.10.0'} 1631 | 1632 | spawndamnit@3.0.1: 1633 | resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} 1634 | 1635 | sprintf-js@1.0.3: 1636 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 1637 | 1638 | ssim.js@3.5.0: 1639 | resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} 1640 | 1641 | stack-utils@2.0.6: 1642 | resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} 1643 | engines: {node: '>=10'} 1644 | 1645 | string-length@4.0.2: 1646 | resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} 1647 | engines: {node: '>=10'} 1648 | 1649 | string-width@4.2.3: 1650 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1651 | engines: {node: '>=8'} 1652 | 1653 | string.prototype.codepointat@0.2.1: 1654 | resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} 1655 | 1656 | strip-ansi@3.0.1: 1657 | resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} 1658 | engines: {node: '>=0.10.0'} 1659 | 1660 | strip-ansi@6.0.1: 1661 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1662 | engines: {node: '>=8'} 1663 | 1664 | strip-bom@3.0.0: 1665 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1666 | engines: {node: '>=4'} 1667 | 1668 | strip-bom@4.0.0: 1669 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} 1670 | engines: {node: '>=8'} 1671 | 1672 | strip-final-newline@2.0.0: 1673 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1674 | engines: {node: '>=6'} 1675 | 1676 | strip-json-comments@3.1.1: 1677 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1678 | engines: {node: '>=8'} 1679 | 1680 | strip-literal@0.4.2: 1681 | resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==} 1682 | 1683 | supports-color@2.0.0: 1684 | resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} 1685 | engines: {node: '>=0.8.0'} 1686 | 1687 | supports-color@7.2.0: 1688 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1689 | engines: {node: '>=8'} 1690 | 1691 | supports-color@8.1.1: 1692 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 1693 | engines: {node: '>=10'} 1694 | 1695 | supports-hyperlinks@2.3.0: 1696 | resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} 1697 | engines: {node: '>=8'} 1698 | 1699 | supports-preserve-symlinks-flag@1.0.0: 1700 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1701 | engines: {node: '>= 0.4'} 1702 | 1703 | term-size@2.2.1: 1704 | resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} 1705 | engines: {node: '>=8'} 1706 | 1707 | terminal-link@2.1.1: 1708 | resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} 1709 | engines: {node: '>=8'} 1710 | 1711 | test-exclude@6.0.0: 1712 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 1713 | engines: {node: '>=8'} 1714 | 1715 | tinybench@2.9.0: 1716 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 1717 | 1718 | tinypool@0.3.1: 1719 | resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} 1720 | engines: {node: '>=14.0.0'} 1721 | 1722 | tinyspy@1.1.1: 1723 | resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} 1724 | engines: {node: '>=14.0.0'} 1725 | 1726 | tmp@0.0.33: 1727 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 1728 | engines: {node: '>=0.6.0'} 1729 | 1730 | tmpl@1.0.5: 1731 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} 1732 | 1733 | to-regex-range@5.0.1: 1734 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1735 | engines: {node: '>=8.0'} 1736 | 1737 | tr46@0.0.3: 1738 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 1739 | 1740 | type-detect@4.0.8: 1741 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 1742 | engines: {node: '>=4'} 1743 | 1744 | type-detect@4.1.0: 1745 | resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} 1746 | engines: {node: '>=4'} 1747 | 1748 | type-fest@0.21.3: 1749 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 1750 | engines: {node: '>=10'} 1751 | 1752 | typescript@4.9.5: 1753 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 1754 | engines: {node: '>=4.2.0'} 1755 | hasBin: true 1756 | 1757 | ultrahtml@1.5.3: 1758 | resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} 1759 | 1760 | undici-types@5.26.5: 1761 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 1762 | 1763 | universalify@0.1.2: 1764 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1765 | engines: {node: '>= 4.0.0'} 1766 | 1767 | update-browserslist-db@1.1.3: 1768 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 1769 | hasBin: true 1770 | peerDependencies: 1771 | browserslist: '>= 4.21.0' 1772 | 1773 | v8-to-istanbul@9.3.0: 1774 | resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} 1775 | engines: {node: '>=10.12.0'} 1776 | 1777 | vite@3.2.11: 1778 | resolution: {integrity: sha512-K/jGKL/PgbIgKCiJo5QbASQhFiV02X9Jh+Qq0AKCRCRKZtOTVi4t6wh75FDpGf2N9rYOnzH87OEFQNaFy6pdxQ==} 1779 | engines: {node: ^14.18.0 || >=16.0.0} 1780 | hasBin: true 1781 | peerDependencies: 1782 | '@types/node': '>= 14' 1783 | less: '*' 1784 | sass: '*' 1785 | stylus: '*' 1786 | sugarss: '*' 1787 | terser: ^5.4.0 1788 | peerDependenciesMeta: 1789 | '@types/node': 1790 | optional: true 1791 | less: 1792 | optional: true 1793 | sass: 1794 | optional: true 1795 | stylus: 1796 | optional: true 1797 | sugarss: 1798 | optional: true 1799 | terser: 1800 | optional: true 1801 | 1802 | vitest@0.24.5: 1803 | resolution: {integrity: sha512-zw6JhPUHtLILQDe5Q39b/SzoITkG+R7hcFjuthp4xsi6zpmfQPOZcHodZ+3bqoWl4EdGK/p1fuMiEwdxgbGLOA==} 1804 | engines: {node: '>=v14.16.0'} 1805 | hasBin: true 1806 | peerDependencies: 1807 | '@edge-runtime/vm': '*' 1808 | '@vitest/browser': '*' 1809 | '@vitest/ui': '*' 1810 | happy-dom: '*' 1811 | jsdom: '*' 1812 | peerDependenciesMeta: 1813 | '@edge-runtime/vm': 1814 | optional: true 1815 | '@vitest/browser': 1816 | optional: true 1817 | '@vitest/ui': 1818 | optional: true 1819 | happy-dom: 1820 | optional: true 1821 | jsdom: 1822 | optional: true 1823 | 1824 | walker@1.0.8: 1825 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} 1826 | 1827 | webidl-conversions@3.0.1: 1828 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 1829 | 1830 | whatwg-url@5.0.0: 1831 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 1832 | 1833 | which@2.0.2: 1834 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1835 | engines: {node: '>= 8'} 1836 | hasBin: true 1837 | 1838 | wrap-ansi@7.0.0: 1839 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1840 | engines: {node: '>=10'} 1841 | 1842 | wrappy@1.0.2: 1843 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1844 | 1845 | write-file-atomic@4.0.2: 1846 | resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} 1847 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 1848 | 1849 | y18n@5.0.8: 1850 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1851 | engines: {node: '>=10'} 1852 | 1853 | yallist@3.1.1: 1854 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1855 | 1856 | yargs-parser@21.1.1: 1857 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1858 | engines: {node: '>=12'} 1859 | 1860 | yargs@17.7.2: 1861 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1862 | engines: {node: '>=12'} 1863 | 1864 | yocto-queue@0.1.0: 1865 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1866 | engines: {node: '>=10'} 1867 | 1868 | yoga-layout-prebuilt@1.10.0: 1869 | resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} 1870 | engines: {node: '>=8'} 1871 | 1872 | snapshots: 1873 | 1874 | '@ampproject/remapping@2.3.0': 1875 | dependencies: 1876 | '@jridgewell/gen-mapping': 0.3.8 1877 | '@jridgewell/trace-mapping': 0.3.25 1878 | 1879 | '@babel/code-frame@7.26.2': 1880 | dependencies: 1881 | '@babel/helper-validator-identifier': 7.25.9 1882 | js-tokens: 4.0.0 1883 | picocolors: 1.1.1 1884 | 1885 | '@babel/compat-data@7.26.8': {} 1886 | 1887 | '@babel/core@7.26.10': 1888 | dependencies: 1889 | '@ampproject/remapping': 2.3.0 1890 | '@babel/code-frame': 7.26.2 1891 | '@babel/generator': 7.27.0 1892 | '@babel/helper-compilation-targets': 7.27.0 1893 | '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) 1894 | '@babel/helpers': 7.27.0 1895 | '@babel/parser': 7.27.0 1896 | '@babel/template': 7.27.0 1897 | '@babel/traverse': 7.27.0 1898 | '@babel/types': 7.27.0 1899 | convert-source-map: 2.0.0 1900 | debug: 4.4.0 1901 | gensync: 1.0.0-beta.2 1902 | json5: 2.2.3 1903 | semver: 6.3.1 1904 | transitivePeerDependencies: 1905 | - supports-color 1906 | 1907 | '@babel/generator@7.27.0': 1908 | dependencies: 1909 | '@babel/parser': 7.27.0 1910 | '@babel/types': 7.27.0 1911 | '@jridgewell/gen-mapping': 0.3.8 1912 | '@jridgewell/trace-mapping': 0.3.25 1913 | jsesc: 3.1.0 1914 | 1915 | '@babel/helper-compilation-targets@7.27.0': 1916 | dependencies: 1917 | '@babel/compat-data': 7.26.8 1918 | '@babel/helper-validator-option': 7.25.9 1919 | browserslist: 4.24.4 1920 | lru-cache: 5.1.1 1921 | semver: 6.3.1 1922 | 1923 | '@babel/helper-module-imports@7.25.9': 1924 | dependencies: 1925 | '@babel/traverse': 7.27.0 1926 | '@babel/types': 7.27.0 1927 | transitivePeerDependencies: 1928 | - supports-color 1929 | 1930 | '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': 1931 | dependencies: 1932 | '@babel/core': 7.26.10 1933 | '@babel/helper-module-imports': 7.25.9 1934 | '@babel/helper-validator-identifier': 7.25.9 1935 | '@babel/traverse': 7.27.0 1936 | transitivePeerDependencies: 1937 | - supports-color 1938 | 1939 | '@babel/helper-plugin-utils@7.26.5': {} 1940 | 1941 | '@babel/helper-string-parser@7.25.9': {} 1942 | 1943 | '@babel/helper-validator-identifier@7.25.9': {} 1944 | 1945 | '@babel/helper-validator-option@7.25.9': {} 1946 | 1947 | '@babel/helpers@7.27.0': 1948 | dependencies: 1949 | '@babel/template': 7.27.0 1950 | '@babel/types': 7.27.0 1951 | 1952 | '@babel/parser@7.27.0': 1953 | dependencies: 1954 | '@babel/types': 7.27.0 1955 | 1956 | '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10)': 1957 | dependencies: 1958 | '@babel/core': 7.26.10 1959 | '@babel/helper-plugin-utils': 7.26.5 1960 | 1961 | '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.10)': 1962 | dependencies: 1963 | '@babel/core': 7.26.10 1964 | '@babel/helper-plugin-utils': 7.26.5 1965 | 1966 | '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.10)': 1967 | dependencies: 1968 | '@babel/core': 7.26.10 1969 | '@babel/helper-plugin-utils': 7.26.5 1970 | 1971 | '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.10)': 1972 | dependencies: 1973 | '@babel/core': 7.26.10 1974 | '@babel/helper-plugin-utils': 7.26.5 1975 | 1976 | '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.10)': 1977 | dependencies: 1978 | '@babel/core': 7.26.10 1979 | '@babel/helper-plugin-utils': 7.26.5 1980 | 1981 | '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.10)': 1982 | dependencies: 1983 | '@babel/core': 7.26.10 1984 | '@babel/helper-plugin-utils': 7.26.5 1985 | 1986 | '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.10)': 1987 | dependencies: 1988 | '@babel/core': 7.26.10 1989 | '@babel/helper-plugin-utils': 7.26.5 1990 | 1991 | '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.10)': 1992 | dependencies: 1993 | '@babel/core': 7.26.10 1994 | '@babel/helper-plugin-utils': 7.26.5 1995 | 1996 | '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.10)': 1997 | dependencies: 1998 | '@babel/core': 7.26.10 1999 | '@babel/helper-plugin-utils': 7.26.5 2000 | 2001 | '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.10)': 2002 | dependencies: 2003 | '@babel/core': 7.26.10 2004 | '@babel/helper-plugin-utils': 7.26.5 2005 | 2006 | '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.10)': 2007 | dependencies: 2008 | '@babel/core': 7.26.10 2009 | '@babel/helper-plugin-utils': 7.26.5 2010 | 2011 | '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.10)': 2012 | dependencies: 2013 | '@babel/core': 7.26.10 2014 | '@babel/helper-plugin-utils': 7.26.5 2015 | 2016 | '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.10)': 2017 | dependencies: 2018 | '@babel/core': 7.26.10 2019 | '@babel/helper-plugin-utils': 7.26.5 2020 | 2021 | '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.10)': 2022 | dependencies: 2023 | '@babel/core': 7.26.10 2024 | '@babel/helper-plugin-utils': 7.26.5 2025 | 2026 | '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.10)': 2027 | dependencies: 2028 | '@babel/core': 7.26.10 2029 | '@babel/helper-plugin-utils': 7.26.5 2030 | 2031 | '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10)': 2032 | dependencies: 2033 | '@babel/core': 7.26.10 2034 | '@babel/helper-plugin-utils': 7.26.5 2035 | 2036 | '@babel/runtime@7.27.0': 2037 | dependencies: 2038 | regenerator-runtime: 0.14.1 2039 | 2040 | '@babel/template@7.27.0': 2041 | dependencies: 2042 | '@babel/code-frame': 7.26.2 2043 | '@babel/parser': 7.27.0 2044 | '@babel/types': 7.27.0 2045 | 2046 | '@babel/traverse@7.27.0': 2047 | dependencies: 2048 | '@babel/code-frame': 7.26.2 2049 | '@babel/generator': 7.27.0 2050 | '@babel/parser': 7.27.0 2051 | '@babel/template': 7.27.0 2052 | '@babel/types': 7.27.0 2053 | debug: 4.4.0 2054 | globals: 11.12.0 2055 | transitivePeerDependencies: 2056 | - supports-color 2057 | 2058 | '@babel/types@7.27.0': 2059 | dependencies: 2060 | '@babel/helper-string-parser': 7.25.9 2061 | '@babel/helper-validator-identifier': 7.25.9 2062 | 2063 | '@bcoe/v8-coverage@0.2.3': {} 2064 | 2065 | '@changesets/apply-release-plan@7.0.10': 2066 | dependencies: 2067 | '@changesets/config': 3.1.1 2068 | '@changesets/get-version-range-type': 0.4.0 2069 | '@changesets/git': 3.0.2 2070 | '@changesets/should-skip-package': 0.1.2 2071 | '@changesets/types': 6.1.0 2072 | '@manypkg/get-packages': 1.1.3 2073 | detect-indent: 6.1.0 2074 | fs-extra: 7.0.1 2075 | lodash.startcase: 4.4.0 2076 | outdent: 0.5.0 2077 | prettier: 2.8.8 2078 | resolve-from: 5.0.0 2079 | semver: 7.7.1 2080 | 2081 | '@changesets/assemble-release-plan@6.0.6': 2082 | dependencies: 2083 | '@changesets/errors': 0.2.0 2084 | '@changesets/get-dependents-graph': 2.1.3 2085 | '@changesets/should-skip-package': 0.1.2 2086 | '@changesets/types': 6.1.0 2087 | '@manypkg/get-packages': 1.1.3 2088 | semver: 7.7.1 2089 | 2090 | '@changesets/changelog-git@0.2.1': 2091 | dependencies: 2092 | '@changesets/types': 6.1.0 2093 | 2094 | '@changesets/changelog-github@0.5.1': 2095 | dependencies: 2096 | '@changesets/get-github-info': 0.6.0 2097 | '@changesets/types': 6.1.0 2098 | dotenv: 8.6.0 2099 | transitivePeerDependencies: 2100 | - encoding 2101 | 2102 | '@changesets/cli@2.28.1': 2103 | dependencies: 2104 | '@changesets/apply-release-plan': 7.0.10 2105 | '@changesets/assemble-release-plan': 6.0.6 2106 | '@changesets/changelog-git': 0.2.1 2107 | '@changesets/config': 3.1.1 2108 | '@changesets/errors': 0.2.0 2109 | '@changesets/get-dependents-graph': 2.1.3 2110 | '@changesets/get-release-plan': 4.0.8 2111 | '@changesets/git': 3.0.2 2112 | '@changesets/logger': 0.1.1 2113 | '@changesets/pre': 2.0.2 2114 | '@changesets/read': 0.6.3 2115 | '@changesets/should-skip-package': 0.1.2 2116 | '@changesets/types': 6.1.0 2117 | '@changesets/write': 0.4.0 2118 | '@manypkg/get-packages': 1.1.3 2119 | ansi-colors: 4.1.3 2120 | ci-info: 3.9.0 2121 | enquirer: 2.4.1 2122 | external-editor: 3.1.0 2123 | fs-extra: 7.0.1 2124 | mri: 1.2.0 2125 | p-limit: 2.3.0 2126 | package-manager-detector: 0.2.11 2127 | picocolors: 1.1.1 2128 | resolve-from: 5.0.0 2129 | semver: 7.7.1 2130 | spawndamnit: 3.0.1 2131 | term-size: 2.2.1 2132 | 2133 | '@changesets/config@3.1.1': 2134 | dependencies: 2135 | '@changesets/errors': 0.2.0 2136 | '@changesets/get-dependents-graph': 2.1.3 2137 | '@changesets/logger': 0.1.1 2138 | '@changesets/types': 6.1.0 2139 | '@manypkg/get-packages': 1.1.3 2140 | fs-extra: 7.0.1 2141 | micromatch: 4.0.8 2142 | 2143 | '@changesets/errors@0.2.0': 2144 | dependencies: 2145 | extendable-error: 0.1.7 2146 | 2147 | '@changesets/get-dependents-graph@2.1.3': 2148 | dependencies: 2149 | '@changesets/types': 6.1.0 2150 | '@manypkg/get-packages': 1.1.3 2151 | picocolors: 1.1.1 2152 | semver: 7.7.1 2153 | 2154 | '@changesets/get-github-info@0.6.0': 2155 | dependencies: 2156 | dataloader: 1.4.0 2157 | node-fetch: 2.7.0 2158 | transitivePeerDependencies: 2159 | - encoding 2160 | 2161 | '@changesets/get-release-plan@4.0.8': 2162 | dependencies: 2163 | '@changesets/assemble-release-plan': 6.0.6 2164 | '@changesets/config': 3.1.1 2165 | '@changesets/pre': 2.0.2 2166 | '@changesets/read': 0.6.3 2167 | '@changesets/types': 6.1.0 2168 | '@manypkg/get-packages': 1.1.3 2169 | 2170 | '@changesets/get-version-range-type@0.4.0': {} 2171 | 2172 | '@changesets/git@3.0.2': 2173 | dependencies: 2174 | '@changesets/errors': 0.2.0 2175 | '@manypkg/get-packages': 1.1.3 2176 | is-subdir: 1.2.0 2177 | micromatch: 4.0.8 2178 | spawndamnit: 3.0.1 2179 | 2180 | '@changesets/logger@0.1.1': 2181 | dependencies: 2182 | picocolors: 1.1.1 2183 | 2184 | '@changesets/parse@0.4.1': 2185 | dependencies: 2186 | '@changesets/types': 6.1.0 2187 | js-yaml: 3.14.1 2188 | 2189 | '@changesets/pre@2.0.2': 2190 | dependencies: 2191 | '@changesets/errors': 0.2.0 2192 | '@changesets/types': 6.1.0 2193 | '@manypkg/get-packages': 1.1.3 2194 | fs-extra: 7.0.1 2195 | 2196 | '@changesets/read@0.6.3': 2197 | dependencies: 2198 | '@changesets/git': 3.0.2 2199 | '@changesets/logger': 0.1.1 2200 | '@changesets/parse': 0.4.1 2201 | '@changesets/types': 6.1.0 2202 | fs-extra: 7.0.1 2203 | p-filter: 2.1.0 2204 | picocolors: 1.1.1 2205 | 2206 | '@changesets/should-skip-package@0.1.2': 2207 | dependencies: 2208 | '@changesets/types': 6.1.0 2209 | '@manypkg/get-packages': 1.1.3 2210 | 2211 | '@changesets/types@4.1.0': {} 2212 | 2213 | '@changesets/types@6.1.0': {} 2214 | 2215 | '@changesets/write@0.4.0': 2216 | dependencies: 2217 | '@changesets/types': 6.1.0 2218 | fs-extra: 7.0.1 2219 | human-id: 4.1.1 2220 | prettier: 2.8.8 2221 | 2222 | '@esbuild/android-arm@0.15.18': 2223 | optional: true 2224 | 2225 | '@esbuild/linux-loong64@0.15.18': 2226 | optional: true 2227 | 2228 | '@istanbuljs/load-nyc-config@1.1.0': 2229 | dependencies: 2230 | camelcase: 5.3.1 2231 | find-up: 4.1.0 2232 | get-package-type: 0.1.0 2233 | js-yaml: 3.14.1 2234 | resolve-from: 5.0.0 2235 | 2236 | '@istanbuljs/schema@0.1.3': {} 2237 | 2238 | '@jest/console@28.1.3': 2239 | dependencies: 2240 | '@jest/types': 28.1.3 2241 | '@types/node': 18.19.86 2242 | chalk: 4.1.2 2243 | jest-message-util: 28.1.3 2244 | jest-util: 28.1.3 2245 | slash: 3.0.0 2246 | 2247 | '@jest/core@28.1.3': 2248 | dependencies: 2249 | '@jest/console': 28.1.3 2250 | '@jest/reporters': 28.1.3 2251 | '@jest/test-result': 28.1.3 2252 | '@jest/transform': 28.1.3 2253 | '@jest/types': 28.1.3 2254 | '@types/node': 18.19.86 2255 | ansi-escapes: 4.3.2 2256 | chalk: 4.1.2 2257 | ci-info: 3.9.0 2258 | exit: 0.1.2 2259 | graceful-fs: 4.2.11 2260 | jest-changed-files: 28.1.3 2261 | jest-config: 28.1.3(@types/node@18.19.86) 2262 | jest-haste-map: 28.1.3 2263 | jest-message-util: 28.1.3 2264 | jest-regex-util: 28.0.2 2265 | jest-resolve: 28.1.3 2266 | jest-resolve-dependencies: 28.1.3 2267 | jest-runner: 28.1.3 2268 | jest-runtime: 28.1.3 2269 | jest-snapshot: 28.1.3 2270 | jest-util: 28.1.3 2271 | jest-validate: 28.1.3 2272 | jest-watcher: 28.1.3 2273 | micromatch: 4.0.8 2274 | pretty-format: 28.1.3 2275 | rimraf: 3.0.2 2276 | slash: 3.0.0 2277 | strip-ansi: 6.0.1 2278 | transitivePeerDependencies: 2279 | - supports-color 2280 | - ts-node 2281 | 2282 | '@jest/environment@28.1.3': 2283 | dependencies: 2284 | '@jest/fake-timers': 28.1.3 2285 | '@jest/types': 28.1.3 2286 | '@types/node': 18.19.86 2287 | jest-mock: 28.1.3 2288 | 2289 | '@jest/expect-utils@28.1.3': 2290 | dependencies: 2291 | jest-get-type: 28.0.2 2292 | 2293 | '@jest/expect@28.1.3': 2294 | dependencies: 2295 | expect: 28.1.3 2296 | jest-snapshot: 28.1.3 2297 | transitivePeerDependencies: 2298 | - supports-color 2299 | 2300 | '@jest/fake-timers@28.1.3': 2301 | dependencies: 2302 | '@jest/types': 28.1.3 2303 | '@sinonjs/fake-timers': 9.1.2 2304 | '@types/node': 18.19.86 2305 | jest-message-util: 28.1.3 2306 | jest-mock: 28.1.3 2307 | jest-util: 28.1.3 2308 | 2309 | '@jest/globals@28.1.3': 2310 | dependencies: 2311 | '@jest/environment': 28.1.3 2312 | '@jest/expect': 28.1.3 2313 | '@jest/types': 28.1.3 2314 | transitivePeerDependencies: 2315 | - supports-color 2316 | 2317 | '@jest/reporters@28.1.3': 2318 | dependencies: 2319 | '@bcoe/v8-coverage': 0.2.3 2320 | '@jest/console': 28.1.3 2321 | '@jest/test-result': 28.1.3 2322 | '@jest/transform': 28.1.3 2323 | '@jest/types': 28.1.3 2324 | '@jridgewell/trace-mapping': 0.3.25 2325 | '@types/node': 18.19.86 2326 | chalk: 4.1.2 2327 | collect-v8-coverage: 1.0.2 2328 | exit: 0.1.2 2329 | glob: 7.2.3 2330 | graceful-fs: 4.2.11 2331 | istanbul-lib-coverage: 3.2.2 2332 | istanbul-lib-instrument: 5.2.1 2333 | istanbul-lib-report: 3.0.1 2334 | istanbul-lib-source-maps: 4.0.1 2335 | istanbul-reports: 3.1.7 2336 | jest-message-util: 28.1.3 2337 | jest-util: 28.1.3 2338 | jest-worker: 28.1.3 2339 | slash: 3.0.0 2340 | string-length: 4.0.2 2341 | strip-ansi: 6.0.1 2342 | terminal-link: 2.1.1 2343 | v8-to-istanbul: 9.3.0 2344 | transitivePeerDependencies: 2345 | - supports-color 2346 | 2347 | '@jest/schemas@28.1.3': 2348 | dependencies: 2349 | '@sinclair/typebox': 0.24.51 2350 | 2351 | '@jest/source-map@28.1.2': 2352 | dependencies: 2353 | '@jridgewell/trace-mapping': 0.3.25 2354 | callsites: 3.1.0 2355 | graceful-fs: 4.2.11 2356 | 2357 | '@jest/test-result@28.1.3': 2358 | dependencies: 2359 | '@jest/console': 28.1.3 2360 | '@jest/types': 28.1.3 2361 | '@types/istanbul-lib-coverage': 2.0.6 2362 | collect-v8-coverage: 1.0.2 2363 | 2364 | '@jest/test-sequencer@28.1.3': 2365 | dependencies: 2366 | '@jest/test-result': 28.1.3 2367 | graceful-fs: 4.2.11 2368 | jest-haste-map: 28.1.3 2369 | slash: 3.0.0 2370 | 2371 | '@jest/transform@28.1.3': 2372 | dependencies: 2373 | '@babel/core': 7.26.10 2374 | '@jest/types': 28.1.3 2375 | '@jridgewell/trace-mapping': 0.3.25 2376 | babel-plugin-istanbul: 6.1.1 2377 | chalk: 4.1.2 2378 | convert-source-map: 1.9.0 2379 | fast-json-stable-stringify: 2.1.0 2380 | graceful-fs: 4.2.11 2381 | jest-haste-map: 28.1.3 2382 | jest-regex-util: 28.0.2 2383 | jest-util: 28.1.3 2384 | micromatch: 4.0.8 2385 | pirates: 4.0.7 2386 | slash: 3.0.0 2387 | write-file-atomic: 4.0.2 2388 | transitivePeerDependencies: 2389 | - supports-color 2390 | 2391 | '@jest/types@28.1.3': 2392 | dependencies: 2393 | '@jest/schemas': 28.1.3 2394 | '@types/istanbul-lib-coverage': 2.0.6 2395 | '@types/istanbul-reports': 3.0.4 2396 | '@types/node': 18.19.86 2397 | '@types/yargs': 17.0.33 2398 | chalk: 4.1.2 2399 | 2400 | '@jridgewell/gen-mapping@0.3.8': 2401 | dependencies: 2402 | '@jridgewell/set-array': 1.2.1 2403 | '@jridgewell/sourcemap-codec': 1.5.0 2404 | '@jridgewell/trace-mapping': 0.3.25 2405 | 2406 | '@jridgewell/resolve-uri@3.1.2': {} 2407 | 2408 | '@jridgewell/set-array@1.2.1': {} 2409 | 2410 | '@jridgewell/sourcemap-codec@1.5.0': {} 2411 | 2412 | '@jridgewell/trace-mapping@0.3.25': 2413 | dependencies: 2414 | '@jridgewell/resolve-uri': 3.1.2 2415 | '@jridgewell/sourcemap-codec': 1.5.0 2416 | 2417 | '@manypkg/find-root@1.1.0': 2418 | dependencies: 2419 | '@babel/runtime': 7.27.0 2420 | '@types/node': 12.20.55 2421 | find-up: 4.1.0 2422 | fs-extra: 8.1.0 2423 | 2424 | '@manypkg/get-packages@1.1.3': 2425 | dependencies: 2426 | '@babel/runtime': 7.27.0 2427 | '@changesets/types': 4.1.0 2428 | '@manypkg/find-root': 1.1.0 2429 | fs-extra: 8.1.0 2430 | globby: 11.1.0 2431 | read-yaml-file: 1.1.0 2432 | 2433 | '@nodelib/fs.scandir@2.1.5': 2434 | dependencies: 2435 | '@nodelib/fs.stat': 2.0.5 2436 | run-parallel: 1.2.0 2437 | 2438 | '@nodelib/fs.stat@2.0.5': {} 2439 | 2440 | '@nodelib/fs.walk@1.2.8': 2441 | dependencies: 2442 | '@nodelib/fs.scandir': 2.1.5 2443 | fastq: 1.19.1 2444 | 2445 | '@resvg/resvg-js-android-arm-eabi@2.6.2': 2446 | optional: true 2447 | 2448 | '@resvg/resvg-js-android-arm64@2.6.2': 2449 | optional: true 2450 | 2451 | '@resvg/resvg-js-darwin-arm64@2.6.2': 2452 | optional: true 2453 | 2454 | '@resvg/resvg-js-darwin-x64@2.6.2': 2455 | optional: true 2456 | 2457 | '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': 2458 | optional: true 2459 | 2460 | '@resvg/resvg-js-linux-arm64-gnu@2.6.2': 2461 | optional: true 2462 | 2463 | '@resvg/resvg-js-linux-arm64-musl@2.6.2': 2464 | optional: true 2465 | 2466 | '@resvg/resvg-js-linux-x64-gnu@2.6.2': 2467 | optional: true 2468 | 2469 | '@resvg/resvg-js-linux-x64-musl@2.6.2': 2470 | optional: true 2471 | 2472 | '@resvg/resvg-js-win32-arm64-msvc@2.6.2': 2473 | optional: true 2474 | 2475 | '@resvg/resvg-js-win32-ia32-msvc@2.6.2': 2476 | optional: true 2477 | 2478 | '@resvg/resvg-js-win32-x64-msvc@2.6.2': 2479 | optional: true 2480 | 2481 | '@resvg/resvg-js@2.6.2': 2482 | optionalDependencies: 2483 | '@resvg/resvg-js-android-arm-eabi': 2.6.2 2484 | '@resvg/resvg-js-android-arm64': 2.6.2 2485 | '@resvg/resvg-js-darwin-arm64': 2.6.2 2486 | '@resvg/resvg-js-darwin-x64': 2.6.2 2487 | '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2 2488 | '@resvg/resvg-js-linux-arm64-gnu': 2.6.2 2489 | '@resvg/resvg-js-linux-arm64-musl': 2.6.2 2490 | '@resvg/resvg-js-linux-x64-gnu': 2.6.2 2491 | '@resvg/resvg-js-linux-x64-musl': 2.6.2 2492 | '@resvg/resvg-js-win32-arm64-msvc': 2.6.2 2493 | '@resvg/resvg-js-win32-ia32-msvc': 2.6.2 2494 | '@resvg/resvg-js-win32-x64-msvc': 2.6.2 2495 | 2496 | '@shuding/opentype.js@1.4.0-beta.0': 2497 | dependencies: 2498 | fflate: 0.7.4 2499 | string.prototype.codepointat: 0.2.1 2500 | 2501 | '@sinclair/typebox@0.24.51': {} 2502 | 2503 | '@sinonjs/commons@1.8.6': 2504 | dependencies: 2505 | type-detect: 4.0.8 2506 | 2507 | '@sinonjs/fake-timers@9.1.2': 2508 | dependencies: 2509 | '@sinonjs/commons': 1.8.6 2510 | 2511 | '@types/babel__core@7.20.5': 2512 | dependencies: 2513 | '@babel/parser': 7.27.0 2514 | '@babel/types': 7.27.0 2515 | '@types/babel__generator': 7.27.0 2516 | '@types/babel__template': 7.4.4 2517 | '@types/babel__traverse': 7.20.7 2518 | 2519 | '@types/babel__generator@7.27.0': 2520 | dependencies: 2521 | '@babel/types': 7.27.0 2522 | 2523 | '@types/babel__template@7.4.4': 2524 | dependencies: 2525 | '@babel/parser': 7.27.0 2526 | '@babel/types': 7.27.0 2527 | 2528 | '@types/babel__traverse@7.20.7': 2529 | dependencies: 2530 | '@babel/types': 7.27.0 2531 | 2532 | '@types/chai-subset@1.3.6(@types/chai@4.3.20)': 2533 | dependencies: 2534 | '@types/chai': 4.3.20 2535 | 2536 | '@types/chai@4.3.20': {} 2537 | 2538 | '@types/graceful-fs@4.1.9': 2539 | dependencies: 2540 | '@types/node': 18.19.86 2541 | 2542 | '@types/istanbul-lib-coverage@2.0.6': {} 2543 | 2544 | '@types/istanbul-lib-report@3.0.3': 2545 | dependencies: 2546 | '@types/istanbul-lib-coverage': 2.0.6 2547 | 2548 | '@types/istanbul-reports@3.0.4': 2549 | dependencies: 2550 | '@types/istanbul-lib-report': 3.0.3 2551 | 2552 | '@types/node@12.20.55': {} 2553 | 2554 | '@types/node@18.19.86': 2555 | dependencies: 2556 | undici-types: 5.26.5 2557 | 2558 | '@types/prettier@2.7.3': {} 2559 | 2560 | '@types/stack-utils@2.0.3': {} 2561 | 2562 | '@types/yargs-parser@21.0.3': {} 2563 | 2564 | '@types/yargs@17.0.33': 2565 | dependencies: 2566 | '@types/yargs-parser': 21.0.3 2567 | 2568 | '@types/yoga-layout@1.9.2': {} 2569 | 2570 | acorn@8.14.1: {} 2571 | 2572 | ansi-colors@4.1.3: {} 2573 | 2574 | ansi-escapes@4.3.2: 2575 | dependencies: 2576 | type-fest: 0.21.3 2577 | 2578 | ansi-regex@2.1.1: {} 2579 | 2580 | ansi-regex@5.0.1: {} 2581 | 2582 | ansi-styles@2.2.1: {} 2583 | 2584 | ansi-styles@4.3.0: 2585 | dependencies: 2586 | color-convert: 2.0.1 2587 | 2588 | ansi-styles@5.2.0: {} 2589 | 2590 | anymatch@3.1.3: 2591 | dependencies: 2592 | normalize-path: 3.0.0 2593 | picomatch: 2.3.1 2594 | 2595 | argparse@1.0.10: 2596 | dependencies: 2597 | sprintf-js: 1.0.3 2598 | 2599 | array-union@2.1.0: {} 2600 | 2601 | assertion-error@1.1.0: {} 2602 | 2603 | babel-jest@28.1.3(@babel/core@7.26.10): 2604 | dependencies: 2605 | '@babel/core': 7.26.10 2606 | '@jest/transform': 28.1.3 2607 | '@types/babel__core': 7.20.5 2608 | babel-plugin-istanbul: 6.1.1 2609 | babel-preset-jest: 28.1.3(@babel/core@7.26.10) 2610 | chalk: 4.1.2 2611 | graceful-fs: 4.2.11 2612 | slash: 3.0.0 2613 | transitivePeerDependencies: 2614 | - supports-color 2615 | 2616 | babel-plugin-istanbul@6.1.1: 2617 | dependencies: 2618 | '@babel/helper-plugin-utils': 7.26.5 2619 | '@istanbuljs/load-nyc-config': 1.1.0 2620 | '@istanbuljs/schema': 0.1.3 2621 | istanbul-lib-instrument: 5.2.1 2622 | test-exclude: 6.0.0 2623 | transitivePeerDependencies: 2624 | - supports-color 2625 | 2626 | babel-plugin-jest-hoist@28.1.3: 2627 | dependencies: 2628 | '@babel/template': 7.27.0 2629 | '@babel/types': 7.27.0 2630 | '@types/babel__core': 7.20.5 2631 | '@types/babel__traverse': 7.20.7 2632 | 2633 | babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.10): 2634 | dependencies: 2635 | '@babel/core': 7.26.10 2636 | '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10) 2637 | '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.10) 2638 | '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.10) 2639 | '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10) 2640 | '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10) 2641 | '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10) 2642 | '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10) 2643 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10) 2644 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) 2645 | '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10) 2646 | '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10) 2647 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10) 2648 | '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) 2649 | '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10) 2650 | '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.10) 2651 | 2652 | babel-preset-jest@28.1.3(@babel/core@7.26.10): 2653 | dependencies: 2654 | '@babel/core': 7.26.10 2655 | babel-plugin-jest-hoist: 28.1.3 2656 | babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10) 2657 | 2658 | balanced-match@1.0.2: {} 2659 | 2660 | better-path-resolve@1.0.0: 2661 | dependencies: 2662 | is-windows: 1.0.2 2663 | 2664 | brace-expansion@1.1.11: 2665 | dependencies: 2666 | balanced-match: 1.0.2 2667 | concat-map: 0.0.1 2668 | 2669 | braces@3.0.3: 2670 | dependencies: 2671 | fill-range: 7.1.1 2672 | 2673 | browserslist@4.24.4: 2674 | dependencies: 2675 | caniuse-lite: 1.0.30001709 2676 | electron-to-chromium: 1.5.131 2677 | node-releases: 2.0.19 2678 | update-browserslist-db: 1.1.3(browserslist@4.24.4) 2679 | 2680 | bser@2.1.1: 2681 | dependencies: 2682 | node-int64: 0.4.0 2683 | 2684 | buffer-from@1.1.2: {} 2685 | 2686 | callsites@3.1.0: {} 2687 | 2688 | camelcase@5.3.1: {} 2689 | 2690 | camelcase@6.3.0: {} 2691 | 2692 | camelize@1.0.1: {} 2693 | 2694 | caniuse-lite@1.0.30001709: {} 2695 | 2696 | chai@4.5.0: 2697 | dependencies: 2698 | assertion-error: 1.1.0 2699 | check-error: 1.0.3 2700 | deep-eql: 4.1.4 2701 | get-func-name: 2.0.2 2702 | loupe: 2.3.7 2703 | pathval: 1.1.1 2704 | type-detect: 4.1.0 2705 | 2706 | chalk@1.1.3: 2707 | dependencies: 2708 | ansi-styles: 2.2.1 2709 | escape-string-regexp: 1.0.5 2710 | has-ansi: 2.0.0 2711 | strip-ansi: 3.0.1 2712 | supports-color: 2.0.0 2713 | 2714 | chalk@4.1.2: 2715 | dependencies: 2716 | ansi-styles: 4.3.0 2717 | supports-color: 7.2.0 2718 | 2719 | char-regex@1.0.2: {} 2720 | 2721 | chardet@0.7.0: {} 2722 | 2723 | check-error@1.0.3: 2724 | dependencies: 2725 | get-func-name: 2.0.2 2726 | 2727 | ci-info@3.9.0: {} 2728 | 2729 | cjs-module-lexer@1.4.3: {} 2730 | 2731 | cliui@8.0.1: 2732 | dependencies: 2733 | string-width: 4.2.3 2734 | strip-ansi: 6.0.1 2735 | wrap-ansi: 7.0.0 2736 | 2737 | co@4.6.0: {} 2738 | 2739 | collect-v8-coverage@1.0.2: {} 2740 | 2741 | color-convert@2.0.1: 2742 | dependencies: 2743 | color-name: 1.1.4 2744 | 2745 | color-name@1.1.4: {} 2746 | 2747 | concat-map@0.0.1: {} 2748 | 2749 | convert-source-map@1.9.0: {} 2750 | 2751 | convert-source-map@2.0.0: {} 2752 | 2753 | cross-spawn@7.0.6: 2754 | dependencies: 2755 | path-key: 3.1.1 2756 | shebang-command: 2.0.0 2757 | which: 2.0.2 2758 | 2759 | css-background-parser@0.1.0: {} 2760 | 2761 | css-box-shadow@1.0.0-3: {} 2762 | 2763 | css-color-keywords@1.0.0: {} 2764 | 2765 | css-to-react-native@3.2.0: 2766 | dependencies: 2767 | camelize: 1.0.1 2768 | css-color-keywords: 1.0.0 2769 | postcss-value-parser: 4.2.0 2770 | 2771 | dataloader@1.4.0: {} 2772 | 2773 | debug@4.4.0: 2774 | dependencies: 2775 | ms: 2.1.3 2776 | 2777 | dedent@0.7.0: {} 2778 | 2779 | deep-eql@4.1.4: 2780 | dependencies: 2781 | type-detect: 4.1.0 2782 | 2783 | deepmerge@4.3.1: {} 2784 | 2785 | detect-indent@6.1.0: {} 2786 | 2787 | detect-newline@3.1.0: {} 2788 | 2789 | diff-sequences@28.1.1: {} 2790 | 2791 | dir-glob@3.0.1: 2792 | dependencies: 2793 | path-type: 4.0.0 2794 | 2795 | dotenv@8.6.0: {} 2796 | 2797 | electron-to-chromium@1.5.131: {} 2798 | 2799 | emittery@0.10.2: {} 2800 | 2801 | emoji-regex@8.0.0: {} 2802 | 2803 | enquirer@2.4.1: 2804 | dependencies: 2805 | ansi-colors: 4.1.3 2806 | strip-ansi: 6.0.1 2807 | 2808 | error-ex@1.3.2: 2809 | dependencies: 2810 | is-arrayish: 0.2.1 2811 | 2812 | esbuild-android-64@0.15.18: 2813 | optional: true 2814 | 2815 | esbuild-android-arm64@0.15.18: 2816 | optional: true 2817 | 2818 | esbuild-darwin-64@0.15.18: 2819 | optional: true 2820 | 2821 | esbuild-darwin-arm64@0.15.18: 2822 | optional: true 2823 | 2824 | esbuild-freebsd-64@0.15.18: 2825 | optional: true 2826 | 2827 | esbuild-freebsd-arm64@0.15.18: 2828 | optional: true 2829 | 2830 | esbuild-linux-32@0.15.18: 2831 | optional: true 2832 | 2833 | esbuild-linux-64@0.15.18: 2834 | optional: true 2835 | 2836 | esbuild-linux-arm64@0.15.18: 2837 | optional: true 2838 | 2839 | esbuild-linux-arm@0.15.18: 2840 | optional: true 2841 | 2842 | esbuild-linux-mips64le@0.15.18: 2843 | optional: true 2844 | 2845 | esbuild-linux-ppc64le@0.15.18: 2846 | optional: true 2847 | 2848 | esbuild-linux-riscv64@0.15.18: 2849 | optional: true 2850 | 2851 | esbuild-linux-s390x@0.15.18: 2852 | optional: true 2853 | 2854 | esbuild-netbsd-64@0.15.18: 2855 | optional: true 2856 | 2857 | esbuild-openbsd-64@0.15.18: 2858 | optional: true 2859 | 2860 | esbuild-sunos-64@0.15.18: 2861 | optional: true 2862 | 2863 | esbuild-windows-32@0.15.18: 2864 | optional: true 2865 | 2866 | esbuild-windows-64@0.15.18: 2867 | optional: true 2868 | 2869 | esbuild-windows-arm64@0.15.18: 2870 | optional: true 2871 | 2872 | esbuild@0.15.18: 2873 | optionalDependencies: 2874 | '@esbuild/android-arm': 0.15.18 2875 | '@esbuild/linux-loong64': 0.15.18 2876 | esbuild-android-64: 0.15.18 2877 | esbuild-android-arm64: 0.15.18 2878 | esbuild-darwin-64: 0.15.18 2879 | esbuild-darwin-arm64: 0.15.18 2880 | esbuild-freebsd-64: 0.15.18 2881 | esbuild-freebsd-arm64: 0.15.18 2882 | esbuild-linux-32: 0.15.18 2883 | esbuild-linux-64: 0.15.18 2884 | esbuild-linux-arm: 0.15.18 2885 | esbuild-linux-arm64: 0.15.18 2886 | esbuild-linux-mips64le: 0.15.18 2887 | esbuild-linux-ppc64le: 0.15.18 2888 | esbuild-linux-riscv64: 0.15.18 2889 | esbuild-linux-s390x: 0.15.18 2890 | esbuild-netbsd-64: 0.15.18 2891 | esbuild-openbsd-64: 0.15.18 2892 | esbuild-sunos-64: 0.15.18 2893 | esbuild-windows-32: 0.15.18 2894 | esbuild-windows-64: 0.15.18 2895 | esbuild-windows-arm64: 0.15.18 2896 | 2897 | escalade@3.2.0: {} 2898 | 2899 | escape-string-regexp@1.0.5: {} 2900 | 2901 | escape-string-regexp@2.0.0: {} 2902 | 2903 | esprima@4.0.1: {} 2904 | 2905 | execa@5.1.1: 2906 | dependencies: 2907 | cross-spawn: 7.0.6 2908 | get-stream: 6.0.1 2909 | human-signals: 2.1.0 2910 | is-stream: 2.0.1 2911 | merge-stream: 2.0.0 2912 | npm-run-path: 4.0.1 2913 | onetime: 5.1.2 2914 | signal-exit: 3.0.7 2915 | strip-final-newline: 2.0.0 2916 | 2917 | exit@0.1.2: {} 2918 | 2919 | expect@28.1.3: 2920 | dependencies: 2921 | '@jest/expect-utils': 28.1.3 2922 | jest-get-type: 28.0.2 2923 | jest-matcher-utils: 28.1.3 2924 | jest-message-util: 28.1.3 2925 | jest-util: 28.1.3 2926 | 2927 | extendable-error@0.1.7: {} 2928 | 2929 | external-editor@3.1.0: 2930 | dependencies: 2931 | chardet: 0.7.0 2932 | iconv-lite: 0.4.24 2933 | tmp: 0.0.33 2934 | 2935 | fast-glob@3.3.3: 2936 | dependencies: 2937 | '@nodelib/fs.stat': 2.0.5 2938 | '@nodelib/fs.walk': 1.2.8 2939 | glob-parent: 5.1.2 2940 | merge2: 1.4.1 2941 | micromatch: 4.0.8 2942 | 2943 | fast-json-stable-stringify@2.1.0: {} 2944 | 2945 | fastq@1.19.1: 2946 | dependencies: 2947 | reusify: 1.1.0 2948 | 2949 | fb-watchman@2.0.2: 2950 | dependencies: 2951 | bser: 2.1.1 2952 | 2953 | fflate@0.7.4: {} 2954 | 2955 | fill-range@7.1.1: 2956 | dependencies: 2957 | to-regex-range: 5.0.1 2958 | 2959 | find-up@4.1.0: 2960 | dependencies: 2961 | locate-path: 5.0.0 2962 | path-exists: 4.0.0 2963 | 2964 | fs-extra@7.0.1: 2965 | dependencies: 2966 | graceful-fs: 4.2.11 2967 | jsonfile: 4.0.0 2968 | universalify: 0.1.2 2969 | 2970 | fs-extra@8.1.0: 2971 | dependencies: 2972 | graceful-fs: 4.2.11 2973 | jsonfile: 4.0.0 2974 | universalify: 0.1.2 2975 | 2976 | fs.realpath@1.0.0: {} 2977 | 2978 | fsevents@2.3.3: 2979 | optional: true 2980 | 2981 | function-bind@1.1.2: {} 2982 | 2983 | gensync@1.0.0-beta.2: {} 2984 | 2985 | get-caller-file@2.0.5: {} 2986 | 2987 | get-func-name@2.0.2: {} 2988 | 2989 | get-package-type@0.1.0: {} 2990 | 2991 | get-stdin@5.0.1: {} 2992 | 2993 | get-stream@6.0.1: {} 2994 | 2995 | glob-parent@5.1.2: 2996 | dependencies: 2997 | is-glob: 4.0.3 2998 | 2999 | glob@7.2.3: 3000 | dependencies: 3001 | fs.realpath: 1.0.0 3002 | inflight: 1.0.6 3003 | inherits: 2.0.4 3004 | minimatch: 3.1.2 3005 | once: 1.4.0 3006 | path-is-absolute: 1.0.1 3007 | 3008 | globals@11.12.0: {} 3009 | 3010 | globby@11.1.0: 3011 | dependencies: 3012 | array-union: 2.1.0 3013 | dir-glob: 3.0.1 3014 | fast-glob: 3.3.3 3015 | ignore: 5.3.2 3016 | merge2: 1.4.1 3017 | slash: 3.0.0 3018 | 3019 | glur@1.1.2: {} 3020 | 3021 | graceful-fs@4.2.11: {} 3022 | 3023 | has-ansi@2.0.0: 3024 | dependencies: 3025 | ansi-regex: 2.1.1 3026 | 3027 | has-flag@4.0.0: {} 3028 | 3029 | hasown@2.0.2: 3030 | dependencies: 3031 | function-bind: 1.1.2 3032 | 3033 | html-escaper@2.0.2: {} 3034 | 3035 | human-id@4.1.1: {} 3036 | 3037 | human-signals@2.1.0: {} 3038 | 3039 | iconv-lite@0.4.24: 3040 | dependencies: 3041 | safer-buffer: 2.1.2 3042 | 3043 | ignore@5.3.2: {} 3044 | 3045 | import-local@3.2.0: 3046 | dependencies: 3047 | pkg-dir: 4.2.0 3048 | resolve-cwd: 3.0.0 3049 | 3050 | imurmurhash@0.1.4: {} 3051 | 3052 | inflight@1.0.6: 3053 | dependencies: 3054 | once: 1.4.0 3055 | wrappy: 1.0.2 3056 | 3057 | inherits@2.0.4: {} 3058 | 3059 | is-arrayish@0.2.1: {} 3060 | 3061 | is-core-module@2.16.1: 3062 | dependencies: 3063 | hasown: 2.0.2 3064 | 3065 | is-extglob@2.1.1: {} 3066 | 3067 | is-fullwidth-code-point@3.0.0: {} 3068 | 3069 | is-generator-fn@2.1.0: {} 3070 | 3071 | is-glob@4.0.3: 3072 | dependencies: 3073 | is-extglob: 2.1.1 3074 | 3075 | is-number@7.0.0: {} 3076 | 3077 | is-stream@2.0.1: {} 3078 | 3079 | is-subdir@1.2.0: 3080 | dependencies: 3081 | better-path-resolve: 1.0.0 3082 | 3083 | is-windows@1.0.2: {} 3084 | 3085 | isexe@2.0.0: {} 3086 | 3087 | istanbul-lib-coverage@3.2.2: {} 3088 | 3089 | istanbul-lib-instrument@5.2.1: 3090 | dependencies: 3091 | '@babel/core': 7.26.10 3092 | '@babel/parser': 7.27.0 3093 | '@istanbuljs/schema': 0.1.3 3094 | istanbul-lib-coverage: 3.2.2 3095 | semver: 6.3.1 3096 | transitivePeerDependencies: 3097 | - supports-color 3098 | 3099 | istanbul-lib-report@3.0.1: 3100 | dependencies: 3101 | istanbul-lib-coverage: 3.2.2 3102 | make-dir: 4.0.0 3103 | supports-color: 7.2.0 3104 | 3105 | istanbul-lib-source-maps@4.0.1: 3106 | dependencies: 3107 | debug: 4.4.0 3108 | istanbul-lib-coverage: 3.2.2 3109 | source-map: 0.6.1 3110 | transitivePeerDependencies: 3111 | - supports-color 3112 | 3113 | istanbul-reports@3.1.7: 3114 | dependencies: 3115 | html-escaper: 2.0.2 3116 | istanbul-lib-report: 3.0.1 3117 | 3118 | jest-changed-files@28.1.3: 3119 | dependencies: 3120 | execa: 5.1.1 3121 | p-limit: 3.1.0 3122 | 3123 | jest-circus@28.1.3: 3124 | dependencies: 3125 | '@jest/environment': 28.1.3 3126 | '@jest/expect': 28.1.3 3127 | '@jest/test-result': 28.1.3 3128 | '@jest/types': 28.1.3 3129 | '@types/node': 18.19.86 3130 | chalk: 4.1.2 3131 | co: 4.6.0 3132 | dedent: 0.7.0 3133 | is-generator-fn: 2.1.0 3134 | jest-each: 28.1.3 3135 | jest-matcher-utils: 28.1.3 3136 | jest-message-util: 28.1.3 3137 | jest-runtime: 28.1.3 3138 | jest-snapshot: 28.1.3 3139 | jest-util: 28.1.3 3140 | p-limit: 3.1.0 3141 | pretty-format: 28.1.3 3142 | slash: 3.0.0 3143 | stack-utils: 2.0.6 3144 | transitivePeerDependencies: 3145 | - supports-color 3146 | 3147 | jest-cli@28.1.3(@types/node@18.19.86): 3148 | dependencies: 3149 | '@jest/core': 28.1.3 3150 | '@jest/test-result': 28.1.3 3151 | '@jest/types': 28.1.3 3152 | chalk: 4.1.2 3153 | exit: 0.1.2 3154 | graceful-fs: 4.2.11 3155 | import-local: 3.2.0 3156 | jest-config: 28.1.3(@types/node@18.19.86) 3157 | jest-util: 28.1.3 3158 | jest-validate: 28.1.3 3159 | prompts: 2.4.2 3160 | yargs: 17.7.2 3161 | transitivePeerDependencies: 3162 | - '@types/node' 3163 | - supports-color 3164 | - ts-node 3165 | 3166 | jest-config@28.1.3(@types/node@18.19.86): 3167 | dependencies: 3168 | '@babel/core': 7.26.10 3169 | '@jest/test-sequencer': 28.1.3 3170 | '@jest/types': 28.1.3 3171 | babel-jest: 28.1.3(@babel/core@7.26.10) 3172 | chalk: 4.1.2 3173 | ci-info: 3.9.0 3174 | deepmerge: 4.3.1 3175 | glob: 7.2.3 3176 | graceful-fs: 4.2.11 3177 | jest-circus: 28.1.3 3178 | jest-environment-node: 28.1.3 3179 | jest-get-type: 28.0.2 3180 | jest-regex-util: 28.0.2 3181 | jest-resolve: 28.1.3 3182 | jest-runner: 28.1.3 3183 | jest-util: 28.1.3 3184 | jest-validate: 28.1.3 3185 | micromatch: 4.0.8 3186 | parse-json: 5.2.0 3187 | pretty-format: 28.1.3 3188 | slash: 3.0.0 3189 | strip-json-comments: 3.1.1 3190 | optionalDependencies: 3191 | '@types/node': 18.19.86 3192 | transitivePeerDependencies: 3193 | - supports-color 3194 | 3195 | jest-diff@28.1.3: 3196 | dependencies: 3197 | chalk: 4.1.2 3198 | diff-sequences: 28.1.1 3199 | jest-get-type: 28.0.2 3200 | pretty-format: 28.1.3 3201 | 3202 | jest-docblock@28.1.1: 3203 | dependencies: 3204 | detect-newline: 3.1.0 3205 | 3206 | jest-each@28.1.3: 3207 | dependencies: 3208 | '@jest/types': 28.1.3 3209 | chalk: 4.1.2 3210 | jest-get-type: 28.0.2 3211 | jest-util: 28.1.3 3212 | pretty-format: 28.1.3 3213 | 3214 | jest-environment-node@28.1.3: 3215 | dependencies: 3216 | '@jest/environment': 28.1.3 3217 | '@jest/fake-timers': 28.1.3 3218 | '@jest/types': 28.1.3 3219 | '@types/node': 18.19.86 3220 | jest-mock: 28.1.3 3221 | jest-util: 28.1.3 3222 | 3223 | jest-get-type@28.0.2: {} 3224 | 3225 | jest-haste-map@28.1.3: 3226 | dependencies: 3227 | '@jest/types': 28.1.3 3228 | '@types/graceful-fs': 4.1.9 3229 | '@types/node': 18.19.86 3230 | anymatch: 3.1.3 3231 | fb-watchman: 2.0.2 3232 | graceful-fs: 4.2.11 3233 | jest-regex-util: 28.0.2 3234 | jest-util: 28.1.3 3235 | jest-worker: 28.1.3 3236 | micromatch: 4.0.8 3237 | walker: 1.0.8 3238 | optionalDependencies: 3239 | fsevents: 2.3.3 3240 | 3241 | jest-image-snapshot@5.2.0(jest@28.1.3(@types/node@18.19.86)): 3242 | dependencies: 3243 | chalk: 1.1.3 3244 | get-stdin: 5.0.1 3245 | glur: 1.1.2 3246 | jest: 28.1.3(@types/node@18.19.86) 3247 | lodash: 4.17.21 3248 | mkdirp: 0.5.6 3249 | pixelmatch: 5.3.0 3250 | pngjs: 3.4.0 3251 | rimraf: 2.7.1 3252 | ssim.js: 3.5.0 3253 | 3254 | jest-leak-detector@28.1.3: 3255 | dependencies: 3256 | jest-get-type: 28.0.2 3257 | pretty-format: 28.1.3 3258 | 3259 | jest-matcher-utils@28.1.3: 3260 | dependencies: 3261 | chalk: 4.1.2 3262 | jest-diff: 28.1.3 3263 | jest-get-type: 28.0.2 3264 | pretty-format: 28.1.3 3265 | 3266 | jest-message-util@28.1.3: 3267 | dependencies: 3268 | '@babel/code-frame': 7.26.2 3269 | '@jest/types': 28.1.3 3270 | '@types/stack-utils': 2.0.3 3271 | chalk: 4.1.2 3272 | graceful-fs: 4.2.11 3273 | micromatch: 4.0.8 3274 | pretty-format: 28.1.3 3275 | slash: 3.0.0 3276 | stack-utils: 2.0.6 3277 | 3278 | jest-mock@28.1.3: 3279 | dependencies: 3280 | '@jest/types': 28.1.3 3281 | '@types/node': 18.19.86 3282 | 3283 | jest-pnp-resolver@1.2.3(jest-resolve@28.1.3): 3284 | optionalDependencies: 3285 | jest-resolve: 28.1.3 3286 | 3287 | jest-regex-util@28.0.2: {} 3288 | 3289 | jest-resolve-dependencies@28.1.3: 3290 | dependencies: 3291 | jest-regex-util: 28.0.2 3292 | jest-snapshot: 28.1.3 3293 | transitivePeerDependencies: 3294 | - supports-color 3295 | 3296 | jest-resolve@28.1.3: 3297 | dependencies: 3298 | chalk: 4.1.2 3299 | graceful-fs: 4.2.11 3300 | jest-haste-map: 28.1.3 3301 | jest-pnp-resolver: 1.2.3(jest-resolve@28.1.3) 3302 | jest-util: 28.1.3 3303 | jest-validate: 28.1.3 3304 | resolve: 1.22.10 3305 | resolve.exports: 1.1.1 3306 | slash: 3.0.0 3307 | 3308 | jest-runner@28.1.3: 3309 | dependencies: 3310 | '@jest/console': 28.1.3 3311 | '@jest/environment': 28.1.3 3312 | '@jest/test-result': 28.1.3 3313 | '@jest/transform': 28.1.3 3314 | '@jest/types': 28.1.3 3315 | '@types/node': 18.19.86 3316 | chalk: 4.1.2 3317 | emittery: 0.10.2 3318 | graceful-fs: 4.2.11 3319 | jest-docblock: 28.1.1 3320 | jest-environment-node: 28.1.3 3321 | jest-haste-map: 28.1.3 3322 | jest-leak-detector: 28.1.3 3323 | jest-message-util: 28.1.3 3324 | jest-resolve: 28.1.3 3325 | jest-runtime: 28.1.3 3326 | jest-util: 28.1.3 3327 | jest-watcher: 28.1.3 3328 | jest-worker: 28.1.3 3329 | p-limit: 3.1.0 3330 | source-map-support: 0.5.13 3331 | transitivePeerDependencies: 3332 | - supports-color 3333 | 3334 | jest-runtime@28.1.3: 3335 | dependencies: 3336 | '@jest/environment': 28.1.3 3337 | '@jest/fake-timers': 28.1.3 3338 | '@jest/globals': 28.1.3 3339 | '@jest/source-map': 28.1.2 3340 | '@jest/test-result': 28.1.3 3341 | '@jest/transform': 28.1.3 3342 | '@jest/types': 28.1.3 3343 | chalk: 4.1.2 3344 | cjs-module-lexer: 1.4.3 3345 | collect-v8-coverage: 1.0.2 3346 | execa: 5.1.1 3347 | glob: 7.2.3 3348 | graceful-fs: 4.2.11 3349 | jest-haste-map: 28.1.3 3350 | jest-message-util: 28.1.3 3351 | jest-mock: 28.1.3 3352 | jest-regex-util: 28.0.2 3353 | jest-resolve: 28.1.3 3354 | jest-snapshot: 28.1.3 3355 | jest-util: 28.1.3 3356 | slash: 3.0.0 3357 | strip-bom: 4.0.0 3358 | transitivePeerDependencies: 3359 | - supports-color 3360 | 3361 | jest-snapshot@28.1.3: 3362 | dependencies: 3363 | '@babel/core': 7.26.10 3364 | '@babel/generator': 7.27.0 3365 | '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.10) 3366 | '@babel/traverse': 7.27.0 3367 | '@babel/types': 7.27.0 3368 | '@jest/expect-utils': 28.1.3 3369 | '@jest/transform': 28.1.3 3370 | '@jest/types': 28.1.3 3371 | '@types/babel__traverse': 7.20.7 3372 | '@types/prettier': 2.7.3 3373 | babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10) 3374 | chalk: 4.1.2 3375 | expect: 28.1.3 3376 | graceful-fs: 4.2.11 3377 | jest-diff: 28.1.3 3378 | jest-get-type: 28.0.2 3379 | jest-haste-map: 28.1.3 3380 | jest-matcher-utils: 28.1.3 3381 | jest-message-util: 28.1.3 3382 | jest-util: 28.1.3 3383 | natural-compare: 1.4.0 3384 | pretty-format: 28.1.3 3385 | semver: 7.7.1 3386 | transitivePeerDependencies: 3387 | - supports-color 3388 | 3389 | jest-util@28.1.3: 3390 | dependencies: 3391 | '@jest/types': 28.1.3 3392 | '@types/node': 18.19.86 3393 | chalk: 4.1.2 3394 | ci-info: 3.9.0 3395 | graceful-fs: 4.2.11 3396 | picomatch: 2.3.1 3397 | 3398 | jest-validate@28.1.3: 3399 | dependencies: 3400 | '@jest/types': 28.1.3 3401 | camelcase: 6.3.0 3402 | chalk: 4.1.2 3403 | jest-get-type: 28.0.2 3404 | leven: 3.1.0 3405 | pretty-format: 28.1.3 3406 | 3407 | jest-watcher@28.1.3: 3408 | dependencies: 3409 | '@jest/test-result': 28.1.3 3410 | '@jest/types': 28.1.3 3411 | '@types/node': 18.19.86 3412 | ansi-escapes: 4.3.2 3413 | chalk: 4.1.2 3414 | emittery: 0.10.2 3415 | jest-util: 28.1.3 3416 | string-length: 4.0.2 3417 | 3418 | jest-worker@28.1.3: 3419 | dependencies: 3420 | '@types/node': 18.19.86 3421 | merge-stream: 2.0.0 3422 | supports-color: 8.1.1 3423 | 3424 | jest@28.1.3(@types/node@18.19.86): 3425 | dependencies: 3426 | '@jest/core': 28.1.3 3427 | '@jest/types': 28.1.3 3428 | import-local: 3.2.0 3429 | jest-cli: 28.1.3(@types/node@18.19.86) 3430 | transitivePeerDependencies: 3431 | - '@types/node' 3432 | - supports-color 3433 | - ts-node 3434 | 3435 | js-tokens@4.0.0: {} 3436 | 3437 | js-yaml@3.14.1: 3438 | dependencies: 3439 | argparse: 1.0.10 3440 | esprima: 4.0.1 3441 | 3442 | jsesc@3.1.0: {} 3443 | 3444 | json-parse-even-better-errors@2.3.1: {} 3445 | 3446 | json5@2.2.3: {} 3447 | 3448 | jsonfile@4.0.0: 3449 | optionalDependencies: 3450 | graceful-fs: 4.2.11 3451 | 3452 | kleur@3.0.3: {} 3453 | 3454 | leven@3.1.0: {} 3455 | 3456 | lines-and-columns@1.2.4: {} 3457 | 3458 | local-pkg@0.4.3: {} 3459 | 3460 | locate-path@5.0.0: 3461 | dependencies: 3462 | p-locate: 4.1.0 3463 | 3464 | lodash.startcase@4.4.0: {} 3465 | 3466 | lodash@4.17.21: {} 3467 | 3468 | loupe@2.3.7: 3469 | dependencies: 3470 | get-func-name: 2.0.2 3471 | 3472 | lru-cache@5.1.1: 3473 | dependencies: 3474 | yallist: 3.1.1 3475 | 3476 | make-dir@4.0.0: 3477 | dependencies: 3478 | semver: 7.7.1 3479 | 3480 | makeerror@1.0.12: 3481 | dependencies: 3482 | tmpl: 1.0.5 3483 | 3484 | merge-stream@2.0.0: {} 3485 | 3486 | merge2@1.4.1: {} 3487 | 3488 | micromatch@4.0.8: 3489 | dependencies: 3490 | braces: 3.0.3 3491 | picomatch: 2.3.1 3492 | 3493 | mimic-fn@2.1.0: {} 3494 | 3495 | minimatch@3.1.2: 3496 | dependencies: 3497 | brace-expansion: 1.1.11 3498 | 3499 | minimist@1.2.8: {} 3500 | 3501 | mkdirp@0.5.6: 3502 | dependencies: 3503 | minimist: 1.2.8 3504 | 3505 | mri@1.2.0: {} 3506 | 3507 | ms@2.1.3: {} 3508 | 3509 | nanoid@3.3.11: {} 3510 | 3511 | natural-compare@1.4.0: {} 3512 | 3513 | node-fetch@2.7.0: 3514 | dependencies: 3515 | whatwg-url: 5.0.0 3516 | 3517 | node-int64@0.4.0: {} 3518 | 3519 | node-releases@2.0.19: {} 3520 | 3521 | normalize-path@3.0.0: {} 3522 | 3523 | npm-run-path@4.0.1: 3524 | dependencies: 3525 | path-key: 3.1.1 3526 | 3527 | once@1.4.0: 3528 | dependencies: 3529 | wrappy: 1.0.2 3530 | 3531 | onetime@5.1.2: 3532 | dependencies: 3533 | mimic-fn: 2.1.0 3534 | 3535 | os-tmpdir@1.0.2: {} 3536 | 3537 | outdent@0.5.0: {} 3538 | 3539 | p-filter@2.1.0: 3540 | dependencies: 3541 | p-map: 2.1.0 3542 | 3543 | p-limit@2.3.0: 3544 | dependencies: 3545 | p-try: 2.2.0 3546 | 3547 | p-limit@3.1.0: 3548 | dependencies: 3549 | yocto-queue: 0.1.0 3550 | 3551 | p-locate@4.1.0: 3552 | dependencies: 3553 | p-limit: 2.3.0 3554 | 3555 | p-map@2.1.0: {} 3556 | 3557 | p-try@2.2.0: {} 3558 | 3559 | package-manager-detector@0.2.11: 3560 | dependencies: 3561 | quansync: 0.2.10 3562 | 3563 | parse-json@5.2.0: 3564 | dependencies: 3565 | '@babel/code-frame': 7.26.2 3566 | error-ex: 1.3.2 3567 | json-parse-even-better-errors: 2.3.1 3568 | lines-and-columns: 1.2.4 3569 | 3570 | path-exists@4.0.0: {} 3571 | 3572 | path-is-absolute@1.0.1: {} 3573 | 3574 | path-key@3.1.1: {} 3575 | 3576 | path-parse@1.0.7: {} 3577 | 3578 | path-type@4.0.0: {} 3579 | 3580 | pathval@1.1.1: {} 3581 | 3582 | picocolors@1.1.1: {} 3583 | 3584 | picomatch@2.3.1: {} 3585 | 3586 | pify@4.0.1: {} 3587 | 3588 | pirates@4.0.7: {} 3589 | 3590 | pixelmatch@5.3.0: 3591 | dependencies: 3592 | pngjs: 6.0.0 3593 | 3594 | pkg-dir@4.2.0: 3595 | dependencies: 3596 | find-up: 4.1.0 3597 | 3598 | pngjs@3.4.0: {} 3599 | 3600 | pngjs@6.0.0: {} 3601 | 3602 | postcss-value-parser@4.2.0: {} 3603 | 3604 | postcss@8.5.3: 3605 | dependencies: 3606 | nanoid: 3.3.11 3607 | picocolors: 1.1.1 3608 | source-map-js: 1.2.1 3609 | 3610 | prettier@2.8.8: {} 3611 | 3612 | pretty-format@28.1.3: 3613 | dependencies: 3614 | '@jest/schemas': 28.1.3 3615 | ansi-regex: 5.0.1 3616 | ansi-styles: 5.2.0 3617 | react-is: 18.3.1 3618 | 3619 | prompts@2.4.2: 3620 | dependencies: 3621 | kleur: 3.0.3 3622 | sisteransi: 1.0.5 3623 | 3624 | quansync@0.2.10: {} 3625 | 3626 | queue-microtask@1.2.3: {} 3627 | 3628 | react-is@18.3.1: {} 3629 | 3630 | read-yaml-file@1.1.0: 3631 | dependencies: 3632 | graceful-fs: 4.2.11 3633 | js-yaml: 3.14.1 3634 | pify: 4.0.1 3635 | strip-bom: 3.0.0 3636 | 3637 | regenerator-runtime@0.14.1: {} 3638 | 3639 | require-directory@2.1.1: {} 3640 | 3641 | resolve-cwd@3.0.0: 3642 | dependencies: 3643 | resolve-from: 5.0.0 3644 | 3645 | resolve-from@5.0.0: {} 3646 | 3647 | resolve.exports@1.1.1: {} 3648 | 3649 | resolve@1.22.10: 3650 | dependencies: 3651 | is-core-module: 2.16.1 3652 | path-parse: 1.0.7 3653 | supports-preserve-symlinks-flag: 1.0.0 3654 | 3655 | reusify@1.1.0: {} 3656 | 3657 | rimraf@2.7.1: 3658 | dependencies: 3659 | glob: 7.2.3 3660 | 3661 | rimraf@3.0.2: 3662 | dependencies: 3663 | glob: 7.2.3 3664 | 3665 | rollup@2.79.2: 3666 | optionalDependencies: 3667 | fsevents: 2.3.3 3668 | 3669 | run-parallel@1.2.0: 3670 | dependencies: 3671 | queue-microtask: 1.2.3 3672 | 3673 | safer-buffer@2.1.2: {} 3674 | 3675 | satori@0.0.38: 3676 | dependencies: 3677 | '@shuding/opentype.js': 1.4.0-beta.0 3678 | css-background-parser: 0.1.0 3679 | css-box-shadow: 1.0.0-3 3680 | css-to-react-native: 3.2.0 3681 | postcss-value-parser: 4.2.0 3682 | yoga-layout-prebuilt: 1.10.0 3683 | 3684 | semver@6.3.1: {} 3685 | 3686 | semver@7.7.1: {} 3687 | 3688 | shebang-command@2.0.0: 3689 | dependencies: 3690 | shebang-regex: 3.0.0 3691 | 3692 | shebang-regex@3.0.0: {} 3693 | 3694 | signal-exit@3.0.7: {} 3695 | 3696 | signal-exit@4.1.0: {} 3697 | 3698 | sisteransi@1.0.5: {} 3699 | 3700 | slash@3.0.0: {} 3701 | 3702 | source-map-js@1.2.1: {} 3703 | 3704 | source-map-support@0.5.13: 3705 | dependencies: 3706 | buffer-from: 1.1.2 3707 | source-map: 0.6.1 3708 | 3709 | source-map@0.6.1: {} 3710 | 3711 | spawndamnit@3.0.1: 3712 | dependencies: 3713 | cross-spawn: 7.0.6 3714 | signal-exit: 4.1.0 3715 | 3716 | sprintf-js@1.0.3: {} 3717 | 3718 | ssim.js@3.5.0: {} 3719 | 3720 | stack-utils@2.0.6: 3721 | dependencies: 3722 | escape-string-regexp: 2.0.0 3723 | 3724 | string-length@4.0.2: 3725 | dependencies: 3726 | char-regex: 1.0.2 3727 | strip-ansi: 6.0.1 3728 | 3729 | string-width@4.2.3: 3730 | dependencies: 3731 | emoji-regex: 8.0.0 3732 | is-fullwidth-code-point: 3.0.0 3733 | strip-ansi: 6.0.1 3734 | 3735 | string.prototype.codepointat@0.2.1: {} 3736 | 3737 | strip-ansi@3.0.1: 3738 | dependencies: 3739 | ansi-regex: 2.1.1 3740 | 3741 | strip-ansi@6.0.1: 3742 | dependencies: 3743 | ansi-regex: 5.0.1 3744 | 3745 | strip-bom@3.0.0: {} 3746 | 3747 | strip-bom@4.0.0: {} 3748 | 3749 | strip-final-newline@2.0.0: {} 3750 | 3751 | strip-json-comments@3.1.1: {} 3752 | 3753 | strip-literal@0.4.2: 3754 | dependencies: 3755 | acorn: 8.14.1 3756 | 3757 | supports-color@2.0.0: {} 3758 | 3759 | supports-color@7.2.0: 3760 | dependencies: 3761 | has-flag: 4.0.0 3762 | 3763 | supports-color@8.1.1: 3764 | dependencies: 3765 | has-flag: 4.0.0 3766 | 3767 | supports-hyperlinks@2.3.0: 3768 | dependencies: 3769 | has-flag: 4.0.0 3770 | supports-color: 7.2.0 3771 | 3772 | supports-preserve-symlinks-flag@1.0.0: {} 3773 | 3774 | term-size@2.2.1: {} 3775 | 3776 | terminal-link@2.1.1: 3777 | dependencies: 3778 | ansi-escapes: 4.3.2 3779 | supports-hyperlinks: 2.3.0 3780 | 3781 | test-exclude@6.0.0: 3782 | dependencies: 3783 | '@istanbuljs/schema': 0.1.3 3784 | glob: 7.2.3 3785 | minimatch: 3.1.2 3786 | 3787 | tinybench@2.9.0: {} 3788 | 3789 | tinypool@0.3.1: {} 3790 | 3791 | tinyspy@1.1.1: {} 3792 | 3793 | tmp@0.0.33: 3794 | dependencies: 3795 | os-tmpdir: 1.0.2 3796 | 3797 | tmpl@1.0.5: {} 3798 | 3799 | to-regex-range@5.0.1: 3800 | dependencies: 3801 | is-number: 7.0.0 3802 | 3803 | tr46@0.0.3: {} 3804 | 3805 | type-detect@4.0.8: {} 3806 | 3807 | type-detect@4.1.0: {} 3808 | 3809 | type-fest@0.21.3: {} 3810 | 3811 | typescript@4.9.5: {} 3812 | 3813 | ultrahtml@1.5.3: {} 3814 | 3815 | undici-types@5.26.5: {} 3816 | 3817 | universalify@0.1.2: {} 3818 | 3819 | update-browserslist-db@1.1.3(browserslist@4.24.4): 3820 | dependencies: 3821 | browserslist: 4.24.4 3822 | escalade: 3.2.0 3823 | picocolors: 1.1.1 3824 | 3825 | v8-to-istanbul@9.3.0: 3826 | dependencies: 3827 | '@jridgewell/trace-mapping': 0.3.25 3828 | '@types/istanbul-lib-coverage': 2.0.6 3829 | convert-source-map: 2.0.0 3830 | 3831 | vite@3.2.11(@types/node@18.19.86): 3832 | dependencies: 3833 | esbuild: 0.15.18 3834 | postcss: 8.5.3 3835 | resolve: 1.22.10 3836 | rollup: 2.79.2 3837 | optionalDependencies: 3838 | '@types/node': 18.19.86 3839 | fsevents: 2.3.3 3840 | 3841 | vitest@0.24.5: 3842 | dependencies: 3843 | '@types/chai': 4.3.20 3844 | '@types/chai-subset': 1.3.6(@types/chai@4.3.20) 3845 | '@types/node': 18.19.86 3846 | chai: 4.5.0 3847 | debug: 4.4.0 3848 | local-pkg: 0.4.3 3849 | strip-literal: 0.4.2 3850 | tinybench: 2.9.0 3851 | tinypool: 0.3.1 3852 | tinyspy: 1.1.1 3853 | vite: 3.2.11(@types/node@18.19.86) 3854 | transitivePeerDependencies: 3855 | - less 3856 | - sass 3857 | - stylus 3858 | - sugarss 3859 | - supports-color 3860 | - terser 3861 | 3862 | walker@1.0.8: 3863 | dependencies: 3864 | makeerror: 1.0.12 3865 | 3866 | webidl-conversions@3.0.1: {} 3867 | 3868 | whatwg-url@5.0.0: 3869 | dependencies: 3870 | tr46: 0.0.3 3871 | webidl-conversions: 3.0.1 3872 | 3873 | which@2.0.2: 3874 | dependencies: 3875 | isexe: 2.0.0 3876 | 3877 | wrap-ansi@7.0.0: 3878 | dependencies: 3879 | ansi-styles: 4.3.0 3880 | string-width: 4.2.3 3881 | strip-ansi: 6.0.1 3882 | 3883 | wrappy@1.0.2: {} 3884 | 3885 | write-file-atomic@4.0.2: 3886 | dependencies: 3887 | imurmurhash: 0.1.4 3888 | signal-exit: 3.0.7 3889 | 3890 | y18n@5.0.8: {} 3891 | 3892 | yallist@3.1.1: {} 3893 | 3894 | yargs-parser@21.1.1: {} 3895 | 3896 | yargs@17.7.2: 3897 | dependencies: 3898 | cliui: 8.0.1 3899 | escalade: 3.2.0 3900 | get-caller-file: 2.0.5 3901 | require-directory: 2.1.1 3902 | string-width: 4.2.3 3903 | y18n: 5.0.8 3904 | yargs-parser: 21.1.1 3905 | 3906 | yocto-queue@0.1.0: {} 3907 | 3908 | yoga-layout-prebuilt@1.10.0: 3909 | dependencies: 3910 | '@types/yoga-layout': 1.9.2 3911 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - packages/* 3 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // Enable top-level await, and other modern ESM features. 4 | "target": "ESNext", 5 | "module": "ESNext", 6 | // Enable node-style module resolution, for things like npm package imports. 7 | "moduleResolution": "node", 8 | // Enable JSON imports. 9 | "resolveJsonModule": true, 10 | // Enable stricter transpilation for better output. 11 | "isolatedModules": true, 12 | "allowSyntheticDefaultImports": true 13 | } 14 | } 15 | --------------------------------------------------------------------------------