├── .gitignore ├── README.md ├── package-lock.json ├── package.json └── src ├── aternos.js ├── index.js └── puppeteer-helper.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | .vscode -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # aternosAPI 2 | 3 | Non Official [Aternos](https://aternos.org) API written in Node.js 4 | 5 | Aternos is a legitimate corporation and its benefits comes with ads in the web page. Please use it with responsibility. 6 | 7 | ### Installation 8 | 9 | ```bash 10 | git clone https:// 11 | cd aternosAPI 12 | npm install 13 | ``` 14 | 15 | ### Configuration 16 | 17 | Create .env file in aternosAPI directory. 18 | ``` 19 | ATERNOS_USER=your_user 20 | ATERNOS_PASSWORD=your_password 21 | ``` 22 | 23 | Full .env file looks like this. 24 | ``` 25 | ATERNOS_USER=your_user 26 | ATERNOS_PASSWORD=your_password 27 | HOST_NAME=localhost 28 | PORT=3000 29 | API_PASSWORD=strong_password 30 | TOKEN_KEY=vulnerable_token_key 31 | PUBLIC_START=false 32 | PUBLIC_INFO=false 33 | DEBUG=false 34 | ``` 35 | 36 | - **ATERNOS_USER**: Required. Aternos account user. 37 | - **ATERNOS_PASSWORD**: Required. Aternos account password. 38 | - **HOST_NAME**: Rest mode only. IP or Hostname of the API. Default "localhost". 39 | - **PORT**: Rest mode only. Port of the API. Default "3000". 40 | - **API_PASSWORD**: Rest mode only. Required password for get the Token. **If not set, entire API is public**. 41 | - **TOKEN_KEY**: Rest auth mode only. Access Token for access. Default "vulnerable_token_key". 42 | - **PUBLIC_START**: Rest auth mode only. Disable auth for Start route only. If server is started, this route do nothing. Default "false". 43 | - **PUBLIC_INFO**: Rest auth mode only. Disable auth for Info and Gamedig. Default "false". 44 | - **DEBUG**: If true show browser navigation. Defaul "false". 45 | 46 | ### Usage 47 | 48 | If you only have one server, use one of these commands: 49 | ```bash 50 | npm run rest #for start the rest api, visit printed address for paths 51 | npm run start #starts the server 52 | npm run start-wait #starts the server and wait the queue for confirm 53 | npm run stop #stop the server 54 | npm run restart #restart the server 55 | npm run info #get the name, info and queue 56 | npm run gamedig #get gamedig complete info 57 | ``` 58 | 59 | If you have multiple servers, you can add --id param: 60 | ```bash 61 | npm run start -- --id=myserver 62 | ``` 63 | or full usage: 64 | ```bash 65 | node src/index.js --[rest, start [--wait], stop, restart, info, gamedig] [--id=] 66 | ``` 67 | 68 | ### Rest API 69 | 70 | Summary can be found on root path. 71 | 72 | If the API is password protected: 73 | - Post at /login with json body {"password":"api_password"} for get the token. 74 | - Add to the header "x-access-token" with the token. 75 | - Token is only valid for your IP address. 76 | 77 | --- 78 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aternosapi", 3 | "version": "0.0.1", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "aternosapi", 9 | "version": "0.0.1", 10 | "license": "ISC", 11 | "dependencies": { 12 | "dotenv": "^8.2.0", 13 | "express": "^4.17.1", 14 | "gamedig": "^2.0.23", 15 | "jsonwebtoken": "^8.5.1", 16 | "puppeteer": "^5.5.0", 17 | "puppeteer-extra": "^3.2.3", 18 | "puppeteer-extra-plugin-adblocker": "^2.12.0", 19 | "puppeteer-extra-plugin-stealth": "^2.9.0", 20 | "yargs": "^16.0.3" 21 | } 22 | }, 23 | "node_modules/@cliqz/adblocker": { 24 | "version": "1.23.2", 25 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker/-/adblocker-1.23.2.tgz", 26 | "integrity": "sha512-u4u/iunhMoCQanfzvruBjNSqP9lu+y8tub3zhPZwtyrmmkXFcEark09/3qvq4jBCzqZQjdDjHlWaX6k1PjnUmg==", 27 | "dependencies": { 28 | "@cliqz/adblocker-content": "^1.23.2", 29 | "@cliqz/adblocker-extended-selectors": "^1.23.2", 30 | "@remusao/guess-url-type": "^1.1.2", 31 | "@remusao/small": "^1.1.2", 32 | "@remusao/smaz": "^1.7.1", 33 | "@types/chrome": "^0.0.164", 34 | "@types/firefox-webext-browser": "^94.0.0", 35 | "tldts-experimental": "^5.6.21" 36 | } 37 | }, 38 | "node_modules/@cliqz/adblocker-content": { 39 | "version": "1.23.2", 40 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker-content/-/adblocker-content-1.23.2.tgz", 41 | "integrity": "sha512-J2jRtd1l3O/bDlXLBFgzC8Z/M84k2SL1pzqpoLRxYrJ3VbDv2ZgrIjUkTBR8hExKZ1DHnGYOrZD014N0YRQvVw==", 42 | "dependencies": { 43 | "@cliqz/adblocker-extended-selectors": "^1.23.2" 44 | } 45 | }, 46 | "node_modules/@cliqz/adblocker-extended-selectors": { 47 | "version": "1.23.2", 48 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.23.2.tgz", 49 | "integrity": "sha512-JokCWTcw0XjBxAv7WGzfVfdGjz6OsND4eEhEQUDXxzkzbv4qOe8T+fi42lphfshlt89svAIl18zKp0Ibx9H9Vw==" 50 | }, 51 | "node_modules/@cliqz/adblocker-puppeteer": { 52 | "version": "1.22.6", 53 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker-puppeteer/-/adblocker-puppeteer-1.22.6.tgz", 54 | "integrity": "sha512-Yg+64gsBfG8NKIJTKRg+sgK8G32W/z4qNEoMGdGJc7mdKVCn+y93WklDMO3pCy64u9jqUVS/Rd7z/Z96dX3K8Q==", 55 | "dependencies": { 56 | "@cliqz/adblocker": "^1.22.6", 57 | "@cliqz/adblocker-content": "^1.22.6", 58 | "tldts-experimental": "^5.6.21" 59 | }, 60 | "peerDependencies": { 61 | "puppeteer": "5.x || 6.x || 7.x || 8.x || 9.x || 10.x" 62 | } 63 | }, 64 | "node_modules/@remusao/guess-url-type": { 65 | "version": "1.2.1", 66 | "resolved": "https://registry.npmjs.org/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz", 67 | "integrity": "sha512-rbOqre2jW8STjheOsOaQHLgYBaBZ9Owbdt8NO7WvNZftJlaG3y/K9oOkl8ZUpuFBisIhmBuMEW6c+YrQl5inRA==" 68 | }, 69 | "node_modules/@remusao/small": { 70 | "version": "1.2.1", 71 | "resolved": "https://registry.npmjs.org/@remusao/small/-/small-1.2.1.tgz", 72 | "integrity": "sha512-7MjoGt0TJMVw1GPKgWq6SJPws1SLsUXQRa43Umht+nkyw2jnpy3WpiLNqGdwo5rHr5Wp9B2W/Pm5RQp656UJdw==" 73 | }, 74 | "node_modules/@remusao/smaz": { 75 | "version": "1.9.1", 76 | "resolved": "https://registry.npmjs.org/@remusao/smaz/-/smaz-1.9.1.tgz", 77 | "integrity": "sha512-e6BLuP8oaXCZ9+v46Is4ilAZ/Vq6YLgmBP204Ixgk1qTjXmqvFYG7+AS7v9nsZdGOy96r9DWGFbbDVgMxwu1rA==", 78 | "dependencies": { 79 | "@remusao/smaz-compress": "^1.9.1", 80 | "@remusao/smaz-decompress": "^1.9.1" 81 | } 82 | }, 83 | "node_modules/@remusao/smaz-compress": { 84 | "version": "1.9.1", 85 | "resolved": "https://registry.npmjs.org/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz", 86 | "integrity": "sha512-E2f48TwloQu3r6BdLOGF2aczeH7bJ/32oJGqvzT9SKur0cuUnLcZ7ZXP874E2fwmdE+cXzfC7bKzp79cDnmeyw==", 87 | "dependencies": { 88 | "@remusao/trie": "^1.4.1" 89 | } 90 | }, 91 | "node_modules/@remusao/smaz-decompress": { 92 | "version": "1.9.1", 93 | "resolved": "https://registry.npmjs.org/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz", 94 | "integrity": "sha512-TfjKKprYe3n47od8auhvJ/Ikj9kQTbDTe71ynKlxslrvvUhlIV3VQSuwYuMWMbdz1fIs0H/fxCN1Z8/H3km6/A==" 95 | }, 96 | "node_modules/@remusao/trie": { 97 | "version": "1.4.1", 98 | "resolved": "https://registry.npmjs.org/@remusao/trie/-/trie-1.4.1.tgz", 99 | "integrity": "sha512-yvwa+aCyYI/UjeD39BnpMypG8N06l86wIDW1/PAc6ihBRnodIfZDwccxQN3n1t74wduzaz74m4ZMHZnB06567Q==" 100 | }, 101 | "node_modules/@sindresorhus/is": { 102 | "version": "4.2.0", 103 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", 104 | "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", 105 | "engines": { 106 | "node": ">=10" 107 | }, 108 | "funding": { 109 | "url": "https://github.com/sindresorhus/is?sponsor=1" 110 | } 111 | }, 112 | "node_modules/@szmarczak/http-timer": { 113 | "version": "4.0.6", 114 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", 115 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", 116 | "dependencies": { 117 | "defer-to-connect": "^2.0.0" 118 | }, 119 | "engines": { 120 | "node": ">=10" 121 | } 122 | }, 123 | "node_modules/@types/cacheable-request": { 124 | "version": "6.0.2", 125 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", 126 | "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", 127 | "dependencies": { 128 | "@types/http-cache-semantics": "*", 129 | "@types/keyv": "*", 130 | "@types/node": "*", 131 | "@types/responselike": "*" 132 | } 133 | }, 134 | "node_modules/@types/chrome": { 135 | "version": "0.0.164", 136 | "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.164.tgz", 137 | "integrity": "sha512-/EvjbfcowiA+f8Fwv5PSzxHhnAgjIx50Bjy1zQQYYwxlbJ+rI07CXMhrxwz4jUZlxLjnn/kugNQBjZIN58pKyg==", 138 | "dependencies": { 139 | "@types/filesystem": "*", 140 | "@types/har-format": "*" 141 | } 142 | }, 143 | "node_modules/@types/debug": { 144 | "version": "4.1.7", 145 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", 146 | "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", 147 | "dependencies": { 148 | "@types/ms": "*" 149 | } 150 | }, 151 | "node_modules/@types/filesystem": { 152 | "version": "0.0.32", 153 | "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", 154 | "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", 155 | "dependencies": { 156 | "@types/filewriter": "*" 157 | } 158 | }, 159 | "node_modules/@types/filewriter": { 160 | "version": "0.0.29", 161 | "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", 162 | "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" 163 | }, 164 | "node_modules/@types/firefox-webext-browser": { 165 | "version": "94.0.1", 166 | "resolved": "https://registry.npmjs.org/@types/firefox-webext-browser/-/firefox-webext-browser-94.0.1.tgz", 167 | "integrity": "sha512-I6iHRQJSTZ+gYt2IxdH2RRAMvcUyK8v5Ig7fHQR0IwUNYP7hz9+cziBVIKxLCO6XI7fiyRsNOWObfl3/4Js2Lg==" 168 | }, 169 | "node_modules/@types/har-format": { 170 | "version": "1.2.8", 171 | "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.8.tgz", 172 | "integrity": "sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==" 173 | }, 174 | "node_modules/@types/http-cache-semantics": { 175 | "version": "4.0.1", 176 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", 177 | "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" 178 | }, 179 | "node_modules/@types/keyv": { 180 | "version": "3.1.3", 181 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", 182 | "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", 183 | "dependencies": { 184 | "@types/node": "*" 185 | } 186 | }, 187 | "node_modules/@types/ms": { 188 | "version": "0.7.31", 189 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", 190 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" 191 | }, 192 | "node_modules/@types/node": { 193 | "version": "17.0.7", 194 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", 195 | "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==" 196 | }, 197 | "node_modules/@types/puppeteer": { 198 | "version": "5.4.4", 199 | "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.4.tgz", 200 | "integrity": "sha512-3Nau+qi69CN55VwZb0ATtdUAlYlqOOQ3OfQfq0Hqgc4JMFXiQT/XInlwQ9g6LbicDslE6loIFsXFklGh5XmI6Q==", 201 | "dependencies": { 202 | "@types/node": "*" 203 | } 204 | }, 205 | "node_modules/@types/responselike": { 206 | "version": "1.0.0", 207 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", 208 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", 209 | "dependencies": { 210 | "@types/node": "*" 211 | } 212 | }, 213 | "node_modules/@types/yauzl": { 214 | "version": "2.9.2", 215 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", 216 | "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", 217 | "optional": true, 218 | "dependencies": { 219 | "@types/node": "*" 220 | } 221 | }, 222 | "node_modules/accepts": { 223 | "version": "1.3.7", 224 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 225 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 226 | "dependencies": { 227 | "mime-types": "~2.1.24", 228 | "negotiator": "0.6.2" 229 | }, 230 | "engines": { 231 | "node": ">= 0.6" 232 | } 233 | }, 234 | "node_modules/agent-base": { 235 | "version": "5.1.1", 236 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", 237 | "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", 238 | "engines": { 239 | "node": ">= 6.0.0" 240 | } 241 | }, 242 | "node_modules/amdefine": { 243 | "version": "1.0.1", 244 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 245 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", 246 | "engines": { 247 | "node": ">=0.4.2" 248 | } 249 | }, 250 | "node_modules/ansi-regex": { 251 | "version": "5.0.1", 252 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 253 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 254 | "engines": { 255 | "node": ">=8" 256 | } 257 | }, 258 | "node_modules/ansi-styles": { 259 | "version": "4.3.0", 260 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 261 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 262 | "dependencies": { 263 | "color-convert": "^2.0.1" 264 | }, 265 | "engines": { 266 | "node": ">=8" 267 | }, 268 | "funding": { 269 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 270 | } 271 | }, 272 | "node_modules/any-promise": { 273 | "version": "1.3.0", 274 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 275 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" 276 | }, 277 | "node_modules/arr-union": { 278 | "version": "3.1.0", 279 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 280 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", 281 | "engines": { 282 | "node": ">=0.10.0" 283 | } 284 | }, 285 | "node_modules/array-flatten": { 286 | "version": "1.1.1", 287 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 288 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 289 | }, 290 | "node_modules/balanced-match": { 291 | "version": "1.0.2", 292 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 293 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 294 | }, 295 | "node_modules/barse": { 296 | "version": "0.4.3", 297 | "resolved": "https://registry.npmjs.org/barse/-/barse-0.4.3.tgz", 298 | "integrity": "sha1-KJhk15XQECu7sYHmbs0IxUobwMs=", 299 | "dependencies": { 300 | "readable-stream": "~1.0.2" 301 | } 302 | }, 303 | "node_modules/base64-js": { 304 | "version": "1.5.1", 305 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 306 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 307 | "funding": [ 308 | { 309 | "type": "github", 310 | "url": "https://github.com/sponsors/feross" 311 | }, 312 | { 313 | "type": "patreon", 314 | "url": "https://www.patreon.com/feross" 315 | }, 316 | { 317 | "type": "consulting", 318 | "url": "https://feross.org/support" 319 | } 320 | ] 321 | }, 322 | "node_modules/bl": { 323 | "version": "4.1.0", 324 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 325 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 326 | "dependencies": { 327 | "buffer": "^5.5.0", 328 | "inherits": "^2.0.4", 329 | "readable-stream": "^3.4.0" 330 | } 331 | }, 332 | "node_modules/bl/node_modules/readable-stream": { 333 | "version": "3.6.0", 334 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 335 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 336 | "dependencies": { 337 | "inherits": "^2.0.3", 338 | "string_decoder": "^1.1.1", 339 | "util-deprecate": "^1.0.1" 340 | }, 341 | "engines": { 342 | "node": ">= 6" 343 | } 344 | }, 345 | "node_modules/bl/node_modules/string_decoder": { 346 | "version": "1.3.0", 347 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 348 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 349 | "dependencies": { 350 | "safe-buffer": "~5.2.0" 351 | } 352 | }, 353 | "node_modules/body-parser": { 354 | "version": "1.19.1", 355 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", 356 | "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", 357 | "dependencies": { 358 | "bytes": "3.1.1", 359 | "content-type": "~1.0.4", 360 | "debug": "2.6.9", 361 | "depd": "~1.1.2", 362 | "http-errors": "1.8.1", 363 | "iconv-lite": "0.4.24", 364 | "on-finished": "~2.3.0", 365 | "qs": "6.9.6", 366 | "raw-body": "2.4.2", 367 | "type-is": "~1.6.18" 368 | }, 369 | "engines": { 370 | "node": ">= 0.8" 371 | } 372 | }, 373 | "node_modules/boolbase": { 374 | "version": "1.0.0", 375 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 376 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" 377 | }, 378 | "node_modules/brace-expansion": { 379 | "version": "1.1.11", 380 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 381 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 382 | "dependencies": { 383 | "balanced-match": "^1.0.0", 384 | "concat-map": "0.0.1" 385 | } 386 | }, 387 | "node_modules/buffer": { 388 | "version": "5.7.1", 389 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 390 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 391 | "funding": [ 392 | { 393 | "type": "github", 394 | "url": "https://github.com/sponsors/feross" 395 | }, 396 | { 397 | "type": "patreon", 398 | "url": "https://www.patreon.com/feross" 399 | }, 400 | { 401 | "type": "consulting", 402 | "url": "https://feross.org/support" 403 | } 404 | ], 405 | "dependencies": { 406 | "base64-js": "^1.3.1", 407 | "ieee754": "^1.1.13" 408 | } 409 | }, 410 | "node_modules/buffer-crc32": { 411 | "version": "0.2.13", 412 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 413 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 414 | "engines": { 415 | "node": "*" 416 | } 417 | }, 418 | "node_modules/buffer-equal-constant-time": { 419 | "version": "1.0.1", 420 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 421 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" 422 | }, 423 | "node_modules/bytes": { 424 | "version": "3.1.1", 425 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", 426 | "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", 427 | "engines": { 428 | "node": ">= 0.8" 429 | } 430 | }, 431 | "node_modules/cacheable-lookup": { 432 | "version": "5.0.4", 433 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", 434 | "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", 435 | "engines": { 436 | "node": ">=10.6.0" 437 | } 438 | }, 439 | "node_modules/cacheable-request": { 440 | "version": "7.0.2", 441 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", 442 | "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", 443 | "dependencies": { 444 | "clone-response": "^1.0.2", 445 | "get-stream": "^5.1.0", 446 | "http-cache-semantics": "^4.0.0", 447 | "keyv": "^4.0.0", 448 | "lowercase-keys": "^2.0.0", 449 | "normalize-url": "^6.0.1", 450 | "responselike": "^2.0.0" 451 | }, 452 | "engines": { 453 | "node": ">=8" 454 | } 455 | }, 456 | "node_modules/cheerio": { 457 | "version": "1.0.0-rc.10", 458 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", 459 | "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", 460 | "dependencies": { 461 | "cheerio-select": "^1.5.0", 462 | "dom-serializer": "^1.3.2", 463 | "domhandler": "^4.2.0", 464 | "htmlparser2": "^6.1.0", 465 | "parse5": "^6.0.1", 466 | "parse5-htmlparser2-tree-adapter": "^6.0.1", 467 | "tslib": "^2.2.0" 468 | }, 469 | "engines": { 470 | "node": ">= 6" 471 | }, 472 | "funding": { 473 | "url": "https://github.com/cheeriojs/cheerio?sponsor=1" 474 | } 475 | }, 476 | "node_modules/cheerio-select": { 477 | "version": "1.5.0", 478 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", 479 | "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", 480 | "dependencies": { 481 | "css-select": "^4.1.3", 482 | "css-what": "^5.0.1", 483 | "domelementtype": "^2.2.0", 484 | "domhandler": "^4.2.0", 485 | "domutils": "^2.7.0" 486 | }, 487 | "funding": { 488 | "url": "https://github.com/sponsors/fb55" 489 | } 490 | }, 491 | "node_modules/chownr": { 492 | "version": "1.1.4", 493 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 494 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" 495 | }, 496 | "node_modules/cliui": { 497 | "version": "7.0.4", 498 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 499 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 500 | "dependencies": { 501 | "string-width": "^4.2.0", 502 | "strip-ansi": "^6.0.0", 503 | "wrap-ansi": "^7.0.0" 504 | } 505 | }, 506 | "node_modules/clone-deep": { 507 | "version": "0.2.4", 508 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", 509 | "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", 510 | "dependencies": { 511 | "for-own": "^0.1.3", 512 | "is-plain-object": "^2.0.1", 513 | "kind-of": "^3.0.2", 514 | "lazy-cache": "^1.0.3", 515 | "shallow-clone": "^0.1.2" 516 | }, 517 | "engines": { 518 | "node": ">=0.10.0" 519 | } 520 | }, 521 | "node_modules/clone-response": { 522 | "version": "1.0.2", 523 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 524 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", 525 | "dependencies": { 526 | "mimic-response": "^1.0.0" 527 | } 528 | }, 529 | "node_modules/color-convert": { 530 | "version": "2.0.1", 531 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 532 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 533 | "dependencies": { 534 | "color-name": "~1.1.4" 535 | }, 536 | "engines": { 537 | "node": ">=7.0.0" 538 | } 539 | }, 540 | "node_modules/color-name": { 541 | "version": "1.1.4", 542 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 543 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 544 | }, 545 | "node_modules/commander": { 546 | "version": "2.8.1", 547 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 548 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 549 | "dependencies": { 550 | "graceful-readlink": ">= 1.0.0" 551 | }, 552 | "engines": { 553 | "node": ">= 0.6.x" 554 | } 555 | }, 556 | "node_modules/compressjs": { 557 | "version": "1.0.3", 558 | "resolved": "https://registry.npmjs.org/compressjs/-/compressjs-1.0.3.tgz", 559 | "integrity": "sha1-ldt03VuQOM+AvKMhqw7eJxtJWbY=", 560 | "dependencies": { 561 | "amdefine": "~1.0.0", 562 | "commander": "~2.8.1" 563 | }, 564 | "bin": { 565 | "compressjs": "bin/compressjs" 566 | } 567 | }, 568 | "node_modules/concat-map": { 569 | "version": "0.0.1", 570 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 571 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 572 | }, 573 | "node_modules/content-disposition": { 574 | "version": "0.5.4", 575 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 576 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 577 | "dependencies": { 578 | "safe-buffer": "5.2.1" 579 | }, 580 | "engines": { 581 | "node": ">= 0.6" 582 | } 583 | }, 584 | "node_modules/content-type": { 585 | "version": "1.0.4", 586 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 587 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", 588 | "engines": { 589 | "node": ">= 0.6" 590 | } 591 | }, 592 | "node_modules/cookie": { 593 | "version": "0.4.1", 594 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", 595 | "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", 596 | "engines": { 597 | "node": ">= 0.6" 598 | } 599 | }, 600 | "node_modules/cookie-signature": { 601 | "version": "1.0.6", 602 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 603 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 604 | }, 605 | "node_modules/core-util-is": { 606 | "version": "1.0.3", 607 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 608 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" 609 | }, 610 | "node_modules/css-select": { 611 | "version": "4.2.1", 612 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", 613 | "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", 614 | "dependencies": { 615 | "boolbase": "^1.0.0", 616 | "css-what": "^5.1.0", 617 | "domhandler": "^4.3.0", 618 | "domutils": "^2.8.0", 619 | "nth-check": "^2.0.1" 620 | }, 621 | "funding": { 622 | "url": "https://github.com/sponsors/fb55" 623 | } 624 | }, 625 | "node_modules/css-what": { 626 | "version": "5.1.0", 627 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", 628 | "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", 629 | "engines": { 630 | "node": ">= 6" 631 | }, 632 | "funding": { 633 | "url": "https://github.com/sponsors/fb55" 634 | } 635 | }, 636 | "node_modules/debug": { 637 | "version": "2.6.9", 638 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 639 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 640 | "dependencies": { 641 | "ms": "2.0.0" 642 | } 643 | }, 644 | "node_modules/decompress-response": { 645 | "version": "6.0.0", 646 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 647 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 648 | "dependencies": { 649 | "mimic-response": "^3.1.0" 650 | }, 651 | "engines": { 652 | "node": ">=10" 653 | }, 654 | "funding": { 655 | "url": "https://github.com/sponsors/sindresorhus" 656 | } 657 | }, 658 | "node_modules/decompress-response/node_modules/mimic-response": { 659 | "version": "3.1.0", 660 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 661 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 662 | "engines": { 663 | "node": ">=10" 664 | }, 665 | "funding": { 666 | "url": "https://github.com/sponsors/sindresorhus" 667 | } 668 | }, 669 | "node_modules/deepmerge": { 670 | "version": "4.2.2", 671 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 672 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 673 | "engines": { 674 | "node": ">=0.10.0" 675 | } 676 | }, 677 | "node_modules/defer-to-connect": { 678 | "version": "2.0.1", 679 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", 680 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", 681 | "engines": { 682 | "node": ">=10" 683 | } 684 | }, 685 | "node_modules/depd": { 686 | "version": "1.1.2", 687 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 688 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", 689 | "engines": { 690 | "node": ">= 0.6" 691 | } 692 | }, 693 | "node_modules/destroy": { 694 | "version": "1.0.4", 695 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 696 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 697 | }, 698 | "node_modules/devtools-protocol": { 699 | "version": "0.0.818844", 700 | "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz", 701 | "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==" 702 | }, 703 | "node_modules/dom-serializer": { 704 | "version": "1.3.2", 705 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", 706 | "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", 707 | "dependencies": { 708 | "domelementtype": "^2.0.1", 709 | "domhandler": "^4.2.0", 710 | "entities": "^2.0.0" 711 | }, 712 | "funding": { 713 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 714 | } 715 | }, 716 | "node_modules/domelementtype": { 717 | "version": "2.2.0", 718 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 719 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", 720 | "funding": [ 721 | { 722 | "type": "github", 723 | "url": "https://github.com/sponsors/fb55" 724 | } 725 | ] 726 | }, 727 | "node_modules/domhandler": { 728 | "version": "4.3.0", 729 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", 730 | "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", 731 | "dependencies": { 732 | "domelementtype": "^2.2.0" 733 | }, 734 | "engines": { 735 | "node": ">= 4" 736 | }, 737 | "funding": { 738 | "url": "https://github.com/fb55/domhandler?sponsor=1" 739 | } 740 | }, 741 | "node_modules/domutils": { 742 | "version": "2.8.0", 743 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 744 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 745 | "dependencies": { 746 | "dom-serializer": "^1.0.1", 747 | "domelementtype": "^2.2.0", 748 | "domhandler": "^4.2.0" 749 | }, 750 | "funding": { 751 | "url": "https://github.com/fb55/domutils?sponsor=1" 752 | } 753 | }, 754 | "node_modules/dotenv": { 755 | "version": "8.6.0", 756 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", 757 | "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", 758 | "engines": { 759 | "node": ">=10" 760 | } 761 | }, 762 | "node_modules/ecdsa-sig-formatter": { 763 | "version": "1.0.11", 764 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 765 | "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 766 | "dependencies": { 767 | "safe-buffer": "^5.0.1" 768 | } 769 | }, 770 | "node_modules/ee-first": { 771 | "version": "1.1.1", 772 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 773 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 774 | }, 775 | "node_modules/emoji-regex": { 776 | "version": "8.0.0", 777 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 778 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 779 | }, 780 | "node_modules/encodeurl": { 781 | "version": "1.0.2", 782 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 783 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", 784 | "engines": { 785 | "node": ">= 0.8" 786 | } 787 | }, 788 | "node_modules/end-of-stream": { 789 | "version": "1.4.4", 790 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 791 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 792 | "dependencies": { 793 | "once": "^1.4.0" 794 | } 795 | }, 796 | "node_modules/entities": { 797 | "version": "2.2.0", 798 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 799 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 800 | "funding": { 801 | "url": "https://github.com/fb55/entities?sponsor=1" 802 | } 803 | }, 804 | "node_modules/escalade": { 805 | "version": "3.1.1", 806 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 807 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 808 | "engines": { 809 | "node": ">=6" 810 | } 811 | }, 812 | "node_modules/escape-html": { 813 | "version": "1.0.3", 814 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 815 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 816 | }, 817 | "node_modules/etag": { 818 | "version": "1.8.1", 819 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 820 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", 821 | "engines": { 822 | "node": ">= 0.6" 823 | } 824 | }, 825 | "node_modules/event-to-promise": { 826 | "version": "0.7.0", 827 | "resolved": "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.7.0.tgz", 828 | "integrity": "sha1-ywffzUGNoiIdkPd+q3E7wjXiCQ8=", 829 | "deprecated": "Use promise-toolbox/fromEvent instead" 830 | }, 831 | "node_modules/express": { 832 | "version": "4.17.2", 833 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", 834 | "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", 835 | "dependencies": { 836 | "accepts": "~1.3.7", 837 | "array-flatten": "1.1.1", 838 | "body-parser": "1.19.1", 839 | "content-disposition": "0.5.4", 840 | "content-type": "~1.0.4", 841 | "cookie": "0.4.1", 842 | "cookie-signature": "1.0.6", 843 | "debug": "2.6.9", 844 | "depd": "~1.1.2", 845 | "encodeurl": "~1.0.2", 846 | "escape-html": "~1.0.3", 847 | "etag": "~1.8.1", 848 | "finalhandler": "~1.1.2", 849 | "fresh": "0.5.2", 850 | "merge-descriptors": "1.0.1", 851 | "methods": "~1.1.2", 852 | "on-finished": "~2.3.0", 853 | "parseurl": "~1.3.3", 854 | "path-to-regexp": "0.1.7", 855 | "proxy-addr": "~2.0.7", 856 | "qs": "6.9.6", 857 | "range-parser": "~1.2.1", 858 | "safe-buffer": "5.2.1", 859 | "send": "0.17.2", 860 | "serve-static": "1.14.2", 861 | "setprototypeof": "1.2.0", 862 | "statuses": "~1.5.0", 863 | "type-is": "~1.6.18", 864 | "utils-merge": "1.0.1", 865 | "vary": "~1.1.2" 866 | }, 867 | "engines": { 868 | "node": ">= 0.10.0" 869 | } 870 | }, 871 | "node_modules/extract-zip": { 872 | "version": "2.0.1", 873 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 874 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 875 | "dependencies": { 876 | "debug": "^4.1.1", 877 | "get-stream": "^5.1.0", 878 | "yauzl": "^2.10.0" 879 | }, 880 | "bin": { 881 | "extract-zip": "cli.js" 882 | }, 883 | "engines": { 884 | "node": ">= 10.17.0" 885 | }, 886 | "optionalDependencies": { 887 | "@types/yauzl": "^2.9.1" 888 | } 889 | }, 890 | "node_modules/extract-zip/node_modules/debug": { 891 | "version": "4.3.3", 892 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 893 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 894 | "dependencies": { 895 | "ms": "2.1.2" 896 | }, 897 | "engines": { 898 | "node": ">=6.0" 899 | }, 900 | "peerDependenciesMeta": { 901 | "supports-color": { 902 | "optional": true 903 | } 904 | } 905 | }, 906 | "node_modules/extract-zip/node_modules/ms": { 907 | "version": "2.1.2", 908 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 909 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 910 | }, 911 | "node_modules/fd-slicer": { 912 | "version": "1.1.0", 913 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 914 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 915 | "dependencies": { 916 | "pend": "~1.2.0" 917 | } 918 | }, 919 | "node_modules/finalhandler": { 920 | "version": "1.1.2", 921 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 922 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 923 | "dependencies": { 924 | "debug": "2.6.9", 925 | "encodeurl": "~1.0.2", 926 | "escape-html": "~1.0.3", 927 | "on-finished": "~2.3.0", 928 | "parseurl": "~1.3.3", 929 | "statuses": "~1.5.0", 930 | "unpipe": "~1.0.0" 931 | }, 932 | "engines": { 933 | "node": ">= 0.8" 934 | } 935 | }, 936 | "node_modules/find-up": { 937 | "version": "4.1.0", 938 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 939 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 940 | "dependencies": { 941 | "locate-path": "^5.0.0", 942 | "path-exists": "^4.0.0" 943 | }, 944 | "engines": { 945 | "node": ">=8" 946 | } 947 | }, 948 | "node_modules/for-in": { 949 | "version": "1.0.2", 950 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 951 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 952 | "engines": { 953 | "node": ">=0.10.0" 954 | } 955 | }, 956 | "node_modules/for-own": { 957 | "version": "0.1.5", 958 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 959 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 960 | "dependencies": { 961 | "for-in": "^1.0.1" 962 | }, 963 | "engines": { 964 | "node": ">=0.10.0" 965 | } 966 | }, 967 | "node_modules/forwarded": { 968 | "version": "0.2.0", 969 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 970 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 971 | "engines": { 972 | "node": ">= 0.6" 973 | } 974 | }, 975 | "node_modules/fresh": { 976 | "version": "0.5.2", 977 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 978 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", 979 | "engines": { 980 | "node": ">= 0.6" 981 | } 982 | }, 983 | "node_modules/fs-constants": { 984 | "version": "1.0.0", 985 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 986 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 987 | }, 988 | "node_modules/fs-extra": { 989 | "version": "10.0.0", 990 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", 991 | "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", 992 | "dependencies": { 993 | "graceful-fs": "^4.2.0", 994 | "jsonfile": "^6.0.1", 995 | "universalify": "^2.0.0" 996 | }, 997 | "engines": { 998 | "node": ">=12" 999 | } 1000 | }, 1001 | "node_modules/fs.realpath": { 1002 | "version": "1.0.0", 1003 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1004 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 1005 | }, 1006 | "node_modules/gamedig": { 1007 | "version": "2.0.28", 1008 | "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-2.0.28.tgz", 1009 | "integrity": "sha512-Os+lFBEHtyb+NuWUD+ap8R/0b0as6S6YN2ldcey9ONkCTig7A8adisWPJs1nhx0QWJg/RH00bNL/58JCLruYlg==", 1010 | "dependencies": { 1011 | "cheerio": "^1.0.0-rc.3", 1012 | "compressjs": "^1.0.2", 1013 | "gbxremote": "^0.2.1", 1014 | "got": "^11.5.1", 1015 | "iconv-lite": "^0.6.2", 1016 | "long": "^4.0.0", 1017 | "minimist": "^1.2.5", 1018 | "moment": "^2.27.0", 1019 | "punycode": "^2.1.1", 1020 | "varint": "^5.0.0" 1021 | }, 1022 | "bin": { 1023 | "gamedig": "bin/gamedig.js" 1024 | }, 1025 | "engines": { 1026 | "node": ">=8.0.0" 1027 | } 1028 | }, 1029 | "node_modules/gamedig/node_modules/iconv-lite": { 1030 | "version": "0.6.3", 1031 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 1032 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 1033 | "dependencies": { 1034 | "safer-buffer": ">= 2.1.2 < 3.0.0" 1035 | }, 1036 | "engines": { 1037 | "node": ">=0.10.0" 1038 | } 1039 | }, 1040 | "node_modules/gbxremote": { 1041 | "version": "0.2.1", 1042 | "resolved": "https://registry.npmjs.org/gbxremote/-/gbxremote-0.2.1.tgz", 1043 | "integrity": "sha1-hN9PvXgXgNxdaS0krASi1/Bd23w=", 1044 | "dependencies": { 1045 | "any-promise": "^1.1.0", 1046 | "barse": "~0.4.2", 1047 | "event-to-promise": "^0.7.0", 1048 | "string-to-stream": "^1.0.1", 1049 | "xmlrpc": "^1.3.1" 1050 | }, 1051 | "engines": { 1052 | "node": ">=0.10" 1053 | } 1054 | }, 1055 | "node_modules/get-caller-file": { 1056 | "version": "2.0.5", 1057 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1058 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1059 | "engines": { 1060 | "node": "6.* || 8.* || >= 10.*" 1061 | } 1062 | }, 1063 | "node_modules/get-stream": { 1064 | "version": "5.2.0", 1065 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 1066 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 1067 | "dependencies": { 1068 | "pump": "^3.0.0" 1069 | }, 1070 | "engines": { 1071 | "node": ">=8" 1072 | }, 1073 | "funding": { 1074 | "url": "https://github.com/sponsors/sindresorhus" 1075 | } 1076 | }, 1077 | "node_modules/glob": { 1078 | "version": "7.2.0", 1079 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1080 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1081 | "dependencies": { 1082 | "fs.realpath": "^1.0.0", 1083 | "inflight": "^1.0.4", 1084 | "inherits": "2", 1085 | "minimatch": "^3.0.4", 1086 | "once": "^1.3.0", 1087 | "path-is-absolute": "^1.0.0" 1088 | }, 1089 | "engines": { 1090 | "node": "*" 1091 | }, 1092 | "funding": { 1093 | "url": "https://github.com/sponsors/isaacs" 1094 | } 1095 | }, 1096 | "node_modules/got": { 1097 | "version": "11.8.3", 1098 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", 1099 | "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", 1100 | "dependencies": { 1101 | "@sindresorhus/is": "^4.0.0", 1102 | "@szmarczak/http-timer": "^4.0.5", 1103 | "@types/cacheable-request": "^6.0.1", 1104 | "@types/responselike": "^1.0.0", 1105 | "cacheable-lookup": "^5.0.3", 1106 | "cacheable-request": "^7.0.2", 1107 | "decompress-response": "^6.0.0", 1108 | "http2-wrapper": "^1.0.0-beta.5.2", 1109 | "lowercase-keys": "^2.0.0", 1110 | "p-cancelable": "^2.0.0", 1111 | "responselike": "^2.0.0" 1112 | }, 1113 | "engines": { 1114 | "node": ">=10.19.0" 1115 | }, 1116 | "funding": { 1117 | "url": "https://github.com/sindresorhus/got?sponsor=1" 1118 | } 1119 | }, 1120 | "node_modules/graceful-fs": { 1121 | "version": "4.2.8", 1122 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", 1123 | "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" 1124 | }, 1125 | "node_modules/graceful-readlink": { 1126 | "version": "1.0.1", 1127 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1128 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 1129 | }, 1130 | "node_modules/htmlparser2": { 1131 | "version": "6.1.0", 1132 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", 1133 | "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", 1134 | "funding": [ 1135 | "https://github.com/fb55/htmlparser2?sponsor=1", 1136 | { 1137 | "type": "github", 1138 | "url": "https://github.com/sponsors/fb55" 1139 | } 1140 | ], 1141 | "dependencies": { 1142 | "domelementtype": "^2.0.1", 1143 | "domhandler": "^4.0.0", 1144 | "domutils": "^2.5.2", 1145 | "entities": "^2.0.0" 1146 | } 1147 | }, 1148 | "node_modules/http-cache-semantics": { 1149 | "version": "4.1.0", 1150 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 1151 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" 1152 | }, 1153 | "node_modules/http-errors": { 1154 | "version": "1.8.1", 1155 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", 1156 | "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", 1157 | "dependencies": { 1158 | "depd": "~1.1.2", 1159 | "inherits": "2.0.4", 1160 | "setprototypeof": "1.2.0", 1161 | "statuses": ">= 1.5.0 < 2", 1162 | "toidentifier": "1.0.1" 1163 | }, 1164 | "engines": { 1165 | "node": ">= 0.6" 1166 | } 1167 | }, 1168 | "node_modules/http2-wrapper": { 1169 | "version": "1.0.3", 1170 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", 1171 | "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", 1172 | "dependencies": { 1173 | "quick-lru": "^5.1.1", 1174 | "resolve-alpn": "^1.0.0" 1175 | }, 1176 | "engines": { 1177 | "node": ">=10.19.0" 1178 | } 1179 | }, 1180 | "node_modules/https-proxy-agent": { 1181 | "version": "4.0.0", 1182 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", 1183 | "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", 1184 | "dependencies": { 1185 | "agent-base": "5", 1186 | "debug": "4" 1187 | }, 1188 | "engines": { 1189 | "node": ">= 6.0.0" 1190 | } 1191 | }, 1192 | "node_modules/https-proxy-agent/node_modules/debug": { 1193 | "version": "4.3.3", 1194 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 1195 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 1196 | "dependencies": { 1197 | "ms": "2.1.2" 1198 | }, 1199 | "engines": { 1200 | "node": ">=6.0" 1201 | }, 1202 | "peerDependenciesMeta": { 1203 | "supports-color": { 1204 | "optional": true 1205 | } 1206 | } 1207 | }, 1208 | "node_modules/https-proxy-agent/node_modules/ms": { 1209 | "version": "2.1.2", 1210 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1211 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1212 | }, 1213 | "node_modules/iconv-lite": { 1214 | "version": "0.4.24", 1215 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1216 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1217 | "dependencies": { 1218 | "safer-buffer": ">= 2.1.2 < 3" 1219 | }, 1220 | "engines": { 1221 | "node": ">=0.10.0" 1222 | } 1223 | }, 1224 | "node_modules/ieee754": { 1225 | "version": "1.2.1", 1226 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1227 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1228 | "funding": [ 1229 | { 1230 | "type": "github", 1231 | "url": "https://github.com/sponsors/feross" 1232 | }, 1233 | { 1234 | "type": "patreon", 1235 | "url": "https://www.patreon.com/feross" 1236 | }, 1237 | { 1238 | "type": "consulting", 1239 | "url": "https://feross.org/support" 1240 | } 1241 | ] 1242 | }, 1243 | "node_modules/inflight": { 1244 | "version": "1.0.6", 1245 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1246 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1247 | "dependencies": { 1248 | "once": "^1.3.0", 1249 | "wrappy": "1" 1250 | } 1251 | }, 1252 | "node_modules/inherits": { 1253 | "version": "2.0.4", 1254 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1255 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1256 | }, 1257 | "node_modules/ipaddr.js": { 1258 | "version": "1.9.1", 1259 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1260 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 1261 | "engines": { 1262 | "node": ">= 0.10" 1263 | } 1264 | }, 1265 | "node_modules/is-buffer": { 1266 | "version": "1.1.6", 1267 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1268 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1269 | }, 1270 | "node_modules/is-extendable": { 1271 | "version": "0.1.1", 1272 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1273 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1274 | "engines": { 1275 | "node": ">=0.10.0" 1276 | } 1277 | }, 1278 | "node_modules/is-fullwidth-code-point": { 1279 | "version": "3.0.0", 1280 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1281 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1282 | "engines": { 1283 | "node": ">=8" 1284 | } 1285 | }, 1286 | "node_modules/is-plain-object": { 1287 | "version": "2.0.4", 1288 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1289 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1290 | "dependencies": { 1291 | "isobject": "^3.0.1" 1292 | }, 1293 | "engines": { 1294 | "node": ">=0.10.0" 1295 | } 1296 | }, 1297 | "node_modules/isarray": { 1298 | "version": "0.0.1", 1299 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1300 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" 1301 | }, 1302 | "node_modules/isobject": { 1303 | "version": "3.0.1", 1304 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1305 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 1306 | "engines": { 1307 | "node": ">=0.10.0" 1308 | } 1309 | }, 1310 | "node_modules/json-buffer": { 1311 | "version": "3.0.1", 1312 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 1313 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" 1314 | }, 1315 | "node_modules/jsonfile": { 1316 | "version": "6.1.0", 1317 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 1318 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 1319 | "dependencies": { 1320 | "universalify": "^2.0.0" 1321 | }, 1322 | "optionalDependencies": { 1323 | "graceful-fs": "^4.1.6" 1324 | } 1325 | }, 1326 | "node_modules/jsonwebtoken": { 1327 | "version": "8.5.1", 1328 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", 1329 | "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", 1330 | "dependencies": { 1331 | "jws": "^3.2.2", 1332 | "lodash.includes": "^4.3.0", 1333 | "lodash.isboolean": "^3.0.3", 1334 | "lodash.isinteger": "^4.0.4", 1335 | "lodash.isnumber": "^3.0.3", 1336 | "lodash.isplainobject": "^4.0.6", 1337 | "lodash.isstring": "^4.0.1", 1338 | "lodash.once": "^4.0.0", 1339 | "ms": "^2.1.1", 1340 | "semver": "^5.6.0" 1341 | }, 1342 | "engines": { 1343 | "node": ">=4", 1344 | "npm": ">=1.4.28" 1345 | } 1346 | }, 1347 | "node_modules/jsonwebtoken/node_modules/ms": { 1348 | "version": "2.1.3", 1349 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1350 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 1351 | }, 1352 | "node_modules/jwa": { 1353 | "version": "1.4.1", 1354 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", 1355 | "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", 1356 | "dependencies": { 1357 | "buffer-equal-constant-time": "1.0.1", 1358 | "ecdsa-sig-formatter": "1.0.11", 1359 | "safe-buffer": "^5.0.1" 1360 | } 1361 | }, 1362 | "node_modules/jws": { 1363 | "version": "3.2.2", 1364 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 1365 | "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 1366 | "dependencies": { 1367 | "jwa": "^1.4.1", 1368 | "safe-buffer": "^5.0.1" 1369 | } 1370 | }, 1371 | "node_modules/keyv": { 1372 | "version": "4.0.4", 1373 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", 1374 | "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", 1375 | "dependencies": { 1376 | "json-buffer": "3.0.1" 1377 | } 1378 | }, 1379 | "node_modules/kind-of": { 1380 | "version": "3.2.2", 1381 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1382 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1383 | "dependencies": { 1384 | "is-buffer": "^1.1.5" 1385 | }, 1386 | "engines": { 1387 | "node": ">=0.10.0" 1388 | } 1389 | }, 1390 | "node_modules/lazy-cache": { 1391 | "version": "1.0.4", 1392 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", 1393 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", 1394 | "engines": { 1395 | "node": ">=0.10.0" 1396 | } 1397 | }, 1398 | "node_modules/locate-path": { 1399 | "version": "5.0.0", 1400 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 1401 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 1402 | "dependencies": { 1403 | "p-locate": "^4.1.0" 1404 | }, 1405 | "engines": { 1406 | "node": ">=8" 1407 | } 1408 | }, 1409 | "node_modules/lodash.includes": { 1410 | "version": "4.3.0", 1411 | "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 1412 | "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" 1413 | }, 1414 | "node_modules/lodash.isboolean": { 1415 | "version": "3.0.3", 1416 | "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 1417 | "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" 1418 | }, 1419 | "node_modules/lodash.isinteger": { 1420 | "version": "4.0.4", 1421 | "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 1422 | "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" 1423 | }, 1424 | "node_modules/lodash.isnumber": { 1425 | "version": "3.0.3", 1426 | "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 1427 | "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" 1428 | }, 1429 | "node_modules/lodash.isplainobject": { 1430 | "version": "4.0.6", 1431 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1432 | "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" 1433 | }, 1434 | "node_modules/lodash.isstring": { 1435 | "version": "4.0.1", 1436 | "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 1437 | "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" 1438 | }, 1439 | "node_modules/lodash.once": { 1440 | "version": "4.1.1", 1441 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 1442 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" 1443 | }, 1444 | "node_modules/long": { 1445 | "version": "4.0.0", 1446 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 1447 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 1448 | }, 1449 | "node_modules/lowercase-keys": { 1450 | "version": "2.0.0", 1451 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 1452 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", 1453 | "engines": { 1454 | "node": ">=8" 1455 | } 1456 | }, 1457 | "node_modules/media-typer": { 1458 | "version": "0.3.0", 1459 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1460 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", 1461 | "engines": { 1462 | "node": ">= 0.6" 1463 | } 1464 | }, 1465 | "node_modules/merge-deep": { 1466 | "version": "3.0.3", 1467 | "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", 1468 | "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", 1469 | "dependencies": { 1470 | "arr-union": "^3.1.0", 1471 | "clone-deep": "^0.2.4", 1472 | "kind-of": "^3.0.2" 1473 | }, 1474 | "engines": { 1475 | "node": ">=0.10.0" 1476 | } 1477 | }, 1478 | "node_modules/merge-descriptors": { 1479 | "version": "1.0.1", 1480 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 1481 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 1482 | }, 1483 | "node_modules/methods": { 1484 | "version": "1.1.2", 1485 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1486 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", 1487 | "engines": { 1488 | "node": ">= 0.6" 1489 | } 1490 | }, 1491 | "node_modules/mime": { 1492 | "version": "1.6.0", 1493 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1494 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 1495 | "bin": { 1496 | "mime": "cli.js" 1497 | }, 1498 | "engines": { 1499 | "node": ">=4" 1500 | } 1501 | }, 1502 | "node_modules/mime-db": { 1503 | "version": "1.51.0", 1504 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", 1505 | "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", 1506 | "engines": { 1507 | "node": ">= 0.6" 1508 | } 1509 | }, 1510 | "node_modules/mime-types": { 1511 | "version": "2.1.34", 1512 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", 1513 | "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", 1514 | "dependencies": { 1515 | "mime-db": "1.51.0" 1516 | }, 1517 | "engines": { 1518 | "node": ">= 0.6" 1519 | } 1520 | }, 1521 | "node_modules/mimic-response": { 1522 | "version": "1.0.1", 1523 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 1524 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", 1525 | "engines": { 1526 | "node": ">=4" 1527 | } 1528 | }, 1529 | "node_modules/minimatch": { 1530 | "version": "3.0.4", 1531 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1532 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1533 | "dependencies": { 1534 | "brace-expansion": "^1.1.7" 1535 | }, 1536 | "engines": { 1537 | "node": "*" 1538 | } 1539 | }, 1540 | "node_modules/minimist": { 1541 | "version": "1.2.5", 1542 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1543 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 1544 | }, 1545 | "node_modules/mixin-object": { 1546 | "version": "2.0.1", 1547 | "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", 1548 | "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", 1549 | "dependencies": { 1550 | "for-in": "^0.1.3", 1551 | "is-extendable": "^0.1.1" 1552 | }, 1553 | "engines": { 1554 | "node": ">=0.10.0" 1555 | } 1556 | }, 1557 | "node_modules/mixin-object/node_modules/for-in": { 1558 | "version": "0.1.8", 1559 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", 1560 | "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", 1561 | "engines": { 1562 | "node": ">=0.10.0" 1563 | } 1564 | }, 1565 | "node_modules/mkdirp-classic": { 1566 | "version": "0.5.3", 1567 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 1568 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" 1569 | }, 1570 | "node_modules/moment": { 1571 | "version": "2.29.1", 1572 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", 1573 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", 1574 | "engines": { 1575 | "node": "*" 1576 | } 1577 | }, 1578 | "node_modules/ms": { 1579 | "version": "2.0.0", 1580 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1581 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1582 | }, 1583 | "node_modules/negotiator": { 1584 | "version": "0.6.2", 1585 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 1586 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", 1587 | "engines": { 1588 | "node": ">= 0.6" 1589 | } 1590 | }, 1591 | "node_modules/node-fetch": { 1592 | "version": "2.6.6", 1593 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", 1594 | "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", 1595 | "dependencies": { 1596 | "whatwg-url": "^5.0.0" 1597 | }, 1598 | "engines": { 1599 | "node": "4.x || >=6.0.0" 1600 | } 1601 | }, 1602 | "node_modules/normalize-url": { 1603 | "version": "6.1.0", 1604 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 1605 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", 1606 | "engines": { 1607 | "node": ">=10" 1608 | }, 1609 | "funding": { 1610 | "url": "https://github.com/sponsors/sindresorhus" 1611 | } 1612 | }, 1613 | "node_modules/nth-check": { 1614 | "version": "2.0.1", 1615 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", 1616 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", 1617 | "dependencies": { 1618 | "boolbase": "^1.0.0" 1619 | }, 1620 | "funding": { 1621 | "url": "https://github.com/fb55/nth-check?sponsor=1" 1622 | } 1623 | }, 1624 | "node_modules/on-finished": { 1625 | "version": "2.3.0", 1626 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 1627 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 1628 | "dependencies": { 1629 | "ee-first": "1.1.1" 1630 | }, 1631 | "engines": { 1632 | "node": ">= 0.8" 1633 | } 1634 | }, 1635 | "node_modules/once": { 1636 | "version": "1.4.0", 1637 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1638 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1639 | "dependencies": { 1640 | "wrappy": "1" 1641 | } 1642 | }, 1643 | "node_modules/p-cancelable": { 1644 | "version": "2.1.1", 1645 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", 1646 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", 1647 | "engines": { 1648 | "node": ">=8" 1649 | } 1650 | }, 1651 | "node_modules/p-limit": { 1652 | "version": "2.3.0", 1653 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 1654 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 1655 | "dependencies": { 1656 | "p-try": "^2.0.0" 1657 | }, 1658 | "engines": { 1659 | "node": ">=6" 1660 | }, 1661 | "funding": { 1662 | "url": "https://github.com/sponsors/sindresorhus" 1663 | } 1664 | }, 1665 | "node_modules/p-locate": { 1666 | "version": "4.1.0", 1667 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 1668 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 1669 | "dependencies": { 1670 | "p-limit": "^2.2.0" 1671 | }, 1672 | "engines": { 1673 | "node": ">=8" 1674 | } 1675 | }, 1676 | "node_modules/p-try": { 1677 | "version": "2.2.0", 1678 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1679 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1680 | "engines": { 1681 | "node": ">=6" 1682 | } 1683 | }, 1684 | "node_modules/parse5": { 1685 | "version": "6.0.1", 1686 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", 1687 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" 1688 | }, 1689 | "node_modules/parse5-htmlparser2-tree-adapter": { 1690 | "version": "6.0.1", 1691 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", 1692 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", 1693 | "dependencies": { 1694 | "parse5": "^6.0.1" 1695 | } 1696 | }, 1697 | "node_modules/parseurl": { 1698 | "version": "1.3.3", 1699 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 1700 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 1701 | "engines": { 1702 | "node": ">= 0.8" 1703 | } 1704 | }, 1705 | "node_modules/path-exists": { 1706 | "version": "4.0.0", 1707 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1708 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1709 | "engines": { 1710 | "node": ">=8" 1711 | } 1712 | }, 1713 | "node_modules/path-is-absolute": { 1714 | "version": "1.0.1", 1715 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1716 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1717 | "engines": { 1718 | "node": ">=0.10.0" 1719 | } 1720 | }, 1721 | "node_modules/path-to-regexp": { 1722 | "version": "0.1.7", 1723 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1724 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 1725 | }, 1726 | "node_modules/pend": { 1727 | "version": "1.2.0", 1728 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1729 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 1730 | }, 1731 | "node_modules/pkg-dir": { 1732 | "version": "4.2.0", 1733 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 1734 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 1735 | "dependencies": { 1736 | "find-up": "^4.0.0" 1737 | }, 1738 | "engines": { 1739 | "node": ">=8" 1740 | } 1741 | }, 1742 | "node_modules/process-nextick-args": { 1743 | "version": "2.0.1", 1744 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1745 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 1746 | }, 1747 | "node_modules/progress": { 1748 | "version": "2.0.3", 1749 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 1750 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 1751 | "engines": { 1752 | "node": ">=0.4.0" 1753 | } 1754 | }, 1755 | "node_modules/proxy-addr": { 1756 | "version": "2.0.7", 1757 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 1758 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 1759 | "dependencies": { 1760 | "forwarded": "0.2.0", 1761 | "ipaddr.js": "1.9.1" 1762 | }, 1763 | "engines": { 1764 | "node": ">= 0.10" 1765 | } 1766 | }, 1767 | "node_modules/proxy-from-env": { 1768 | "version": "1.1.0", 1769 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 1770 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 1771 | }, 1772 | "node_modules/pump": { 1773 | "version": "3.0.0", 1774 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1775 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1776 | "dependencies": { 1777 | "end-of-stream": "^1.1.0", 1778 | "once": "^1.3.1" 1779 | } 1780 | }, 1781 | "node_modules/punycode": { 1782 | "version": "2.1.1", 1783 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1784 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1785 | "engines": { 1786 | "node": ">=6" 1787 | } 1788 | }, 1789 | "node_modules/puppeteer": { 1790 | "version": "5.5.0", 1791 | "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.5.0.tgz", 1792 | "integrity": "sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg==", 1793 | "hasInstallScript": true, 1794 | "dependencies": { 1795 | "debug": "^4.1.0", 1796 | "devtools-protocol": "0.0.818844", 1797 | "extract-zip": "^2.0.0", 1798 | "https-proxy-agent": "^4.0.0", 1799 | "node-fetch": "^2.6.1", 1800 | "pkg-dir": "^4.2.0", 1801 | "progress": "^2.0.1", 1802 | "proxy-from-env": "^1.0.0", 1803 | "rimraf": "^3.0.2", 1804 | "tar-fs": "^2.0.0", 1805 | "unbzip2-stream": "^1.3.3", 1806 | "ws": "^7.2.3" 1807 | }, 1808 | "engines": { 1809 | "node": ">=10.18.1" 1810 | } 1811 | }, 1812 | "node_modules/puppeteer-extra": { 1813 | "version": "3.2.3", 1814 | "resolved": "https://registry.npmjs.org/puppeteer-extra/-/puppeteer-extra-3.2.3.tgz", 1815 | "integrity": "sha512-CnSN9yIedbAbS8WmRybaDHJLf6goRk+VYM/kbH6i/+EMadCaAeh2O+1/mFUMN2LbkbDNAp2Vd/UwrTVCHjTxyg==", 1816 | "dependencies": { 1817 | "@types/debug": "^4.1.0", 1818 | "@types/puppeteer": "*", 1819 | "debug": "^4.1.1", 1820 | "deepmerge": "^4.2.2" 1821 | }, 1822 | "engines": { 1823 | "node": ">=8" 1824 | }, 1825 | "peerDependencies": { 1826 | "puppeteer": "*" 1827 | } 1828 | }, 1829 | "node_modules/puppeteer-extra-plugin": { 1830 | "version": "3.2.0", 1831 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin/-/puppeteer-extra-plugin-3.2.0.tgz", 1832 | "integrity": "sha512-wbiw12USE3b+maMk/IMaroYsz7rusVI9G+ml6pCFCnFFh91Z9BAEiVzhCpOHuquVXEiCCsDTWhDUgvdNxQHOyw==", 1833 | "dependencies": { 1834 | "@types/debug": "^4.1.0", 1835 | "debug": "^4.1.1", 1836 | "merge-deep": "^3.0.1" 1837 | }, 1838 | "engines": { 1839 | "node": ">=9.11.2" 1840 | }, 1841 | "peerDependencies": { 1842 | "puppeteer-extra": "*" 1843 | } 1844 | }, 1845 | "node_modules/puppeteer-extra-plugin-adblocker": { 1846 | "version": "2.12.0", 1847 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-adblocker/-/puppeteer-extra-plugin-adblocker-2.12.0.tgz", 1848 | "integrity": "sha512-x0/G6suPa28FomEuCGAKGTvqcxt2efZWXE8mjEPRASGQaMe4smHYM1xT2nYS5Z82wIOqPZQVVJ7l3dGY9E+BuQ==", 1849 | "dependencies": { 1850 | "@cliqz/adblocker-puppeteer": "1.22.6", 1851 | "debug": "^4.1.1", 1852 | "node-fetch": "^2.6.0", 1853 | "puppeteer-extra-plugin": "^3.2.0" 1854 | }, 1855 | "engines": { 1856 | "node": ">=8" 1857 | }, 1858 | "peerDependencies": { 1859 | "puppeteer-extra": "*" 1860 | } 1861 | }, 1862 | "node_modules/puppeteer-extra-plugin-adblocker/node_modules/debug": { 1863 | "version": "4.3.3", 1864 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 1865 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 1866 | "dependencies": { 1867 | "ms": "2.1.2" 1868 | }, 1869 | "engines": { 1870 | "node": ">=6.0" 1871 | }, 1872 | "peerDependenciesMeta": { 1873 | "supports-color": { 1874 | "optional": true 1875 | } 1876 | } 1877 | }, 1878 | "node_modules/puppeteer-extra-plugin-adblocker/node_modules/ms": { 1879 | "version": "2.1.2", 1880 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1881 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1882 | }, 1883 | "node_modules/puppeteer-extra-plugin-stealth": { 1884 | "version": "2.9.0", 1885 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-stealth/-/puppeteer-extra-plugin-stealth-2.9.0.tgz", 1886 | "integrity": "sha512-erZ9lkIcOkfYmLPP2jv2AiqvNBFhQJinWJhcm40pqSjwJTsZXHsTARUyRCsBYEEBvNIs3Wz3E0zVlTRc4IJ6Hg==", 1887 | "dependencies": { 1888 | "debug": "^4.1.1", 1889 | "puppeteer-extra-plugin": "^3.2.0", 1890 | "puppeteer-extra-plugin-user-preferences": "^2.3.1" 1891 | }, 1892 | "engines": { 1893 | "node": ">=8" 1894 | } 1895 | }, 1896 | "node_modules/puppeteer-extra-plugin-stealth/node_modules/debug": { 1897 | "version": "4.3.3", 1898 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 1899 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 1900 | "dependencies": { 1901 | "ms": "2.1.2" 1902 | }, 1903 | "engines": { 1904 | "node": ">=6.0" 1905 | }, 1906 | "peerDependenciesMeta": { 1907 | "supports-color": { 1908 | "optional": true 1909 | } 1910 | } 1911 | }, 1912 | "node_modules/puppeteer-extra-plugin-stealth/node_modules/ms": { 1913 | "version": "2.1.2", 1914 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1915 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1916 | }, 1917 | "node_modules/puppeteer-extra-plugin-user-data-dir": { 1918 | "version": "2.3.1", 1919 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-data-dir/-/puppeteer-extra-plugin-user-data-dir-2.3.1.tgz", 1920 | "integrity": "sha512-yhaYMaNFdfQ1LbA94ZElW1zU8rh+MFmO+GZA0gtQ8BXc+UZ6aRrWS9flIZvlXDzk+ZsXhCbTEohEwZ8lEDLRVA==", 1921 | "dependencies": { 1922 | "debug": "^4.1.1", 1923 | "fs-extra": "^10.0.0", 1924 | "puppeteer-extra-plugin": "^3.2.0" 1925 | }, 1926 | "engines": { 1927 | "node": ">=8" 1928 | } 1929 | }, 1930 | "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/debug": { 1931 | "version": "4.3.3", 1932 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 1933 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 1934 | "dependencies": { 1935 | "ms": "2.1.2" 1936 | }, 1937 | "engines": { 1938 | "node": ">=6.0" 1939 | }, 1940 | "peerDependenciesMeta": { 1941 | "supports-color": { 1942 | "optional": true 1943 | } 1944 | } 1945 | }, 1946 | "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/ms": { 1947 | "version": "2.1.2", 1948 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1949 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1950 | }, 1951 | "node_modules/puppeteer-extra-plugin-user-preferences": { 1952 | "version": "2.3.1", 1953 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-preferences/-/puppeteer-extra-plugin-user-preferences-2.3.1.tgz", 1954 | "integrity": "sha512-t/FyGQj2aqtHOROqL02z+k2kNQe0cjT0Hd9pG5FJ7x0JXx1722PhOuK7FeJLQMJ+BLl2YvCUgaWSC8Zohjts5A==", 1955 | "dependencies": { 1956 | "debug": "^4.1.1", 1957 | "deepmerge": "^4.2.2", 1958 | "puppeteer-extra-plugin": "^3.2.0", 1959 | "puppeteer-extra-plugin-user-data-dir": "^2.3.1" 1960 | }, 1961 | "engines": { 1962 | "node": ">=8" 1963 | } 1964 | }, 1965 | "node_modules/puppeteer-extra-plugin-user-preferences/node_modules/debug": { 1966 | "version": "4.3.3", 1967 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 1968 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 1969 | "dependencies": { 1970 | "ms": "2.1.2" 1971 | }, 1972 | "engines": { 1973 | "node": ">=6.0" 1974 | }, 1975 | "peerDependenciesMeta": { 1976 | "supports-color": { 1977 | "optional": true 1978 | } 1979 | } 1980 | }, 1981 | "node_modules/puppeteer-extra-plugin-user-preferences/node_modules/ms": { 1982 | "version": "2.1.2", 1983 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1984 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1985 | }, 1986 | "node_modules/puppeteer-extra-plugin/node_modules/debug": { 1987 | "version": "4.3.3", 1988 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 1989 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 1990 | "dependencies": { 1991 | "ms": "2.1.2" 1992 | }, 1993 | "engines": { 1994 | "node": ">=6.0" 1995 | }, 1996 | "peerDependenciesMeta": { 1997 | "supports-color": { 1998 | "optional": true 1999 | } 2000 | } 2001 | }, 2002 | "node_modules/puppeteer-extra-plugin/node_modules/ms": { 2003 | "version": "2.1.2", 2004 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2005 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 2006 | }, 2007 | "node_modules/puppeteer-extra/node_modules/debug": { 2008 | "version": "4.3.3", 2009 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 2010 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 2011 | "dependencies": { 2012 | "ms": "2.1.2" 2013 | }, 2014 | "engines": { 2015 | "node": ">=6.0" 2016 | }, 2017 | "peerDependenciesMeta": { 2018 | "supports-color": { 2019 | "optional": true 2020 | } 2021 | } 2022 | }, 2023 | "node_modules/puppeteer-extra/node_modules/ms": { 2024 | "version": "2.1.2", 2025 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2026 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 2027 | }, 2028 | "node_modules/puppeteer/node_modules/debug": { 2029 | "version": "4.3.3", 2030 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 2031 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 2032 | "dependencies": { 2033 | "ms": "2.1.2" 2034 | }, 2035 | "engines": { 2036 | "node": ">=6.0" 2037 | }, 2038 | "peerDependenciesMeta": { 2039 | "supports-color": { 2040 | "optional": true 2041 | } 2042 | } 2043 | }, 2044 | "node_modules/puppeteer/node_modules/ms": { 2045 | "version": "2.1.2", 2046 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2047 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 2048 | }, 2049 | "node_modules/qs": { 2050 | "version": "6.9.6", 2051 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", 2052 | "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", 2053 | "engines": { 2054 | "node": ">=0.6" 2055 | }, 2056 | "funding": { 2057 | "url": "https://github.com/sponsors/ljharb" 2058 | } 2059 | }, 2060 | "node_modules/quick-lru": { 2061 | "version": "5.1.1", 2062 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 2063 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 2064 | "engines": { 2065 | "node": ">=10" 2066 | }, 2067 | "funding": { 2068 | "url": "https://github.com/sponsors/sindresorhus" 2069 | } 2070 | }, 2071 | "node_modules/range-parser": { 2072 | "version": "1.2.1", 2073 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 2074 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 2075 | "engines": { 2076 | "node": ">= 0.6" 2077 | } 2078 | }, 2079 | "node_modules/raw-body": { 2080 | "version": "2.4.2", 2081 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", 2082 | "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", 2083 | "dependencies": { 2084 | "bytes": "3.1.1", 2085 | "http-errors": "1.8.1", 2086 | "iconv-lite": "0.4.24", 2087 | "unpipe": "1.0.0" 2088 | }, 2089 | "engines": { 2090 | "node": ">= 0.8" 2091 | } 2092 | }, 2093 | "node_modules/readable-stream": { 2094 | "version": "1.0.34", 2095 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 2096 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 2097 | "dependencies": { 2098 | "core-util-is": "~1.0.0", 2099 | "inherits": "~2.0.1", 2100 | "isarray": "0.0.1", 2101 | "string_decoder": "~0.10.x" 2102 | } 2103 | }, 2104 | "node_modules/require-directory": { 2105 | "version": "2.1.1", 2106 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2107 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 2108 | "engines": { 2109 | "node": ">=0.10.0" 2110 | } 2111 | }, 2112 | "node_modules/resolve-alpn": { 2113 | "version": "1.2.1", 2114 | "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", 2115 | "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" 2116 | }, 2117 | "node_modules/responselike": { 2118 | "version": "2.0.0", 2119 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", 2120 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", 2121 | "dependencies": { 2122 | "lowercase-keys": "^2.0.0" 2123 | } 2124 | }, 2125 | "node_modules/rimraf": { 2126 | "version": "3.0.2", 2127 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 2128 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 2129 | "dependencies": { 2130 | "glob": "^7.1.3" 2131 | }, 2132 | "bin": { 2133 | "rimraf": "bin.js" 2134 | }, 2135 | "funding": { 2136 | "url": "https://github.com/sponsors/isaacs" 2137 | } 2138 | }, 2139 | "node_modules/safe-buffer": { 2140 | "version": "5.2.1", 2141 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2142 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2143 | "funding": [ 2144 | { 2145 | "type": "github", 2146 | "url": "https://github.com/sponsors/feross" 2147 | }, 2148 | { 2149 | "type": "patreon", 2150 | "url": "https://www.patreon.com/feross" 2151 | }, 2152 | { 2153 | "type": "consulting", 2154 | "url": "https://feross.org/support" 2155 | } 2156 | ] 2157 | }, 2158 | "node_modules/safer-buffer": { 2159 | "version": "2.1.2", 2160 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2161 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 2162 | }, 2163 | "node_modules/sax": { 2164 | "version": "1.2.4", 2165 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 2166 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" 2167 | }, 2168 | "node_modules/semver": { 2169 | "version": "5.7.1", 2170 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2171 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2172 | "bin": { 2173 | "semver": "bin/semver" 2174 | } 2175 | }, 2176 | "node_modules/send": { 2177 | "version": "0.17.2", 2178 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", 2179 | "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", 2180 | "dependencies": { 2181 | "debug": "2.6.9", 2182 | "depd": "~1.1.2", 2183 | "destroy": "~1.0.4", 2184 | "encodeurl": "~1.0.2", 2185 | "escape-html": "~1.0.3", 2186 | "etag": "~1.8.1", 2187 | "fresh": "0.5.2", 2188 | "http-errors": "1.8.1", 2189 | "mime": "1.6.0", 2190 | "ms": "2.1.3", 2191 | "on-finished": "~2.3.0", 2192 | "range-parser": "~1.2.1", 2193 | "statuses": "~1.5.0" 2194 | }, 2195 | "engines": { 2196 | "node": ">= 0.8.0" 2197 | } 2198 | }, 2199 | "node_modules/send/node_modules/ms": { 2200 | "version": "2.1.3", 2201 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2202 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 2203 | }, 2204 | "node_modules/serve-static": { 2205 | "version": "1.14.2", 2206 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", 2207 | "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", 2208 | "dependencies": { 2209 | "encodeurl": "~1.0.2", 2210 | "escape-html": "~1.0.3", 2211 | "parseurl": "~1.3.3", 2212 | "send": "0.17.2" 2213 | }, 2214 | "engines": { 2215 | "node": ">= 0.8.0" 2216 | } 2217 | }, 2218 | "node_modules/setprototypeof": { 2219 | "version": "1.2.0", 2220 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 2221 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 2222 | }, 2223 | "node_modules/shallow-clone": { 2224 | "version": "0.1.2", 2225 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", 2226 | "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", 2227 | "dependencies": { 2228 | "is-extendable": "^0.1.1", 2229 | "kind-of": "^2.0.1", 2230 | "lazy-cache": "^0.2.3", 2231 | "mixin-object": "^2.0.1" 2232 | }, 2233 | "engines": { 2234 | "node": ">=0.10.0" 2235 | } 2236 | }, 2237 | "node_modules/shallow-clone/node_modules/kind-of": { 2238 | "version": "2.0.1", 2239 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", 2240 | "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", 2241 | "dependencies": { 2242 | "is-buffer": "^1.0.2" 2243 | }, 2244 | "engines": { 2245 | "node": ">=0.10.0" 2246 | } 2247 | }, 2248 | "node_modules/shallow-clone/node_modules/lazy-cache": { 2249 | "version": "0.2.7", 2250 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", 2251 | "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", 2252 | "engines": { 2253 | "node": ">=0.10.0" 2254 | } 2255 | }, 2256 | "node_modules/statuses": { 2257 | "version": "1.5.0", 2258 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 2259 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", 2260 | "engines": { 2261 | "node": ">= 0.6" 2262 | } 2263 | }, 2264 | "node_modules/string_decoder": { 2265 | "version": "0.10.31", 2266 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 2267 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" 2268 | }, 2269 | "node_modules/string-to-stream": { 2270 | "version": "1.1.1", 2271 | "resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.1.tgz", 2272 | "integrity": "sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==", 2273 | "dependencies": { 2274 | "inherits": "^2.0.1", 2275 | "readable-stream": "^2.1.0" 2276 | } 2277 | }, 2278 | "node_modules/string-to-stream/node_modules/isarray": { 2279 | "version": "1.0.0", 2280 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2281 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 2282 | }, 2283 | "node_modules/string-to-stream/node_modules/readable-stream": { 2284 | "version": "2.3.7", 2285 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 2286 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 2287 | "dependencies": { 2288 | "core-util-is": "~1.0.0", 2289 | "inherits": "~2.0.3", 2290 | "isarray": "~1.0.0", 2291 | "process-nextick-args": "~2.0.0", 2292 | "safe-buffer": "~5.1.1", 2293 | "string_decoder": "~1.1.1", 2294 | "util-deprecate": "~1.0.1" 2295 | } 2296 | }, 2297 | "node_modules/string-to-stream/node_modules/safe-buffer": { 2298 | "version": "5.1.2", 2299 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2300 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 2301 | }, 2302 | "node_modules/string-to-stream/node_modules/string_decoder": { 2303 | "version": "1.1.1", 2304 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2305 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2306 | "dependencies": { 2307 | "safe-buffer": "~5.1.0" 2308 | } 2309 | }, 2310 | "node_modules/string-width": { 2311 | "version": "4.2.3", 2312 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2313 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2314 | "dependencies": { 2315 | "emoji-regex": "^8.0.0", 2316 | "is-fullwidth-code-point": "^3.0.0", 2317 | "strip-ansi": "^6.0.1" 2318 | }, 2319 | "engines": { 2320 | "node": ">=8" 2321 | } 2322 | }, 2323 | "node_modules/strip-ansi": { 2324 | "version": "6.0.1", 2325 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2326 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2327 | "dependencies": { 2328 | "ansi-regex": "^5.0.1" 2329 | }, 2330 | "engines": { 2331 | "node": ">=8" 2332 | } 2333 | }, 2334 | "node_modules/tar-fs": { 2335 | "version": "2.1.1", 2336 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 2337 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 2338 | "dependencies": { 2339 | "chownr": "^1.1.1", 2340 | "mkdirp-classic": "^0.5.2", 2341 | "pump": "^3.0.0", 2342 | "tar-stream": "^2.1.4" 2343 | } 2344 | }, 2345 | "node_modules/tar-stream": { 2346 | "version": "2.2.0", 2347 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 2348 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 2349 | "dependencies": { 2350 | "bl": "^4.0.3", 2351 | "end-of-stream": "^1.4.1", 2352 | "fs-constants": "^1.0.0", 2353 | "inherits": "^2.0.3", 2354 | "readable-stream": "^3.1.1" 2355 | }, 2356 | "engines": { 2357 | "node": ">=6" 2358 | } 2359 | }, 2360 | "node_modules/tar-stream/node_modules/readable-stream": { 2361 | "version": "3.6.0", 2362 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2363 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2364 | "dependencies": { 2365 | "inherits": "^2.0.3", 2366 | "string_decoder": "^1.1.1", 2367 | "util-deprecate": "^1.0.1" 2368 | }, 2369 | "engines": { 2370 | "node": ">= 6" 2371 | } 2372 | }, 2373 | "node_modules/tar-stream/node_modules/string_decoder": { 2374 | "version": "1.3.0", 2375 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2376 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2377 | "dependencies": { 2378 | "safe-buffer": "~5.2.0" 2379 | } 2380 | }, 2381 | "node_modules/through": { 2382 | "version": "2.3.8", 2383 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2384 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 2385 | }, 2386 | "node_modules/tldts-core": { 2387 | "version": "5.7.57", 2388 | "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-5.7.57.tgz", 2389 | "integrity": "sha512-rk3UxpBGY/wEQSFv5bJCYDwl/suy6v5o6ZKWsi2Ej+U2CZqWDZBFrJJqDHW9PgS2YBsaqDtFkSUZoIzI0BviqQ==" 2390 | }, 2391 | "node_modules/tldts-experimental": { 2392 | "version": "5.7.57", 2393 | "resolved": "https://registry.npmjs.org/tldts-experimental/-/tldts-experimental-5.7.57.tgz", 2394 | "integrity": "sha512-PDLVu4O77mzrJC3L7O9RwWMMgzcvb2DRDJxj8huxVfUJ5GStChfeJ8JdJxEXlW/iaNj/HT5MTlRf3u08+MZFYg==", 2395 | "dependencies": { 2396 | "tldts-core": "^5.7.57" 2397 | } 2398 | }, 2399 | "node_modules/toidentifier": { 2400 | "version": "1.0.1", 2401 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 2402 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 2403 | "engines": { 2404 | "node": ">=0.6" 2405 | } 2406 | }, 2407 | "node_modules/tr46": { 2408 | "version": "0.0.3", 2409 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 2410 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" 2411 | }, 2412 | "node_modules/tslib": { 2413 | "version": "2.3.1", 2414 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 2415 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 2416 | }, 2417 | "node_modules/type-is": { 2418 | "version": "1.6.18", 2419 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 2420 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 2421 | "dependencies": { 2422 | "media-typer": "0.3.0", 2423 | "mime-types": "~2.1.24" 2424 | }, 2425 | "engines": { 2426 | "node": ">= 0.6" 2427 | } 2428 | }, 2429 | "node_modules/unbzip2-stream": { 2430 | "version": "1.4.3", 2431 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", 2432 | "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", 2433 | "dependencies": { 2434 | "buffer": "^5.2.1", 2435 | "through": "^2.3.8" 2436 | } 2437 | }, 2438 | "node_modules/universalify": { 2439 | "version": "2.0.0", 2440 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 2441 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 2442 | "engines": { 2443 | "node": ">= 10.0.0" 2444 | } 2445 | }, 2446 | "node_modules/unpipe": { 2447 | "version": "1.0.0", 2448 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 2449 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", 2450 | "engines": { 2451 | "node": ">= 0.8" 2452 | } 2453 | }, 2454 | "node_modules/util-deprecate": { 2455 | "version": "1.0.2", 2456 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2457 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 2458 | }, 2459 | "node_modules/utils-merge": { 2460 | "version": "1.0.1", 2461 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 2462 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", 2463 | "engines": { 2464 | "node": ">= 0.4.0" 2465 | } 2466 | }, 2467 | "node_modules/varint": { 2468 | "version": "5.0.2", 2469 | "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", 2470 | "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" 2471 | }, 2472 | "node_modules/vary": { 2473 | "version": "1.1.2", 2474 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 2475 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", 2476 | "engines": { 2477 | "node": ">= 0.8" 2478 | } 2479 | }, 2480 | "node_modules/webidl-conversions": { 2481 | "version": "3.0.1", 2482 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 2483 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" 2484 | }, 2485 | "node_modules/whatwg-url": { 2486 | "version": "5.0.0", 2487 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 2488 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", 2489 | "dependencies": { 2490 | "tr46": "~0.0.3", 2491 | "webidl-conversions": "^3.0.0" 2492 | } 2493 | }, 2494 | "node_modules/wrap-ansi": { 2495 | "version": "7.0.0", 2496 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2497 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2498 | "dependencies": { 2499 | "ansi-styles": "^4.0.0", 2500 | "string-width": "^4.1.0", 2501 | "strip-ansi": "^6.0.0" 2502 | }, 2503 | "engines": { 2504 | "node": ">=10" 2505 | }, 2506 | "funding": { 2507 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2508 | } 2509 | }, 2510 | "node_modules/wrappy": { 2511 | "version": "1.0.2", 2512 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2513 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 2514 | }, 2515 | "node_modules/ws": { 2516 | "version": "7.5.6", 2517 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", 2518 | "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", 2519 | "engines": { 2520 | "node": ">=8.3.0" 2521 | }, 2522 | "peerDependencies": { 2523 | "bufferutil": "^4.0.1", 2524 | "utf-8-validate": "^5.0.2" 2525 | }, 2526 | "peerDependenciesMeta": { 2527 | "bufferutil": { 2528 | "optional": true 2529 | }, 2530 | "utf-8-validate": { 2531 | "optional": true 2532 | } 2533 | } 2534 | }, 2535 | "node_modules/xmlbuilder": { 2536 | "version": "8.2.2", 2537 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", 2538 | "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", 2539 | "engines": { 2540 | "node": ">=4.0" 2541 | } 2542 | }, 2543 | "node_modules/xmlrpc": { 2544 | "version": "1.3.2", 2545 | "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz", 2546 | "integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=", 2547 | "dependencies": { 2548 | "sax": "1.2.x", 2549 | "xmlbuilder": "8.2.x" 2550 | }, 2551 | "engines": { 2552 | "node": ">=0.8", 2553 | "npm": ">=1.0.0" 2554 | } 2555 | }, 2556 | "node_modules/y18n": { 2557 | "version": "5.0.8", 2558 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 2559 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 2560 | "engines": { 2561 | "node": ">=10" 2562 | } 2563 | }, 2564 | "node_modules/yargs": { 2565 | "version": "16.2.0", 2566 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 2567 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 2568 | "dependencies": { 2569 | "cliui": "^7.0.2", 2570 | "escalade": "^3.1.1", 2571 | "get-caller-file": "^2.0.5", 2572 | "require-directory": "^2.1.1", 2573 | "string-width": "^4.2.0", 2574 | "y18n": "^5.0.5", 2575 | "yargs-parser": "^20.2.2" 2576 | }, 2577 | "engines": { 2578 | "node": ">=10" 2579 | } 2580 | }, 2581 | "node_modules/yargs-parser": { 2582 | "version": "20.2.9", 2583 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 2584 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", 2585 | "engines": { 2586 | "node": ">=10" 2587 | } 2588 | }, 2589 | "node_modules/yauzl": { 2590 | "version": "2.10.0", 2591 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 2592 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 2593 | "dependencies": { 2594 | "buffer-crc32": "~0.2.3", 2595 | "fd-slicer": "~1.1.0" 2596 | } 2597 | } 2598 | }, 2599 | "dependencies": { 2600 | "@cliqz/adblocker": { 2601 | "version": "1.23.2", 2602 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker/-/adblocker-1.23.2.tgz", 2603 | "integrity": "sha512-u4u/iunhMoCQanfzvruBjNSqP9lu+y8tub3zhPZwtyrmmkXFcEark09/3qvq4jBCzqZQjdDjHlWaX6k1PjnUmg==", 2604 | "requires": { 2605 | "@cliqz/adblocker-content": "^1.23.2", 2606 | "@cliqz/adblocker-extended-selectors": "^1.23.2", 2607 | "@remusao/guess-url-type": "^1.1.2", 2608 | "@remusao/small": "^1.1.2", 2609 | "@remusao/smaz": "^1.7.1", 2610 | "@types/chrome": "^0.0.164", 2611 | "@types/firefox-webext-browser": "^94.0.0", 2612 | "tldts-experimental": "^5.6.21" 2613 | } 2614 | }, 2615 | "@cliqz/adblocker-content": { 2616 | "version": "1.23.2", 2617 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker-content/-/adblocker-content-1.23.2.tgz", 2618 | "integrity": "sha512-J2jRtd1l3O/bDlXLBFgzC8Z/M84k2SL1pzqpoLRxYrJ3VbDv2ZgrIjUkTBR8hExKZ1DHnGYOrZD014N0YRQvVw==", 2619 | "requires": { 2620 | "@cliqz/adblocker-extended-selectors": "^1.23.2" 2621 | } 2622 | }, 2623 | "@cliqz/adblocker-extended-selectors": { 2624 | "version": "1.23.2", 2625 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.23.2.tgz", 2626 | "integrity": "sha512-JokCWTcw0XjBxAv7WGzfVfdGjz6OsND4eEhEQUDXxzkzbv4qOe8T+fi42lphfshlt89svAIl18zKp0Ibx9H9Vw==" 2627 | }, 2628 | "@cliqz/adblocker-puppeteer": { 2629 | "version": "1.22.6", 2630 | "resolved": "https://registry.npmjs.org/@cliqz/adblocker-puppeteer/-/adblocker-puppeteer-1.22.6.tgz", 2631 | "integrity": "sha512-Yg+64gsBfG8NKIJTKRg+sgK8G32W/z4qNEoMGdGJc7mdKVCn+y93WklDMO3pCy64u9jqUVS/Rd7z/Z96dX3K8Q==", 2632 | "requires": { 2633 | "@cliqz/adblocker": "^1.22.6", 2634 | "@cliqz/adblocker-content": "^1.22.6", 2635 | "tldts-experimental": "^5.6.21" 2636 | } 2637 | }, 2638 | "@remusao/guess-url-type": { 2639 | "version": "1.2.1", 2640 | "resolved": "https://registry.npmjs.org/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz", 2641 | "integrity": "sha512-rbOqre2jW8STjheOsOaQHLgYBaBZ9Owbdt8NO7WvNZftJlaG3y/K9oOkl8ZUpuFBisIhmBuMEW6c+YrQl5inRA==" 2642 | }, 2643 | "@remusao/small": { 2644 | "version": "1.2.1", 2645 | "resolved": "https://registry.npmjs.org/@remusao/small/-/small-1.2.1.tgz", 2646 | "integrity": "sha512-7MjoGt0TJMVw1GPKgWq6SJPws1SLsUXQRa43Umht+nkyw2jnpy3WpiLNqGdwo5rHr5Wp9B2W/Pm5RQp656UJdw==" 2647 | }, 2648 | "@remusao/smaz": { 2649 | "version": "1.9.1", 2650 | "resolved": "https://registry.npmjs.org/@remusao/smaz/-/smaz-1.9.1.tgz", 2651 | "integrity": "sha512-e6BLuP8oaXCZ9+v46Is4ilAZ/Vq6YLgmBP204Ixgk1qTjXmqvFYG7+AS7v9nsZdGOy96r9DWGFbbDVgMxwu1rA==", 2652 | "requires": { 2653 | "@remusao/smaz-compress": "^1.9.1", 2654 | "@remusao/smaz-decompress": "^1.9.1" 2655 | } 2656 | }, 2657 | "@remusao/smaz-compress": { 2658 | "version": "1.9.1", 2659 | "resolved": "https://registry.npmjs.org/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz", 2660 | "integrity": "sha512-E2f48TwloQu3r6BdLOGF2aczeH7bJ/32oJGqvzT9SKur0cuUnLcZ7ZXP874E2fwmdE+cXzfC7bKzp79cDnmeyw==", 2661 | "requires": { 2662 | "@remusao/trie": "^1.4.1" 2663 | } 2664 | }, 2665 | "@remusao/smaz-decompress": { 2666 | "version": "1.9.1", 2667 | "resolved": "https://registry.npmjs.org/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz", 2668 | "integrity": "sha512-TfjKKprYe3n47od8auhvJ/Ikj9kQTbDTe71ynKlxslrvvUhlIV3VQSuwYuMWMbdz1fIs0H/fxCN1Z8/H3km6/A==" 2669 | }, 2670 | "@remusao/trie": { 2671 | "version": "1.4.1", 2672 | "resolved": "https://registry.npmjs.org/@remusao/trie/-/trie-1.4.1.tgz", 2673 | "integrity": "sha512-yvwa+aCyYI/UjeD39BnpMypG8N06l86wIDW1/PAc6ihBRnodIfZDwccxQN3n1t74wduzaz74m4ZMHZnB06567Q==" 2674 | }, 2675 | "@sindresorhus/is": { 2676 | "version": "4.2.0", 2677 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", 2678 | "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" 2679 | }, 2680 | "@szmarczak/http-timer": { 2681 | "version": "4.0.6", 2682 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", 2683 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", 2684 | "requires": { 2685 | "defer-to-connect": "^2.0.0" 2686 | } 2687 | }, 2688 | "@types/cacheable-request": { 2689 | "version": "6.0.2", 2690 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", 2691 | "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", 2692 | "requires": { 2693 | "@types/http-cache-semantics": "*", 2694 | "@types/keyv": "*", 2695 | "@types/node": "*", 2696 | "@types/responselike": "*" 2697 | } 2698 | }, 2699 | "@types/chrome": { 2700 | "version": "0.0.164", 2701 | "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.164.tgz", 2702 | "integrity": "sha512-/EvjbfcowiA+f8Fwv5PSzxHhnAgjIx50Bjy1zQQYYwxlbJ+rI07CXMhrxwz4jUZlxLjnn/kugNQBjZIN58pKyg==", 2703 | "requires": { 2704 | "@types/filesystem": "*", 2705 | "@types/har-format": "*" 2706 | } 2707 | }, 2708 | "@types/debug": { 2709 | "version": "4.1.7", 2710 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", 2711 | "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", 2712 | "requires": { 2713 | "@types/ms": "*" 2714 | } 2715 | }, 2716 | "@types/filesystem": { 2717 | "version": "0.0.32", 2718 | "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", 2719 | "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", 2720 | "requires": { 2721 | "@types/filewriter": "*" 2722 | } 2723 | }, 2724 | "@types/filewriter": { 2725 | "version": "0.0.29", 2726 | "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", 2727 | "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" 2728 | }, 2729 | "@types/firefox-webext-browser": { 2730 | "version": "94.0.1", 2731 | "resolved": "https://registry.npmjs.org/@types/firefox-webext-browser/-/firefox-webext-browser-94.0.1.tgz", 2732 | "integrity": "sha512-I6iHRQJSTZ+gYt2IxdH2RRAMvcUyK8v5Ig7fHQR0IwUNYP7hz9+cziBVIKxLCO6XI7fiyRsNOWObfl3/4Js2Lg==" 2733 | }, 2734 | "@types/har-format": { 2735 | "version": "1.2.8", 2736 | "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.8.tgz", 2737 | "integrity": "sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==" 2738 | }, 2739 | "@types/http-cache-semantics": { 2740 | "version": "4.0.1", 2741 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", 2742 | "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" 2743 | }, 2744 | "@types/keyv": { 2745 | "version": "3.1.3", 2746 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", 2747 | "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", 2748 | "requires": { 2749 | "@types/node": "*" 2750 | } 2751 | }, 2752 | "@types/ms": { 2753 | "version": "0.7.31", 2754 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", 2755 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" 2756 | }, 2757 | "@types/node": { 2758 | "version": "17.0.7", 2759 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", 2760 | "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==" 2761 | }, 2762 | "@types/puppeteer": { 2763 | "version": "5.4.4", 2764 | "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.4.tgz", 2765 | "integrity": "sha512-3Nau+qi69CN55VwZb0ATtdUAlYlqOOQ3OfQfq0Hqgc4JMFXiQT/XInlwQ9g6LbicDslE6loIFsXFklGh5XmI6Q==", 2766 | "requires": { 2767 | "@types/node": "*" 2768 | } 2769 | }, 2770 | "@types/responselike": { 2771 | "version": "1.0.0", 2772 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", 2773 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", 2774 | "requires": { 2775 | "@types/node": "*" 2776 | } 2777 | }, 2778 | "@types/yauzl": { 2779 | "version": "2.9.2", 2780 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", 2781 | "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", 2782 | "optional": true, 2783 | "requires": { 2784 | "@types/node": "*" 2785 | } 2786 | }, 2787 | "accepts": { 2788 | "version": "1.3.7", 2789 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 2790 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 2791 | "requires": { 2792 | "mime-types": "~2.1.24", 2793 | "negotiator": "0.6.2" 2794 | } 2795 | }, 2796 | "agent-base": { 2797 | "version": "5.1.1", 2798 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", 2799 | "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" 2800 | }, 2801 | "amdefine": { 2802 | "version": "1.0.1", 2803 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 2804 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" 2805 | }, 2806 | "ansi-regex": { 2807 | "version": "5.0.1", 2808 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2809 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 2810 | }, 2811 | "ansi-styles": { 2812 | "version": "4.3.0", 2813 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2814 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2815 | "requires": { 2816 | "color-convert": "^2.0.1" 2817 | } 2818 | }, 2819 | "any-promise": { 2820 | "version": "1.3.0", 2821 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 2822 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" 2823 | }, 2824 | "arr-union": { 2825 | "version": "3.1.0", 2826 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 2827 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" 2828 | }, 2829 | "array-flatten": { 2830 | "version": "1.1.1", 2831 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 2832 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 2833 | }, 2834 | "balanced-match": { 2835 | "version": "1.0.2", 2836 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2837 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 2838 | }, 2839 | "barse": { 2840 | "version": "0.4.3", 2841 | "resolved": "https://registry.npmjs.org/barse/-/barse-0.4.3.tgz", 2842 | "integrity": "sha1-KJhk15XQECu7sYHmbs0IxUobwMs=", 2843 | "requires": { 2844 | "readable-stream": "~1.0.2" 2845 | } 2846 | }, 2847 | "base64-js": { 2848 | "version": "1.5.1", 2849 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 2850 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" 2851 | }, 2852 | "bl": { 2853 | "version": "4.1.0", 2854 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 2855 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 2856 | "requires": { 2857 | "buffer": "^5.5.0", 2858 | "inherits": "^2.0.4", 2859 | "readable-stream": "^3.4.0" 2860 | }, 2861 | "dependencies": { 2862 | "readable-stream": { 2863 | "version": "3.6.0", 2864 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2865 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2866 | "requires": { 2867 | "inherits": "^2.0.3", 2868 | "string_decoder": "^1.1.1", 2869 | "util-deprecate": "^1.0.1" 2870 | } 2871 | }, 2872 | "string_decoder": { 2873 | "version": "1.3.0", 2874 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2875 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2876 | "requires": { 2877 | "safe-buffer": "~5.2.0" 2878 | } 2879 | } 2880 | } 2881 | }, 2882 | "body-parser": { 2883 | "version": "1.19.1", 2884 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", 2885 | "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", 2886 | "requires": { 2887 | "bytes": "3.1.1", 2888 | "content-type": "~1.0.4", 2889 | "debug": "2.6.9", 2890 | "depd": "~1.1.2", 2891 | "http-errors": "1.8.1", 2892 | "iconv-lite": "0.4.24", 2893 | "on-finished": "~2.3.0", 2894 | "qs": "6.9.6", 2895 | "raw-body": "2.4.2", 2896 | "type-is": "~1.6.18" 2897 | } 2898 | }, 2899 | "boolbase": { 2900 | "version": "1.0.0", 2901 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 2902 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" 2903 | }, 2904 | "brace-expansion": { 2905 | "version": "1.1.11", 2906 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2907 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2908 | "requires": { 2909 | "balanced-match": "^1.0.0", 2910 | "concat-map": "0.0.1" 2911 | } 2912 | }, 2913 | "buffer": { 2914 | "version": "5.7.1", 2915 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 2916 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 2917 | "requires": { 2918 | "base64-js": "^1.3.1", 2919 | "ieee754": "^1.1.13" 2920 | } 2921 | }, 2922 | "buffer-crc32": { 2923 | "version": "0.2.13", 2924 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 2925 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" 2926 | }, 2927 | "buffer-equal-constant-time": { 2928 | "version": "1.0.1", 2929 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 2930 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" 2931 | }, 2932 | "bytes": { 2933 | "version": "3.1.1", 2934 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", 2935 | "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==" 2936 | }, 2937 | "cacheable-lookup": { 2938 | "version": "5.0.4", 2939 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", 2940 | "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" 2941 | }, 2942 | "cacheable-request": { 2943 | "version": "7.0.2", 2944 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", 2945 | "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", 2946 | "requires": { 2947 | "clone-response": "^1.0.2", 2948 | "get-stream": "^5.1.0", 2949 | "http-cache-semantics": "^4.0.0", 2950 | "keyv": "^4.0.0", 2951 | "lowercase-keys": "^2.0.0", 2952 | "normalize-url": "^6.0.1", 2953 | "responselike": "^2.0.0" 2954 | } 2955 | }, 2956 | "cheerio": { 2957 | "version": "1.0.0-rc.10", 2958 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", 2959 | "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", 2960 | "requires": { 2961 | "cheerio-select": "^1.5.0", 2962 | "dom-serializer": "^1.3.2", 2963 | "domhandler": "^4.2.0", 2964 | "htmlparser2": "^6.1.0", 2965 | "parse5": "^6.0.1", 2966 | "parse5-htmlparser2-tree-adapter": "^6.0.1", 2967 | "tslib": "^2.2.0" 2968 | } 2969 | }, 2970 | "cheerio-select": { 2971 | "version": "1.5.0", 2972 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", 2973 | "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", 2974 | "requires": { 2975 | "css-select": "^4.1.3", 2976 | "css-what": "^5.0.1", 2977 | "domelementtype": "^2.2.0", 2978 | "domhandler": "^4.2.0", 2979 | "domutils": "^2.7.0" 2980 | } 2981 | }, 2982 | "chownr": { 2983 | "version": "1.1.4", 2984 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 2985 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" 2986 | }, 2987 | "cliui": { 2988 | "version": "7.0.4", 2989 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 2990 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 2991 | "requires": { 2992 | "string-width": "^4.2.0", 2993 | "strip-ansi": "^6.0.0", 2994 | "wrap-ansi": "^7.0.0" 2995 | } 2996 | }, 2997 | "clone-deep": { 2998 | "version": "0.2.4", 2999 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", 3000 | "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", 3001 | "requires": { 3002 | "for-own": "^0.1.3", 3003 | "is-plain-object": "^2.0.1", 3004 | "kind-of": "^3.0.2", 3005 | "lazy-cache": "^1.0.3", 3006 | "shallow-clone": "^0.1.2" 3007 | } 3008 | }, 3009 | "clone-response": { 3010 | "version": "1.0.2", 3011 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 3012 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", 3013 | "requires": { 3014 | "mimic-response": "^1.0.0" 3015 | } 3016 | }, 3017 | "color-convert": { 3018 | "version": "2.0.1", 3019 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 3020 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 3021 | "requires": { 3022 | "color-name": "~1.1.4" 3023 | } 3024 | }, 3025 | "color-name": { 3026 | "version": "1.1.4", 3027 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 3028 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 3029 | }, 3030 | "commander": { 3031 | "version": "2.8.1", 3032 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 3033 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 3034 | "requires": { 3035 | "graceful-readlink": ">= 1.0.0" 3036 | } 3037 | }, 3038 | "compressjs": { 3039 | "version": "1.0.3", 3040 | "resolved": "https://registry.npmjs.org/compressjs/-/compressjs-1.0.3.tgz", 3041 | "integrity": "sha1-ldt03VuQOM+AvKMhqw7eJxtJWbY=", 3042 | "requires": { 3043 | "amdefine": "~1.0.0", 3044 | "commander": "~2.8.1" 3045 | } 3046 | }, 3047 | "concat-map": { 3048 | "version": "0.0.1", 3049 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 3050 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 3051 | }, 3052 | "content-disposition": { 3053 | "version": "0.5.4", 3054 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 3055 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 3056 | "requires": { 3057 | "safe-buffer": "5.2.1" 3058 | } 3059 | }, 3060 | "content-type": { 3061 | "version": "1.0.4", 3062 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 3063 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 3064 | }, 3065 | "cookie": { 3066 | "version": "0.4.1", 3067 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", 3068 | "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" 3069 | }, 3070 | "cookie-signature": { 3071 | "version": "1.0.6", 3072 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 3073 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 3074 | }, 3075 | "core-util-is": { 3076 | "version": "1.0.3", 3077 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 3078 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" 3079 | }, 3080 | "css-select": { 3081 | "version": "4.2.1", 3082 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", 3083 | "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", 3084 | "requires": { 3085 | "boolbase": "^1.0.0", 3086 | "css-what": "^5.1.0", 3087 | "domhandler": "^4.3.0", 3088 | "domutils": "^2.8.0", 3089 | "nth-check": "^2.0.1" 3090 | } 3091 | }, 3092 | "css-what": { 3093 | "version": "5.1.0", 3094 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", 3095 | "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" 3096 | }, 3097 | "debug": { 3098 | "version": "2.6.9", 3099 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3100 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3101 | "requires": { 3102 | "ms": "2.0.0" 3103 | } 3104 | }, 3105 | "decompress-response": { 3106 | "version": "6.0.0", 3107 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 3108 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 3109 | "requires": { 3110 | "mimic-response": "^3.1.0" 3111 | }, 3112 | "dependencies": { 3113 | "mimic-response": { 3114 | "version": "3.1.0", 3115 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 3116 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" 3117 | } 3118 | } 3119 | }, 3120 | "deepmerge": { 3121 | "version": "4.2.2", 3122 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 3123 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" 3124 | }, 3125 | "defer-to-connect": { 3126 | "version": "2.0.1", 3127 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", 3128 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" 3129 | }, 3130 | "depd": { 3131 | "version": "1.1.2", 3132 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 3133 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 3134 | }, 3135 | "destroy": { 3136 | "version": "1.0.4", 3137 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 3138 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 3139 | }, 3140 | "devtools-protocol": { 3141 | "version": "0.0.818844", 3142 | "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz", 3143 | "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==" 3144 | }, 3145 | "dom-serializer": { 3146 | "version": "1.3.2", 3147 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", 3148 | "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", 3149 | "requires": { 3150 | "domelementtype": "^2.0.1", 3151 | "domhandler": "^4.2.0", 3152 | "entities": "^2.0.0" 3153 | } 3154 | }, 3155 | "domelementtype": { 3156 | "version": "2.2.0", 3157 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 3158 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" 3159 | }, 3160 | "domhandler": { 3161 | "version": "4.3.0", 3162 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", 3163 | "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", 3164 | "requires": { 3165 | "domelementtype": "^2.2.0" 3166 | } 3167 | }, 3168 | "domutils": { 3169 | "version": "2.8.0", 3170 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 3171 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 3172 | "requires": { 3173 | "dom-serializer": "^1.0.1", 3174 | "domelementtype": "^2.2.0", 3175 | "domhandler": "^4.2.0" 3176 | } 3177 | }, 3178 | "dotenv": { 3179 | "version": "8.6.0", 3180 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", 3181 | "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" 3182 | }, 3183 | "ecdsa-sig-formatter": { 3184 | "version": "1.0.11", 3185 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 3186 | "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 3187 | "requires": { 3188 | "safe-buffer": "^5.0.1" 3189 | } 3190 | }, 3191 | "ee-first": { 3192 | "version": "1.1.1", 3193 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 3194 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 3195 | }, 3196 | "emoji-regex": { 3197 | "version": "8.0.0", 3198 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 3199 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 3200 | }, 3201 | "encodeurl": { 3202 | "version": "1.0.2", 3203 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 3204 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 3205 | }, 3206 | "end-of-stream": { 3207 | "version": "1.4.4", 3208 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 3209 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 3210 | "requires": { 3211 | "once": "^1.4.0" 3212 | } 3213 | }, 3214 | "entities": { 3215 | "version": "2.2.0", 3216 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 3217 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" 3218 | }, 3219 | "escalade": { 3220 | "version": "3.1.1", 3221 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 3222 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 3223 | }, 3224 | "escape-html": { 3225 | "version": "1.0.3", 3226 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 3227 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 3228 | }, 3229 | "etag": { 3230 | "version": "1.8.1", 3231 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 3232 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 3233 | }, 3234 | "event-to-promise": { 3235 | "version": "0.7.0", 3236 | "resolved": "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.7.0.tgz", 3237 | "integrity": "sha1-ywffzUGNoiIdkPd+q3E7wjXiCQ8=" 3238 | }, 3239 | "express": { 3240 | "version": "4.17.2", 3241 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", 3242 | "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", 3243 | "requires": { 3244 | "accepts": "~1.3.7", 3245 | "array-flatten": "1.1.1", 3246 | "body-parser": "1.19.1", 3247 | "content-disposition": "0.5.4", 3248 | "content-type": "~1.0.4", 3249 | "cookie": "0.4.1", 3250 | "cookie-signature": "1.0.6", 3251 | "debug": "2.6.9", 3252 | "depd": "~1.1.2", 3253 | "encodeurl": "~1.0.2", 3254 | "escape-html": "~1.0.3", 3255 | "etag": "~1.8.1", 3256 | "finalhandler": "~1.1.2", 3257 | "fresh": "0.5.2", 3258 | "merge-descriptors": "1.0.1", 3259 | "methods": "~1.1.2", 3260 | "on-finished": "~2.3.0", 3261 | "parseurl": "~1.3.3", 3262 | "path-to-regexp": "0.1.7", 3263 | "proxy-addr": "~2.0.7", 3264 | "qs": "6.9.6", 3265 | "range-parser": "~1.2.1", 3266 | "safe-buffer": "5.2.1", 3267 | "send": "0.17.2", 3268 | "serve-static": "1.14.2", 3269 | "setprototypeof": "1.2.0", 3270 | "statuses": "~1.5.0", 3271 | "type-is": "~1.6.18", 3272 | "utils-merge": "1.0.1", 3273 | "vary": "~1.1.2" 3274 | } 3275 | }, 3276 | "extract-zip": { 3277 | "version": "2.0.1", 3278 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 3279 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 3280 | "requires": { 3281 | "@types/yauzl": "^2.9.1", 3282 | "debug": "^4.1.1", 3283 | "get-stream": "^5.1.0", 3284 | "yauzl": "^2.10.0" 3285 | }, 3286 | "dependencies": { 3287 | "debug": { 3288 | "version": "4.3.3", 3289 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 3290 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 3291 | "requires": { 3292 | "ms": "2.1.2" 3293 | } 3294 | }, 3295 | "ms": { 3296 | "version": "2.1.2", 3297 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3298 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 3299 | } 3300 | } 3301 | }, 3302 | "fd-slicer": { 3303 | "version": "1.1.0", 3304 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 3305 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 3306 | "requires": { 3307 | "pend": "~1.2.0" 3308 | } 3309 | }, 3310 | "finalhandler": { 3311 | "version": "1.1.2", 3312 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 3313 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 3314 | "requires": { 3315 | "debug": "2.6.9", 3316 | "encodeurl": "~1.0.2", 3317 | "escape-html": "~1.0.3", 3318 | "on-finished": "~2.3.0", 3319 | "parseurl": "~1.3.3", 3320 | "statuses": "~1.5.0", 3321 | "unpipe": "~1.0.0" 3322 | } 3323 | }, 3324 | "find-up": { 3325 | "version": "4.1.0", 3326 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 3327 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 3328 | "requires": { 3329 | "locate-path": "^5.0.0", 3330 | "path-exists": "^4.0.0" 3331 | } 3332 | }, 3333 | "for-in": { 3334 | "version": "1.0.2", 3335 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 3336 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" 3337 | }, 3338 | "for-own": { 3339 | "version": "0.1.5", 3340 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 3341 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 3342 | "requires": { 3343 | "for-in": "^1.0.1" 3344 | } 3345 | }, 3346 | "forwarded": { 3347 | "version": "0.2.0", 3348 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 3349 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" 3350 | }, 3351 | "fresh": { 3352 | "version": "0.5.2", 3353 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 3354 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 3355 | }, 3356 | "fs-constants": { 3357 | "version": "1.0.0", 3358 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 3359 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 3360 | }, 3361 | "fs-extra": { 3362 | "version": "10.0.0", 3363 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", 3364 | "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", 3365 | "requires": { 3366 | "graceful-fs": "^4.2.0", 3367 | "jsonfile": "^6.0.1", 3368 | "universalify": "^2.0.0" 3369 | } 3370 | }, 3371 | "fs.realpath": { 3372 | "version": "1.0.0", 3373 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 3374 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 3375 | }, 3376 | "gamedig": { 3377 | "version": "2.0.28", 3378 | "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-2.0.28.tgz", 3379 | "integrity": "sha512-Os+lFBEHtyb+NuWUD+ap8R/0b0as6S6YN2ldcey9ONkCTig7A8adisWPJs1nhx0QWJg/RH00bNL/58JCLruYlg==", 3380 | "requires": { 3381 | "cheerio": "^1.0.0-rc.3", 3382 | "compressjs": "^1.0.2", 3383 | "gbxremote": "^0.2.1", 3384 | "got": "^11.5.1", 3385 | "iconv-lite": "^0.6.2", 3386 | "long": "^4.0.0", 3387 | "minimist": "^1.2.5", 3388 | "moment": "^2.27.0", 3389 | "punycode": "^2.1.1", 3390 | "varint": "^5.0.0" 3391 | }, 3392 | "dependencies": { 3393 | "iconv-lite": { 3394 | "version": "0.6.3", 3395 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 3396 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 3397 | "requires": { 3398 | "safer-buffer": ">= 2.1.2 < 3.0.0" 3399 | } 3400 | } 3401 | } 3402 | }, 3403 | "gbxremote": { 3404 | "version": "0.2.1", 3405 | "resolved": "https://registry.npmjs.org/gbxremote/-/gbxremote-0.2.1.tgz", 3406 | "integrity": "sha1-hN9PvXgXgNxdaS0krASi1/Bd23w=", 3407 | "requires": { 3408 | "any-promise": "^1.1.0", 3409 | "barse": "~0.4.2", 3410 | "event-to-promise": "^0.7.0", 3411 | "string-to-stream": "^1.0.1", 3412 | "xmlrpc": "^1.3.1" 3413 | } 3414 | }, 3415 | "get-caller-file": { 3416 | "version": "2.0.5", 3417 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 3418 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 3419 | }, 3420 | "get-stream": { 3421 | "version": "5.2.0", 3422 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 3423 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 3424 | "requires": { 3425 | "pump": "^3.0.0" 3426 | } 3427 | }, 3428 | "glob": { 3429 | "version": "7.2.0", 3430 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 3431 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 3432 | "requires": { 3433 | "fs.realpath": "^1.0.0", 3434 | "inflight": "^1.0.4", 3435 | "inherits": "2", 3436 | "minimatch": "^3.0.4", 3437 | "once": "^1.3.0", 3438 | "path-is-absolute": "^1.0.0" 3439 | } 3440 | }, 3441 | "got": { 3442 | "version": "11.8.3", 3443 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", 3444 | "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", 3445 | "requires": { 3446 | "@sindresorhus/is": "^4.0.0", 3447 | "@szmarczak/http-timer": "^4.0.5", 3448 | "@types/cacheable-request": "^6.0.1", 3449 | "@types/responselike": "^1.0.0", 3450 | "cacheable-lookup": "^5.0.3", 3451 | "cacheable-request": "^7.0.2", 3452 | "decompress-response": "^6.0.0", 3453 | "http2-wrapper": "^1.0.0-beta.5.2", 3454 | "lowercase-keys": "^2.0.0", 3455 | "p-cancelable": "^2.0.0", 3456 | "responselike": "^2.0.0" 3457 | } 3458 | }, 3459 | "graceful-fs": { 3460 | "version": "4.2.8", 3461 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", 3462 | "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" 3463 | }, 3464 | "graceful-readlink": { 3465 | "version": "1.0.1", 3466 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 3467 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 3468 | }, 3469 | "htmlparser2": { 3470 | "version": "6.1.0", 3471 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", 3472 | "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", 3473 | "requires": { 3474 | "domelementtype": "^2.0.1", 3475 | "domhandler": "^4.0.0", 3476 | "domutils": "^2.5.2", 3477 | "entities": "^2.0.0" 3478 | } 3479 | }, 3480 | "http-cache-semantics": { 3481 | "version": "4.1.0", 3482 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 3483 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" 3484 | }, 3485 | "http-errors": { 3486 | "version": "1.8.1", 3487 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", 3488 | "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", 3489 | "requires": { 3490 | "depd": "~1.1.2", 3491 | "inherits": "2.0.4", 3492 | "setprototypeof": "1.2.0", 3493 | "statuses": ">= 1.5.0 < 2", 3494 | "toidentifier": "1.0.1" 3495 | } 3496 | }, 3497 | "http2-wrapper": { 3498 | "version": "1.0.3", 3499 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", 3500 | "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", 3501 | "requires": { 3502 | "quick-lru": "^5.1.1", 3503 | "resolve-alpn": "^1.0.0" 3504 | } 3505 | }, 3506 | "https-proxy-agent": { 3507 | "version": "4.0.0", 3508 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", 3509 | "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", 3510 | "requires": { 3511 | "agent-base": "5", 3512 | "debug": "4" 3513 | }, 3514 | "dependencies": { 3515 | "debug": { 3516 | "version": "4.3.3", 3517 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 3518 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 3519 | "requires": { 3520 | "ms": "2.1.2" 3521 | } 3522 | }, 3523 | "ms": { 3524 | "version": "2.1.2", 3525 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3526 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 3527 | } 3528 | } 3529 | }, 3530 | "iconv-lite": { 3531 | "version": "0.4.24", 3532 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 3533 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 3534 | "requires": { 3535 | "safer-buffer": ">= 2.1.2 < 3" 3536 | } 3537 | }, 3538 | "ieee754": { 3539 | "version": "1.2.1", 3540 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 3541 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" 3542 | }, 3543 | "inflight": { 3544 | "version": "1.0.6", 3545 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 3546 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 3547 | "requires": { 3548 | "once": "^1.3.0", 3549 | "wrappy": "1" 3550 | } 3551 | }, 3552 | "inherits": { 3553 | "version": "2.0.4", 3554 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3555 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 3556 | }, 3557 | "ipaddr.js": { 3558 | "version": "1.9.1", 3559 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 3560 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 3561 | }, 3562 | "is-buffer": { 3563 | "version": "1.1.6", 3564 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 3565 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 3566 | }, 3567 | "is-extendable": { 3568 | "version": "0.1.1", 3569 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 3570 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 3571 | }, 3572 | "is-fullwidth-code-point": { 3573 | "version": "3.0.0", 3574 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 3575 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 3576 | }, 3577 | "is-plain-object": { 3578 | "version": "2.0.4", 3579 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 3580 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 3581 | "requires": { 3582 | "isobject": "^3.0.1" 3583 | } 3584 | }, 3585 | "isarray": { 3586 | "version": "0.0.1", 3587 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 3588 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" 3589 | }, 3590 | "isobject": { 3591 | "version": "3.0.1", 3592 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 3593 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 3594 | }, 3595 | "json-buffer": { 3596 | "version": "3.0.1", 3597 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 3598 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" 3599 | }, 3600 | "jsonfile": { 3601 | "version": "6.1.0", 3602 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 3603 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 3604 | "requires": { 3605 | "graceful-fs": "^4.1.6", 3606 | "universalify": "^2.0.0" 3607 | } 3608 | }, 3609 | "jsonwebtoken": { 3610 | "version": "8.5.1", 3611 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", 3612 | "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", 3613 | "requires": { 3614 | "jws": "^3.2.2", 3615 | "lodash.includes": "^4.3.0", 3616 | "lodash.isboolean": "^3.0.3", 3617 | "lodash.isinteger": "^4.0.4", 3618 | "lodash.isnumber": "^3.0.3", 3619 | "lodash.isplainobject": "^4.0.6", 3620 | "lodash.isstring": "^4.0.1", 3621 | "lodash.once": "^4.0.0", 3622 | "ms": "^2.1.1", 3623 | "semver": "^5.6.0" 3624 | }, 3625 | "dependencies": { 3626 | "ms": { 3627 | "version": "2.1.3", 3628 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 3629 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 3630 | } 3631 | } 3632 | }, 3633 | "jwa": { 3634 | "version": "1.4.1", 3635 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", 3636 | "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", 3637 | "requires": { 3638 | "buffer-equal-constant-time": "1.0.1", 3639 | "ecdsa-sig-formatter": "1.0.11", 3640 | "safe-buffer": "^5.0.1" 3641 | } 3642 | }, 3643 | "jws": { 3644 | "version": "3.2.2", 3645 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 3646 | "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 3647 | "requires": { 3648 | "jwa": "^1.4.1", 3649 | "safe-buffer": "^5.0.1" 3650 | } 3651 | }, 3652 | "keyv": { 3653 | "version": "4.0.4", 3654 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", 3655 | "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", 3656 | "requires": { 3657 | "json-buffer": "3.0.1" 3658 | } 3659 | }, 3660 | "kind-of": { 3661 | "version": "3.2.2", 3662 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3663 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3664 | "requires": { 3665 | "is-buffer": "^1.1.5" 3666 | } 3667 | }, 3668 | "lazy-cache": { 3669 | "version": "1.0.4", 3670 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", 3671 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" 3672 | }, 3673 | "locate-path": { 3674 | "version": "5.0.0", 3675 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 3676 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 3677 | "requires": { 3678 | "p-locate": "^4.1.0" 3679 | } 3680 | }, 3681 | "lodash.includes": { 3682 | "version": "4.3.0", 3683 | "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 3684 | "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" 3685 | }, 3686 | "lodash.isboolean": { 3687 | "version": "3.0.3", 3688 | "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 3689 | "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" 3690 | }, 3691 | "lodash.isinteger": { 3692 | "version": "4.0.4", 3693 | "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 3694 | "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" 3695 | }, 3696 | "lodash.isnumber": { 3697 | "version": "3.0.3", 3698 | "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 3699 | "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" 3700 | }, 3701 | "lodash.isplainobject": { 3702 | "version": "4.0.6", 3703 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 3704 | "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" 3705 | }, 3706 | "lodash.isstring": { 3707 | "version": "4.0.1", 3708 | "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 3709 | "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" 3710 | }, 3711 | "lodash.once": { 3712 | "version": "4.1.1", 3713 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 3714 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" 3715 | }, 3716 | "long": { 3717 | "version": "4.0.0", 3718 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 3719 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 3720 | }, 3721 | "lowercase-keys": { 3722 | "version": "2.0.0", 3723 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 3724 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" 3725 | }, 3726 | "media-typer": { 3727 | "version": "0.3.0", 3728 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 3729 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 3730 | }, 3731 | "merge-deep": { 3732 | "version": "3.0.3", 3733 | "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", 3734 | "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", 3735 | "requires": { 3736 | "arr-union": "^3.1.0", 3737 | "clone-deep": "^0.2.4", 3738 | "kind-of": "^3.0.2" 3739 | } 3740 | }, 3741 | "merge-descriptors": { 3742 | "version": "1.0.1", 3743 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 3744 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 3745 | }, 3746 | "methods": { 3747 | "version": "1.1.2", 3748 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 3749 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 3750 | }, 3751 | "mime": { 3752 | "version": "1.6.0", 3753 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 3754 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 3755 | }, 3756 | "mime-db": { 3757 | "version": "1.51.0", 3758 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", 3759 | "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" 3760 | }, 3761 | "mime-types": { 3762 | "version": "2.1.34", 3763 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", 3764 | "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", 3765 | "requires": { 3766 | "mime-db": "1.51.0" 3767 | } 3768 | }, 3769 | "mimic-response": { 3770 | "version": "1.0.1", 3771 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 3772 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 3773 | }, 3774 | "minimatch": { 3775 | "version": "3.0.4", 3776 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 3777 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 3778 | "requires": { 3779 | "brace-expansion": "^1.1.7" 3780 | } 3781 | }, 3782 | "minimist": { 3783 | "version": "1.2.5", 3784 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 3785 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 3786 | }, 3787 | "mixin-object": { 3788 | "version": "2.0.1", 3789 | "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", 3790 | "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", 3791 | "requires": { 3792 | "for-in": "^0.1.3", 3793 | "is-extendable": "^0.1.1" 3794 | }, 3795 | "dependencies": { 3796 | "for-in": { 3797 | "version": "0.1.8", 3798 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", 3799 | "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" 3800 | } 3801 | } 3802 | }, 3803 | "mkdirp-classic": { 3804 | "version": "0.5.3", 3805 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 3806 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" 3807 | }, 3808 | "moment": { 3809 | "version": "2.29.1", 3810 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", 3811 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" 3812 | }, 3813 | "ms": { 3814 | "version": "2.0.0", 3815 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3816 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3817 | }, 3818 | "negotiator": { 3819 | "version": "0.6.2", 3820 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 3821 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 3822 | }, 3823 | "node-fetch": { 3824 | "version": "2.6.6", 3825 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", 3826 | "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", 3827 | "requires": { 3828 | "whatwg-url": "^5.0.0" 3829 | } 3830 | }, 3831 | "normalize-url": { 3832 | "version": "6.1.0", 3833 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 3834 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" 3835 | }, 3836 | "nth-check": { 3837 | "version": "2.0.1", 3838 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", 3839 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", 3840 | "requires": { 3841 | "boolbase": "^1.0.0" 3842 | } 3843 | }, 3844 | "on-finished": { 3845 | "version": "2.3.0", 3846 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 3847 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 3848 | "requires": { 3849 | "ee-first": "1.1.1" 3850 | } 3851 | }, 3852 | "once": { 3853 | "version": "1.4.0", 3854 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3855 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3856 | "requires": { 3857 | "wrappy": "1" 3858 | } 3859 | }, 3860 | "p-cancelable": { 3861 | "version": "2.1.1", 3862 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", 3863 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" 3864 | }, 3865 | "p-limit": { 3866 | "version": "2.3.0", 3867 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 3868 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 3869 | "requires": { 3870 | "p-try": "^2.0.0" 3871 | } 3872 | }, 3873 | "p-locate": { 3874 | "version": "4.1.0", 3875 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 3876 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 3877 | "requires": { 3878 | "p-limit": "^2.2.0" 3879 | } 3880 | }, 3881 | "p-try": { 3882 | "version": "2.2.0", 3883 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 3884 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" 3885 | }, 3886 | "parse5": { 3887 | "version": "6.0.1", 3888 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", 3889 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" 3890 | }, 3891 | "parse5-htmlparser2-tree-adapter": { 3892 | "version": "6.0.1", 3893 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", 3894 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", 3895 | "requires": { 3896 | "parse5": "^6.0.1" 3897 | } 3898 | }, 3899 | "parseurl": { 3900 | "version": "1.3.3", 3901 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 3902 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 3903 | }, 3904 | "path-exists": { 3905 | "version": "4.0.0", 3906 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 3907 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" 3908 | }, 3909 | "path-is-absolute": { 3910 | "version": "1.0.1", 3911 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3912 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 3913 | }, 3914 | "path-to-regexp": { 3915 | "version": "0.1.7", 3916 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 3917 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 3918 | }, 3919 | "pend": { 3920 | "version": "1.2.0", 3921 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 3922 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 3923 | }, 3924 | "pkg-dir": { 3925 | "version": "4.2.0", 3926 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 3927 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 3928 | "requires": { 3929 | "find-up": "^4.0.0" 3930 | } 3931 | }, 3932 | "process-nextick-args": { 3933 | "version": "2.0.1", 3934 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 3935 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 3936 | }, 3937 | "progress": { 3938 | "version": "2.0.3", 3939 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 3940 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" 3941 | }, 3942 | "proxy-addr": { 3943 | "version": "2.0.7", 3944 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 3945 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 3946 | "requires": { 3947 | "forwarded": "0.2.0", 3948 | "ipaddr.js": "1.9.1" 3949 | } 3950 | }, 3951 | "proxy-from-env": { 3952 | "version": "1.1.0", 3953 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 3954 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 3955 | }, 3956 | "pump": { 3957 | "version": "3.0.0", 3958 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 3959 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 3960 | "requires": { 3961 | "end-of-stream": "^1.1.0", 3962 | "once": "^1.3.1" 3963 | } 3964 | }, 3965 | "punycode": { 3966 | "version": "2.1.1", 3967 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3968 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 3969 | }, 3970 | "puppeteer": { 3971 | "version": "5.5.0", 3972 | "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.5.0.tgz", 3973 | "integrity": "sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg==", 3974 | "requires": { 3975 | "debug": "^4.1.0", 3976 | "devtools-protocol": "0.0.818844", 3977 | "extract-zip": "^2.0.0", 3978 | "https-proxy-agent": "^4.0.0", 3979 | "node-fetch": "^2.6.1", 3980 | "pkg-dir": "^4.2.0", 3981 | "progress": "^2.0.1", 3982 | "proxy-from-env": "^1.0.0", 3983 | "rimraf": "^3.0.2", 3984 | "tar-fs": "^2.0.0", 3985 | "unbzip2-stream": "^1.3.3", 3986 | "ws": "^7.2.3" 3987 | }, 3988 | "dependencies": { 3989 | "debug": { 3990 | "version": "4.3.3", 3991 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 3992 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 3993 | "requires": { 3994 | "ms": "2.1.2" 3995 | } 3996 | }, 3997 | "ms": { 3998 | "version": "2.1.2", 3999 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 4000 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 4001 | } 4002 | } 4003 | }, 4004 | "puppeteer-extra": { 4005 | "version": "3.2.3", 4006 | "resolved": "https://registry.npmjs.org/puppeteer-extra/-/puppeteer-extra-3.2.3.tgz", 4007 | "integrity": "sha512-CnSN9yIedbAbS8WmRybaDHJLf6goRk+VYM/kbH6i/+EMadCaAeh2O+1/mFUMN2LbkbDNAp2Vd/UwrTVCHjTxyg==", 4008 | "requires": { 4009 | "@types/debug": "^4.1.0", 4010 | "@types/puppeteer": "*", 4011 | "debug": "^4.1.1", 4012 | "deepmerge": "^4.2.2" 4013 | }, 4014 | "dependencies": { 4015 | "debug": { 4016 | "version": "4.3.3", 4017 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 4018 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 4019 | "requires": { 4020 | "ms": "2.1.2" 4021 | } 4022 | }, 4023 | "ms": { 4024 | "version": "2.1.2", 4025 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 4026 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 4027 | } 4028 | } 4029 | }, 4030 | "puppeteer-extra-plugin": { 4031 | "version": "3.2.0", 4032 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin/-/puppeteer-extra-plugin-3.2.0.tgz", 4033 | "integrity": "sha512-wbiw12USE3b+maMk/IMaroYsz7rusVI9G+ml6pCFCnFFh91Z9BAEiVzhCpOHuquVXEiCCsDTWhDUgvdNxQHOyw==", 4034 | "requires": { 4035 | "@types/debug": "^4.1.0", 4036 | "debug": "^4.1.1", 4037 | "merge-deep": "^3.0.1" 4038 | }, 4039 | "dependencies": { 4040 | "debug": { 4041 | "version": "4.3.3", 4042 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 4043 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 4044 | "requires": { 4045 | "ms": "2.1.2" 4046 | } 4047 | }, 4048 | "ms": { 4049 | "version": "2.1.2", 4050 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 4051 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 4052 | } 4053 | } 4054 | }, 4055 | "puppeteer-extra-plugin-adblocker": { 4056 | "version": "2.12.0", 4057 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-adblocker/-/puppeteer-extra-plugin-adblocker-2.12.0.tgz", 4058 | "integrity": "sha512-x0/G6suPa28FomEuCGAKGTvqcxt2efZWXE8mjEPRASGQaMe4smHYM1xT2nYS5Z82wIOqPZQVVJ7l3dGY9E+BuQ==", 4059 | "requires": { 4060 | "@cliqz/adblocker-puppeteer": "1.22.6", 4061 | "debug": "^4.1.1", 4062 | "node-fetch": "^2.6.0", 4063 | "puppeteer-extra-plugin": "^3.2.0" 4064 | }, 4065 | "dependencies": { 4066 | "debug": { 4067 | "version": "4.3.3", 4068 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 4069 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 4070 | "requires": { 4071 | "ms": "2.1.2" 4072 | } 4073 | }, 4074 | "ms": { 4075 | "version": "2.1.2", 4076 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 4077 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 4078 | } 4079 | } 4080 | }, 4081 | "puppeteer-extra-plugin-stealth": { 4082 | "version": "2.9.0", 4083 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-stealth/-/puppeteer-extra-plugin-stealth-2.9.0.tgz", 4084 | "integrity": "sha512-erZ9lkIcOkfYmLPP2jv2AiqvNBFhQJinWJhcm40pqSjwJTsZXHsTARUyRCsBYEEBvNIs3Wz3E0zVlTRc4IJ6Hg==", 4085 | "requires": { 4086 | "debug": "^4.1.1", 4087 | "puppeteer-extra-plugin": "^3.2.0", 4088 | "puppeteer-extra-plugin-user-preferences": "^2.3.1" 4089 | }, 4090 | "dependencies": { 4091 | "debug": { 4092 | "version": "4.3.3", 4093 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 4094 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 4095 | "requires": { 4096 | "ms": "2.1.2" 4097 | } 4098 | }, 4099 | "ms": { 4100 | "version": "2.1.2", 4101 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 4102 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 4103 | } 4104 | } 4105 | }, 4106 | "puppeteer-extra-plugin-user-data-dir": { 4107 | "version": "2.3.1", 4108 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-data-dir/-/puppeteer-extra-plugin-user-data-dir-2.3.1.tgz", 4109 | "integrity": "sha512-yhaYMaNFdfQ1LbA94ZElW1zU8rh+MFmO+GZA0gtQ8BXc+UZ6aRrWS9flIZvlXDzk+ZsXhCbTEohEwZ8lEDLRVA==", 4110 | "requires": { 4111 | "debug": "^4.1.1", 4112 | "fs-extra": "^10.0.0", 4113 | "puppeteer-extra-plugin": "^3.2.0" 4114 | }, 4115 | "dependencies": { 4116 | "debug": { 4117 | "version": "4.3.3", 4118 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 4119 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 4120 | "requires": { 4121 | "ms": "2.1.2" 4122 | } 4123 | }, 4124 | "ms": { 4125 | "version": "2.1.2", 4126 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 4127 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 4128 | } 4129 | } 4130 | }, 4131 | "puppeteer-extra-plugin-user-preferences": { 4132 | "version": "2.3.1", 4133 | "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-preferences/-/puppeteer-extra-plugin-user-preferences-2.3.1.tgz", 4134 | "integrity": "sha512-t/FyGQj2aqtHOROqL02z+k2kNQe0cjT0Hd9pG5FJ7x0JXx1722PhOuK7FeJLQMJ+BLl2YvCUgaWSC8Zohjts5A==", 4135 | "requires": { 4136 | "debug": "^4.1.1", 4137 | "deepmerge": "^4.2.2", 4138 | "puppeteer-extra-plugin": "^3.2.0", 4139 | "puppeteer-extra-plugin-user-data-dir": "^2.3.1" 4140 | }, 4141 | "dependencies": { 4142 | "debug": { 4143 | "version": "4.3.3", 4144 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 4145 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 4146 | "requires": { 4147 | "ms": "2.1.2" 4148 | } 4149 | }, 4150 | "ms": { 4151 | "version": "2.1.2", 4152 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 4153 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 4154 | } 4155 | } 4156 | }, 4157 | "qs": { 4158 | "version": "6.9.6", 4159 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", 4160 | "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" 4161 | }, 4162 | "quick-lru": { 4163 | "version": "5.1.1", 4164 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 4165 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" 4166 | }, 4167 | "range-parser": { 4168 | "version": "1.2.1", 4169 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 4170 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 4171 | }, 4172 | "raw-body": { 4173 | "version": "2.4.2", 4174 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", 4175 | "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", 4176 | "requires": { 4177 | "bytes": "3.1.1", 4178 | "http-errors": "1.8.1", 4179 | "iconv-lite": "0.4.24", 4180 | "unpipe": "1.0.0" 4181 | } 4182 | }, 4183 | "readable-stream": { 4184 | "version": "1.0.34", 4185 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 4186 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 4187 | "requires": { 4188 | "core-util-is": "~1.0.0", 4189 | "inherits": "~2.0.1", 4190 | "isarray": "0.0.1", 4191 | "string_decoder": "~0.10.x" 4192 | } 4193 | }, 4194 | "require-directory": { 4195 | "version": "2.1.1", 4196 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 4197 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" 4198 | }, 4199 | "resolve-alpn": { 4200 | "version": "1.2.1", 4201 | "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", 4202 | "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" 4203 | }, 4204 | "responselike": { 4205 | "version": "2.0.0", 4206 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", 4207 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", 4208 | "requires": { 4209 | "lowercase-keys": "^2.0.0" 4210 | } 4211 | }, 4212 | "rimraf": { 4213 | "version": "3.0.2", 4214 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 4215 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 4216 | "requires": { 4217 | "glob": "^7.1.3" 4218 | } 4219 | }, 4220 | "safe-buffer": { 4221 | "version": "5.2.1", 4222 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 4223 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 4224 | }, 4225 | "safer-buffer": { 4226 | "version": "2.1.2", 4227 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4228 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 4229 | }, 4230 | "sax": { 4231 | "version": "1.2.4", 4232 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 4233 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" 4234 | }, 4235 | "semver": { 4236 | "version": "5.7.1", 4237 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 4238 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 4239 | }, 4240 | "send": { 4241 | "version": "0.17.2", 4242 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", 4243 | "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", 4244 | "requires": { 4245 | "debug": "2.6.9", 4246 | "depd": "~1.1.2", 4247 | "destroy": "~1.0.4", 4248 | "encodeurl": "~1.0.2", 4249 | "escape-html": "~1.0.3", 4250 | "etag": "~1.8.1", 4251 | "fresh": "0.5.2", 4252 | "http-errors": "1.8.1", 4253 | "mime": "1.6.0", 4254 | "ms": "2.1.3", 4255 | "on-finished": "~2.3.0", 4256 | "range-parser": "~1.2.1", 4257 | "statuses": "~1.5.0" 4258 | }, 4259 | "dependencies": { 4260 | "ms": { 4261 | "version": "2.1.3", 4262 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 4263 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 4264 | } 4265 | } 4266 | }, 4267 | "serve-static": { 4268 | "version": "1.14.2", 4269 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", 4270 | "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", 4271 | "requires": { 4272 | "encodeurl": "~1.0.2", 4273 | "escape-html": "~1.0.3", 4274 | "parseurl": "~1.3.3", 4275 | "send": "0.17.2" 4276 | } 4277 | }, 4278 | "setprototypeof": { 4279 | "version": "1.2.0", 4280 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 4281 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 4282 | }, 4283 | "shallow-clone": { 4284 | "version": "0.1.2", 4285 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", 4286 | "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", 4287 | "requires": { 4288 | "is-extendable": "^0.1.1", 4289 | "kind-of": "^2.0.1", 4290 | "lazy-cache": "^0.2.3", 4291 | "mixin-object": "^2.0.1" 4292 | }, 4293 | "dependencies": { 4294 | "kind-of": { 4295 | "version": "2.0.1", 4296 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", 4297 | "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", 4298 | "requires": { 4299 | "is-buffer": "^1.0.2" 4300 | } 4301 | }, 4302 | "lazy-cache": { 4303 | "version": "0.2.7", 4304 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", 4305 | "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" 4306 | } 4307 | } 4308 | }, 4309 | "statuses": { 4310 | "version": "1.5.0", 4311 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 4312 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 4313 | }, 4314 | "string_decoder": { 4315 | "version": "0.10.31", 4316 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 4317 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" 4318 | }, 4319 | "string-to-stream": { 4320 | "version": "1.1.1", 4321 | "resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.1.tgz", 4322 | "integrity": "sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==", 4323 | "requires": { 4324 | "inherits": "^2.0.1", 4325 | "readable-stream": "^2.1.0" 4326 | }, 4327 | "dependencies": { 4328 | "isarray": { 4329 | "version": "1.0.0", 4330 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 4331 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 4332 | }, 4333 | "readable-stream": { 4334 | "version": "2.3.7", 4335 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 4336 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 4337 | "requires": { 4338 | "core-util-is": "~1.0.0", 4339 | "inherits": "~2.0.3", 4340 | "isarray": "~1.0.0", 4341 | "process-nextick-args": "~2.0.0", 4342 | "safe-buffer": "~5.1.1", 4343 | "string_decoder": "~1.1.1", 4344 | "util-deprecate": "~1.0.1" 4345 | } 4346 | }, 4347 | "safe-buffer": { 4348 | "version": "5.1.2", 4349 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 4350 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 4351 | }, 4352 | "string_decoder": { 4353 | "version": "1.1.1", 4354 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4355 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4356 | "requires": { 4357 | "safe-buffer": "~5.1.0" 4358 | } 4359 | } 4360 | } 4361 | }, 4362 | "string-width": { 4363 | "version": "4.2.3", 4364 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4365 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4366 | "requires": { 4367 | "emoji-regex": "^8.0.0", 4368 | "is-fullwidth-code-point": "^3.0.0", 4369 | "strip-ansi": "^6.0.1" 4370 | } 4371 | }, 4372 | "strip-ansi": { 4373 | "version": "6.0.1", 4374 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4375 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4376 | "requires": { 4377 | "ansi-regex": "^5.0.1" 4378 | } 4379 | }, 4380 | "tar-fs": { 4381 | "version": "2.1.1", 4382 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 4383 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 4384 | "requires": { 4385 | "chownr": "^1.1.1", 4386 | "mkdirp-classic": "^0.5.2", 4387 | "pump": "^3.0.0", 4388 | "tar-stream": "^2.1.4" 4389 | } 4390 | }, 4391 | "tar-stream": { 4392 | "version": "2.2.0", 4393 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 4394 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 4395 | "requires": { 4396 | "bl": "^4.0.3", 4397 | "end-of-stream": "^1.4.1", 4398 | "fs-constants": "^1.0.0", 4399 | "inherits": "^2.0.3", 4400 | "readable-stream": "^3.1.1" 4401 | }, 4402 | "dependencies": { 4403 | "readable-stream": { 4404 | "version": "3.6.0", 4405 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 4406 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 4407 | "requires": { 4408 | "inherits": "^2.0.3", 4409 | "string_decoder": "^1.1.1", 4410 | "util-deprecate": "^1.0.1" 4411 | } 4412 | }, 4413 | "string_decoder": { 4414 | "version": "1.3.0", 4415 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 4416 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 4417 | "requires": { 4418 | "safe-buffer": "~5.2.0" 4419 | } 4420 | } 4421 | } 4422 | }, 4423 | "through": { 4424 | "version": "2.3.8", 4425 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4426 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 4427 | }, 4428 | "tldts-core": { 4429 | "version": "5.7.57", 4430 | "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-5.7.57.tgz", 4431 | "integrity": "sha512-rk3UxpBGY/wEQSFv5bJCYDwl/suy6v5o6ZKWsi2Ej+U2CZqWDZBFrJJqDHW9PgS2YBsaqDtFkSUZoIzI0BviqQ==" 4432 | }, 4433 | "tldts-experimental": { 4434 | "version": "5.7.57", 4435 | "resolved": "https://registry.npmjs.org/tldts-experimental/-/tldts-experimental-5.7.57.tgz", 4436 | "integrity": "sha512-PDLVu4O77mzrJC3L7O9RwWMMgzcvb2DRDJxj8huxVfUJ5GStChfeJ8JdJxEXlW/iaNj/HT5MTlRf3u08+MZFYg==", 4437 | "requires": { 4438 | "tldts-core": "^5.7.57" 4439 | } 4440 | }, 4441 | "toidentifier": { 4442 | "version": "1.0.1", 4443 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 4444 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" 4445 | }, 4446 | "tr46": { 4447 | "version": "0.0.3", 4448 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 4449 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" 4450 | }, 4451 | "tslib": { 4452 | "version": "2.3.1", 4453 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 4454 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 4455 | }, 4456 | "type-is": { 4457 | "version": "1.6.18", 4458 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 4459 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 4460 | "requires": { 4461 | "media-typer": "0.3.0", 4462 | "mime-types": "~2.1.24" 4463 | } 4464 | }, 4465 | "unbzip2-stream": { 4466 | "version": "1.4.3", 4467 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", 4468 | "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", 4469 | "requires": { 4470 | "buffer": "^5.2.1", 4471 | "through": "^2.3.8" 4472 | } 4473 | }, 4474 | "universalify": { 4475 | "version": "2.0.0", 4476 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 4477 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" 4478 | }, 4479 | "unpipe": { 4480 | "version": "1.0.0", 4481 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 4482 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 4483 | }, 4484 | "util-deprecate": { 4485 | "version": "1.0.2", 4486 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4487 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 4488 | }, 4489 | "utils-merge": { 4490 | "version": "1.0.1", 4491 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 4492 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 4493 | }, 4494 | "varint": { 4495 | "version": "5.0.2", 4496 | "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", 4497 | "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" 4498 | }, 4499 | "vary": { 4500 | "version": "1.1.2", 4501 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 4502 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 4503 | }, 4504 | "webidl-conversions": { 4505 | "version": "3.0.1", 4506 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 4507 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" 4508 | }, 4509 | "whatwg-url": { 4510 | "version": "5.0.0", 4511 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 4512 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", 4513 | "requires": { 4514 | "tr46": "~0.0.3", 4515 | "webidl-conversions": "^3.0.0" 4516 | } 4517 | }, 4518 | "wrap-ansi": { 4519 | "version": "7.0.0", 4520 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 4521 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 4522 | "requires": { 4523 | "ansi-styles": "^4.0.0", 4524 | "string-width": "^4.1.0", 4525 | "strip-ansi": "^6.0.0" 4526 | } 4527 | }, 4528 | "wrappy": { 4529 | "version": "1.0.2", 4530 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4531 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 4532 | }, 4533 | "ws": { 4534 | "version": "7.5.6", 4535 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", 4536 | "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", 4537 | "requires": {} 4538 | }, 4539 | "xmlbuilder": { 4540 | "version": "8.2.2", 4541 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", 4542 | "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=" 4543 | }, 4544 | "xmlrpc": { 4545 | "version": "1.3.2", 4546 | "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz", 4547 | "integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=", 4548 | "requires": { 4549 | "sax": "1.2.x", 4550 | "xmlbuilder": "8.2.x" 4551 | } 4552 | }, 4553 | "y18n": { 4554 | "version": "5.0.8", 4555 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 4556 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" 4557 | }, 4558 | "yargs": { 4559 | "version": "16.2.0", 4560 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 4561 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 4562 | "requires": { 4563 | "cliui": "^7.0.2", 4564 | "escalade": "^3.1.1", 4565 | "get-caller-file": "^2.0.5", 4566 | "require-directory": "^2.1.1", 4567 | "string-width": "^4.2.0", 4568 | "y18n": "^5.0.5", 4569 | "yargs-parser": "^20.2.2" 4570 | } 4571 | }, 4572 | "yargs-parser": { 4573 | "version": "20.2.9", 4574 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 4575 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" 4576 | }, 4577 | "yauzl": { 4578 | "version": "2.10.0", 4579 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 4580 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 4581 | "requires": { 4582 | "buffer-crc32": "~0.2.3", 4583 | "fd-slicer": "~1.1.0" 4584 | } 4585 | } 4586 | } 4587 | } 4588 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aternosapi", 3 | "version": "0.0.1", 4 | "description": "Non Official Aternos API written in Node.js", 5 | "main": "src/index.js", 6 | "scripts": { 7 | "rest": "node src/index.js --rest", 8 | "start": "node src/index.js --start", 9 | "start-wait": "node src/index.js --start --wait", 10 | "stop": "node src/index.js --stop", 11 | "restart": "node src/index.js --stop", 12 | "info": "node src/index.js --info", 13 | "gamedig": "node src/index.js --gamedig" 14 | }, 15 | "keywords": [ 16 | "aternos", 17 | "api", 18 | "minecraft", 19 | "server", 20 | "nodejs" 21 | ], 22 | "author": "Daniel 'Harton' Martínez", 23 | "license": "ISC", 24 | "dependencies": { 25 | "dotenv": "^8.2.0", 26 | "express": "^4.17.1", 27 | "gamedig": "^2.0.23", 28 | "jsonwebtoken": "^8.5.1", 29 | "puppeteer": "^5.5.0", 30 | "puppeteer-extra": "^3.2.3", 31 | "puppeteer-extra-plugin-adblocker": "^2.12.0", 32 | "puppeteer-extra-plugin-stealth": "^2.9.0", 33 | "yargs": "^16.0.3" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/aternos.js: -------------------------------------------------------------------------------- 1 | const puppeteer = require('puppeteer-extra'); 2 | const ph = require('./puppeteer-helper'); 3 | const StealthPlugin = require('puppeteer-extra-plugin-stealth'); 4 | const AdblockerPlugin = require('puppeteer-extra-plugin-adblocker') 5 | 6 | const hostname = 'https://aternos.org'; 7 | 8 | const to = { 9 | default: 10000, 10 | start: 300000, 11 | stop: 60000 12 | }; 13 | 14 | const si = { 15 | stopped: 'div.statuslabel i.fas.fa-stop-circle', 16 | started: 'div.statuslabel i.fas.fa-play-circle', 17 | waiting: 'div.statuslabel i.fas.fa-clock', 18 | loading: 'div.statuslabel i.fas.fa-spinner-third' 19 | }; 20 | 21 | puppeteer.use(StealthPlugin()); 22 | puppeteer.use(AdblockerPlugin({ blockTrackers: true })); 23 | 24 | async function findServer(page, id) { 25 | let server = id && await page.$(`[data-id="${id}"]`); 26 | if (!server) { 27 | const servers = await page.$$('div.server-body'); 28 | for (const srv of servers) { 29 | if (!id || await ph.getText(srv, '.server-name') === id) { 30 | return srv; 31 | } 32 | } 33 | } 34 | return server; 35 | } 36 | 37 | async function getServerID(page) { 38 | return await ph.getText(page, 'div.navigation-server-detail.navigation-server-id'); 39 | } 40 | 41 | async function getServerName(page) { 42 | const href = await ph.getProperty(page, 'a.btn.btn-main.btn-small.btn-clickme', 'href'); 43 | if (href) { 44 | return href.replace('https://', '').replace('.aternos.me', '').replace('/', '').trim(); 45 | } 46 | } 47 | 48 | async function getPlayers(page) { 49 | let players = await ph.getText(page, '#players'); 50 | if (players) { 51 | players = players.split('/'); 52 | return { 53 | current: players[0].trim() * 1, 54 | max: players[1].trim() * 1 55 | }; 56 | } 57 | } 58 | 59 | async function getSoftware(page) { 60 | return await ph.getText(page, '#software'); 61 | } 62 | 63 | async function getVersion(page) { 64 | return await ph.getText(page, '#version'); 65 | } 66 | 67 | async function getQueue(page) { 68 | let time = await ph.getText(page, 'span.server-status-label-left'); 69 | let people = await ph.getText(page, 'span.server-status-label-right.queue-position'); 70 | if (time && people) { 71 | people = people.split('/'); 72 | return { 73 | time: time.replace('.ca', '').replace('min', '').trim() * 60, 74 | position: people.lengh > 0 && people[0].trim() * 1, 75 | waiting: people.lengh > 1 && people[1].trim() * 1 76 | }; 77 | } 78 | } 79 | 80 | async function getStatus(page) { 81 | 82 | const status = {}; 83 | 84 | if (await ph.isVisible(page, si.stopped)) { 85 | status.id = 0; 86 | } 87 | else if (await ph.isVisible(page, si.started)) { 88 | status.id = 1; 89 | status.countdown = await ph.getText(page, 'span.server-status-label-left'); 90 | status.memory = await ph.getText(page, 'span.server-status-label-right.queue-position'); 91 | } 92 | else if (await ph.isVisible(page, si.waiting)) { 93 | status.id = 2; 94 | status.queue = await getQueue(page); 95 | } 96 | else if (await ph.isVisible(page, si.loading)) { 97 | status.id = 3; 98 | } 99 | else { 100 | status.id = -1; 101 | } 102 | 103 | if (await ph.waitForFirst(page, to.default, '.statuslabel-label')) { 104 | status.text = await ph.getText(page, '.statuslabel-label'); 105 | } 106 | 107 | return status; 108 | } 109 | 110 | async function getServerInfo(page) { 111 | let info = {}; 112 | 113 | try { 114 | info.id = await getServerID(page); 115 | info.name = await getServerName(page); 116 | info.status = await getStatus(page); 117 | info.players = await getPlayers(page); 118 | info.software = await getSoftware(page); 119 | info.version = await getVersion(page); 120 | } 121 | catch(err) { 122 | info.error = err.message; 123 | } 124 | 125 | return info; 126 | } 127 | 128 | async function connect(id, req) { 129 | const startPage = hostname + '/go'; 130 | 131 | let browser, info, time = new Date(); 132 | 133 | try { 134 | const headless = process.env.DEBUG ? !process.env.DEBUG : true; 135 | browser = await puppeteer.launch({headless}); 136 | 137 | const page = await browser.newPage(); 138 | await page.setViewport({ width: 1920, height: 1080}); 139 | 140 | await page.goto(startPage); 141 | await page.type('#user', process.env.ATERNOS_USER); 142 | await page.type('#password', process.env.ATERNOS_PASSWORD); 143 | await page.click('#login'); 144 | 145 | await page.waitForFunction(() => { 146 | let le = document.querySelector('div.login-error'); 147 | le = le && le.textContent.trim() !== ''; 148 | return le || document.querySelector('div.page-content.page-servers'); 149 | }, {timeout:to.default}); 150 | 151 | const error = await ph.getText(page, 'div.login-error'); 152 | if (error) { 153 | throw error; 154 | } 155 | 156 | const server = await findServer(page, id); 157 | if (!server) { 158 | throw `Server ${id} not found`; 159 | } 160 | 161 | await server.click(); 162 | await page.waitForNavigation({ waitUntil: 'networkidle0' }); 163 | 164 | const choices = await page.$('#accept-choices'); 165 | if (choices) { 166 | await choices.click(); 167 | } 168 | 169 | await page.waitForSelector('div.btn.btn-white'); 170 | await page.click('div.btn.btn-white'); 171 | await page.waitForSelector('div.btn.btn-white i.far.fa-sad-tear', { hidden:true, timeout:to.default }); 172 | 173 | info = await getServerInfo(page); 174 | 175 | if (req) { 176 | await req(page, info); 177 | } 178 | } 179 | catch(error) { 180 | info.error = error.message; 181 | } 182 | finally { 183 | if (browser) { 184 | await browser.close(); 185 | } 186 | info.elapsed = new Date() - time; 187 | return info; 188 | } 189 | } 190 | 191 | function start(id, wait) { 192 | return connect(id, async (page, info) => { 193 | if (info.status.id !== 0) { 194 | return; 195 | } 196 | 197 | try { 198 | await page.waitForSelector('#start'); 199 | await page.click('#start'); 200 | await page.waitForTimeout(1000); 201 | 202 | 203 | const confirmStart = 'div.alert-buttons.btn-group a.btn.btn-green'; 204 | await page.waitForSelector(confirmStart, {timeout:to.default}); 205 | let confirmation = await page.$(confirmStart); 206 | if (confirmation) { 207 | await confirmation.click(); 208 | await page.waitForTimeout(1000); 209 | } 210 | 211 | if (!page.url().includes('server')) { 212 | await page.goto(hostname+'/server'); 213 | } 214 | 215 | await ph.waitForFirst(page, to.start, si.started, si.waiting); 216 | await page.waitForTimeout(1000); 217 | 218 | if (wait && await ph.isVisible(si.waiting)) { 219 | const queue = await getQueue(page); 220 | await page.waitForSelector('#confirm', {timeout:queue.time * 1000, visible:true}); 221 | await page.click('#confirm'); 222 | await page.waitForTimeout(1000); 223 | await page.waitForSelector(si.started, {timeout:to.start}); 224 | } 225 | 226 | info.status = await getStatus(page); 227 | } 228 | catch(error) { 229 | info.error = error.message; 230 | } 231 | }); 232 | } 233 | 234 | function stop(id) { 235 | return connect(id, async (page, info) => { 236 | if (info.status.id === 0) { 237 | return; 238 | } 239 | 240 | try { 241 | await page.click('#stop'); 242 | await page.waitForTimeout(1000); 243 | 244 | await page.waitForSelector(si.stopped, {timeout:to.stop}); 245 | 246 | info.status = await getStatus(page); 247 | } 248 | catch(error) { 249 | info.error = error.message; 250 | } 251 | }); 252 | } 253 | 254 | function restart(id) { 255 | return connect(id, async (page, info) => { 256 | if (info.status.id !== 1) { 257 | return; 258 | } 259 | 260 | try { 261 | await page.click('#restart'); 262 | await page.waitForTimeout(1000); 263 | 264 | await page.waitForSelector(si.started, {timeout:to.start}); 265 | 266 | info.status = await getStatus(page); 267 | } 268 | catch(error) { 269 | info.error = error.message; 270 | } 271 | }); 272 | } 273 | 274 | function getInfo(id) { 275 | return connect(id, async (page, info) => { 276 | try{ 277 | await page.goto(hostname+'/log'); 278 | await page.click('div.mclogs-share.btn.btn-main.btn-large.btn-no-margin'); 279 | await page.waitForTimeout(1000); 280 | await page.waitForSelector('div.share-dropdown-output', {timeout:to.default, visible:true}); 281 | info.log = await ph.getText(page, 'div.share-dropdown-output'); 282 | } 283 | catch(error) { 284 | info.error = error; 285 | } 286 | }); 287 | } 288 | 289 | async function getHostname(id) { 290 | try { 291 | const info = await getInfo(id); 292 | return `${info.name}.aternos.me`; 293 | } 294 | catch(error) {} 295 | } 296 | 297 | module.exports = { 298 | start, 299 | stop, 300 | restart, 301 | getInfo, 302 | getHostname 303 | }; -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | require('dotenv').config(); 2 | const { argv } = require('yargs'); 3 | const aternos = require('./aternos'); 4 | const Gamedig = require('gamedig'); 5 | 6 | async function getGamedig(id) { 7 | try { 8 | let host; 9 | if (!id || id[0] === '#') { 10 | host = await aternos.getHostname(id); 11 | } 12 | else { 13 | host = `${id}.aternos.me`; 14 | } 15 | return await Gamedig.query({ type: 'minecraft', host }); 16 | } 17 | catch (error) { 18 | return { error: error.message }; 19 | } 20 | } 21 | 22 | if (argv.start) { 23 | aternos.start(argv.id, argv.wait) 24 | .then(console.log) 25 | .catch(console.error); 26 | } 27 | else if (argv.stop) { 28 | aternos.stop(argv.id) 29 | .then(console.log) 30 | .catch(console.error); 31 | } 32 | else if (argv.restart) { 33 | aternos.restart(argv.id) 34 | .then(console.log) 35 | .catch(console.error); 36 | } 37 | else if (argv.info) { 38 | aternos.getInfo(argv.id) 39 | .then(console.log) 40 | .catch(console.error); 41 | } 42 | else if (argv.gamedig) { 43 | getGamedig(argv.id) 44 | .then(console.log) 45 | .catch(console.error); 46 | } 47 | else if (argv.rest) { 48 | const express = require('express'); 49 | const jwt = require('jsonwebtoken'); 50 | 51 | const app = express(); 52 | app.use(express.json()); 53 | 54 | app.listen(process.env.PORT || 3000, process.env.HOST_NAME || 'localhost', () => { 55 | console.log(`${process.env.HOST_NAME || 'localhost'}:${process.env.PORT || 3000}`); 56 | }); 57 | 58 | app.get('/api', (req, res) => { 59 | res.json({ 60 | ['/api']: { 61 | get: 'This response' 62 | }, 63 | ['/api/login']: { 64 | post: 'Raw token', 65 | body: { 66 | password: 'api_password' 67 | } 68 | }, 69 | ['/api/start']: { 70 | post: 'Try to start the server', 71 | query: { 72 | id: 'id or name of the server, none for the first', 73 | wait: 'wait for queue end and start, default false' 74 | }, 75 | examples: [ 76 | 'http://example.org/api/start?id=myserver&wait=true', 77 | 'http://example.org/api/start?id=#ZXXasMBsEHXhFJ2L', 78 | 'http://example.org/api/start?wait=true', 79 | 'http://example.org/api/start' 80 | ] 81 | }, 82 | ['/api/stop']: { 83 | post: 'Try to stop the server', 84 | query: { 85 | id: 'id or name of the server, none for the first' 86 | }, 87 | examples: [ 88 | 'http://example.org/api/stop?id=myserver', 89 | 'http://example.org/api/stop?id=#ZXXasMBsEHXhFJ2L', 90 | 'http://example.org/api/stop' 91 | ] 92 | }, 93 | ['/api/restart']: { 94 | post: 'Try to restart the server', 95 | query: { 96 | id: 'id or name of the server, none for the first' 97 | }, 98 | examples: [ 99 | 'http://example.org/api/restart?id=myserver', 100 | 'http://example.org/api/restart?id=#ZXXasMBsEHXhFJ2L', 101 | 'http://example.org/api/restart' 102 | ] 103 | }, 104 | ['/api/info']: { 105 | get: 'Get the info of the server included queue time and position', 106 | query: { 107 | id: 'id or name of the server, none for the first' 108 | }, 109 | examples: [ 110 | 'http://example.org/api/info?id=myserver', 111 | 'http://example.org/api/info?id=#ZXXasMBsEHXhFJ2L', 112 | 'http://example.org/api/info' 113 | ] 114 | }, 115 | ['/api/gamedig']: { 116 | get: 'Get GameDig json for Minecraft', 117 | query: { 118 | id: 'id or name of the server, none for the first' 119 | }, 120 | examples: [ 121 | 'http://example.org/api/gamedig?id=myserver', 122 | 'http://example.org/api/gamedig?id=#ZXXasMBsEHXhFJ2L', 123 | 'http://example.org/api/gamedig' 124 | ] 125 | } 126 | }); 127 | }) 128 | 129 | app.post('/api/login', (req, res) => { 130 | const auth = sign(req); 131 | if (!auth) { 132 | res.status(401).json({ 133 | auth: false, 134 | message: 'Invalid password' 135 | }); 136 | } 137 | else { 138 | res.json(auth); 139 | } 140 | }); 141 | 142 | app.post('/api/start', authStart, async (req, res) => { 143 | try { 144 | res.json(await aternos.start(req.query.id, req.query.wait)); 145 | } 146 | catch (error) { 147 | res.json({ error }); 148 | } 149 | }) 150 | 151 | app.post('/api/stop', authorized, async (req, res) => { 152 | try { 153 | res.json(await aternos.stop(req.query.id)); 154 | } 155 | catch (error) { 156 | res.json({ error }); 157 | } 158 | }) 159 | 160 | app.post('/api/restart', authorized, async (req, res) => { 161 | try { 162 | res.json(await aternos.restart(req.query.id)); 163 | } 164 | catch (error) { 165 | res.json({ error }); 166 | } 167 | }) 168 | 169 | app.get('/api/info', authInfo, async (req, res) => { 170 | try { 171 | res.json(await aternos.getInfo(req.query.id)); 172 | } 173 | catch (error) { 174 | res.json({ error }); 175 | } 176 | }) 177 | 178 | app.get('/api/gamedig', authInfo, async (req, res) => { 179 | try { 180 | res.json(await getGamedig(id)); 181 | } 182 | catch (error) { 183 | res.json({ error }); 184 | } 185 | }) 186 | 187 | function sign(req) { 188 | if (process.env.API_PASSWORD) { 189 | if (process.env.API_PASSWORD === req.body.password) { 190 | const token = jwt.sign({ ip: req.connection.remoteAddress.toString() }, process.env.TOKEN_KEY || 'vulnerable_token_key'); 191 | return { auth: true, token }; 192 | } 193 | } 194 | else { 195 | return { auth: true }; 196 | } 197 | } 198 | 199 | function authStart(req, res, next) { 200 | if (process.env.PUBLIC_START) { 201 | next(); 202 | } 203 | else { 204 | authorized(req, res, next); 205 | } 206 | } 207 | 208 | function authInfo(req, res, next) { 209 | if (process.env.PUBLIC_INFO) { 210 | next(); 211 | } 212 | else { 213 | authorized(req, res, next); 214 | } 215 | } 216 | 217 | function authorized(req, res, next) { 218 | if (process.env.API_PASSWORD) { 219 | 220 | let token = req.headers['x-access-token']; 221 | if (token) { 222 | const decoded = jwt.verify(token, process.env.TOKEN_KEY || 'vulnerable_token_key'); 223 | if (decoded.ip === req.connection.remoteAddress.toString()) { 224 | return next(); 225 | } 226 | } 227 | 228 | return res.status(401).json({ 229 | auth: false, 230 | message: 'No valid token provided' 231 | }); 232 | } 233 | 234 | return next(); 235 | } 236 | } 237 | else { 238 | console.log({ 239 | "scripts": { 240 | "rest": "node src/index.js --rest", 241 | "start": "node src/index.js --start", 242 | "start-wait": "node src/index.js --start --wait", 243 | "stop": "node src/index.js --stop", 244 | "restart": "node src/index.js --stop", 245 | "info": "node src/index.js --info", 246 | "gamedig": "node src/index.js --gamedig", 247 | }, 248 | "usage": "--[rest, start [--wait], stop, restart, info, gamedig] [--id=]" 249 | }); 250 | } -------------------------------------------------------------------------------- /src/puppeteer-helper.js: -------------------------------------------------------------------------------- 1 | async function isVisible(context, selector) { 2 | try { 3 | return await context.evaluate((selector) => { 4 | const e = document.querySelector(selector); 5 | if (e) { 6 | const style = window.getComputedStyle(e); 7 | return style && style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0'; 8 | } 9 | else { 10 | return false; 11 | } 12 | }, selector); 13 | } 14 | catch(e){} 15 | } 16 | 17 | async function getText(context, selector) { 18 | const text = await getProperty(context, selector, 'innerText'); 19 | if (text) { 20 | return text.trim(); 21 | } 22 | } 23 | 24 | async function getProperty(context, selector, property) { 25 | try { 26 | let item = await context.$(selector); 27 | if (item) { 28 | item = await item.getProperty(property); 29 | if (item) { 30 | return item.jsonValue(); 31 | } 32 | } 33 | } 34 | catch(e){} 35 | } 36 | 37 | async function waitForFirst(context, timeout, ...selectors) { 38 | try { 39 | const elements = []; 40 | for(let selector of selectors) { 41 | elements.push(context.waitForSelector(selector, {timeout, visible:true}).catch()); 42 | } 43 | await Promise.race(elements); 44 | return true; 45 | } 46 | catch(e) { 47 | return false; 48 | } 49 | } 50 | 51 | module.exports = { 52 | isVisible, 53 | getText, 54 | getProperty, 55 | waitForFirst, 56 | } --------------------------------------------------------------------------------