git.iko.soy/rowtype-yoga/psfp
on master help sign in
Update to 0.15.x and use httpurple as server (#11)
110e143Mark Eibes
playground/run.jsdeleted−9
@@ -1,9 +0,0 @@
1−const main = require ("./output/Main")
2−if(main.main == undefined) {
3− console.error("You are missing a 'main' function")
4−} else if (main.main instanceof Function) {
5− main.main()
6−}
7−else {
8− console.error("Make sure that you're main function is of type `Effect Unit`")
9−}
playground/run.mjsnew file+9
@@ -0,0 +1,9 @@
1+import { main } from "./output/Main/index.js"
2+if(main === undefined) {
3+ console.error("You are missing a 'main' function")
4+} else if (main instanceof Function) {
5+ main()
6+}
7+else {
8+ console.error("Make sure that your main function is of type `Effect Unit`")
9+}
server/.vscode/settings.json+2−2
@@ -16,8 +16,8 @@
16 "replace": "∀$1"
16 "replace": "∀$1"
17 },
17 },
18 ],
18 ],
19− "purescript.buildCommand": "npx spago build --purs-args '--json-errors'",
19+ "purescript.buildCommand": "spago build --purs-args '--json-errors'",
20 "vscode_custom_css.imports": [
20 "vscode_custom_css.imports": [
21 "file:///Users/mark/.vscode-oss/extensions/webrender.synthwave-x-fluoromachine-0.0.9/synthwave-x-fluoromachine.css"
21 "file:///Users/mark/.vscode-oss/extensions/webrender.synthwave-x-fluoromachine-0.0.9/synthwave-x-fluoromachine.css"
22 ]
22 ]
23−}
23+}
server/package-lock.json+72−3755
@@ -9,131 +9,12 @@
9 "version": "1.0.0",
9 "version": "1.0.0",
10 "license": "ISC",
10 "license": "ISC",
11 "dependencies": {
11 "dependencies": {
12− "body-parser": "^1.19.0",
12+ "big-integer": "^1.6.51",
13− "express": "^4.17.1",
14 "fs-extra": "^9.0.0",
13 "fs-extra": "^9.0.0",
15− "json-parser": "^3.1.2",
16 "minimist": "^1.2.2",
14 "minimist": "^1.2.2",
17− "uuid": "^7.0.2"
15+ "uuid": "^8.3.2"
18− },
19− "devDependencies": {
20− "purescript": "^0.14.0",
21− "spago": "^0.19.1"
22− }
23− },
24− "node_modules/accepts": {
25− "version": "1.3.7",
26− "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
27− "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
28− "dependencies": {
29− "mime-types": "~2.1.24",
30− "negotiator": "0.6.2"
31− },
32− "engines": {
33− "node": ">= 0.6"
34− }
35− },
36− "node_modules/ajv": {
37− "version": "6.12.6",
38− "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
39− "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
40− "dev": true,
41− "dependencies": {
42− "fast-deep-equal": "^3.1.1",
43− "fast-json-stable-stringify": "^2.0.0",
44− "json-schema-traverse": "^0.4.1",
45− "uri-js": "^4.2.2"
46− },
47− "funding": {
48− "type": "github",
49− "url": "https://github.com/sponsors/epoberezkin"
50− }
51− },
52− "node_modules/ansi-escapes": {
53− "version": "3.2.0",
54− "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
55− "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
56− "dev": true,
57− "engines": {
58− "node": ">=4"
59− }
60− },
61− "node_modules/ansi-regex": {
62− "version": "4.1.0",
63− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
64− "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
65− "dev": true,
66− "engines": {
67− "node": ">=6"
68 }
16 }
69 },
17 },
70− "node_modules/ansi-styles": {
71− "version": "3.2.1",
72− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
73− "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
74− "dev": true,
75− "dependencies": {
76− "color-convert": "^1.9.0"
77− },
78− "engines": {
79− "node": ">=4"
80− }
81− },
82− "node_modules/aproba": {
83− "version": "1.2.0",
84− "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
85− "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
86− "dev": true
87− },
88− "node_modules/arch": {
89− "version": "2.2.0",
90− "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
91− "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
92− "dev": true,
93− "funding": [
94− {
95− "type": "github",
96− "url": "https://github.com/sponsors/feross"
97− },
98− {
99− "type": "patreon",
100− "url": "https://www.patreon.com/feross"
101− },
102− {
103− "type": "consulting",
104− "url": "https://feross.org/support"
105− }
106− ]
107− },
108− "node_modules/array-flatten": {
109− "version": "1.1.1",
110− "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
111− "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
112− },
113− "node_modules/asn1": {
114− "version": "0.2.4",
115− "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
116− "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
117− "dev": true,
118− "dependencies": {
119− "safer-buffer": "~2.1.0"
120− }
121− },
122− "node_modules/assert-plus": {
123− "version": "1.0.0",
124− "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
125− "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
126− "dev": true,
127− "engines": {
128− "node": ">=0.8"
129− }
130− },
131− "node_modules/asynckit": {
132− "version": "0.4.0",
133− "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
134− "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
135− "dev": true
136− },
137 "node_modules/at-least-node": {
18 "node_modules/at-least-node": {
138 "version": "1.0.0",
19 "version": "1.0.0",
139 "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
20 "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
@@ -142,3680 +23,116 @@
142 "node": ">= 4.0.0"
23 "node": ">= 4.0.0"
143 }
24 }
144 },
25 },
145− "node_modules/aws-sign2": {
26+ "node_modules/big-integer": {
146− "version": "0.7.0",
147− "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
148− "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
149− "dev": true,
150− "engines": {
151− "node": "*"
152− }
153− },
154− "node_modules/aws4": {
155− "version": "1.11.0",
156− "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
157− "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
158− "dev": true
159− },
160− "node_modules/balanced-match": {
161− "version": "1.0.0",
162− "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
163− "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
164− "dev": true
165− },
166− "node_modules/bcrypt-pbkdf": {
167− "version": "1.0.2",
168− "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
169− "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
170− "dev": true,
171− "dependencies": {
172− "tweetnacl": "^0.14.3"
173− }
174− },
175− "node_modules/bluebird": {
176− "version": "3.7.2",
177− "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
178− "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
179− "dev": true
180− },
181− "node_modules/body-parser": {
182− "version": "1.19.0",
183− "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
184− "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
185− "dependencies": {
186− "bytes": "3.1.0",
187− "content-type": "~1.0.4",
188− "debug": "2.6.9",
189− "depd": "~1.1.2",
190− "http-errors": "1.7.2",
191− "iconv-lite": "0.4.24",
192− "on-finished": "~2.3.0",
193− "qs": "6.7.0",
194− "raw-body": "2.4.0",
195− "type-is": "~1.6.17"
196− },
197− "engines": {
198− "node": ">= 0.8"
199− }
200− },
201− "node_modules/brace-expansion": {
202− "version": "1.1.11",
203− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
204− "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
205− "dev": true,
206− "dependencies": {
207− "balanced-match": "^1.0.0",
208− "concat-map": "0.0.1"
209− }
210− },
211− "node_modules/buffer-from": {
212− "version": "1.1.1",
213− "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
214− "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
215− "dev": true
216− },
217− "node_modules/byline": {
218− "version": "5.0.0",
219− "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
220− "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=",
221− "dev": true,
222− "engines": {
223− "node": ">=0.10.0"
224− }
225− },
226− "node_modules/bytes": {
227− "version": "3.1.0",
228− "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
229− "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
230− "engines": {
231− "node": ">= 0.8"
232− }
233− },
234− "node_modules/cacache": {
235− "version": "11.3.3",
236− "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz",
237− "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==",
238− "dev": true,
239− "dependencies": {
240− "bluebird": "^3.5.5",
241− "chownr": "^1.1.1",
242− "figgy-pudding": "^3.5.1",
243− "glob": "^7.1.4",
244− "graceful-fs": "^4.1.15",
245− "lru-cache": "^5.1.1",
246− "mississippi": "^3.0.0",
247− "mkdirp": "^0.5.1",
248− "move-concurrently": "^1.0.1",
249− "promise-inflight": "^1.0.1",
250− "rimraf": "^2.6.3",
251− "ssri": "^6.0.1",
252− "unique-filename": "^1.1.1",
253− "y18n": "^4.0.0"
254− }
255− },
256− "node_modules/caseless": {
257− "version": "0.12.0",
258− "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
259− "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
260− "dev": true
261− },
262− "node_modules/chalk": {
263− "version": "2.4.2",
264− "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
265− "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
266− "dev": true,
267− "dependencies": {
268− "ansi-styles": "^3.2.1",
269− "escape-string-regexp": "^1.0.5",
270− "supports-color": "^5.3.0"
271− },
272− "engines": {
273− "node": ">=4"
274− }
275− },
276− "node_modules/chownr": {
277− "version": "1.1.4",
278− "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
279− "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
280− "dev": true
281− },
282− "node_modules/cli-cursor": {
283− "version": "2.1.0",
284− "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
285− "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
286− "dev": true,
287− "dependencies": {
288− "restore-cursor": "^2.0.0"
289− },
290− "engines": {
291− "node": ">=4"
292− }
293− },
294− "node_modules/color-convert": {
295− "version": "1.9.3",
296− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
297− "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
298− "dev": true,
299− "dependencies": {
300− "color-name": "1.1.3"
301− }
302− },
303− "node_modules/color-name": {
304− "version": "1.1.3",
27+ "version": "1.6.51",
305− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
28+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
306− "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
29+ "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
307− "dev": true
308− },
309− "node_modules/combined-stream": {
310− "version": "1.0.8",
311− "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
312− "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
313− "dev": true,
314− "dependencies": {
315− "delayed-stream": "~1.0.0"
316− },
317 "engines": {
30 "engines": {
318− "node": ">= 0.8"
31+ "node": ">=0.6"
319 }
32 }
320 },
33 },
321− "node_modules/comment-json": {
34+ "node_modules/fs-extra": {
322− "version": "2.4.2",
35+ "version": "9.1.0",
323− "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-2.4.2.tgz",
36+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
324− "integrity": "sha512-T+iXox779qsqneMYx/x5BZyz4xjCeQRmuNVzz8tko7qZUs3MlzpA3RAs+O1XsgcKToNBMIvfVzafGOeiU7RggA==",
37+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
325 "dependencies": {
38 "dependencies": {
326− "core-util-is": "^1.0.2",
39+ "at-least-node": "^1.0.0",
327− "esprima": "^4.0.1",
40+ "graceful-fs": "^4.2.0",
328− "has-own-prop": "^2.0.0",
41+ "jsonfile": "^6.0.1",
329− "repeat-string": "^1.6.1"
42+ "universalify": "^2.0.0"
330 },
43 },
331 "engines": {
44 "engines": {
332− "node": ">= 6"
45+ "node": ">=10"
333 }
46 }
334 },
47 },
335− "node_modules/concat-map": {
48+ "node_modules/graceful-fs": {
336− "version": "0.0.1",
49+ "version": "4.2.10",
337− "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
50+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
338− "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
51+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
339− "dev": true
340− },
341− "node_modules/concat-stream": {
342− "version": "1.6.2",
343− "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
344− "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
345− "dev": true,
346− "engines": [
347− "node >= 0.8"
348− ],
349− "dependencies": {
350− "buffer-from": "^1.0.0",
351− "inherits": "^2.0.3",
352− "readable-stream": "^2.2.2",
353− "typedarray": "^0.0.6"
354− }
355 },
52 },
356− "node_modules/content-disposition": {
53+ "node_modules/jsonfile": {
357− "version": "0.5.3",
54+ "version": "6.1.0",
358− "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
55+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
359− "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
56+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
360 "dependencies": {
57 "dependencies": {
361− "safe-buffer": "5.1.2"
58+ "universalify": "^2.0.0"
362 },
59 },
363− "engines": {
60+ "optionalDependencies": {
364− "node": ">= 0.6"
61+ "graceful-fs": "^4.1.6"
365− }
366− },
367− "node_modules/content-type": {
368− "version": "1.0.4",
369− "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
370− "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
371− "engines": {
372− "node": ">= 0.6"
373− }
374− },
375− "node_modules/cookie": {
376− "version": "0.4.0",
377− "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
378− "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
379− "engines": {
380− "node": ">= 0.6"
381− }
382− },
383− "node_modules/cookie-signature": {
384− "version": "1.0.6",
385− "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
386− "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
387− },
388− "node_modules/copy-concurrently": {
389− "version": "1.0.5",
390− "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
391− "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
392− "dev": true,
393− "dependencies": {
394− "aproba": "^1.1.1",
395− "fs-write-stream-atomic": "^1.0.8",
396− "iferr": "^0.1.5",
397− "mkdirp": "^0.5.1",
398− "rimraf": "^2.5.4",
399− "run-queue": "^1.0.0"
400 }
62 }
401 },
63 },
402− "node_modules/core-util-is": {
64+ "node_modules/minimist": {
403− "version": "1.0.2",
65+ "version": "1.2.6",
404− "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
66+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
405− "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
67+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
406 },
68 },
407− "node_modules/cross-spawn": {
69+ "node_modules/universalify": {
408− "version": "7.0.3",
70+ "version": "2.0.0",
409− "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
71+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
410− "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
72+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
411− "dev": true,
412− "dependencies": {
413− "path-key": "^3.1.0",
414− "shebang-command": "^2.0.0",
415− "which": "^2.0.1"
416− },
417 "engines": {
73 "engines": {
418− "node": ">= 8"
74+ "node": ">= 10.0.0"
419 }
75 }
420 },
76 },
421− "node_modules/cross-spawn/node_modules/which": {
77+ "node_modules/uuid": {
422− "version": "2.0.2",
78+ "version": "8.3.2",
423− "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
79+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
424− "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
80+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
425− "dev": true,
426− "dependencies": {
427− "isexe": "^2.0.0"
428− },
429 "bin": {
81 "bin": {
430− "node-which": "bin/node-which"
82+ "uuid": "dist/bin/uuid"
431− },
432− "engines": {
433− "node": ">= 8"
434− }
435− },
436− "node_modules/cyclist": {
437− "version": "1.0.1",
438− "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
439− "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
440− "dev": true
441− },
442− "node_modules/dashdash": {
443− "version": "1.14.1",
444− "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
445− "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
446− "dev": true,
447− "dependencies": {
448− "assert-plus": "^1.0.0"
449− },
450− "engines": {
451− "node": ">=0.10"
452− }
453− },
454− "node_modules/debug": {
455− "version": "2.6.9",
456− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
457− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
458− "dependencies": {
459− "ms": "2.0.0"
460 }
83 }
461− },
84+ }
462− "node_modules/delayed-stream": {
85+ },
86+ "dependencies": {
87+ "at-least-node": {
463 "version": "1.0.0",
88 "version": "1.0.0",
464− "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
89+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
465− "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
90+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
466− "dev": true,
467− "engines": {
468− "node": ">=0.4.0"
469− }
470− },
471− "node_modules/depd": {
472− "version": "1.1.2",
473− "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
474− "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
475− "engines": {
476− "node": ">= 0.6"
477− }
478− },
479− "node_modules/destroy": {
480− "version": "1.0.4",
481− "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
482− "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
483− },
484− "node_modules/duplexify": {
485− "version": "3.7.1",
486− "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
487− "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
488− "dev": true,
489− "dependencies": {
490− "end-of-stream": "^1.0.0",
491− "inherits": "^2.0.1",
492− "readable-stream": "^2.0.0",
493− "stream-shift": "^1.0.0"
494− }
495− },
496− "node_modules/ecc-jsbn": {
497− "version": "0.1.2",
498− "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
499− "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
500− "dev": true,
501− "dependencies": {
502− "jsbn": "~0.1.0",
503− "safer-buffer": "^2.1.0"
504− }
505− },
506− "node_modules/ee-first": {
507− "version": "1.1.1",
508− "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
509− "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
510− },
511− "node_modules/emoji-regex": {
512− "version": "7.0.3",
513− "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
514− "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
515− "dev": true
516− },
517− "node_modules/encodeurl": {
518− "version": "1.0.2",
519− "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
520− "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
521− "engines": {
522− "node": ">= 0.8"
523− }
524− },
525− "node_modules/end-of-stream": {
526− "version": "1.4.4",
527− "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
528− "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
529− "dev": true,
530− "dependencies": {
531− "once": "^1.4.0"
532− }
533− },
534− "node_modules/env-paths": {
535− "version": "2.2.1",
536− "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
537− "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
538− "dev": true,
539− "engines": {
540− "node": ">=6"
541− }
542− },
543− "node_modules/escape-html": {
544− "version": "1.0.3",
545− "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
546− "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
547− },
548− "node_modules/escape-string-regexp": {
549− "version": "1.0.5",
550− "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
551− "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
552− "dev": true,
553− "engines": {
554− "node": ">=0.8.0"
555− }
556− },
557− "node_modules/esprima": {
558− "version": "4.0.1",
559− "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
560− "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
561− "bin": {
562− "esparse": "bin/esparse.js",
563− "esvalidate": "bin/esvalidate.js"
564− },
565− "engines": {
566− "node": ">=4"
567− }
568− },
569− "node_modules/etag": {
570− "version": "1.8.1",
571− "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
572− "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
573− "engines": {
574− "node": ">= 0.6"
575− }
576− },
577− "node_modules/execa": {
578− "version": "2.1.0",
579− "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
580− "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
581− "dev": true,
582− "dependencies": {
583− "cross-spawn": "^7.0.0",
584− "get-stream": "^5.0.0",
585− "is-stream": "^2.0.0",
586− "merge-stream": "^2.0.0",
587− "npm-run-path": "^3.0.0",
588− "onetime": "^5.1.0",
589− "p-finally": "^2.0.0",
590− "signal-exit": "^3.0.2",
591− "strip-final-newline": "^2.0.0"
592− },
593− "engines": {
594− "node": "^8.12.0 || >=9.7.0"
595− }
596− },
597− "node_modules/express": {
598− "version": "4.17.1",
599− "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
600− "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
601− "dependencies": {
602− "accepts": "~1.3.7",
603− "array-flatten": "1.1.1",
604− "body-parser": "1.19.0",
605− "content-disposition": "0.5.3",
606− "content-type": "~1.0.4",
607− "cookie": "0.4.0",
608− "cookie-signature": "1.0.6",
609− "debug": "2.6.9",
610− "depd": "~1.1.2",
611− "encodeurl": "~1.0.2",
612− "escape-html": "~1.0.3",
613− "etag": "~1.8.1",
614− "finalhandler": "~1.1.2",
615− "fresh": "0.5.2",
616− "merge-descriptors": "1.0.1",
617− "methods": "~1.1.2",
618− "on-finished": "~2.3.0",
619− "parseurl": "~1.3.3",
620− "path-to-regexp": "0.1.7",
621− "proxy-addr": "~2.0.5",
622− "qs": "6.7.0",
623− "range-parser": "~1.2.1",
624− "safe-buffer": "5.1.2",
625− "send": "0.17.1",
626− "serve-static": "1.14.1",
627− "setprototypeof": "1.1.1",
628− "statuses": "~1.5.0",
629− "type-is": "~1.6.18",
630− "utils-merge": "1.0.1",
631− "vary": "~1.1.2"
632− },
633− "engines": {
634− "node": ">= 0.10.0"
635− }
636− },
637− "node_modules/extend": {
638− "version": "3.0.2",
639− "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
640− "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
641− "dev": true
642− },
643− "node_modules/extsprintf": {
644− "version": "1.3.0",
645− "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
646− "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
647− "dev": true,
648− "engines": [
649− "node >=0.6.0"
650− ]
651− },
652− "node_modules/fast-deep-equal": {
653− "version": "3.1.3",
654− "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
655− "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
656− "dev": true
657− },
658− "node_modules/fast-json-stable-stringify": {
659− "version": "2.1.0",
660− "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
661− "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
662− "dev": true
663− },
664− "node_modules/figgy-pudding": {
665− "version": "3.5.2",
666− "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
667− "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
668− "dev": true
669− },
670− "node_modules/filesize": {
671− "version": "4.2.1",
672− "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz",
673− "integrity": "sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==",
674− "dev": true,
675− "engines": {
676− "node": ">= 0.4.0"
677− }
678− },
679− "node_modules/finalhandler": {
680− "version": "1.1.2",
681− "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
682− "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
683− "dependencies": {
684− "debug": "2.6.9",
685− "encodeurl": "~1.0.2",
686− "escape-html": "~1.0.3",
687− "on-finished": "~2.3.0",
688− "parseurl": "~1.3.3",
689− "statuses": "~1.5.0",
690− "unpipe": "~1.0.0"
691− },
692− "engines": {
693− "node": ">= 0.8"
694− }
695− },
696− "node_modules/flush-write-stream": {
697− "version": "1.1.1",
698− "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
699− "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
700− "dev": true,
701− "dependencies": {
702− "inherits": "^2.0.3",
703− "readable-stream": "^2.3.6"
704− }
705− },
706− "node_modules/forever-agent": {
707− "version": "0.6.1",
708− "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
709− "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
710− "dev": true,
711− "engines": {
712− "node": "*"
713− }
714− },
715− "node_modules/form-data": {
716− "version": "2.3.3",
717− "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
718− "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
719− "dev": true,
720− "dependencies": {
721− "asynckit": "^0.4.0",
722− "combined-stream": "^1.0.6",
723− "mime-types": "^2.1.12"
724− },
725− "engines": {
726− "node": ">= 0.12"
727− }
728− },
729− "node_modules/forwarded": {
730− "version": "0.1.2",
731− "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
732− "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
733− "engines": {
734− "node": ">= 0.6"
735− }
736− },
737− "node_modules/fresh": {
738− "version": "0.5.2",
739− "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
740− "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
741− "engines": {
742− "node": ">= 0.6"
743− }
744 },
91 },
745− "node_modules/from2": {
92+ "big-integer": {
746− "version": "2.3.0",
93+ "version": "1.6.51",
747− "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
94+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
748− "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
95+ "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg=="
749− "dev": true,
750− "dependencies": {
751− "inherits": "^2.0.1",
752− "readable-stream": "^2.0.0"
753− }
754 },
96 },
755− "node_modules/fs-extra": {
97+ "fs-extra": {
756 "version": "9.1.0",
98 "version": "9.1.0",
757 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
99 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
758 "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
100 "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
759− "dependencies": {
101+ "requires": {
760 "at-least-node": "^1.0.0",
102 "at-least-node": "^1.0.0",
761 "graceful-fs": "^4.2.0",
103 "graceful-fs": "^4.2.0",
762 "jsonfile": "^6.0.1",
104 "jsonfile": "^6.0.1",
763 "universalify": "^2.0.0"
105 "universalify": "^2.0.0"
764− },
765− "engines": {
766− "node": ">=10"
767 }
106 }
768 },
107 },
769− "node_modules/fs-minipass": {
770− "version": "1.2.7",
771− "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
772− "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
773− "dev": true,
774− "dependencies": {
775− "minipass": "^2.6.0"
776− }
777− },
778− "node_modules/fs-write-stream-atomic": {
779− "version": "1.0.10",
780− "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
781− "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
782− "dev": true,
783− "dependencies": {
784− "graceful-fs": "^4.1.2",
108+ "graceful-fs": {
785− "iferr": "^0.1.5",
786− "imurmurhash": "^0.1.4",
787− "readable-stream": "1 || 2"
788− }
789− },
790− "node_modules/fs.realpath": {
791− "version": "1.0.0",
792− "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
793− "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
794− "dev": true
795− },
796− "node_modules/get-stream": {
797− "version": "5.2.0",
109+ "version": "4.2.10",
798− "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
110+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
799− "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
111+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
800− "dev": true,
801− "dependencies": {
802− "pump": "^3.0.0"
803− },
804− "engines": {
805− "node": ">=8"
806− },
807− "funding": {
808− "url": "https://github.com/sponsors/sindresorhus"
809− }
810− },
811− "node_modules/getpass": {
812− "version": "0.1.7",
813− "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
814− "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
815− "dev": true,
816− "dependencies": {
817− "assert-plus": "^1.0.0"
818− }
819 },
112 },
820− "node_modules/glob": {
113+ "jsonfile": {
821− "version": "7.1.6",
114+ "version": "6.1.0",
822− "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
115+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
823− "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
116+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
824− "dev": true,
117+ "requires": {
825− "dependencies": {
118+ "graceful-fs": "^4.1.6",
826− "fs.realpath": "^1.0.0",
119+ "universalify": "^2.0.0"
827− "inflight": "^1.0.4",
828− "inherits": "2",
829− "minimatch": "^3.0.4",
830− "once": "^1.3.0",
831− "path-is-absolute": "^1.0.0"
832− },
833− "engines": {
834− "node": "*"
835− },
836− "funding": {
837− "url": "https://github.com/sponsors/isaacs"
838 }
120 }
839 },
121 },
840− "node_modules/graceful-fs": {
122+ "minimist": {
841− "version": "4.2.6",
123+ "version": "1.2.6",
842− "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
124+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
843− "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
125+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
844 },
126 },
845− "node_modules/har-schema": {
127+ "universalify": {
846− "version": "2.0.0",
847− "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
848− "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
849− "dev": true,
850− "engines": {
851− "node": ">=4"
852− }
853− },
854− "node_modules/har-validator": {
855− "version": "5.1.5",
856− "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
857− "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
858− "deprecated": "this library is no longer supported",
859− "dev": true,
860− "dependencies": {
861− "ajv": "^6.12.3",
862− "har-schema": "^2.0.0"
863− },
864− "engines": {
865− "node": ">=6"
866− }
867− },
868− "node_modules/has-flag": {
869− "version": "3.0.0",
870− "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
871− "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
872− "dev": true,
873− "engines": {
874− "node": ">=4"
875− }
876− },
877− "node_modules/has-own-prop": {
878− "version": "2.0.0",
879− "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz",
880− "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==",
881− "engines": {
882− "node": ">=8"
883− }
884− },
885− "node_modules/http-errors": {
886− "version": "1.7.2",
887− "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
888− "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
889− "dependencies": {
890− "depd": "~1.1.2",
891− "inherits": "2.0.3",
892− "setprototypeof": "1.1.1",
893− "statuses": ">= 1.5.0 < 2",
894− "toidentifier": "1.0.0"
895− },
896− "engines": {
897− "node": ">= 0.6"
898− }
899− },
900− "node_modules/http-signature": {
901− "version": "1.2.0",
902− "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
903− "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
904− "dev": true,
905− "dependencies": {
906− "assert-plus": "^1.0.0",
907− "jsprim": "^1.2.2",
908− "sshpk": "^1.7.0"
909− },
910− "engines": {
911− "node": ">=0.8",
912− "npm": ">=1.3.7"
913− }
914− },
915− "node_modules/iconv-lite": {
916− "version": "0.4.24",
917− "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
918− "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
919− "dependencies": {
920− "safer-buffer": ">= 2.1.2 < 3"
921− },
922− "engines": {
923− "node": ">=0.10.0"
924− }
925− },
926− "node_modules/iferr": {
927− "version": "0.1.5",
928− "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
929− "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
930− "dev": true
931− },
932− "node_modules/imurmurhash": {
933− "version": "0.1.4",
934− "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
935− "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
936− "dev": true,
937− "engines": {
938− "node": ">=0.8.19"
939− }
940− },
941− "node_modules/inflight": {
942− "version": "1.0.6",
943− "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
944− "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
945− "dev": true,
946− "dependencies": {
947− "once": "^1.3.0",
948− "wrappy": "1"
949− }
950− },
951− "node_modules/inherits": {
952− "version": "2.0.3",
953− "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
954− "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
955− },
956− "node_modules/ipaddr.js": {
957− "version": "1.9.1",
958− "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
959− "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
960− "engines": {
961− "node": ">= 0.10"
962− }
963− },
964− "node_modules/is-fullwidth-code-point": {
965− "version": "2.0.0",
966− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
967− "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
968− "dev": true,
969− "engines": {
970− "node": ">=4"
971− }
972− },
973− "node_modules/is-plain-obj": {
974− "version": "2.1.0",
975− "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
976− "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
977− "dev": true,
978− "engines": {
979− "node": ">=8"
980− }
981− },
982− "node_modules/is-stream": {
983− "version": "2.0.0",
984− "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
985− "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
986− "dev": true,
987− "engines": {
988− "node": ">=8"
989− }
990− },
991− "node_modules/is-typedarray": {
992− "version": "1.0.0",
993− "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
994− "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
995− "dev": true
996− },
997− "node_modules/isarray": {
998− "version": "1.0.0",
999− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1000− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1001− "dev": true
1002− },
1003− "node_modules/isexe": {
1004− "version": "2.0.0",
1005− "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1006− "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1007− "dev": true
1008− },
1009− "node_modules/isstream": {
1010− "version": "0.1.2",
1011− "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1012− "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
1013− "dev": true
1014− },
1015− "node_modules/jsbn": {
1016− "version": "0.1.1",
1017− "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1018− "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
1019− "dev": true
1020− },
1021− "node_modules/json-parser": {
1022− "version": "3.1.2",
1023− "resolved": "https://registry.npmjs.org/json-parser/-/json-parser-3.1.2.tgz",
1024− "integrity": "sha512-FCy1zIx3KUtOcNlFw9/ZGfDFBAGAwE6qYeaYwXCYUXhMO4TzizoQaQN1/LpZn088O7cz8eLVCjd/9aeW9HN32w==",
1025− "deprecated": "`json-parser` is deprecated. Please use `comment-json` instead",
1026− "dependencies": {
1027− "comment-json": "^2.1.0"
1028− },
1029− "engines": {
1030− "node": ">= 6"
1031− }
1032− },
1033− "node_modules/json-schema": {
1034− "version": "0.2.3",
1035− "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
1036− "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
1037− "dev": true
1038− },
1039− "node_modules/json-schema-traverse": {
1040− "version": "0.4.1",
1041− "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1042− "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1043− "dev": true
1044− },
1045− "node_modules/json-stringify-safe": {
1046− "version": "5.0.1",
1047− "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1048− "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
1049− "dev": true
1050− },
1051− "node_modules/jsonfile": {
1052− "version": "6.1.0",
1053− "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
1054− "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
1055− "dependencies": {
1056− "universalify": "^2.0.0"
1057− },
1058− "optionalDependencies": {
1059− "graceful-fs": "^4.1.6"
1060− }
1061− },
1062− "node_modules/jsprim": {
1063− "version": "1.4.1",
1064− "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
1065− "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
1066− "dev": true,
1067− "engines": [
1068− "node >=0.6.0"
1069− ],
1070− "dependencies": {
1071− "assert-plus": "1.0.0",
1072− "extsprintf": "1.3.0",
1073− "json-schema": "0.2.3",
1074− "verror": "1.10.0"
1075− }
1076− },
1077− "node_modules/log-symbols": {
1078− "version": "3.0.0",
1079− "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
1080− "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
1081− "dev": true,
1082− "dependencies": {
1083− "chalk": "^2.4.2"
1084− },
1085− "engines": {
1086− "node": ">=8"
1087− }
1088− },
1089− "node_modules/log-update": {
1090− "version": "3.4.0",
1091− "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz",
1092− "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==",
1093− "dev": true,
1094− "dependencies": {
1095− "ansi-escapes": "^3.2.0",
1096− "cli-cursor": "^2.1.0",
1097− "wrap-ansi": "^5.0.0"
1098− },
1099− "engines": {
1100− "node": ">=6"
1101− },
1102− "funding": {
1103− "url": "https://github.com/sponsors/sindresorhus"
1104− }
1105− },
1106− "node_modules/lru-cache": {
1107− "version": "5.1.1",
1108− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1109− "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1110− "dev": true,
1111− "dependencies": {
1112− "yallist": "^3.0.2"
1113− }
1114− },
1115− "node_modules/media-typer": {
1116− "version": "0.3.0",
1117− "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1118− "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
1119− "engines": {
1120− "node": ">= 0.6"
1121− }
1122− },
1123− "node_modules/merge-descriptors": {
1124− "version": "1.0.1",
1125− "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1126− "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
1127− },
1128− "node_modules/merge-stream": {
1129− "version": "2.0.0",
1130− "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1131− "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
1132− "dev": true
1133− },
1134− "node_modules/methods": {
1135− "version": "1.1.2",
1136− "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1137− "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
1138− "engines": {
1139− "node": ">= 0.6"
1140− }
1141− },
1142− "node_modules/mime": {
1143− "version": "1.6.0",
1144− "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1145− "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
1146− "bin": {
1147− "mime": "cli.js"
1148− },
1149− "engines": {
1150− "node": ">=4"
1151− }
1152− },
1153− "node_modules/mime-db": {
1154− "version": "1.46.0",
1155− "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz",
1156− "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==",
1157− "engines": {
1158− "node": ">= 0.6"
1159− }
1160− },
1161− "node_modules/mime-types": {
1162− "version": "2.1.29",
1163− "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz",
1164− "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==",
1165− "dependencies": {
1166− "mime-db": "1.46.0"
1167− },
1168− "engines": {
1169− "node": ">= 0.6"
1170− }
1171− },
1172− "node_modules/mimic-fn": {
1173− "version": "2.1.0",
1174− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
1175− "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
1176− "dev": true,
1177− "engines": {
1178− "node": ">=6"
1179− }
1180− },
1181− "node_modules/minimatch": {
1182− "version": "3.0.4",
1183− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1184− "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1185− "dev": true,
1186− "dependencies": {
1187− "brace-expansion": "^1.1.7"
1188− },
1189− "engines": {
1190− "node": "*"
1191− }
1192− },
1193− "node_modules/minimist": {
1194− "version": "1.2.5",
1195− "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1196− "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
1197− },
1198− "node_modules/minipass": {
1199− "version": "2.9.0",
1200− "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
1201− "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
1202− "dev": true,
1203− "dependencies": {
1204− "safe-buffer": "^5.1.2",
1205− "yallist": "^3.0.0"
1206− }
1207− },
1208− "node_modules/minizlib": {
1209− "version": "1.3.3",
1210− "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
1211− "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
1212− "dev": true,
1213− "dependencies": {
1214− "minipass": "^2.9.0"
1215− }
1216− },
1217− "node_modules/mississippi": {
1218− "version": "3.0.0",
1219− "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
1220− "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
1221− "dev": true,
1222− "dependencies": {
1223− "concat-stream": "^1.5.0",
1224− "duplexify": "^3.4.2",
1225− "end-of-stream": "^1.1.0",
1226− "flush-write-stream": "^1.0.0",
1227− "from2": "^2.1.0",
1228− "parallel-transform": "^1.1.0",
1229− "pump": "^3.0.0",
1230− "pumpify": "^1.3.3",
1231− "stream-each": "^1.1.0",
1232− "through2": "^2.0.0"
1233− },
1234− "engines": {
1235− "node": ">=4.0.0"
1236− }
1237− },
1238− "node_modules/mkdirp": {
1239− "version": "0.5.5",
1240− "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1241− "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1242− "dev": true,
1243− "dependencies": {
1244− "minimist": "^1.2.5"
1245− },
1246− "bin": {
1247− "mkdirp": "bin/cmd.js"
1248− }
1249− },
1250− "node_modules/move-concurrently": {
1251− "version": "1.0.1",
1252− "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
1253− "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
1254− "dev": true,
1255− "dependencies": {
1256− "aproba": "^1.1.1",
1257− "copy-concurrently": "^1.0.0",
1258− "fs-write-stream-atomic": "^1.0.8",
1259− "mkdirp": "^0.5.1",
1260− "rimraf": "^2.5.4",
1261− "run-queue": "^1.0.3"
1262− }
1263− },
1264− "node_modules/ms": {
1265− "version": "2.0.0",
1266− "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1267− "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1268− },
1269− "node_modules/negotiator": {
1270− "version": "0.6.2",
1271− "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
1272− "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
1273− "engines": {
1274− "node": ">= 0.6"
1275− }
1276− },
1277− "node_modules/npm-run-path": {
1278− "version": "3.1.0",
1279− "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
1280− "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
1281− "dev": true,
1282− "dependencies": {
1283− "path-key": "^3.0.0"
1284− },
1285− "engines": {
1286− "node": ">=8"
1287− }
1288− },
1289− "node_modules/oauth-sign": {
1290− "version": "0.9.0",
1291− "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
1292− "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
1293− "dev": true,
1294− "engines": {
1295− "node": "*"
1296− }
1297− },
1298− "node_modules/on-finished": {
1299− "version": "2.3.0",
1300− "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1301− "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
1302− "dependencies": {
1303− "ee-first": "1.1.1"
1304− },
1305− "engines": {
1306− "node": ">= 0.8"
1307− }
1308− },
1309− "node_modules/once": {
1310− "version": "1.4.0",
1311− "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1312− "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1313− "dev": true,
1314− "dependencies": {
1315− "wrappy": "1"
1316− }
1317− },
1318− "node_modules/onetime": {
1319− "version": "5.1.2",
1320− "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
1321− "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
1322− "dev": true,
1323− "dependencies": {
1324− "mimic-fn": "^2.1.0"
1325− },
1326− "engines": {
1327− "node": ">=6"
1328− },
1329− "funding": {
1330− "url": "https://github.com/sponsors/sindresorhus"
1331− }
1332− },
1333− "node_modules/p-finally": {
1334− "version": "2.0.1",
1335− "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
1336− "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
1337− "dev": true,
1338− "engines": {
1339− "node": ">=8"
1340− }
1341− },
1342− "node_modules/parallel-transform": {
1343− "version": "1.2.0",
1344− "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
1345− "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
1346− "dev": true,
1347− "dependencies": {
1348− "cyclist": "^1.0.1",
1349− "inherits": "^2.0.3",
1350− "readable-stream": "^2.1.5"
1351− }
1352− },
1353− "node_modules/parseurl": {
1354− "version": "1.3.3",
1355− "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1356− "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
1357− "engines": {
1358− "node": ">= 0.8"
1359− }
1360− },
1361− "node_modules/path-is-absolute": {
1362− "version": "1.0.1",
1363− "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1364− "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1365− "dev": true,
1366− "engines": {
1367− "node": ">=0.10.0"
1368− }
1369− },
1370− "node_modules/path-key": {
1371− "version": "3.1.1",
1372− "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1373− "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1374− "dev": true,
1375− "engines": {
1376− "node": ">=8"
1377− }
1378− },
1379− "node_modules/path-to-regexp": {
1380− "version": "0.1.7",
1381− "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1382− "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
1383− },
1384− "node_modules/performance-now": {
1385− "version": "2.1.0",
1386− "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1387− "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
1388− "dev": true
1389− },
1390− "node_modules/process-nextick-args": {
1391− "version": "2.0.1",
1392− "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1393− "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
1394− "dev": true
1395− },
1396− "node_modules/promise-inflight": {
1397− "version": "1.0.1",
1398− "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
1399− "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
1400− "dev": true
1401− },
1402− "node_modules/proxy-addr": {
1403− "version": "2.0.6",
1404− "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
1405− "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
1406− "dependencies": {
1407− "forwarded": "~0.1.2",
1408− "ipaddr.js": "1.9.1"
1409− },
1410− "engines": {
1411− "node": ">= 0.10"
1412− }
1413− },
1414− "node_modules/psl": {
1415− "version": "1.8.0",
1416− "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
1417− "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
1418− "dev": true
1419− },
1420− "node_modules/pump": {
1421− "version": "3.0.0",
1422− "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
1423− "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
1424− "dev": true,
1425− "dependencies": {
1426− "end-of-stream": "^1.1.0",
1427− "once": "^1.3.1"
1428− }
1429− },
1430− "node_modules/pumpify": {
1431− "version": "1.5.1",
1432− "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
1433− "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
1434− "dev": true,
1435− "dependencies": {
1436− "duplexify": "^3.6.0",
1437− "inherits": "^2.0.3",
1438− "pump": "^2.0.0"
1439− }
1440− },
1441− "node_modules/pumpify/node_modules/pump": {
1442− "version": "2.0.1",
1443− "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
1444− "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
1445− "dev": true,
1446− "dependencies": {
1447− "end-of-stream": "^1.1.0",
1448− "once": "^1.3.1"
1449− }
1450− },
1451− "node_modules/punycode": {
1452− "version": "2.1.1",
1453− "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1454− "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1455− "dev": true,
1456− "engines": {
1457− "node": ">=6"
1458− }
1459− },
1460− "node_modules/purescript": {
1461− "version": "0.14.0",
1462− "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.14.0.tgz",
1463− "integrity": "sha512-iTA1k8mwxHqrJp/K296g6omVfve5RCjnB5D6Up93PVtZdP66mCIqlOYC4hrLBHg2hgkk27xePDt5NUXKvH4ApQ==",
1464− "dev": true,
1465− "hasInstallScript": true,
1466− "dependencies": {
1467− "purescript-installer": "^0.2.0"
1468− },
1469− "bin": {
1470− "purs": "purs.bin"
1471− }
1472− },
1473− "node_modules/purescript-installer": {
1474− "version": "0.2.5",
1475− "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.2.5.tgz",
1476− "integrity": "sha512-fQAWWP5a7scuchXecjpU4r4KEgSPuS6bBnaP01k9f71qqD28HaJ2m4PXHFkhkR4oATAxTPIGCtmTwtVoiBOHog==",
1477− "dev": true,
1478− "dependencies": {
1479− "arch": "^2.1.1",
1480− "byline": "^5.0.0",
1481− "cacache": "^11.3.2",
1482− "chalk": "^2.4.2",
1483− "env-paths": "^2.2.0",
1484− "execa": "^2.0.3",
1485− "filesize": "^4.1.2",
1486− "is-plain-obj": "^2.0.0",
1487− "log-symbols": "^3.0.0",
1488− "log-update": "^3.2.0",
1489− "minimist": "^1.2.0",
1490− "mkdirp": "^0.5.1",
1491− "ms": "^2.1.2",
1492− "once": "^1.4.0",
1493− "pump": "^3.0.0",
1494− "request": "^2.88.0",
1495− "rimraf": "^2.6.3",
1496− "tar": "^4.4.6",
1497− "which": "^1.3.1",
1498− "zen-observable": "^0.8.14"
1499− },
1500− "bin": {
1501− "install-purescript": "index.js"
1502− },
1503− "engines": {
1504− "node": ">=8.3.0"
1505− }
1506− },
1507− "node_modules/purescript-installer/node_modules/ms": {
1508− "version": "2.1.3",
1509− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1510− "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1511− "dev": true
1512− },
1513− "node_modules/qs": {
1514− "version": "6.7.0",
1515− "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
1516− "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
1517− "engines": {
1518− "node": ">=0.6"
1519− }
1520− },
1521− "node_modules/range-parser": {
1522− "version": "1.2.1",
1523− "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1524− "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
1525− "engines": {
1526− "node": ">= 0.6"
1527− }
1528− },
1529− "node_modules/raw-body": {
1530− "version": "2.4.0",
1531− "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
1532− "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
1533− "dependencies": {
1534− "bytes": "3.1.0",
1535− "http-errors": "1.7.2",
1536− "iconv-lite": "0.4.24",
1537− "unpipe": "1.0.0"
1538− },
1539− "engines": {
1540− "node": ">= 0.8"
1541− }
1542− },
1543− "node_modules/readable-stream": {
1544− "version": "2.3.7",
1545− "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1546− "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1547− "dev": true,
1548− "dependencies": {
1549− "core-util-is": "~1.0.0",
1550− "inherits": "~2.0.3",
1551− "isarray": "~1.0.0",
1552− "process-nextick-args": "~2.0.0",
1553− "safe-buffer": "~5.1.1",
1554− "string_decoder": "~1.1.1",
1555− "util-deprecate": "~1.0.1"
1556− }
1557− },
1558− "node_modules/repeat-string": {
1559− "version": "1.6.1",
1560− "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1561− "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
1562− "engines": {
1563− "node": ">=0.10"
1564− }
1565− },
1566− "node_modules/request": {
1567− "version": "2.88.2",
1568− "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
1569− "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
1570− "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
1571− "dev": true,
1572− "dependencies": {
1573− "aws-sign2": "~0.7.0",
1574− "aws4": "^1.8.0",
1575− "caseless": "~0.12.0",
1576− "combined-stream": "~1.0.6",
1577− "extend": "~3.0.2",
1578− "forever-agent": "~0.6.1",
1579− "form-data": "~2.3.2",
1580− "har-validator": "~5.1.3",
1581− "http-signature": "~1.2.0",
1582− "is-typedarray": "~1.0.0",
1583− "isstream": "~0.1.2",
1584− "json-stringify-safe": "~5.0.1",
1585− "mime-types": "~2.1.19",
1586− "oauth-sign": "~0.9.0",
1587− "performance-now": "^2.1.0",
1588− "qs": "~6.5.2",
1589− "safe-buffer": "^5.1.2",
1590− "tough-cookie": "~2.5.0",
1591− "tunnel-agent": "^0.6.0",
1592− "uuid": "^3.3.2"
1593− },
1594− "engines": {
1595− "node": ">= 6"
1596− }
1597− },
1598− "node_modules/request/node_modules/qs": {
1599− "version": "6.5.2",
1600− "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
1601− "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
1602− "dev": true,
1603− "engines": {
1604− "node": ">=0.6"
1605− }
1606− },
1607− "node_modules/request/node_modules/uuid": {
1608− "version": "3.4.0",
1609− "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1610− "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
1611− "dev": true,
1612− "bin": {
1613− "uuid": "bin/uuid"
1614− }
1615− },
1616− "node_modules/restore-cursor": {
1617− "version": "2.0.0",
1618− "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
1619− "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
1620− "dev": true,
1621− "dependencies": {
1622− "onetime": "^2.0.0",
1623− "signal-exit": "^3.0.2"
1624− },
1625− "engines": {
1626− "node": ">=4"
1627− }
1628− },
1629− "node_modules/restore-cursor/node_modules/mimic-fn": {
1630− "version": "1.2.0",
1631− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
1632− "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
1633− "dev": true,
1634− "engines": {
1635− "node": ">=4"
1636− }
1637− },
1638− "node_modules/restore-cursor/node_modules/onetime": {
1639− "version": "2.0.1",
1640− "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
1641− "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
1642− "dev": true,
1643− "dependencies": {
1644− "mimic-fn": "^1.0.0"
1645− },
1646− "engines": {
1647− "node": ">=4"
1648− }
1649− },
1650− "node_modules/rimraf": {
1651− "version": "2.7.1",
1652− "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
1653− "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
1654− "dev": true,
1655− "dependencies": {
1656− "glob": "^7.1.3"
1657− },
1658− "bin": {
1659− "rimraf": "bin.js"
1660− }
1661− },
1662− "node_modules/run-queue": {
1663− "version": "1.0.3",
1664− "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
1665− "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
1666− "dev": true,
1667− "dependencies": {
1668− "aproba": "^1.1.1"
1669− }
1670− },
1671− "node_modules/safe-buffer": {
1672− "version": "5.1.2",
1673− "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1674− "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1675− },
1676− "node_modules/safer-buffer": {
1677− "version": "2.1.2",
1678− "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1679− "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1680− },
1681− "node_modules/send": {
1682− "version": "0.17.1",
1683− "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
1684− "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
1685− "dependencies": {
1686− "debug": "2.6.9",
1687− "depd": "~1.1.2",
1688− "destroy": "~1.0.4",
1689− "encodeurl": "~1.0.2",
1690− "escape-html": "~1.0.3",
1691− "etag": "~1.8.1",
1692− "fresh": "0.5.2",
1693− "http-errors": "~1.7.2",
1694− "mime": "1.6.0",
1695− "ms": "2.1.1",
1696− "on-finished": "~2.3.0",
1697− "range-parser": "~1.2.1",
1698− "statuses": "~1.5.0"
1699− },
1700− "engines": {
1701− "node": ">= 0.8.0"
1702− }
1703− },
1704− "node_modules/send/node_modules/ms": {
1705− "version": "2.1.1",
1706− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1707− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
1708− },
1709− "node_modules/serve-static": {
1710− "version": "1.14.1",
1711− "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
1712− "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
1713− "dependencies": {
1714− "encodeurl": "~1.0.2",
1715− "escape-html": "~1.0.3",
1716− "parseurl": "~1.3.3",
1717− "send": "0.17.1"
1718− },
1719− "engines": {
1720− "node": ">= 0.8.0"
1721− }
1722− },
1723− "node_modules/setprototypeof": {
1724− "version": "1.1.1",
1725− "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
1726− "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
1727− },
1728− "node_modules/shebang-command": {
1729− "version": "2.0.0",
1730− "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1731− "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1732− "dev": true,
1733− "dependencies": {
1734− "shebang-regex": "^3.0.0"
1735− },
1736− "engines": {
1737− "node": ">=8"
1738− }
1739− },
1740− "node_modules/shebang-regex": {
1741− "version": "3.0.0",
1742− "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1743− "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1744− "dev": true,
1745− "engines": {
1746− "node": ">=8"
1747− }
1748− },
1749− "node_modules/signal-exit": {
1750− "version": "3.0.3",
1751− "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
1752− "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
1753− "dev": true
1754− },
1755− "node_modules/spago": {
1756− "version": "0.19.1",
1757− "resolved": "https://registry.npmjs.org/spago/-/spago-0.19.1.tgz",
1758− "integrity": "sha512-OD/yopJZ9Ub+XsFtayDeLAWLT4kLdMxosJEyyp8W5OkyJVVSbCrvYacsO7iq3lSuHJmmNny/TEZdyb7uSyupng==",
1759− "dev": true,
1760− "hasInstallScript": true,
1761− "dependencies": {
1762− "request": "^2.88.0",
1763− "tar": "^4.4.8"
1764− },
1765− "bin": {
1766− "spago": "spago"
1767− }
1768− },
1769− "node_modules/sshpk": {
1770− "version": "1.16.1",
1771− "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1772− "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
1773− "dev": true,
1774− "dependencies": {
1775− "asn1": "~0.2.3",
1776− "assert-plus": "^1.0.0",
1777− "bcrypt-pbkdf": "^1.0.0",
1778− "dashdash": "^1.12.0",
1779− "ecc-jsbn": "~0.1.1",
1780− "getpass": "^0.1.1",
1781− "jsbn": "~0.1.0",
1782− "safer-buffer": "^2.0.2",
1783− "tweetnacl": "~0.14.0"
1784− },
1785− "bin": {
1786− "sshpk-conv": "bin/sshpk-conv",
1787− "sshpk-sign": "bin/sshpk-sign",
1788− "sshpk-verify": "bin/sshpk-verify"
1789− },
1790− "engines": {
1791− "node": ">=0.10.0"
1792− }
1793− },
1794− "node_modules/ssri": {
1795− "version": "6.0.1",
1796− "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
1797− "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
1798− "dev": true,
1799− "dependencies": {
1800− "figgy-pudding": "^3.5.1"
1801− }
1802− },
1803− "node_modules/statuses": {
1804− "version": "1.5.0",
1805− "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
1806− "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
1807− "engines": {
1808− "node": ">= 0.6"
1809− }
1810− },
1811− "node_modules/stream-each": {
1812− "version": "1.2.3",
1813− "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
1814− "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
1815− "dev": true,
1816− "dependencies": {
1817− "end-of-stream": "^1.1.0",
1818− "stream-shift": "^1.0.0"
1819− }
1820− },
1821− "node_modules/stream-shift": {
1822− "version": "1.0.1",
1823− "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
1824− "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
1825− "dev": true
1826− },
1827− "node_modules/string_decoder": {
1828− "version": "1.1.1",
1829− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1830− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1831− "dev": true,
1832− "dependencies": {
1833− "safe-buffer": "~5.1.0"
1834− }
1835− },
1836− "node_modules/string-width": {
1837− "version": "3.1.0",
1838− "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1839− "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1840− "dev": true,
1841− "dependencies": {
1842− "emoji-regex": "^7.0.1",
1843− "is-fullwidth-code-point": "^2.0.0",
1844− "strip-ansi": "^5.1.0"
1845− },
1846− "engines": {
1847− "node": ">=6"
1848− }
1849− },
1850− "node_modules/strip-ansi": {
1851− "version": "5.2.0",
1852− "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1853− "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1854− "dev": true,
1855− "dependencies": {
1856− "ansi-regex": "^4.1.0"
1857− },
1858− "engines": {
1859− "node": ">=6"
1860− }
1861− },
1862− "node_modules/strip-final-newline": {
1863− "version": "2.0.0",
1864− "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
1865− "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
1866− "dev": true,
1867− "engines": {
1868− "node": ">=6"
1869− }
1870− },
1871− "node_modules/supports-color": {
1872− "version": "5.5.0",
1873− "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1874− "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1875− "dev": true,
1876− "dependencies": {
1877− "has-flag": "^3.0.0"
1878− },
1879− "engines": {
1880− "node": ">=4"
1881− }
1882− },
1883− "node_modules/tar": {
1884− "version": "4.4.13",
1885− "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
1886− "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
1887− "dev": true,
1888− "dependencies": {
1889− "chownr": "^1.1.1",
1890− "fs-minipass": "^1.2.5",
1891− "minipass": "^2.8.6",
1892− "minizlib": "^1.2.1",
1893− "mkdirp": "^0.5.0",
1894− "safe-buffer": "^5.1.2",
1895− "yallist": "^3.0.3"
1896− },
1897− "engines": {
1898− "node": ">=4.5"
1899− }
1900− },
1901− "node_modules/through2": {
1902− "version": "2.0.5",
1903− "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
1904− "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
1905− "dev": true,
1906− "dependencies": {
1907− "readable-stream": "~2.3.6",
1908− "xtend": "~4.0.1"
1909− }
1910− },
1911− "node_modules/toidentifier": {
1912− "version": "1.0.0",
1913− "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
1914− "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
1915− "engines": {
1916− "node": ">=0.6"
1917− }
1918− },
1919− "node_modules/tough-cookie": {
1920− "version": "2.5.0",
1921− "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1922− "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
1923− "dev": true,
1924− "dependencies": {
1925− "psl": "^1.1.28",
1926− "punycode": "^2.1.1"
1927− },
1928− "engines": {
1929− "node": ">=0.8"
1930− }
1931− },
1932− "node_modules/tunnel-agent": {
1933− "version": "0.6.0",
1934− "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1935− "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1936− "dev": true,
1937− "dependencies": {
1938− "safe-buffer": "^5.0.1"
1939− },
1940− "engines": {
1941− "node": "*"
1942− }
1943− },
1944− "node_modules/tweetnacl": {
1945− "version": "0.14.5",
1946− "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1947− "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
1948− "dev": true
1949− },
1950− "node_modules/type-is": {
1951− "version": "1.6.18",
1952− "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1953− "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1954− "dependencies": {
1955− "media-typer": "0.3.0",
1956− "mime-types": "~2.1.24"
1957− },
1958− "engines": {
1959− "node": ">= 0.6"
1960− }
1961− },
1962− "node_modules/typedarray": {
1963− "version": "0.0.6",
1964− "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
1965− "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
1966− "dev": true
1967− },
1968− "node_modules/unique-filename": {
1969− "version": "1.1.1",
1970− "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
1971− "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
1972− "dev": true,
1973− "dependencies": {
1974− "unique-slug": "^2.0.0"
1975− }
1976− },
1977− "node_modules/unique-slug": {
1978− "version": "2.0.2",
1979− "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
1980− "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
1981− "dev": true,
1982− "dependencies": {
1983− "imurmurhash": "^0.1.4"
1984− }
1985− },
1986− "node_modules/universalify": {
1987− "version": "2.0.0",
1988− "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
1989− "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
1990− "engines": {
1991− "node": ">= 10.0.0"
1992− }
1993− },
1994− "node_modules/unpipe": {
1995− "version": "1.0.0",
1996− "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1997− "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
1998− "engines": {
1999− "node": ">= 0.8"
2000− }
2001− },
2002− "node_modules/uri-js": {
2003− "version": "4.4.1",
2004− "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
2005− "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
2006− "dev": true,
2007− "dependencies": {
2008− "punycode": "^2.1.0"
2009− }
2010− },
2011− "node_modules/util-deprecate": {
2012− "version": "1.0.2",
2013− "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2014− "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
2015− "dev": true
2016− },
2017− "node_modules/utils-merge": {
2018− "version": "1.0.1",
2019− "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
2020− "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
2021− "engines": {
2022− "node": ">= 0.4.0"
2023− }
2024− },
2025− "node_modules/uuid": {
2026− "version": "7.0.3",
2027− "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
2028− "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==",
2029− "bin": {
2030− "uuid": "dist/bin/uuid"
2031− }
2032− },
2033− "node_modules/vary": {
2034− "version": "1.1.2",
2035− "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
2036− "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
2037− "engines": {
2038− "node": ">= 0.8"
2039− }
2040− },
2041− "node_modules/verror": {
2042− "version": "1.10.0",
2043− "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
2044− "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
2045− "dev": true,
2046− "engines": [
2047− "node >=0.6.0"
2048− ],
2049− "dependencies": {
2050− "assert-plus": "^1.0.0",
2051− "core-util-is": "1.0.2",
2052− "extsprintf": "^1.2.0"
2053− }
2054− },
2055− "node_modules/which": {
2056− "version": "1.3.1",
2057− "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2058− "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2059− "dev": true,
2060− "dependencies": {
2061− "isexe": "^2.0.0"
2062− },
2063− "bin": {
2064− "which": "bin/which"
2065− }
2066− },
2067− "node_modules/wrap-ansi": {
2068− "version": "5.1.0",
2069− "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
2070− "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
2071− "dev": true,
2072− "dependencies": {
2073− "ansi-styles": "^3.2.0",
2074− "string-width": "^3.0.0",
2075− "strip-ansi": "^5.0.0"
2076− },
2077− "engines": {
2078− "node": ">=6"
2079− }
2080− },
2081− "node_modules/wrappy": {
2082− "version": "1.0.2",
2083− "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2084− "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2085− "dev": true
2086− },
2087− "node_modules/xtend": {
2088− "version": "4.0.2",
2089− "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
2090− "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
2091− "dev": true,
2092− "engines": {
2093− "node": ">=0.4"
2094− }
2095− },
2096− "node_modules/y18n": {
2097− "version": "4.0.1",
2098− "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
2099− "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
2100− "dev": true
2101− },
2102− "node_modules/yallist": {
2103− "version": "3.1.1",
2104− "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2105− "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2106− "dev": true
2107− },
2108− "node_modules/zen-observable": {
2109− "version": "0.8.15",
2110− "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
2111− "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
2112− "dev": true
2113− }
2114− },
2115− "dependencies": {
2116− "accepts": {
2117− "version": "1.3.7",
2118− "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
2119− "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
2120− "requires": {
2121− "mime-types": "~2.1.24",
2122− "negotiator": "0.6.2"
2123− }
2124− },
2125− "ajv": {
2126− "version": "6.12.6",
2127− "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
2128− "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
2129− "dev": true,
2130− "requires": {
2131− "fast-deep-equal": "^3.1.1",
2132− "fast-json-stable-stringify": "^2.0.0",
2133− "json-schema-traverse": "^0.4.1",
2134− "uri-js": "^4.2.2"
2135− }
2136− },
2137− "ansi-escapes": {
2138− "version": "3.2.0",
2139− "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
2140− "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
2141− "dev": true
2142− },
2143− "ansi-regex": {
2144− "version": "4.1.0",
2145− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
2146− "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2147− "dev": true
2148− },
2149− "ansi-styles": {
2150− "version": "3.2.1",
2151− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
2152− "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
2153− "dev": true,
2154− "requires": {
2155− "color-convert": "^1.9.0"
2156− }
2157− },
2158− "aproba": {
2159− "version": "1.2.0",
2160− "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
2161− "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
2162− "dev": true
2163− },
2164− "arch": {
2165− "version": "2.2.0",
2166− "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
2167− "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
2168− "dev": true
2169− },
2170− "array-flatten": {
2171− "version": "1.1.1",
2172− "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
2173− "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
2174− },
2175− "asn1": {
2176− "version": "0.2.4",
2177− "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
2178− "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
2179− "dev": true,
2180− "requires": {
2181− "safer-buffer": "~2.1.0"
2182− }
2183− },
2184− "assert-plus": {
2185− "version": "1.0.0",
2186− "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
2187− "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
2188− "dev": true
2189− },
2190− "asynckit": {
2191− "version": "0.4.0",
2192− "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
2193− "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
2194− "dev": true
2195− },
2196− "at-least-node": {
2197− "version": "1.0.0",
2198− "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
2199− "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
2200− },
2201− "aws-sign2": {
2202− "version": "0.7.0",
2203− "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
2204− "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
2205− "dev": true
2206− },
2207− "aws4": {
2208− "version": "1.11.0",
2209− "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
2210− "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
2211− "dev": true
2212− },
2213− "balanced-match": {
2214− "version": "1.0.0",
2215− "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
2216− "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
2217− "dev": true
2218− },
2219− "bcrypt-pbkdf": {
2220− "version": "1.0.2",
2221− "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
2222− "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
2223− "dev": true,
2224− "requires": {
2225− "tweetnacl": "^0.14.3"
2226− }
2227− },
2228− "bluebird": {
2229− "version": "3.7.2",
2230− "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
2231− "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
2232− "dev": true
2233− },
2234− "body-parser": {
2235− "version": "1.19.0",
2236− "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
2237− "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
2238− "requires": {
2239− "bytes": "3.1.0",
2240− "content-type": "~1.0.4",
2241− "debug": "2.6.9",
2242− "depd": "~1.1.2",
2243− "http-errors": "1.7.2",
2244− "iconv-lite": "0.4.24",
2245− "on-finished": "~2.3.0",
2246− "qs": "6.7.0",
2247− "raw-body": "2.4.0",
2248− "type-is": "~1.6.17"
2249− }
2250− },
2251− "brace-expansion": {
2252− "version": "1.1.11",
2253− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
2254− "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
2255− "dev": true,
2256− "requires": {
2257− "balanced-match": "^1.0.0",
2258− "concat-map": "0.0.1"
2259− }
2260− },
2261− "buffer-from": {
2262− "version": "1.1.1",
2263− "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
2264− "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
2265− "dev": true
2266− },
2267− "byline": {
2268− "version": "5.0.0",
2269− "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
2270− "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=",
2271− "dev": true
2272− },
2273− "bytes": {
2274− "version": "3.1.0",
2275− "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
2276− "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
2277− },
2278− "cacache": {
2279− "version": "11.3.3",
2280− "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz",
2281− "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==",
2282− "dev": true,
2283− "requires": {
2284− "bluebird": "^3.5.5",
2285− "chownr": "^1.1.1",
2286− "figgy-pudding": "^3.5.1",
2287− "glob": "^7.1.4",
2288− "graceful-fs": "^4.1.15",
2289− "lru-cache": "^5.1.1",
2290− "mississippi": "^3.0.0",
2291− "mkdirp": "^0.5.1",
2292− "move-concurrently": "^1.0.1",
2293− "promise-inflight": "^1.0.1",
2294− "rimraf": "^2.6.3",
2295− "ssri": "^6.0.1",
2296− "unique-filename": "^1.1.1",
2297− "y18n": "^4.0.0"
2298− }
2299− },
2300− "caseless": {
2301− "version": "0.12.0",
2302− "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
2303− "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
2304− "dev": true
2305− },
2306− "chalk": {
2307− "version": "2.4.2",
2308− "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
2309− "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
2310− "dev": true,
2311− "requires": {
2312− "ansi-styles": "^3.2.1",
2313− "escape-string-regexp": "^1.0.5",
2314− "supports-color": "^5.3.0"
2315− }
2316− },
2317− "chownr": {
2318− "version": "1.1.4",
2319− "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
2320− "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
2321− "dev": true
2322− },
2323− "cli-cursor": {
2324− "version": "2.1.0",
2325− "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
2326− "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
2327− "dev": true,
2328− "requires": {
2329− "restore-cursor": "^2.0.0"
2330− }
2331− },
2332− "color-convert": {
2333− "version": "1.9.3",
2334− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2335− "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2336− "dev": true,
2337− "requires": {
2338− "color-name": "1.1.3"
2339− }
2340− },
2341− "color-name": {
2342− "version": "1.1.3",
2343− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2344− "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
2345− "dev": true
2346− },
2347− "combined-stream": {
2348− "version": "1.0.8",
2349− "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
2350− "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
2351− "dev": true,
2352− "requires": {
2353− "delayed-stream": "~1.0.0"
2354− }
2355− },
2356− "comment-json": {
2357− "version": "2.4.2",
2358− "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-2.4.2.tgz",
2359− "integrity": "sha512-T+iXox779qsqneMYx/x5BZyz4xjCeQRmuNVzz8tko7qZUs3MlzpA3RAs+O1XsgcKToNBMIvfVzafGOeiU7RggA==",
2360− "requires": {
2361− "core-util-is": "^1.0.2",
2362− "esprima": "^4.0.1",
2363− "has-own-prop": "^2.0.0",
2364− "repeat-string": "^1.6.1"
2365− }
2366− },
2367− "concat-map": {
2368− "version": "0.0.1",
2369− "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2370− "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
2371− "dev": true
2372− },
2373− "concat-stream": {
2374− "version": "1.6.2",
2375− "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
2376− "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
2377− "dev": true,
2378− "requires": {
2379− "buffer-from": "^1.0.0",
2380− "inherits": "^2.0.3",
2381− "readable-stream": "^2.2.2",
2382− "typedarray": "^0.0.6"
2383− }
2384− },
2385− "content-disposition": {
2386− "version": "0.5.3",
2387− "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
2388− "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
2389− "requires": {
2390− "safe-buffer": "5.1.2"
2391− }
2392− },
2393− "content-type": {
2394− "version": "1.0.4",
2395− "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
2396− "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
2397− },
2398− "cookie": {
2399− "version": "0.4.0",
2400− "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
2401− "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
2402− },
2403− "cookie-signature": {
2404− "version": "1.0.6",
2405− "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
2406− "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
2407− },
2408− "copy-concurrently": {
2409− "version": "1.0.5",
2410− "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
2411− "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
2412− "dev": true,
2413− "requires": {
2414− "aproba": "^1.1.1",
2415− "fs-write-stream-atomic": "^1.0.8",
2416− "iferr": "^0.1.5",
2417− "mkdirp": "^0.5.1",
2418− "rimraf": "^2.5.4",
2419− "run-queue": "^1.0.0"
2420− }
2421− },
2422− "core-util-is": {
2423− "version": "1.0.2",
2424− "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
2425− "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
2426− },
2427− "cross-spawn": {
2428− "version": "7.0.3",
2429− "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2430− "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2431− "dev": true,
2432− "requires": {
2433− "path-key": "^3.1.0",
2434− "shebang-command": "^2.0.0",
2435− "which": "^2.0.1"
2436− },
2437− "dependencies": {
2438− "which": {
2439− "version": "2.0.2",
2440− "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2441− "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2442− "dev": true,
2443− "requires": {
2444− "isexe": "^2.0.0"
2445− }
2446− }
2447− }
2448− },
2449− "cyclist": {
2450− "version": "1.0.1",
2451− "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
2452− "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
2453− "dev": true
2454− },
2455− "dashdash": {
2456− "version": "1.14.1",
2457− "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
2458− "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
2459− "dev": true,
2460− "requires": {
2461− "assert-plus": "^1.0.0"
2462− }
2463− },
2464− "debug": {
2465− "version": "2.6.9",
2466− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2467− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2468− "requires": {
2469− "ms": "2.0.0"
2470− }
2471− },
2472− "delayed-stream": {
2473− "version": "1.0.0",
2474− "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
2475− "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
2476− "dev": true
2477− },
2478− "depd": {
2479− "version": "1.1.2",
2480− "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
2481− "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
2482− },
2483− "destroy": {
2484− "version": "1.0.4",
2485− "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
2486− "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
2487− },
2488− "duplexify": {
2489− "version": "3.7.1",
2490− "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
2491− "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
2492− "dev": true,
2493− "requires": {
2494− "end-of-stream": "^1.0.0",
2495− "inherits": "^2.0.1",
2496− "readable-stream": "^2.0.0",
2497− "stream-shift": "^1.0.0"
2498− }
2499− },
2500− "ecc-jsbn": {
2501− "version": "0.1.2",
2502− "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
2503− "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
2504− "dev": true,
2505− "requires": {
2506− "jsbn": "~0.1.0",
2507− "safer-buffer": "^2.1.0"
2508− }
2509− },
2510− "ee-first": {
2511− "version": "1.1.1",
2512− "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
2513− "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
2514− },
2515− "emoji-regex": {
2516− "version": "7.0.3",
2517− "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
2518− "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
2519− "dev": true
2520− },
2521− "encodeurl": {
2522− "version": "1.0.2",
2523− "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
2524− "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
2525− },
2526− "end-of-stream": {
2527− "version": "1.4.4",
2528− "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
2529− "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
2530− "dev": true,
2531− "requires": {
2532− "once": "^1.4.0"
2533− }
2534− },
2535− "env-paths": {
2536− "version": "2.2.1",
2537− "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
2538− "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
2539− "dev": true
2540− },
2541− "escape-html": {
2542− "version": "1.0.3",
2543− "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
2544− "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
2545− },
2546− "escape-string-regexp": {
2547− "version": "1.0.5",
2548− "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2549− "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
2550− "dev": true
2551− },
2552− "esprima": {
2553− "version": "4.0.1",
2554− "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
2555− "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
2556− },
2557− "etag": {
2558− "version": "1.8.1",
2559− "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
2560− "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
2561− },
2562− "execa": {
2563− "version": "2.1.0",
2564− "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
2565− "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
2566− "dev": true,
2567− "requires": {
2568− "cross-spawn": "^7.0.0",
2569− "get-stream": "^5.0.0",
2570− "is-stream": "^2.0.0",
2571− "merge-stream": "^2.0.0",
2572− "npm-run-path": "^3.0.0",
2573− "onetime": "^5.1.0",
2574− "p-finally": "^2.0.0",
2575− "signal-exit": "^3.0.2",
2576− "strip-final-newline": "^2.0.0"
2577− }
2578− },
2579− "express": {
2580− "version": "4.17.1",
2581− "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
2582− "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
2583− "requires": {
2584− "accepts": "~1.3.7",
2585− "array-flatten": "1.1.1",
2586− "body-parser": "1.19.0",
2587− "content-disposition": "0.5.3",
2588− "content-type": "~1.0.4",
2589− "cookie": "0.4.0",
2590− "cookie-signature": "1.0.6",
2591− "debug": "2.6.9",
2592− "depd": "~1.1.2",
2593− "encodeurl": "~1.0.2",
2594− "escape-html": "~1.0.3",
2595− "etag": "~1.8.1",
2596− "finalhandler": "~1.1.2",
2597− "fresh": "0.5.2",
2598− "merge-descriptors": "1.0.1",
2599− "methods": "~1.1.2",
2600− "on-finished": "~2.3.0",
2601− "parseurl": "~1.3.3",
2602− "path-to-regexp": "0.1.7",
2603− "proxy-addr": "~2.0.5",
2604− "qs": "6.7.0",
2605− "range-parser": "~1.2.1",
2606− "safe-buffer": "5.1.2",
2607− "send": "0.17.1",
2608− "serve-static": "1.14.1",
2609− "setprototypeof": "1.1.1",
2610− "statuses": "~1.5.0",
2611− "type-is": "~1.6.18",
2612− "utils-merge": "1.0.1",
2613− "vary": "~1.1.2"
2614− }
2615− },
2616− "extend": {
2617− "version": "3.0.2",
2618− "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
2619− "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
2620− "dev": true
2621− },
2622− "extsprintf": {
2623− "version": "1.3.0",
2624− "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
2625− "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
2626− "dev": true
2627− },
2628− "fast-deep-equal": {
2629− "version": "3.1.3",
2630− "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2631− "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
2632− "dev": true
2633− },
2634− "fast-json-stable-stringify": {
2635− "version": "2.1.0",
2636− "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2637− "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
2638− "dev": true
2639− },
2640− "figgy-pudding": {
2641− "version": "3.5.2",
2642− "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
2643− "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
2644− "dev": true
2645− },
2646− "filesize": {
2647− "version": "4.2.1",
2648− "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz",
2649− "integrity": "sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==",
2650− "dev": true
2651− },
2652− "finalhandler": {
2653− "version": "1.1.2",
2654− "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
2655− "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
2656− "requires": {
2657− "debug": "2.6.9",
2658− "encodeurl": "~1.0.2",
2659− "escape-html": "~1.0.3",
2660− "on-finished": "~2.3.0",
2661− "parseurl": "~1.3.3",
2662− "statuses": "~1.5.0",
2663− "unpipe": "~1.0.0"
2664− }
2665− },
2666− "flush-write-stream": {
2667− "version": "1.1.1",
2668− "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
2669− "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
2670− "dev": true,
2671− "requires": {
2672− "inherits": "^2.0.3",
2673− "readable-stream": "^2.3.6"
2674− }
2675− },
2676− "forever-agent": {
2677− "version": "0.6.1",
2678− "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
2679− "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
2680− "dev": true
2681− },
2682− "form-data": {
2683− "version": "2.3.3",
2684− "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
2685− "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
2686− "dev": true,
2687− "requires": {
2688− "asynckit": "^0.4.0",
2689− "combined-stream": "^1.0.6",
2690− "mime-types": "^2.1.12"
2691− }
2692− },
2693− "forwarded": {
2694− "version": "0.1.2",
2695− "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
2696− "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
2697− },
2698− "fresh": {
2699− "version": "0.5.2",
2700− "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
2701− "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
2702− },
2703− "from2": {
2704− "version": "2.3.0",
2705− "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
2706− "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
2707− "dev": true,
2708− "requires": {
2709− "inherits": "^2.0.1",
2710− "readable-stream": "^2.0.0"
2711− }
2712− },
2713− "fs-extra": {
2714− "version": "9.1.0",
2715− "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
2716− "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
2717− "requires": {
2718− "at-least-node": "^1.0.0",
2719− "graceful-fs": "^4.2.0",
2720− "jsonfile": "^6.0.1",
2721− "universalify": "^2.0.0"
2722− }
2723− },
2724− "fs-minipass": {
2725− "version": "1.2.7",
2726− "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
2727− "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
2728− "dev": true,
2729− "requires": {
2730− "minipass": "^2.6.0"
2731− }
2732− },
2733− "fs-write-stream-atomic": {
2734− "version": "1.0.10",
2735− "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
2736− "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
2737− "dev": true,
2738− "requires": {
2739− "graceful-fs": "^4.1.2",
2740− "iferr": "^0.1.5",
2741− "imurmurhash": "^0.1.4",
2742− "readable-stream": "1 || 2"
2743− }
2744− },
2745− "fs.realpath": {
2746− "version": "1.0.0",
2747− "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2748− "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2749− "dev": true
2750− },
2751− "get-stream": {
2752− "version": "5.2.0",
2753− "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
2754− "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
2755− "dev": true,
2756− "requires": {
2757− "pump": "^3.0.0"
2758− }
2759− },
2760− "getpass": {
2761− "version": "0.1.7",
2762− "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
2763− "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
2764− "dev": true,
2765− "requires": {
2766− "assert-plus": "^1.0.0"
2767− }
2768− },
2769− "glob": {
2770− "version": "7.1.6",
2771− "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
2772− "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
2773− "dev": true,
2774− "requires": {
2775− "fs.realpath": "^1.0.0",
2776− "inflight": "^1.0.4",
2777− "inherits": "2",
2778− "minimatch": "^3.0.4",
2779− "once": "^1.3.0",
2780− "path-is-absolute": "^1.0.0"
2781− }
2782− },
2783− "graceful-fs": {
2784− "version": "4.2.6",
2785− "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
2786− "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
2787− },
2788− "har-schema": {
2789− "version": "2.0.0",
2790− "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
2791− "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
2792− "dev": true
2793− },
2794− "har-validator": {
2795− "version": "5.1.5",
2796− "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
2797− "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
2798− "dev": true,
2799− "requires": {
2800− "ajv": "^6.12.3",
2801− "har-schema": "^2.0.0"
2802− }
2803− },
2804− "has-flag": {
2805− "version": "3.0.0",
2806− "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2807− "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
2808− "dev": true
2809− },
2810− "has-own-prop": {
2811− "version": "2.0.0",
2812− "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz",
2813− "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ=="
2814− },
2815− "http-errors": {
2816− "version": "1.7.2",
2817− "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
2818− "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
2819− "requires": {
2820− "depd": "~1.1.2",
2821− "inherits": "2.0.3",
2822− "setprototypeof": "1.1.1",
2823− "statuses": ">= 1.5.0 < 2",
2824− "toidentifier": "1.0.0"
2825− }
2826− },
2827− "http-signature": {
2828− "version": "1.2.0",
2829− "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
2830− "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
2831− "dev": true,
2832− "requires": {
2833− "assert-plus": "^1.0.0",
2834− "jsprim": "^1.2.2",
2835− "sshpk": "^1.7.0"
2836− }
2837− },
2838− "iconv-lite": {
2839− "version": "0.4.24",
2840− "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
2841− "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
2842− "requires": {
2843− "safer-buffer": ">= 2.1.2 < 3"
2844− }
2845− },
2846− "iferr": {
2847− "version": "0.1.5",
2848− "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
2849− "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
2850− "dev": true
2851− },
2852− "imurmurhash": {
2853− "version": "0.1.4",
2854− "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2855− "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
2856− "dev": true
2857− },
2858− "inflight": {
2859− "version": "1.0.6",
2860− "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2861− "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2862− "dev": true,
2863− "requires": {
2864− "once": "^1.3.0",
2865− "wrappy": "1"
2866− }
2867− },
2868− "inherits": {
2869− "version": "2.0.3",
2870− "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2871− "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
2872− },
2873− "ipaddr.js": {
2874− "version": "1.9.1",
2875− "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
2876− "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
2877− },
2878− "is-fullwidth-code-point": {
2879− "version": "2.0.0",
2880− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2881− "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2882− "dev": true
2883− },
2884− "is-plain-obj": {
2885− "version": "2.1.0",
2886− "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
2887− "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
2888− "dev": true
2889− },
2890− "is-stream": {
2891− "version": "2.0.0",
2892− "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
2893− "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
2894− "dev": true
2895− },
2896− "is-typedarray": {
2897− "version": "1.0.0",
2898− "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
2899− "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
2900− "dev": true
2901− },
2902− "isarray": {
2903− "version": "1.0.0",
2904− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2905− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
2906− "dev": true
2907− },
2908− "isexe": {
2909− "version": "2.0.0",
2910− "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2911− "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2912− "dev": true
2913− },
2914− "isstream": {
2915− "version": "0.1.2",
2916− "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
2917− "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
2918− "dev": true
2919− },
2920− "jsbn": {
2921− "version": "0.1.1",
2922− "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
2923− "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
2924− "dev": true
2925− },
2926− "json-parser": {
2927− "version": "3.1.2",
2928− "resolved": "https://registry.npmjs.org/json-parser/-/json-parser-3.1.2.tgz",
2929− "integrity": "sha512-FCy1zIx3KUtOcNlFw9/ZGfDFBAGAwE6qYeaYwXCYUXhMO4TzizoQaQN1/LpZn088O7cz8eLVCjd/9aeW9HN32w==",
2930− "requires": {
2931− "comment-json": "^2.1.0"
2932− }
2933− },
2934− "json-schema": {
2935− "version": "0.2.3",
2936− "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
2937− "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
2938− "dev": true
2939− },
2940− "json-schema-traverse": {
2941− "version": "0.4.1",
2942− "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2943− "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2944− "dev": true
2945− },
2946− "json-stringify-safe": {
2947− "version": "5.0.1",
2948− "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
2949− "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
2950− "dev": true
2951− },
2952− "jsonfile": {
2953− "version": "6.1.0",
2954− "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
2955− "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
2956− "requires": {
2957− "graceful-fs": "^4.1.6",
2958− "universalify": "^2.0.0"
2959− }
2960− },
2961− "jsprim": {
2962− "version": "1.4.1",
2963− "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
2964− "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
2965− "dev": true,
2966− "requires": {
2967− "assert-plus": "1.0.0",
2968− "extsprintf": "1.3.0",
2969− "json-schema": "0.2.3",
2970− "verror": "1.10.0"
2971− }
2972− },
2973− "log-symbols": {
2974− "version": "3.0.0",
2975− "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
2976− "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
2977− "dev": true,
2978− "requires": {
2979− "chalk": "^2.4.2"
2980− }
2981− },
2982− "log-update": {
2983− "version": "3.4.0",
2984− "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz",
2985− "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==",
2986− "dev": true,
2987− "requires": {
2988− "ansi-escapes": "^3.2.0",
2989− "cli-cursor": "^2.1.0",
2990− "wrap-ansi": "^5.0.0"
2991− }
2992− },
2993− "lru-cache": {
2994− "version": "5.1.1",
2995− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2996− "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2997− "dev": true,
2998− "requires": {
2999− "yallist": "^3.0.2"
3000− }
3001− },
3002− "media-typer": {
3003− "version": "0.3.0",
3004− "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
3005− "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
3006− },
3007− "merge-descriptors": {
3008− "version": "1.0.1",
3009− "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
3010− "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
3011− },
3012− "merge-stream": {
3013− "version": "2.0.0",
3014− "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
3015− "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
3016− "dev": true
3017− },
3018− "methods": {
3019− "version": "1.1.2",
3020− "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
3021− "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
3022− },
3023− "mime": {
3024− "version": "1.6.0",
3025− "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
3026− "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
3027− },
3028− "mime-db": {
3029− "version": "1.46.0",
3030− "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz",
3031− "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ=="
3032− },
3033− "mime-types": {
3034− "version": "2.1.29",
3035− "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz",
3036− "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==",
3037− "requires": {
3038− "mime-db": "1.46.0"
3039− }
3040− },
3041− "mimic-fn": {
3042− "version": "2.1.0",
3043− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
3044− "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
3045− "dev": true
3046− },
3047− "minimatch": {
3048− "version": "3.0.4",
3049− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
3050− "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
3051− "dev": true,
3052− "requires": {
3053− "brace-expansion": "^1.1.7"
3054− }
3055− },
3056− "minimist": {
3057− "version": "1.2.5",
3058− "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
3059− "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
3060− },
3061− "minipass": {
3062− "version": "2.9.0",
3063− "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
3064− "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
3065− "dev": true,
3066− "requires": {
3067− "safe-buffer": "^5.1.2",
3068− "yallist": "^3.0.0"
3069− }
3070− },
3071− "minizlib": {
3072− "version": "1.3.3",
3073− "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
3074− "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
3075− "dev": true,
3076− "requires": {
3077− "minipass": "^2.9.0"
3078− }
3079− },
3080− "mississippi": {
3081− "version": "3.0.0",
3082− "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
3083− "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
3084− "dev": true,
3085− "requires": {
3086− "concat-stream": "^1.5.0",
3087− "duplexify": "^3.4.2",
3088− "end-of-stream": "^1.1.0",
3089− "flush-write-stream": "^1.0.0",
3090− "from2": "^2.1.0",
3091− "parallel-transform": "^1.1.0",
3092− "pump": "^3.0.0",
3093− "pumpify": "^1.3.3",
3094− "stream-each": "^1.1.0",
3095− "through2": "^2.0.0"
3096− }
3097− },
3098− "mkdirp": {
3099− "version": "0.5.5",
3100− "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
3101− "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
3102− "dev": true,
3103− "requires": {
3104− "minimist": "^1.2.5"
3105− }
3106− },
3107− "move-concurrently": {
3108− "version": "1.0.1",
3109− "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
3110− "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
3111− "dev": true,
3112− "requires": {
3113− "aproba": "^1.1.1",
3114− "copy-concurrently": "^1.0.0",
3115− "fs-write-stream-atomic": "^1.0.8",
3116− "mkdirp": "^0.5.1",
3117− "rimraf": "^2.5.4",
3118− "run-queue": "^1.0.3"
3119− }
3120− },
3121− "ms": {
3122− "version": "2.0.0",
3123− "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3124− "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
3125− },
3126− "negotiator": {
3127− "version": "0.6.2",
3128− "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
3129− "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
3130− },
3131− "npm-run-path": {
3132− "version": "3.1.0",
3133− "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
3134− "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
3135− "dev": true,
3136− "requires": {
3137− "path-key": "^3.0.0"
3138− }
3139− },
3140− "oauth-sign": {
3141− "version": "0.9.0",
3142− "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
3143− "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
3144− "dev": true
3145− },
3146− "on-finished": {
3147− "version": "2.3.0",
3148− "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
3149− "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
3150− "requires": {
3151− "ee-first": "1.1.1"
3152− }
3153− },
3154− "once": {
3155− "version": "1.4.0",
3156− "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3157− "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3158− "dev": true,
3159− "requires": {
3160− "wrappy": "1"
3161− }
3162− },
3163− "onetime": {
3164− "version": "5.1.2",
3165− "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
3166− "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
3167− "dev": true,
3168− "requires": {
3169− "mimic-fn": "^2.1.0"
3170− }
3171− },
3172− "p-finally": {
3173− "version": "2.0.1",
3174− "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
3175− "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
3176− "dev": true
3177− },
3178− "parallel-transform": {
3179− "version": "1.2.0",
3180− "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
3181− "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
3182− "dev": true,
3183− "requires": {
3184− "cyclist": "^1.0.1",
3185− "inherits": "^2.0.3",
3186− "readable-stream": "^2.1.5"
3187− }
3188− },
3189− "parseurl": {
3190− "version": "1.3.3",
3191− "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
3192− "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
3193− },
3194− "path-is-absolute": {
3195− "version": "1.0.1",
3196− "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3197− "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3198− "dev": true
3199− },
3200− "path-key": {
3201− "version": "3.1.1",
3202− "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3203− "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
3204− "dev": true
3205− },
3206− "path-to-regexp": {
3207− "version": "0.1.7",
3208− "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
3209− "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
3210− },
3211− "performance-now": {
3212− "version": "2.1.0",
3213− "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
3214− "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
3215− "dev": true
3216− },
3217− "process-nextick-args": {
3218− "version": "2.0.1",
3219− "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
3220− "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
3221− "dev": true
3222− },
3223− "promise-inflight": {
3224− "version": "1.0.1",
3225− "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
3226− "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
3227− "dev": true
3228− },
3229− "proxy-addr": {
3230− "version": "2.0.6",
3231− "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
3232− "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
3233− "requires": {
3234− "forwarded": "~0.1.2",
3235− "ipaddr.js": "1.9.1"
3236− }
3237− },
3238− "psl": {
3239− "version": "1.8.0",
3240− "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
3241− "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
3242− "dev": true
3243− },
3244− "pump": {
3245− "version": "3.0.0",
3246− "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
3247− "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
3248− "dev": true,
3249− "requires": {
3250− "end-of-stream": "^1.1.0",
3251− "once": "^1.3.1"
3252− }
3253− },
3254− "pumpify": {
3255− "version": "1.5.1",
3256− "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
3257− "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
3258− "dev": true,
3259− "requires": {
3260− "duplexify": "^3.6.0",
3261− "inherits": "^2.0.3",
3262− "pump": "^2.0.0"
3263− },
3264− "dependencies": {
3265− "pump": {
3266− "version": "2.0.1",
3267− "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
3268− "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
3269− "dev": true,
3270− "requires": {
3271− "end-of-stream": "^1.1.0",
3272− "once": "^1.3.1"
3273− }
3274− }
3275− }
3276− },
3277− "punycode": {
3278− "version": "2.1.1",
3279− "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
3280− "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
3281− "dev": true
3282− },
3283− "purescript": {
3284− "version": "0.14.0",
3285− "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.14.0.tgz",
3286− "integrity": "sha512-iTA1k8mwxHqrJp/K296g6omVfve5RCjnB5D6Up93PVtZdP66mCIqlOYC4hrLBHg2hgkk27xePDt5NUXKvH4ApQ==",
3287− "dev": true,
3288− "requires": {
3289− "purescript-installer": "^0.2.0"
3290− }
3291− },
3292− "purescript-installer": {
3293− "version": "0.2.5",
3294− "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.2.5.tgz",
3295− "integrity": "sha512-fQAWWP5a7scuchXecjpU4r4KEgSPuS6bBnaP01k9f71qqD28HaJ2m4PXHFkhkR4oATAxTPIGCtmTwtVoiBOHog==",
3296− "dev": true,
3297− "requires": {
3298− "arch": "^2.1.1",
3299− "byline": "^5.0.0",
3300− "cacache": "^11.3.2",
3301− "chalk": "^2.4.2",
3302− "env-paths": "^2.2.0",
3303− "execa": "^2.0.3",
3304− "filesize": "^4.1.2",
3305− "is-plain-obj": "^2.0.0",
3306− "log-symbols": "^3.0.0",
3307− "log-update": "^3.2.0",
3308− "minimist": "^1.2.0",
3309− "mkdirp": "^0.5.1",
3310− "ms": "^2.1.2",
3311− "once": "^1.4.0",
3312− "pump": "^3.0.0",
3313− "request": "^2.88.0",
3314− "rimraf": "^2.6.3",
3315− "tar": "^4.4.6",
3316− "which": "^1.3.1",
3317− "zen-observable": "^0.8.14"
3318− },
3319− "dependencies": {
3320− "ms": {
3321− "version": "2.1.3",
3322− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
3323− "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
3324− "dev": true
3325− }
3326− }
3327− },
3328− "qs": {
3329− "version": "6.7.0",
3330− "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
3331− "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
3332− },
3333− "range-parser": {
3334− "version": "1.2.1",
3335− "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
3336− "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
3337− },
3338− "raw-body": {
3339− "version": "2.4.0",
3340− "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
3341− "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
3342− "requires": {
3343− "bytes": "3.1.0",
3344− "http-errors": "1.7.2",
3345− "iconv-lite": "0.4.24",
3346− "unpipe": "1.0.0"
3347− }
3348− },
3349− "readable-stream": {
3350− "version": "2.3.7",
3351− "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
3352− "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
3353− "dev": true,
3354− "requires": {
3355− "core-util-is": "~1.0.0",
3356− "inherits": "~2.0.3",
3357− "isarray": "~1.0.0",
3358− "process-nextick-args": "~2.0.0",
3359− "safe-buffer": "~5.1.1",
3360− "string_decoder": "~1.1.1",
3361− "util-deprecate": "~1.0.1"
3362− }
3363− },
3364− "repeat-string": {
3365− "version": "1.6.1",
3366− "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3367− "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
3368− },
3369− "request": {
3370− "version": "2.88.2",
3371− "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
3372− "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
3373− "dev": true,
3374− "requires": {
3375− "aws-sign2": "~0.7.0",
3376− "aws4": "^1.8.0",
3377− "caseless": "~0.12.0",
3378− "combined-stream": "~1.0.6",
3379− "extend": "~3.0.2",
3380− "forever-agent": "~0.6.1",
3381− "form-data": "~2.3.2",
3382− "har-validator": "~5.1.3",
3383− "http-signature": "~1.2.0",
3384− "is-typedarray": "~1.0.0",
3385− "isstream": "~0.1.2",
3386− "json-stringify-safe": "~5.0.1",
3387− "mime-types": "~2.1.19",
3388− "oauth-sign": "~0.9.0",
3389− "performance-now": "^2.1.0",
3390− "qs": "~6.5.2",
3391− "safe-buffer": "^5.1.2",
3392− "tough-cookie": "~2.5.0",
3393− "tunnel-agent": "^0.6.0",
3394− "uuid": "^3.3.2"
3395− },
3396− "dependencies": {
3397− "qs": {
3398− "version": "6.5.2",
3399− "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
3400− "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
3401− "dev": true
3402− },
3403− "uuid": {
3404− "version": "3.4.0",
3405− "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
3406− "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
3407− "dev": true
3408− }
3409− }
3410− },
3411− "restore-cursor": {
3412− "version": "2.0.0",
3413− "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
3414− "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
3415− "dev": true,
3416− "requires": {
3417− "onetime": "^2.0.0",
3418− "signal-exit": "^3.0.2"
3419− },
3420− "dependencies": {
3421− "mimic-fn": {
3422− "version": "1.2.0",
3423− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
3424− "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
3425− "dev": true
3426− },
3427− "onetime": {
3428− "version": "2.0.1",
3429− "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
3430− "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
3431− "dev": true,
3432− "requires": {
3433− "mimic-fn": "^1.0.0"
3434− }
3435− }
3436− }
3437− },
3438− "rimraf": {
3439− "version": "2.7.1",
3440− "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
3441− "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
3442− "dev": true,
3443− "requires": {
3444− "glob": "^7.1.3"
3445− }
3446− },
3447− "run-queue": {
3448− "version": "1.0.3",
3449− "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
3450− "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
3451− "dev": true,
3452− "requires": {
3453− "aproba": "^1.1.1"
3454− }
3455− },
3456− "safe-buffer": {
3457− "version": "5.1.2",
3458− "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3459− "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
3460− },
3461− "safer-buffer": {
3462− "version": "2.1.2",
3463− "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
3464− "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
3465− },
3466− "send": {
3467− "version": "0.17.1",
3468− "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
3469− "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
3470− "requires": {
3471− "debug": "2.6.9",
3472− "depd": "~1.1.2",
3473− "destroy": "~1.0.4",
3474− "encodeurl": "~1.0.2",
3475− "escape-html": "~1.0.3",
3476− "etag": "~1.8.1",
3477− "fresh": "0.5.2",
3478− "http-errors": "~1.7.2",
3479− "mime": "1.6.0",
3480− "ms": "2.1.1",
3481− "on-finished": "~2.3.0",
3482− "range-parser": "~1.2.1",
3483− "statuses": "~1.5.0"
3484− },
3485− "dependencies": {
3486− "ms": {
3487− "version": "2.1.1",
3488− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
3489− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
3490− }
3491− }
3492− },
3493− "serve-static": {
3494− "version": "1.14.1",
3495− "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
3496− "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
3497− "requires": {
3498− "encodeurl": "~1.0.2",
3499− "escape-html": "~1.0.3",
3500− "parseurl": "~1.3.3",
3501− "send": "0.17.1"
3502− }
3503− },
3504− "setprototypeof": {
3505− "version": "1.1.1",
3506− "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
3507− "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
3508− },
3509− "shebang-command": {
3510− "version": "2.0.0",
3511− "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3512− "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3513− "dev": true,
3514− "requires": {
3515− "shebang-regex": "^3.0.0"
3516− }
3517− },
3518− "shebang-regex": {
3519− "version": "3.0.0",
3520− "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3521− "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3522− "dev": true
3523− },
3524− "signal-exit": {
3525− "version": "3.0.3",
3526− "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
3527− "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
3528− "dev": true
3529− },
3530− "spago": {
3531− "version": "0.19.1",
3532− "resolved": "https://registry.npmjs.org/spago/-/spago-0.19.1.tgz",
3533− "integrity": "sha512-OD/yopJZ9Ub+XsFtayDeLAWLT4kLdMxosJEyyp8W5OkyJVVSbCrvYacsO7iq3lSuHJmmNny/TEZdyb7uSyupng==",
3534− "dev": true,
3535− "requires": {
3536− "request": "^2.88.0",
3537− "tar": "^4.4.8"
3538− }
3539− },
3540− "sshpk": {
3541− "version": "1.16.1",
3542− "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
3543− "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
3544− "dev": true,
3545− "requires": {
3546− "asn1": "~0.2.3",
3547− "assert-plus": "^1.0.0",
3548− "bcrypt-pbkdf": "^1.0.0",
3549− "dashdash": "^1.12.0",
3550− "ecc-jsbn": "~0.1.1",
3551− "getpass": "^0.1.1",
3552− "jsbn": "~0.1.0",
3553− "safer-buffer": "^2.0.2",
3554− "tweetnacl": "~0.14.0"
3555− }
3556− },
3557− "ssri": {
3558− "version": "6.0.1",
3559− "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
3560− "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
3561− "dev": true,
3562− "requires": {
3563− "figgy-pudding": "^3.5.1"
3564− }
3565− },
3566− "statuses": {
3567− "version": "1.5.0",
3568− "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
3569− "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
3570− },
3571− "stream-each": {
3572− "version": "1.2.3",
3573− "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
3574− "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
3575− "dev": true,
3576− "requires": {
3577− "end-of-stream": "^1.1.0",
3578− "stream-shift": "^1.0.0"
3579− }
3580− },
3581− "stream-shift": {
3582− "version": "1.0.1",
3583− "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
3584− "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
3585− "dev": true
3586− },
3587− "string_decoder": {
3588− "version": "1.1.1",
3589− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3590− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3591− "dev": true,
3592− "requires": {
3593− "safe-buffer": "~5.1.0"
3594− }
3595− },
3596− "string-width": {
3597− "version": "3.1.0",
3598− "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
3599− "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
3600− "dev": true,
3601− "requires": {
3602− "emoji-regex": "^7.0.1",
3603− "is-fullwidth-code-point": "^2.0.0",
3604− "strip-ansi": "^5.1.0"
3605− }
3606− },
3607− "strip-ansi": {
3608− "version": "5.2.0",
3609− "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
3610− "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
3611− "dev": true,
3612− "requires": {
3613− "ansi-regex": "^4.1.0"
3614− }
3615− },
3616− "strip-final-newline": {
3617− "version": "2.0.0",
3618− "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
3619− "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
3620− "dev": true
3621− },
3622− "supports-color": {
3623− "version": "5.5.0",
3624− "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3625− "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
3626− "dev": true,
3627− "requires": {
3628− "has-flag": "^3.0.0"
3629− }
3630− },
3631− "tar": {
3632− "version": "4.4.13",
3633− "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
3634− "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
3635− "dev": true,
3636− "requires": {
3637− "chownr": "^1.1.1",
3638− "fs-minipass": "^1.2.5",
3639− "minipass": "^2.8.6",
3640− "minizlib": "^1.2.1",
3641− "mkdirp": "^0.5.0",
3642− "safe-buffer": "^5.1.2",
3643− "yallist": "^3.0.3"
3644− }
3645− },
3646− "through2": {
3647− "version": "2.0.5",
3648− "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
3649− "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
3650− "dev": true,
3651− "requires": {
3652− "readable-stream": "~2.3.6",
3653− "xtend": "~4.0.1"
3654− }
3655− },
3656− "toidentifier": {
3657− "version": "1.0.0",
3658− "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
3659− "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
3660− },
3661− "tough-cookie": {
3662− "version": "2.5.0",
3663− "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
3664− "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
3665− "dev": true,
3666− "requires": {
3667− "psl": "^1.1.28",
3668− "punycode": "^2.1.1"
3669− }
3670− },
3671− "tunnel-agent": {
3672− "version": "0.6.0",
3673− "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
3674− "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
3675− "dev": true,
3676− "requires": {
3677− "safe-buffer": "^5.0.1"
3678− }
3679− },
3680− "tweetnacl": {
3681− "version": "0.14.5",
3682− "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
3683− "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
3684− "dev": true
3685− },
3686− "type-is": {
3687− "version": "1.6.18",
3688− "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
3689− "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
3690− "requires": {
3691− "media-typer": "0.3.0",
3692− "mime-types": "~2.1.24"
3693− }
3694− },
3695− "typedarray": {
3696− "version": "0.0.6",
3697− "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
3698− "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
3699− "dev": true
3700− },
3701− "unique-filename": {
3702− "version": "1.1.1",
3703− "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
3704− "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
3705− "dev": true,
3706− "requires": {
3707− "unique-slug": "^2.0.0"
3708− }
3709− },
3710− "unique-slug": {
3711− "version": "2.0.2",
3712− "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
3713− "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
3714− "dev": true,
3715− "requires": {
3716− "imurmurhash": "^0.1.4"
3717− }
3718− },
3719− "universalify": {
3720 "version": "2.0.0",
128 "version": "2.0.0",
3721 "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
129 "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
3722 "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
130 "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
3723 },
131 },
3724− "unpipe": {
3725− "version": "1.0.0",
3726− "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
3727− "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
3728− },
3729− "uri-js": {
3730− "version": "4.4.1",
3731− "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
3732− "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
3733− "dev": true,
3734− "requires": {
3735− "punycode": "^2.1.0"
3736− }
3737− },
3738− "util-deprecate": {
3739− "version": "1.0.2",
3740− "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3741− "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
3742− "dev": true
3743− },
3744− "utils-merge": {
3745− "version": "1.0.1",
3746− "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
3747− "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
3748− },
3749 "uuid": {
132 "uuid": {
3750− "version": "7.0.3",
133+ "version": "8.3.2",
3751− "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
134+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
3752− "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="
135+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
3753− },
3754− "vary": {
3755− "version": "1.1.2",
3756− "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
3757− "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
3758− },
3759− "verror": {
3760− "version": "1.10.0",
3761− "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
3762− "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
3763− "dev": true,
3764− "requires": {
3765− "assert-plus": "^1.0.0",
3766− "core-util-is": "1.0.2",
3767− "extsprintf": "^1.2.0"
3768− }
3769− },
3770− "which": {
3771− "version": "1.3.1",
3772− "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
3773− "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
3774− "dev": true,
3775− "requires": {
3776− "isexe": "^2.0.0"
3777− }
3778− },
3779− "wrap-ansi": {
3780− "version": "5.1.0",
3781− "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
3782− "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
3783− "dev": true,
3784− "requires": {
3785− "ansi-styles": "^3.2.0",
3786− "string-width": "^3.0.0",
3787− "strip-ansi": "^5.0.0"
3788− }
3789− },
3790− "wrappy": {
3791− "version": "1.0.2",
3792− "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3793− "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3794− "dev": true
3795− },
3796− "xtend": {
3797− "version": "4.0.2",
3798− "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
3799− "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
3800− "dev": true
3801− },
3802− "y18n": {
3803− "version": "4.0.1",
3804− "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
3805− "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
3806− "dev": true
3807− },
3808− "yallist": {
3809− "version": "3.1.1",
3810− "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
3811− "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
3812− "dev": true
3813− },
3814− "zen-observable": {
3815− "version": "0.8.15",
3816− "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
3817− "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
3818− "dev": true
3819 }
136 }
3820 }
137 }
3821}
138}
server/package.json+4−10
@@ -7,21 +7,15 @@
7 "test": "test"
7 "test": "test"
8 },
8 },
9 "scripts": {
9 "scripts": {
10− "start": "npx spago run",
10+ "start": "spago run",
11− "test": "npx spago test"
11+ "test": "spago test"
12 },
12 },
13 "author": "mark.eibes@gmail.com",
13 "author": "mark.eibes@gmail.com",
14 "license": "ISC",
14 "license": "ISC",
15 "dependencies": {
15 "dependencies": {
16− "body-parser": "^1.19.0",
16+ "big-integer": "^1.6.51",
17− "express": "^4.17.1",
18 "fs-extra": "^9.0.0",
17 "fs-extra": "^9.0.0",
19− "json-parser": "^3.1.2",
20 "minimist": "^1.2.2",
18 "minimist": "^1.2.2",
21− "uuid": "^7.0.2"
19+ "uuid": "^8.3.2"
22− },
23− "devDependencies": {
24− "purescript": "^0.14.0",
25− "spago": "^0.19.1"
26 }
20 }
27}
21}
server/packages.dhall+34−155
@@ -117,164 +117,43 @@ let additions =
117-------------------------------
117-------------------------------
118-}
118-}
119let upstream =
119let upstream =
120− -- https://github.com/purescript/package-sets/releases/download/psc-0.13.6-20200309/packages.dhall sha256:9221987b4e7ea99ccd0efbe056f7bebc872cd92e0058efe5baa181d73359e7b3
121− https://github.com/purescript/package-sets/releases/download/psc-0.14.0-20210317/packages.dhall sha256:e2e744972f9b60188dcf07f41418661b505c9ee2e9f91e57e67daefad3a5ae09
120+ https://github.com/purescript/package-sets/releases/download/psc-0.15.4-20220901/packages.dhall
122−
121+ sha256:f1531b29c21ac437ffe5666c1b6cc76f0a9c29d3c9d107ff047aa2567744994f
123−let overrides =
122+
124− { react-basic-hooks =
125− upstream.react-basic-hooks
123+in upstream
126− // { repo =
124+ with foreign-generic =
127− "https://github.com/i-am-the-slime/purescript-react-basic-hooks.git"
125+ { repo =
128− , version = "e04b106ab2dfda3f9a1407420c434a908ff72b90"
129− }
130− , css =
131− upstream.css
132− // { repo = "https://github.com/i-am-the-slime/purescript-css.git"
126+ "https://github.com/working-group-purescript-es/purescript-foreign-generic.git"
133− , version = "8ea0bab17c268d9c62a09892d7ba231dcbe6308b"
127+ , version = "v0.15.0-updates"
134− }
128+ , dependencies =
135−
129+ [ "effect"
136− , node-net = upstream.node-net
130+ , "exceptions"
137− // { repo = "https://github.com/i-am-the-slime/purescript-node-net.git"
138− , version = "b4efc12a6bc8df695f90e408290b3b82dcd8548b"
139− }
140− }
141−
142−let additions =
143− { react-testing-library =
144− { dependencies =
145− [ "aff-promise"
146− , "console"
147− , "debug"
148− , "effect"
149− , "foreign"
131+ , "foreign"
150− , "foreign-object"
132+ , "foreign-object"
151− , "psci-support"
133+ , "identity"
152− , "react-basic-hooks"
134+ , "ordered-collections"
153− , "remotedata"
135+ , "record"
154− , "run"
155− , "simple-json"
156− , "spec"
157− , "spec-discovery"
158− ]
136+ ]
159− , repo =
160− "https://github.com/i-am-the-slime/purescript-react-testing-library.git"
161− , version = "13a63056506a3ce32572e326130be325931ba7c0"
162− }
137+ }
163− , pseudo-random =
138+ with express =
164− { dependencies =
139+ {dependencies =
165− [ "prelude", "console", "effect", "lcg", "arrays", "st" ]
140+ [ "aff"
166− , repo = "https://github.com/opyapeus/purescript-pseudo-random.git"
141+ , "arrays"
167− , version = "7715e8a2c096c480a093a5e0a6df1ece4df5ed2a"
168− }
169− , oneof =
170− { dependencies =
171− [ "assert"
172− , "console"
173 , "effect"
142 , "effect"
143+ , "either"
144+ , "exceptions"
174 , "foreign"
145 , "foreign"
146+ , "foreign-generic"
175 , "foreign-object"
147 , "foreign-object"
176− , "literal"
148+ , "functions"
177 , "maybe"
149 , "maybe"
178− , "newtype"
150+ , "node-http"
179− , "proxy"
151+ , "prelude"
180− , "psci-support"
152+ , "strings"
181− , "tuples"
153+ , "test-unit"
182− , "unsafe-coerce"
154+ , "transformers"
183− ]
184− , repo = "https://github.com/jvliwanag/purescript-oneof.git"
185− , version = "0325fddf6ee8a181fac2128c9b542c2c01ddd361"
186− }
187− , literal =
188− { dependencies =
189− [ "assert"
190− , "effect"
191− , "console"
192− , "integers"
193− , "numbers"
194− , "partial"
195− , "psci-support"
196 , "unsafe-coerce"
155 , "unsafe-coerce"
197− , "typelevel-prelude"
198 ]
156 ]
199− , repo = "https://github.com/jvliwanag/purescript-literal.git"
157+ , repo = "https://github.com/purescript-express/purescript-express.git"
200− , version = "7b2ae20f77c67b7e419a92fdd0dc7a09b447b18e"
158+ , version = "86ec92f0adaa8b01ef49e01d27d1cb999b4cb4cb"
201− }
202− , justifill =
203− { dependencies = [ "record", "typelevel-prelude" ]
204− , repo = "https://github.com/i-am-the-slime/purescript-justifill.git"
205− , version = "2de06260ae8e37355678198180bbdd06c91457e3"
206− }
207− , matryoshka =
208− { dependencies =
209− [ "prelude", "fixed-points", "free", "transformers", "profunctor" ]
210− , repo = "https://github.com/slamdata/purescript-matryoshka.git"
211− , version = "caaca2d836d52159ba7963333996286a00428394"
212− }
213− , interpolate =
214− { dependencies = [ "prelude" ]
215− , repo = "https://github.com/jordanmartinez/purescript-interpolate.git"
216− , version = "v2.0.1"
217− }
218− , yoga-components = ../components/spago.dhall as Location
219− , foreign-generic = {
220− dependencies =
221− [ "effect"
222− , "foreign"
223− , "foreign-object"
224− , "ordered-collections"
225− , "exceptions"
226− , "record"
227− , "identity"
228− ]
229− , repo =
230− "https://github.com/fsoikin/purescript-foreign-generic.git"
231− , version =
232− "c9ceaa48d4a03ee3db55f1abfb45f830cae329e7"
233− }
234− , uuid = {
235− dependencies =
236− [ "console"
237− , "effect"
238− , "psci-support"
239− , "spec"
240− , "foreign-generic"
241− ]
242− , repo =
243− "https://github.com/spicydonuts/purescript-uuid.git"
244− , version =
245− "7c9b1a1261aadb4db4886b3123683ca29c2663a5"
246− }
247− , express = {
248− dependencies =
249− [ "aff"
250− , "console"
251− , "effect"
252− , "foreign"
253− , "foreign-generic"
254− , "node-http"
255− , "psci-support"
256− , "test-unit"
257− ]
258− , repo =
259− "https://github.com/i-am-the-slime/purescript-express.git"
260− , version =
261− "0.14"
262− }
263− , simple-json = {
264− dependencies =
265− [ "prelude"
266− , "typelevel-prelude"
267− , "record"
268− , "variant"
269− , "nullable"
270− , "foreign-object"
271− , "foreign"
272− , "exceptions"
273− , "arrays"
274− ]
275− , repo = "https://github.com/angelinatarapko/purescript-simple-json.git"
276− , version = "patch-1"
277− }
159+ }
278−}
279−
280−in upstream // overrides // additions
server/spago.dhall+27−1
@@ -4,26 +4,52 @@ You can edit this file as you like.
4-}
4-}
5{ name = "my-project"
5{ name = "my-project"
6, dependencies =
6, dependencies =
7+ [ "aff"
7− [ "aff-promise"
8+ , "aff-promise"
8 , "argonaut"
9 , "argonaut"
9 , "argonaut-codecs"
10 , "argonaut-codecs"
11+ , "argonaut-core"
12+ , "arrays"
10 , "avar"
13 , "avar"
14+ , "bifunctors"
11 , "console"
15 , "console"
16+ , "datetime"
12 , "debug"
17 , "debug"
13 , "effect"
18 , "effect"
19+ , "either"
20+ , "exceptions"
14 , "express"
21 , "express"
22+ , "foldable-traversable"
23+ , "foreign"
15 , "functions"
24 , "functions"
25+ , "httpurple"
26+ , "httpurple-yoga-json"
27+ , "integers"
28+ , "js-date"
16 , "maybe"
29 , "maybe"
30+ , "newtype"
31+ , "node-buffer"
17 , "node-child-process"
32 , "node-child-process"
18 , "node-fs"
33 , "node-fs"
19 , "node-fs-aff"
34 , "node-fs-aff"
35+ , "node-http"
20 , "node-net"
36 , "node-net"
21 , "node-process"
37 , "node-process"
38+ , "parallel"
39+ , "posix-types"
40+ , "prelude"
22 , "psci-support"
41 , "psci-support"
42+ , "refs"
43+ , "routing-duplex"
23 , "spec"
44 , "spec"
24 , "spec-discovery"
45 , "spec-discovery"
46+ , "strings"
25 , "stringutils"
47 , "stringutils"
48+ , "transformers"
49+ , "tuples"
50+ , "unsafe-coerce"
26 , "uuid"
51 , "uuid"
52+ , "yoga-json"
27 ]
53 ]
28, packages = ./packages.dhall
54, packages = ./packages.dhall
29, sources = [ "src/**/*.purs", "test/**/*.purs" ]
55, sources = [ "src/**/*.purs", "test/**/*.purs" ]
server/src/Main.purs+92−65
@@ -1,9 +1,11 @@
1module Main where
1module Main where
2
2
3+import HTTPurple
3−import Prelude
4+import Prelude hiding ((/))
4
5
5import Auth.Handler (authHandler, readAllowedTokens)
6import Auth.Handler (authHandler, readAllowedTokens)
6import Auth.Types (Token(..))
7import Auth.Types (Token(..))
8+import Control.Monad.Cont (ContT(..), callCC, lift, runContT)
7import Control.Parallel (parOneOf, parTraverse)
9import Control.Parallel (parOneOf, parTraverse)
8import Data.Argonaut (jsonParser)
10import Data.Argonaut (jsonParser)
9import Data.Argonaut.Core (Json)
11import Data.Argonaut.Core (Json)
@@ -22,14 +24,18 @@ import Data.Maybe (Maybe(..), fromMaybe)
22import Data.Newtype (un)
24import Data.Newtype (un)
23import Data.Time.Duration (class Duration, Seconds(..), fromDuration)
25import Data.Time.Duration (class Duration, Seconds(..), fromDuration)
24import Data.Traversable (traverse)
26import Data.Traversable (traverse)
27+import Debug (spy)
25import Effect (Effect)
28import Effect (Effect)
29+import Effect.AVar (AVar)
26−import Effect.Aff (Aff, attempt, delay, launchAff_, message)
30+import Effect.Aff (Aff, attempt, delay, error, launchAff_, message)
31+import Effect.Aff.AVar as AVar
27import Effect.Aff.Class (liftAff)
32import Effect.Aff.Class (liftAff)
28import Effect.Class (class MonadEffect, liftEffect)
33import Effect.Class (class MonadEffect, liftEffect)
29import Effect.Class.Console (info, log)
34import Effect.Class.Console (info, log)
30import Effect.Exception (Error)
35import Effect.Exception (Error)
31import Foreign (unsafeToForeign)
36import Foreign (unsafeToForeign)
37+import HTTPurple.Json.Yoga (jsonDecoder, jsonEncoder) as YogaJson
32−import JobQueue (EnqueueResult(..), NewJob(..), Queue, ResourcePool(..))
38+import JobQueue (EnqueueResult(..), Job, NewJob(..), Queue, ResourcePool(..))
33import JobQueue as Q
39import JobQueue as Q
34import Middleware.JsonBodyParser (jsonBodyParser)
40import Middleware.JsonBodyParser (jsonBodyParser)
35import Node.Buffer (Buffer)
41import Node.Buffer (Buffer)
@@ -43,9 +49,7 @@ import Node.Express.Middleware.Static (static)
43import Node.Express.Request (getBody', getRequestHeader)
49import Node.Express.Request (getBody', getRequestHeader)
44import Node.Express.Response (end, setStatus)
50import Node.Express.Response (end, setStatus)
45import Node.Express.Response as Response
51import Node.Express.Response as Response
46−import Node.Express.Types (Request, Response)
47import Node.FS.Aff (readTextFile)
52import Node.FS.Aff (readTextFile)
48−import Node.HTTP (Server)
49import Node.OS (numCpus)
53import Node.OS (numCpus)
50import Node.Process (lookupEnv)
54import Node.Process (lookupEnv)
51import Playground.Playground (Folder(..), copy)
55import Playground.Playground (Folder(..), copy)
@@ -73,58 +77,10 @@ asErrorWithCode = unsafeCoerce >>> decodeJson >>> hush
73runCode ∷ ∀ d. Duration d => d -> Folder -> Aff (Maybe ExecResult)
77runCode ∷ ∀ d. Duration d => d -> Folder -> Aff (Maybe ExecResult)
74runCode timeout folder =
78runCode timeout folder =
75 parOneOf
79 parOneOf
76− [ Just <$> execCommand folder "exec node run.js"
80+ [ Just <$> execCommand folder "exec node run.mjs"
77 , Nothing <$ delay (timeout # fromDuration)
81 , Nothing <$ delay (timeout # fromDuration)
78 ]
82 ]
79
83
80−compileAndRunJob ∷ CompileRequest -> (Handler -> Aff Unit) -> NewJob PscIdeConnection
81−compileAndRunJob json handle =
82− NewJob \jobId conn -> do
83− stringOrErr ∷ Either Error String <- attempt $ compileCode json.code conn
84− jsonOrErr ∷ Either Error (Either Error CompileResult) <- attempt $ readJsonAff `traverse` stringOrErr
85− case jsonOrErr of
86− Left e -> do
87− handle $ setStatus 500
88− log $ "Aff failed with " <> message e
89− handle $ Response.send $ encodeJson {}
90− Right (Right res)
91− | res.resultType == "error" -> do
92− handle $ setStatus 422
93− handle $ Response.send $ encodeJson res
94− Right (Right res) -> do
95− runResult <- runCode timeout (getFolder conn)
96− case runResult of
97− Nothing -> do
98− handle $ setStatus 408
99− handle $ Response.send $ encodeJson { error: "Timed out after running for " <> show timeout }
100− Just rr -> do
101− resultBody <- toBody rr
102− handle $ Response.send $ encodeJson (resultBody ∷ Body.RunResult)
103− Right (Left errs) -> do
104− handle $ setStatus 500
105− log $ "Could not decode: " <> show (lmap (const "no way") stringOrErr) <> "\nErrors: " <> show errs
106− handle $ Response.send $ encodeJson {}
107− where
108− timeout = 1.0 # Seconds
109−
110−compileAndRunHandler ∷ Queue PscIdeConnection -> Handler
111−compileAndRunHandler queue = do
112− body <- getBody'
113− json <- readAff (unsafeCoerce body) # liftAff
114− HandlerM \req res next -> do
115− let
116− handle = unHandler req res next
117− runJob = compileAndRunJob json handle
118− queueRes <- Q.enqueue runJob queue # liftEffect
119− case queueRes of
120− Enqueued _ -> pure unit
121− QueueFull ->
122− handle do
123− setStatus 500
124− Response.send $ encodeJson { error: "Queue full" }
125−
126−unHandler ∷ ∀ a. Request -> Response -> Effect Unit -> HandlerM a -> Aff a
127−unHandler req res next (HandlerM h) = h req res next
128
84
129srcFolder ∷ String
85srcFolder ∷ String
130srcFolder = "../playground"
86srcFolder = "../playground"
@@ -138,7 +94,8 @@ main = do
138 tokens <- readAllowedTokens
94 tokens <- readAllowedTokens
139 cpus <- numCpus # liftEffect
95 cpus <- numCpus # liftEffect
140 let
96 let
141− poolSize = max 2 (cpus / 2) -- use at least 2
97+ -- poolSize = max 2 (cpus / 2) -- use at least 2
98+ poolSize = 2
142 mkFolder = Folder <<< (destFolder <> _) <<< show
99 mkFolder = Folder <<< (destFolder <> _) <<< show
143 connections <-
100 connections <-
144 (1 .. poolSize)
101 (1 .. poolSize)
@@ -156,22 +113,92 @@ main = do
156 , timeout: 10.0 # Seconds # fromDuration
113 , timeout: 10.0 # Seconds # fromDuration
157 }
114 }
158 pool
115 pool
159− serverSetup (makeApp tokens q)
116+ void $ liftEffect (serverSetup q)
117+
118+-- makeApp ∷ Array Token -> Queue PscIdeConnection -> App
119+-- makeApp tokens q = do
120+-- use $ static "assets"
121+-- useExternal jsonBodyParser
122+-- use (authHandler tokens)
123+-- E.post "/compileAndRun" (compileAndRunHandler q)
124+
125+-- serverSetup ∷ App -> Aff Server
126+-- serverSetup app = do
127+-- maybePortString <- lookupEnv "PORT" # liftEffect
128+-- let port = maybePortString >>= fromString # fromMaybe 14188
129+-- liftEffect $ (listenHttp app port) \_ -> info $ "psfp server started on port " <> show port
130+-- where
131+-- makeHttpsOptions = do
132+-- key <- readTextFile UTF8 "server.key"
133+-- cert <- readTextFile UTF8 "server.cert"
134+-- pure { key, cert }
160
135
161−makeApp ∷ Array Token -> Queue PscIdeConnection -> App
136+data Route = CompileAndRun
162−makeApp tokens q = do
137+derive instance Generic Route _
163− use $ static "assets"
164− useExternal jsonBodyParser
165− use (authHandler tokens)
166− E.post "/compileAndRun" (compileAndRunHandler q)
167
138
139+route :: RouteDuplex' Route
140+route = mkRoute
141+ { "CompileAndRun": "compileAndRun" / noArgs
142+ }
143+
168−serverSetup ∷ App -> Aff Server
144+serverSetup :: Queue _ -> Effect Unit
169−serverSetup app = do
145+serverSetup queue = do
170 maybePortString <- lookupEnv "PORT" # liftEffect
146 maybePortString <- lookupEnv "PORT" # liftEffect
171 let port = maybePortString >>= fromString # fromMaybe 14188
147 let port = maybePortString >>= fromString # fromMaybe 14188
148+ --liftEffect $ (listenHttp app port) \_ ->
172− liftEffect $ (listenHttp app port) \_ -> info $ "psfp server started on port " <> show port
149+ info $ "psfp server started on port " <> show port
150+
151+ void $ serve { port } { route, router }
173 where
152 where
153+ router { route: CompileAndRun, method: Post, body } = usingCont do
154+ { code } :: { code :: String } <- fromJson YogaJson.jsonDecoder body -- parse the json input
155+ -- jobId <- compileAndRunJob code
156+ compileAndRunJobCont queue { code } -- do your business logic
157+ -- whatever queue body
158+ --notFound
159+ router _ = notFound
174 makeHttpsOptions = do
160 makeHttpsOptions = do
175 key <- readTextFile UTF8 "server.key"
161 key <- readTextFile UTF8 "server.key"
176 cert <- readTextFile UTF8 "server.cert"
162 cert <- readTextFile UTF8 "server.cert"
177 pure { key, cert }
163 pure { key, cert }
164+
165+compileAndRunJobCont :: Queue _ -> CompileRequest -> ContT Response Aff Response
166+compileAndRunJobCont queue { code } = do
167+ resultVar <- lift AVar.empty
168+ let
169+ job :: NewJob _
170+ job = NewJob \jobId conn -> do
171+ stringOrErr ∷ Either Error String <- attempt $ compileCode code conn
172+ jsonOrErr ∷ Either Error (Either Error CompileResult) <- attempt $ readJsonAff `traverse` stringOrErr
173+ let folder = getFolder conn
174+ AVar.put { jsonOrErr, stringOrErr, folder } resultVar
175+ enqueueResult <- lift $ liftEffect $ Q.enqueue job queue
176+ case enqueueResult of
177+ QueueFull -> notFound
178+ _ -> do
179+ { jsonOrErr, stringOrErr, folder } <- AVar.take resultVar # lift
180+ case jsonOrErr ∷ Either Error (Either Error CompileResult) of
181+ Left e -> do
182+ lift $ log $ "Aff failed with " <> message e
183+ internalServerError' jsonHeaders $ toJson YogaJson.jsonEncoder { error: show e }
184+ Right (Right res)
185+ | res.resultType == "error" -> do
186+ unprocessableEntity
187+ Right (Right res) -> do
188+ runResult <- runCode timeout folder # lift
189+ case runResult of
190+ Nothing -> do
191+ requestTimeout' jsonHeaders -- $ toJson YogaJson.jsonEncoder { error: "Timed out after running for " <> show timeout }
192+ Just rr -> do
193+ resultBody <- toBody rr # lift
194+ ok' jsonHeaders $ toJson YogaJson.jsonEncoder{ resultBody }
195+ Right (Left errs) -> do
196+ log $ "Could not decode: " <> show (lmap (const "no way") stringOrErr) <> "\nErrors: " <> show errs
197+ internalServerError' jsonHeaders $ toJson YogaJson.jsonEncoder { error: show errs }
198+ -- case r of
199+ -- Left err -> internalServerError' jsonHeaders $ toJson YogaJson.jsonEncoder { error: show err }
200+ -- Right result -> ok' jsonHeaders $ toJson YogaJson.jsonEncoder result
201+
202+ where
203+ jsonBody = toJson
204+ timeout = 1.0 # Seconds
server/src/Middleware/JsonBodyParser.js+3−1
@@ -1,3 +1,5 @@
1"use strict";
1"use strict";
2
2
3−exports.jsonBodyParser = require('body-parser').json()
3+import { json } from "body-parser";
4+
5+export const jsonBodyParser = json()
server/src/Node/OS.js+2−2
@@ -1,2 +1,2 @@
1−var os = require('os')
1+import { cpus } from 'os'
2−exports.numCpus = function() { return os.cpus().length }
2+export const numCpus = function() { return cpus().length }
server/src/Playground/Playground.js+4−4
@@ -1,5 +1,5 @@
1−var fs = require("fs-extra")
1+import {copy} from "fs-extra"
2
2
3−exports.copyImpl = function(src, target) {
3+export const copyImpl = function(src, target) {
4− return fs.copy(src, target, { overwrite: true, dereference: true })
4+ return copy(src, target, { overwrite: true, dereference: true })
5−}
5+}
server/src/PscIdeClient.purs+13−11
@@ -52,13 +52,13 @@ closeSocketCanceller s =
52
52
53startIdeServer ∷ Folder -> Int -> Aff ChildProcess
53startIdeServer ∷ Folder -> Int -> Aff ChildProcess
54startIdeServer folder port = do
54startIdeServer folder port = do
55− log $ "Spawning ide server" <> infoString
55+ log $ "Spawning ide server " <> infoString
56− cp <- spawnProcess folder "npx" [ "purs", "ide", "server", "-p", show port, "--editor-mode", "--no-watch" ]
56+ cp <- spawnProcess folder "purs" [ "ide", "server", "-p", show port, "--editor-mode", "--no-watch" ]
57− log $ "Spawned ide server" <> infoString
57+ log $ "Spawned ide server " <> infoString
58 -- building once
58 -- building once
59− { error, stderr, stdout } <- execCommand folder "npx spago build"
59+ { error, stderr, stdout } <- execCommand folder "spago build"
60 stderrStr <- liftEffect $ Buf.toString UTF8 stderr
60 stderrStr <- liftEffect $ Buf.toString UTF8 stderr
61− log $ "Built: " <> stderrStr
61+ log $ "Built: " <> infoString <> " " <> stderrStr
62 log $ "Loading modules: " <> infoString
62 log $ "Loading modules: " <> infoString
63 loadPscIde folder port
63 loadPscIde folder port
64 pure cp
64 pure cp
@@ -74,7 +74,9 @@ execCommand folder command =
74 makeAff \callback -> do
74 makeAff \callback -> do
75 let options = CP.defaultExecOptions { cwd = Just (un Folder folder) }
75 let options = CP.defaultExecOptions { cwd = Just (un Folder folder) }
76 childProcess <- CP.exec command options (callback <<< Right)
76 childProcess <- CP.exec command options (callback <<< Right)
77+ pure $ effectCanceler do
77− pure $ effectCanceler ((log $ "Killing " <> show (CP.pid childProcess)) *> CP.kill SIGKILL childProcess)
78+ log $ "Killing " <> show (CP.pid childProcess)
79+ CP.kill SIGKILL childProcess
78
80
79restartIdeServer ∷ Folder -> Int -> Ref ChildProcess -> Aff Unit
81restartIdeServer ∷ Folder -> Int -> Ref ChildProcess -> Aff Unit
80restartIdeServer folder port processRef = do
82restartIdeServer folder port processRef = do
@@ -89,9 +91,9 @@ spawnProcess folder command args =
89 let options = CP.defaultSpawnOptions { cwd = Just (un Folder folder), stdio = Just <$> [ Ignore, Ignore, Ignore ] }
91 let options = CP.defaultSpawnOptions { cwd = Just (un Folder folder), stdio = Just <$> [ Ignore, Ignore, Ignore ] }
90 childProcess <- CP.spawn command args options
92 childProcess <- CP.spawn command args options
91 callback (Right childProcess)
93 callback (Right childProcess)
92− pure $ effectCanceler
94+ pure $ effectCanceler do
93− $ (log $ "Killing " <> show (CP.pid childProcess))
95+ log $ "Killing " <> show (CP.pid childProcess)
94− *> CP.kill SIGKILL childProcess
96+ CP.kill SIGKILL childProcess
95
97
96newtype PscIdeConnection = PscIdeConnection
98newtype PscIdeConnection = PscIdeConnection
97 { serverProcessRef ∷ Ref ChildProcess
99 { serverProcessRef ∷ Ref ChildProcess
@@ -113,7 +115,7 @@ getFolder (PscIdeConnection { folder }) = folder
113loadPscIde ∷ Folder -> Int -> Aff Unit
115loadPscIde ∷ Folder -> Int -> Aff Unit
114loadPscIde folder port = do
116loadPscIde folder port = do
115 makeAff \affCb -> do
117 makeAff \affCb -> do
116− socket <- Socket.createConnectionTCP port "localhost" mempty
118+ socket <- Socket.createConnectionTCP port "127.0.0.1" mempty
117 -- maybe timeout?
119 -- maybe timeout?
118 Socket.onError socket (affCb <<< Left)
120 Socket.onError socket (affCb <<< Left)
119 void
121 void
@@ -133,7 +135,7 @@ compileCode code (PscIdeConnection { port, folder, serverProcessRef }) = do
133 saveMainFile folder code
135 saveMainFile folder code
134 makeAff \affCb -> do
136 makeAff \affCb -> do
135 log $ "Compiling on " <> show port
137 log $ "Compiling on " <> show port
136− socket <- Socket.createConnectionTCP port "localhost" mempty
138+ socket <- Socket.createConnectionTCP port "127.0.0.1" mempty
137 -- Socket.onError socket (affCb <<< Left)
139 -- Socket.onError socket (affCb <<< Left)
138 resultRef <- Ref.new ""
140 resultRef <- Ref.new ""
139 Socket.onData socket \dataFromServer -> do
141 Socket.onData socket \dataFromServer -> do