├── .gitignore ├── History.md ├── License.md ├── Makefile ├── Readme.md ├── asset └── tailwind.js ├── cmd └── tailwind │ └── main.go ├── example └── play.html ├── go.mod ├── go.sum ├── inject.ts ├── modules ├── crypto.ts ├── fast-glob.ts ├── fs.ts ├── glob-parent.ts ├── os.ts ├── picocolors.ts ├── resolve.ts └── url.ts ├── package-lock.json ├── package.json ├── tailwind.go ├── tailwind.ts ├── tailwind_test.go ├── tools.go └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | node_modules/ -------------------------------------------------------------------------------- /History.md: -------------------------------------------------------------------------------- 1 | # 0.0.1 / 2023-02-10 2 | 3 | - fix readme 4 | - initial commit 5 | -------------------------------------------------------------------------------- /License.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Matt Mueller 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | install: 2 | @ go mod tidy 3 | @ npm install 4 | 5 | generate: 6 | @ go generate 7 | 8 | run: generate 9 | @ go run cmd/tailwind/main.go example/play.html 10 | 11 | test: generate 12 | @ go test ./... 13 | 14 | time: generate 15 | @ go generate 16 | @ go build -o tailwind cmd/tailwind/main.go 17 | @ time ./tailwind example/play.html 18 | @ rm tailwind 19 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Tailwind.go 2 | 3 | Use Tailwind in Go. 4 | 5 | Unlike other options, this package embeds tailwind directly and doesn't spawn a subprocess, so it's faster. 6 | 7 | ## Example Usage 8 | 9 | ```go 10 | package main 11 | 12 | import ( 13 | "context" 14 | "fmt" 15 | "os" 16 | 17 | "github.com/livebud/js" 18 | v8 "github.com/livebud/js/v8" 19 | "github.com/livebud/tailwind" 20 | ) 21 | 22 | func main() { 23 | // Initialize a V8 isolate 24 | vm, _ := v8.Load(&js.Console{ 25 | Log: os.Stdout, 26 | Error: os.Stderr, 27 | }) 28 | defer vm.Close() 29 | // Generate the CSS for this index.html file 30 | processor := tailwind.New(vm) 31 | ctx := context.Background() 32 | css, _ := processor.Process(ctx, "index.html", ` 33 | 34 | 35 | 36 | 37 | 38 |

Hello Tailwind!

