Epikcoder commited on
Commit
44cdc52
·
1 Parent(s): ec25b3b
Files changed (7) hide show
  1. .gitignore +1 -0
  2. Dockerfile +17 -0
  3. api/anu.json +0 -0
  4. api/index.js +117 -0
  5. package-lock.json +805 -0
  6. package.json +20 -0
  7. vercel.json +1 -0
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ node_modules
Dockerfile ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:latest
2
+
3
+ RUN apt-get update -y && apt-get upgrade -y && apt-get install -y lsb-release && apt-get install -y && apt-get install ffmpeg -y
4
+
5
+ RUN rm -rf /var/lib/apt/lists/*
6
+
7
+ WORKDIR /app
8
+
9
+ COPY package.json .
10
+
11
+ RUN npm i
12
+
13
+ COPY . .
14
+
15
+ EXPOSE 7860
16
+
17
+ CMD ["node", "api/index.js"]
api/anu.json ADDED
The diff for this file is too large to render. See raw diff
 
api/index.js ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { config } from 'dotenv'
2
+ config()
3
+ import express from 'express'
4
+ import cors from 'cors'
5
+ import axios from 'axios'
6
+ import fs from 'fs'
7
+ const app = express()
8
+ const port = process.env.SERVER_PORT || process.env.SERVER_PORT || 7860
9
+ import {exec} from 'child_process'
10
+ // const dat2a = JSON.parse(fs.readFileSync(import.meta.dirname + "/anu.json", 'utf8'))
11
+ app.use(cors())
12
+ app.get("/video", async(req,res) => {
13
+ let c = "" //get random data
14
+ let url = "";
15
+ function check() {
16
+ c = dat2a[Math.floor(Math.random() * dat2a.length)].split("|")
17
+ url = c[2]
18
+ if (!url.includes("?tag=")) {
19
+ check()
20
+ }
21
+
22
+ }
23
+ check()
24
+ // Set custom headers
25
+ // res.set("X-fetchedurl", c[2]); // fetch url
26
+ // res.set("X-fetchedurlid", c[1]); // give vid id
27
+ // res.set("X-fetchedurlname", c[0]); // give vid author name
28
+
29
+
30
+ // Image or non-range video request
31
+ const response = await axios({
32
+ method: 'GET',
33
+ url: url,
34
+ responseType: 'stream'
35
+ });
36
+
37
+ res.setHeader('Content-Disposition', 'inline');
38
+ res.setHeader('Content-Type', response.headers['content-type']);
39
+
40
+ response.data.pipe(res);
41
+ })
42
+
43
+ app.get('/image',async(req,res)=>{
44
+ let c = "" //get random data
45
+ let url = "";
46
+ function check() {
47
+ c = dat2a[Math.floor(Math.random() * dat2a.length)].split("|")
48
+ url = c[2]
49
+ if (url.includes("?tag=")) {
50
+ check()
51
+ }
52
+
53
+ }
54
+ check()
55
+ // Set custom headers
56
+ res.set("X-fetchedurl", c[2]); // fetch url
57
+ res.set("X-fetchedurlid", c[1]); // give vid id
58
+ res.set("X-fetchedurlname", c[0]); // give vid author name
59
+
60
+
61
+ // Image or non-range video request
62
+ const response = await axios({
63
+ method: 'GET',
64
+ url: url,
65
+ responseType: 'stream'
66
+ });
67
+
68
+ res.setHeader('Content-Disposition', 'inline');
69
+ res.setHeader('Content-Type', response.headers['content-type']);
70
+
71
+ response.data.pipe(res);
72
+ })
73
+ app.get("/api", (req,res) => {
74
+ const a = dat2a[Math.floor(Math.random() * dat2a.length)].split("|")
75
+ res.json({ "urllink": a[2], "id": a[1], "name": a[0] })
76
+ })
77
+
78
+ app.get("/", async (req, res) => {
79
+ exec('tree -I node_modules', (err, stdout, stderr) => {
80
+ if (err) {
81
+ // node couldn't execute the command
82
+ return;
83
+ }
84
+
85
+ // the *entire* stdout and stderr (buffered)
86
+ res.send(`stdout: ${stdout}`);
87
+ console.log(`stderr: ${stderr}`);
88
+ });
89
+ // const arr = []
90
+ // fs.readdir('api', (err, files) => {
91
+ // if (err) {
92
+ // console.error('Error reading directory:', err);
93
+ // return;
94
+ // }
95
+
96
+ // // Log the list of filenames
97
+ // console.log('Files in the current directory:');
98
+ // files.forEach(file => {
99
+ // arr.push(file)
100
+ // // res.write(file + '\n');
101
+
102
+ // // Optional: force flushing the data to the client to avoid buffering
103
+ // // res.flush();
104
+ // });
105
+ // res.send(arr)
106
+ // });
107
+ // res.send(req.headers.x-vercel-deployment-url || res.header.referrer)
108
+ // res.json({madeBy: "@EpikCoder", availablePage: {
109
+ // "/image"
110
+ // }})
111
+ })
112
+
113
+ app.listen(port, () => {
114
+ console.log(`Example app listening on port ${port}`)
115
+ })
116
+
117
+ export default app
package-lock.json ADDED
@@ -0,0 +1,805 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "aru_dongo",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "aru_dongo",
9
+ "version": "1.0.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "axios": "^1.7.2",
13
+ "cors": "^2.8.5",
14
+ "dotenv": "^16.4.5",
15
+ "express": "^4.19.2",
16
+ "fs": "^0.0.1-security"
17
+ }
18
+ },
19
+ "node_modules/accepts": {
20
+ "version": "1.3.8",
21
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
22
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
23
+ "dependencies": {
24
+ "mime-types": "~2.1.34",
25
+ "negotiator": "0.6.3"
26
+ },
27
+ "engines": {
28
+ "node": ">= 0.6"
29
+ }
30
+ },
31
+ "node_modules/array-flatten": {
32
+ "version": "1.1.1",
33
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
34
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
35
+ },
36
+ "node_modules/asynckit": {
37
+ "version": "0.4.0",
38
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
39
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
40
+ },
41
+ "node_modules/axios": {
42
+ "version": "1.7.2",
43
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
44
+ "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
45
+ "dependencies": {
46
+ "follow-redirects": "^1.15.6",
47
+ "form-data": "^4.0.0",
48
+ "proxy-from-env": "^1.1.0"
49
+ }
50
+ },
51
+ "node_modules/body-parser": {
52
+ "version": "1.20.2",
53
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
54
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
55
+ "dependencies": {
56
+ "bytes": "3.1.2",
57
+ "content-type": "~1.0.5",
58
+ "debug": "2.6.9",
59
+ "depd": "2.0.0",
60
+ "destroy": "1.2.0",
61
+ "http-errors": "2.0.0",
62
+ "iconv-lite": "0.4.24",
63
+ "on-finished": "2.4.1",
64
+ "qs": "6.11.0",
65
+ "raw-body": "2.5.2",
66
+ "type-is": "~1.6.18",
67
+ "unpipe": "1.0.0"
68
+ },
69
+ "engines": {
70
+ "node": ">= 0.8",
71
+ "npm": "1.2.8000 || >= 1.4.16"
72
+ }
73
+ },
74
+ "node_modules/bytes": {
75
+ "version": "3.1.2",
76
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
77
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
78
+ "engines": {
79
+ "node": ">= 0.8"
80
+ }
81
+ },
82
+ "node_modules/call-bind": {
83
+ "version": "1.0.7",
84
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
85
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
86
+ "dependencies": {
87
+ "es-define-property": "^1.0.0",
88
+ "es-errors": "^1.3.0",
89
+ "function-bind": "^1.1.2",
90
+ "get-intrinsic": "^1.2.4",
91
+ "set-function-length": "^1.2.1"
92
+ },
93
+ "engines": {
94
+ "node": ">= 0.4"
95
+ },
96
+ "funding": {
97
+ "url": "https://github.com/sponsors/ljharb"
98
+ }
99
+ },
100
+ "node_modules/combined-stream": {
101
+ "version": "1.0.8",
102
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
103
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
104
+ "dependencies": {
105
+ "delayed-stream": "~1.0.0"
106
+ },
107
+ "engines": {
108
+ "node": ">= 0.8"
109
+ }
110
+ },
111
+ "node_modules/content-disposition": {
112
+ "version": "0.5.4",
113
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
114
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
115
+ "dependencies": {
116
+ "safe-buffer": "5.2.1"
117
+ },
118
+ "engines": {
119
+ "node": ">= 0.6"
120
+ }
121
+ },
122
+ "node_modules/content-type": {
123
+ "version": "1.0.5",
124
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
125
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
126
+ "engines": {
127
+ "node": ">= 0.6"
128
+ }
129
+ },
130
+ "node_modules/cookie": {
131
+ "version": "0.6.0",
132
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
133
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
134
+ "engines": {
135
+ "node": ">= 0.6"
136
+ }
137
+ },
138
+ "node_modules/cookie-signature": {
139
+ "version": "1.0.6",
140
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
141
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
142
+ },
143
+ "node_modules/cors": {
144
+ "version": "2.8.5",
145
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
146
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
147
+ "dependencies": {
148
+ "object-assign": "^4",
149
+ "vary": "^1"
150
+ },
151
+ "engines": {
152
+ "node": ">= 0.10"
153
+ }
154
+ },
155
+ "node_modules/debug": {
156
+ "version": "2.6.9",
157
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
158
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
159
+ "dependencies": {
160
+ "ms": "2.0.0"
161
+ }
162
+ },
163
+ "node_modules/define-data-property": {
164
+ "version": "1.1.4",
165
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
166
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
167
+ "dependencies": {
168
+ "es-define-property": "^1.0.0",
169
+ "es-errors": "^1.3.0",
170
+ "gopd": "^1.0.1"
171
+ },
172
+ "engines": {
173
+ "node": ">= 0.4"
174
+ },
175
+ "funding": {
176
+ "url": "https://github.com/sponsors/ljharb"
177
+ }
178
+ },
179
+ "node_modules/delayed-stream": {
180
+ "version": "1.0.0",
181
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
182
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
183
+ "engines": {
184
+ "node": ">=0.4.0"
185
+ }
186
+ },
187
+ "node_modules/depd": {
188
+ "version": "2.0.0",
189
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
190
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
191
+ "engines": {
192
+ "node": ">= 0.8"
193
+ }
194
+ },
195
+ "node_modules/destroy": {
196
+ "version": "1.2.0",
197
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
198
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
199
+ "engines": {
200
+ "node": ">= 0.8",
201
+ "npm": "1.2.8000 || >= 1.4.16"
202
+ }
203
+ },
204
+ "node_modules/dotenv": {
205
+ "version": "16.4.5",
206
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
207
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
208
+ "engines": {
209
+ "node": ">=12"
210
+ },
211
+ "funding": {
212
+ "url": "https://dotenvx.com"
213
+ }
214
+ },
215
+ "node_modules/ee-first": {
216
+ "version": "1.1.1",
217
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
218
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
219
+ },
220
+ "node_modules/encodeurl": {
221
+ "version": "1.0.2",
222
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
223
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
224
+ "engines": {
225
+ "node": ">= 0.8"
226
+ }
227
+ },
228
+ "node_modules/es-define-property": {
229
+ "version": "1.0.0",
230
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
231
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
232
+ "dependencies": {
233
+ "get-intrinsic": "^1.2.4"
234
+ },
235
+ "engines": {
236
+ "node": ">= 0.4"
237
+ }
238
+ },
239
+ "node_modules/es-errors": {
240
+ "version": "1.3.0",
241
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
242
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
243
+ "engines": {
244
+ "node": ">= 0.4"
245
+ }
246
+ },
247
+ "node_modules/escape-html": {
248
+ "version": "1.0.3",
249
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
250
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
251
+ },
252
+ "node_modules/etag": {
253
+ "version": "1.8.1",
254
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
255
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
256
+ "engines": {
257
+ "node": ">= 0.6"
258
+ }
259
+ },
260
+ "node_modules/express": {
261
+ "version": "4.19.2",
262
+ "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
263
+ "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
264
+ "dependencies": {
265
+ "accepts": "~1.3.8",
266
+ "array-flatten": "1.1.1",
267
+ "body-parser": "1.20.2",
268
+ "content-disposition": "0.5.4",
269
+ "content-type": "~1.0.4",
270
+ "cookie": "0.6.0",
271
+ "cookie-signature": "1.0.6",
272
+ "debug": "2.6.9",
273
+ "depd": "2.0.0",
274
+ "encodeurl": "~1.0.2",
275
+ "escape-html": "~1.0.3",
276
+ "etag": "~1.8.1",
277
+ "finalhandler": "1.2.0",
278
+ "fresh": "0.5.2",
279
+ "http-errors": "2.0.0",
280
+ "merge-descriptors": "1.0.1",
281
+ "methods": "~1.1.2",
282
+ "on-finished": "2.4.1",
283
+ "parseurl": "~1.3.3",
284
+ "path-to-regexp": "0.1.7",
285
+ "proxy-addr": "~2.0.7",
286
+ "qs": "6.11.0",
287
+ "range-parser": "~1.2.1",
288
+ "safe-buffer": "5.2.1",
289
+ "send": "0.18.0",
290
+ "serve-static": "1.15.0",
291
+ "setprototypeof": "1.2.0",
292
+ "statuses": "2.0.1",
293
+ "type-is": "~1.6.18",
294
+ "utils-merge": "1.0.1",
295
+ "vary": "~1.1.2"
296
+ },
297
+ "engines": {
298
+ "node": ">= 0.10.0"
299
+ }
300
+ },
301
+ "node_modules/finalhandler": {
302
+ "version": "1.2.0",
303
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
304
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
305
+ "dependencies": {
306
+ "debug": "2.6.9",
307
+ "encodeurl": "~1.0.2",
308
+ "escape-html": "~1.0.3",
309
+ "on-finished": "2.4.1",
310
+ "parseurl": "~1.3.3",
311
+ "statuses": "2.0.1",
312
+ "unpipe": "~1.0.0"
313
+ },
314
+ "engines": {
315
+ "node": ">= 0.8"
316
+ }
317
+ },
318
+ "node_modules/follow-redirects": {
319
+ "version": "1.15.6",
320
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
321
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
322
+ "funding": [
323
+ {
324
+ "type": "individual",
325
+ "url": "https://github.com/sponsors/RubenVerborgh"
326
+ }
327
+ ],
328
+ "engines": {
329
+ "node": ">=4.0"
330
+ },
331
+ "peerDependenciesMeta": {
332
+ "debug": {
333
+ "optional": true
334
+ }
335
+ }
336
+ },
337
+ "node_modules/form-data": {
338
+ "version": "4.0.0",
339
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
340
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
341
+ "dependencies": {
342
+ "asynckit": "^0.4.0",
343
+ "combined-stream": "^1.0.8",
344
+ "mime-types": "^2.1.12"
345
+ },
346
+ "engines": {
347
+ "node": ">= 6"
348
+ }
349
+ },
350
+ "node_modules/forwarded": {
351
+ "version": "0.2.0",
352
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
353
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
354
+ "engines": {
355
+ "node": ">= 0.6"
356
+ }
357
+ },
358
+ "node_modules/fresh": {
359
+ "version": "0.5.2",
360
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
361
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
362
+ "engines": {
363
+ "node": ">= 0.6"
364
+ }
365
+ },
366
+ "node_modules/fs": {
367
+ "version": "0.0.1-security",
368
+ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
369
+ "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w=="
370
+ },
371
+ "node_modules/function-bind": {
372
+ "version": "1.1.2",
373
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
374
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
375
+ "funding": {
376
+ "url": "https://github.com/sponsors/ljharb"
377
+ }
378
+ },
379
+ "node_modules/get-intrinsic": {
380
+ "version": "1.2.4",
381
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
382
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
383
+ "dependencies": {
384
+ "es-errors": "^1.3.0",
385
+ "function-bind": "^1.1.2",
386
+ "has-proto": "^1.0.1",
387
+ "has-symbols": "^1.0.3",
388
+ "hasown": "^2.0.0"
389
+ },
390
+ "engines": {
391
+ "node": ">= 0.4"
392
+ },
393
+ "funding": {
394
+ "url": "https://github.com/sponsors/ljharb"
395
+ }
396
+ },
397
+ "node_modules/gopd": {
398
+ "version": "1.0.1",
399
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
400
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
401
+ "dependencies": {
402
+ "get-intrinsic": "^1.1.3"
403
+ },
404
+ "funding": {
405
+ "url": "https://github.com/sponsors/ljharb"
406
+ }
407
+ },
408
+ "node_modules/has-property-descriptors": {
409
+ "version": "1.0.2",
410
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
411
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
412
+ "dependencies": {
413
+ "es-define-property": "^1.0.0"
414
+ },
415
+ "funding": {
416
+ "url": "https://github.com/sponsors/ljharb"
417
+ }
418
+ },
419
+ "node_modules/has-proto": {
420
+ "version": "1.0.3",
421
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
422
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
423
+ "engines": {
424
+ "node": ">= 0.4"
425
+ },
426
+ "funding": {
427
+ "url": "https://github.com/sponsors/ljharb"
428
+ }
429
+ },
430
+ "node_modules/has-symbols": {
431
+ "version": "1.0.3",
432
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
433
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
434
+ "engines": {
435
+ "node": ">= 0.4"
436
+ },
437
+ "funding": {
438
+ "url": "https://github.com/sponsors/ljharb"
439
+ }
440
+ },
441
+ "node_modules/hasown": {
442
+ "version": "2.0.2",
443
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
444
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
445
+ "dependencies": {
446
+ "function-bind": "^1.1.2"
447
+ },
448
+ "engines": {
449
+ "node": ">= 0.4"
450
+ }
451
+ },
452
+ "node_modules/http-errors": {
453
+ "version": "2.0.0",
454
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
455
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
456
+ "dependencies": {
457
+ "depd": "2.0.0",
458
+ "inherits": "2.0.4",
459
+ "setprototypeof": "1.2.0",
460
+ "statuses": "2.0.1",
461
+ "toidentifier": "1.0.1"
462
+ },
463
+ "engines": {
464
+ "node": ">= 0.8"
465
+ }
466
+ },
467
+ "node_modules/iconv-lite": {
468
+ "version": "0.4.24",
469
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
470
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
471
+ "dependencies": {
472
+ "safer-buffer": ">= 2.1.2 < 3"
473
+ },
474
+ "engines": {
475
+ "node": ">=0.10.0"
476
+ }
477
+ },
478
+ "node_modules/inherits": {
479
+ "version": "2.0.4",
480
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
481
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
482
+ },
483
+ "node_modules/ipaddr.js": {
484
+ "version": "1.9.1",
485
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
486
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
487
+ "engines": {
488
+ "node": ">= 0.10"
489
+ }
490
+ },
491
+ "node_modules/media-typer": {
492
+ "version": "0.3.0",
493
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
494
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
495
+ "engines": {
496
+ "node": ">= 0.6"
497
+ }
498
+ },
499
+ "node_modules/merge-descriptors": {
500
+ "version": "1.0.1",
501
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
502
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
503
+ },
504
+ "node_modules/methods": {
505
+ "version": "1.1.2",
506
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
507
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
508
+ "engines": {
509
+ "node": ">= 0.6"
510
+ }
511
+ },
512
+ "node_modules/mime": {
513
+ "version": "1.6.0",
514
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
515
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
516
+ "bin": {
517
+ "mime": "cli.js"
518
+ },
519
+ "engines": {
520
+ "node": ">=4"
521
+ }
522
+ },
523
+ "node_modules/mime-db": {
524
+ "version": "1.52.0",
525
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
526
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
527
+ "engines": {
528
+ "node": ">= 0.6"
529
+ }
530
+ },
531
+ "node_modules/mime-types": {
532
+ "version": "2.1.35",
533
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
534
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
535
+ "dependencies": {
536
+ "mime-db": "1.52.0"
537
+ },
538
+ "engines": {
539
+ "node": ">= 0.6"
540
+ }
541
+ },
542
+ "node_modules/ms": {
543
+ "version": "2.0.0",
544
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
545
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
546
+ },
547
+ "node_modules/negotiator": {
548
+ "version": "0.6.3",
549
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
550
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
551
+ "engines": {
552
+ "node": ">= 0.6"
553
+ }
554
+ },
555
+ "node_modules/object-assign": {
556
+ "version": "4.1.1",
557
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
558
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
559
+ "engines": {
560
+ "node": ">=0.10.0"
561
+ }
562
+ },
563
+ "node_modules/object-inspect": {
564
+ "version": "1.13.1",
565
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
566
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
567
+ "funding": {
568
+ "url": "https://github.com/sponsors/ljharb"
569
+ }
570
+ },
571
+ "node_modules/on-finished": {
572
+ "version": "2.4.1",
573
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
574
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
575
+ "dependencies": {
576
+ "ee-first": "1.1.1"
577
+ },
578
+ "engines": {
579
+ "node": ">= 0.8"
580
+ }
581
+ },
582
+ "node_modules/parseurl": {
583
+ "version": "1.3.3",
584
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
585
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
586
+ "engines": {
587
+ "node": ">= 0.8"
588
+ }
589
+ },
590
+ "node_modules/path-to-regexp": {
591
+ "version": "0.1.7",
592
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
593
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
594
+ },
595
+ "node_modules/proxy-addr": {
596
+ "version": "2.0.7",
597
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
598
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
599
+ "dependencies": {
600
+ "forwarded": "0.2.0",
601
+ "ipaddr.js": "1.9.1"
602
+ },
603
+ "engines": {
604
+ "node": ">= 0.10"
605
+ }
606
+ },
607
+ "node_modules/proxy-from-env": {
608
+ "version": "1.1.0",
609
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
610
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
611
+ },
612
+ "node_modules/qs": {
613
+ "version": "6.11.0",
614
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
615
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
616
+ "dependencies": {
617
+ "side-channel": "^1.0.4"
618
+ },
619
+ "engines": {
620
+ "node": ">=0.6"
621
+ },
622
+ "funding": {
623
+ "url": "https://github.com/sponsors/ljharb"
624
+ }
625
+ },
626
+ "node_modules/range-parser": {
627
+ "version": "1.2.1",
628
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
629
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
630
+ "engines": {
631
+ "node": ">= 0.6"
632
+ }
633
+ },
634
+ "node_modules/raw-body": {
635
+ "version": "2.5.2",
636
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
637
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
638
+ "dependencies": {
639
+ "bytes": "3.1.2",
640
+ "http-errors": "2.0.0",
641
+ "iconv-lite": "0.4.24",
642
+ "unpipe": "1.0.0"
643
+ },
644
+ "engines": {
645
+ "node": ">= 0.8"
646
+ }
647
+ },
648
+ "node_modules/safe-buffer": {
649
+ "version": "5.2.1",
650
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
651
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
652
+ "funding": [
653
+ {
654
+ "type": "github",
655
+ "url": "https://github.com/sponsors/feross"
656
+ },
657
+ {
658
+ "type": "patreon",
659
+ "url": "https://www.patreon.com/feross"
660
+ },
661
+ {
662
+ "type": "consulting",
663
+ "url": "https://feross.org/support"
664
+ }
665
+ ]
666
+ },
667
+ "node_modules/safer-buffer": {
668
+ "version": "2.1.2",
669
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
670
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
671
+ },
672
+ "node_modules/send": {
673
+ "version": "0.18.0",
674
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
675
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
676
+ "dependencies": {
677
+ "debug": "2.6.9",
678
+ "depd": "2.0.0",
679
+ "destroy": "1.2.0",
680
+ "encodeurl": "~1.0.2",
681
+ "escape-html": "~1.0.3",
682
+ "etag": "~1.8.1",
683
+ "fresh": "0.5.2",
684
+ "http-errors": "2.0.0",
685
+ "mime": "1.6.0",
686
+ "ms": "2.1.3",
687
+ "on-finished": "2.4.1",
688
+ "range-parser": "~1.2.1",
689
+ "statuses": "2.0.1"
690
+ },
691
+ "engines": {
692
+ "node": ">= 0.8.0"
693
+ }
694
+ },
695
+ "node_modules/send/node_modules/ms": {
696
+ "version": "2.1.3",
697
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
698
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
699
+ },
700
+ "node_modules/serve-static": {
701
+ "version": "1.15.0",
702
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
703
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
704
+ "dependencies": {
705
+ "encodeurl": "~1.0.2",
706
+ "escape-html": "~1.0.3",
707
+ "parseurl": "~1.3.3",
708
+ "send": "0.18.0"
709
+ },
710
+ "engines": {
711
+ "node": ">= 0.8.0"
712
+ }
713
+ },
714
+ "node_modules/set-function-length": {
715
+ "version": "1.2.2",
716
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
717
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
718
+ "dependencies": {
719
+ "define-data-property": "^1.1.4",
720
+ "es-errors": "^1.3.0",
721
+ "function-bind": "^1.1.2",
722
+ "get-intrinsic": "^1.2.4",
723
+ "gopd": "^1.0.1",
724
+ "has-property-descriptors": "^1.0.2"
725
+ },
726
+ "engines": {
727
+ "node": ">= 0.4"
728
+ }
729
+ },
730
+ "node_modules/setprototypeof": {
731
+ "version": "1.2.0",
732
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
733
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
734
+ },
735
+ "node_modules/side-channel": {
736
+ "version": "1.0.6",
737
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
738
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
739
+ "dependencies": {
740
+ "call-bind": "^1.0.7",
741
+ "es-errors": "^1.3.0",
742
+ "get-intrinsic": "^1.2.4",
743
+ "object-inspect": "^1.13.1"
744
+ },
745
+ "engines": {
746
+ "node": ">= 0.4"
747
+ },
748
+ "funding": {
749
+ "url": "https://github.com/sponsors/ljharb"
750
+ }
751
+ },
752
+ "node_modules/statuses": {
753
+ "version": "2.0.1",
754
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
755
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
756
+ "engines": {
757
+ "node": ">= 0.8"
758
+ }
759
+ },
760
+ "node_modules/toidentifier": {
761
+ "version": "1.0.1",
762
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
763
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
764
+ "engines": {
765
+ "node": ">=0.6"
766
+ }
767
+ },
768
+ "node_modules/type-is": {
769
+ "version": "1.6.18",
770
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
771
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
772
+ "dependencies": {
773
+ "media-typer": "0.3.0",
774
+ "mime-types": "~2.1.24"
775
+ },
776
+ "engines": {
777
+ "node": ">= 0.6"
778
+ }
779
+ },
780
+ "node_modules/unpipe": {
781
+ "version": "1.0.0",
782
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
783
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
784
+ "engines": {
785
+ "node": ">= 0.8"
786
+ }
787
+ },
788
+ "node_modules/utils-merge": {
789
+ "version": "1.0.1",
790
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
791
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
792
+ "engines": {
793
+ "node": ">= 0.4.0"
794
+ }
795
+ },
796
+ "node_modules/vary": {
797
+ "version": "1.1.2",
798
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
799
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
800
+ "engines": {
801
+ "node": ">= 0.8"
802
+ }
803
+ }
804
+ }
805
+ }
package.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dependencies": {
3
+ "axios": "^1.7.2",
4
+ "cors": "^2.8.5",
5
+ "dotenv": "^16.4.5",
6
+ "express": "^4.19.2",
7
+ "fs": "^0.0.1-security"
8
+ },
9
+ "name": "aru_dongo",
10
+ "type": "module",
11
+ "version": "1.0.0",
12
+ "main": "api/index.js",
13
+ "scripts": {
14
+ "test": "echo \"Error: no test specified\" && exit 1"
15
+ },
16
+ "keywords": [],
17
+ "author": "",
18
+ "license": "ISC",
19
+ "description": ""
20
+ }
vercel.json ADDED
@@ -0,0 +1 @@
 
 
1
+ { "version": 2, "rewrites": [{ "source": "/(.*)", "destination": "/api" }] }