this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

This is where it begins 🏷️

futurGH 0c19eaa1

+2372
+16
.dprint.json
··· 1 + { 2 + "indentWidth": 4, 3 + "useTabs": true, 4 + "typescript": { 5 + "lineWidth": 100, 6 + "preferSingleLine": true, 7 + "arrowFunction.useParentheses": "force", 8 + "quoteProps": "asNeeded" 9 + }, 10 + "json": {}, 11 + "includes": ["src/**/*.{ts,tsx,js,jsx,json}", "./*.{ts,tsx,js,jsx,json,sh}"], 12 + "plugins": [ 13 + "https://plugins.dprint.dev/typescript-0.88.1.wasm", 14 + "https://plugins.dprint.dev/json-0.17.4.wasm" 15 + ] 16 + }
+19
.eslintrc.json
··· 1 + { 2 + "extends": ["plugin:@typescript-eslint/strict-type-checked"], 3 + "plugins": ["@typescript-eslint"], 4 + "parser": "@typescript-eslint/parser", 5 + "parserOptions": { 6 + "project": "./tsconfig.json" 7 + }, 8 + "rules": { 9 + "@typescript-eslint/no-explicit-any": "off", 10 + "@typescript-eslint/no-misused-promises": "off", 11 + "@typescript-eslint/no-unnecessary-condition": "off", 12 + "@typescript-eslint/no-unsafe-assignment": "off", 13 + "@typescript-eslint/restrict-plus-operands": "off", 14 + "@typescript-eslint/restrict-template-expressions": "off", 15 + "@typescript-eslint/unified-signatures": "off" 16 + }, 17 + "ignorePatterns": ["dist", "node_modules"], 18 + "root": true 19 + }
+24
.gitignore
··· 1 + npm-debug.log* 2 + yarn-debug.log* 3 + yarn-error.log* 4 + .pnpm-debug.log* 5 + 6 + pids 7 + _.pid 8 + _.seed 9 + *.pid.lock 10 + .DS_Store 11 + 12 + node_modules/ 13 + 14 + *.tsbuildinfo 15 + .npm 16 + .eslintcache 17 + 18 + .env 19 + .env.* 20 + 21 + .idea/ 22 + .vscode/ 23 + 24 + dist/
+373
LICENSE
··· 1 + Mozilla Public License Version 2.0 2 + ================================== 3 + 4 + 1. Definitions 5 + -------------- 6 + 7 + 1.1. "Contributor" 8 + means each individual or legal entity that creates, contributes to 9 + the creation of, or owns Covered Software. 10 + 11 + 1.2. "Contributor Version" 12 + means the combination of the Contributions of others (if any) used 13 + by a Contributor and that particular Contributor's Contribution. 14 + 15 + 1.3. "Contribution" 16 + means Covered Software of a particular Contributor. 17 + 18 + 1.4. "Covered Software" 19 + means Source Code Form to which the initial Contributor has attached 20 + the notice in Exhibit A, the Executable Form of such Source Code 21 + Form, and Modifications of such Source Code Form, in each case 22 + including portions thereof. 23 + 24 + 1.5. "Incompatible With Secondary Licenses" 25 + means 26 + 27 + (a) that the initial Contributor has attached the notice described 28 + in Exhibit B to the Covered Software; or 29 + 30 + (b) that the Covered Software was made available under the terms of 31 + version 1.1 or earlier of the License, but not also under the 32 + terms of a Secondary License. 33 + 34 + 1.6. "Executable Form" 35 + means any form of the work other than Source Code Form. 36 + 37 + 1.7. "Larger Work" 38 + means a work that combines Covered Software with other material, in 39 + a separate file or files, that is not Covered Software. 40 + 41 + 1.8. "License" 42 + means this document. 43 + 44 + 1.9. "Licensable" 45 + means having the right to grant, to the maximum extent possible, 46 + whether at the time of the initial grant or subsequently, any and 47 + all of the rights conveyed by this License. 48 + 49 + 1.10. "Modifications" 50 + means any of the following: 51 + 52 + (a) any file in Source Code Form that results from an addition to, 53 + deletion from, or modification of the contents of Covered 54 + Software; or 55 + 56 + (b) any new file in Source Code Form that contains any Covered 57 + Software. 58 + 59 + 1.11. "Patent Claims" of a Contributor 60 + means any patent claim(s), including without limitation, method, 61 + process, and apparatus claims, in any patent Licensable by such 62 + Contributor that would be infringed, but for the grant of the 63 + License, by the making, using, selling, offering for sale, having 64 + made, import, or transfer of either its Contributions or its 65 + Contributor Version. 66 + 67 + 1.12. "Secondary License" 68 + means either the GNU General Public License, Version 2.0, the GNU 69 + Lesser General Public License, Version 2.1, the GNU Affero General 70 + Public License, Version 3.0, or any later versions of those 71 + licenses. 72 + 73 + 1.13. "Source Code Form" 74 + means the form of the work preferred for making modifications. 75 + 76 + 1.14. "You" (or "Your") 77 + means an individual or a legal entity exercising rights under this 78 + License. For legal entities, "You" includes any entity that 79 + controls, is controlled by, or is under common control with You. For 80 + purposes of this definition, "control" means (a) the power, direct 81 + or indirect, to cause the direction or management of such entity, 82 + whether by contract or otherwise, or (b) ownership of more than 83 + fifty percent (50%) of the outstanding shares or beneficial 84 + ownership of such entity. 85 + 86 + 2. License Grants and Conditions 87 + -------------------------------- 88 + 89 + 2.1. Grants 90 + 91 + Each Contributor hereby grants You a world-wide, royalty-free, 92 + non-exclusive license: 93 + 94 + (a) under intellectual property rights (other than patent or trademark) 95 + Licensable by such Contributor to use, reproduce, make available, 96 + modify, display, perform, distribute, and otherwise exploit its 97 + Contributions, either on an unmodified basis, with Modifications, or 98 + as part of a Larger Work; and 99 + 100 + (b) under Patent Claims of such Contributor to make, use, sell, offer 101 + for sale, have made, import, and otherwise transfer either its 102 + Contributions or its Contributor Version. 103 + 104 + 2.2. Effective Date 105 + 106 + The licenses granted in Section 2.1 with respect to any Contribution 107 + become effective for each Contribution on the date the Contributor first 108 + distributes such Contribution. 109 + 110 + 2.3. Limitations on Grant Scope 111 + 112 + The licenses granted in this Section 2 are the only rights granted under 113 + this License. No additional rights or licenses will be implied from the 114 + distribution or licensing of Covered Software under this License. 115 + Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 + Contributor: 117 + 118 + (a) for any code that a Contributor has removed from Covered Software; 119 + or 120 + 121 + (b) for infringements caused by: (i) Your and any other third party's 122 + modifications of Covered Software, or (ii) the combination of its 123 + Contributions with other software (except as part of its Contributor 124 + Version); or 125 + 126 + (c) under Patent Claims infringed by Covered Software in the absence of 127 + its Contributions. 128 + 129 + This License does not grant any rights in the trademarks, service marks, 130 + or logos of any Contributor (except as may be necessary to comply with 131 + the notice requirements in Section 3.4). 132 + 133 + 2.4. Subsequent Licenses 134 + 135 + No Contributor makes additional grants as a result of Your choice to 136 + distribute the Covered Software under a subsequent version of this 137 + License (see Section 10.2) or under the terms of a Secondary License (if 138 + permitted under the terms of Section 3.3). 139 + 140 + 2.5. Representation 141 + 142 + Each Contributor represents that the Contributor believes its 143 + Contributions are its original creation(s) or it has sufficient rights 144 + to grant the rights to its Contributions conveyed by this License. 145 + 146 + 2.6. Fair Use 147 + 148 + This License is not intended to limit any rights You have under 149 + applicable copyright doctrines of fair use, fair dealing, or other 150 + equivalents. 151 + 152 + 2.7. Conditions 153 + 154 + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 + in Section 2.1. 156 + 157 + 3. Responsibilities 158 + ------------------- 159 + 160 + 3.1. Distribution of Source Form 161 + 162 + All distribution of Covered Software in Source Code Form, including any 163 + Modifications that You create or to which You contribute, must be under 164 + the terms of this License. You must inform recipients that the Source 165 + Code Form of the Covered Software is governed by the terms of this 166 + License, and how they can obtain a copy of this License. You may not 167 + attempt to alter or restrict the recipients' rights in the Source Code 168 + Form. 169 + 170 + 3.2. Distribution of Executable Form 171 + 172 + If You distribute Covered Software in Executable Form then: 173 + 174 + (a) such Covered Software must also be made available in Source Code 175 + Form, as described in Section 3.1, and You must inform recipients of 176 + the Executable Form how they can obtain a copy of such Source Code 177 + Form by reasonable means in a timely manner, at a charge no more 178 + than the cost of distribution to the recipient; and 179 + 180 + (b) You may distribute such Executable Form under the terms of this 181 + License, or sublicense it under different terms, provided that the 182 + license for the Executable Form does not attempt to limit or alter 183 + the recipients' rights in the Source Code Form under this License. 184 + 185 + 3.3. Distribution of a Larger Work 186 + 187 + You may create and distribute a Larger Work under terms of Your choice, 188 + provided that You also comply with the requirements of this License for 189 + the Covered Software. If the Larger Work is a combination of Covered 190 + Software with a work governed by one or more Secondary Licenses, and the 191 + Covered Software is not Incompatible With Secondary Licenses, this 192 + License permits You to additionally distribute such Covered Software 193 + under the terms of such Secondary License(s), so that the recipient of 194 + the Larger Work may, at their option, further distribute the Covered 195 + Software under the terms of either this License or such Secondary 196 + License(s). 197 + 198 + 3.4. Notices 199 + 200 + You may not remove or alter the substance of any license notices 201 + (including copyright notices, patent notices, disclaimers of warranty, 202 + or limitations of liability) contained within the Source Code Form of 203 + the Covered Software, except that You may alter any license notices to 204 + the extent required to remedy known factual inaccuracies. 205 + 206 + 3.5. Application of Additional Terms 207 + 208 + You may choose to offer, and to charge a fee for, warranty, support, 209 + indemnity or liability obligations to one or more recipients of Covered 210 + Software. However, You may do so only on Your own behalf, and not on 211 + behalf of any Contributor. You must make it absolutely clear that any 212 + such warranty, support, indemnity, or liability obligation is offered by 213 + You alone, and You hereby agree to indemnify every Contributor for any 214 + liability incurred by such Contributor as a result of warranty, support, 215 + indemnity or liability terms You offer. You may include additional 216 + disclaimers of warranty and limitations of liability specific to any 217 + jurisdiction. 218 + 219 + 4. Inability to Comply Due to Statute or Regulation 220 + --------------------------------------------------- 221 + 222 + If it is impossible for You to comply with any of the terms of this 223 + License with respect to some or all of the Covered Software due to 224 + statute, judicial order, or regulation then You must: (a) comply with 225 + the terms of this License to the maximum extent possible; and (b) 226 + describe the limitations and the code they affect. Such description must 227 + be placed in a text file included with all distributions of the Covered 228 + Software under this License. Except to the extent prohibited by statute 229 + or regulation, such description must be sufficiently detailed for a 230 + recipient of ordinary skill to be able to understand it. 231 + 232 + 5. Termination 233 + -------------- 234 + 235 + 5.1. The rights granted under this License will terminate automatically 236 + if You fail to comply with any of its terms. However, if You become 237 + compliant, then the rights granted under this License from a particular 238 + Contributor are reinstated (a) provisionally, unless and until such 239 + Contributor explicitly and finally terminates Your grants, and (b) on an 240 + ongoing basis, if such Contributor fails to notify You of the 241 + non-compliance by some reasonable means prior to 60 days after You have 242 + come back into compliance. Moreover, Your grants from a particular 243 + Contributor are reinstated on an ongoing basis if such Contributor 244 + notifies You of the non-compliance by some reasonable means, this is the 245 + first time You have received notice of non-compliance with this License 246 + from such Contributor, and You become compliant prior to 30 days after 247 + Your receipt of the notice. 248 + 249 + 5.2. If You initiate litigation against any entity by asserting a patent 250 + infringement claim (excluding declaratory judgment actions, 251 + counter-claims, and cross-claims) alleging that a Contributor Version 252 + directly or indirectly infringes any patent, then the rights granted to 253 + You by any and all Contributors for the Covered Software under Section 254 + 2.1 of this License shall terminate. 255 + 256 + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 + end user license agreements (excluding distributors and resellers) which 258 + have been validly granted by You or Your distributors under this License 259 + prior to termination shall survive termination. 260 + 261 + ************************************************************************ 262 + * * 263 + * 6. Disclaimer of Warranty * 264 + * ------------------------- * 265 + * * 266 + * Covered Software is provided under this License on an "as is" * 267 + * basis, without warranty of any kind, either expressed, implied, or * 268 + * statutory, including, without limitation, warranties that the * 269 + * Covered Software is free of defects, merchantable, fit for a * 270 + * particular purpose or non-infringing. The entire risk as to the * 271 + * quality and performance of the Covered Software is with You. * 272 + * Should any Covered Software prove defective in any respect, You * 273 + * (not any Contributor) assume the cost of any necessary servicing, * 274 + * repair, or correction. This disclaimer of warranty constitutes an * 275 + * essential part of this License. No use of any Covered Software is * 276 + * authorized under this License except under this disclaimer. * 277 + * * 278 + ************************************************************************ 279 + 280 + ************************************************************************ 281 + * * 282 + * 7. Limitation of Liability * 283 + * -------------------------- * 284 + * * 285 + * Under no circumstances and under no legal theory, whether tort * 286 + * (including negligence), contract, or otherwise, shall any * 287 + * Contributor, or anyone who distributes Covered Software as * 288 + * permitted above, be liable to You for any direct, indirect, * 289 + * special, incidental, or consequential damages of any character * 290 + * including, without limitation, damages for lost profits, loss of * 291 + * goodwill, work stoppage, computer failure or malfunction, or any * 292 + * and all other commercial damages or losses, even if such party * 293 + * shall have been informed of the possibility of such damages. This * 294 + * limitation of liability shall not apply to liability for death or * 295 + * personal injury resulting from such party's negligence to the * 296 + * extent applicable law prohibits such limitation. Some * 297 + * jurisdictions do not allow the exclusion or limitation of * 298 + * incidental or consequential damages, so this exclusion and * 299 + * limitation may not apply to You. * 300 + * * 301 + ************************************************************************ 302 + 303 + 8. Litigation 304 + ------------- 305 + 306 + Any litigation relating to this License may be brought only in the 307 + courts of a jurisdiction where the defendant maintains its principal 308 + place of business and such litigation shall be governed by laws of that 309 + jurisdiction, without reference to its conflict-of-law provisions. 310 + Nothing in this Section shall prevent a party's ability to bring 311 + cross-claims or counter-claims. 312 + 313 + 9. Miscellaneous 314 + ---------------- 315 + 316 + This License represents the complete agreement concerning the subject 317 + matter hereof. If any provision of this License is held to be 318 + unenforceable, such provision shall be reformed only to the extent 319 + necessary to make it enforceable. Any law or regulation which provides 320 + that the language of a contract shall be construed against the drafter 321 + shall not be used to construe this License against a Contributor. 322 + 323 + 10. Versions of the License 324 + --------------------------- 325 + 326 + 10.1. New Versions 327 + 328 + Mozilla Foundation is the license steward. Except as provided in Section 329 + 10.3, no one other than the license steward has the right to modify or 330 + publish new versions of this License. Each version will be given a 331 + distinguishing version number. 332 + 333 + 10.2. Effect of New Versions 334 + 335 + You may distribute the Covered Software under the terms of the version 336 + of the License under which You originally received the Covered Software, 337 + or under the terms of any subsequent version published by the license 338 + steward. 339 + 340 + 10.3. Modified Versions 341 + 342 + If you create software not governed by this License, and you want to 343 + create a new license for such software, you may create and use a 344 + modified version of this License if you rename the license and remove 345 + any references to the name of the license steward (except to note that 346 + such modified license differs from this License). 347 + 348 + 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 + Licenses 350 + 351 + If You choose to distribute Source Code Form that is Incompatible With 352 + Secondary Licenses under the terms of this version of the License, the 353 + notice described in Exhibit B of this License must be attached. 354 + 355 + Exhibit A - Source Code Form License Notice 356 + ------------------------------------------- 357 + 358 + This Source Code Form is subject to the terms of the Mozilla Public 359 + License, v. 2.0. If a copy of the MPL was not distributed with this 360 + file, You can obtain one at http://mozilla.org/MPL/2.0/. 361 + 362 + If it is not possible or desirable to put the notice in a particular 363 + file, then You may include the notice in a location (such as a LICENSE 364 + file in a relevant directory) where a recipient would be likely to look 365 + for such a notice. 366 + 367 + You may add additional accurate notices of copyright ownership. 368 + 369 + Exhibit B - "Incompatible With Secondary Licenses" Notice 370 + --------------------------------------------------------- 371 + 372 + This Source Code Form is "Incompatible With Secondary Licenses", as 373 + defined by the Mozilla Public License, v. 2.0.
README.md