39 | 40 | 41 | `) 42 | fmt.Println(css) 43 | } 44 | ``` 45 | 46 | This results in a CSS file: 47 | 48 | ```css 49 | /*! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4} 50 | /* ... */ 51 | ``` 52 | 53 | For production, I recommend building this CSS file and embedding it alongside the processed HTML file. 54 | 55 | For development, you may want to run this processor dynamically. Keep in mind that this processor currently depends on CGO. 56 | 57 | I originally built this project for [Bud](https://github.com/livebud/bud), which handles the environment differences for you. 58 | 59 | ## CLI Usage 60 | 61 | We've also included a rudimentary CLI for quickly testing. If you already have the official CLI installed, stick with that. 62 | 63 | ``` 64 | go install github.com/livebud/tailwind/cmd/tailwind@latest 65 | tailwind example/play.html 66 | 67 | ``` 68 | 69 | ## Development 70 | 71 | You can install the dependencies with make install: 72 | 73 | ```sh 74 | make install 75 | ``` 76 | 77 | This command expects that you have `go` and `npm` in your toolchain. After installing the dependencies, you can run tests with: 78 | 79 | ```sh 80 | make test 81 | ``` 82 | 83 | ## License 84 | 85 | MIT 86 | -------------------------------------------------------------------------------- /cmd/tailwind/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "os" 7 | "path" 8 | 9 | "github.com/livebud/js" 10 | v8 "github.com/livebud/js/v8" 11 | "github.com/livebud/tailwind" 12 | ) 13 | 14 | func main() { 15 | if err := run(); err != nil { 16 | fmt.Fprintln(os.Stderr, err) 17 | os.Exit(1) 18 | } 19 | } 20 | 21 | func run() error { 22 | if len(os.Args) < 2 { 23 | return fmt.Errorf("usage: tailwind ") 24 | } 25 | ctx := context.Background() 26 | fpath := os.Args[1] 27 | vm, err := v8.Load(&js.Console{ 28 | Log: os.Stdout, 29 | Error: os.Stderr, 30 | }) 31 | if err != nil { 32 | return fmt.Errorf("unable to load v8: %w", err) 33 | } 34 | compiler := tailwind.New(vm) 35 | data, err := os.ReadFile(fpath) 36 | if err != nil { 37 | return fmt.Errorf("unable to read %s file: %w", path.Ext(fpath), err) 38 | } 39 | css, err := compiler.Process(ctx, fpath, string(data)) 40 | if err != nil { 41 | return fmt.Errorf("unable to compile %s file: %w", path.Ext(fpath), err) 42 | } 43 | fmt.Println(css) 44 | return nil 45 | } 46 | -------------------------------------------------------------------------------- /example/play.html: -------------------------------------------------------------------------------- 1 | 11 |
12 | 14 |
16 |
17 |
18 |
19 | Tailwind Play 20 |
21 |
22 |

An advanced online playground for Tailwind CSS, including support for things like:

23 |
    24 |
  • 25 | 27 | 28 | 29 | 30 |

    31 | Customizing your 32 | tailwind.config.js file 33 |

    34 |
  • 35 |
  • 36 | 38 | 39 | 40 | 41 |

    42 | Extracting classes with 43 | @apply 44 |

    45 |
  • 46 |
  • 47 | 49 | 50 | 51 | 52 |

    Code completion with instant preview

    53 |
  • 54 |
55 |

Perfect for learning how the framework works, prototyping a new idea, or creating a demo to share online. 56 |

57 |
58 |
59 |

Want to dig deeper into Tailwind?

60 |

61 | Read the docs → 62 |

63 |
64 |
65 |
66 |
67 |
-------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/livebud/tailwind 2 | 3 | go 1.19 4 | 5 | require ( 6 | github.com/evanw/esbuild v0.15.13 7 | github.com/livebud/js v0.0.0-20221112072017-b9e63b92aad5 8 | github.com/matryer/is v1.4.0 9 | ) 10 | 11 | require ( 12 | go.kuoruan.net/v8go-polyfills v0.5.1-0.20220727011656-c74c5b408ebd // indirect 13 | golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect 14 | rogchap.com/v8go v0.7.0 // indirect 15 | ) 16 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/evanw/esbuild v0.15.13 h1:te8r0UKusPzGgn8ylltb33Ffsbum+3tQDyHcg6MOwn8= 2 | github.com/evanw/esbuild v0.15.13/go.mod h1:iINY06rn799hi48UqEnaQvVfZWe6W9bET78LbvN8VWk= 3 | github.com/livebud/js v0.0.0-20221112072017-b9e63b92aad5 h1:7fYJMOnT4WrnjRhJ8B6HiJBGcDVFd9jam0205gn9y1k= 4 | github.com/livebud/js v0.0.0-20221112072017-b9e63b92aad5/go.mod h1:TDkks+mVAlB96mxcbIAftAxpGteCxoBYGVF1JThjcLk= 5 | github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= 6 | github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= 7 | go.kuoruan.net/v8go-polyfills v0.5.1-0.20220727011656-c74c5b408ebd h1:lMfOO39WTD+CxBPmqZvLdISrLVsEjgNfWoV4viBt15M= 8 | go.kuoruan.net/v8go-polyfills v0.5.1-0.20220727011656-c74c5b408ebd/go.mod h1:egHzK8RIHR7dPOYzhnRsomClFTVmYCtvhTWqec4JXaY= 9 | golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= 10 | golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 11 | rogchap.com/v8go v0.7.0 h1:kgjbiO4zE5itA962ze6Hqmbs4HgZbGzmueCXsZtremg= 12 | rogchap.com/v8go v0.7.0/go.mod h1:MxgP3pL2MW4dpme/72QRs8sgNMmM0pRc8DPhcuLWPAs= 13 | -------------------------------------------------------------------------------- /inject.ts: -------------------------------------------------------------------------------- 1 | export const process = { 2 | env: { 3 | TAILWIND_MODE: 'build' 4 | }, 5 | cwd() { 6 | return '.' 7 | } 8 | } 9 | 10 | export const __dirname = '.' 11 | -------------------------------------------------------------------------------- /modules/crypto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livebud/tailwind/6168e91a42b68e1452e4707bc6222f45cf6ab116/modules/crypto.ts -------------------------------------------------------------------------------- /modules/fast-glob.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | sync: (patterns: any) => [].concat(patterns), 3 | escapePath: (path: string) => path, 4 | generateTasks: (patterns: string[]) => { 5 | return [ 6 | { 7 | dynamic: false, 8 | base: '.', 9 | negative: [], 10 | positive: ([] as string[]).concat(patterns), 11 | patterns: ([] as string[]).concat(patterns), 12 | }, 13 | ] 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /modules/fs.ts: -------------------------------------------------------------------------------- 1 | // @ts-ignore 2 | import preflight from 'tailwindcss/lib/css/preflight.css' 3 | 4 | export function readFileSync(path: string) { 5 | if (path === "css/preflight.css") { 6 | return preflight 7 | } 8 | throw new Error(`modules/fs.readFileSync: unable to read: ${path}`) 9 | } 10 | 11 | let i = 0 12 | export function statSync(path: string) { 13 | return { mtimeMs: ++i } 14 | } 15 | 16 | export function existsSync(path: string): boolean { 17 | return false 18 | } 19 | 20 | export const promises = { 21 | readFile(path: string) { 22 | return Promise.resolve(readFileSync(path)) 23 | } 24 | } 25 | 26 | export default { 27 | readFileSync, 28 | statSync, 29 | promises, 30 | } 31 | -------------------------------------------------------------------------------- /modules/glob-parent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livebud/tailwind/6168e91a42b68e1452e4707bc6222f45cf6ab116/modules/glob-parent.ts -------------------------------------------------------------------------------- /modules/os.ts: -------------------------------------------------------------------------------- 1 | export function homedir() { 2 | return "." 3 | } 4 | 5 | export default { 6 | homedir 7 | } -------------------------------------------------------------------------------- /modules/picocolors.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | yellow: (msg: string) => msg, 3 | bold: (msg: string) => msg 4 | } -------------------------------------------------------------------------------- /modules/resolve.ts: -------------------------------------------------------------------------------- 1 | export default function (path: string): string { 2 | console.log("resolving", path) 3 | return path 4 | } -------------------------------------------------------------------------------- /modules/url.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livebud/tailwind/6168e91a42b68e1452e4707bc6222f45cf6ab116/modules/url.ts -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "autoprefixer": "10.4.13", 9 | "crypto-browserify": "3.12.0", 10 | "cssnano": "5.1.14", 11 | "path-browserify": "1.0.1", 12 | "postcss": "8.4.19", 13 | "resolve": "1.22.1", 14 | "tailwindcss": "3.2.4", 15 | "url": "0.11.0" 16 | }, 17 | "devDependencies": { 18 | "typescript": "4.8.4" 19 | } 20 | }, 21 | "node_modules/@nodelib/fs.scandir": { 22 | "version": "2.1.5", 23 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 24 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 25 | "dependencies": { 26 | "@nodelib/fs.stat": "2.0.5", 27 | "run-parallel": "^1.1.9" 28 | }, 29 | "engines": { 30 | "node": ">= 8" 31 | } 32 | }, 33 | "node_modules/@nodelib/fs.stat": { 34 | "version": "2.0.5", 35 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 36 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 37 | "engines": { 38 | "node": ">= 8" 39 | } 40 | }, 41 | "node_modules/@nodelib/fs.walk": { 42 | "version": "1.2.8", 43 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 44 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 45 | "dependencies": { 46 | "@nodelib/fs.scandir": "2.1.5", 47 | "fastq": "^1.6.0" 48 | }, 49 | "engines": { 50 | "node": ">= 8" 51 | } 52 | }, 53 | "node_modules/@trysound/sax": { 54 | "version": "0.2.0", 55 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", 56 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", 57 | "engines": { 58 | "node": ">=10.13.0" 59 | } 60 | }, 61 | "node_modules/acorn": { 62 | "version": "7.4.1", 63 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 64 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 65 | "bin": { 66 | "acorn": "bin/acorn" 67 | }, 68 | "engines": { 69 | "node": ">=0.4.0" 70 | } 71 | }, 72 | "node_modules/acorn-node": { 73 | "version": "1.8.2", 74 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 75 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 76 | "dependencies": { 77 | "acorn": "^7.0.0", 78 | "acorn-walk": "^7.0.0", 79 | "xtend": "^4.0.2" 80 | } 81 | }, 82 | "node_modules/acorn-walk": { 83 | "version": "7.2.0", 84 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 85 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 86 | "engines": { 87 | "node": ">=0.4.0" 88 | } 89 | }, 90 | "node_modules/anymatch": { 91 | "version": "3.1.2", 92 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 93 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 94 | "dependencies": { 95 | "normalize-path": "^3.0.0", 96 | "picomatch": "^2.0.4" 97 | }, 98 | "engines": { 99 | "node": ">= 8" 100 | } 101 | }, 102 | "node_modules/arg": { 103 | "version": "5.0.2", 104 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 105 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" 106 | }, 107 | "node_modules/asn1.js": { 108 | "version": "5.4.1", 109 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", 110 | "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", 111 | "dependencies": { 112 | "bn.js": "^4.0.0", 113 | "inherits": "^2.0.1", 114 | "minimalistic-assert": "^1.0.0", 115 | "safer-buffer": "^2.1.0" 116 | } 117 | }, 118 | "node_modules/asn1.js/node_modules/bn.js": { 119 | "version": "4.12.0", 120 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 121 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 122 | }, 123 | "node_modules/autoprefixer": { 124 | "version": "10.4.13", 125 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", 126 | "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", 127 | "funding": [ 128 | { 129 | "type": "opencollective", 130 | "url": "https://opencollective.com/postcss/" 131 | }, 132 | { 133 | "type": "tidelift", 134 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 135 | } 136 | ], 137 | "dependencies": { 138 | "browserslist": "^4.21.4", 139 | "caniuse-lite": "^1.0.30001426", 140 | "fraction.js": "^4.2.0", 141 | "normalize-range": "^0.1.2", 142 | "picocolors": "^1.0.0", 143 | "postcss-value-parser": "^4.2.0" 144 | }, 145 | "bin": { 146 | "autoprefixer": "bin/autoprefixer" 147 | }, 148 | "engines": { 149 | "node": "^10 || ^12 || >=14" 150 | }, 151 | "peerDependencies": { 152 | "postcss": "^8.1.0" 153 | } 154 | }, 155 | "node_modules/binary-extensions": { 156 | "version": "2.2.0", 157 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 158 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 159 | "engines": { 160 | "node": ">=8" 161 | } 162 | }, 163 | "node_modules/bn.js": { 164 | "version": "5.2.1", 165 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", 166 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" 167 | }, 168 | "node_modules/boolbase": { 169 | "version": "1.0.0", 170 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 171 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" 172 | }, 173 | "node_modules/braces": { 174 | "version": "3.0.2", 175 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 176 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 177 | "dependencies": { 178 | "fill-range": "^7.0.1" 179 | }, 180 | "engines": { 181 | "node": ">=8" 182 | } 183 | }, 184 | "node_modules/brorand": { 185 | "version": "1.1.0", 186 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 187 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" 188 | }, 189 | "node_modules/browserify-aes": { 190 | "version": "1.2.0", 191 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 192 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 193 | "dependencies": { 194 | "buffer-xor": "^1.0.3", 195 | "cipher-base": "^1.0.0", 196 | "create-hash": "^1.1.0", 197 | "evp_bytestokey": "^1.0.3", 198 | "inherits": "^2.0.1", 199 | "safe-buffer": "^5.0.1" 200 | } 201 | }, 202 | "node_modules/browserify-cipher": { 203 | "version": "1.0.1", 204 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", 205 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", 206 | "dependencies": { 207 | "browserify-aes": "^1.0.4", 208 | "browserify-des": "^1.0.0", 209 | "evp_bytestokey": "^1.0.0" 210 | } 211 | }, 212 | "node_modules/browserify-des": { 213 | "version": "1.0.2", 214 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", 215 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", 216 | "dependencies": { 217 | "cipher-base": "^1.0.1", 218 | "des.js": "^1.0.0", 219 | "inherits": "^2.0.1", 220 | "safe-buffer": "^5.1.2" 221 | } 222 | }, 223 | "node_modules/browserify-rsa": { 224 | "version": "4.1.0", 225 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", 226 | "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", 227 | "dependencies": { 228 | "bn.js": "^5.0.0", 229 | "randombytes": "^2.0.1" 230 | } 231 | }, 232 | "node_modules/browserify-sign": { 233 | "version": "4.2.1", 234 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", 235 | "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", 236 | "dependencies": { 237 | "bn.js": "^5.1.1", 238 | "browserify-rsa": "^4.0.1", 239 | "create-hash": "^1.2.0", 240 | "create-hmac": "^1.1.7", 241 | "elliptic": "^6.5.3", 242 | "inherits": "^2.0.4", 243 | "parse-asn1": "^5.1.5", 244 | "readable-stream": "^3.6.0", 245 | "safe-buffer": "^5.2.0" 246 | } 247 | }, 248 | "node_modules/browserslist": { 249 | "version": "4.21.4", 250 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", 251 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", 252 | "funding": [ 253 | { 254 | "type": "opencollective", 255 | "url": "https://opencollective.com/browserslist" 256 | }, 257 | { 258 | "type": "tidelift", 259 | "url": "https://tidelift.com/funding/github/npm/browserslist" 260 | } 261 | ], 262 | "dependencies": { 263 | "caniuse-lite": "^1.0.30001400", 264 | "electron-to-chromium": "^1.4.251", 265 | "node-releases": "^2.0.6", 266 | "update-browserslist-db": "^1.0.9" 267 | }, 268 | "bin": { 269 | "browserslist": "cli.js" 270 | }, 271 | "engines": { 272 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 273 | } 274 | }, 275 | "node_modules/buffer-xor": { 276 | "version": "1.0.3", 277 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 278 | "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" 279 | }, 280 | "node_modules/camelcase-css": { 281 | "version": "2.0.1", 282 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 283 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 284 | "engines": { 285 | "node": ">= 6" 286 | } 287 | }, 288 | "node_modules/caniuse-api": { 289 | "version": "3.0.0", 290 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", 291 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", 292 | "dependencies": { 293 | "browserslist": "^4.0.0", 294 | "caniuse-lite": "^1.0.0", 295 | "lodash.memoize": "^4.1.2", 296 | "lodash.uniq": "^4.5.0" 297 | } 298 | }, 299 | "node_modules/caniuse-lite": { 300 | "version": "1.0.30001431", 301 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", 302 | "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", 303 | "funding": [ 304 | { 305 | "type": "opencollective", 306 | "url": "https://opencollective.com/browserslist" 307 | }, 308 | { 309 | "type": "tidelift", 310 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 311 | } 312 | ] 313 | }, 314 | "node_modules/chokidar": { 315 | "version": "3.5.3", 316 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 317 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 318 | "funding": [ 319 | { 320 | "type": "individual", 321 | "url": "https://paulmillr.com/funding/" 322 | } 323 | ], 324 | "dependencies": { 325 | "anymatch": "~3.1.2", 326 | "braces": "~3.0.2", 327 | "glob-parent": "~5.1.2", 328 | "is-binary-path": "~2.1.0", 329 | "is-glob": "~4.0.1", 330 | "normalize-path": "~3.0.0", 331 | "readdirp": "~3.6.0" 332 | }, 333 | "engines": { 334 | "node": ">= 8.10.0" 335 | }, 336 | "optionalDependencies": { 337 | "fsevents": "~2.3.2" 338 | } 339 | }, 340 | "node_modules/chokidar/node_modules/glob-parent": { 341 | "version": "5.1.2", 342 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 343 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 344 | "dependencies": { 345 | "is-glob": "^4.0.1" 346 | }, 347 | "engines": { 348 | "node": ">= 6" 349 | } 350 | }, 351 | "node_modules/cipher-base": { 352 | "version": "1.0.4", 353 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 354 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 355 | "dependencies": { 356 | "inherits": "^2.0.1", 357 | "safe-buffer": "^5.0.1" 358 | } 359 | }, 360 | "node_modules/color-name": { 361 | "version": "1.1.4", 362 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 363 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 364 | }, 365 | "node_modules/colord": { 366 | "version": "2.9.3", 367 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", 368 | "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" 369 | }, 370 | "node_modules/commander": { 371 | "version": "7.2.0", 372 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 373 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 374 | "engines": { 375 | "node": ">= 10" 376 | } 377 | }, 378 | "node_modules/create-ecdh": { 379 | "version": "4.0.4", 380 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", 381 | "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", 382 | "dependencies": { 383 | "bn.js": "^4.1.0", 384 | "elliptic": "^6.5.3" 385 | } 386 | }, 387 | "node_modules/create-ecdh/node_modules/bn.js": { 388 | "version": "4.12.0", 389 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 390 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 391 | }, 392 | "node_modules/create-hash": { 393 | "version": "1.2.0", 394 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 395 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 396 | "dependencies": { 397 | "cipher-base": "^1.0.1", 398 | "inherits": "^2.0.1", 399 | "md5.js": "^1.3.4", 400 | "ripemd160": "^2.0.1", 401 | "sha.js": "^2.4.0" 402 | } 403 | }, 404 | "node_modules/create-hmac": { 405 | "version": "1.1.7", 406 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 407 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 408 | "dependencies": { 409 | "cipher-base": "^1.0.3", 410 | "create-hash": "^1.1.0", 411 | "inherits": "^2.0.1", 412 | "ripemd160": "^2.0.0", 413 | "safe-buffer": "^5.0.1", 414 | "sha.js": "^2.4.8" 415 | } 416 | }, 417 | "node_modules/crypto-browserify": { 418 | "version": "3.12.0", 419 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", 420 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", 421 | "dependencies": { 422 | "browserify-cipher": "^1.0.0", 423 | "browserify-sign": "^4.0.0", 424 | "create-ecdh": "^4.0.0", 425 | "create-hash": "^1.1.0", 426 | "create-hmac": "^1.1.0", 427 | "diffie-hellman": "^5.0.0", 428 | "inherits": "^2.0.1", 429 | "pbkdf2": "^3.0.3", 430 | "public-encrypt": "^4.0.0", 431 | "randombytes": "^2.0.0", 432 | "randomfill": "^1.0.3" 433 | }, 434 | "engines": { 435 | "node": "*" 436 | } 437 | }, 438 | "node_modules/css-declaration-sorter": { 439 | "version": "6.3.1", 440 | "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", 441 | "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", 442 | "engines": { 443 | "node": "^10 || ^12 || >=14" 444 | }, 445 | "peerDependencies": { 446 | "postcss": "^8.0.9" 447 | } 448 | }, 449 | "node_modules/css-select": { 450 | "version": "4.3.0", 451 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", 452 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", 453 | "dependencies": { 454 | "boolbase": "^1.0.0", 455 | "css-what": "^6.0.1", 456 | "domhandler": "^4.3.1", 457 | "domutils": "^2.8.0", 458 | "nth-check": "^2.0.1" 459 | }, 460 | "funding": { 461 | "url": "https://github.com/sponsors/fb55" 462 | } 463 | }, 464 | "node_modules/css-tree": { 465 | "version": "1.1.3", 466 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", 467 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 468 | "dependencies": { 469 | "mdn-data": "2.0.14", 470 | "source-map": "^0.6.1" 471 | }, 472 | "engines": { 473 | "node": ">=8.0.0" 474 | } 475 | }, 476 | "node_modules/css-what": { 477 | "version": "6.1.0", 478 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 479 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 480 | "engines": { 481 | "node": ">= 6" 482 | }, 483 | "funding": { 484 | "url": "https://github.com/sponsors/fb55" 485 | } 486 | }, 487 | "node_modules/cssesc": { 488 | "version": "3.0.0", 489 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 490 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 491 | "bin": { 492 | "cssesc": "bin/cssesc" 493 | }, 494 | "engines": { 495 | "node": ">=4" 496 | } 497 | }, 498 | "node_modules/cssnano": { 499 | "version": "5.1.14", 500 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", 501 | "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", 502 | "dependencies": { 503 | "cssnano-preset-default": "^5.2.13", 504 | "lilconfig": "^2.0.3", 505 | "yaml": "^1.10.2" 506 | }, 507 | "engines": { 508 | "node": "^10 || ^12 || >=14.0" 509 | }, 510 | "funding": { 511 | "type": "opencollective", 512 | "url": "https://opencollective.com/cssnano" 513 | }, 514 | "peerDependencies": { 515 | "postcss": "^8.2.15" 516 | } 517 | }, 518 | "node_modules/cssnano-preset-default": { 519 | "version": "5.2.13", 520 | "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", 521 | "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", 522 | "dependencies": { 523 | "css-declaration-sorter": "^6.3.1", 524 | "cssnano-utils": "^3.1.0", 525 | "postcss-calc": "^8.2.3", 526 | "postcss-colormin": "^5.3.0", 527 | "postcss-convert-values": "^5.1.3", 528 | "postcss-discard-comments": "^5.1.2", 529 | "postcss-discard-duplicates": "^5.1.0", 530 | "postcss-discard-empty": "^5.1.1", 531 | "postcss-discard-overridden": "^5.1.0", 532 | "postcss-merge-longhand": "^5.1.7", 533 | "postcss-merge-rules": "^5.1.3", 534 | "postcss-minify-font-values": "^5.1.0", 535 | "postcss-minify-gradients": "^5.1.1", 536 | "postcss-minify-params": "^5.1.4", 537 | "postcss-minify-selectors": "^5.2.1", 538 | "postcss-normalize-charset": "^5.1.0", 539 | "postcss-normalize-display-values": "^5.1.0", 540 | "postcss-normalize-positions": "^5.1.1", 541 | "postcss-normalize-repeat-style": "^5.1.1", 542 | "postcss-normalize-string": "^5.1.0", 543 | "postcss-normalize-timing-functions": "^5.1.0", 544 | "postcss-normalize-unicode": "^5.1.1", 545 | "postcss-normalize-url": "^5.1.0", 546 | "postcss-normalize-whitespace": "^5.1.1", 547 | "postcss-ordered-values": "^5.1.3", 548 | "postcss-reduce-initial": "^5.1.1", 549 | "postcss-reduce-transforms": "^5.1.0", 550 | "postcss-svgo": "^5.1.0", 551 | "postcss-unique-selectors": "^5.1.1" 552 | }, 553 | "engines": { 554 | "node": "^10 || ^12 || >=14.0" 555 | }, 556 | "peerDependencies": { 557 | "postcss": "^8.2.15" 558 | } 559 | }, 560 | "node_modules/cssnano-utils": { 561 | "version": "3.1.0", 562 | "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", 563 | "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", 564 | "engines": { 565 | "node": "^10 || ^12 || >=14.0" 566 | }, 567 | "peerDependencies": { 568 | "postcss": "^8.2.15" 569 | } 570 | }, 571 | "node_modules/csso": { 572 | "version": "4.2.0", 573 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", 574 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", 575 | "dependencies": { 576 | "css-tree": "^1.1.2" 577 | }, 578 | "engines": { 579 | "node": ">=8.0.0" 580 | } 581 | }, 582 | "node_modules/defined": { 583 | "version": "1.0.1", 584 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", 585 | "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", 586 | "funding": { 587 | "url": "https://github.com/sponsors/ljharb" 588 | } 589 | }, 590 | "node_modules/des.js": { 591 | "version": "1.0.1", 592 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", 593 | "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", 594 | "dependencies": { 595 | "inherits": "^2.0.1", 596 | "minimalistic-assert": "^1.0.0" 597 | } 598 | }, 599 | "node_modules/detective": { 600 | "version": "5.2.1", 601 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", 602 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", 603 | "dependencies": { 604 | "acorn-node": "^1.8.2", 605 | "defined": "^1.0.0", 606 | "minimist": "^1.2.6" 607 | }, 608 | "bin": { 609 | "detective": "bin/detective.js" 610 | }, 611 | "engines": { 612 | "node": ">=0.8.0" 613 | } 614 | }, 615 | "node_modules/didyoumean": { 616 | "version": "1.2.2", 617 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 618 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 619 | }, 620 | "node_modules/diffie-hellman": { 621 | "version": "5.0.3", 622 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 623 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", 624 | "dependencies": { 625 | "bn.js": "^4.1.0", 626 | "miller-rabin": "^4.0.0", 627 | "randombytes": "^2.0.0" 628 | } 629 | }, 630 | "node_modules/diffie-hellman/node_modules/bn.js": { 631 | "version": "4.12.0", 632 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 633 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 634 | }, 635 | "node_modules/dlv": { 636 | "version": "1.1.3", 637 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 638 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 639 | }, 640 | "node_modules/dom-serializer": { 641 | "version": "1.4.1", 642 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", 643 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", 644 | "dependencies": { 645 | "domelementtype": "^2.0.1", 646 | "domhandler": "^4.2.0", 647 | "entities": "^2.0.0" 648 | }, 649 | "funding": { 650 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 651 | } 652 | }, 653 | "node_modules/domelementtype": { 654 | "version": "2.3.0", 655 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 656 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 657 | "funding": [ 658 | { 659 | "type": "github", 660 | "url": "https://github.com/sponsors/fb55" 661 | } 662 | ] 663 | }, 664 | "node_modules/domhandler": { 665 | "version": "4.3.1", 666 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", 667 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 668 | "dependencies": { 669 | "domelementtype": "^2.2.0" 670 | }, 671 | "engines": { 672 | "node": ">= 4" 673 | }, 674 | "funding": { 675 | "url": "https://github.com/fb55/domhandler?sponsor=1" 676 | } 677 | }, 678 | "node_modules/domutils": { 679 | "version": "2.8.0", 680 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 681 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 682 | "dependencies": { 683 | "dom-serializer": "^1.0.1", 684 | "domelementtype": "^2.2.0", 685 | "domhandler": "^4.2.0" 686 | }, 687 | "funding": { 688 | "url": "https://github.com/fb55/domutils?sponsor=1" 689 | } 690 | }, 691 | "node_modules/electron-to-chromium": { 692 | "version": "1.4.284", 693 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", 694 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" 695 | }, 696 | "node_modules/elliptic": { 697 | "version": "6.5.4", 698 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", 699 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", 700 | "dependencies": { 701 | "bn.js": "^4.11.9", 702 | "brorand": "^1.1.0", 703 | "hash.js": "^1.0.0", 704 | "hmac-drbg": "^1.0.1", 705 | "inherits": "^2.0.4", 706 | "minimalistic-assert": "^1.0.1", 707 | "minimalistic-crypto-utils": "^1.0.1" 708 | } 709 | }, 710 | "node_modules/elliptic/node_modules/bn.js": { 711 | "version": "4.12.0", 712 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 713 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 714 | }, 715 | "node_modules/entities": { 716 | "version": "2.2.0", 717 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 718 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 719 | "funding": { 720 | "url": "https://github.com/fb55/entities?sponsor=1" 721 | } 722 | }, 723 | "node_modules/escalade": { 724 | "version": "3.1.1", 725 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 726 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 727 | "engines": { 728 | "node": ">=6" 729 | } 730 | }, 731 | "node_modules/evp_bytestokey": { 732 | "version": "1.0.3", 733 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 734 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 735 | "dependencies": { 736 | "md5.js": "^1.3.4", 737 | "safe-buffer": "^5.1.1" 738 | } 739 | }, 740 | "node_modules/fast-glob": { 741 | "version": "3.2.12", 742 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", 743 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", 744 | "dependencies": { 745 | "@nodelib/fs.stat": "^2.0.2", 746 | "@nodelib/fs.walk": "^1.2.3", 747 | "glob-parent": "^5.1.2", 748 | "merge2": "^1.3.0", 749 | "micromatch": "^4.0.4" 750 | }, 751 | "engines": { 752 | "node": ">=8.6.0" 753 | } 754 | }, 755 | "node_modules/fast-glob/node_modules/glob-parent": { 756 | "version": "5.1.2", 757 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 758 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 759 | "dependencies": { 760 | "is-glob": "^4.0.1" 761 | }, 762 | "engines": { 763 | "node": ">= 6" 764 | } 765 | }, 766 | "node_modules/fastq": { 767 | "version": "1.13.0", 768 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 769 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 770 | "dependencies": { 771 | "reusify": "^1.0.4" 772 | } 773 | }, 774 | "node_modules/fill-range": { 775 | "version": "7.0.1", 776 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 777 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 778 | "dependencies": { 779 | "to-regex-range": "^5.0.1" 780 | }, 781 | "engines": { 782 | "node": ">=8" 783 | } 784 | }, 785 | "node_modules/fraction.js": { 786 | "version": "4.2.0", 787 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 788 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 789 | "engines": { 790 | "node": "*" 791 | }, 792 | "funding": { 793 | "type": "patreon", 794 | "url": "https://www.patreon.com/infusion" 795 | } 796 | }, 797 | "node_modules/fsevents": { 798 | "version": "2.3.2", 799 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 800 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 801 | "hasInstallScript": true, 802 | "optional": true, 803 | "os": [ 804 | "darwin" 805 | ], 806 | "engines": { 807 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 808 | } 809 | }, 810 | "node_modules/function-bind": { 811 | "version": "1.1.1", 812 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 813 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 814 | }, 815 | "node_modules/glob-parent": { 816 | "version": "6.0.2", 817 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 818 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 819 | "dependencies": { 820 | "is-glob": "^4.0.3" 821 | }, 822 | "engines": { 823 | "node": ">=10.13.0" 824 | } 825 | }, 826 | "node_modules/has": { 827 | "version": "1.0.3", 828 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 829 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 830 | "dependencies": { 831 | "function-bind": "^1.1.1" 832 | }, 833 | "engines": { 834 | "node": ">= 0.4.0" 835 | } 836 | }, 837 | "node_modules/hash-base": { 838 | "version": "3.1.0", 839 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", 840 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", 841 | "dependencies": { 842 | "inherits": "^2.0.4", 843 | "readable-stream": "^3.6.0", 844 | "safe-buffer": "^5.2.0" 845 | }, 846 | "engines": { 847 | "node": ">=4" 848 | } 849 | }, 850 | "node_modules/hash.js": { 851 | "version": "1.1.7", 852 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 853 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 854 | "dependencies": { 855 | "inherits": "^2.0.3", 856 | "minimalistic-assert": "^1.0.1" 857 | } 858 | }, 859 | "node_modules/hmac-drbg": { 860 | "version": "1.0.1", 861 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 862 | "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", 863 | "dependencies": { 864 | "hash.js": "^1.0.3", 865 | "minimalistic-assert": "^1.0.0", 866 | "minimalistic-crypto-utils": "^1.0.1" 867 | } 868 | }, 869 | "node_modules/inherits": { 870 | "version": "2.0.4", 871 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 872 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 873 | }, 874 | "node_modules/is-binary-path": { 875 | "version": "2.1.0", 876 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 877 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 878 | "dependencies": { 879 | "binary-extensions": "^2.0.0" 880 | }, 881 | "engines": { 882 | "node": ">=8" 883 | } 884 | }, 885 | "node_modules/is-core-module": { 886 | "version": "2.11.0", 887 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 888 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 889 | "dependencies": { 890 | "has": "^1.0.3" 891 | }, 892 | "funding": { 893 | "url": "https://github.com/sponsors/ljharb" 894 | } 895 | }, 896 | "node_modules/is-extglob": { 897 | "version": "2.1.1", 898 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 899 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 900 | "engines": { 901 | "node": ">=0.10.0" 902 | } 903 | }, 904 | "node_modules/is-glob": { 905 | "version": "4.0.3", 906 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 907 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 908 | "dependencies": { 909 | "is-extglob": "^2.1.1" 910 | }, 911 | "engines": { 912 | "node": ">=0.10.0" 913 | } 914 | }, 915 | "node_modules/is-number": { 916 | "version": "7.0.0", 917 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 918 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 919 | "engines": { 920 | "node": ">=0.12.0" 921 | } 922 | }, 923 | "node_modules/lilconfig": { 924 | "version": "2.0.6", 925 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", 926 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", 927 | "engines": { 928 | "node": ">=10" 929 | } 930 | }, 931 | "node_modules/lodash.memoize": { 932 | "version": "4.1.2", 933 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 934 | "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" 935 | }, 936 | "node_modules/lodash.uniq": { 937 | "version": "4.5.0", 938 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 939 | "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" 940 | }, 941 | "node_modules/md5.js": { 942 | "version": "1.3.5", 943 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 944 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 945 | "dependencies": { 946 | "hash-base": "^3.0.0", 947 | "inherits": "^2.0.1", 948 | "safe-buffer": "^5.1.2" 949 | } 950 | }, 951 | "node_modules/mdn-data": { 952 | "version": "2.0.14", 953 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", 954 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" 955 | }, 956 | "node_modules/merge2": { 957 | "version": "1.4.1", 958 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 959 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 960 | "engines": { 961 | "node": ">= 8" 962 | } 963 | }, 964 | "node_modules/micromatch": { 965 | "version": "4.0.5", 966 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 967 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 968 | "dependencies": { 969 | "braces": "^3.0.2", 970 | "picomatch": "^2.3.1" 971 | }, 972 | "engines": { 973 | "node": ">=8.6" 974 | } 975 | }, 976 | "node_modules/miller-rabin": { 977 | "version": "4.0.1", 978 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 979 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 980 | "dependencies": { 981 | "bn.js": "^4.0.0", 982 | "brorand": "^1.0.1" 983 | }, 984 | "bin": { 985 | "miller-rabin": "bin/miller-rabin" 986 | } 987 | }, 988 | "node_modules/miller-rabin/node_modules/bn.js": { 989 | "version": "4.12.0", 990 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 991 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 992 | }, 993 | "node_modules/minimalistic-assert": { 994 | "version": "1.0.1", 995 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 996 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 997 | }, 998 | "node_modules/minimalistic-crypto-utils": { 999 | "version": "1.0.1", 1000 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 1001 | "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" 1002 | }, 1003 | "node_modules/minimist": { 1004 | "version": "1.2.7", 1005 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 1006 | "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", 1007 | "funding": { 1008 | "url": "https://github.com/sponsors/ljharb" 1009 | } 1010 | }, 1011 | "node_modules/nanoid": { 1012 | "version": "3.3.4", 1013 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 1014 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 1015 | "bin": { 1016 | "nanoid": "bin/nanoid.cjs" 1017 | }, 1018 | "engines": { 1019 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1020 | } 1021 | }, 1022 | "node_modules/node-releases": { 1023 | "version": "2.0.6", 1024 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", 1025 | "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" 1026 | }, 1027 | "node_modules/normalize-path": { 1028 | "version": "3.0.0", 1029 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1030 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1031 | "engines": { 1032 | "node": ">=0.10.0" 1033 | } 1034 | }, 1035 | "node_modules/normalize-range": { 1036 | "version": "0.1.2", 1037 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1038 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 1039 | "engines": { 1040 | "node": ">=0.10.0" 1041 | } 1042 | }, 1043 | "node_modules/normalize-url": { 1044 | "version": "6.1.0", 1045 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 1046 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", 1047 | "engines": { 1048 | "node": ">=10" 1049 | }, 1050 | "funding": { 1051 | "url": "https://github.com/sponsors/sindresorhus" 1052 | } 1053 | }, 1054 | "node_modules/nth-check": { 1055 | "version": "2.1.1", 1056 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 1057 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 1058 | "dependencies": { 1059 | "boolbase": "^1.0.0" 1060 | }, 1061 | "funding": { 1062 | "url": "https://github.com/fb55/nth-check?sponsor=1" 1063 | } 1064 | }, 1065 | "node_modules/object-hash": { 1066 | "version": "3.0.0", 1067 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1068 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1069 | "engines": { 1070 | "node": ">= 6" 1071 | } 1072 | }, 1073 | "node_modules/parse-asn1": { 1074 | "version": "5.1.6", 1075 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", 1076 | "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", 1077 | "dependencies": { 1078 | "asn1.js": "^5.2.0", 1079 | "browserify-aes": "^1.0.0", 1080 | "evp_bytestokey": "^1.0.0", 1081 | "pbkdf2": "^3.0.3", 1082 | "safe-buffer": "^5.1.1" 1083 | } 1084 | }, 1085 | "node_modules/path-browserify": { 1086 | "version": "1.0.1", 1087 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 1088 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" 1089 | }, 1090 | "node_modules/path-parse": { 1091 | "version": "1.0.7", 1092 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1093 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1094 | }, 1095 | "node_modules/pbkdf2": { 1096 | "version": "3.1.2", 1097 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", 1098 | "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", 1099 | "dependencies": { 1100 | "create-hash": "^1.1.2", 1101 | "create-hmac": "^1.1.4", 1102 | "ripemd160": "^2.0.1", 1103 | "safe-buffer": "^5.0.1", 1104 | "sha.js": "^2.4.8" 1105 | }, 1106 | "engines": { 1107 | "node": ">=0.12" 1108 | } 1109 | }, 1110 | "node_modules/picocolors": { 1111 | "version": "1.0.0", 1112 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1113 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1114 | }, 1115 | "node_modules/picomatch": { 1116 | "version": "2.3.1", 1117 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1118 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1119 | "engines": { 1120 | "node": ">=8.6" 1121 | }, 1122 | "funding": { 1123 | "url": "https://github.com/sponsors/jonschlinkert" 1124 | } 1125 | }, 1126 | "node_modules/pify": { 1127 | "version": "2.3.0", 1128 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1129 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1130 | "engines": { 1131 | "node": ">=0.10.0" 1132 | } 1133 | }, 1134 | "node_modules/postcss": { 1135 | "version": "8.4.19", 1136 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", 1137 | "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", 1138 | "funding": [ 1139 | { 1140 | "type": "opencollective", 1141 | "url": "https://opencollective.com/postcss/" 1142 | }, 1143 | { 1144 | "type": "tidelift", 1145 | "url": "https://tidelift.com/funding/github/npm/postcss" 1146 | } 1147 | ], 1148 | "dependencies": { 1149 | "nanoid": "^3.3.4", 1150 | "picocolors": "^1.0.0", 1151 | "source-map-js": "^1.0.2" 1152 | }, 1153 | "engines": { 1154 | "node": "^10 || ^12 || >=14" 1155 | } 1156 | }, 1157 | "node_modules/postcss-calc": { 1158 | "version": "8.2.4", 1159 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", 1160 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", 1161 | "dependencies": { 1162 | "postcss-selector-parser": "^6.0.9", 1163 | "postcss-value-parser": "^4.2.0" 1164 | }, 1165 | "peerDependencies": { 1166 | "postcss": "^8.2.2" 1167 | } 1168 | }, 1169 | "node_modules/postcss-colormin": { 1170 | "version": "5.3.0", 1171 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", 1172 | "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", 1173 | "dependencies": { 1174 | "browserslist": "^4.16.6", 1175 | "caniuse-api": "^3.0.0", 1176 | "colord": "^2.9.1", 1177 | "postcss-value-parser": "^4.2.0" 1178 | }, 1179 | "engines": { 1180 | "node": "^10 || ^12 || >=14.0" 1181 | }, 1182 | "peerDependencies": { 1183 | "postcss": "^8.2.15" 1184 | } 1185 | }, 1186 | "node_modules/postcss-convert-values": { 1187 | "version": "5.1.3", 1188 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", 1189 | "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", 1190 | "dependencies": { 1191 | "browserslist": "^4.21.4", 1192 | "postcss-value-parser": "^4.2.0" 1193 | }, 1194 | "engines": { 1195 | "node": "^10 || ^12 || >=14.0" 1196 | }, 1197 | "peerDependencies": { 1198 | "postcss": "^8.2.15" 1199 | } 1200 | }, 1201 | "node_modules/postcss-discard-comments": { 1202 | "version": "5.1.2", 1203 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", 1204 | "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", 1205 | "engines": { 1206 | "node": "^10 || ^12 || >=14.0" 1207 | }, 1208 | "peerDependencies": { 1209 | "postcss": "^8.2.15" 1210 | } 1211 | }, 1212 | "node_modules/postcss-discard-duplicates": { 1213 | "version": "5.1.0", 1214 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", 1215 | "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", 1216 | "engines": { 1217 | "node": "^10 || ^12 || >=14.0" 1218 | }, 1219 | "peerDependencies": { 1220 | "postcss": "^8.2.15" 1221 | } 1222 | }, 1223 | "node_modules/postcss-discard-empty": { 1224 | "version": "5.1.1", 1225 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", 1226 | "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", 1227 | "engines": { 1228 | "node": "^10 || ^12 || >=14.0" 1229 | }, 1230 | "peerDependencies": { 1231 | "postcss": "^8.2.15" 1232 | } 1233 | }, 1234 | "node_modules/postcss-discard-overridden": { 1235 | "version": "5.1.0", 1236 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", 1237 | "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", 1238 | "engines": { 1239 | "node": "^10 || ^12 || >=14.0" 1240 | }, 1241 | "peerDependencies": { 1242 | "postcss": "^8.2.15" 1243 | } 1244 | }, 1245 | "node_modules/postcss-import": { 1246 | "version": "14.1.0", 1247 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", 1248 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", 1249 | "dependencies": { 1250 | "postcss-value-parser": "^4.0.0", 1251 | "read-cache": "^1.0.0", 1252 | "resolve": "^1.1.7" 1253 | }, 1254 | "engines": { 1255 | "node": ">=10.0.0" 1256 | }, 1257 | "peerDependencies": { 1258 | "postcss": "^8.0.0" 1259 | } 1260 | }, 1261 | "node_modules/postcss-js": { 1262 | "version": "4.0.0", 1263 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 1264 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 1265 | "dependencies": { 1266 | "camelcase-css": "^2.0.1" 1267 | }, 1268 | "engines": { 1269 | "node": "^12 || ^14 || >= 16" 1270 | }, 1271 | "funding": { 1272 | "type": "opencollective", 1273 | "url": "https://opencollective.com/postcss/" 1274 | }, 1275 | "peerDependencies": { 1276 | "postcss": "^8.3.3" 1277 | } 1278 | }, 1279 | "node_modules/postcss-load-config": { 1280 | "version": "3.1.4", 1281 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 1282 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 1283 | "dependencies": { 1284 | "lilconfig": "^2.0.5", 1285 | "yaml": "^1.10.2" 1286 | }, 1287 | "engines": { 1288 | "node": ">= 10" 1289 | }, 1290 | "funding": { 1291 | "type": "opencollective", 1292 | "url": "https://opencollective.com/postcss/" 1293 | }, 1294 | "peerDependencies": { 1295 | "postcss": ">=8.0.9", 1296 | "ts-node": ">=9.0.0" 1297 | }, 1298 | "peerDependenciesMeta": { 1299 | "postcss": { 1300 | "optional": true 1301 | }, 1302 | "ts-node": { 1303 | "optional": true 1304 | } 1305 | } 1306 | }, 1307 | "node_modules/postcss-merge-longhand": { 1308 | "version": "5.1.7", 1309 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", 1310 | "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", 1311 | "dependencies": { 1312 | "postcss-value-parser": "^4.2.0", 1313 | "stylehacks": "^5.1.1" 1314 | }, 1315 | "engines": { 1316 | "node": "^10 || ^12 || >=14.0" 1317 | }, 1318 | "peerDependencies": { 1319 | "postcss": "^8.2.15" 1320 | } 1321 | }, 1322 | "node_modules/postcss-merge-rules": { 1323 | "version": "5.1.3", 1324 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", 1325 | "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", 1326 | "dependencies": { 1327 | "browserslist": "^4.21.4", 1328 | "caniuse-api": "^3.0.0", 1329 | "cssnano-utils": "^3.1.0", 1330 | "postcss-selector-parser": "^6.0.5" 1331 | }, 1332 | "engines": { 1333 | "node": "^10 || ^12 || >=14.0" 1334 | }, 1335 | "peerDependencies": { 1336 | "postcss": "^8.2.15" 1337 | } 1338 | }, 1339 | "node_modules/postcss-minify-font-values": { 1340 | "version": "5.1.0", 1341 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", 1342 | "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", 1343 | "dependencies": { 1344 | "postcss-value-parser": "^4.2.0" 1345 | }, 1346 | "engines": { 1347 | "node": "^10 || ^12 || >=14.0" 1348 | }, 1349 | "peerDependencies": { 1350 | "postcss": "^8.2.15" 1351 | } 1352 | }, 1353 | "node_modules/postcss-minify-gradients": { 1354 | "version": "5.1.1", 1355 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", 1356 | "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", 1357 | "dependencies": { 1358 | "colord": "^2.9.1", 1359 | "cssnano-utils": "^3.1.0", 1360 | "postcss-value-parser": "^4.2.0" 1361 | }, 1362 | "engines": { 1363 | "node": "^10 || ^12 || >=14.0" 1364 | }, 1365 | "peerDependencies": { 1366 | "postcss": "^8.2.15" 1367 | } 1368 | }, 1369 | "node_modules/postcss-minify-params": { 1370 | "version": "5.1.4", 1371 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", 1372 | "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", 1373 | "dependencies": { 1374 | "browserslist": "^4.21.4", 1375 | "cssnano-utils": "^3.1.0", 1376 | "postcss-value-parser": "^4.2.0" 1377 | }, 1378 | "engines": { 1379 | "node": "^10 || ^12 || >=14.0" 1380 | }, 1381 | "peerDependencies": { 1382 | "postcss": "^8.2.15" 1383 | } 1384 | }, 1385 | "node_modules/postcss-minify-selectors": { 1386 | "version": "5.2.1", 1387 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", 1388 | "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", 1389 | "dependencies": { 1390 | "postcss-selector-parser": "^6.0.5" 1391 | }, 1392 | "engines": { 1393 | "node": "^10 || ^12 || >=14.0" 1394 | }, 1395 | "peerDependencies": { 1396 | "postcss": "^8.2.15" 1397 | } 1398 | }, 1399 | "node_modules/postcss-nested": { 1400 | "version": "6.0.0", 1401 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", 1402 | "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", 1403 | "dependencies": { 1404 | "postcss-selector-parser": "^6.0.10" 1405 | }, 1406 | "engines": { 1407 | "node": ">=12.0" 1408 | }, 1409 | "funding": { 1410 | "type": "opencollective", 1411 | "url": "https://opencollective.com/postcss/" 1412 | }, 1413 | "peerDependencies": { 1414 | "postcss": "^8.2.14" 1415 | } 1416 | }, 1417 | "node_modules/postcss-normalize-charset": { 1418 | "version": "5.1.0", 1419 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", 1420 | "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", 1421 | "engines": { 1422 | "node": "^10 || ^12 || >=14.0" 1423 | }, 1424 | "peerDependencies": { 1425 | "postcss": "^8.2.15" 1426 | } 1427 | }, 1428 | "node_modules/postcss-normalize-display-values": { 1429 | "version": "5.1.0", 1430 | "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", 1431 | "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", 1432 | "dependencies": { 1433 | "postcss-value-parser": "^4.2.0" 1434 | }, 1435 | "engines": { 1436 | "node": "^10 || ^12 || >=14.0" 1437 | }, 1438 | "peerDependencies": { 1439 | "postcss": "^8.2.15" 1440 | } 1441 | }, 1442 | "node_modules/postcss-normalize-positions": { 1443 | "version": "5.1.1", 1444 | "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", 1445 | "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", 1446 | "dependencies": { 1447 | "postcss-value-parser": "^4.2.0" 1448 | }, 1449 | "engines": { 1450 | "node": "^10 || ^12 || >=14.0" 1451 | }, 1452 | "peerDependencies": { 1453 | "postcss": "^8.2.15" 1454 | } 1455 | }, 1456 | "node_modules/postcss-normalize-repeat-style": { 1457 | "version": "5.1.1", 1458 | "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", 1459 | "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", 1460 | "dependencies": { 1461 | "postcss-value-parser": "^4.2.0" 1462 | }, 1463 | "engines": { 1464 | "node": "^10 || ^12 || >=14.0" 1465 | }, 1466 | "peerDependencies": { 1467 | "postcss": "^8.2.15" 1468 | } 1469 | }, 1470 | "node_modules/postcss-normalize-string": { 1471 | "version": "5.1.0", 1472 | "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", 1473 | "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", 1474 | "dependencies": { 1475 | "postcss-value-parser": "^4.2.0" 1476 | }, 1477 | "engines": { 1478 | "node": "^10 || ^12 || >=14.0" 1479 | }, 1480 | "peerDependencies": { 1481 | "postcss": "^8.2.15" 1482 | } 1483 | }, 1484 | "node_modules/postcss-normalize-timing-functions": { 1485 | "version": "5.1.0", 1486 | "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", 1487 | "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", 1488 | "dependencies": { 1489 | "postcss-value-parser": "^4.2.0" 1490 | }, 1491 | "engines": { 1492 | "node": "^10 || ^12 || >=14.0" 1493 | }, 1494 | "peerDependencies": { 1495 | "postcss": "^8.2.15" 1496 | } 1497 | }, 1498 | "node_modules/postcss-normalize-unicode": { 1499 | "version": "5.1.1", 1500 | "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", 1501 | "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", 1502 | "dependencies": { 1503 | "browserslist": "^4.21.4", 1504 | "postcss-value-parser": "^4.2.0" 1505 | }, 1506 | "engines": { 1507 | "node": "^10 || ^12 || >=14.0" 1508 | }, 1509 | "peerDependencies": { 1510 | "postcss": "^8.2.15" 1511 | } 1512 | }, 1513 | "node_modules/postcss-normalize-url": { 1514 | "version": "5.1.0", 1515 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", 1516 | "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", 1517 | "dependencies": { 1518 | "normalize-url": "^6.0.1", 1519 | "postcss-value-parser": "^4.2.0" 1520 | }, 1521 | "engines": { 1522 | "node": "^10 || ^12 || >=14.0" 1523 | }, 1524 | "peerDependencies": { 1525 | "postcss": "^8.2.15" 1526 | } 1527 | }, 1528 | "node_modules/postcss-normalize-whitespace": { 1529 | "version": "5.1.1", 1530 | "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", 1531 | "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", 1532 | "dependencies": { 1533 | "postcss-value-parser": "^4.2.0" 1534 | }, 1535 | "engines": { 1536 | "node": "^10 || ^12 || >=14.0" 1537 | }, 1538 | "peerDependencies": { 1539 | "postcss": "^8.2.15" 1540 | } 1541 | }, 1542 | "node_modules/postcss-ordered-values": { 1543 | "version": "5.1.3", 1544 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", 1545 | "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", 1546 | "dependencies": { 1547 | "cssnano-utils": "^3.1.0", 1548 | "postcss-value-parser": "^4.2.0" 1549 | }, 1550 | "engines": { 1551 | "node": "^10 || ^12 || >=14.0" 1552 | }, 1553 | "peerDependencies": { 1554 | "postcss": "^8.2.15" 1555 | } 1556 | }, 1557 | "node_modules/postcss-reduce-initial": { 1558 | "version": "5.1.1", 1559 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", 1560 | "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", 1561 | "dependencies": { 1562 | "browserslist": "^4.21.4", 1563 | "caniuse-api": "^3.0.0" 1564 | }, 1565 | "engines": { 1566 | "node": "^10 || ^12 || >=14.0" 1567 | }, 1568 | "peerDependencies": { 1569 | "postcss": "^8.2.15" 1570 | } 1571 | }, 1572 | "node_modules/postcss-reduce-transforms": { 1573 | "version": "5.1.0", 1574 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", 1575 | "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", 1576 | "dependencies": { 1577 | "postcss-value-parser": "^4.2.0" 1578 | }, 1579 | "engines": { 1580 | "node": "^10 || ^12 || >=14.0" 1581 | }, 1582 | "peerDependencies": { 1583 | "postcss": "^8.2.15" 1584 | } 1585 | }, 1586 | "node_modules/postcss-selector-parser": { 1587 | "version": "6.0.10", 1588 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 1589 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 1590 | "dependencies": { 1591 | "cssesc": "^3.0.0", 1592 | "util-deprecate": "^1.0.2" 1593 | }, 1594 | "engines": { 1595 | "node": ">=4" 1596 | } 1597 | }, 1598 | "node_modules/postcss-svgo": { 1599 | "version": "5.1.0", 1600 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", 1601 | "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", 1602 | "dependencies": { 1603 | "postcss-value-parser": "^4.2.0", 1604 | "svgo": "^2.7.0" 1605 | }, 1606 | "engines": { 1607 | "node": "^10 || ^12 || >=14.0" 1608 | }, 1609 | "peerDependencies": { 1610 | "postcss": "^8.2.15" 1611 | } 1612 | }, 1613 | "node_modules/postcss-unique-selectors": { 1614 | "version": "5.1.1", 1615 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", 1616 | "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", 1617 | "dependencies": { 1618 | "postcss-selector-parser": "^6.0.5" 1619 | }, 1620 | "engines": { 1621 | "node": "^10 || ^12 || >=14.0" 1622 | }, 1623 | "peerDependencies": { 1624 | "postcss": "^8.2.15" 1625 | } 1626 | }, 1627 | "node_modules/postcss-value-parser": { 1628 | "version": "4.2.0", 1629 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1630 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 1631 | }, 1632 | "node_modules/public-encrypt": { 1633 | "version": "4.0.3", 1634 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", 1635 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", 1636 | "dependencies": { 1637 | "bn.js": "^4.1.0", 1638 | "browserify-rsa": "^4.0.0", 1639 | "create-hash": "^1.1.0", 1640 | "parse-asn1": "^5.0.0", 1641 | "randombytes": "^2.0.1", 1642 | "safe-buffer": "^5.1.2" 1643 | } 1644 | }, 1645 | "node_modules/public-encrypt/node_modules/bn.js": { 1646 | "version": "4.12.0", 1647 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 1648 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 1649 | }, 1650 | "node_modules/punycode": { 1651 | "version": "1.3.2", 1652 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 1653 | "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" 1654 | }, 1655 | "node_modules/querystring": { 1656 | "version": "0.2.0", 1657 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 1658 | "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", 1659 | "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", 1660 | "engines": { 1661 | "node": ">=0.4.x" 1662 | } 1663 | }, 1664 | "node_modules/queue-microtask": { 1665 | "version": "1.2.3", 1666 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1667 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1668 | "funding": [ 1669 | { 1670 | "type": "github", 1671 | "url": "https://github.com/sponsors/feross" 1672 | }, 1673 | { 1674 | "type": "patreon", 1675 | "url": "https://www.patreon.com/feross" 1676 | }, 1677 | { 1678 | "type": "consulting", 1679 | "url": "https://feross.org/support" 1680 | } 1681 | ] 1682 | }, 1683 | "node_modules/quick-lru": { 1684 | "version": "5.1.1", 1685 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 1686 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 1687 | "engines": { 1688 | "node": ">=10" 1689 | }, 1690 | "funding": { 1691 | "url": "https://github.com/sponsors/sindresorhus" 1692 | } 1693 | }, 1694 | "node_modules/randombytes": { 1695 | "version": "2.1.0", 1696 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1697 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1698 | "dependencies": { 1699 | "safe-buffer": "^5.1.0" 1700 | } 1701 | }, 1702 | "node_modules/randomfill": { 1703 | "version": "1.0.4", 1704 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 1705 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 1706 | "dependencies": { 1707 | "randombytes": "^2.0.5", 1708 | "safe-buffer": "^5.1.0" 1709 | } 1710 | }, 1711 | "node_modules/read-cache": { 1712 | "version": "1.0.0", 1713 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1714 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1715 | "dependencies": { 1716 | "pify": "^2.3.0" 1717 | } 1718 | }, 1719 | "node_modules/readable-stream": { 1720 | "version": "3.6.0", 1721 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1722 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1723 | "dependencies": { 1724 | "inherits": "^2.0.3", 1725 | "string_decoder": "^1.1.1", 1726 | "util-deprecate": "^1.0.1" 1727 | }, 1728 | "engines": { 1729 | "node": ">= 6" 1730 | } 1731 | }, 1732 | "node_modules/readdirp": { 1733 | "version": "3.6.0", 1734 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1735 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1736 | "dependencies": { 1737 | "picomatch": "^2.2.1" 1738 | }, 1739 | "engines": { 1740 | "node": ">=8.10.0" 1741 | } 1742 | }, 1743 | "node_modules/resolve": { 1744 | "version": "1.22.1", 1745 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 1746 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 1747 | "dependencies": { 1748 | "is-core-module": "^2.9.0", 1749 | "path-parse": "^1.0.7", 1750 | "supports-preserve-symlinks-flag": "^1.0.0" 1751 | }, 1752 | "bin": { 1753 | "resolve": "bin/resolve" 1754 | }, 1755 | "funding": { 1756 | "url": "https://github.com/sponsors/ljharb" 1757 | } 1758 | }, 1759 | "node_modules/reusify": { 1760 | "version": "1.0.4", 1761 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1762 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1763 | "engines": { 1764 | "iojs": ">=1.0.0", 1765 | "node": ">=0.10.0" 1766 | } 1767 | }, 1768 | "node_modules/ripemd160": { 1769 | "version": "2.0.2", 1770 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 1771 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 1772 | "dependencies": { 1773 | "hash-base": "^3.0.0", 1774 | "inherits": "^2.0.1" 1775 | } 1776 | }, 1777 | "node_modules/run-parallel": { 1778 | "version": "1.2.0", 1779 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1780 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1781 | "funding": [ 1782 | { 1783 | "type": "github", 1784 | "url": "https://github.com/sponsors/feross" 1785 | }, 1786 | { 1787 | "type": "patreon", 1788 | "url": "https://www.patreon.com/feross" 1789 | }, 1790 | { 1791 | "type": "consulting", 1792 | "url": "https://feross.org/support" 1793 | } 1794 | ], 1795 | "dependencies": { 1796 | "queue-microtask": "^1.2.2" 1797 | } 1798 | }, 1799 | "node_modules/safe-buffer": { 1800 | "version": "5.2.1", 1801 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1802 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1803 | "funding": [ 1804 | { 1805 | "type": "github", 1806 | "url": "https://github.com/sponsors/feross" 1807 | }, 1808 | { 1809 | "type": "patreon", 1810 | "url": "https://www.patreon.com/feross" 1811 | }, 1812 | { 1813 | "type": "consulting", 1814 | "url": "https://feross.org/support" 1815 | } 1816 | ] 1817 | }, 1818 | "node_modules/safer-buffer": { 1819 | "version": "2.1.2", 1820 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1821 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1822 | }, 1823 | "node_modules/sha.js": { 1824 | "version": "2.4.11", 1825 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 1826 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 1827 | "dependencies": { 1828 | "inherits": "^2.0.1", 1829 | "safe-buffer": "^5.0.1" 1830 | }, 1831 | "bin": { 1832 | "sha.js": "bin.js" 1833 | } 1834 | }, 1835 | "node_modules/source-map": { 1836 | "version": "0.6.1", 1837 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1838 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1839 | "engines": { 1840 | "node": ">=0.10.0" 1841 | } 1842 | }, 1843 | "node_modules/source-map-js": { 1844 | "version": "1.0.2", 1845 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1846 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1847 | "engines": { 1848 | "node": ">=0.10.0" 1849 | } 1850 | }, 1851 | "node_modules/stable": { 1852 | "version": "0.1.8", 1853 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", 1854 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", 1855 | "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" 1856 | }, 1857 | "node_modules/string_decoder": { 1858 | "version": "1.3.0", 1859 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1860 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1861 | "dependencies": { 1862 | "safe-buffer": "~5.2.0" 1863 | } 1864 | }, 1865 | "node_modules/stylehacks": { 1866 | "version": "5.1.1", 1867 | "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", 1868 | "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", 1869 | "dependencies": { 1870 | "browserslist": "^4.21.4", 1871 | "postcss-selector-parser": "^6.0.4" 1872 | }, 1873 | "engines": { 1874 | "node": "^10 || ^12 || >=14.0" 1875 | }, 1876 | "peerDependencies": { 1877 | "postcss": "^8.2.15" 1878 | } 1879 | }, 1880 | "node_modules/supports-preserve-symlinks-flag": { 1881 | "version": "1.0.0", 1882 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1883 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1884 | "engines": { 1885 | "node": ">= 0.4" 1886 | }, 1887 | "funding": { 1888 | "url": "https://github.com/sponsors/ljharb" 1889 | } 1890 | }, 1891 | "node_modules/svgo": { 1892 | "version": "2.8.0", 1893 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", 1894 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", 1895 | "dependencies": { 1896 | "@trysound/sax": "0.2.0", 1897 | "commander": "^7.2.0", 1898 | "css-select": "^4.1.3", 1899 | "css-tree": "^1.1.3", 1900 | "csso": "^4.2.0", 1901 | "picocolors": "^1.0.0", 1902 | "stable": "^0.1.8" 1903 | }, 1904 | "bin": { 1905 | "svgo": "bin/svgo" 1906 | }, 1907 | "engines": { 1908 | "node": ">=10.13.0" 1909 | } 1910 | }, 1911 | "node_modules/tailwindcss": { 1912 | "version": "3.2.4", 1913 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", 1914 | "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", 1915 | "dependencies": { 1916 | "arg": "^5.0.2", 1917 | "chokidar": "^3.5.3", 1918 | "color-name": "^1.1.4", 1919 | "detective": "^5.2.1", 1920 | "didyoumean": "^1.2.2", 1921 | "dlv": "^1.1.3", 1922 | "fast-glob": "^3.2.12", 1923 | "glob-parent": "^6.0.2", 1924 | "is-glob": "^4.0.3", 1925 | "lilconfig": "^2.0.6", 1926 | "micromatch": "^4.0.5", 1927 | "normalize-path": "^3.0.0", 1928 | "object-hash": "^3.0.0", 1929 | "picocolors": "^1.0.0", 1930 | "postcss": "^8.4.18", 1931 | "postcss-import": "^14.1.0", 1932 | "postcss-js": "^4.0.0", 1933 | "postcss-load-config": "^3.1.4", 1934 | "postcss-nested": "6.0.0", 1935 | "postcss-selector-parser": "^6.0.10", 1936 | "postcss-value-parser": "^4.2.0", 1937 | "quick-lru": "^5.1.1", 1938 | "resolve": "^1.22.1" 1939 | }, 1940 | "bin": { 1941 | "tailwind": "lib/cli.js", 1942 | "tailwindcss": "lib/cli.js" 1943 | }, 1944 | "engines": { 1945 | "node": ">=12.13.0" 1946 | }, 1947 | "peerDependencies": { 1948 | "postcss": "^8.0.9" 1949 | } 1950 | }, 1951 | "node_modules/to-regex-range": { 1952 | "version": "5.0.1", 1953 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1954 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1955 | "dependencies": { 1956 | "is-number": "^7.0.0" 1957 | }, 1958 | "engines": { 1959 | "node": ">=8.0" 1960 | } 1961 | }, 1962 | "node_modules/typescript": { 1963 | "version": "4.8.4", 1964 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", 1965 | "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", 1966 | "dev": true, 1967 | "bin": { 1968 | "tsc": "bin/tsc", 1969 | "tsserver": "bin/tsserver" 1970 | }, 1971 | "engines": { 1972 | "node": ">=4.2.0" 1973 | } 1974 | }, 1975 | "node_modules/update-browserslist-db": { 1976 | "version": "1.0.10", 1977 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 1978 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 1979 | "funding": [ 1980 | { 1981 | "type": "opencollective", 1982 | "url": "https://opencollective.com/browserslist" 1983 | }, 1984 | { 1985 | "type": "tidelift", 1986 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1987 | } 1988 | ], 1989 | "dependencies": { 1990 | "escalade": "^3.1.1", 1991 | "picocolors": "^1.0.0" 1992 | }, 1993 | "bin": { 1994 | "browserslist-lint": "cli.js" 1995 | }, 1996 | "peerDependencies": { 1997 | "browserslist": ">= 4.21.0" 1998 | } 1999 | }, 2000 | "node_modules/url": { 2001 | "version": "0.11.0", 2002 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 2003 | "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", 2004 | "dependencies": { 2005 | "punycode": "1.3.2", 2006 | "querystring": "0.2.0" 2007 | } 2008 | }, 2009 | "node_modules/util-deprecate": { 2010 | "version": "1.0.2", 2011 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2012 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 2013 | }, 2014 | "node_modules/xtend": { 2015 | "version": "4.0.2", 2016 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 2017 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 2018 | "engines": { 2019 | "node": ">=0.4" 2020 | } 2021 | }, 2022 | "node_modules/yaml": { 2023 | "version": "1.10.2", 2024 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2025 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 2026 | "engines": { 2027 | "node": ">= 6" 2028 | } 2029 | } 2030 | }, 2031 | "dependencies": { 2032 | "@nodelib/fs.scandir": { 2033 | "version": "2.1.5", 2034 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 2035 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 2036 | "requires": { 2037 | "@nodelib/fs.stat": "2.0.5", 2038 | "run-parallel": "^1.1.9" 2039 | } 2040 | }, 2041 | "@nodelib/fs.stat": { 2042 | "version": "2.0.5", 2043 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 2044 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" 2045 | }, 2046 | "@nodelib/fs.walk": { 2047 | "version": "1.2.8", 2048 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 2049 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 2050 | "requires": { 2051 | "@nodelib/fs.scandir": "2.1.5", 2052 | "fastq": "^1.6.0" 2053 | } 2054 | }, 2055 | "@trysound/sax": { 2056 | "version": "0.2.0", 2057 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", 2058 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" 2059 | }, 2060 | "acorn": { 2061 | "version": "7.4.1", 2062 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 2063 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" 2064 | }, 2065 | "acorn-node": { 2066 | "version": "1.8.2", 2067 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 2068 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 2069 | "requires": { 2070 | "acorn": "^7.0.0", 2071 | "acorn-walk": "^7.0.0", 2072 | "xtend": "^4.0.2" 2073 | } 2074 | }, 2075 | "acorn-walk": { 2076 | "version": "7.2.0", 2077 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 2078 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" 2079 | }, 2080 | "anymatch": { 2081 | "version": "3.1.2", 2082 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 2083 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 2084 | "requires": { 2085 | "normalize-path": "^3.0.0", 2086 | "picomatch": "^2.0.4" 2087 | } 2088 | }, 2089 | "arg": { 2090 | "version": "5.0.2", 2091 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 2092 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" 2093 | }, 2094 | "asn1.js": { 2095 | "version": "5.4.1", 2096 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", 2097 | "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", 2098 | "requires": { 2099 | "bn.js": "^4.0.0", 2100 | "inherits": "^2.0.1", 2101 | "minimalistic-assert": "^1.0.0", 2102 | "safer-buffer": "^2.1.0" 2103 | }, 2104 | "dependencies": { 2105 | "bn.js": { 2106 | "version": "4.12.0", 2107 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 2108 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 2109 | } 2110 | } 2111 | }, 2112 | "autoprefixer": { 2113 | "version": "10.4.13", 2114 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", 2115 | "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", 2116 | "requires": { 2117 | "browserslist": "^4.21.4", 2118 | "caniuse-lite": "^1.0.30001426", 2119 | "fraction.js": "^4.2.0", 2120 | "normalize-range": "^0.1.2", 2121 | "picocolors": "^1.0.0", 2122 | "postcss-value-parser": "^4.2.0" 2123 | } 2124 | }, 2125 | "binary-extensions": { 2126 | "version": "2.2.0", 2127 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 2128 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" 2129 | }, 2130 | "bn.js": { 2131 | "version": "5.2.1", 2132 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", 2133 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" 2134 | }, 2135 | "boolbase": { 2136 | "version": "1.0.0", 2137 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 2138 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" 2139 | }, 2140 | "braces": { 2141 | "version": "3.0.2", 2142 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2143 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2144 | "requires": { 2145 | "fill-range": "^7.0.1" 2146 | } 2147 | }, 2148 | "brorand": { 2149 | "version": "1.1.0", 2150 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 2151 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" 2152 | }, 2153 | "browserify-aes": { 2154 | "version": "1.2.0", 2155 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 2156 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 2157 | "requires": { 2158 | "buffer-xor": "^1.0.3", 2159 | "cipher-base": "^1.0.0", 2160 | "create-hash": "^1.1.0", 2161 | "evp_bytestokey": "^1.0.3", 2162 | "inherits": "^2.0.1", 2163 | "safe-buffer": "^5.0.1" 2164 | } 2165 | }, 2166 | "browserify-cipher": { 2167 | "version": "1.0.1", 2168 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", 2169 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", 2170 | "requires": { 2171 | "browserify-aes": "^1.0.4", 2172 | "browserify-des": "^1.0.0", 2173 | "evp_bytestokey": "^1.0.0" 2174 | } 2175 | }, 2176 | "browserify-des": { 2177 | "version": "1.0.2", 2178 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", 2179 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", 2180 | "requires": { 2181 | "cipher-base": "^1.0.1", 2182 | "des.js": "^1.0.0", 2183 | "inherits": "^2.0.1", 2184 | "safe-buffer": "^5.1.2" 2185 | } 2186 | }, 2187 | "browserify-rsa": { 2188 | "version": "4.1.0", 2189 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", 2190 | "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", 2191 | "requires": { 2192 | "bn.js": "^5.0.0", 2193 | "randombytes": "^2.0.1" 2194 | } 2195 | }, 2196 | "browserify-sign": { 2197 | "version": "4.2.1", 2198 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", 2199 | "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", 2200 | "requires": { 2201 | "bn.js": "^5.1.1", 2202 | "browserify-rsa": "^4.0.1", 2203 | "create-hash": "^1.2.0", 2204 | "create-hmac": "^1.1.7", 2205 | "elliptic": "^6.5.3", 2206 | "inherits": "^2.0.4", 2207 | "parse-asn1": "^5.1.5", 2208 | "readable-stream": "^3.6.0", 2209 | "safe-buffer": "^5.2.0" 2210 | } 2211 | }, 2212 | "browserslist": { 2213 | "version": "4.21.4", 2214 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", 2215 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", 2216 | "requires": { 2217 | "caniuse-lite": "^1.0.30001400", 2218 | "electron-to-chromium": "^1.4.251", 2219 | "node-releases": "^2.0.6", 2220 | "update-browserslist-db": "^1.0.9" 2221 | } 2222 | }, 2223 | "buffer-xor": { 2224 | "version": "1.0.3", 2225 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 2226 | "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" 2227 | }, 2228 | "camelcase-css": { 2229 | "version": "2.0.1", 2230 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 2231 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" 2232 | }, 2233 | "caniuse-api": { 2234 | "version": "3.0.0", 2235 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", 2236 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", 2237 | "requires": { 2238 | "browserslist": "^4.0.0", 2239 | "caniuse-lite": "^1.0.0", 2240 | "lodash.memoize": "^4.1.2", 2241 | "lodash.uniq": "^4.5.0" 2242 | } 2243 | }, 2244 | "caniuse-lite": { 2245 | "version": "1.0.30001431", 2246 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", 2247 | "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==" 2248 | }, 2249 | "chokidar": { 2250 | "version": "3.5.3", 2251 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 2252 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 2253 | "requires": { 2254 | "anymatch": "~3.1.2", 2255 | "braces": "~3.0.2", 2256 | "fsevents": "~2.3.2", 2257 | "glob-parent": "~5.1.2", 2258 | "is-binary-path": "~2.1.0", 2259 | "is-glob": "~4.0.1", 2260 | "normalize-path": "~3.0.0", 2261 | "readdirp": "~3.6.0" 2262 | }, 2263 | "dependencies": { 2264 | "glob-parent": { 2265 | "version": "5.1.2", 2266 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2267 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2268 | "requires": { 2269 | "is-glob": "^4.0.1" 2270 | } 2271 | } 2272 | } 2273 | }, 2274 | "cipher-base": { 2275 | "version": "1.0.4", 2276 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 2277 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 2278 | "requires": { 2279 | "inherits": "^2.0.1", 2280 | "safe-buffer": "^5.0.1" 2281 | } 2282 | }, 2283 | "color-name": { 2284 | "version": "1.1.4", 2285 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2286 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 2287 | }, 2288 | "colord": { 2289 | "version": "2.9.3", 2290 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", 2291 | "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" 2292 | }, 2293 | "commander": { 2294 | "version": "7.2.0", 2295 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 2296 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" 2297 | }, 2298 | "create-ecdh": { 2299 | "version": "4.0.4", 2300 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", 2301 | "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", 2302 | "requires": { 2303 | "bn.js": "^4.1.0", 2304 | "elliptic": "^6.5.3" 2305 | }, 2306 | "dependencies": { 2307 | "bn.js": { 2308 | "version": "4.12.0", 2309 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 2310 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 2311 | } 2312 | } 2313 | }, 2314 | "create-hash": { 2315 | "version": "1.2.0", 2316 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 2317 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 2318 | "requires": { 2319 | "cipher-base": "^1.0.1", 2320 | "inherits": "^2.0.1", 2321 | "md5.js": "^1.3.4", 2322 | "ripemd160": "^2.0.1", 2323 | "sha.js": "^2.4.0" 2324 | } 2325 | }, 2326 | "create-hmac": { 2327 | "version": "1.1.7", 2328 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 2329 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 2330 | "requires": { 2331 | "cipher-base": "^1.0.3", 2332 | "create-hash": "^1.1.0", 2333 | "inherits": "^2.0.1", 2334 | "ripemd160": "^2.0.0", 2335 | "safe-buffer": "^5.0.1", 2336 | "sha.js": "^2.4.8" 2337 | } 2338 | }, 2339 | "crypto-browserify": { 2340 | "version": "3.12.0", 2341 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", 2342 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", 2343 | "requires": { 2344 | "browserify-cipher": "^1.0.0", 2345 | "browserify-sign": "^4.0.0", 2346 | "create-ecdh": "^4.0.0", 2347 | "create-hash": "^1.1.0", 2348 | "create-hmac": "^1.1.0", 2349 | "diffie-hellman": "^5.0.0", 2350 | "inherits": "^2.0.1", 2351 | "pbkdf2": "^3.0.3", 2352 | "public-encrypt": "^4.0.0", 2353 | "randombytes": "^2.0.0", 2354 | "randomfill": "^1.0.3" 2355 | } 2356 | }, 2357 | "css-declaration-sorter": { 2358 | "version": "6.3.1", 2359 | "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", 2360 | "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", 2361 | "requires": {} 2362 | }, 2363 | "css-select": { 2364 | "version": "4.3.0", 2365 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", 2366 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", 2367 | "requires": { 2368 | "boolbase": "^1.0.0", 2369 | "css-what": "^6.0.1", 2370 | "domhandler": "^4.3.1", 2371 | "domutils": "^2.8.0", 2372 | "nth-check": "^2.0.1" 2373 | } 2374 | }, 2375 | "css-tree": { 2376 | "version": "1.1.3", 2377 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", 2378 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 2379 | "requires": { 2380 | "mdn-data": "2.0.14", 2381 | "source-map": "^0.6.1" 2382 | } 2383 | }, 2384 | "css-what": { 2385 | "version": "6.1.0", 2386 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 2387 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" 2388 | }, 2389 | "cssesc": { 2390 | "version": "3.0.0", 2391 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 2392 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" 2393 | }, 2394 | "cssnano": { 2395 | "version": "5.1.14", 2396 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", 2397 | "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", 2398 | "requires": { 2399 | "cssnano-preset-default": "^5.2.13", 2400 | "lilconfig": "^2.0.3", 2401 | "yaml": "^1.10.2" 2402 | } 2403 | }, 2404 | "cssnano-preset-default": { 2405 | "version": "5.2.13", 2406 | "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", 2407 | "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", 2408 | "requires": { 2409 | "css-declaration-sorter": "^6.3.1", 2410 | "cssnano-utils": "^3.1.0", 2411 | "postcss-calc": "^8.2.3", 2412 | "postcss-colormin": "^5.3.0", 2413 | "postcss-convert-values": "^5.1.3", 2414 | "postcss-discard-comments": "^5.1.2", 2415 | "postcss-discard-duplicates": "^5.1.0", 2416 | "postcss-discard-empty": "^5.1.1", 2417 | "postcss-discard-overridden": "^5.1.0", 2418 | "postcss-merge-longhand": "^5.1.7", 2419 | "postcss-merge-rules": "^5.1.3", 2420 | "postcss-minify-font-values": "^5.1.0", 2421 | "postcss-minify-gradients": "^5.1.1", 2422 | "postcss-minify-params": "^5.1.4", 2423 | "postcss-minify-selectors": "^5.2.1", 2424 | "postcss-normalize-charset": "^5.1.0", 2425 | "postcss-normalize-display-values": "^5.1.0", 2426 | "postcss-normalize-positions": "^5.1.1", 2427 | "postcss-normalize-repeat-style": "^5.1.1", 2428 | "postcss-normalize-string": "^5.1.0", 2429 | "postcss-normalize-timing-functions": "^5.1.0", 2430 | "postcss-normalize-unicode": "^5.1.1", 2431 | "postcss-normalize-url": "^5.1.0", 2432 | "postcss-normalize-whitespace": "^5.1.1", 2433 | "postcss-ordered-values": "^5.1.3", 2434 | "postcss-reduce-initial": "^5.1.1", 2435 | "postcss-reduce-transforms": "^5.1.0", 2436 | "postcss-svgo": "^5.1.0", 2437 | "postcss-unique-selectors": "^5.1.1" 2438 | } 2439 | }, 2440 | "cssnano-utils": { 2441 | "version": "3.1.0", 2442 | "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", 2443 | "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", 2444 | "requires": {} 2445 | }, 2446 | "csso": { 2447 | "version": "4.2.0", 2448 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", 2449 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", 2450 | "requires": { 2451 | "css-tree": "^1.1.2" 2452 | } 2453 | }, 2454 | "defined": { 2455 | "version": "1.0.1", 2456 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", 2457 | "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" 2458 | }, 2459 | "des.js": { 2460 | "version": "1.0.1", 2461 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", 2462 | "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", 2463 | "requires": { 2464 | "inherits": "^2.0.1", 2465 | "minimalistic-assert": "^1.0.0" 2466 | } 2467 | }, 2468 | "detective": { 2469 | "version": "5.2.1", 2470 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", 2471 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", 2472 | "requires": { 2473 | "acorn-node": "^1.8.2", 2474 | "defined": "^1.0.0", 2475 | "minimist": "^1.2.6" 2476 | } 2477 | }, 2478 | "didyoumean": { 2479 | "version": "1.2.2", 2480 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 2481 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 2482 | }, 2483 | "diffie-hellman": { 2484 | "version": "5.0.3", 2485 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 2486 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", 2487 | "requires": { 2488 | "bn.js": "^4.1.0", 2489 | "miller-rabin": "^4.0.0", 2490 | "randombytes": "^2.0.0" 2491 | }, 2492 | "dependencies": { 2493 | "bn.js": { 2494 | "version": "4.12.0", 2495 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 2496 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 2497 | } 2498 | } 2499 | }, 2500 | "dlv": { 2501 | "version": "1.1.3", 2502 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 2503 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 2504 | }, 2505 | "dom-serializer": { 2506 | "version": "1.4.1", 2507 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", 2508 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", 2509 | "requires": { 2510 | "domelementtype": "^2.0.1", 2511 | "domhandler": "^4.2.0", 2512 | "entities": "^2.0.0" 2513 | } 2514 | }, 2515 | "domelementtype": { 2516 | "version": "2.3.0", 2517 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 2518 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" 2519 | }, 2520 | "domhandler": { 2521 | "version": "4.3.1", 2522 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", 2523 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 2524 | "requires": { 2525 | "domelementtype": "^2.2.0" 2526 | } 2527 | }, 2528 | "domutils": { 2529 | "version": "2.8.0", 2530 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 2531 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 2532 | "requires": { 2533 | "dom-serializer": "^1.0.1", 2534 | "domelementtype": "^2.2.0", 2535 | "domhandler": "^4.2.0" 2536 | } 2537 | }, 2538 | "electron-to-chromium": { 2539 | "version": "1.4.284", 2540 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", 2541 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" 2542 | }, 2543 | "elliptic": { 2544 | "version": "6.5.4", 2545 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", 2546 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", 2547 | "requires": { 2548 | "bn.js": "^4.11.9", 2549 | "brorand": "^1.1.0", 2550 | "hash.js": "^1.0.0", 2551 | "hmac-drbg": "^1.0.1", 2552 | "inherits": "^2.0.4", 2553 | "minimalistic-assert": "^1.0.1", 2554 | "minimalistic-crypto-utils": "^1.0.1" 2555 | }, 2556 | "dependencies": { 2557 | "bn.js": { 2558 | "version": "4.12.0", 2559 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 2560 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 2561 | } 2562 | } 2563 | }, 2564 | "entities": { 2565 | "version": "2.2.0", 2566 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 2567 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" 2568 | }, 2569 | "escalade": { 2570 | "version": "3.1.1", 2571 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 2572 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 2573 | }, 2574 | "evp_bytestokey": { 2575 | "version": "1.0.3", 2576 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 2577 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 2578 | "requires": { 2579 | "md5.js": "^1.3.4", 2580 | "safe-buffer": "^5.1.1" 2581 | } 2582 | }, 2583 | "fast-glob": { 2584 | "version": "3.2.12", 2585 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", 2586 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", 2587 | "requires": { 2588 | "@nodelib/fs.stat": "^2.0.2", 2589 | "@nodelib/fs.walk": "^1.2.3", 2590 | "glob-parent": "^5.1.2", 2591 | "merge2": "^1.3.0", 2592 | "micromatch": "^4.0.4" 2593 | }, 2594 | "dependencies": { 2595 | "glob-parent": { 2596 | "version": "5.1.2", 2597 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2598 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2599 | "requires": { 2600 | "is-glob": "^4.0.1" 2601 | } 2602 | } 2603 | } 2604 | }, 2605 | "fastq": { 2606 | "version": "1.13.0", 2607 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 2608 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 2609 | "requires": { 2610 | "reusify": "^1.0.4" 2611 | } 2612 | }, 2613 | "fill-range": { 2614 | "version": "7.0.1", 2615 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2616 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2617 | "requires": { 2618 | "to-regex-range": "^5.0.1" 2619 | } 2620 | }, 2621 | "fraction.js": { 2622 | "version": "4.2.0", 2623 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 2624 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" 2625 | }, 2626 | "fsevents": { 2627 | "version": "2.3.2", 2628 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2629 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2630 | "optional": true 2631 | }, 2632 | "function-bind": { 2633 | "version": "1.1.1", 2634 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2635 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 2636 | }, 2637 | "glob-parent": { 2638 | "version": "6.0.2", 2639 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2640 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2641 | "requires": { 2642 | "is-glob": "^4.0.3" 2643 | } 2644 | }, 2645 | "has": { 2646 | "version": "1.0.3", 2647 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2648 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2649 | "requires": { 2650 | "function-bind": "^1.1.1" 2651 | } 2652 | }, 2653 | "hash-base": { 2654 | "version": "3.1.0", 2655 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", 2656 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", 2657 | "requires": { 2658 | "inherits": "^2.0.4", 2659 | "readable-stream": "^3.6.0", 2660 | "safe-buffer": "^5.2.0" 2661 | } 2662 | }, 2663 | "hash.js": { 2664 | "version": "1.1.7", 2665 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 2666 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 2667 | "requires": { 2668 | "inherits": "^2.0.3", 2669 | "minimalistic-assert": "^1.0.1" 2670 | } 2671 | }, 2672 | "hmac-drbg": { 2673 | "version": "1.0.1", 2674 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 2675 | "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", 2676 | "requires": { 2677 | "hash.js": "^1.0.3", 2678 | "minimalistic-assert": "^1.0.0", 2679 | "minimalistic-crypto-utils": "^1.0.1" 2680 | } 2681 | }, 2682 | "inherits": { 2683 | "version": "2.0.4", 2684 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2685 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 2686 | }, 2687 | "is-binary-path": { 2688 | "version": "2.1.0", 2689 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2690 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2691 | "requires": { 2692 | "binary-extensions": "^2.0.0" 2693 | } 2694 | }, 2695 | "is-core-module": { 2696 | "version": "2.11.0", 2697 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 2698 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 2699 | "requires": { 2700 | "has": "^1.0.3" 2701 | } 2702 | }, 2703 | "is-extglob": { 2704 | "version": "2.1.1", 2705 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2706 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" 2707 | }, 2708 | "is-glob": { 2709 | "version": "4.0.3", 2710 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2711 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2712 | "requires": { 2713 | "is-extglob": "^2.1.1" 2714 | } 2715 | }, 2716 | "is-number": { 2717 | "version": "7.0.0", 2718 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2719 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 2720 | }, 2721 | "lilconfig": { 2722 | "version": "2.0.6", 2723 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", 2724 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" 2725 | }, 2726 | "lodash.memoize": { 2727 | "version": "4.1.2", 2728 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 2729 | "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" 2730 | }, 2731 | "lodash.uniq": { 2732 | "version": "4.5.0", 2733 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 2734 | "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" 2735 | }, 2736 | "md5.js": { 2737 | "version": "1.3.5", 2738 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 2739 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 2740 | "requires": { 2741 | "hash-base": "^3.0.0", 2742 | "inherits": "^2.0.1", 2743 | "safe-buffer": "^5.1.2" 2744 | } 2745 | }, 2746 | "mdn-data": { 2747 | "version": "2.0.14", 2748 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", 2749 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" 2750 | }, 2751 | "merge2": { 2752 | "version": "1.4.1", 2753 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2754 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" 2755 | }, 2756 | "micromatch": { 2757 | "version": "4.0.5", 2758 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 2759 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 2760 | "requires": { 2761 | "braces": "^3.0.2", 2762 | "picomatch": "^2.3.1" 2763 | } 2764 | }, 2765 | "miller-rabin": { 2766 | "version": "4.0.1", 2767 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 2768 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 2769 | "requires": { 2770 | "bn.js": "^4.0.0", 2771 | "brorand": "^1.0.1" 2772 | }, 2773 | "dependencies": { 2774 | "bn.js": { 2775 | "version": "4.12.0", 2776 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 2777 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 2778 | } 2779 | } 2780 | }, 2781 | "minimalistic-assert": { 2782 | "version": "1.0.1", 2783 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 2784 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 2785 | }, 2786 | "minimalistic-crypto-utils": { 2787 | "version": "1.0.1", 2788 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 2789 | "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" 2790 | }, 2791 | "minimist": { 2792 | "version": "1.2.7", 2793 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 2794 | "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" 2795 | }, 2796 | "nanoid": { 2797 | "version": "3.3.4", 2798 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 2799 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" 2800 | }, 2801 | "node-releases": { 2802 | "version": "2.0.6", 2803 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", 2804 | "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" 2805 | }, 2806 | "normalize-path": { 2807 | "version": "3.0.0", 2808 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2809 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" 2810 | }, 2811 | "normalize-range": { 2812 | "version": "0.1.2", 2813 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2814 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" 2815 | }, 2816 | "normalize-url": { 2817 | "version": "6.1.0", 2818 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 2819 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" 2820 | }, 2821 | "nth-check": { 2822 | "version": "2.1.1", 2823 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 2824 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 2825 | "requires": { 2826 | "boolbase": "^1.0.0" 2827 | } 2828 | }, 2829 | "object-hash": { 2830 | "version": "3.0.0", 2831 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 2832 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" 2833 | }, 2834 | "parse-asn1": { 2835 | "version": "5.1.6", 2836 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", 2837 | "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", 2838 | "requires": { 2839 | "asn1.js": "^5.2.0", 2840 | "browserify-aes": "^1.0.0", 2841 | "evp_bytestokey": "^1.0.0", 2842 | "pbkdf2": "^3.0.3", 2843 | "safe-buffer": "^5.1.1" 2844 | } 2845 | }, 2846 | "path-browserify": { 2847 | "version": "1.0.1", 2848 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 2849 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" 2850 | }, 2851 | "path-parse": { 2852 | "version": "1.0.7", 2853 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2854 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 2855 | }, 2856 | "pbkdf2": { 2857 | "version": "3.1.2", 2858 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", 2859 | "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", 2860 | "requires": { 2861 | "create-hash": "^1.1.2", 2862 | "create-hmac": "^1.1.4", 2863 | "ripemd160": "^2.0.1", 2864 | "safe-buffer": "^5.0.1", 2865 | "sha.js": "^2.4.8" 2866 | } 2867 | }, 2868 | "picocolors": { 2869 | "version": "1.0.0", 2870 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2871 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 2872 | }, 2873 | "picomatch": { 2874 | "version": "2.3.1", 2875 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2876 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" 2877 | }, 2878 | "pify": { 2879 | "version": "2.3.0", 2880 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2881 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" 2882 | }, 2883 | "postcss": { 2884 | "version": "8.4.19", 2885 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", 2886 | "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", 2887 | "requires": { 2888 | "nanoid": "^3.3.4", 2889 | "picocolors": "^1.0.0", 2890 | "source-map-js": "^1.0.2" 2891 | } 2892 | }, 2893 | "postcss-calc": { 2894 | "version": "8.2.4", 2895 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", 2896 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", 2897 | "requires": { 2898 | "postcss-selector-parser": "^6.0.9", 2899 | "postcss-value-parser": "^4.2.0" 2900 | } 2901 | }, 2902 | "postcss-colormin": { 2903 | "version": "5.3.0", 2904 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", 2905 | "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", 2906 | "requires": { 2907 | "browserslist": "^4.16.6", 2908 | "caniuse-api": "^3.0.0", 2909 | "colord": "^2.9.1", 2910 | "postcss-value-parser": "^4.2.0" 2911 | } 2912 | }, 2913 | "postcss-convert-values": { 2914 | "version": "5.1.3", 2915 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", 2916 | "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", 2917 | "requires": { 2918 | "browserslist": "^4.21.4", 2919 | "postcss-value-parser": "^4.2.0" 2920 | } 2921 | }, 2922 | "postcss-discard-comments": { 2923 | "version": "5.1.2", 2924 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", 2925 | "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", 2926 | "requires": {} 2927 | }, 2928 | "postcss-discard-duplicates": { 2929 | "version": "5.1.0", 2930 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", 2931 | "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", 2932 | "requires": {} 2933 | }, 2934 | "postcss-discard-empty": { 2935 | "version": "5.1.1", 2936 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", 2937 | "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", 2938 | "requires": {} 2939 | }, 2940 | "postcss-discard-overridden": { 2941 | "version": "5.1.0", 2942 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", 2943 | "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", 2944 | "requires": {} 2945 | }, 2946 | "postcss-import": { 2947 | "version": "14.1.0", 2948 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", 2949 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", 2950 | "requires": { 2951 | "postcss-value-parser": "^4.0.0", 2952 | "read-cache": "^1.0.0", 2953 | "resolve": "^1.1.7" 2954 | } 2955 | }, 2956 | "postcss-js": { 2957 | "version": "4.0.0", 2958 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 2959 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 2960 | "requires": { 2961 | "camelcase-css": "^2.0.1" 2962 | } 2963 | }, 2964 | "postcss-load-config": { 2965 | "version": "3.1.4", 2966 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 2967 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 2968 | "requires": { 2969 | "lilconfig": "^2.0.5", 2970 | "yaml": "^1.10.2" 2971 | } 2972 | }, 2973 | "postcss-merge-longhand": { 2974 | "version": "5.1.7", 2975 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", 2976 | "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", 2977 | "requires": { 2978 | "postcss-value-parser": "^4.2.0", 2979 | "stylehacks": "^5.1.1" 2980 | } 2981 | }, 2982 | "postcss-merge-rules": { 2983 | "version": "5.1.3", 2984 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", 2985 | "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", 2986 | "requires": { 2987 | "browserslist": "^4.21.4", 2988 | "caniuse-api": "^3.0.0", 2989 | "cssnano-utils": "^3.1.0", 2990 | "postcss-selector-parser": "^6.0.5" 2991 | } 2992 | }, 2993 | "postcss-minify-font-values": { 2994 | "version": "5.1.0", 2995 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", 2996 | "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", 2997 | "requires": { 2998 | "postcss-value-parser": "^4.2.0" 2999 | } 3000 | }, 3001 | "postcss-minify-gradients": { 3002 | "version": "5.1.1", 3003 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", 3004 | "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", 3005 | "requires": { 3006 | "colord": "^2.9.1", 3007 | "cssnano-utils": "^3.1.0", 3008 | "postcss-value-parser": "^4.2.0" 3009 | } 3010 | }, 3011 | "postcss-minify-params": { 3012 | "version": "5.1.4", 3013 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", 3014 | "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", 3015 | "requires": { 3016 | "browserslist": "^4.21.4", 3017 | "cssnano-utils": "^3.1.0", 3018 | "postcss-value-parser": "^4.2.0" 3019 | } 3020 | }, 3021 | "postcss-minify-selectors": { 3022 | "version": "5.2.1", 3023 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", 3024 | "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", 3025 | "requires": { 3026 | "postcss-selector-parser": "^6.0.5" 3027 | } 3028 | }, 3029 | "postcss-nested": { 3030 | "version": "6.0.0", 3031 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", 3032 | "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", 3033 | "requires": { 3034 | "postcss-selector-parser": "^6.0.10" 3035 | } 3036 | }, 3037 | "postcss-normalize-charset": { 3038 | "version": "5.1.0", 3039 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", 3040 | "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", 3041 | "requires": {} 3042 | }, 3043 | "postcss-normalize-display-values": { 3044 | "version": "5.1.0", 3045 | "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", 3046 | "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", 3047 | "requires": { 3048 | "postcss-value-parser": "^4.2.0" 3049 | } 3050 | }, 3051 | "postcss-normalize-positions": { 3052 | "version": "5.1.1", 3053 | "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", 3054 | "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", 3055 | "requires": { 3056 | "postcss-value-parser": "^4.2.0" 3057 | } 3058 | }, 3059 | "postcss-normalize-repeat-style": { 3060 | "version": "5.1.1", 3061 | "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", 3062 | "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", 3063 | "requires": { 3064 | "postcss-value-parser": "^4.2.0" 3065 | } 3066 | }, 3067 | "postcss-normalize-string": { 3068 | "version": "5.1.0", 3069 | "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", 3070 | "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", 3071 | "requires": { 3072 | "postcss-value-parser": "^4.2.0" 3073 | } 3074 | }, 3075 | "postcss-normalize-timing-functions": { 3076 | "version": "5.1.0", 3077 | "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", 3078 | "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", 3079 | "requires": { 3080 | "postcss-value-parser": "^4.2.0" 3081 | } 3082 | }, 3083 | "postcss-normalize-unicode": { 3084 | "version": "5.1.1", 3085 | "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", 3086 | "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", 3087 | "requires": { 3088 | "browserslist": "^4.21.4", 3089 | "postcss-value-parser": "^4.2.0" 3090 | } 3091 | }, 3092 | "postcss-normalize-url": { 3093 | "version": "5.1.0", 3094 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", 3095 | "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", 3096 | "requires": { 3097 | "normalize-url": "^6.0.1", 3098 | "postcss-value-parser": "^4.2.0" 3099 | } 3100 | }, 3101 | "postcss-normalize-whitespace": { 3102 | "version": "5.1.1", 3103 | "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", 3104 | "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", 3105 | "requires": { 3106 | "postcss-value-parser": "^4.2.0" 3107 | } 3108 | }, 3109 | "postcss-ordered-values": { 3110 | "version": "5.1.3", 3111 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", 3112 | "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", 3113 | "requires": { 3114 | "cssnano-utils": "^3.1.0", 3115 | "postcss-value-parser": "^4.2.0" 3116 | } 3117 | }, 3118 | "postcss-reduce-initial": { 3119 | "version": "5.1.1", 3120 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", 3121 | "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", 3122 | "requires": { 3123 | "browserslist": "^4.21.4", 3124 | "caniuse-api": "^3.0.0" 3125 | } 3126 | }, 3127 | "postcss-reduce-transforms": { 3128 | "version": "5.1.0", 3129 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", 3130 | "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", 3131 | "requires": { 3132 | "postcss-value-parser": "^4.2.0" 3133 | } 3134 | }, 3135 | "postcss-selector-parser": { 3136 | "version": "6.0.10", 3137 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 3138 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 3139 | "requires": { 3140 | "cssesc": "^3.0.0", 3141 | "util-deprecate": "^1.0.2" 3142 | } 3143 | }, 3144 | "postcss-svgo": { 3145 | "version": "5.1.0", 3146 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", 3147 | "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", 3148 | "requires": { 3149 | "postcss-value-parser": "^4.2.0", 3150 | "svgo": "^2.7.0" 3151 | } 3152 | }, 3153 | "postcss-unique-selectors": { 3154 | "version": "5.1.1", 3155 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", 3156 | "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", 3157 | "requires": { 3158 | "postcss-selector-parser": "^6.0.5" 3159 | } 3160 | }, 3161 | "postcss-value-parser": { 3162 | "version": "4.2.0", 3163 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 3164 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 3165 | }, 3166 | "public-encrypt": { 3167 | "version": "4.0.3", 3168 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", 3169 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", 3170 | "requires": { 3171 | "bn.js": "^4.1.0", 3172 | "browserify-rsa": "^4.0.0", 3173 | "create-hash": "^1.1.0", 3174 | "parse-asn1": "^5.0.0", 3175 | "randombytes": "^2.0.1", 3176 | "safe-buffer": "^5.1.2" 3177 | }, 3178 | "dependencies": { 3179 | "bn.js": { 3180 | "version": "4.12.0", 3181 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 3182 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 3183 | } 3184 | } 3185 | }, 3186 | "punycode": { 3187 | "version": "1.3.2", 3188 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 3189 | "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" 3190 | }, 3191 | "querystring": { 3192 | "version": "0.2.0", 3193 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 3194 | "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" 3195 | }, 3196 | "queue-microtask": { 3197 | "version": "1.2.3", 3198 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3199 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 3200 | }, 3201 | "quick-lru": { 3202 | "version": "5.1.1", 3203 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 3204 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" 3205 | }, 3206 | "randombytes": { 3207 | "version": "2.1.0", 3208 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 3209 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 3210 | "requires": { 3211 | "safe-buffer": "^5.1.0" 3212 | } 3213 | }, 3214 | "randomfill": { 3215 | "version": "1.0.4", 3216 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 3217 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 3218 | "requires": { 3219 | "randombytes": "^2.0.5", 3220 | "safe-buffer": "^5.1.0" 3221 | } 3222 | }, 3223 | "read-cache": { 3224 | "version": "1.0.0", 3225 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 3226 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 3227 | "requires": { 3228 | "pify": "^2.3.0" 3229 | } 3230 | }, 3231 | "readable-stream": { 3232 | "version": "3.6.0", 3233 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 3234 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 3235 | "requires": { 3236 | "inherits": "^2.0.3", 3237 | "string_decoder": "^1.1.1", 3238 | "util-deprecate": "^1.0.1" 3239 | } 3240 | }, 3241 | "readdirp": { 3242 | "version": "3.6.0", 3243 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3244 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3245 | "requires": { 3246 | "picomatch": "^2.2.1" 3247 | } 3248 | }, 3249 | "resolve": { 3250 | "version": "1.22.1", 3251 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 3252 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 3253 | "requires": { 3254 | "is-core-module": "^2.9.0", 3255 | "path-parse": "^1.0.7", 3256 | "supports-preserve-symlinks-flag": "^1.0.0" 3257 | } 3258 | }, 3259 | "reusify": { 3260 | "version": "1.0.4", 3261 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3262 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" 3263 | }, 3264 | "ripemd160": { 3265 | "version": "2.0.2", 3266 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 3267 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 3268 | "requires": { 3269 | "hash-base": "^3.0.0", 3270 | "inherits": "^2.0.1" 3271 | } 3272 | }, 3273 | "run-parallel": { 3274 | "version": "1.2.0", 3275 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3276 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3277 | "requires": { 3278 | "queue-microtask": "^1.2.2" 3279 | } 3280 | }, 3281 | "safe-buffer": { 3282 | "version": "5.2.1", 3283 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 3284 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 3285 | }, 3286 | "safer-buffer": { 3287 | "version": "2.1.2", 3288 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3289 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 3290 | }, 3291 | "sha.js": { 3292 | "version": "2.4.11", 3293 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 3294 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 3295 | "requires": { 3296 | "inherits": "^2.0.1", 3297 | "safe-buffer": "^5.0.1" 3298 | } 3299 | }, 3300 | "source-map": { 3301 | "version": "0.6.1", 3302 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3303 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 3304 | }, 3305 | "source-map-js": { 3306 | "version": "1.0.2", 3307 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3308 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 3309 | }, 3310 | "stable": { 3311 | "version": "0.1.8", 3312 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", 3313 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" 3314 | }, 3315 | "string_decoder": { 3316 | "version": "1.3.0", 3317 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 3318 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 3319 | "requires": { 3320 | "safe-buffer": "~5.2.0" 3321 | } 3322 | }, 3323 | "stylehacks": { 3324 | "version": "5.1.1", 3325 | "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", 3326 | "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", 3327 | "requires": { 3328 | "browserslist": "^4.21.4", 3329 | "postcss-selector-parser": "^6.0.4" 3330 | } 3331 | }, 3332 | "supports-preserve-symlinks-flag": { 3333 | "version": "1.0.0", 3334 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3335 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" 3336 | }, 3337 | "svgo": { 3338 | "version": "2.8.0", 3339 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", 3340 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", 3341 | "requires": { 3342 | "@trysound/sax": "0.2.0", 3343 | "commander": "^7.2.0", 3344 | "css-select": "^4.1.3", 3345 | "css-tree": "^1.1.3", 3346 | "csso": "^4.2.0", 3347 | "picocolors": "^1.0.0", 3348 | "stable": "^0.1.8" 3349 | } 3350 | }, 3351 | "tailwindcss": { 3352 | "version": "3.2.4", 3353 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", 3354 | "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", 3355 | "requires": { 3356 | "arg": "^5.0.2", 3357 | "chokidar": "^3.5.3", 3358 | "color-name": "^1.1.4", 3359 | "detective": "^5.2.1", 3360 | "didyoumean": "^1.2.2", 3361 | "dlv": "^1.1.3", 3362 | "fast-glob": "^3.2.12", 3363 | "glob-parent": "^6.0.2", 3364 | "is-glob": "^4.0.3", 3365 | "lilconfig": "^2.0.6", 3366 | "micromatch": "^4.0.5", 3367 | "normalize-path": "^3.0.0", 3368 | "object-hash": "^3.0.0", 3369 | "picocolors": "^1.0.0", 3370 | "postcss": "^8.4.18", 3371 | "postcss-import": "^14.1.0", 3372 | "postcss-js": "^4.0.0", 3373 | "postcss-load-config": "^3.1.4", 3374 | "postcss-nested": "6.0.0", 3375 | "postcss-selector-parser": "^6.0.10", 3376 | "postcss-value-parser": "^4.2.0", 3377 | "quick-lru": "^5.1.1", 3378 | "resolve": "^1.22.1" 3379 | } 3380 | }, 3381 | "to-regex-range": { 3382 | "version": "5.0.1", 3383 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3384 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3385 | "requires": { 3386 | "is-number": "^7.0.0" 3387 | } 3388 | }, 3389 | "typescript": { 3390 | "version": "4.8.4", 3391 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", 3392 | "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", 3393 | "dev": true 3394 | }, 3395 | "update-browserslist-db": { 3396 | "version": "1.0.10", 3397 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 3398 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 3399 | "requires": { 3400 | "escalade": "^3.1.1", 3401 | "picocolors": "^1.0.0" 3402 | } 3403 | }, 3404 | "url": { 3405 | "version": "0.11.0", 3406 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 3407 | "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", 3408 | "requires": { 3409 | "punycode": "1.3.2", 3410 | "querystring": "0.2.0" 3411 | } 3412 | }, 3413 | "util-deprecate": { 3414 | "version": "1.0.2", 3415 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3416 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 3417 | }, 3418 | "xtend": { 3419 | "version": "4.0.2", 3420 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 3421 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" 3422 | }, 3423 | "yaml": { 3424 | "version": "1.10.2", 3425 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 3426 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" 3427 | } 3428 | } 3429 | } 3430 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "autoprefixer": "10.4.13", 4 | "crypto-browserify": "3.12.0", 5 | "cssnano": "5.1.14", 6 | "path-browserify": "1.0.1", 7 | "postcss": "8.4.19", 8 | "resolve": "1.22.1", 9 | "tailwindcss": "3.2.4", 10 | "url": "0.11.0" 11 | }, 12 | "devDependencies": { 13 | "typescript": "4.8.4" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tailwind.go: -------------------------------------------------------------------------------- 1 | package tailwind 2 | 3 | import ( 4 | "context" 5 | _ "embed" 6 | "fmt" 7 | "path" 8 | 9 | "github.com/livebud/js" 10 | ) 11 | 12 | //go:generate go run github.com/evanw/esbuild/cmd/esbuild tailwind.ts --platform=neutral --format=iife --global-name=tailwind --bundle --inject:inject.ts --outfile=asset/tailwind.js --log-level=warning --main-fields=browser,module,main --loader:.css=text --minify 13 | 14 | //go:embed asset/tailwind.js 15 | var tailwindjs string 16 | 17 | func New(vm js.VM) *Processor { 18 | _, err := vm.Evaluate(context.Background(), "asset/tailwind.js", tailwindjs) 19 | if err != nil { 20 | panic(err) 21 | } 22 | return &Processor{vm} 23 | } 24 | 25 | type Processor struct { 26 | vm js.VM 27 | } 28 | 29 | func (p *Processor) Process(ctx context.Context, name, src string) (css string, err error) { 30 | expr := fmt.Sprintf(`tailwind.process({ 31 | content: [{ 32 | extension: %q, 33 | raw: %q, 34 | }], 35 | })`, path.Ext(name), src) 36 | css, err = p.vm.Evaluate(ctx, name, expr) 37 | if err != nil { 38 | return "", fmt.Errorf("tailwind: %w", err) 39 | } 40 | return css, nil 41 | } 42 | -------------------------------------------------------------------------------- /tailwind.ts: -------------------------------------------------------------------------------- 1 | import tailwindcss, { Config } from 'tailwindcss' 2 | import autoprefixer from 'autoprefixer' 3 | import postcss from 'postcss' 4 | import cssnano from 'cssnano' 5 | 6 | export function process(config: Config): Promise { 7 | return postcss( 8 | tailwindcss(config), 9 | autoprefixer({ 10 | overrideBrowserslist: ["defaults"] 11 | }), 12 | cssnano() 13 | ).process(` 14 | @tailwind base; 15 | @tailwind components; 16 | @tailwind utilities; 17 | `, { 18 | from: undefined, 19 | }).then(result => { 20 | return result.css 21 | }) 22 | } 23 | -------------------------------------------------------------------------------- /tailwind_test.go: -------------------------------------------------------------------------------- 1 | package tailwind_test 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "os" 7 | "strings" 8 | "testing" 9 | 10 | "github.com/livebud/js" 11 | v8 "github.com/livebud/js/v8" 12 | "github.com/livebud/tailwind" 13 | "github.com/matryer/is" 14 | ) 15 | 16 | type Test struct { 17 | Path string 18 | Input string 19 | Contains []string 20 | Error string 21 | } 22 | 23 | func runTest(test Test) error { 24 | ctx := context.Background() 25 | vm, err := v8.Load(&js.Console{ 26 | Log: os.Stdout, 27 | Error: os.Stderr, 28 | }) 29 | if err != nil { 30 | if err.Error() == test.Error { 31 | return nil 32 | } 33 | return fmt.Errorf("v8: load error: %w", err) 34 | } 35 | defer vm.Close() 36 | processor := tailwind.New(vm) 37 | css, err := processor.Process(ctx, test.Path, test.Input) 38 | if err != nil { 39 | if err.Error() == test.Error { 40 | return nil 41 | } 42 | return fmt.Errorf("tailwind: process error: %w", err) 43 | } 44 | for _, contain := range test.Contains { 45 | if !strings.Contains(css, contain) { 46 | return fmt.Errorf("tailwind: expected result to contain %q.\n\n%q", contain, css) 47 | } 48 | } 49 | return nil 50 | } 51 | 52 | func TestHTML(t *testing.T) { 53 | is := is.New(t) 54 | is.NoErr(runTest(Test{ 55 | Path: "index.html", 56 | Input: ` 57 |

Hello {name}!

58 | `, 59 | Contains: []string{ 60 | // ".bg-\\[url\\(\\/img\\/grid\\.svg\\)\\]{background-image:url(/img/grid.svg)}", 61 | // ".text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}", 62 | // ".hover\\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}", 63 | }, 64 | })) 65 | } 66 | 67 | func TestSvelte(t *testing.T) { 68 | is := is.New(t) 69 | is.NoErr(runTest(Test{ 70 | Path: "index.svelte", 71 | Input: ` 72 | 75 |

Hello {name}!

76 | `, 77 | Contains: []string{ 78 | // ".bg-\\[url\\(\\/img\\/grid\\.svg\\)\\]{background-image:url(/img/grid.svg)}", 79 | // ".text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}", 80 | // ".hover\\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}", 81 | }, 82 | })) 83 | } 84 | -------------------------------------------------------------------------------- /tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | // +build tools 3 | 4 | package tailwind 5 | 6 | import ( 7 | _ "github.com/evanw/esbuild/cmd/esbuild" 8 | ) 9 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["**/*.ts", "main."], 3 | "compilerOptions": { 4 | "target": "esnext", 5 | "moduleResolution": "node", 6 | "baseUrl": "./", 7 | "paths": { 8 | /* Swap V8-compatible alternatives to the Node.js APIs */ 9 | "fs": ["modules/fs"], 10 | "os": ["modules/os"], 11 | "fast-glob": ["modules/fast-glob"], 12 | "glob-parent": ["modules/glob-parent"], 13 | "resolve": ["modules/resolve"], 14 | "crypto": ["modules/crypto"], 15 | "picocolors": ["modules/picocolors"], 16 | "path": ["node_modules/path-browserify"], 17 | "url": ["node_modules/url"] 18 | }, 19 | "esModuleInterop": true, 20 | "forceConsistentCasingInFileNames": true, 21 | "strict": true, 22 | "skipLibCheck": true 23 | } 24 | } 25 | --------------------------------------------------------------------------------