coyotte508 HF Staff commited on
Commit
31d882e
·
1 Parent(s): 08d3715

🎉 Skeleton for node app

Browse files
Files changed (6) hide show
  1. .gitignore +2 -1
  2. .prettierrc +5 -0
  3. .vscode/settings.json +3 -0
  4. package-lock.json +2077 -0
  5. package.json +33 -0
  6. server.ts +44 -0
.gitignore CHANGED
@@ -1 +1,2 @@
1
- .env
 
 
1
+ .env
2
+ node_modules
.prettierrc ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "printWidth": 120,
3
+ "useTabs": true,
4
+ "tabWidth": 2
5
+ }
.vscode/settings.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "editor.formatOnSave": true
3
+ }
package-lock.json ADDED
@@ -0,0 +1,2077 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "twitter-alt-image-bot",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 2,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "twitter-alt-image-bot",
9
+ "version": "1.0.0",
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "dotenv": "^16.0.3",
13
+ "koa": "^2.14.1",
14
+ "koa-bodyparser": "^4.3.0",
15
+ "koa-compress": "^5.1.0",
16
+ "koa-morgan": "^1.0.1",
17
+ "koa-router": "^12.0.0",
18
+ "prettier": "^2.8.2"
19
+ },
20
+ "devDependencies": {
21
+ "@types/koa": "^2.13.5",
22
+ "@types/koa-bodyparser": "^4.3.10",
23
+ "@types/koa-compress": "^4.0.3",
24
+ "@types/koa-morgan": "^1.0.5",
25
+ "@types/koa-router": "^7.4.4",
26
+ "ts-node": "^10.9.1",
27
+ "typescript": "^4.9.4"
28
+ }
29
+ },
30
+ "node_modules/@cspotcode/source-map-support": {
31
+ "version": "0.8.1",
32
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
33
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
34
+ "dev": true,
35
+ "dependencies": {
36
+ "@jridgewell/trace-mapping": "0.3.9"
37
+ },
38
+ "engines": {
39
+ "node": ">=12"
40
+ }
41
+ },
42
+ "node_modules/@jridgewell/resolve-uri": {
43
+ "version": "3.1.0",
44
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
45
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
46
+ "dev": true,
47
+ "engines": {
48
+ "node": ">=6.0.0"
49
+ }
50
+ },
51
+ "node_modules/@jridgewell/sourcemap-codec": {
52
+ "version": "1.4.14",
53
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
54
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
55
+ "dev": true
56
+ },
57
+ "node_modules/@jridgewell/trace-mapping": {
58
+ "version": "0.3.9",
59
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
60
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
61
+ "dev": true,
62
+ "dependencies": {
63
+ "@jridgewell/resolve-uri": "^3.0.3",
64
+ "@jridgewell/sourcemap-codec": "^1.4.10"
65
+ }
66
+ },
67
+ "node_modules/@tsconfig/node10": {
68
+ "version": "1.0.9",
69
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
70
+ "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
71
+ "dev": true
72
+ },
73
+ "node_modules/@tsconfig/node12": {
74
+ "version": "1.0.11",
75
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
76
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
77
+ "dev": true
78
+ },
79
+ "node_modules/@tsconfig/node14": {
80
+ "version": "1.0.3",
81
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
82
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
83
+ "dev": true
84
+ },
85
+ "node_modules/@tsconfig/node16": {
86
+ "version": "1.0.3",
87
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
88
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
89
+ "dev": true
90
+ },
91
+ "node_modules/@types/accepts": {
92
+ "version": "1.3.5",
93
+ "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
94
+ "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==",
95
+ "dev": true,
96
+ "dependencies": {
97
+ "@types/node": "*"
98
+ }
99
+ },
100
+ "node_modules/@types/body-parser": {
101
+ "version": "1.19.2",
102
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
103
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
104
+ "dev": true,
105
+ "dependencies": {
106
+ "@types/connect": "*",
107
+ "@types/node": "*"
108
+ }
109
+ },
110
+ "node_modules/@types/connect": {
111
+ "version": "3.4.35",
112
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
113
+ "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
114
+ "dev": true,
115
+ "dependencies": {
116
+ "@types/node": "*"
117
+ }
118
+ },
119
+ "node_modules/@types/content-disposition": {
120
+ "version": "0.5.5",
121
+ "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.5.tgz",
122
+ "integrity": "sha512-v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA==",
123
+ "dev": true
124
+ },
125
+ "node_modules/@types/cookies": {
126
+ "version": "0.7.7",
127
+ "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.7.tgz",
128
+ "integrity": "sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==",
129
+ "dev": true,
130
+ "dependencies": {
131
+ "@types/connect": "*",
132
+ "@types/express": "*",
133
+ "@types/keygrip": "*",
134
+ "@types/node": "*"
135
+ }
136
+ },
137
+ "node_modules/@types/express": {
138
+ "version": "4.17.15",
139
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz",
140
+ "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==",
141
+ "dev": true,
142
+ "dependencies": {
143
+ "@types/body-parser": "*",
144
+ "@types/express-serve-static-core": "^4.17.31",
145
+ "@types/qs": "*",
146
+ "@types/serve-static": "*"
147
+ }
148
+ },
149
+ "node_modules/@types/express-serve-static-core": {
150
+ "version": "4.17.32",
151
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz",
152
+ "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==",
153
+ "dev": true,
154
+ "dependencies": {
155
+ "@types/node": "*",
156
+ "@types/qs": "*",
157
+ "@types/range-parser": "*"
158
+ }
159
+ },
160
+ "node_modules/@types/http-assert": {
161
+ "version": "1.5.3",
162
+ "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz",
163
+ "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==",
164
+ "dev": true
165
+ },
166
+ "node_modules/@types/http-errors": {
167
+ "version": "2.0.1",
168
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
169
+ "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==",
170
+ "dev": true
171
+ },
172
+ "node_modules/@types/keygrip": {
173
+ "version": "1.0.2",
174
+ "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz",
175
+ "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==",
176
+ "dev": true
177
+ },
178
+ "node_modules/@types/koa": {
179
+ "version": "2.13.5",
180
+ "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.5.tgz",
181
+ "integrity": "sha512-HSUOdzKz3by4fnqagwthW/1w/yJspTgppyyalPVbgZf8jQWvdIXcVW5h2DGtw4zYntOaeRGx49r1hxoPWrD4aA==",
182
+ "dev": true,
183
+ "dependencies": {
184
+ "@types/accepts": "*",
185
+ "@types/content-disposition": "*",
186
+ "@types/cookies": "*",
187
+ "@types/http-assert": "*",
188
+ "@types/http-errors": "*",
189
+ "@types/keygrip": "*",
190
+ "@types/koa-compose": "*",
191
+ "@types/node": "*"
192
+ }
193
+ },
194
+ "node_modules/@types/koa-bodyparser": {
195
+ "version": "4.3.10",
196
+ "resolved": "https://registry.npmjs.org/@types/koa-bodyparser/-/koa-bodyparser-4.3.10.tgz",
197
+ "integrity": "sha512-6ae05pjhmrmGhUR8GYD5qr5p9LTEMEGfGXCsK8VaSL+totwigm8+H/7MHW7K4854CMeuwRAubT8qcc/EagaeIA==",
198
+ "dev": true,
199
+ "dependencies": {
200
+ "@types/koa": "*"
201
+ }
202
+ },
203
+ "node_modules/@types/koa-compose": {
204
+ "version": "3.2.5",
205
+ "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz",
206
+ "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==",
207
+ "dev": true,
208
+ "dependencies": {
209
+ "@types/koa": "*"
210
+ }
211
+ },
212
+ "node_modules/@types/koa-compress": {
213
+ "version": "4.0.3",
214
+ "resolved": "https://registry.npmjs.org/@types/koa-compress/-/koa-compress-4.0.3.tgz",
215
+ "integrity": "sha512-nJSII/tOSvYCwk3yDEBJLHd8ctkt5CQFZ0j8ZBnHZ2x0hg24z9H1i38lWXA/5z0Ix0uitMW1jov+kVbQI1aNPQ==",
216
+ "dev": true,
217
+ "dependencies": {
218
+ "@types/koa": "*",
219
+ "@types/node": "*"
220
+ }
221
+ },
222
+ "node_modules/@types/koa-morgan": {
223
+ "version": "1.0.5",
224
+ "resolved": "https://registry.npmjs.org/@types/koa-morgan/-/koa-morgan-1.0.5.tgz",
225
+ "integrity": "sha512-NAc3HZxk2GAesyqbFTnZowaSW178pCoGQsnmPcE1sjGenTuZorj5Hnfd8rh+bEHgpBY4rqsuA5soe/HcqrIFpQ==",
226
+ "dev": true,
227
+ "dependencies": {
228
+ "@types/koa": "*",
229
+ "@types/morgan": "*"
230
+ }
231
+ },
232
+ "node_modules/@types/koa-router": {
233
+ "version": "7.4.4",
234
+ "resolved": "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.4.4.tgz",
235
+ "integrity": "sha512-3dHlZ6CkhgcWeF6wafEUvyyqjWYfKmev3vy1PtOmr0mBc3wpXPU5E8fBBd4YQo5bRpHPfmwC5yDaX7s4jhIN6A==",
236
+ "dev": true,
237
+ "dependencies": {
238
+ "@types/koa": "*"
239
+ }
240
+ },
241
+ "node_modules/@types/mime": {
242
+ "version": "3.0.1",
243
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
244
+ "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
245
+ "dev": true
246
+ },
247
+ "node_modules/@types/morgan": {
248
+ "version": "1.9.4",
249
+ "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.4.tgz",
250
+ "integrity": "sha512-cXoc4k+6+YAllH3ZHmx4hf7La1dzUk6keTR4bF4b4Sc0mZxU/zK4wO7l+ZzezXm/jkYj/qC+uYGZrarZdIVvyQ==",
251
+ "dev": true,
252
+ "dependencies": {
253
+ "@types/node": "*"
254
+ }
255
+ },
256
+ "node_modules/@types/node": {
257
+ "version": "18.11.18",
258
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
259
+ "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
260
+ "dev": true
261
+ },
262
+ "node_modules/@types/qs": {
263
+ "version": "6.9.7",
264
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
265
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
266
+ "dev": true
267
+ },
268
+ "node_modules/@types/range-parser": {
269
+ "version": "1.2.4",
270
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
271
+ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
272
+ "dev": true
273
+ },
274
+ "node_modules/@types/serve-static": {
275
+ "version": "1.15.0",
276
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz",
277
+ "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==",
278
+ "dev": true,
279
+ "dependencies": {
280
+ "@types/mime": "*",
281
+ "@types/node": "*"
282
+ }
283
+ },
284
+ "node_modules/accepts": {
285
+ "version": "1.3.8",
286
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
287
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
288
+ "dependencies": {
289
+ "mime-types": "~2.1.34",
290
+ "negotiator": "0.6.3"
291
+ },
292
+ "engines": {
293
+ "node": ">= 0.6"
294
+ }
295
+ },
296
+ "node_modules/acorn": {
297
+ "version": "8.8.1",
298
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
299
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
300
+ "dev": true,
301
+ "bin": {
302
+ "acorn": "bin/acorn"
303
+ },
304
+ "engines": {
305
+ "node": ">=0.4.0"
306
+ }
307
+ },
308
+ "node_modules/acorn-walk": {
309
+ "version": "8.2.0",
310
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
311
+ "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
312
+ "dev": true,
313
+ "engines": {
314
+ "node": ">=0.4.0"
315
+ }
316
+ },
317
+ "node_modules/arg": {
318
+ "version": "4.1.3",
319
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
320
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
321
+ "dev": true
322
+ },
323
+ "node_modules/basic-auth": {
324
+ "version": "2.0.1",
325
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
326
+ "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
327
+ "dependencies": {
328
+ "safe-buffer": "5.1.2"
329
+ },
330
+ "engines": {
331
+ "node": ">= 0.8"
332
+ }
333
+ },
334
+ "node_modules/basic-auth/node_modules/safe-buffer": {
335
+ "version": "5.1.2",
336
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
337
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
338
+ },
339
+ "node_modules/bytes": {
340
+ "version": "3.1.2",
341
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
342
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
343
+ "engines": {
344
+ "node": ">= 0.8"
345
+ }
346
+ },
347
+ "node_modules/cache-content-type": {
348
+ "version": "1.0.1",
349
+ "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
350
+ "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
351
+ "dependencies": {
352
+ "mime-types": "^2.1.18",
353
+ "ylru": "^1.2.0"
354
+ },
355
+ "engines": {
356
+ "node": ">= 6.0.0"
357
+ }
358
+ },
359
+ "node_modules/call-bind": {
360
+ "version": "1.0.2",
361
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
362
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
363
+ "dependencies": {
364
+ "function-bind": "^1.1.1",
365
+ "get-intrinsic": "^1.0.2"
366
+ },
367
+ "funding": {
368
+ "url": "https://github.com/sponsors/ljharb"
369
+ }
370
+ },
371
+ "node_modules/co": {
372
+ "version": "4.6.0",
373
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
374
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
375
+ "engines": {
376
+ "iojs": ">= 1.0.0",
377
+ "node": ">= 0.12.0"
378
+ }
379
+ },
380
+ "node_modules/co-body": {
381
+ "version": "6.1.0",
382
+ "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.1.0.tgz",
383
+ "integrity": "sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==",
384
+ "dependencies": {
385
+ "inflation": "^2.0.0",
386
+ "qs": "^6.5.2",
387
+ "raw-body": "^2.3.3",
388
+ "type-is": "^1.6.16"
389
+ }
390
+ },
391
+ "node_modules/compressible": {
392
+ "version": "2.0.18",
393
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
394
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
395
+ "dependencies": {
396
+ "mime-db": ">= 1.43.0 < 2"
397
+ },
398
+ "engines": {
399
+ "node": ">= 0.6"
400
+ }
401
+ },
402
+ "node_modules/content-disposition": {
403
+ "version": "0.5.4",
404
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
405
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
406
+ "dependencies": {
407
+ "safe-buffer": "5.2.1"
408
+ },
409
+ "engines": {
410
+ "node": ">= 0.6"
411
+ }
412
+ },
413
+ "node_modules/content-type": {
414
+ "version": "1.0.4",
415
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
416
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
417
+ "engines": {
418
+ "node": ">= 0.6"
419
+ }
420
+ },
421
+ "node_modules/cookies": {
422
+ "version": "0.8.0",
423
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
424
+ "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
425
+ "dependencies": {
426
+ "depd": "~2.0.0",
427
+ "keygrip": "~1.1.0"
428
+ },
429
+ "engines": {
430
+ "node": ">= 0.8"
431
+ }
432
+ },
433
+ "node_modules/copy-to": {
434
+ "version": "2.0.1",
435
+ "resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz",
436
+ "integrity": "sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w=="
437
+ },
438
+ "node_modules/create-require": {
439
+ "version": "1.1.1",
440
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
441
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
442
+ "dev": true
443
+ },
444
+ "node_modules/debug": {
445
+ "version": "4.3.4",
446
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
447
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
448
+ "dependencies": {
449
+ "ms": "2.1.2"
450
+ },
451
+ "engines": {
452
+ "node": ">=6.0"
453
+ },
454
+ "peerDependenciesMeta": {
455
+ "supports-color": {
456
+ "optional": true
457
+ }
458
+ }
459
+ },
460
+ "node_modules/deep-equal": {
461
+ "version": "1.0.1",
462
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
463
+ "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw=="
464
+ },
465
+ "node_modules/delegates": {
466
+ "version": "1.0.0",
467
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
468
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
469
+ },
470
+ "node_modules/depd": {
471
+ "version": "2.0.0",
472
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
473
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
474
+ "engines": {
475
+ "node": ">= 0.8"
476
+ }
477
+ },
478
+ "node_modules/destroy": {
479
+ "version": "1.2.0",
480
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
481
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
482
+ "engines": {
483
+ "node": ">= 0.8",
484
+ "npm": "1.2.8000 || >= 1.4.16"
485
+ }
486
+ },
487
+ "node_modules/diff": {
488
+ "version": "4.0.2",
489
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
490
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
491
+ "dev": true,
492
+ "engines": {
493
+ "node": ">=0.3.1"
494
+ }
495
+ },
496
+ "node_modules/dotenv": {
497
+ "version": "16.0.3",
498
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
499
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
500
+ "engines": {
501
+ "node": ">=12"
502
+ }
503
+ },
504
+ "node_modules/ee-first": {
505
+ "version": "1.1.1",
506
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
507
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
508
+ },
509
+ "node_modules/encodeurl": {
510
+ "version": "1.0.2",
511
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
512
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
513
+ "engines": {
514
+ "node": ">= 0.8"
515
+ }
516
+ },
517
+ "node_modules/escape-html": {
518
+ "version": "1.0.3",
519
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
520
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
521
+ },
522
+ "node_modules/fresh": {
523
+ "version": "0.5.2",
524
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
525
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
526
+ "engines": {
527
+ "node": ">= 0.6"
528
+ }
529
+ },
530
+ "node_modules/function-bind": {
531
+ "version": "1.1.1",
532
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
533
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
534
+ },
535
+ "node_modules/get-intrinsic": {
536
+ "version": "1.1.3",
537
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
538
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
539
+ "dependencies": {
540
+ "function-bind": "^1.1.1",
541
+ "has": "^1.0.3",
542
+ "has-symbols": "^1.0.3"
543
+ },
544
+ "funding": {
545
+ "url": "https://github.com/sponsors/ljharb"
546
+ }
547
+ },
548
+ "node_modules/has": {
549
+ "version": "1.0.3",
550
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
551
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
552
+ "dependencies": {
553
+ "function-bind": "^1.1.1"
554
+ },
555
+ "engines": {
556
+ "node": ">= 0.4.0"
557
+ }
558
+ },
559
+ "node_modules/has-symbols": {
560
+ "version": "1.0.3",
561
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
562
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
563
+ "engines": {
564
+ "node": ">= 0.4"
565
+ },
566
+ "funding": {
567
+ "url": "https://github.com/sponsors/ljharb"
568
+ }
569
+ },
570
+ "node_modules/has-tostringtag": {
571
+ "version": "1.0.0",
572
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
573
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
574
+ "dependencies": {
575
+ "has-symbols": "^1.0.2"
576
+ },
577
+ "engines": {
578
+ "node": ">= 0.4"
579
+ },
580
+ "funding": {
581
+ "url": "https://github.com/sponsors/ljharb"
582
+ }
583
+ },
584
+ "node_modules/http-assert": {
585
+ "version": "1.5.0",
586
+ "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
587
+ "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
588
+ "dependencies": {
589
+ "deep-equal": "~1.0.1",
590
+ "http-errors": "~1.8.0"
591
+ },
592
+ "engines": {
593
+ "node": ">= 0.8"
594
+ }
595
+ },
596
+ "node_modules/http-errors": {
597
+ "version": "1.8.1",
598
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
599
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
600
+ "dependencies": {
601
+ "depd": "~1.1.2",
602
+ "inherits": "2.0.4",
603
+ "setprototypeof": "1.2.0",
604
+ "statuses": ">= 1.5.0 < 2",
605
+ "toidentifier": "1.0.1"
606
+ },
607
+ "engines": {
608
+ "node": ">= 0.6"
609
+ }
610
+ },
611
+ "node_modules/http-errors/node_modules/depd": {
612
+ "version": "1.1.2",
613
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
614
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
615
+ "engines": {
616
+ "node": ">= 0.6"
617
+ }
618
+ },
619
+ "node_modules/iconv-lite": {
620
+ "version": "0.4.24",
621
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
622
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
623
+ "dependencies": {
624
+ "safer-buffer": ">= 2.1.2 < 3"
625
+ },
626
+ "engines": {
627
+ "node": ">=0.10.0"
628
+ }
629
+ },
630
+ "node_modules/inflation": {
631
+ "version": "2.0.0",
632
+ "resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz",
633
+ "integrity": "sha512-m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw==",
634
+ "engines": {
635
+ "node": ">= 0.8.0"
636
+ }
637
+ },
638
+ "node_modules/inherits": {
639
+ "version": "2.0.4",
640
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
641
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
642
+ },
643
+ "node_modules/is-generator-function": {
644
+ "version": "1.0.10",
645
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
646
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
647
+ "dependencies": {
648
+ "has-tostringtag": "^1.0.0"
649
+ },
650
+ "engines": {
651
+ "node": ">= 0.4"
652
+ },
653
+ "funding": {
654
+ "url": "https://github.com/sponsors/ljharb"
655
+ }
656
+ },
657
+ "node_modules/keygrip": {
658
+ "version": "1.1.0",
659
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
660
+ "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
661
+ "dependencies": {
662
+ "tsscmp": "1.0.6"
663
+ },
664
+ "engines": {
665
+ "node": ">= 0.6"
666
+ }
667
+ },
668
+ "node_modules/koa": {
669
+ "version": "2.14.1",
670
+ "resolved": "https://registry.npmjs.org/koa/-/koa-2.14.1.tgz",
671
+ "integrity": "sha512-USJFyZgi2l0wDgqkfD27gL4YGno7TfUkcmOe6UOLFOVuN+J7FwnNu4Dydl4CUQzraM1lBAiGed0M9OVJoT0Kqw==",
672
+ "dependencies": {
673
+ "accepts": "^1.3.5",
674
+ "cache-content-type": "^1.0.0",
675
+ "content-disposition": "~0.5.2",
676
+ "content-type": "^1.0.4",
677
+ "cookies": "~0.8.0",
678
+ "debug": "^4.3.2",
679
+ "delegates": "^1.0.0",
680
+ "depd": "^2.0.0",
681
+ "destroy": "^1.0.4",
682
+ "encodeurl": "^1.0.2",
683
+ "escape-html": "^1.0.3",
684
+ "fresh": "~0.5.2",
685
+ "http-assert": "^1.3.0",
686
+ "http-errors": "^1.6.3",
687
+ "is-generator-function": "^1.0.7",
688
+ "koa-compose": "^4.1.0",
689
+ "koa-convert": "^2.0.0",
690
+ "on-finished": "^2.3.0",
691
+ "only": "~0.0.2",
692
+ "parseurl": "^1.3.2",
693
+ "statuses": "^1.5.0",
694
+ "type-is": "^1.6.16",
695
+ "vary": "^1.1.2"
696
+ },
697
+ "engines": {
698
+ "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
699
+ }
700
+ },
701
+ "node_modules/koa-bodyparser": {
702
+ "version": "4.3.0",
703
+ "resolved": "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz",
704
+ "integrity": "sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw==",
705
+ "dependencies": {
706
+ "co-body": "^6.0.0",
707
+ "copy-to": "^2.0.1"
708
+ },
709
+ "engines": {
710
+ "node": ">=8.0.0"
711
+ }
712
+ },
713
+ "node_modules/koa-compose": {
714
+ "version": "4.1.0",
715
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
716
+ "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw=="
717
+ },
718
+ "node_modules/koa-compress": {
719
+ "version": "5.1.0",
720
+ "resolved": "https://registry.npmjs.org/koa-compress/-/koa-compress-5.1.0.tgz",
721
+ "integrity": "sha512-G3Ppo9jrUwlchp6qdoRgQNMiGZtM0TAHkxRZQ7EoVvIG8E47J4nAsMJxXHAUQ+0oc7t0MDxSdONWTFcbzX7/Bg==",
722
+ "dependencies": {
723
+ "bytes": "^3.0.0",
724
+ "compressible": "^2.0.0",
725
+ "http-errors": "^1.8.0",
726
+ "koa-is-json": "^1.0.0",
727
+ "statuses": "^2.0.1"
728
+ },
729
+ "engines": {
730
+ "node": ">= 8.0.0"
731
+ }
732
+ },
733
+ "node_modules/koa-compress/node_modules/statuses": {
734
+ "version": "2.0.1",
735
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
736
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
737
+ "engines": {
738
+ "node": ">= 0.8"
739
+ }
740
+ },
741
+ "node_modules/koa-convert": {
742
+ "version": "2.0.0",
743
+ "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
744
+ "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
745
+ "dependencies": {
746
+ "co": "^4.6.0",
747
+ "koa-compose": "^4.1.0"
748
+ },
749
+ "engines": {
750
+ "node": ">= 10"
751
+ }
752
+ },
753
+ "node_modules/koa-is-json": {
754
+ "version": "1.0.0",
755
+ "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz",
756
+ "integrity": "sha512-+97CtHAlWDx0ndt0J8y3P12EWLwTLMXIfMnYDev3wOTwH/RpBGMlfn4bDXlMEg1u73K6XRE9BbUp+5ZAYoRYWw=="
757
+ },
758
+ "node_modules/koa-morgan": {
759
+ "version": "1.0.1",
760
+ "resolved": "https://registry.npmjs.org/koa-morgan/-/koa-morgan-1.0.1.tgz",
761
+ "integrity": "sha512-JOUdCNlc21G50afBXfErUrr1RKymbgzlrO5KURY+wmDG1Uvd2jmxUJcHgylb/mYXy2SjiNZyYim/ptUBGsIi3A==",
762
+ "dependencies": {
763
+ "morgan": "^1.6.1"
764
+ }
765
+ },
766
+ "node_modules/koa-router": {
767
+ "version": "12.0.0",
768
+ "resolved": "https://registry.npmjs.org/koa-router/-/koa-router-12.0.0.tgz",
769
+ "integrity": "sha512-zGrdiXygGYW8WvrzeGsHZvKnHs4DzyGoqJ9a8iHlRkiwuEAOAPyI27//OlhoWdgFAEIM3qbUgr0KCuRaP/TCag==",
770
+ "dependencies": {
771
+ "http-errors": "^2.0.0",
772
+ "koa-compose": "^4.1.0",
773
+ "methods": "^1.1.2",
774
+ "path-to-regexp": "^6.2.1"
775
+ },
776
+ "engines": {
777
+ "node": ">= 12"
778
+ }
779
+ },
780
+ "node_modules/koa-router/node_modules/http-errors": {
781
+ "version": "2.0.0",
782
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
783
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
784
+ "dependencies": {
785
+ "depd": "2.0.0",
786
+ "inherits": "2.0.4",
787
+ "setprototypeof": "1.2.0",
788
+ "statuses": "2.0.1",
789
+ "toidentifier": "1.0.1"
790
+ },
791
+ "engines": {
792
+ "node": ">= 0.8"
793
+ }
794
+ },
795
+ "node_modules/koa-router/node_modules/statuses": {
796
+ "version": "2.0.1",
797
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
798
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
799
+ "engines": {
800
+ "node": ">= 0.8"
801
+ }
802
+ },
803
+ "node_modules/make-error": {
804
+ "version": "1.3.6",
805
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
806
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
807
+ "dev": true
808
+ },
809
+ "node_modules/media-typer": {
810
+ "version": "0.3.0",
811
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
812
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
813
+ "engines": {
814
+ "node": ">= 0.6"
815
+ }
816
+ },
817
+ "node_modules/methods": {
818
+ "version": "1.1.2",
819
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
820
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
821
+ "engines": {
822
+ "node": ">= 0.6"
823
+ }
824
+ },
825
+ "node_modules/mime-db": {
826
+ "version": "1.52.0",
827
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
828
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
829
+ "engines": {
830
+ "node": ">= 0.6"
831
+ }
832
+ },
833
+ "node_modules/mime-types": {
834
+ "version": "2.1.35",
835
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
836
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
837
+ "dependencies": {
838
+ "mime-db": "1.52.0"
839
+ },
840
+ "engines": {
841
+ "node": ">= 0.6"
842
+ }
843
+ },
844
+ "node_modules/morgan": {
845
+ "version": "1.10.0",
846
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
847
+ "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
848
+ "dependencies": {
849
+ "basic-auth": "~2.0.1",
850
+ "debug": "2.6.9",
851
+ "depd": "~2.0.0",
852
+ "on-finished": "~2.3.0",
853
+ "on-headers": "~1.0.2"
854
+ },
855
+ "engines": {
856
+ "node": ">= 0.8.0"
857
+ }
858
+ },
859
+ "node_modules/morgan/node_modules/debug": {
860
+ "version": "2.6.9",
861
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
862
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
863
+ "dependencies": {
864
+ "ms": "2.0.0"
865
+ }
866
+ },
867
+ "node_modules/morgan/node_modules/ms": {
868
+ "version": "2.0.0",
869
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
870
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
871
+ },
872
+ "node_modules/morgan/node_modules/on-finished": {
873
+ "version": "2.3.0",
874
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
875
+ "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
876
+ "dependencies": {
877
+ "ee-first": "1.1.1"
878
+ },
879
+ "engines": {
880
+ "node": ">= 0.8"
881
+ }
882
+ },
883
+ "node_modules/ms": {
884
+ "version": "2.1.2",
885
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
886
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
887
+ },
888
+ "node_modules/negotiator": {
889
+ "version": "0.6.3",
890
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
891
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
892
+ "engines": {
893
+ "node": ">= 0.6"
894
+ }
895
+ },
896
+ "node_modules/object-inspect": {
897
+ "version": "1.12.2",
898
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
899
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
900
+ "funding": {
901
+ "url": "https://github.com/sponsors/ljharb"
902
+ }
903
+ },
904
+ "node_modules/on-finished": {
905
+ "version": "2.4.1",
906
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
907
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
908
+ "dependencies": {
909
+ "ee-first": "1.1.1"
910
+ },
911
+ "engines": {
912
+ "node": ">= 0.8"
913
+ }
914
+ },
915
+ "node_modules/on-headers": {
916
+ "version": "1.0.2",
917
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
918
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
919
+ "engines": {
920
+ "node": ">= 0.8"
921
+ }
922
+ },
923
+ "node_modules/only": {
924
+ "version": "0.0.2",
925
+ "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
926
+ "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ=="
927
+ },
928
+ "node_modules/parseurl": {
929
+ "version": "1.3.3",
930
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
931
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
932
+ "engines": {
933
+ "node": ">= 0.8"
934
+ }
935
+ },
936
+ "node_modules/path-to-regexp": {
937
+ "version": "6.2.1",
938
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
939
+ "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
940
+ },
941
+ "node_modules/prettier": {
942
+ "version": "2.8.2",
943
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz",
944
+ "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==",
945
+ "bin": {
946
+ "prettier": "bin-prettier.js"
947
+ },
948
+ "engines": {
949
+ "node": ">=10.13.0"
950
+ },
951
+ "funding": {
952
+ "url": "https://github.com/prettier/prettier?sponsor=1"
953
+ }
954
+ },
955
+ "node_modules/qs": {
956
+ "version": "6.11.0",
957
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
958
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
959
+ "dependencies": {
960
+ "side-channel": "^1.0.4"
961
+ },
962
+ "engines": {
963
+ "node": ">=0.6"
964
+ },
965
+ "funding": {
966
+ "url": "https://github.com/sponsors/ljharb"
967
+ }
968
+ },
969
+ "node_modules/raw-body": {
970
+ "version": "2.5.1",
971
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
972
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
973
+ "dependencies": {
974
+ "bytes": "3.1.2",
975
+ "http-errors": "2.0.0",
976
+ "iconv-lite": "0.4.24",
977
+ "unpipe": "1.0.0"
978
+ },
979
+ "engines": {
980
+ "node": ">= 0.8"
981
+ }
982
+ },
983
+ "node_modules/raw-body/node_modules/http-errors": {
984
+ "version": "2.0.0",
985
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
986
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
987
+ "dependencies": {
988
+ "depd": "2.0.0",
989
+ "inherits": "2.0.4",
990
+ "setprototypeof": "1.2.0",
991
+ "statuses": "2.0.1",
992
+ "toidentifier": "1.0.1"
993
+ },
994
+ "engines": {
995
+ "node": ">= 0.8"
996
+ }
997
+ },
998
+ "node_modules/raw-body/node_modules/statuses": {
999
+ "version": "2.0.1",
1000
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1001
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
1002
+ "engines": {
1003
+ "node": ">= 0.8"
1004
+ }
1005
+ },
1006
+ "node_modules/safe-buffer": {
1007
+ "version": "5.2.1",
1008
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1009
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1010
+ "funding": [
1011
+ {
1012
+ "type": "github",
1013
+ "url": "https://github.com/sponsors/feross"
1014
+ },
1015
+ {
1016
+ "type": "patreon",
1017
+ "url": "https://www.patreon.com/feross"
1018
+ },
1019
+ {
1020
+ "type": "consulting",
1021
+ "url": "https://feross.org/support"
1022
+ }
1023
+ ]
1024
+ },
1025
+ "node_modules/safer-buffer": {
1026
+ "version": "2.1.2",
1027
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1028
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1029
+ },
1030
+ "node_modules/setprototypeof": {
1031
+ "version": "1.2.0",
1032
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1033
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1034
+ },
1035
+ "node_modules/side-channel": {
1036
+ "version": "1.0.4",
1037
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
1038
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
1039
+ "dependencies": {
1040
+ "call-bind": "^1.0.0",
1041
+ "get-intrinsic": "^1.0.2",
1042
+ "object-inspect": "^1.9.0"
1043
+ },
1044
+ "funding": {
1045
+ "url": "https://github.com/sponsors/ljharb"
1046
+ }
1047
+ },
1048
+ "node_modules/statuses": {
1049
+ "version": "1.5.0",
1050
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
1051
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
1052
+ "engines": {
1053
+ "node": ">= 0.6"
1054
+ }
1055
+ },
1056
+ "node_modules/toidentifier": {
1057
+ "version": "1.0.1",
1058
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1059
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
1060
+ "engines": {
1061
+ "node": ">=0.6"
1062
+ }
1063
+ },
1064
+ "node_modules/ts-node": {
1065
+ "version": "10.9.1",
1066
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
1067
+ "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
1068
+ "dev": true,
1069
+ "dependencies": {
1070
+ "@cspotcode/source-map-support": "^0.8.0",
1071
+ "@tsconfig/node10": "^1.0.7",
1072
+ "@tsconfig/node12": "^1.0.7",
1073
+ "@tsconfig/node14": "^1.0.0",
1074
+ "@tsconfig/node16": "^1.0.2",
1075
+ "acorn": "^8.4.1",
1076
+ "acorn-walk": "^8.1.1",
1077
+ "arg": "^4.1.0",
1078
+ "create-require": "^1.1.0",
1079
+ "diff": "^4.0.1",
1080
+ "make-error": "^1.1.1",
1081
+ "v8-compile-cache-lib": "^3.0.1",
1082
+ "yn": "3.1.1"
1083
+ },
1084
+ "bin": {
1085
+ "ts-node": "dist/bin.js",
1086
+ "ts-node-cwd": "dist/bin-cwd.js",
1087
+ "ts-node-esm": "dist/bin-esm.js",
1088
+ "ts-node-script": "dist/bin-script.js",
1089
+ "ts-node-transpile-only": "dist/bin-transpile.js",
1090
+ "ts-script": "dist/bin-script-deprecated.js"
1091
+ },
1092
+ "peerDependencies": {
1093
+ "@swc/core": ">=1.2.50",
1094
+ "@swc/wasm": ">=1.2.50",
1095
+ "@types/node": "*",
1096
+ "typescript": ">=2.7"
1097
+ },
1098
+ "peerDependenciesMeta": {
1099
+ "@swc/core": {
1100
+ "optional": true
1101
+ },
1102
+ "@swc/wasm": {
1103
+ "optional": true
1104
+ }
1105
+ }
1106
+ },
1107
+ "node_modules/tsscmp": {
1108
+ "version": "1.0.6",
1109
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
1110
+ "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
1111
+ "engines": {
1112
+ "node": ">=0.6.x"
1113
+ }
1114
+ },
1115
+ "node_modules/type-is": {
1116
+ "version": "1.6.18",
1117
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1118
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1119
+ "dependencies": {
1120
+ "media-typer": "0.3.0",
1121
+ "mime-types": "~2.1.24"
1122
+ },
1123
+ "engines": {
1124
+ "node": ">= 0.6"
1125
+ }
1126
+ },
1127
+ "node_modules/typescript": {
1128
+ "version": "4.9.4",
1129
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
1130
+ "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
1131
+ "dev": true,
1132
+ "bin": {
1133
+ "tsc": "bin/tsc",
1134
+ "tsserver": "bin/tsserver"
1135
+ },
1136
+ "engines": {
1137
+ "node": ">=4.2.0"
1138
+ }
1139
+ },
1140
+ "node_modules/unpipe": {
1141
+ "version": "1.0.0",
1142
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1143
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
1144
+ "engines": {
1145
+ "node": ">= 0.8"
1146
+ }
1147
+ },
1148
+ "node_modules/v8-compile-cache-lib": {
1149
+ "version": "3.0.1",
1150
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
1151
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
1152
+ "dev": true
1153
+ },
1154
+ "node_modules/vary": {
1155
+ "version": "1.1.2",
1156
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1157
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
1158
+ "engines": {
1159
+ "node": ">= 0.8"
1160
+ }
1161
+ },
1162
+ "node_modules/ylru": {
1163
+ "version": "1.3.2",
1164
+ "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
1165
+ "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==",
1166
+ "engines": {
1167
+ "node": ">= 4.0.0"
1168
+ }
1169
+ },
1170
+ "node_modules/yn": {
1171
+ "version": "3.1.1",
1172
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
1173
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
1174
+ "dev": true,
1175
+ "engines": {
1176
+ "node": ">=6"
1177
+ }
1178
+ }
1179
+ },
1180
+ "dependencies": {
1181
+ "@cspotcode/source-map-support": {
1182
+ "version": "0.8.1",
1183
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
1184
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
1185
+ "dev": true,
1186
+ "requires": {
1187
+ "@jridgewell/trace-mapping": "0.3.9"
1188
+ }
1189
+ },
1190
+ "@jridgewell/resolve-uri": {
1191
+ "version": "3.1.0",
1192
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
1193
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
1194
+ "dev": true
1195
+ },
1196
+ "@jridgewell/sourcemap-codec": {
1197
+ "version": "1.4.14",
1198
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
1199
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
1200
+ "dev": true
1201
+ },
1202
+ "@jridgewell/trace-mapping": {
1203
+ "version": "0.3.9",
1204
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
1205
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
1206
+ "dev": true,
1207
+ "requires": {
1208
+ "@jridgewell/resolve-uri": "^3.0.3",
1209
+ "@jridgewell/sourcemap-codec": "^1.4.10"
1210
+ }
1211
+ },
1212
+ "@tsconfig/node10": {
1213
+ "version": "1.0.9",
1214
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
1215
+ "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
1216
+ "dev": true
1217
+ },
1218
+ "@tsconfig/node12": {
1219
+ "version": "1.0.11",
1220
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
1221
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
1222
+ "dev": true
1223
+ },
1224
+ "@tsconfig/node14": {
1225
+ "version": "1.0.3",
1226
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
1227
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
1228
+ "dev": true
1229
+ },
1230
+ "@tsconfig/node16": {
1231
+ "version": "1.0.3",
1232
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
1233
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
1234
+ "dev": true
1235
+ },
1236
+ "@types/accepts": {
1237
+ "version": "1.3.5",
1238
+ "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
1239
+ "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==",
1240
+ "dev": true,
1241
+ "requires": {
1242
+ "@types/node": "*"
1243
+ }
1244
+ },
1245
+ "@types/body-parser": {
1246
+ "version": "1.19.2",
1247
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
1248
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
1249
+ "dev": true,
1250
+ "requires": {
1251
+ "@types/connect": "*",
1252
+ "@types/node": "*"
1253
+ }
1254
+ },
1255
+ "@types/connect": {
1256
+ "version": "3.4.35",
1257
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
1258
+ "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
1259
+ "dev": true,
1260
+ "requires": {
1261
+ "@types/node": "*"
1262
+ }
1263
+ },
1264
+ "@types/content-disposition": {
1265
+ "version": "0.5.5",
1266
+ "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.5.tgz",
1267
+ "integrity": "sha512-v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA==",
1268
+ "dev": true
1269
+ },
1270
+ "@types/cookies": {
1271
+ "version": "0.7.7",
1272
+ "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.7.tgz",
1273
+ "integrity": "sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==",
1274
+ "dev": true,
1275
+ "requires": {
1276
+ "@types/connect": "*",
1277
+ "@types/express": "*",
1278
+ "@types/keygrip": "*",
1279
+ "@types/node": "*"
1280
+ }
1281
+ },
1282
+ "@types/express": {
1283
+ "version": "4.17.15",
1284
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz",
1285
+ "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==",
1286
+ "dev": true,
1287
+ "requires": {
1288
+ "@types/body-parser": "*",
1289
+ "@types/express-serve-static-core": "^4.17.31",
1290
+ "@types/qs": "*",
1291
+ "@types/serve-static": "*"
1292
+ }
1293
+ },
1294
+ "@types/express-serve-static-core": {
1295
+ "version": "4.17.32",
1296
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz",
1297
+ "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==",
1298
+ "dev": true,
1299
+ "requires": {
1300
+ "@types/node": "*",
1301
+ "@types/qs": "*",
1302
+ "@types/range-parser": "*"
1303
+ }
1304
+ },
1305
+ "@types/http-assert": {
1306
+ "version": "1.5.3",
1307
+ "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz",
1308
+ "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==",
1309
+ "dev": true
1310
+ },
1311
+ "@types/http-errors": {
1312
+ "version": "2.0.1",
1313
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
1314
+ "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==",
1315
+ "dev": true
1316
+ },
1317
+ "@types/keygrip": {
1318
+ "version": "1.0.2",
1319
+ "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz",
1320
+ "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==",
1321
+ "dev": true
1322
+ },
1323
+ "@types/koa": {
1324
+ "version": "2.13.5",
1325
+ "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.5.tgz",
1326
+ "integrity": "sha512-HSUOdzKz3by4fnqagwthW/1w/yJspTgppyyalPVbgZf8jQWvdIXcVW5h2DGtw4zYntOaeRGx49r1hxoPWrD4aA==",
1327
+ "dev": true,
1328
+ "requires": {
1329
+ "@types/accepts": "*",
1330
+ "@types/content-disposition": "*",
1331
+ "@types/cookies": "*",
1332
+ "@types/http-assert": "*",
1333
+ "@types/http-errors": "*",
1334
+ "@types/keygrip": "*",
1335
+ "@types/koa-compose": "*",
1336
+ "@types/node": "*"
1337
+ }
1338
+ },
1339
+ "@types/koa-bodyparser": {
1340
+ "version": "4.3.10",
1341
+ "resolved": "https://registry.npmjs.org/@types/koa-bodyparser/-/koa-bodyparser-4.3.10.tgz",
1342
+ "integrity": "sha512-6ae05pjhmrmGhUR8GYD5qr5p9LTEMEGfGXCsK8VaSL+totwigm8+H/7MHW7K4854CMeuwRAubT8qcc/EagaeIA==",
1343
+ "dev": true,
1344
+ "requires": {
1345
+ "@types/koa": "*"
1346
+ }
1347
+ },
1348
+ "@types/koa-compose": {
1349
+ "version": "3.2.5",
1350
+ "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz",
1351
+ "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==",
1352
+ "dev": true,
1353
+ "requires": {
1354
+ "@types/koa": "*"
1355
+ }
1356
+ },
1357
+ "@types/koa-compress": {
1358
+ "version": "4.0.3",
1359
+ "resolved": "https://registry.npmjs.org/@types/koa-compress/-/koa-compress-4.0.3.tgz",
1360
+ "integrity": "sha512-nJSII/tOSvYCwk3yDEBJLHd8ctkt5CQFZ0j8ZBnHZ2x0hg24z9H1i38lWXA/5z0Ix0uitMW1jov+kVbQI1aNPQ==",
1361
+ "dev": true,
1362
+ "requires": {
1363
+ "@types/koa": "*",
1364
+ "@types/node": "*"
1365
+ }
1366
+ },
1367
+ "@types/koa-morgan": {
1368
+ "version": "1.0.5",
1369
+ "resolved": "https://registry.npmjs.org/@types/koa-morgan/-/koa-morgan-1.0.5.tgz",
1370
+ "integrity": "sha512-NAc3HZxk2GAesyqbFTnZowaSW178pCoGQsnmPcE1sjGenTuZorj5Hnfd8rh+bEHgpBY4rqsuA5soe/HcqrIFpQ==",
1371
+ "dev": true,
1372
+ "requires": {
1373
+ "@types/koa": "*",
1374
+ "@types/morgan": "*"
1375
+ }
1376
+ },
1377
+ "@types/koa-router": {
1378
+ "version": "7.4.4",
1379
+ "resolved": "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.4.4.tgz",
1380
+ "integrity": "sha512-3dHlZ6CkhgcWeF6wafEUvyyqjWYfKmev3vy1PtOmr0mBc3wpXPU5E8fBBd4YQo5bRpHPfmwC5yDaX7s4jhIN6A==",
1381
+ "dev": true,
1382
+ "requires": {
1383
+ "@types/koa": "*"
1384
+ }
1385
+ },
1386
+ "@types/mime": {
1387
+ "version": "3.0.1",
1388
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
1389
+ "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
1390
+ "dev": true
1391
+ },
1392
+ "@types/morgan": {
1393
+ "version": "1.9.4",
1394
+ "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.4.tgz",
1395
+ "integrity": "sha512-cXoc4k+6+YAllH3ZHmx4hf7La1dzUk6keTR4bF4b4Sc0mZxU/zK4wO7l+ZzezXm/jkYj/qC+uYGZrarZdIVvyQ==",
1396
+ "dev": true,
1397
+ "requires": {
1398
+ "@types/node": "*"
1399
+ }
1400
+ },
1401
+ "@types/node": {
1402
+ "version": "18.11.18",
1403
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
1404
+ "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
1405
+ "dev": true
1406
+ },
1407
+ "@types/qs": {
1408
+ "version": "6.9.7",
1409
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
1410
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
1411
+ "dev": true
1412
+ },
1413
+ "@types/range-parser": {
1414
+ "version": "1.2.4",
1415
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
1416
+ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
1417
+ "dev": true
1418
+ },
1419
+ "@types/serve-static": {
1420
+ "version": "1.15.0",
1421
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz",
1422
+ "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==",
1423
+ "dev": true,
1424
+ "requires": {
1425
+ "@types/mime": "*",
1426
+ "@types/node": "*"
1427
+ }
1428
+ },
1429
+ "accepts": {
1430
+ "version": "1.3.8",
1431
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
1432
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
1433
+ "requires": {
1434
+ "mime-types": "~2.1.34",
1435
+ "negotiator": "0.6.3"
1436
+ }
1437
+ },
1438
+ "acorn": {
1439
+ "version": "8.8.1",
1440
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
1441
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
1442
+ "dev": true
1443
+ },
1444
+ "acorn-walk": {
1445
+ "version": "8.2.0",
1446
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
1447
+ "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
1448
+ "dev": true
1449
+ },
1450
+ "arg": {
1451
+ "version": "4.1.3",
1452
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
1453
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
1454
+ "dev": true
1455
+ },
1456
+ "basic-auth": {
1457
+ "version": "2.0.1",
1458
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
1459
+ "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
1460
+ "requires": {
1461
+ "safe-buffer": "5.1.2"
1462
+ },
1463
+ "dependencies": {
1464
+ "safe-buffer": {
1465
+ "version": "5.1.2",
1466
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1467
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1468
+ }
1469
+ }
1470
+ },
1471
+ "bytes": {
1472
+ "version": "3.1.2",
1473
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
1474
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
1475
+ },
1476
+ "cache-content-type": {
1477
+ "version": "1.0.1",
1478
+ "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
1479
+ "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
1480
+ "requires": {
1481
+ "mime-types": "^2.1.18",
1482
+ "ylru": "^1.2.0"
1483
+ }
1484
+ },
1485
+ "call-bind": {
1486
+ "version": "1.0.2",
1487
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
1488
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
1489
+ "requires": {
1490
+ "function-bind": "^1.1.1",
1491
+ "get-intrinsic": "^1.0.2"
1492
+ }
1493
+ },
1494
+ "co": {
1495
+ "version": "4.6.0",
1496
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
1497
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ=="
1498
+ },
1499
+ "co-body": {
1500
+ "version": "6.1.0",
1501
+ "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.1.0.tgz",
1502
+ "integrity": "sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==",
1503
+ "requires": {
1504
+ "inflation": "^2.0.0",
1505
+ "qs": "^6.5.2",
1506
+ "raw-body": "^2.3.3",
1507
+ "type-is": "^1.6.16"
1508
+ }
1509
+ },
1510
+ "compressible": {
1511
+ "version": "2.0.18",
1512
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
1513
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
1514
+ "requires": {
1515
+ "mime-db": ">= 1.43.0 < 2"
1516
+ }
1517
+ },
1518
+ "content-disposition": {
1519
+ "version": "0.5.4",
1520
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
1521
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
1522
+ "requires": {
1523
+ "safe-buffer": "5.2.1"
1524
+ }
1525
+ },
1526
+ "content-type": {
1527
+ "version": "1.0.4",
1528
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
1529
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
1530
+ },
1531
+ "cookies": {
1532
+ "version": "0.8.0",
1533
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
1534
+ "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
1535
+ "requires": {
1536
+ "depd": "~2.0.0",
1537
+ "keygrip": "~1.1.0"
1538
+ }
1539
+ },
1540
+ "copy-to": {
1541
+ "version": "2.0.1",
1542
+ "resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz",
1543
+ "integrity": "sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w=="
1544
+ },
1545
+ "create-require": {
1546
+ "version": "1.1.1",
1547
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
1548
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
1549
+ "dev": true
1550
+ },
1551
+ "debug": {
1552
+ "version": "4.3.4",
1553
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1554
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1555
+ "requires": {
1556
+ "ms": "2.1.2"
1557
+ }
1558
+ },
1559
+ "deep-equal": {
1560
+ "version": "1.0.1",
1561
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
1562
+ "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw=="
1563
+ },
1564
+ "delegates": {
1565
+ "version": "1.0.0",
1566
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
1567
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
1568
+ },
1569
+ "depd": {
1570
+ "version": "2.0.0",
1571
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
1572
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
1573
+ },
1574
+ "destroy": {
1575
+ "version": "1.2.0",
1576
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
1577
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
1578
+ },
1579
+ "diff": {
1580
+ "version": "4.0.2",
1581
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
1582
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
1583
+ "dev": true
1584
+ },
1585
+ "dotenv": {
1586
+ "version": "16.0.3",
1587
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
1588
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
1589
+ },
1590
+ "ee-first": {
1591
+ "version": "1.1.1",
1592
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1593
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
1594
+ },
1595
+ "encodeurl": {
1596
+ "version": "1.0.2",
1597
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1598
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
1599
+ },
1600
+ "escape-html": {
1601
+ "version": "1.0.3",
1602
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1603
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
1604
+ },
1605
+ "fresh": {
1606
+ "version": "0.5.2",
1607
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1608
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
1609
+ },
1610
+ "function-bind": {
1611
+ "version": "1.1.1",
1612
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1613
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1614
+ },
1615
+ "get-intrinsic": {
1616
+ "version": "1.1.3",
1617
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
1618
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
1619
+ "requires": {
1620
+ "function-bind": "^1.1.1",
1621
+ "has": "^1.0.3",
1622
+ "has-symbols": "^1.0.3"
1623
+ }
1624
+ },
1625
+ "has": {
1626
+ "version": "1.0.3",
1627
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1628
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1629
+ "requires": {
1630
+ "function-bind": "^1.1.1"
1631
+ }
1632
+ },
1633
+ "has-symbols": {
1634
+ "version": "1.0.3",
1635
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1636
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
1637
+ },
1638
+ "has-tostringtag": {
1639
+ "version": "1.0.0",
1640
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
1641
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
1642
+ "requires": {
1643
+ "has-symbols": "^1.0.2"
1644
+ }
1645
+ },
1646
+ "http-assert": {
1647
+ "version": "1.5.0",
1648
+ "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
1649
+ "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
1650
+ "requires": {
1651
+ "deep-equal": "~1.0.1",
1652
+ "http-errors": "~1.8.0"
1653
+ }
1654
+ },
1655
+ "http-errors": {
1656
+ "version": "1.8.1",
1657
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
1658
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
1659
+ "requires": {
1660
+ "depd": "~1.1.2",
1661
+ "inherits": "2.0.4",
1662
+ "setprototypeof": "1.2.0",
1663
+ "statuses": ">= 1.5.0 < 2",
1664
+ "toidentifier": "1.0.1"
1665
+ },
1666
+ "dependencies": {
1667
+ "depd": {
1668
+ "version": "1.1.2",
1669
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1670
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
1671
+ }
1672
+ }
1673
+ },
1674
+ "iconv-lite": {
1675
+ "version": "0.4.24",
1676
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1677
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1678
+ "requires": {
1679
+ "safer-buffer": ">= 2.1.2 < 3"
1680
+ }
1681
+ },
1682
+ "inflation": {
1683
+ "version": "2.0.0",
1684
+ "resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz",
1685
+ "integrity": "sha512-m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw=="
1686
+ },
1687
+ "inherits": {
1688
+ "version": "2.0.4",
1689
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1690
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1691
+ },
1692
+ "is-generator-function": {
1693
+ "version": "1.0.10",
1694
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
1695
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
1696
+ "requires": {
1697
+ "has-tostringtag": "^1.0.0"
1698
+ }
1699
+ },
1700
+ "keygrip": {
1701
+ "version": "1.1.0",
1702
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
1703
+ "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
1704
+ "requires": {
1705
+ "tsscmp": "1.0.6"
1706
+ }
1707
+ },
1708
+ "koa": {
1709
+ "version": "2.14.1",
1710
+ "resolved": "https://registry.npmjs.org/koa/-/koa-2.14.1.tgz",
1711
+ "integrity": "sha512-USJFyZgi2l0wDgqkfD27gL4YGno7TfUkcmOe6UOLFOVuN+J7FwnNu4Dydl4CUQzraM1lBAiGed0M9OVJoT0Kqw==",
1712
+ "requires": {
1713
+ "accepts": "^1.3.5",
1714
+ "cache-content-type": "^1.0.0",
1715
+ "content-disposition": "~0.5.2",
1716
+ "content-type": "^1.0.4",
1717
+ "cookies": "~0.8.0",
1718
+ "debug": "^4.3.2",
1719
+ "delegates": "^1.0.0",
1720
+ "depd": "^2.0.0",
1721
+ "destroy": "^1.0.4",
1722
+ "encodeurl": "^1.0.2",
1723
+ "escape-html": "^1.0.3",
1724
+ "fresh": "~0.5.2",
1725
+ "http-assert": "^1.3.0",
1726
+ "http-errors": "^1.6.3",
1727
+ "is-generator-function": "^1.0.7",
1728
+ "koa-compose": "^4.1.0",
1729
+ "koa-convert": "^2.0.0",
1730
+ "on-finished": "^2.3.0",
1731
+ "only": "~0.0.2",
1732
+ "parseurl": "^1.3.2",
1733
+ "statuses": "^1.5.0",
1734
+ "type-is": "^1.6.16",
1735
+ "vary": "^1.1.2"
1736
+ }
1737
+ },
1738
+ "koa-bodyparser": {
1739
+ "version": "4.3.0",
1740
+ "resolved": "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz",
1741
+ "integrity": "sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw==",
1742
+ "requires": {
1743
+ "co-body": "^6.0.0",
1744
+ "copy-to": "^2.0.1"
1745
+ }
1746
+ },
1747
+ "koa-compose": {
1748
+ "version": "4.1.0",
1749
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
1750
+ "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw=="
1751
+ },
1752
+ "koa-compress": {
1753
+ "version": "5.1.0",
1754
+ "resolved": "https://registry.npmjs.org/koa-compress/-/koa-compress-5.1.0.tgz",
1755
+ "integrity": "sha512-G3Ppo9jrUwlchp6qdoRgQNMiGZtM0TAHkxRZQ7EoVvIG8E47J4nAsMJxXHAUQ+0oc7t0MDxSdONWTFcbzX7/Bg==",
1756
+ "requires": {
1757
+ "bytes": "^3.0.0",
1758
+ "compressible": "^2.0.0",
1759
+ "http-errors": "^1.8.0",
1760
+ "koa-is-json": "^1.0.0",
1761
+ "statuses": "^2.0.1"
1762
+ },
1763
+ "dependencies": {
1764
+ "statuses": {
1765
+ "version": "2.0.1",
1766
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1767
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
1768
+ }
1769
+ }
1770
+ },
1771
+ "koa-convert": {
1772
+ "version": "2.0.0",
1773
+ "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
1774
+ "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
1775
+ "requires": {
1776
+ "co": "^4.6.0",
1777
+ "koa-compose": "^4.1.0"
1778
+ }
1779
+ },
1780
+ "koa-is-json": {
1781
+ "version": "1.0.0",
1782
+ "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz",
1783
+ "integrity": "sha512-+97CtHAlWDx0ndt0J8y3P12EWLwTLMXIfMnYDev3wOTwH/RpBGMlfn4bDXlMEg1u73K6XRE9BbUp+5ZAYoRYWw=="
1784
+ },
1785
+ "koa-morgan": {
1786
+ "version": "1.0.1",
1787
+ "resolved": "https://registry.npmjs.org/koa-morgan/-/koa-morgan-1.0.1.tgz",
1788
+ "integrity": "sha512-JOUdCNlc21G50afBXfErUrr1RKymbgzlrO5KURY+wmDG1Uvd2jmxUJcHgylb/mYXy2SjiNZyYim/ptUBGsIi3A==",
1789
+ "requires": {
1790
+ "morgan": "^1.6.1"
1791
+ }
1792
+ },
1793
+ "koa-router": {
1794
+ "version": "12.0.0",
1795
+ "resolved": "https://registry.npmjs.org/koa-router/-/koa-router-12.0.0.tgz",
1796
+ "integrity": "sha512-zGrdiXygGYW8WvrzeGsHZvKnHs4DzyGoqJ9a8iHlRkiwuEAOAPyI27//OlhoWdgFAEIM3qbUgr0KCuRaP/TCag==",
1797
+ "requires": {
1798
+ "http-errors": "^2.0.0",
1799
+ "koa-compose": "^4.1.0",
1800
+ "methods": "^1.1.2",
1801
+ "path-to-regexp": "^6.2.1"
1802
+ },
1803
+ "dependencies": {
1804
+ "http-errors": {
1805
+ "version": "2.0.0",
1806
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
1807
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
1808
+ "requires": {
1809
+ "depd": "2.0.0",
1810
+ "inherits": "2.0.4",
1811
+ "setprototypeof": "1.2.0",
1812
+ "statuses": "2.0.1",
1813
+ "toidentifier": "1.0.1"
1814
+ }
1815
+ },
1816
+ "statuses": {
1817
+ "version": "2.0.1",
1818
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1819
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
1820
+ }
1821
+ }
1822
+ },
1823
+ "make-error": {
1824
+ "version": "1.3.6",
1825
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
1826
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
1827
+ "dev": true
1828
+ },
1829
+ "media-typer": {
1830
+ "version": "0.3.0",
1831
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1832
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
1833
+ },
1834
+ "methods": {
1835
+ "version": "1.1.2",
1836
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1837
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
1838
+ },
1839
+ "mime-db": {
1840
+ "version": "1.52.0",
1841
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1842
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
1843
+ },
1844
+ "mime-types": {
1845
+ "version": "2.1.35",
1846
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1847
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1848
+ "requires": {
1849
+ "mime-db": "1.52.0"
1850
+ }
1851
+ },
1852
+ "morgan": {
1853
+ "version": "1.10.0",
1854
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
1855
+ "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
1856
+ "requires": {
1857
+ "basic-auth": "~2.0.1",
1858
+ "debug": "2.6.9",
1859
+ "depd": "~2.0.0",
1860
+ "on-finished": "~2.3.0",
1861
+ "on-headers": "~1.0.2"
1862
+ },
1863
+ "dependencies": {
1864
+ "debug": {
1865
+ "version": "2.6.9",
1866
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1867
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1868
+ "requires": {
1869
+ "ms": "2.0.0"
1870
+ }
1871
+ },
1872
+ "ms": {
1873
+ "version": "2.0.0",
1874
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1875
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1876
+ },
1877
+ "on-finished": {
1878
+ "version": "2.3.0",
1879
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1880
+ "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
1881
+ "requires": {
1882
+ "ee-first": "1.1.1"
1883
+ }
1884
+ }
1885
+ }
1886
+ },
1887
+ "ms": {
1888
+ "version": "2.1.2",
1889
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1890
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1891
+ },
1892
+ "negotiator": {
1893
+ "version": "0.6.3",
1894
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1895
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
1896
+ },
1897
+ "object-inspect": {
1898
+ "version": "1.12.2",
1899
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
1900
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
1901
+ },
1902
+ "on-finished": {
1903
+ "version": "2.4.1",
1904
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
1905
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
1906
+ "requires": {
1907
+ "ee-first": "1.1.1"
1908
+ }
1909
+ },
1910
+ "on-headers": {
1911
+ "version": "1.0.2",
1912
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
1913
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
1914
+ },
1915
+ "only": {
1916
+ "version": "0.0.2",
1917
+ "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
1918
+ "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ=="
1919
+ },
1920
+ "parseurl": {
1921
+ "version": "1.3.3",
1922
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1923
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1924
+ },
1925
+ "path-to-regexp": {
1926
+ "version": "6.2.1",
1927
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
1928
+ "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
1929
+ },
1930
+ "prettier": {
1931
+ "version": "2.8.2",
1932
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz",
1933
+ "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw=="
1934
+ },
1935
+ "qs": {
1936
+ "version": "6.11.0",
1937
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
1938
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
1939
+ "requires": {
1940
+ "side-channel": "^1.0.4"
1941
+ }
1942
+ },
1943
+ "raw-body": {
1944
+ "version": "2.5.1",
1945
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
1946
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
1947
+ "requires": {
1948
+ "bytes": "3.1.2",
1949
+ "http-errors": "2.0.0",
1950
+ "iconv-lite": "0.4.24",
1951
+ "unpipe": "1.0.0"
1952
+ },
1953
+ "dependencies": {
1954
+ "http-errors": {
1955
+ "version": "2.0.0",
1956
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
1957
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
1958
+ "requires": {
1959
+ "depd": "2.0.0",
1960
+ "inherits": "2.0.4",
1961
+ "setprototypeof": "1.2.0",
1962
+ "statuses": "2.0.1",
1963
+ "toidentifier": "1.0.1"
1964
+ }
1965
+ },
1966
+ "statuses": {
1967
+ "version": "2.0.1",
1968
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1969
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
1970
+ }
1971
+ }
1972
+ },
1973
+ "safe-buffer": {
1974
+ "version": "5.2.1",
1975
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1976
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
1977
+ },
1978
+ "safer-buffer": {
1979
+ "version": "2.1.2",
1980
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1981
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1982
+ },
1983
+ "setprototypeof": {
1984
+ "version": "1.2.0",
1985
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1986
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1987
+ },
1988
+ "side-channel": {
1989
+ "version": "1.0.4",
1990
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
1991
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
1992
+ "requires": {
1993
+ "call-bind": "^1.0.0",
1994
+ "get-intrinsic": "^1.0.2",
1995
+ "object-inspect": "^1.9.0"
1996
+ }
1997
+ },
1998
+ "statuses": {
1999
+ "version": "1.5.0",
2000
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
2001
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="
2002
+ },
2003
+ "toidentifier": {
2004
+ "version": "1.0.1",
2005
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
2006
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
2007
+ },
2008
+ "ts-node": {
2009
+ "version": "10.9.1",
2010
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
2011
+ "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
2012
+ "dev": true,
2013
+ "requires": {
2014
+ "@cspotcode/source-map-support": "^0.8.0",
2015
+ "@tsconfig/node10": "^1.0.7",
2016
+ "@tsconfig/node12": "^1.0.7",
2017
+ "@tsconfig/node14": "^1.0.0",
2018
+ "@tsconfig/node16": "^1.0.2",
2019
+ "acorn": "^8.4.1",
2020
+ "acorn-walk": "^8.1.1",
2021
+ "arg": "^4.1.0",
2022
+ "create-require": "^1.1.0",
2023
+ "diff": "^4.0.1",
2024
+ "make-error": "^1.1.1",
2025
+ "v8-compile-cache-lib": "^3.0.1",
2026
+ "yn": "3.1.1"
2027
+ }
2028
+ },
2029
+ "tsscmp": {
2030
+ "version": "1.0.6",
2031
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
2032
+ "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA=="
2033
+ },
2034
+ "type-is": {
2035
+ "version": "1.6.18",
2036
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
2037
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
2038
+ "requires": {
2039
+ "media-typer": "0.3.0",
2040
+ "mime-types": "~2.1.24"
2041
+ }
2042
+ },
2043
+ "typescript": {
2044
+ "version": "4.9.4",
2045
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
2046
+ "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
2047
+ "dev": true
2048
+ },
2049
+ "unpipe": {
2050
+ "version": "1.0.0",
2051
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
2052
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
2053
+ },
2054
+ "v8-compile-cache-lib": {
2055
+ "version": "3.0.1",
2056
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
2057
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
2058
+ "dev": true
2059
+ },
2060
+ "vary": {
2061
+ "version": "1.1.2",
2062
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
2063
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
2064
+ },
2065
+ "ylru": {
2066
+ "version": "1.3.2",
2067
+ "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
2068
+ "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA=="
2069
+ },
2070
+ "yn": {
2071
+ "version": "3.1.1",
2072
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
2073
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
2074
+ "dev": true
2075
+ }
2076
+ }
2077
+ }
package.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "twitter-alt-image-bot",
3
+ "version": "1.0.0",
4
+ "description": "Twitter bot to generate alt text for images",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://huggingface.co/spaces/huggingface-projects/twitter-alt-image-bot"
12
+ },
13
+ "author": "",
14
+ "license": "MIT",
15
+ "devDependencies": {
16
+ "@types/koa": "^2.13.5",
17
+ "@types/koa-bodyparser": "^4.3.10",
18
+ "@types/koa-compress": "^4.0.3",
19
+ "@types/koa-morgan": "^1.0.5",
20
+ "@types/koa-router": "^7.4.4",
21
+ "ts-node": "^10.9.1",
22
+ "typescript": "^4.9.4"
23
+ },
24
+ "dependencies": {
25
+ "dotenv": "^16.0.3",
26
+ "koa": "^2.14.1",
27
+ "koa-bodyparser": "^4.3.0",
28
+ "koa-compress": "^5.1.0",
29
+ "koa-morgan": "^1.0.1",
30
+ "koa-router": "^12.0.0",
31
+ "prettier": "^2.8.2"
32
+ }
33
+ }
server.ts ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import Koa from "koa";
2
+ import bodyParser from "koa-bodyparser";
3
+ import compression from "koa-compress";
4
+ import morgan from "koa-morgan";
5
+ import Router from "koa-router";
6
+ import "dotenv/config";
7
+
8
+ const port = 7860;
9
+
10
+ const app = new Koa();
11
+
12
+ app.use(morgan("dev"));
13
+ app.use(compression());
14
+ app.use(bodyParser());
15
+
16
+ const { API_KEY, API_SECRET, BEARER_TOKEN } = process.env;
17
+
18
+ const router = new Router();
19
+
20
+ app.use(router.routes());
21
+ app.use(router.allowedMethods());
22
+
23
+ async function listen() {
24
+ try {
25
+ const promise = new Promise<void>((resolve, reject) => {
26
+ app.listen(port, "localhost", () => resolve());
27
+ app.once("error", (err) => reject(err));
28
+ });
29
+
30
+ await promise;
31
+
32
+ console.log("app started on port", port);
33
+
34
+ process.send?.("ready");
35
+ } catch (err) {
36
+ console.error(err);
37
+ }
38
+ }
39
+
40
+ listen();
41
+
42
+ process.on("unhandledRejection", async (err) => {
43
+ console.error("unhandled rejection", err);
44
+ });