├── .github
└── workflows
│ ├── build-publish.yaml
│ └── codeql-analysis.yml
├── .gitignore
├── .prettierrc.json
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── package.json
├── pm2.json
├── release
├── src
└── app.js
└── yarn.lock
/.github/workflows/build-publish.yaml:
--------------------------------------------------------------------------------
1 | name: Docker build & publish
2 |
3 | on:
4 | pull_request:
5 | push:
6 | branches: [ master ]
7 |
8 | # Allow workflow to be manually run from the GitHub UI
9 | workflow_dispatch:
10 |
11 | jobs:
12 | docker-image:
13 | runs-on: ubuntu-latest
14 |
15 | steps:
16 | - name: Checkout
17 | uses: actions/checkout@v4
18 |
19 | - name: Set up QEMU
20 | uses: docker/setup-qemu-action@v3
21 |
22 | - name: Set up Docker Buildx
23 | uses: docker/setup-buildx-action@v3
24 |
25 | - name: Login to DockerHub
26 | uses: docker/login-action@v3
27 | with:
28 | username: ${{ secrets.DOCKERHUB_USERNAME }}
29 | password: ${{ secrets.DOCKERHUB_TOKEN }}
30 |
31 | - name: Work out tags
32 | id: container
33 | run: |
34 | TAGS=$(cat release | awk '{print "phpdockerio/readability-js-server:latest,phpdockerio/readability-js-server:" $1 ",phpdockerio/readability-js-server:" $2 ",phpdockerio/readability-js-server:" $3}')
35 | echo "tags=${TAGS}" >> $GITHUB_OUTPUT
36 | echo "Docker tags to build: ${TAGS}"
37 |
38 | - name: Check if release version has been bumped
39 | id: release_file_changed
40 | uses: tj-actions/changed-files@v44
41 | with:
42 | files: |
43 | release
44 |
45 | - name: Build & push container image
46 | uses: docker/build-push-action@v6
47 | with:
48 | context: .
49 | platforms: linux/amd64,linux/arm64
50 | push: ${{ github.ref == 'refs/heads/master' && steps.release_file_changed.outputs.any_changed == 'true' }}
51 | pull: true
52 | tags: "${{ steps.container.outputs.tags }}"
53 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | name: "Code Scanning - Action"
2 |
3 | on:
4 | pull_request:
5 | push:
6 | branches: [ master ]
7 | schedule:
8 | - cron: '30 1 * * 0'
9 |
10 | jobs:
11 | CodeQL-Build:
12 | # CodeQL runs on ubuntu-latest, windows-latest, and macos-latest
13 | runs-on: ubuntu-latest
14 |
15 | permissions:
16 | # required for all workflows
17 | security-events: write
18 |
19 | # only required for workflows in private repositories
20 | actions: read
21 | contents: read
22 |
23 | steps:
24 | - name: Checkout repository
25 | uses: actions/checkout@v4
26 |
27 | # Initializes the CodeQL tools for scanning.
28 | - name: Initialize CodeQL
29 | uses: github/codeql-action/init@v3
30 | # Override language selection by uncommenting this and choosing your languages
31 | # with:
32 | # languages: go, javascript, csharp, python, cpp, java, ruby
33 |
34 | # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
35 | # If this step fails, then you should remove it and run the build manually (see below).
36 | - name: Autobuild
37 | uses: github/codeql-action/autobuild@v3
38 |
39 | # ℹ️ Command-line programs to run using the OS shell.
40 | # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
41 |
42 | # ✏️ If the Autobuild fails above, remove it and uncomment the following
43 | # three lines and modify them (or add more) to build your code if your
44 | # project uses a compiled language
45 |
46 | #- run: |
47 | # make bootstrap
48 | # make release
49 |
50 | - name: Perform CodeQL Analysis
51 | uses: github/codeql-action/analyze@v3
52 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | yarn-error.log
3 | credentials.yaml
4 |
5 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:20-alpine
2 |
3 | WORKDIR /application
4 |
5 | RUN yarn global add pm2 \
6 | && yarn cache clean
7 |
8 | ARG RUNTIME_USER=readability
9 |
10 | RUN adduser -D ${RUNTIME_USER}
11 |
12 | RUN mkdir -p /home/${RUNTIME_USER} \
13 | && chown ${RUNTIME_USER}:${RUNTIME_USER} /home/${RUNTIME_USER} \
14 | && chown ${RUNTIME_USER}:${RUNTIME_USER} /application
15 |
16 | USER ${RUNTIME_USER}
17 |
18 | COPY package.json .
19 | COPY yarn.lock .
20 |
21 | RUN yarn install --prod \
22 | && yarn cache clean
23 |
24 | COPY pm2.json .
25 | COPY src src
26 | COPY release .
27 |
28 | CMD [ "pm2-runtime", "start", "pm2.json" ]
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | install:
2 | yarn install
3 |
4 | start:
5 | yarn start
6 |
7 | lint:
8 | yarn prettier -c src/
9 |
10 | lint-fix:
11 | yarn prettier -w src/
12 |
13 | build-container:
14 | docker build -t readability-js . --load
15 |
16 | run-container:
17 | docker run --rm -p3000:3000 readability-js
18 |
19 | example-request:
20 | curl -XPOST http://localhost:3000/ \
21 | -H "Content-Type: application/json" \
22 | -d'{"url": "https://en.wikipedia.org/wiki/Firefox"}' | jq
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://ci.auronconsulting.co.uk/teams/main/pipelines/readability-js-server)
2 |
3 | # Readability JS server
4 |
5 | Mozilla's Readability.js as a service
6 |
7 | # What
8 |
9 | This project packages [Mozilla's Readability JS](https://github.com/mozilla/readability) as an HTTP service that can be
10 | deployed via Docker anywhere.
11 |
12 | # How to query
13 |
14 | There's only one endpoint, which consumes and delivers json. You send in a URL to some page you want content extracted,
15 | you get back a json payload echoing the URL and containing the stripped out content.
16 |
17 | You'll get back [all properties parsed out by Mozilla's Readability](https://github.com/mozilla/readability#parse).
18 |
19 | ```bash
20 | ~ curl -XPOST http://readability-js-server:3000/ \
21 | -H "Content-Type: application/json" \
22 | -d'{"url": "https://en.wikipedia.org/wiki/Firefox"}'
23 | ```
24 |
25 | To which you will receive:
26 | ```
27 | HTTP/1.1 200 OK
28 | X-Powered-By: Express
29 | Content-Type: application/json; charset=utf-8
30 | {
31 | "url": "https://en.wikipedia.org/wiki/Firefox",
32 | "title": "",
33 | "byline": null,
34 | "dir": "ltr",
35 | "content": "
\n\n\n
Mozilla Firefox = 10 and `yarn`.
72 |
73 | Once you clone the repo:
74 | ```bash
75 | ~ yarn install
76 | ~ yarn start
77 | ```
78 |
79 | # Notes
80 | * No configuration required. This might change if the need arises.
81 | * The docker image runs via `pm2` and `node 20` with 5 processes.
82 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "readability-js-server",
3 | "description": "Mozilla's Readability.js as a service",
4 | "author": "Luis Pabon @ phpdocker.io",
5 | "homepage": "https://github.com/phpdocker-io/readability-js-server",
6 | "license": "Apache-2.0",
7 | "dependencies": {
8 | "@mozilla/readability": "^0.5.0",
9 | "axios": "^1.7.2",
10 | "body-parser": "^1.19.0",
11 | "dompurify": "^3.1.5",
12 | "express": "^4.19.2",
13 | "jsdom": "^24.1.0",
14 | "log-timestamp": "^0.3.0"
15 | },
16 | "scripts": {
17 | "start": "nodemon src/app.js"
18 | },
19 | "devDependencies": {
20 | "@types/express": "^4.17.21",
21 | "nodemon": "^3.1.3",
22 | "prettier": "^3.3.2"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/pm2.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Readability server",
3 | "script": "src/app.js",
4 | "instances": "5",
5 | "env": {
6 | "NODE_ENV": "development"
7 | },
8 | "env_production" : {
9 | "NODE_ENV": "production"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/release:
--------------------------------------------------------------------------------
1 | 1.7.2 1.7 1
2 |
--------------------------------------------------------------------------------
/src/app.js:
--------------------------------------------------------------------------------
1 | // Ensure console.log spits out timestamps
2 | require("log-timestamp");
3 |
4 | // Express
5 | const app = require("express")();
6 | const bodyParser = require("body-parser").json();
7 | const port = 3000;
8 |
9 | // HTTP client
10 | const axios = require("axios").default;
11 |
12 | // Readability, dom and dom purify
13 | const { JSDOM } = require("jsdom");
14 | const { Readability } = require("@mozilla/readability");
15 | const createDOMPurify = require("dompurify");
16 | const DOMPurify = createDOMPurify(new JSDOM("").window);
17 |
18 | // Not too happy to allow iframe, but it's the only way to get youtube vids
19 | const domPurifyOptions = {
20 | ADD_TAGS: ["iframe", "video"],
21 | };
22 |
23 | app.get("/", (req, res) => {
24 | return res.status(400).send({
25 | error: 'POST (not GET) JSON, like so: {"url": "https://url/to/whatever"}',
26 | }).end;
27 | });
28 |
29 | app.post("/", bodyParser, (req, res) => {
30 | const url = req.body.url;
31 |
32 | if (url === undefined || url === "") {
33 | return res
34 | .status(400)
35 | .send({
36 | error: 'Send JSON, like so: {"url": "https://url/to/whatever"}',
37 | })
38 | .end();
39 | }
40 |
41 | console.log("Fetching " + url + "...");
42 |
43 | axios
44 | .get(url)
45 | .then((response) => {
46 | const sanitized = DOMPurify.sanitize(response.data, domPurifyOptions);
47 |
48 | const dom = new JSDOM(sanitized, {
49 | url: url,
50 | });
51 |
52 | const parsed = new Readability(dom.window.document).parse();
53 |
54 | console.log("Fetched and parsed " + url + " successfully");
55 |
56 | return res
57 | .status(200)
58 | .send({
59 | url,
60 | ...parsed,
61 | })
62 | .end();
63 | })
64 | .catch((error) => {
65 | return res
66 | .status(500)
67 | .send({
68 | error: "Some weird error fetching the content",
69 | details: error,
70 | })
71 | .end();
72 | });
73 | });
74 |
75 | // Start server and dump current server version
76 | const version = require("fs")
77 | .readFileSync("./release")
78 | .toString()
79 | .split(" ")[0];
80 |
81 | app.listen(port, () =>
82 | console.log(`Readability.js server v${version} listening on port ${port}!`)
83 | );
84 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@mozilla/readability@^0.5.0":
6 | version "0.5.0"
7 | resolved "https://registry.yarnpkg.com/@mozilla/readability/-/readability-0.5.0.tgz#a6d5055bbadd0f329cc3e72089d4f176ed96c1d5"
8 | integrity sha512-Z+CZ3QaosfFaTqvhQsIktyGrjFjSC0Fa4EMph4mqKnWhmyoGICsV/8QK+8HpXut6zV7zwfWwqDmEjtk1Qf6EgQ==
9 |
10 | "@types/body-parser@*":
11 | version "1.19.5"
12 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4"
13 | integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==
14 | dependencies:
15 | "@types/connect" "*"
16 | "@types/node" "*"
17 |
18 | "@types/connect@*":
19 | version "3.4.38"
20 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858"
21 | integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
22 | dependencies:
23 | "@types/node" "*"
24 |
25 | "@types/express-serve-static-core@^4.17.33":
26 | version "4.19.3"
27 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.3.tgz#e469a13e4186c9e1c0418fb17be8bc8ff1b19a7a"
28 | integrity sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==
29 | dependencies:
30 | "@types/node" "*"
31 | "@types/qs" "*"
32 | "@types/range-parser" "*"
33 | "@types/send" "*"
34 |
35 | "@types/express@^4.17.21":
36 | version "4.17.21"
37 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d"
38 | integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==
39 | dependencies:
40 | "@types/body-parser" "*"
41 | "@types/express-serve-static-core" "^4.17.33"
42 | "@types/qs" "*"
43 | "@types/serve-static" "*"
44 |
45 | "@types/http-errors@*":
46 | version "2.0.4"
47 | resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f"
48 | integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==
49 |
50 | "@types/mime@^1":
51 | version "1.3.5"
52 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690"
53 | integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
54 |
55 | "@types/node@*":
56 | version "20.14.5"
57 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.5.tgz#fe35e3022ebe58b8f201580eb24e1fcfc0f2487d"
58 | integrity sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==
59 | dependencies:
60 | undici-types "~5.26.4"
61 |
62 | "@types/qs@*":
63 | version "6.9.15"
64 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce"
65 | integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==
66 |
67 | "@types/range-parser@*":
68 | version "1.2.7"
69 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
70 | integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
71 |
72 | "@types/send@*":
73 | version "0.17.4"
74 | resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a"
75 | integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==
76 | dependencies:
77 | "@types/mime" "^1"
78 | "@types/node" "*"
79 |
80 | "@types/serve-static@*":
81 | version "1.15.7"
82 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714"
83 | integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==
84 | dependencies:
85 | "@types/http-errors" "*"
86 | "@types/node" "*"
87 | "@types/send" "*"
88 |
89 | accepts@~1.3.8:
90 | version "1.3.8"
91 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
92 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
93 | dependencies:
94 | mime-types "~2.1.34"
95 | negotiator "0.6.3"
96 |
97 | agent-base@^7.0.2, agent-base@^7.1.0:
98 | version "7.1.1"
99 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317"
100 | integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==
101 | dependencies:
102 | debug "^4.3.4"
103 |
104 | anymatch@~3.1.2:
105 | version "3.1.3"
106 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
107 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
108 | dependencies:
109 | normalize-path "^3.0.0"
110 | picomatch "^2.0.4"
111 |
112 | array-flatten@1.1.1:
113 | version "1.1.1"
114 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
115 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
116 |
117 | asynckit@^0.4.0:
118 | version "0.4.0"
119 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
120 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
121 |
122 | axios@^1.7.2:
123 | version "1.7.2"
124 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621"
125 | integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==
126 | dependencies:
127 | follow-redirects "^1.15.6"
128 | form-data "^4.0.0"
129 | proxy-from-env "^1.1.0"
130 |
131 | balanced-match@^1.0.0:
132 | version "1.0.2"
133 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
134 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
135 |
136 | binary-extensions@^2.0.0:
137 | version "2.3.0"
138 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
139 | integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
140 |
141 | body-parser@1.20.2, body-parser@^1.19.0:
142 | version "1.20.2"
143 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd"
144 | integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
145 | dependencies:
146 | bytes "3.1.2"
147 | content-type "~1.0.5"
148 | debug "2.6.9"
149 | depd "2.0.0"
150 | destroy "1.2.0"
151 | http-errors "2.0.0"
152 | iconv-lite "0.4.24"
153 | on-finished "2.4.1"
154 | qs "6.11.0"
155 | raw-body "2.5.2"
156 | type-is "~1.6.18"
157 | unpipe "1.0.0"
158 |
159 | brace-expansion@^1.1.7:
160 | version "1.1.11"
161 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
162 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
163 | dependencies:
164 | balanced-match "^1.0.0"
165 | concat-map "0.0.1"
166 |
167 | braces@~3.0.2:
168 | version "3.0.3"
169 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
170 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
171 | dependencies:
172 | fill-range "^7.1.1"
173 |
174 | bytes@3.1.2:
175 | version "3.1.2"
176 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
177 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
178 |
179 | call-bind@^1.0.7:
180 | version "1.0.7"
181 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
182 | integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
183 | dependencies:
184 | es-define-property "^1.0.0"
185 | es-errors "^1.3.0"
186 | function-bind "^1.1.2"
187 | get-intrinsic "^1.2.4"
188 | set-function-length "^1.2.1"
189 |
190 | chokidar@^3.5.2:
191 | version "3.6.0"
192 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
193 | integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
194 | dependencies:
195 | anymatch "~3.1.2"
196 | braces "~3.0.2"
197 | glob-parent "~5.1.2"
198 | is-binary-path "~2.1.0"
199 | is-glob "~4.0.1"
200 | normalize-path "~3.0.0"
201 | readdirp "~3.6.0"
202 | optionalDependencies:
203 | fsevents "~2.3.2"
204 |
205 | combined-stream@^1.0.8:
206 | version "1.0.8"
207 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
208 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
209 | dependencies:
210 | delayed-stream "~1.0.0"
211 |
212 | concat-map@0.0.1:
213 | version "0.0.1"
214 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
215 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
216 |
217 | content-disposition@0.5.4:
218 | version "0.5.4"
219 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
220 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
221 | dependencies:
222 | safe-buffer "5.2.1"
223 |
224 | content-type@~1.0.4, content-type@~1.0.5:
225 | version "1.0.5"
226 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
227 | integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
228 |
229 | cookie-signature@1.0.6:
230 | version "1.0.6"
231 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
232 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
233 |
234 | cookie@0.6.0:
235 | version "0.6.0"
236 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051"
237 | integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
238 |
239 | cssstyle@^4.0.1:
240 | version "4.0.1"
241 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.0.1.tgz#ef29c598a1e90125c870525490ea4f354db0660a"
242 | integrity sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==
243 | dependencies:
244 | rrweb-cssom "^0.6.0"
245 |
246 | data-urls@^5.0.0:
247 | version "5.0.0"
248 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde"
249 | integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==
250 | dependencies:
251 | whatwg-mimetype "^4.0.0"
252 | whatwg-url "^14.0.0"
253 |
254 | debug@2.6.9:
255 | version "2.6.9"
256 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
257 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
258 | dependencies:
259 | ms "2.0.0"
260 |
261 | debug@4, debug@^4, debug@^4.3.4:
262 | version "4.3.5"
263 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e"
264 | integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==
265 | dependencies:
266 | ms "2.1.2"
267 |
268 | decimal.js@^10.4.3:
269 | version "10.4.3"
270 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
271 | integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
272 |
273 | define-data-property@^1.1.4:
274 | version "1.1.4"
275 | resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
276 | integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
277 | dependencies:
278 | es-define-property "^1.0.0"
279 | es-errors "^1.3.0"
280 | gopd "^1.0.1"
281 |
282 | delayed-stream@~1.0.0:
283 | version "1.0.0"
284 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
285 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
286 |
287 | depd@2.0.0:
288 | version "2.0.0"
289 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
290 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
291 |
292 | destroy@1.2.0:
293 | version "1.2.0"
294 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
295 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
296 |
297 | dompurify@^3.1.5:
298 | version "3.1.5"
299 | resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.5.tgz#2c6a113fc728682a0f55684b1388c58ddb79dc38"
300 | integrity sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==
301 |
302 | ee-first@1.1.1:
303 | version "1.1.1"
304 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
305 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
306 |
307 | encodeurl@~1.0.2:
308 | version "1.0.2"
309 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
310 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
311 |
312 | entities@^4.4.0:
313 | version "4.5.0"
314 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
315 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
316 |
317 | es-define-property@^1.0.0:
318 | version "1.0.0"
319 | resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
320 | integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
321 | dependencies:
322 | get-intrinsic "^1.2.4"
323 |
324 | es-errors@^1.3.0:
325 | version "1.3.0"
326 | resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
327 | integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
328 |
329 | escape-html@~1.0.3:
330 | version "1.0.3"
331 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
332 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
333 |
334 | etag@~1.8.1:
335 | version "1.8.1"
336 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
337 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
338 |
339 | express@^4.19.2:
340 | version "4.19.2"
341 | resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465"
342 | integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==
343 | dependencies:
344 | accepts "~1.3.8"
345 | array-flatten "1.1.1"
346 | body-parser "1.20.2"
347 | content-disposition "0.5.4"
348 | content-type "~1.0.4"
349 | cookie "0.6.0"
350 | cookie-signature "1.0.6"
351 | debug "2.6.9"
352 | depd "2.0.0"
353 | encodeurl "~1.0.2"
354 | escape-html "~1.0.3"
355 | etag "~1.8.1"
356 | finalhandler "1.2.0"
357 | fresh "0.5.2"
358 | http-errors "2.0.0"
359 | merge-descriptors "1.0.1"
360 | methods "~1.1.2"
361 | on-finished "2.4.1"
362 | parseurl "~1.3.3"
363 | path-to-regexp "0.1.7"
364 | proxy-addr "~2.0.7"
365 | qs "6.11.0"
366 | range-parser "~1.2.1"
367 | safe-buffer "5.2.1"
368 | send "0.18.0"
369 | serve-static "1.15.0"
370 | setprototypeof "1.2.0"
371 | statuses "2.0.1"
372 | type-is "~1.6.18"
373 | utils-merge "1.0.1"
374 | vary "~1.1.2"
375 |
376 | fill-range@^7.1.1:
377 | version "7.1.1"
378 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
379 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
380 | dependencies:
381 | to-regex-range "^5.0.1"
382 |
383 | finalhandler@1.2.0:
384 | version "1.2.0"
385 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
386 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
387 | dependencies:
388 | debug "2.6.9"
389 | encodeurl "~1.0.2"
390 | escape-html "~1.0.3"
391 | on-finished "2.4.1"
392 | parseurl "~1.3.3"
393 | statuses "2.0.1"
394 | unpipe "~1.0.0"
395 |
396 | follow-redirects@^1.15.6:
397 | version "1.15.6"
398 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
399 | integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
400 |
401 | form-data@^4.0.0:
402 | version "4.0.0"
403 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
404 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
405 | dependencies:
406 | asynckit "^0.4.0"
407 | combined-stream "^1.0.8"
408 | mime-types "^2.1.12"
409 |
410 | forwarded@0.2.0:
411 | version "0.2.0"
412 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
413 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
414 |
415 | fresh@0.5.2:
416 | version "0.5.2"
417 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
418 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
419 |
420 | fsevents@~2.3.2:
421 | version "2.3.3"
422 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
423 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
424 |
425 | function-bind@^1.1.2:
426 | version "1.1.2"
427 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
428 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
429 |
430 | get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
431 | version "1.2.4"
432 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
433 | integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
434 | dependencies:
435 | es-errors "^1.3.0"
436 | function-bind "^1.1.2"
437 | has-proto "^1.0.1"
438 | has-symbols "^1.0.3"
439 | hasown "^2.0.0"
440 |
441 | glob-parent@~5.1.2:
442 | version "5.1.2"
443 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
444 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
445 | dependencies:
446 | is-glob "^4.0.1"
447 |
448 | gopd@^1.0.1:
449 | version "1.0.1"
450 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
451 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
452 | dependencies:
453 | get-intrinsic "^1.1.3"
454 |
455 | has-flag@^3.0.0:
456 | version "3.0.0"
457 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
458 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
459 |
460 | has-property-descriptors@^1.0.2:
461 | version "1.0.2"
462 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
463 | integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
464 | dependencies:
465 | es-define-property "^1.0.0"
466 |
467 | has-proto@^1.0.1:
468 | version "1.0.3"
469 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
470 | integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
471 |
472 | has-symbols@^1.0.3:
473 | version "1.0.3"
474 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
475 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
476 |
477 | hasown@^2.0.0:
478 | version "2.0.2"
479 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
480 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
481 | dependencies:
482 | function-bind "^1.1.2"
483 |
484 | html-encoding-sniffer@^4.0.0:
485 | version "4.0.0"
486 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448"
487 | integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==
488 | dependencies:
489 | whatwg-encoding "^3.1.1"
490 |
491 | http-errors@2.0.0:
492 | version "2.0.0"
493 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
494 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
495 | dependencies:
496 | depd "2.0.0"
497 | inherits "2.0.4"
498 | setprototypeof "1.2.0"
499 | statuses "2.0.1"
500 | toidentifier "1.0.1"
501 |
502 | http-proxy-agent@^7.0.2:
503 | version "7.0.2"
504 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e"
505 | integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==
506 | dependencies:
507 | agent-base "^7.1.0"
508 | debug "^4.3.4"
509 |
510 | https-proxy-agent@^7.0.4:
511 | version "7.0.4"
512 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168"
513 | integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==
514 | dependencies:
515 | agent-base "^7.0.2"
516 | debug "4"
517 |
518 | iconv-lite@0.4.24:
519 | version "0.4.24"
520 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
521 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
522 | dependencies:
523 | safer-buffer ">= 2.1.2 < 3"
524 |
525 | iconv-lite@0.6.3:
526 | version "0.6.3"
527 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
528 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
529 | dependencies:
530 | safer-buffer ">= 2.1.2 < 3.0.0"
531 |
532 | ignore-by-default@^1.0.1:
533 | version "1.0.1"
534 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
535 | integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
536 |
537 | inherits@2.0.4:
538 | version "2.0.4"
539 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
540 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
541 |
542 | ipaddr.js@1.9.1:
543 | version "1.9.1"
544 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
545 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
546 |
547 | is-binary-path@~2.1.0:
548 | version "2.1.0"
549 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
550 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
551 | dependencies:
552 | binary-extensions "^2.0.0"
553 |
554 | is-extglob@^2.1.1:
555 | version "2.1.1"
556 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
557 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
558 |
559 | is-glob@^4.0.1, is-glob@~4.0.1:
560 | version "4.0.3"
561 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
562 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
563 | dependencies:
564 | is-extglob "^2.1.1"
565 |
566 | is-number@^7.0.0:
567 | version "7.0.0"
568 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
569 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
570 |
571 | is-potential-custom-element-name@^1.0.1:
572 | version "1.0.1"
573 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
574 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
575 |
576 | jsdom@^24.1.0:
577 | version "24.1.0"
578 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.1.0.tgz#0cffdabd42c506788bfecd160e8ac22d4387f971"
579 | integrity sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==
580 | dependencies:
581 | cssstyle "^4.0.1"
582 | data-urls "^5.0.0"
583 | decimal.js "^10.4.3"
584 | form-data "^4.0.0"
585 | html-encoding-sniffer "^4.0.0"
586 | http-proxy-agent "^7.0.2"
587 | https-proxy-agent "^7.0.4"
588 | is-potential-custom-element-name "^1.0.1"
589 | nwsapi "^2.2.10"
590 | parse5 "^7.1.2"
591 | rrweb-cssom "^0.7.0"
592 | saxes "^6.0.0"
593 | symbol-tree "^3.2.4"
594 | tough-cookie "^4.1.4"
595 | w3c-xmlserializer "^5.0.0"
596 | webidl-conversions "^7.0.0"
597 | whatwg-encoding "^3.1.1"
598 | whatwg-mimetype "^4.0.0"
599 | whatwg-url "^14.0.0"
600 | ws "^8.17.0"
601 | xml-name-validator "^5.0.0"
602 |
603 | log-prefix@0.1.1:
604 | version "0.1.1"
605 | resolved "https://registry.yarnpkg.com/log-prefix/-/log-prefix-0.1.1.tgz#3ec492138c8044c9f9732298492dca87850cac90"
606 | integrity sha512-aP1Lst8OCdZKATqzXDN0JBissNVZuiKLyo6hOXDBxaQ1jHDsaxh2J1i5Pp0zMy6ayTKDWfUlLMXyLaQe1PJ48g==
607 |
608 | log-timestamp@^0.3.0:
609 | version "0.3.0"
610 | resolved "https://registry.yarnpkg.com/log-timestamp/-/log-timestamp-0.3.0.tgz#2e10f1f0db872674ef3ecf53d6a312840acae45f"
611 | integrity sha512-luRz6soxijd1aJh0GkLXFjKABihxthvTfWTzu3XhCgg5EivG2bsTpSd63QFbUgS+/KmFtL+0RfSpeaD2QvOV8Q==
612 | dependencies:
613 | log-prefix "0.1.1"
614 |
615 | media-typer@0.3.0:
616 | version "0.3.0"
617 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
618 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
619 |
620 | merge-descriptors@1.0.1:
621 | version "1.0.1"
622 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
623 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
624 |
625 | methods@~1.1.2:
626 | version "1.1.2"
627 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
628 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
629 |
630 | mime-db@1.52.0:
631 | version "1.52.0"
632 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
633 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
634 |
635 | mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34:
636 | version "2.1.35"
637 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
638 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
639 | dependencies:
640 | mime-db "1.52.0"
641 |
642 | mime@1.6.0:
643 | version "1.6.0"
644 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
645 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
646 |
647 | minimatch@^3.1.2:
648 | version "3.1.2"
649 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
650 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
651 | dependencies:
652 | brace-expansion "^1.1.7"
653 |
654 | ms@2.0.0:
655 | version "2.0.0"
656 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
657 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
658 |
659 | ms@2.1.2:
660 | version "2.1.2"
661 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
662 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
663 |
664 | ms@2.1.3:
665 | version "2.1.3"
666 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
667 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
668 |
669 | negotiator@0.6.3:
670 | version "0.6.3"
671 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
672 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
673 |
674 | nodemon@^3.1.3:
675 | version "3.1.3"
676 | resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.3.tgz#dcce9ee0aa7d19cd4dcd576ae9a0456d9078b286"
677 | integrity sha512-m4Vqs+APdKzDFpuaL9F9EVOF85+h070FnkHVEoU4+rmT6Vw0bmNl7s61VEkY/cJkL7RCv1p4urnUDUMrS5rk2w==
678 | dependencies:
679 | chokidar "^3.5.2"
680 | debug "^4"
681 | ignore-by-default "^1.0.1"
682 | minimatch "^3.1.2"
683 | pstree.remy "^1.1.8"
684 | semver "^7.5.3"
685 | simple-update-notifier "^2.0.0"
686 | supports-color "^5.5.0"
687 | touch "^3.1.0"
688 | undefsafe "^2.0.5"
689 |
690 | normalize-path@^3.0.0, normalize-path@~3.0.0:
691 | version "3.0.0"
692 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
693 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
694 |
695 | nwsapi@^2.2.10:
696 | version "2.2.10"
697 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.10.tgz#0b77a68e21a0b483db70b11fad055906e867cda8"
698 | integrity sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==
699 |
700 | object-inspect@^1.13.1:
701 | version "1.13.1"
702 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
703 | integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
704 |
705 | on-finished@2.4.1:
706 | version "2.4.1"
707 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
708 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
709 | dependencies:
710 | ee-first "1.1.1"
711 |
712 | parse5@^7.1.2:
713 | version "7.1.2"
714 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
715 | integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
716 | dependencies:
717 | entities "^4.4.0"
718 |
719 | parseurl@~1.3.3:
720 | version "1.3.3"
721 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
722 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
723 |
724 | path-to-regexp@0.1.7:
725 | version "0.1.7"
726 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
727 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
728 |
729 | picomatch@^2.0.4, picomatch@^2.2.1:
730 | version "2.3.1"
731 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
732 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
733 |
734 | prettier@^3.3.2:
735 | version "3.3.2"
736 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a"
737 | integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==
738 |
739 | proxy-addr@~2.0.7:
740 | version "2.0.7"
741 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
742 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
743 | dependencies:
744 | forwarded "0.2.0"
745 | ipaddr.js "1.9.1"
746 |
747 | proxy-from-env@^1.1.0:
748 | version "1.1.0"
749 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
750 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
751 |
752 | psl@^1.1.33:
753 | version "1.9.0"
754 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
755 | integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
756 |
757 | pstree.remy@^1.1.8:
758 | version "1.1.8"
759 | resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
760 | integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
761 |
762 | punycode@^2.1.1, punycode@^2.3.1:
763 | version "2.3.1"
764 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
765 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
766 |
767 | qs@6.11.0:
768 | version "6.11.0"
769 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
770 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
771 | dependencies:
772 | side-channel "^1.0.4"
773 |
774 | querystringify@^2.1.1:
775 | version "2.2.0"
776 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
777 | integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
778 |
779 | range-parser@~1.2.1:
780 | version "1.2.1"
781 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
782 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
783 |
784 | raw-body@2.5.2:
785 | version "2.5.2"
786 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
787 | integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
788 | dependencies:
789 | bytes "3.1.2"
790 | http-errors "2.0.0"
791 | iconv-lite "0.4.24"
792 | unpipe "1.0.0"
793 |
794 | readdirp@~3.6.0:
795 | version "3.6.0"
796 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
797 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
798 | dependencies:
799 | picomatch "^2.2.1"
800 |
801 | requires-port@^1.0.0:
802 | version "1.0.0"
803 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
804 | integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
805 |
806 | rrweb-cssom@^0.6.0:
807 | version "0.6.0"
808 | resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1"
809 | integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==
810 |
811 | rrweb-cssom@^0.7.0:
812 | version "0.7.1"
813 | resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b"
814 | integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==
815 |
816 | safe-buffer@5.2.1:
817 | version "5.2.1"
818 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
819 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
820 |
821 | "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
822 | version "2.1.2"
823 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
824 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
825 |
826 | saxes@^6.0.0:
827 | version "6.0.0"
828 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
829 | integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
830 | dependencies:
831 | xmlchars "^2.2.0"
832 |
833 | semver@^7.5.3:
834 | version "7.6.2"
835 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13"
836 | integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
837 |
838 | send@0.18.0:
839 | version "0.18.0"
840 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
841 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
842 | dependencies:
843 | debug "2.6.9"
844 | depd "2.0.0"
845 | destroy "1.2.0"
846 | encodeurl "~1.0.2"
847 | escape-html "~1.0.3"
848 | etag "~1.8.1"
849 | fresh "0.5.2"
850 | http-errors "2.0.0"
851 | mime "1.6.0"
852 | ms "2.1.3"
853 | on-finished "2.4.1"
854 | range-parser "~1.2.1"
855 | statuses "2.0.1"
856 |
857 | serve-static@1.15.0:
858 | version "1.15.0"
859 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
860 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
861 | dependencies:
862 | encodeurl "~1.0.2"
863 | escape-html "~1.0.3"
864 | parseurl "~1.3.3"
865 | send "0.18.0"
866 |
867 | set-function-length@^1.2.1:
868 | version "1.2.2"
869 | resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
870 | integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
871 | dependencies:
872 | define-data-property "^1.1.4"
873 | es-errors "^1.3.0"
874 | function-bind "^1.1.2"
875 | get-intrinsic "^1.2.4"
876 | gopd "^1.0.1"
877 | has-property-descriptors "^1.0.2"
878 |
879 | setprototypeof@1.2.0:
880 | version "1.2.0"
881 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
882 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
883 |
884 | side-channel@^1.0.4:
885 | version "1.0.6"
886 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
887 | integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
888 | dependencies:
889 | call-bind "^1.0.7"
890 | es-errors "^1.3.0"
891 | get-intrinsic "^1.2.4"
892 | object-inspect "^1.13.1"
893 |
894 | simple-update-notifier@^2.0.0:
895 | version "2.0.0"
896 | resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb"
897 | integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==
898 | dependencies:
899 | semver "^7.5.3"
900 |
901 | statuses@2.0.1:
902 | version "2.0.1"
903 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
904 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
905 |
906 | supports-color@^5.5.0:
907 | version "5.5.0"
908 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
909 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
910 | dependencies:
911 | has-flag "^3.0.0"
912 |
913 | symbol-tree@^3.2.4:
914 | version "3.2.4"
915 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
916 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
917 |
918 | to-regex-range@^5.0.1:
919 | version "5.0.1"
920 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
921 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
922 | dependencies:
923 | is-number "^7.0.0"
924 |
925 | toidentifier@1.0.1:
926 | version "1.0.1"
927 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
928 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
929 |
930 | touch@^3.1.0:
931 | version "3.1.1"
932 | resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.1.tgz#097a23d7b161476435e5c1344a95c0f75b4a5694"
933 | integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==
934 |
935 | tough-cookie@^4.1.4:
936 | version "4.1.4"
937 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
938 | integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==
939 | dependencies:
940 | psl "^1.1.33"
941 | punycode "^2.1.1"
942 | universalify "^0.2.0"
943 | url-parse "^1.5.3"
944 |
945 | tr46@^5.0.0:
946 | version "5.0.0"
947 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec"
948 | integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==
949 | dependencies:
950 | punycode "^2.3.1"
951 |
952 | type-is@~1.6.18:
953 | version "1.6.18"
954 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
955 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
956 | dependencies:
957 | media-typer "0.3.0"
958 | mime-types "~2.1.24"
959 |
960 | undefsafe@^2.0.5:
961 | version "2.0.5"
962 | resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
963 | integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
964 |
965 | undici-types@~5.26.4:
966 | version "5.26.5"
967 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
968 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
969 |
970 | universalify@^0.2.0:
971 | version "0.2.0"
972 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
973 | integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
974 |
975 | unpipe@1.0.0, unpipe@~1.0.0:
976 | version "1.0.0"
977 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
978 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
979 |
980 | url-parse@^1.5.3:
981 | version "1.5.10"
982 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
983 | integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
984 | dependencies:
985 | querystringify "^2.1.1"
986 | requires-port "^1.0.0"
987 |
988 | utils-merge@1.0.1:
989 | version "1.0.1"
990 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
991 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
992 |
993 | vary@~1.1.2:
994 | version "1.1.2"
995 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
996 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
997 |
998 | w3c-xmlserializer@^5.0.0:
999 | version "5.0.0"
1000 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c"
1001 | integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==
1002 | dependencies:
1003 | xml-name-validator "^5.0.0"
1004 |
1005 | webidl-conversions@^7.0.0:
1006 | version "7.0.0"
1007 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
1008 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
1009 |
1010 | whatwg-encoding@^3.1.1:
1011 | version "3.1.1"
1012 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5"
1013 | integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==
1014 | dependencies:
1015 | iconv-lite "0.6.3"
1016 |
1017 | whatwg-mimetype@^4.0.0:
1018 | version "4.0.0"
1019 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a"
1020 | integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==
1021 |
1022 | whatwg-url@^14.0.0:
1023 | version "14.0.0"
1024 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6"
1025 | integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==
1026 | dependencies:
1027 | tr46 "^5.0.0"
1028 | webidl-conversions "^7.0.0"
1029 |
1030 | ws@^8.17.0:
1031 | version "8.17.1"
1032 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b"
1033 | integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
1034 |
1035 | xml-name-validator@^5.0.0:
1036 | version "5.0.0"
1037 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673"
1038 | integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==
1039 |
1040 | xmlchars@^2.2.0:
1041 | version "2.2.0"
1042 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
1043 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
1044 |
--------------------------------------------------------------------------------
|