This is a binary file and will not be displayed.

+41
package.json
··· 1 + { 2 + "name": "@skyware/labeler", 3 + "type": "module", 4 + "description": "A lightweight alternative to Ozone for operating an atproto labeler", 5 + "version": "0.0.1", 6 + "main": "dist/index.js", 7 + "types": "dist/index.d.ts", 8 + "license": "MPL-2.0", 9 + "repository": "https://github.com/skyware-js/labeler", 10 + "homepage": "https://skyware.js.org/docs/labeler", 11 + "keywords": [ 12 + "bluesky", 13 + "labeler", 14 + "atproto", 15 + "skyware" 16 + ], 17 + "scripts": { 18 + "build": "tsc", 19 + "lint": "eslint . --ext .ts", 20 + "fmt": "dprint fmt", 21 + "prepublish": "pnpm lint && pnpm fmt && pnpm build" 22 + }, 23 + "devDependencies": { 24 + "@atproto/api": "^0.13.1", 25 + "@types/better-sqlite3": "^7.6.11", 26 + "@types/express": "^4.17.21", 27 + "@types/node": "^20.11.19", 28 + "@typescript-eslint/eslint-plugin": "^6.7.4", 29 + "@typescript-eslint/parser": "^6.7.4", 30 + "dprint": "^0.41.0", 31 + "eslint": "^8.50.0", 32 + "typescript": "^5.2.2" 33 + }, 34 + "files": [ 35 + "dist" 36 + ], 37 + "dependencies": { 38 + "better-sqlite3": "^11.1.2", 39 + "express": "^4.19.2" 40 + } 41 + }
+1821
pnpm-lock.yaml
··· 1 + lockfileVersion: '6.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + dependencies: 8 + better-sqlite3: 9 + specifier: ^11.1.2 10 + version: 11.1.2 11 + express: 12 + specifier: ^4.19.2 13 + version: 4.19.2 14 + 15 + devDependencies: 16 + '@atproto/api': 17 + specifier: ^0.13.1 18 + version: 0.13.1 19 + '@types/better-sqlite3': 20 + specifier: ^7.6.11 21 + version: 7.6.11 22 + '@types/express': 23 + specifier: ^4.17.21 24 + version: 4.17.21 25 + '@types/node': 26 + specifier: ^20.11.19 27 + version: 20.11.19 28 + '@typescript-eslint/eslint-plugin': 29 + specifier: ^6.7.4 30 + version: 6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.50.0)(typescript@5.2.2) 31 + '@typescript-eslint/parser': 32 + specifier: ^6.7.4 33 + version: 6.7.4(eslint@8.50.0)(typescript@5.2.2) 34 + dprint: 35 + specifier: ^0.41.0 36 + version: 0.41.0 37 + eslint: 38 + specifier: ^8.50.0 39 + version: 8.50.0 40 + typescript: 41 + specifier: ^5.2.2 42 + version: 5.2.2 43 + 44 + packages: 45 + 46 + /@aashutoshrathi/word-wrap@1.2.6: 47 + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 48 + engines: {node: '>=0.10.0'} 49 + dev: true 50 + 51 + /@atproto/api@0.13.1: 52 + resolution: {integrity: sha512-DL3iBfavn8Nnl48FmnAreQB0k0cIkW531DJ5JAHUCQZo10Nq0ZLk2/WFxcs0KuBG5wuLnGUdo+Y6/GQPVq8dYw==} 53 + dependencies: 54 + '@atproto/common-web': 0.3.0 55 + '@atproto/lexicon': 0.4.1 56 + '@atproto/syntax': 0.3.0 57 + '@atproto/xrpc': 0.6.0 58 + await-lock: 2.2.2 59 + multiformats: 9.9.0 60 + tlds: 1.254.0 61 + dev: true 62 + 63 + /@atproto/common-web@0.3.0: 64 + resolution: {integrity: sha512-67VnV6JJyX+ZWyjV7xFQMypAgDmjVaR9ZCuU/QW+mqlqI7fex2uL4Fv+7/jHadgzhuJHVd6OHOvNn0wR5WZYtA==} 65 + dependencies: 66 + graphemer: 1.4.0 67 + multiformats: 9.9.0 68 + uint8arrays: 3.0.0 69 + zod: 3.23.8 70 + dev: true 71 + 72 + /@atproto/lexicon@0.4.1: 73 + resolution: {integrity: sha512-bzyr+/VHXLQWbumViX5L7h1NKQObfs8Z+XZJl43OUK8nYFUI4e/sW1IZKRNfw7Wvi5YVNK+J+yP3DWIBZhkCYA==} 74 + dependencies: 75 + '@atproto/common-web': 0.3.0 76 + '@atproto/syntax': 0.3.0 77 + iso-datestring-validator: 2.2.2 78 + multiformats: 9.9.0 79 + zod: 3.23.8 80 + dev: true 81 + 82 + /@atproto/syntax@0.3.0: 83 + resolution: {integrity: sha512-Weq0ZBxffGHDXHl9U7BQc2BFJi/e23AL+k+i5+D9hUq/bzT4yjGsrCejkjq0xt82xXDjmhhvQSZ0LqxyZ5woxA==} 84 + dev: true 85 + 86 + /@atproto/xrpc@0.6.0: 87 + resolution: {integrity: sha512-5BbhBTv5j6MC3iIQ4+vYxQE7nLy2dDGQ+LYJrH8PptOCUdq0Pwg6aRccQ3y52kUZlhE/mzOTZ8Ngiy9pSAyfVQ==} 88 + dependencies: 89 + '@atproto/lexicon': 0.4.1 90 + zod: 3.23.8 91 + dev: true 92 + 93 + /@dprint/darwin-arm64@0.41.0: 94 + resolution: {integrity: sha512-P9PtcQI0mrI4U6yyd+/iI664BHSqC9KTS6ogq0ptEdnLtlaWzf09D1nv6FBaHiG9m3conuBRlPsoUqt3j6PZ2w==} 95 + cpu: [arm64] 96 + os: [darwin] 97 + requiresBuild: true 98 + dev: true 99 + optional: true 100 + 101 + /@dprint/darwin-x64@0.41.0: 102 + resolution: {integrity: sha512-mSYnSoH0uyCkjgIWTny2DZAcaiRTe3kRWY5SeZECLGO37e+SdVg+ZjSzndhOvvEb9pv8EeBO1NJ9gHOSceT5Xw==} 103 + cpu: [x64] 104 + os: [darwin] 105 + requiresBuild: true 106 + dev: true 107 + optional: true 108 + 109 + /@dprint/linux-arm64-glibc@0.41.0: 110 + resolution: {integrity: sha512-U4xWzjjO/aAct8cSSMZFhg8l1jWy6VahXh8zWjGBufwX7t3xEcxMG9RyAp/ioYSY6wl4YXAmnUHywhC+wSjDHQ==} 111 + cpu: [arm64] 112 + os: [linux] 113 + requiresBuild: true 114 + dev: true 115 + optional: true 116 + 117 + /@dprint/linux-x64-glibc@0.41.0: 118 + resolution: {integrity: sha512-wjv5l4mGns7E8i32E8FfAk45tw5O7v4NM17gtvhe6ggOiOD6quHowOH00pLfEakMLMF9y0J5ZO2hxJ/w06bXmQ==} 119 + cpu: [x64] 120 + os: [linux] 121 + requiresBuild: true 122 + dev: true 123 + optional: true 124 + 125 + /@dprint/linux-x64-musl@0.41.0: 126 + resolution: {integrity: sha512-ZZOqiur9Xi/2uhz0Ce215VTSajAlSrduX/5k/hpIjI7Rgz22Vn77p5fmYxzWkTt/Li1zq5zboTvmGYx0QVNMrQ==} 127 + cpu: [x64] 128 + os: [linux] 129 + requiresBuild: true 130 + dev: true 131 + optional: true 132 + 133 + /@dprint/win32-x64@0.41.0: 134 + resolution: {integrity: sha512-mFx6x4Hn848/D4gPbDm7g1wlnOh2SGoVF9c9HMGCuOobUU2WIBztzV4L5qlFCB3gprlS0ru9BhlMpGhrp0CBYA==} 135 + cpu: [x64] 136 + os: [win32] 137 + requiresBuild: true 138 + dev: true 139 + optional: true 140 + 141 + /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0): 142 + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 143 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 144 + peerDependencies: 145 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 146 + dependencies: 147 + eslint: 8.50.0 148 + eslint-visitor-keys: 3.4.3 149 + dev: true 150 + 151 + /@eslint-community/regexpp@4.10.0: 152 + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 153 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 154 + dev: true 155 + 156 + /@eslint/eslintrc@2.1.4: 157 + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 158 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 159 + dependencies: 160 + ajv: 6.12.6 161 + debug: 4.3.4 162 + espree: 9.6.1 163 + globals: 13.24.0 164 + ignore: 5.3.1 165 + import-fresh: 3.3.0 166 + js-yaml: 4.1.0 167 + minimatch: 3.1.2 168 + strip-json-comments: 3.1.1 169 + transitivePeerDependencies: 170 + - supports-color 171 + dev: true 172 + 173 + /@eslint/js@8.50.0: 174 + resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==} 175 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 176 + dev: true 177 + 178 + /@humanwhocodes/config-array@0.11.14: 179 + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} 180 + engines: {node: '>=10.10.0'} 181 + dependencies: 182 + '@humanwhocodes/object-schema': 2.0.2 183 + debug: 4.3.4 184 + minimatch: 3.1.2 185 + transitivePeerDependencies: 186 + - supports-color 187 + dev: true 188 + 189 + /@humanwhocodes/module-importer@1.0.1: 190 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 191 + engines: {node: '>=12.22'} 192 + dev: true 193 + 194 + /@humanwhocodes/object-schema@2.0.2: 195 + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} 196 + dev: true 197 + 198 + /@nodelib/fs.scandir@2.1.5: 199 + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 200 + engines: {node: '>= 8'} 201 + dependencies: 202 + '@nodelib/fs.stat': 2.0.5 203 + run-parallel: 1.2.0 204 + dev: true 205 + 206 + /@nodelib/fs.stat@2.0.5: 207 + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 208 + engines: {node: '>= 8'} 209 + dev: true 210 + 211 + /@nodelib/fs.walk@1.2.8: 212 + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 213 + engines: {node: '>= 8'} 214 + dependencies: 215 + '@nodelib/fs.scandir': 2.1.5 216 + fastq: 1.17.1 217 + dev: true 218 + 219 + /@types/better-sqlite3@7.6.11: 220 + resolution: {integrity: sha512-i8KcD3PgGtGBLl3+mMYA8PdKkButvPyARxA7IQAd6qeslht13qxb1zzO8dRCtE7U3IoJS782zDBAeoKiM695kg==} 221 + dependencies: 222 + '@types/node': 20.11.19 223 + dev: true 224 + 225 + /@types/body-parser@1.19.5: 226 + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} 227 + dependencies: 228 + '@types/connect': 3.4.38 229 + '@types/node': 20.11.19 230 + dev: true 231 + 232 + /@types/connect@3.4.38: 233 + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} 234 + dependencies: 235 + '@types/node': 20.11.19 236 + dev: true 237 + 238 + /@types/express-serve-static-core@4.19.5: 239 + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} 240 + dependencies: 241 + '@types/node': 20.11.19 242 + '@types/qs': 6.9.15 243 + '@types/range-parser': 1.2.7 244 + '@types/send': 0.17.4 245 + dev: true 246 + 247 + /@types/express@4.17.21: 248 + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} 249 + dependencies: 250 + '@types/body-parser': 1.19.5 251 + '@types/express-serve-static-core': 4.19.5 252 + '@types/qs': 6.9.15 253 + '@types/serve-static': 1.15.7 254 + dev: true 255 + 256 + /@types/http-errors@2.0.4: 257 + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} 258 + dev: true 259 + 260 + /@types/json-schema@7.0.15: 261 + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 262 + dev: true 263 + 264 + /@types/mime@1.3.5: 265 + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} 266 + dev: true 267 + 268 + /@types/node@20.11.19: 269 + resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} 270 + dependencies: 271 + undici-types: 5.26.5 272 + dev: true 273 + 274 + /@types/qs@6.9.15: 275 + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} 276 + dev: true 277 + 278 + /@types/range-parser@1.2.7: 279 + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} 280 + dev: true 281 + 282 + /@types/semver@7.5.7: 283 + resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} 284 + dev: true 285 + 286 + /@types/send@0.17.4: 287 + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} 288 + dependencies: 289 + '@types/mime': 1.3.5 290 + '@types/node': 20.11.19 291 + dev: true 292 + 293 + /@types/serve-static@1.15.7: 294 + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} 295 + dependencies: 296 + '@types/http-errors': 2.0.4 297 + '@types/node': 20.11.19 298 + '@types/send': 0.17.4 299 + dev: true 300 + 301 + /@typescript-eslint/eslint-plugin@6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.50.0)(typescript@5.2.2): 302 + resolution: {integrity: sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==} 303 + engines: {node: ^16.0.0 || >=18.0.0} 304 + peerDependencies: 305 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha 306 + eslint: ^7.0.0 || ^8.0.0 307 + typescript: '*' 308 + peerDependenciesMeta: 309 + typescript: 310 + optional: true 311 + dependencies: 312 + '@eslint-community/regexpp': 4.10.0 313 + '@typescript-eslint/parser': 6.7.4(eslint@8.50.0)(typescript@5.2.2) 314 + '@typescript-eslint/scope-manager': 6.7.4 315 + '@typescript-eslint/type-utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) 316 + '@typescript-eslint/utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) 317 + '@typescript-eslint/visitor-keys': 6.7.4 318 + debug: 4.3.4 319 + eslint: 8.50.0 320 + graphemer: 1.4.0 321 + ignore: 5.3.1 322 + natural-compare: 1.4.0 323 + semver: 7.6.0 324 + ts-api-utils: 1.2.1(typescript@5.2.2) 325 + typescript: 5.2.2 326 + transitivePeerDependencies: 327 + - supports-color 328 + dev: true 329 + 330 + /@typescript-eslint/parser@6.7.4(eslint@8.50.0)(typescript@5.2.2): 331 + resolution: {integrity: sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==} 332 + engines: {node: ^16.0.0 || >=18.0.0} 333 + peerDependencies: 334 + eslint: ^7.0.0 || ^8.0.0 335 + typescript: '*' 336 + peerDependenciesMeta: 337 + typescript: 338 + optional: true 339 + dependencies: 340 + '@typescript-eslint/scope-manager': 6.7.4 341 + '@typescript-eslint/types': 6.7.4 342 + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2) 343 + '@typescript-eslint/visitor-keys': 6.7.4 344 + debug: 4.3.4 345 + eslint: 8.50.0 346 + typescript: 5.2.2 347 + transitivePeerDependencies: 348 + - supports-color 349 + dev: true 350 + 351 + /@typescript-eslint/scope-manager@6.7.4: 352 + resolution: {integrity: sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==} 353 + engines: {node: ^16.0.0 || >=18.0.0} 354 + dependencies: 355 + '@typescript-eslint/types': 6.7.4 356 + '@typescript-eslint/visitor-keys': 6.7.4 357 + dev: true 358 + 359 + /@typescript-eslint/type-utils@6.7.4(eslint@8.50.0)(typescript@5.2.2): 360 + resolution: {integrity: sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==} 361 + engines: {node: ^16.0.0 || >=18.0.0} 362 + peerDependencies: 363 + eslint: ^7.0.0 || ^8.0.0 364 + typescript: '*' 365 + peerDependenciesMeta: 366 + typescript: 367 + optional: true 368 + dependencies: 369 + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2) 370 + '@typescript-eslint/utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) 371 + debug: 4.3.4 372 + eslint: 8.50.0 373 + ts-api-utils: 1.2.1(typescript@5.2.2) 374 + typescript: 5.2.2 375 + transitivePeerDependencies: 376 + - supports-color 377 + dev: true 378 + 379 + /@typescript-eslint/types@6.7.4: 380 + resolution: {integrity: sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==} 381 + engines: {node: ^16.0.0 || >=18.0.0} 382 + dev: true 383 + 384 + /@typescript-eslint/typescript-estree@6.7.4(typescript@5.2.2): 385 + resolution: {integrity: sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==} 386 + engines: {node: ^16.0.0 || >=18.0.0} 387 + peerDependencies: 388 + typescript: '*' 389 + peerDependenciesMeta: 390 + typescript: 391 + optional: true 392 + dependencies: 393 + '@typescript-eslint/types': 6.7.4 394 + '@typescript-eslint/visitor-keys': 6.7.4 395 + debug: 4.3.4 396 + globby: 11.1.0 397 + is-glob: 4.0.3 398 + semver: 7.6.0 399 + ts-api-utils: 1.2.1(typescript@5.2.2) 400 + typescript: 5.2.2 401 + transitivePeerDependencies: 402 + - supports-color 403 + dev: true 404 + 405 + /@typescript-eslint/utils@6.7.4(eslint@8.50.0)(typescript@5.2.2): 406 + resolution: {integrity: sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==} 407 + engines: {node: ^16.0.0 || >=18.0.0} 408 + peerDependencies: 409 + eslint: ^7.0.0 || ^8.0.0 410 + dependencies: 411 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) 412 + '@types/json-schema': 7.0.15 413 + '@types/semver': 7.5.7 414 + '@typescript-eslint/scope-manager': 6.7.4 415 + '@typescript-eslint/types': 6.7.4 416 + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2) 417 + eslint: 8.50.0 418 + semver: 7.6.0 419 + transitivePeerDependencies: 420 + - supports-color 421 + - typescript 422 + dev: true 423 + 424 + /@typescript-eslint/visitor-keys@6.7.4: 425 + resolution: {integrity: sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==} 426 + engines: {node: ^16.0.0 || >=18.0.0} 427 + dependencies: 428 + '@typescript-eslint/types': 6.7.4 429 + eslint-visitor-keys: 3.4.3 430 + dev: true 431 + 432 + /accepts@1.3.8: 433 + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 434 + engines: {node: '>= 0.6'} 435 + dependencies: 436 + mime-types: 2.1.35 437 + negotiator: 0.6.3 438 + dev: false 439 + 440 + /acorn-jsx@5.3.2(acorn@8.11.3): 441 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 442 + peerDependencies: 443 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 444 + dependencies: 445 + acorn: 8.11.3 446 + dev: true 447 + 448 + /acorn@8.11.3: 449 + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 450 + engines: {node: '>=0.4.0'} 451 + hasBin: true 452 + dev: true 453 + 454 + /ajv@6.12.6: 455 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 456 + dependencies: 457 + fast-deep-equal: 3.1.3 458 + fast-json-stable-stringify: 2.1.0 459 + json-schema-traverse: 0.4.1 460 + uri-js: 4.4.1 461 + dev: true 462 + 463 + /ansi-regex@5.0.1: 464 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 465 + engines: {node: '>=8'} 466 + dev: true 467 + 468 + /ansi-styles@4.3.0: 469 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 470 + engines: {node: '>=8'} 471 + dependencies: 472 + color-convert: 2.0.1 473 + dev: true 474 + 475 + /argparse@2.0.1: 476 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 477 + dev: true 478 + 479 + /array-flatten@1.1.1: 480 + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 481 + dev: false 482 + 483 + /array-union@2.1.0: 484 + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 485 + engines: {node: '>=8'} 486 + dev: true 487 + 488 + /await-lock@2.2.2: 489 + resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} 490 + dev: true 491 + 492 + /balanced-match@1.0.2: 493 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 494 + dev: true 495 + 496 + /base64-js@1.5.1: 497 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 498 + dev: false 499 + 500 + /better-sqlite3@11.1.2: 501 + resolution: {integrity: sha512-gujtFwavWU4MSPT+h9B+4pkvZdyOUkH54zgLdIrMmmmd4ZqiBIrRNBzNzYVFO417xo882uP5HBu4GjOfaSrIQw==} 502 + requiresBuild: true 503 + dependencies: 504 + bindings: 1.5.0 505 + prebuild-install: 7.1.2 506 + dev: false 507 + 508 + /bindings@1.5.0: 509 + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} 510 + dependencies: 511 + file-uri-to-path: 1.0.0 512 + dev: false 513 + 514 + /bl@4.1.0: 515 + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 516 + dependencies: 517 + buffer: 5.7.1 518 + inherits: 2.0.4 519 + readable-stream: 3.6.2 520 + dev: false 521 + 522 + /body-parser@1.20.2: 523 + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} 524 + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 525 + dependencies: 526 + bytes: 3.1.2 527 + content-type: 1.0.5 528 + debug: 2.6.9 529 + depd: 2.0.0 530 + destroy: 1.2.0 531 + http-errors: 2.0.0 532 + iconv-lite: 0.4.24 533 + on-finished: 2.4.1 534 + qs: 6.11.0 535 + raw-body: 2.5.2 536 + type-is: 1.6.18 537 + unpipe: 1.0.0 538 + transitivePeerDependencies: 539 + - supports-color 540 + dev: false 541 + 542 + /brace-expansion@1.1.11: 543 + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 544 + dependencies: 545 + balanced-match: 1.0.2 546 + concat-map: 0.0.1 547 + dev: true 548 + 549 + /braces@3.0.2: 550 + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 551 + engines: {node: '>=8'} 552 + dependencies: 553 + fill-range: 7.0.1 554 + dev: true 555 + 556 + /buffer@5.7.1: 557 + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 558 + dependencies: 559 + base64-js: 1.5.1 560 + ieee754: 1.2.1 561 + dev: false 562 + 563 + /bytes@3.1.2: 564 + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 565 + engines: {node: '>= 0.8'} 566 + dev: false 567 + 568 + /call-bind@1.0.7: 569 + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 570 + engines: {node: '>= 0.4'} 571 + dependencies: 572 + es-define-property: 1.0.0 573 + es-errors: 1.3.0 574 + function-bind: 1.1.2 575 + get-intrinsic: 1.2.4 576 + set-function-length: 1.2.2 577 + dev: false 578 + 579 + /callsites@3.1.0: 580 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 581 + engines: {node: '>=6'} 582 + dev: true 583 + 584 + /chalk@4.1.2: 585 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 586 + engines: {node: '>=10'} 587 + dependencies: 588 + ansi-styles: 4.3.0 589 + supports-color: 7.2.0 590 + dev: true 591 + 592 + /chownr@1.1.4: 593 + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 594 + dev: false 595 + 596 + /color-convert@2.0.1: 597 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 598 + engines: {node: '>=7.0.0'} 599 + dependencies: 600 + color-name: 1.1.4 601 + dev: true 602 + 603 + /color-name@1.1.4: 604 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 605 + dev: true 606 + 607 + /concat-map@0.0.1: 608 + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 609 + dev: true 610 + 611 + /content-disposition@0.5.4: 612 + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 613 + engines: {node: '>= 0.6'} 614 + dependencies: 615 + safe-buffer: 5.2.1 616 + dev: false 617 + 618 + /content-type@1.0.5: 619 + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 620 + engines: {node: '>= 0.6'} 621 + dev: false 622 + 623 + /cookie-signature@1.0.6: 624 + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 625 + dev: false 626 + 627 + /cookie@0.6.0: 628 + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 629 + engines: {node: '>= 0.6'} 630 + dev: false 631 + 632 + /cross-spawn@7.0.3: 633 + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 634 + engines: {node: '>= 8'} 635 + dependencies: 636 + path-key: 3.1.1 637 + shebang-command: 2.0.0 638 + which: 2.0.2 639 + dev: true 640 + 641 + /debug@2.6.9: 642 + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 643 + peerDependencies: 644 + supports-color: '*' 645 + peerDependenciesMeta: 646 + supports-color: 647 + optional: true 648 + dependencies: 649 + ms: 2.0.0 650 + dev: false 651 + 652 + /debug@4.3.4: 653 + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 654 + engines: {node: '>=6.0'} 655 + peerDependencies: 656 + supports-color: '*' 657 + peerDependenciesMeta: 658 + supports-color: 659 + optional: true 660 + dependencies: 661 + ms: 2.1.2 662 + dev: true 663 + 664 + /decompress-response@6.0.0: 665 + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 666 + engines: {node: '>=10'} 667 + dependencies: 668 + mimic-response: 3.1.0 669 + dev: false 670 + 671 + /deep-extend@0.6.0: 672 + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 673 + engines: {node: '>=4.0.0'} 674 + dev: false 675 + 676 + /deep-is@0.1.4: 677 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 678 + dev: true 679 + 680 + /define-data-property@1.1.4: 681 + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 682 + engines: {node: '>= 0.4'} 683 + dependencies: 684 + es-define-property: 1.0.0 685 + es-errors: 1.3.0 686 + gopd: 1.0.1 687 + dev: false 688 + 689 + /depd@2.0.0: 690 + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 691 + engines: {node: '>= 0.8'} 692 + dev: false 693 + 694 + /destroy@1.2.0: 695 + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 696 + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 697 + dev: false 698 + 699 + /detect-libc@2.0.3: 700 + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 701 + engines: {node: '>=8'} 702 + dev: false 703 + 704 + /dir-glob@3.0.1: 705 + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 706 + engines: {node: '>=8'} 707 + dependencies: 708 + path-type: 4.0.0 709 + dev: true 710 + 711 + /doctrine@3.0.0: 712 + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 713 + engines: {node: '>=6.0.0'} 714 + dependencies: 715 + esutils: 2.0.3 716 + dev: true 717 + 718 + /dprint@0.41.0: 719 + resolution: {integrity: sha512-9Ctv6EnwOy5Ai566DczI/QhAC6y+AhWDA2gFU8Zz4xezUy1BevHaIYhfdLWZQxh4Qf4H28lRu1Lq+hhIm1US9w==} 720 + hasBin: true 721 + requiresBuild: true 722 + optionalDependencies: 723 + '@dprint/darwin-arm64': 0.41.0 724 + '@dprint/darwin-x64': 0.41.0 725 + '@dprint/linux-arm64-glibc': 0.41.0 726 + '@dprint/linux-x64-glibc': 0.41.0 727 + '@dprint/linux-x64-musl': 0.41.0 728 + '@dprint/win32-x64': 0.41.0 729 + dev: true 730 + 731 + /ee-first@1.1.1: 732 + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 733 + dev: false 734 + 735 + /encodeurl@1.0.2: 736 + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 737 + engines: {node: '>= 0.8'} 738 + dev: false 739 + 740 + /end-of-stream@1.4.4: 741 + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 742 + dependencies: 743 + once: 1.4.0 744 + dev: false 745 + 746 + /es-define-property@1.0.0: 747 + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 748 + engines: {node: '>= 0.4'} 749 + dependencies: 750 + get-intrinsic: 1.2.4 751 + dev: false 752 + 753 + /es-errors@1.3.0: 754 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 755 + engines: {node: '>= 0.4'} 756 + dev: false 757 + 758 + /escape-html@1.0.3: 759 + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 760 + dev: false 761 + 762 + /escape-string-regexp@4.0.0: 763 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 764 + engines: {node: '>=10'} 765 + dev: true 766 + 767 + /eslint-scope@7.2.2: 768 + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 769 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 770 + dependencies: 771 + esrecurse: 4.3.0 772 + estraverse: 5.3.0 773 + dev: true 774 + 775 + /eslint-visitor-keys@3.4.3: 776 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 777 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 778 + dev: true 779 + 780 + /eslint@8.50.0: 781 + resolution: {integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==} 782 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 783 + hasBin: true 784 + dependencies: 785 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) 786 + '@eslint-community/regexpp': 4.10.0 787 + '@eslint/eslintrc': 2.1.4 788 + '@eslint/js': 8.50.0 789 + '@humanwhocodes/config-array': 0.11.14 790 + '@humanwhocodes/module-importer': 1.0.1 791 + '@nodelib/fs.walk': 1.2.8 792 + ajv: 6.12.6 793 + chalk: 4.1.2 794 + cross-spawn: 7.0.3 795 + debug: 4.3.4 796 + doctrine: 3.0.0 797 + escape-string-regexp: 4.0.0 798 + eslint-scope: 7.2.2 799 + eslint-visitor-keys: 3.4.3 800 + espree: 9.6.1 801 + esquery: 1.5.0 802 + esutils: 2.0.3 803 + fast-deep-equal: 3.1.3 804 + file-entry-cache: 6.0.1 805 + find-up: 5.0.0 806 + glob-parent: 6.0.2 807 + globals: 13.24.0 808 + graphemer: 1.4.0 809 + ignore: 5.3.1 810 + imurmurhash: 0.1.4 811 + is-glob: 4.0.3 812 + is-path-inside: 3.0.3 813 + js-yaml: 4.1.0 814 + json-stable-stringify-without-jsonify: 1.0.1 815 + levn: 0.4.1 816 + lodash.merge: 4.6.2 817 + minimatch: 3.1.2 818 + natural-compare: 1.4.0 819 + optionator: 0.9.3 820 + strip-ansi: 6.0.1 821 + text-table: 0.2.0 822 + transitivePeerDependencies: 823 + - supports-color 824 + dev: true 825 + 826 + /espree@9.6.1: 827 + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 828 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 829 + dependencies: 830 + acorn: 8.11.3 831 + acorn-jsx: 5.3.2(acorn@8.11.3) 832 + eslint-visitor-keys: 3.4.3 833 + dev: true 834 + 835 + /esquery@1.5.0: 836 + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 837 + engines: {node: '>=0.10'} 838 + dependencies: 839 + estraverse: 5.3.0 840 + dev: true 841 + 842 + /esrecurse@4.3.0: 843 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 844 + engines: {node: '>=4.0'} 845 + dependencies: 846 + estraverse: 5.3.0 847 + dev: true 848 + 849 + /estraverse@5.3.0: 850 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 851 + engines: {node: '>=4.0'} 852 + dev: true 853 + 854 + /esutils@2.0.3: 855 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 856 + engines: {node: '>=0.10.0'} 857 + dev: true 858 + 859 + /etag@1.8.1: 860 + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 861 + engines: {node: '>= 0.6'} 862 + dev: false 863 + 864 + /expand-template@2.0.3: 865 + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 866 + engines: {node: '>=6'} 867 + dev: false 868 + 869 + /express@4.19.2: 870 + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} 871 + engines: {node: '>= 0.10.0'} 872 + dependencies: 873 + accepts: 1.3.8 874 + array-flatten: 1.1.1 875 + body-parser: 1.20.2 876 + content-disposition: 0.5.4 877 + content-type: 1.0.5 878 + cookie: 0.6.0 879 + cookie-signature: 1.0.6 880 + debug: 2.6.9 881 + depd: 2.0.0 882 + encodeurl: 1.0.2 883 + escape-html: 1.0.3 884 + etag: 1.8.1 885 + finalhandler: 1.2.0 886 + fresh: 0.5.2 887 + http-errors: 2.0.0 888 + merge-descriptors: 1.0.1 889 + methods: 1.1.2 890 + on-finished: 2.4.1 891 + parseurl: 1.3.3 892 + path-to-regexp: 0.1.7 893 + proxy-addr: 2.0.7 894 + qs: 6.11.0 895 + range-parser: 1.2.1 896 + safe-buffer: 5.2.1 897 + send: 0.18.0 898 + serve-static: 1.15.0 899 + setprototypeof: 1.2.0 900 + statuses: 2.0.1 901 + type-is: 1.6.18 902 + utils-merge: 1.0.1 903 + vary: 1.1.2 904 + transitivePeerDependencies: 905 + - supports-color 906 + dev: false 907 + 908 + /fast-deep-equal@3.1.3: 909 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 910 + dev: true 911 + 912 + /fast-glob@3.3.2: 913 + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 914 + engines: {node: '>=8.6.0'} 915 + dependencies: 916 + '@nodelib/fs.stat': 2.0.5 917 + '@nodelib/fs.walk': 1.2.8 918 + glob-parent: 5.1.2 919 + merge2: 1.4.1 920 + micromatch: 4.0.5 921 + dev: true 922 + 923 + /fast-json-stable-stringify@2.1.0: 924 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 925 + dev: true 926 + 927 + /fast-levenshtein@2.0.6: 928 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 929 + dev: true 930 + 931 + /fastq@1.17.1: 932 + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 933 + dependencies: 934 + reusify: 1.0.4 935 + dev: true 936 + 937 + /file-entry-cache@6.0.1: 938 + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 939 + engines: {node: ^10.12.0 || >=12.0.0} 940 + dependencies: 941 + flat-cache: 3.2.0 942 + dev: true 943 + 944 + /file-uri-to-path@1.0.0: 945 + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 946 + dev: false 947 + 948 + /fill-range@7.0.1: 949 + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 950 + engines: {node: '>=8'} 951 + dependencies: 952 + to-regex-range: 5.0.1 953 + dev: true 954 + 955 + /finalhandler@1.2.0: 956 + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} 957 + engines: {node: '>= 0.8'} 958 + dependencies: 959 + debug: 2.6.9 960 + encodeurl: 1.0.2 961 + escape-html: 1.0.3 962 + on-finished: 2.4.1 963 + parseurl: 1.3.3 964 + statuses: 2.0.1 965 + unpipe: 1.0.0 966 + transitivePeerDependencies: 967 + - supports-color 968 + dev: false 969 + 970 + /find-up@5.0.0: 971 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 972 + engines: {node: '>=10'} 973 + dependencies: 974 + locate-path: 6.0.0 975 + path-exists: 4.0.0 976 + dev: true 977 + 978 + /flat-cache@3.2.0: 979 + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 980 + engines: {node: ^10.12.0 || >=12.0.0} 981 + dependencies: 982 + flatted: 3.2.9 983 + keyv: 4.5.4 984 + rimraf: 3.0.2 985 + dev: true 986 + 987 + /flatted@3.2.9: 988 + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} 989 + dev: true 990 + 991 + /forwarded@0.2.0: 992 + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 993 + engines: {node: '>= 0.6'} 994 + dev: false 995 + 996 + /fresh@0.5.2: 997 + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 998 + engines: {node: '>= 0.6'} 999 + dev: false 1000 + 1001 + /fs-constants@1.0.0: 1002 + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 1003 + dev: false 1004 + 1005 + /fs.realpath@1.0.0: 1006 + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1007 + dev: true 1008 + 1009 + /function-bind@1.1.2: 1010 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1011 + dev: false 1012 + 1013 + /get-intrinsic@1.2.4: 1014 + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 1015 + engines: {node: '>= 0.4'} 1016 + dependencies: 1017 + es-errors: 1.3.0 1018 + function-bind: 1.1.2 1019 + has-proto: 1.0.3 1020 + has-symbols: 1.0.3 1021 + hasown: 2.0.2 1022 + dev: false 1023 + 1024 + /github-from-package@0.0.0: 1025 + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} 1026 + dev: false 1027 + 1028 + /glob-parent@5.1.2: 1029 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1030 + engines: {node: '>= 6'} 1031 + dependencies: 1032 + is-glob: 4.0.3 1033 + dev: true 1034 + 1035 + /glob-parent@6.0.2: 1036 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1037 + engines: {node: '>=10.13.0'} 1038 + dependencies: 1039 + is-glob: 4.0.3 1040 + dev: true 1041 + 1042 + /glob@7.2.3: 1043 + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1044 + dependencies: 1045 + fs.realpath: 1.0.0 1046 + inflight: 1.0.6 1047 + inherits: 2.0.4 1048 + minimatch: 3.1.2 1049 + once: 1.4.0 1050 + path-is-absolute: 1.0.1 1051 + dev: true 1052 + 1053 + /globals@13.24.0: 1054 + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1055 + engines: {node: '>=8'} 1056 + dependencies: 1057 + type-fest: 0.20.2 1058 + dev: true 1059 + 1060 + /globby@11.1.0: 1061 + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1062 + engines: {node: '>=10'} 1063 + dependencies: 1064 + array-union: 2.1.0 1065 + dir-glob: 3.0.1 1066 + fast-glob: 3.3.2 1067 + ignore: 5.3.1 1068 + merge2: 1.4.1 1069 + slash: 3.0.0 1070 + dev: true 1071 + 1072 + /gopd@1.0.1: 1073 + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1074 + dependencies: 1075 + get-intrinsic: 1.2.4 1076 + dev: false 1077 + 1078 + /graphemer@1.4.0: 1079 + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1080 + dev: true 1081 + 1082 + /has-flag@4.0.0: 1083 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1084 + engines: {node: '>=8'} 1085 + dev: true 1086 + 1087 + /has-property-descriptors@1.0.2: 1088 + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1089 + dependencies: 1090 + es-define-property: 1.0.0 1091 + dev: false 1092 + 1093 + /has-proto@1.0.3: 1094 + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 1095 + engines: {node: '>= 0.4'} 1096 + dev: false 1097 + 1098 + /has-symbols@1.0.3: 1099 + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1100 + engines: {node: '>= 0.4'} 1101 + dev: false 1102 + 1103 + /hasown@2.0.2: 1104 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1105 + engines: {node: '>= 0.4'} 1106 + dependencies: 1107 + function-bind: 1.1.2 1108 + dev: false 1109 + 1110 + /http-errors@2.0.0: 1111 + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1112 + engines: {node: '>= 0.8'} 1113 + dependencies: 1114 + depd: 2.0.0 1115 + inherits: 2.0.4 1116 + setprototypeof: 1.2.0 1117 + statuses: 2.0.1 1118 + toidentifier: 1.0.1 1119 + dev: false 1120 + 1121 + /iconv-lite@0.4.24: 1122 + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1123 + engines: {node: '>=0.10.0'} 1124 + dependencies: 1125 + safer-buffer: 2.1.2 1126 + dev: false 1127 + 1128 + /ieee754@1.2.1: 1129 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1130 + dev: false 1131 + 1132 + /ignore@5.3.1: 1133 + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 1134 + engines: {node: '>= 4'} 1135 + dev: true 1136 + 1137 + /import-fresh@3.3.0: 1138 + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1139 + engines: {node: '>=6'} 1140 + dependencies: 1141 + parent-module: 1.0.1 1142 + resolve-from: 4.0.0 1143 + dev: true 1144 + 1145 + /imurmurhash@0.1.4: 1146 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1147 + engines: {node: '>=0.8.19'} 1148 + dev: true 1149 + 1150 + /inflight@1.0.6: 1151 + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1152 + dependencies: 1153 + once: 1.4.0 1154 + wrappy: 1.0.2 1155 + dev: true 1156 + 1157 + /inherits@2.0.4: 1158 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1159 + 1160 + /ini@1.3.8: 1161 + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1162 + dev: false 1163 + 1164 + /ipaddr.js@1.9.1: 1165 + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1166 + engines: {node: '>= 0.10'} 1167 + dev: false 1168 + 1169 + /is-extglob@2.1.1: 1170 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1171 + engines: {node: '>=0.10.0'} 1172 + dev: true 1173 + 1174 + /is-glob@4.0.3: 1175 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1176 + engines: {node: '>=0.10.0'} 1177 + dependencies: 1178 + is-extglob: 2.1.1 1179 + dev: true 1180 + 1181 + /is-number@7.0.0: 1182 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1183 + engines: {node: '>=0.12.0'} 1184 + dev: true 1185 + 1186 + /is-path-inside@3.0.3: 1187 + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1188 + engines: {node: '>=8'} 1189 + dev: true 1190 + 1191 + /isexe@2.0.0: 1192 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1193 + dev: true 1194 + 1195 + /iso-datestring-validator@2.2.2: 1196 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 1197 + dev: true 1198 + 1199 + /js-yaml@4.1.0: 1200 + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1201 + hasBin: true 1202 + dependencies: 1203 + argparse: 2.0.1 1204 + dev: true 1205 + 1206 + /json-buffer@3.0.1: 1207 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1208 + dev: true 1209 + 1210 + /json-schema-traverse@0.4.1: 1211 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1212 + dev: true 1213 + 1214 + /json-stable-stringify-without-jsonify@1.0.1: 1215 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1216 + dev: true 1217 + 1218 + /keyv@4.5.4: 1219 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1220 + dependencies: 1221 + json-buffer: 3.0.1 1222 + dev: true 1223 + 1224 + /levn@0.4.1: 1225 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1226 + engines: {node: '>= 0.8.0'} 1227 + dependencies: 1228 + prelude-ls: 1.2.1 1229 + type-check: 0.4.0 1230 + dev: true 1231 + 1232 + /locate-path@6.0.0: 1233 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1234 + engines: {node: '>=10'} 1235 + dependencies: 1236 + p-locate: 5.0.0 1237 + dev: true 1238 + 1239 + /lodash.merge@4.6.2: 1240 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1241 + dev: true 1242 + 1243 + /lru-cache@6.0.0: 1244 + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1245 + engines: {node: '>=10'} 1246 + dependencies: 1247 + yallist: 4.0.0 1248 + 1249 + /media-typer@0.3.0: 1250 + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 1251 + engines: {node: '>= 0.6'} 1252 + dev: false 1253 + 1254 + /merge-descriptors@1.0.1: 1255 + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} 1256 + dev: false 1257 + 1258 + /merge2@1.4.1: 1259 + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1260 + engines: {node: '>= 8'} 1261 + dev: true 1262 + 1263 + /methods@1.1.2: 1264 + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 1265 + engines: {node: '>= 0.6'} 1266 + dev: false 1267 + 1268 + /micromatch@4.0.5: 1269 + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1270 + engines: {node: '>=8.6'} 1271 + dependencies: 1272 + braces: 3.0.2 1273 + picomatch: 2.3.1 1274 + dev: true 1275 + 1276 + /mime-db@1.52.0: 1277 + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1278 + engines: {node: '>= 0.6'} 1279 + dev: false 1280 + 1281 + /mime-types@2.1.35: 1282 + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1283 + engines: {node: '>= 0.6'} 1284 + dependencies: 1285 + mime-db: 1.52.0 1286 + dev: false 1287 + 1288 + /mime@1.6.0: 1289 + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 1290 + engines: {node: '>=4'} 1291 + hasBin: true 1292 + dev: false 1293 + 1294 + /mimic-response@3.1.0: 1295 + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 1296 + engines: {node: '>=10'} 1297 + dev: false 1298 + 1299 + /minimatch@3.1.2: 1300 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1301 + dependencies: 1302 + brace-expansion: 1.1.11 1303 + dev: true 1304 + 1305 + /minimist@1.2.8: 1306 + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1307 + dev: false 1308 + 1309 + /mkdirp-classic@0.5.3: 1310 + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 1311 + dev: false 1312 + 1313 + /ms@2.0.0: 1314 + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1315 + dev: false 1316 + 1317 + /ms@2.1.2: 1318 + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1319 + dev: true 1320 + 1321 + /ms@2.1.3: 1322 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1323 + dev: false 1324 + 1325 + /multiformats@9.9.0: 1326 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 1327 + dev: true 1328 + 1329 + /napi-build-utils@1.0.2: 1330 + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} 1331 + dev: false 1332 + 1333 + /natural-compare@1.4.0: 1334 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1335 + dev: true 1336 + 1337 + /negotiator@0.6.3: 1338 + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 1339 + engines: {node: '>= 0.6'} 1340 + dev: false 1341 + 1342 + /node-abi@3.65.0: 1343 + resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==} 1344 + engines: {node: '>=10'} 1345 + dependencies: 1346 + semver: 7.6.0 1347 + dev: false 1348 + 1349 + /object-inspect@1.13.2: 1350 + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} 1351 + engines: {node: '>= 0.4'} 1352 + dev: false 1353 + 1354 + /on-finished@2.4.1: 1355 + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 1356 + engines: {node: '>= 0.8'} 1357 + dependencies: 1358 + ee-first: 1.1.1 1359 + dev: false 1360 + 1361 + /once@1.4.0: 1362 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1363 + dependencies: 1364 + wrappy: 1.0.2 1365 + 1366 + /optionator@0.9.3: 1367 + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 1368 + engines: {node: '>= 0.8.0'} 1369 + dependencies: 1370 + '@aashutoshrathi/word-wrap': 1.2.6 1371 + deep-is: 0.1.4 1372 + fast-levenshtein: 2.0.6 1373 + levn: 0.4.1 1374 + prelude-ls: 1.2.1 1375 + type-check: 0.4.0 1376 + dev: true 1377 + 1378 + /p-limit@3.1.0: 1379 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1380 + engines: {node: '>=10'} 1381 + dependencies: 1382 + yocto-queue: 0.1.0 1383 + dev: true 1384 + 1385 + /p-locate@5.0.0: 1386 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1387 + engines: {node: '>=10'} 1388 + dependencies: 1389 + p-limit: 3.1.0 1390 + dev: true 1391 + 1392 + /parent-module@1.0.1: 1393 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1394 + engines: {node: '>=6'} 1395 + dependencies: 1396 + callsites: 3.1.0 1397 + dev: true 1398 + 1399 + /parseurl@1.3.3: 1400 + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 1401 + engines: {node: '>= 0.8'} 1402 + dev: false 1403 + 1404 + /path-exists@4.0.0: 1405 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1406 + engines: {node: '>=8'} 1407 + dev: true 1408 + 1409 + /path-is-absolute@1.0.1: 1410 + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1411 + engines: {node: '>=0.10.0'} 1412 + dev: true 1413 + 1414 + /path-key@3.1.1: 1415 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1416 + engines: {node: '>=8'} 1417 + dev: true 1418 + 1419 + /path-to-regexp@0.1.7: 1420 + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} 1421 + dev: false 1422 + 1423 + /path-type@4.0.0: 1424 + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1425 + engines: {node: '>=8'} 1426 + dev: true 1427 + 1428 + /picomatch@2.3.1: 1429 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1430 + engines: {node: '>=8.6'} 1431 + dev: true 1432 + 1433 + /prebuild-install@7.1.2: 1434 + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} 1435 + engines: {node: '>=10'} 1436 + hasBin: true 1437 + dependencies: 1438 + detect-libc: 2.0.3 1439 + expand-template: 2.0.3 1440 + github-from-package: 0.0.0 1441 + minimist: 1.2.8 1442 + mkdirp-classic: 0.5.3 1443 + napi-build-utils: 1.0.2 1444 + node-abi: 3.65.0 1445 + pump: 3.0.0 1446 + rc: 1.2.8 1447 + simple-get: 4.0.1 1448 + tar-fs: 2.1.1 1449 + tunnel-agent: 0.6.0 1450 + dev: false 1451 + 1452 + /prelude-ls@1.2.1: 1453 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1454 + engines: {node: '>= 0.8.0'} 1455 + dev: true 1456 + 1457 + /proxy-addr@2.0.7: 1458 + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1459 + engines: {node: '>= 0.10'} 1460 + dependencies: 1461 + forwarded: 0.2.0 1462 + ipaddr.js: 1.9.1 1463 + dev: false 1464 + 1465 + /pump@3.0.0: 1466 + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 1467 + dependencies: 1468 + end-of-stream: 1.4.4 1469 + once: 1.4.0 1470 + dev: false 1471 + 1472 + /punycode@2.3.1: 1473 + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1474 + engines: {node: '>=6'} 1475 + dev: true 1476 + 1477 + /qs@6.11.0: 1478 + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} 1479 + engines: {node: '>=0.6'} 1480 + dependencies: 1481 + side-channel: 1.0.6 1482 + dev: false 1483 + 1484 + /queue-microtask@1.2.3: 1485 + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1486 + dev: true 1487 + 1488 + /range-parser@1.2.1: 1489 + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 1490 + engines: {node: '>= 0.6'} 1491 + dev: false 1492 + 1493 + /raw-body@2.5.2: 1494 + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} 1495 + engines: {node: '>= 0.8'} 1496 + dependencies: 1497 + bytes: 3.1.2 1498 + http-errors: 2.0.0 1499 + iconv-lite: 0.4.24 1500 + unpipe: 1.0.0 1501 + dev: false 1502 + 1503 + /rc@1.2.8: 1504 + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 1505 + hasBin: true 1506 + dependencies: 1507 + deep-extend: 0.6.0 1508 + ini: 1.3.8 1509 + minimist: 1.2.8 1510 + strip-json-comments: 2.0.1 1511 + dev: false 1512 + 1513 + /readable-stream@3.6.2: 1514 + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1515 + engines: {node: '>= 6'} 1516 + dependencies: 1517 + inherits: 2.0.4 1518 + string_decoder: 1.3.0 1519 + util-deprecate: 1.0.2 1520 + dev: false 1521 + 1522 + /resolve-from@4.0.0: 1523 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1524 + engines: {node: '>=4'} 1525 + dev: true 1526 + 1527 + /reusify@1.0.4: 1528 + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1529 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1530 + dev: true 1531 + 1532 + /rimraf@3.0.2: 1533 + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1534 + hasBin: true 1535 + dependencies: 1536 + glob: 7.2.3 1537 + dev: true 1538 + 1539 + /run-parallel@1.2.0: 1540 + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1541 + dependencies: 1542 + queue-microtask: 1.2.3 1543 + dev: true 1544 + 1545 + /safe-buffer@5.2.1: 1546 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1547 + dev: false 1548 + 1549 + /safer-buffer@2.1.2: 1550 + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1551 + dev: false 1552 + 1553 + /semver@7.6.0: 1554 + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 1555 + engines: {node: '>=10'} 1556 + hasBin: true 1557 + dependencies: 1558 + lru-cache: 6.0.0 1559 + 1560 + /send@0.18.0: 1561 + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} 1562 + engines: {node: '>= 0.8.0'} 1563 + dependencies: 1564 + debug: 2.6.9 1565 + depd: 2.0.0 1566 + destroy: 1.2.0 1567 + encodeurl: 1.0.2 1568 + escape-html: 1.0.3 1569 + etag: 1.8.1 1570 + fresh: 0.5.2 1571 + http-errors: 2.0.0 1572 + mime: 1.6.0 1573 + ms: 2.1.3 1574 + on-finished: 2.4.1 1575 + range-parser: 1.2.1 1576 + statuses: 2.0.1 1577 + transitivePeerDependencies: 1578 + - supports-color 1579 + dev: false 1580 + 1581 + /serve-static@1.15.0: 1582 + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} 1583 + engines: {node: '>= 0.8.0'} 1584 + dependencies: 1585 + encodeurl: 1.0.2 1586 + escape-html: 1.0.3 1587 + parseurl: 1.3.3 1588 + send: 0.18.0 1589 + transitivePeerDependencies: 1590 + - supports-color 1591 + dev: false 1592 + 1593 + /set-function-length@1.2.2: 1594 + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1595 + engines: {node: '>= 0.4'} 1596 + dependencies: 1597 + define-data-property: 1.1.4 1598 + es-errors: 1.3.0 1599 + function-bind: 1.1.2 1600 + get-intrinsic: 1.2.4 1601 + gopd: 1.0.1 1602 + has-property-descriptors: 1.0.2 1603 + dev: false 1604 + 1605 + /setprototypeof@1.2.0: 1606 + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1607 + dev: false 1608 + 1609 + /shebang-command@2.0.0: 1610 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1611 + engines: {node: '>=8'} 1612 + dependencies: 1613 + shebang-regex: 3.0.0 1614 + dev: true 1615 + 1616 + /shebang-regex@3.0.0: 1617 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1618 + engines: {node: '>=8'} 1619 + dev: true 1620 + 1621 + /side-channel@1.0.6: 1622 + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 1623 + engines: {node: '>= 0.4'} 1624 + dependencies: 1625 + call-bind: 1.0.7 1626 + es-errors: 1.3.0 1627 + get-intrinsic: 1.2.4 1628 + object-inspect: 1.13.2 1629 + dev: false 1630 + 1631 + /simple-concat@1.0.1: 1632 + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} 1633 + dev: false 1634 + 1635 + /simple-get@4.0.1: 1636 + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} 1637 + dependencies: 1638 + decompress-response: 6.0.0 1639 + once: 1.4.0 1640 + simple-concat: 1.0.1 1641 + dev: false 1642 + 1643 + /slash@3.0.0: 1644 + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1645 + engines: {node: '>=8'} 1646 + dev: true 1647 + 1648 + /statuses@2.0.1: 1649 + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 1650 + engines: {node: '>= 0.8'} 1651 + dev: false 1652 + 1653 + /string_decoder@1.3.0: 1654 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1655 + dependencies: 1656 + safe-buffer: 5.2.1 1657 + dev: false 1658 + 1659 + /strip-ansi@6.0.1: 1660 + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1661 + engines: {node: '>=8'} 1662 + dependencies: 1663 + ansi-regex: 5.0.1 1664 + dev: true 1665 + 1666 + /strip-json-comments@2.0.1: 1667 + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 1668 + engines: {node: '>=0.10.0'} 1669 + dev: false 1670 + 1671 + /strip-json-comments@3.1.1: 1672 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1673 + engines: {node: '>=8'} 1674 + dev: true 1675 + 1676 + /supports-color@7.2.0: 1677 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1678 + engines: {node: '>=8'} 1679 + dependencies: 1680 + has-flag: 4.0.0 1681 + dev: true 1682 + 1683 + /tar-fs@2.1.1: 1684 + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} 1685 + dependencies: 1686 + chownr: 1.1.4 1687 + mkdirp-classic: 0.5.3 1688 + pump: 3.0.0 1689 + tar-stream: 2.2.0 1690 + dev: false 1691 + 1692 + /tar-stream@2.2.0: 1693 + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 1694 + engines: {node: '>=6'} 1695 + dependencies: 1696 + bl: 4.1.0 1697 + end-of-stream: 1.4.4 1698 + fs-constants: 1.0.0 1699 + inherits: 2.0.4 1700 + readable-stream: 3.6.2 1701 + dev: false 1702 + 1703 + /text-table@0.2.0: 1704 + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1705 + dev: true 1706 + 1707 + /tlds@1.254.0: 1708 + resolution: {integrity: sha512-YY4ei7K7gPGifqNSrfMaPdqTqiHcwYKUJ7zhLqQOK2ildlGgti5TSwJiXXN1YqG17I2GYZh5cZqv2r5fwBUM+w==} 1709 + hasBin: true 1710 + dev: true 1711 + 1712 + /to-regex-range@5.0.1: 1713 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1714 + engines: {node: '>=8.0'} 1715 + dependencies: 1716 + is-number: 7.0.0 1717 + dev: true 1718 + 1719 + /toidentifier@1.0.1: 1720 + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 1721 + engines: {node: '>=0.6'} 1722 + dev: false 1723 + 1724 + /ts-api-utils@1.2.1(typescript@5.2.2): 1725 + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} 1726 + engines: {node: '>=16'} 1727 + peerDependencies: 1728 + typescript: '>=4.2.0' 1729 + dependencies: 1730 + typescript: 5.2.2 1731 + dev: true 1732 + 1733 + /tunnel-agent@0.6.0: 1734 + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 1735 + dependencies: 1736 + safe-buffer: 5.2.1 1737 + dev: false 1738 + 1739 + /type-check@0.4.0: 1740 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1741 + engines: {node: '>= 0.8.0'} 1742 + dependencies: 1743 + prelude-ls: 1.2.1 1744 + dev: true 1745 + 1746 + /type-fest@0.20.2: 1747 + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1748 + engines: {node: '>=10'} 1749 + dev: true 1750 + 1751 + /type-is@1.6.18: 1752 + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 1753 + engines: {node: '>= 0.6'} 1754 + dependencies: 1755 + media-typer: 0.3.0 1756 + mime-types: 2.1.35 1757 + dev: false 1758 + 1759 + /typescript@5.2.2: 1760 + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} 1761 + engines: {node: '>=14.17'} 1762 + hasBin: true 1763 + dev: true 1764 + 1765 + /uint8arrays@3.0.0: 1766 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 1767 + dependencies: 1768 + multiformats: 9.9.0 1769 + dev: true 1770 + 1771 + /undici-types@5.26.5: 1772 + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 1773 + dev: true 1774 + 1775 + /unpipe@1.0.0: 1776 + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 1777 + engines: {node: '>= 0.8'} 1778 + dev: false 1779 + 1780 + /uri-js@4.4.1: 1781 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1782 + dependencies: 1783 + punycode: 2.3.1 1784 + dev: true 1785 + 1786 + /util-deprecate@1.0.2: 1787 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1788 + dev: false 1789 + 1790 + /utils-merge@1.0.1: 1791 + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 1792 + engines: {node: '>= 0.4.0'} 1793 + dev: false 1794 + 1795 + /vary@1.1.2: 1796 + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 1797 + engines: {node: '>= 0.8'} 1798 + dev: false 1799 + 1800 + /which@2.0.2: 1801 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1802 + engines: {node: '>= 8'} 1803 + hasBin: true 1804 + dependencies: 1805 + isexe: 2.0.0 1806 + dev: true 1807 + 1808 + /wrappy@1.0.2: 1809 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1810 + 1811 + /yallist@4.0.0: 1812 + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1813 + 1814 + /yocto-queue@0.1.0: 1815 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1816 + engines: {node: '>=10'} 1817 + dev: true 1818 + 1819 + /zod@3.23.8: 1820 + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 1821 + dev: true
+47
src/LabelerServer.ts
··· 1 + import express, { type Express } from "express"; 2 + import Database, { type Database as SQLiteDatabase } from "better-sqlite3"; 3 + 4 + export interface LabelerOptions { 5 + did: string; 6 + dbFile?: string; 7 + } 8 + 9 + export class LabelerServer { 10 + app: Express = express(); 11 + 12 + db: SQLiteDatabase; 13 + 14 + did: string; 15 + 16 + constructor(options: LabelerOptions) { 17 + this.did = options.did; 18 + this.db = new Database(options.dbFile ?? "labels.db"); 19 + this.db.exec(` 20 + CREATE TABLE IF NOT EXISTS labels ( 21 + id INTEGER PRIMARY KEY AUTOINCREMENT, 22 + src TEXT NOT NULL, 23 + uri TEXT NOT NULL, 24 + cid TEXT NOT NULL, 25 + val TEXT NOT NULL, 26 + neg BOOLEAN NOT NULL, 27 + cts DATETIME NOT NULL, 28 + exp DATETIME, 29 + sig BLOB 30 + ); 31 + `); 32 + } 33 + 34 + 35 + } 36 + 37 + export interface Label { 38 + ver?: number; 39 + src: string; 40 + uri: string; 41 + cid?: string; 42 + val: string; 43 + neg?: boolean; 44 + cts: string; 45 + exp?: string; 46 + sig?: Buffer 47 + }
+28
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "lib": ["esnext"], 4 + "target": "esnext", 5 + "module": "nodenext", 6 + "moduleResolution": "nodenext", 7 + "moduleDetection": "force", 8 + 9 + "declaration": true, 10 + 11 + "skipLibCheck": true, 12 + "composite": true, 13 + "newLine": "lf", 14 + 15 + "forceConsistentCasingInFileNames": true, 16 + "useDefineForClassFields": true, 17 + 18 + "noUnusedLocals": true, 19 + "noUnusedParameters": true, 20 + "noImplicitOverride": true, 21 + "noImplicitAny": true, 22 + "exactOptionalPropertyTypes": true, 23 + "strict": true, 24 + 25 + "outDir": "dist", 26 + "rootDir": "src" 27 + } 28 + }
+3
typedoc.json
··· 1 + { 2 + "entryPoints": ["src/index.ts"] 3 + }