enzostvs HF staff commited on
Commit
108f30f
β€’
1 Parent(s): bacde8d

add metadata auto generated on first load of the model

Browse files
package-lock.json CHANGED
@@ -10,7 +10,6 @@
10
  "dependencies": {
11
  "@aws-sdk/client-s3": "^3.490.0",
12
  "@huggingface/hub": "^0.12.3",
13
- "@huggingface/space-header": "^1.0.1",
14
  "@iconify/svelte": "^3.1.4",
15
  "@prisma/client": "^5.7.1",
16
  "@svelte-put/clickoutside": "^3.0.1",
@@ -25,6 +24,7 @@
25
  "moment": "^2.30.1",
26
  "node-cron": "^3.0.3",
27
  "node-fetch": "^3.3.2",
 
28
  "svelte-infinite-scroll": "^2.0.1"
29
  },
30
  "devDependencies": {
@@ -860,6 +860,104 @@
860
  "node": ">=14.0.0"
861
  }
862
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
863
  "node_modules/@emnapi/runtime": {
864
  "version": "0.44.0",
865
  "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.44.0.tgz",
@@ -1281,11 +1379,6 @@
1281
  "node": ">=18"
1282
  }
1283
  },
1284
- "node_modules/@huggingface/space-header": {
1285
- "version": "1.0.1",
1286
- "resolved": "https://registry.npmjs.org/@huggingface/space-header/-/space-header-1.0.1.tgz",
1287
- "integrity": "sha512-sSHZgWoeCKydlWm/qqIzDwqSHUzr9MqFkS58LZPSnSZNMvhRgU8qQCn9TXHAicFuYyW9W3JkCkc2RpnkfAycyw=="
1288
- },
1289
  "node_modules/@humanwhocodes/config-array": {
1290
  "version": "0.11.13",
1291
  "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
@@ -1939,6 +2032,27 @@
1939
  "@prisma/debug": "5.7.1"
1940
  }
1941
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1942
  "node_modules/@rollup/plugin-commonjs": {
1943
  "version": "25.0.7",
1944
  "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz",
@@ -2837,6 +2951,11 @@
2837
  "vite": "^4.0.0"
2838
  }
2839
  },
 
 
 
 
 
2840
  "node_modules/@types/body-parser": {
2841
  "version": "1.19.5",
2842
  "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
@@ -2973,6 +3092,15 @@
2973
  "@types/node": "*"
2974
  }
2975
  },
 
 
 
 
 
 
 
 
 
2976
  "node_modules/@typescript-eslint/eslint-plugin": {
2977
  "version": "6.14.0",
2978
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz",
@@ -3209,6 +3337,17 @@
3209
  "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
3210
  }
3211
  },
 
 
 
 
 
 
 
 
 
 
 
3212
  "node_modules/ajv": {
3213
  "version": "6.12.6",
3214
  "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -3229,7 +3368,6 @@
3229
  "version": "5.0.1",
3230
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
3231
  "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
3232
- "dev": true,
3233
  "engines": {
3234
  "node": ">=8"
3235
  }
@@ -3238,7 +3376,6 @@
3238
  "version": "4.3.0",
3239
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
3240
  "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
3241
- "dev": true,
3242
  "dependencies": {
3243
  "color-convert": "^2.0.1"
3244
  },
@@ -3277,8 +3414,7 @@
3277
  "node_modules/argparse": {
3278
  "version": "2.0.1",
3279
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
3280
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
3281
- "dev": true
3282
  },
3283
  "node_modules/aria-query": {
3284
  "version": "5.3.0",
@@ -3302,6 +3438,17 @@
3302
  "node": ">=8"
3303
  }
3304
  },
 
 
 
 
 
 
 
 
 
 
 
3305
  "node_modules/autoprefixer": {
3306
  "version": "10.4.16",
3307
  "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
@@ -3409,11 +3556,57 @@
3409
  "dequal": "^2.0.3"
3410
  }
3411
  },
 
 
 
 
 
3412
  "node_modules/balanced-match": {
3413
  "version": "1.0.2",
3414
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
3415
  "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
3416
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3417
  "node_modules/base64-js": {
3418
  "version": "1.5.1",
3419
  "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -3433,6 +3626,14 @@
3433
  }
3434
  ]
3435
  },
 
 
 
 
 
 
 
 
3436
  "node_modules/binary-extensions": {
3437
  "version": "2.2.0",
3438
  "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -3537,11 +3738,33 @@
3537
  "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
3538
  }
3539
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3540
  "node_modules/buffer-crc32": {
3541
  "version": "0.2.13",
3542
  "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
3543
  "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
3544
- "dev": true,
3545
  "engines": {
3546
  "node": "*"
3547
  }
@@ -3582,7 +3805,6 @@
3582
  "version": "3.1.0",
3583
  "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
3584
  "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
3585
- "dev": true,
3586
  "engines": {
3587
  "node": ">=6"
3588
  }
@@ -3671,6 +3893,32 @@
3671
  "node": ">= 6"
3672
  }
3673
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3674
  "node_modules/code-red": {
3675
  "version": "1.0.4",
3676
  "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
@@ -3700,7 +3948,6 @@
3700
  "version": "2.0.1",
3701
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
3702
  "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
3703
- "dev": true,
3704
  "dependencies": {
3705
  "color-name": "~1.1.4"
3706
  },
@@ -3711,8 +3958,7 @@
3711
  "node_modules/color-name": {
3712
  "version": "1.1.4",
3713
  "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3714
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3715
- "dev": true
3716
  },
3717
  "node_modules/color-string": {
3718
  "version": "1.9.1",
@@ -3788,6 +4034,31 @@
3788
  "node": ">= 0.10"
3789
  }
3790
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3791
  "node_modules/cross-spawn": {
3792
  "version": "7.0.3",
3793
  "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -3877,6 +4148,19 @@
3877
  "node": ">= 0.4"
3878
  }
3879
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
3880
  "node_modules/depd": {
3881
  "version": "2.0.0",
3882
  "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -3930,6 +4214,11 @@
3930
  "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz",
3931
  "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg=="
3932
  },
 
 
 
 
 
3933
  "node_modules/didyoumean": {
3934
  "version": "1.2.2",
3935
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -3988,6 +4277,11 @@
3988
  "integrity": "sha512-mqi2oL1mfeHYtOdCxbPQYV/PL7YrQlxbvFEZ0Ee8GbDdShimqt2/S6z2RWqysuvlwdOrQdqvE0KZrBTipAeJzg==",
3989
  "dev": true
3990
  },
 
 
 
 
 
3991
  "node_modules/encodeurl": {
3992
  "version": "1.0.2",
3993
  "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -3996,6 +4290,35 @@
3996
  "node": ">= 0.8"
3997
  }
3998
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3999
  "node_modules/es6-promise": {
4000
  "version": "3.3.1",
4001
  "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
@@ -4042,7 +4365,6 @@
4042
  "version": "3.1.1",
4043
  "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
4044
  "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
4045
- "dev": true,
4046
  "engines": {
4047
  "node": ">=6"
4048
  }
@@ -4064,6 +4386,26 @@
4064
  "url": "https://github.com/sponsors/sindresorhus"
4065
  }
4066
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4067
  "node_modules/eslint": {
4068
  "version": "8.55.0",
4069
  "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz",
@@ -4228,6 +4570,18 @@
4228
  "url": "https://opencollective.com/eslint"
4229
  }
4230
  },
 
 
 
 
 
 
 
 
 
 
 
 
4231
  "node_modules/esquery": {
4232
  "version": "1.5.0",
4233
  "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
@@ -4256,7 +4610,6 @@
4256
  "version": "5.3.0",
4257
  "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
4258
  "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
4259
- "dev": true,
4260
  "engines": {
4261
  "node": ">=4.0"
4262
  }
@@ -4273,7 +4626,6 @@
4273
  "version": "2.0.3",
4274
  "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
4275
  "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
4276
- "dev": true,
4277
  "engines": {
4278
  "node": ">=0.10.0"
4279
  }
@@ -4348,12 +4700,36 @@
4348
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
4349
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
4350
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4351
  "node_modules/fast-deep-equal": {
4352
  "version": "3.1.3",
4353
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
4354
  "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
4355
  "dev": true
4356
  },
 
 
 
 
 
4357
  "node_modules/fast-glob": {
4358
  "version": "3.3.2",
4359
  "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
@@ -4424,6 +4800,14 @@
4424
  "reusify": "^1.0.4"
4425
  }
4426
  },
 
 
 
 
 
 
 
 
4427
  "node_modules/fetch-blob": {
4428
  "version": "3.2.0",
4429
  "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
@@ -4584,6 +4968,19 @@
4584
  "node": ">= 0.6"
4585
  }
4586
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
4587
  "node_modules/fs.realpath": {
4588
  "version": "1.0.0",
4589
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -4610,6 +5007,14 @@
4610
  "url": "https://github.com/sponsors/ljharb"
4611
  }
4612
  },
 
 
 
 
 
 
 
 
4613
  "node_modules/get-intrinsic": {
4614
  "version": "1.2.2",
4615
  "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
@@ -4624,6 +5029,42 @@
4624
  "url": "https://github.com/sponsors/ljharb"
4625
  }
4626
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4627
  "node_modules/glob": {
4628
  "version": "7.2.3",
4629
  "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@@ -4715,8 +5156,7 @@
4715
  "node_modules/graceful-fs": {
4716
  "version": "4.2.11",
4717
  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
4718
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
4719
- "dev": true
4720
  },
4721
  "node_modules/graphemer": {
4722
  "version": "1.4.0",
@@ -4811,6 +5251,30 @@
4811
  "node": ">= 0.8"
4812
  }
4813
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4814
  "node_modules/iconv-lite": {
4815
  "version": "0.4.24",
4816
  "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -4822,6 +5286,25 @@
4822
  "node": ">=0.10.0"
4823
  }
4824
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4825
  "node_modules/ignore": {
4826
  "version": "5.3.0",
4827
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
@@ -4853,7 +5336,6 @@
4853
  "version": "3.3.0",
4854
  "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
4855
  "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
4856
- "dev": true,
4857
  "dependencies": {
4858
  "parent-module": "^1.0.0",
4859
  "resolve-from": "^4.0.0"
@@ -4898,6 +5380,18 @@
4898
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
4899
  "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
4900
  },
 
 
 
 
 
 
 
 
 
 
 
 
4901
  "node_modules/ipaddr.js": {
4902
  "version": "1.9.1",
4903
  "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -4984,6 +5478,14 @@
4984
  "node": ">=0.10.0"
4985
  }
4986
  },
 
 
 
 
 
 
 
 
4987
  "node_modules/is-generator-function": {
4988
  "version": "1.0.10",
4989
  "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
@@ -5091,11 +5593,15 @@
5091
  "node": ">=14"
5092
  }
5093
  },
 
 
 
 
 
5094
  "node_modules/js-yaml": {
5095
  "version": "4.1.0",
5096
  "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
5097
  "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
5098
- "dev": true,
5099
  "dependencies": {
5100
  "argparse": "^2.0.1"
5101
  },
@@ -5103,12 +5609,22 @@
5103
  "js-yaml": "bin/js-yaml.js"
5104
  }
5105
  },
 
 
 
 
 
5106
  "node_modules/json-buffer": {
5107
  "version": "3.0.1",
5108
  "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
5109
  "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
5110
  "dev": true
5111
  },
 
 
 
 
 
5112
  "node_modules/json-schema-traverse": {
5113
  "version": "0.4.1",
5114
  "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -5121,6 +5637,17 @@
5121
  "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
5122
  "dev": true
5123
  },
 
 
 
 
 
 
 
 
 
 
 
5124
  "node_modules/keyv": {
5125
  "version": "4.5.4",
5126
  "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@@ -5169,8 +5696,7 @@
5169
  "node_modules/lines-and-columns": {
5170
  "version": "1.2.4",
5171
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
5172
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
5173
- "dev": true
5174
  },
5175
  "node_modules/locate-character": {
5176
  "version": "3.0.0",
@@ -5202,7 +5728,6 @@
5202
  "version": "6.0.0",
5203
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
5204
  "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
5205
- "dev": true,
5206
  "dependencies": {
5207
  "yallist": "^4.0.0"
5208
  },
@@ -5329,6 +5854,11 @@
5329
  "url": "https://github.com/sponsors/ljharb"
5330
  }
5331
  },
 
 
 
 
 
5332
  "node_modules/mkdirp": {
5333
  "version": "0.5.6",
5334
  "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
@@ -5412,6 +5942,14 @@
5412
  "node": ">= 0.6"
5413
  }
5414
  },
 
 
 
 
 
 
 
 
5415
  "node_modules/node-cron": {
5416
  "version": "3.0.3",
5417
  "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz",
@@ -5573,11 +6111,40 @@
5573
  "url": "https://github.com/sponsors/sindresorhus"
5574
  }
5575
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5576
  "node_modules/parent-module": {
5577
  "version": "1.0.1",
5578
  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
5579
  "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
5580
- "dev": true,
5581
  "dependencies": {
5582
  "callsites": "^3.0.0"
5583
  },
@@ -5585,6 +6152,23 @@
5585
  "node": ">=6"
5586
  }
5587
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5588
  "node_modules/parseurl": {
5589
  "version": "1.3.3",
5590
  "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -5639,6 +6223,11 @@
5639
  "node": ">=8"
5640
  }
5641
  },
 
 
 
 
 
5642
  "node_modules/periscopic": {
5643
  "version": "3.1.0",
5644
  "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
@@ -5905,6 +6494,14 @@
5905
  "node": ">=16.13"
5906
  }
5907
  },
 
 
 
 
 
 
 
 
5908
  "node_modules/proxy-addr": {
5909
  "version": "2.0.7",
5910
  "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -5917,6 +6514,46 @@
5917
  "node": ">= 0.10"
5918
  }
5919
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5920
  "node_modules/punycode": {
5921
  "version": "2.3.1",
5922
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -5926,6 +6563,55 @@
5926
  "node": ">=6"
5927
  }
5928
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5929
  "node_modules/qs": {
5930
  "version": "6.11.0",
5931
  "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
@@ -5969,6 +6655,11 @@
5969
  }
5970
  ]
5971
  },
 
 
 
 
 
5972
  "node_modules/range-parser": {
5973
  "version": "1.2.1",
5974
  "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -6012,6 +6703,14 @@
6012
  "node": ">=8.10.0"
6013
  }
6014
  },
 
 
 
 
 
 
 
 
6015
  "node_modules/resolve": {
6016
  "version": "1.22.8",
6017
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
@@ -6032,7 +6731,6 @@
6032
  "version": "4.0.0",
6033
  "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
6034
  "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
6035
- "dev": true,
6036
  "engines": {
6037
  "node": ">=4"
6038
  }
@@ -6182,10 +6880,9 @@
6182
  "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
6183
  },
6184
  "node_modules/semver": {
6185
- "version": "7.5.4",
6186
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
6187
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
6188
- "dev": true,
6189
  "dependencies": {
6190
  "lru-cache": "^6.0.0"
6191
  },
@@ -6381,6 +7078,41 @@
6381
  "node": ">=8"
6382
  }
6383
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6384
  "node_modules/sorcery": {
6385
  "version": "0.11.0",
6386
  "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz",
@@ -6396,6 +7128,15 @@
6396
  "sorcery": "bin/sorcery"
6397
  }
6398
  },
 
 
 
 
 
 
 
 
 
6399
  "node_modules/source-map-js": {
6400
  "version": "1.0.2",
6401
  "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
@@ -6404,6 +7145,11 @@
6404
  "node": ">=0.10.0"
6405
  }
6406
  },
 
 
 
 
 
6407
  "node_modules/statuses": {
6408
  "version": "2.0.1",
6409
  "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
@@ -6412,11 +7158,36 @@
6412
  "node": ">= 0.8"
6413
  }
6414
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6415
  "node_modules/strip-ansi": {
6416
  "version": "6.0.1",
6417
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
6418
  "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
6419
- "dev": true,
6420
  "dependencies": {
6421
  "ansi-regex": "^5.0.1"
6422
  },
@@ -6782,6 +7553,37 @@
6782
  "node": ">= 14"
6783
  }
6784
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6785
  "node_modules/text-table": {
6786
  "version": "0.2.0",
6787
  "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -6809,6 +7611,11 @@
6809
  "node": ">=0.8"
6810
  }
6811
  },
 
 
 
 
 
6812
  "node_modules/tiny-glob": {
6813
  "version": "0.2.9",
6814
  "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
@@ -6909,7 +7716,7 @@
6909
  "version": "5.3.3",
6910
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
6911
  "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
6912
- "dev": true,
6913
  "bin": {
6914
  "tsc": "bin/tsc",
6915
  "tsserver": "bin/tsserver"
@@ -6918,6 +7725,15 @@
6918
  "node": ">=14.17"
6919
  }
6920
  },
 
 
 
 
 
 
 
 
 
6921
  "node_modules/undici": {
6922
  "version": "5.26.5",
6923
  "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.5.tgz",
@@ -6935,6 +7751,14 @@
6935
  "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
6936
  "devOptional": true
6937
  },
 
 
 
 
 
 
 
 
6938
  "node_modules/unpipe": {
6939
  "version": "1.0.0",
6940
  "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -6996,6 +7820,11 @@
6996
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
6997
  "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
6998
  },
 
 
 
 
 
6999
  "node_modules/util": {
7000
  "version": "0.12.5",
7001
  "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
@@ -7159,11 +7988,47 @@
7159
  "url": "https://github.com/sponsors/ljharb"
7160
  }
7161
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7162
  "node_modules/wrappy": {
7163
  "version": "1.0.2",
7164
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
7165
  "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
7166
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7167
  "node_modules/xml2js": {
7168
  "version": "0.5.0",
7169
  "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
@@ -7184,11 +8049,18 @@
7184
  "node": ">=4.0"
7185
  }
7186
  },
 
 
 
 
 
 
 
 
7187
  "node_modules/yallist": {
7188
  "version": "4.0.0",
7189
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
7190
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
7191
- "dev": true
7192
  },
7193
  "node_modules/yaml": {
7194
  "version": "1.10.2",
@@ -7199,6 +8071,40 @@
7199
  "node": ">= 6"
7200
  }
7201
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7202
  "node_modules/yocto-queue": {
7203
  "version": "0.1.0",
7204
  "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
@@ -7210,6 +8116,14 @@
7210
  "funding": {
7211
  "url": "https://github.com/sponsors/sindresorhus"
7212
  }
 
 
 
 
 
 
 
 
7213
  }
7214
  }
7215
  }
 
10
  "dependencies": {
11
  "@aws-sdk/client-s3": "^3.490.0",
12
  "@huggingface/hub": "^0.12.3",
 
13
  "@iconify/svelte": "^3.1.4",
14
  "@prisma/client": "^5.7.1",
15
  "@svelte-put/clickoutside": "^3.0.1",
 
24
  "moment": "^2.30.1",
25
  "node-cron": "^3.0.3",
26
  "node-fetch": "^3.3.2",
27
+ "puppeteer": "^22.11.2",
28
  "svelte-infinite-scroll": "^2.0.1"
29
  },
30
  "devDependencies": {
 
860
  "node": ">=14.0.0"
861
  }
862
  },
863
+ "node_modules/@babel/code-frame": {
864
+ "version": "7.24.7",
865
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
866
+ "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
867
+ "dependencies": {
868
+ "@babel/highlight": "^7.24.7",
869
+ "picocolors": "^1.0.0"
870
+ },
871
+ "engines": {
872
+ "node": ">=6.9.0"
873
+ }
874
+ },
875
+ "node_modules/@babel/helper-validator-identifier": {
876
+ "version": "7.24.7",
877
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
878
+ "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
879
+ "engines": {
880
+ "node": ">=6.9.0"
881
+ }
882
+ },
883
+ "node_modules/@babel/highlight": {
884
+ "version": "7.24.7",
885
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
886
+ "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
887
+ "dependencies": {
888
+ "@babel/helper-validator-identifier": "^7.24.7",
889
+ "chalk": "^2.4.2",
890
+ "js-tokens": "^4.0.0",
891
+ "picocolors": "^1.0.0"
892
+ },
893
+ "engines": {
894
+ "node": ">=6.9.0"
895
+ }
896
+ },
897
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
898
+ "version": "3.2.1",
899
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
900
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
901
+ "dependencies": {
902
+ "color-convert": "^1.9.0"
903
+ },
904
+ "engines": {
905
+ "node": ">=4"
906
+ }
907
+ },
908
+ "node_modules/@babel/highlight/node_modules/chalk": {
909
+ "version": "2.4.2",
910
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
911
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
912
+ "dependencies": {
913
+ "ansi-styles": "^3.2.1",
914
+ "escape-string-regexp": "^1.0.5",
915
+ "supports-color": "^5.3.0"
916
+ },
917
+ "engines": {
918
+ "node": ">=4"
919
+ }
920
+ },
921
+ "node_modules/@babel/highlight/node_modules/color-convert": {
922
+ "version": "1.9.3",
923
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
924
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
925
+ "dependencies": {
926
+ "color-name": "1.1.3"
927
+ }
928
+ },
929
+ "node_modules/@babel/highlight/node_modules/color-name": {
930
+ "version": "1.1.3",
931
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
932
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
933
+ },
934
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
935
+ "version": "1.0.5",
936
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
937
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
938
+ "engines": {
939
+ "node": ">=0.8.0"
940
+ }
941
+ },
942
+ "node_modules/@babel/highlight/node_modules/has-flag": {
943
+ "version": "3.0.0",
944
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
945
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
946
+ "engines": {
947
+ "node": ">=4"
948
+ }
949
+ },
950
+ "node_modules/@babel/highlight/node_modules/supports-color": {
951
+ "version": "5.5.0",
952
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
953
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
954
+ "dependencies": {
955
+ "has-flag": "^3.0.0"
956
+ },
957
+ "engines": {
958
+ "node": ">=4"
959
+ }
960
+ },
961
  "node_modules/@emnapi/runtime": {
962
  "version": "0.44.0",
963
  "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.44.0.tgz",
 
1379
  "node": ">=18"
1380
  }
1381
  },
 
 
 
 
 
1382
  "node_modules/@humanwhocodes/config-array": {
1383
  "version": "0.11.13",
1384
  "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
 
2032
  "@prisma/debug": "5.7.1"
2033
  }
2034
  },
2035
+ "node_modules/@puppeteer/browsers": {
2036
+ "version": "2.2.3",
2037
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.3.tgz",
2038
+ "integrity": "sha512-bJ0UBsk0ESOs6RFcLXOt99a3yTDcOKlzfjad+rhFwdaG1Lu/Wzq58GHYCDTlZ9z6mldf4g+NTb+TXEfe0PpnsQ==",
2039
+ "dependencies": {
2040
+ "debug": "4.3.4",
2041
+ "extract-zip": "2.0.1",
2042
+ "progress": "2.0.3",
2043
+ "proxy-agent": "6.4.0",
2044
+ "semver": "7.6.0",
2045
+ "tar-fs": "3.0.5",
2046
+ "unbzip2-stream": "1.4.3",
2047
+ "yargs": "17.7.2"
2048
+ },
2049
+ "bin": {
2050
+ "browsers": "lib/cjs/main-cli.js"
2051
+ },
2052
+ "engines": {
2053
+ "node": ">=18"
2054
+ }
2055
+ },
2056
  "node_modules/@rollup/plugin-commonjs": {
2057
  "version": "25.0.7",
2058
  "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz",
 
2951
  "vite": "^4.0.0"
2952
  }
2953
  },
2954
+ "node_modules/@tootallnate/quickjs-emscripten": {
2955
+ "version": "0.23.0",
2956
+ "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
2957
+ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="
2958
+ },
2959
  "node_modules/@types/body-parser": {
2960
  "version": "1.19.5",
2961
  "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
 
3092
  "@types/node": "*"
3093
  }
3094
  },
3095
+ "node_modules/@types/yauzl": {
3096
+ "version": "2.10.3",
3097
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
3098
+ "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
3099
+ "optional": true,
3100
+ "dependencies": {
3101
+ "@types/node": "*"
3102
+ }
3103
+ },
3104
  "node_modules/@typescript-eslint/eslint-plugin": {
3105
  "version": "6.14.0",
3106
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz",
 
3337
  "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
3338
  }
3339
  },
3340
+ "node_modules/agent-base": {
3341
+ "version": "7.1.1",
3342
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
3343
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
3344
+ "dependencies": {
3345
+ "debug": "^4.3.4"
3346
+ },
3347
+ "engines": {
3348
+ "node": ">= 14"
3349
+ }
3350
+ },
3351
  "node_modules/ajv": {
3352
  "version": "6.12.6",
3353
  "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
 
3368
  "version": "5.0.1",
3369
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
3370
  "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 
3371
  "engines": {
3372
  "node": ">=8"
3373
  }
 
3376
  "version": "4.3.0",
3377
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
3378
  "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
 
3379
  "dependencies": {
3380
  "color-convert": "^2.0.1"
3381
  },
 
3414
  "node_modules/argparse": {
3415
  "version": "2.0.1",
3416
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
3417
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
 
3418
  },
3419
  "node_modules/aria-query": {
3420
  "version": "5.3.0",
 
3438
  "node": ">=8"
3439
  }
3440
  },
3441
+ "node_modules/ast-types": {
3442
+ "version": "0.13.4",
3443
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
3444
+ "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
3445
+ "dependencies": {
3446
+ "tslib": "^2.0.1"
3447
+ },
3448
+ "engines": {
3449
+ "node": ">=4"
3450
+ }
3451
+ },
3452
  "node_modules/autoprefixer": {
3453
  "version": "10.4.16",
3454
  "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
 
3556
  "dequal": "^2.0.3"
3557
  }
3558
  },
3559
+ "node_modules/b4a": {
3560
+ "version": "1.6.6",
3561
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
3562
+ "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg=="
3563
+ },
3564
  "node_modules/balanced-match": {
3565
  "version": "1.0.2",
3566
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
3567
  "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
3568
  },
3569
+ "node_modules/bare-events": {
3570
+ "version": "2.4.2",
3571
+ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz",
3572
+ "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==",
3573
+ "optional": true
3574
+ },
3575
+ "node_modules/bare-fs": {
3576
+ "version": "2.3.1",
3577
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.1.tgz",
3578
+ "integrity": "sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==",
3579
+ "optional": true,
3580
+ "dependencies": {
3581
+ "bare-events": "^2.0.0",
3582
+ "bare-path": "^2.0.0",
3583
+ "bare-stream": "^2.0.0"
3584
+ }
3585
+ },
3586
+ "node_modules/bare-os": {
3587
+ "version": "2.4.0",
3588
+ "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.0.tgz",
3589
+ "integrity": "sha512-v8DTT08AS/G0F9xrhyLtepoo9EJBJ85FRSMbu1pQUlAf6A8T0tEEQGMVObWeqpjhSPXsE0VGlluFBJu2fdoTNg==",
3590
+ "optional": true
3591
+ },
3592
+ "node_modules/bare-path": {
3593
+ "version": "2.1.3",
3594
+ "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz",
3595
+ "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==",
3596
+ "optional": true,
3597
+ "dependencies": {
3598
+ "bare-os": "^2.1.0"
3599
+ }
3600
+ },
3601
+ "node_modules/bare-stream": {
3602
+ "version": "2.1.3",
3603
+ "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.1.3.tgz",
3604
+ "integrity": "sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==",
3605
+ "optional": true,
3606
+ "dependencies": {
3607
+ "streamx": "^2.18.0"
3608
+ }
3609
+ },
3610
  "node_modules/base64-js": {
3611
  "version": "1.5.1",
3612
  "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 
3626
  }
3627
  ]
3628
  },
3629
+ "node_modules/basic-ftp": {
3630
+ "version": "5.0.5",
3631
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
3632
+ "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
3633
+ "engines": {
3634
+ "node": ">=10.0.0"
3635
+ }
3636
+ },
3637
  "node_modules/binary-extensions": {
3638
  "version": "2.2.0",
3639
  "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
 
3738
  "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
3739
  }
3740
  },
3741
+ "node_modules/buffer": {
3742
+ "version": "5.7.1",
3743
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
3744
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
3745
+ "funding": [
3746
+ {
3747
+ "type": "github",
3748
+ "url": "https://github.com/sponsors/feross"
3749
+ },
3750
+ {
3751
+ "type": "patreon",
3752
+ "url": "https://www.patreon.com/feross"
3753
+ },
3754
+ {
3755
+ "type": "consulting",
3756
+ "url": "https://feross.org/support"
3757
+ }
3758
+ ],
3759
+ "dependencies": {
3760
+ "base64-js": "^1.3.1",
3761
+ "ieee754": "^1.1.13"
3762
+ }
3763
+ },
3764
  "node_modules/buffer-crc32": {
3765
  "version": "0.2.13",
3766
  "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
3767
  "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
 
3768
  "engines": {
3769
  "node": "*"
3770
  }
 
3805
  "version": "3.1.0",
3806
  "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
3807
  "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
 
3808
  "engines": {
3809
  "node": ">=6"
3810
  }
 
3893
  "node": ">= 6"
3894
  }
3895
  },
3896
+ "node_modules/chromium-bidi": {
3897
+ "version": "0.5.23",
3898
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.23.tgz",
3899
+ "integrity": "sha512-1o/gLU9wDqbN5nL2MtfjykjOuighGXc3/hnWueO1haiEoFgX8h5vbvcA4tgdQfjw1mkZ1OEF4x/+HVeqEX6NoA==",
3900
+ "dependencies": {
3901
+ "mitt": "3.0.1",
3902
+ "urlpattern-polyfill": "10.0.0",
3903
+ "zod": "3.23.8"
3904
+ },
3905
+ "peerDependencies": {
3906
+ "devtools-protocol": "*"
3907
+ }
3908
+ },
3909
+ "node_modules/cliui": {
3910
+ "version": "8.0.1",
3911
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
3912
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
3913
+ "dependencies": {
3914
+ "string-width": "^4.2.0",
3915
+ "strip-ansi": "^6.0.1",
3916
+ "wrap-ansi": "^7.0.0"
3917
+ },
3918
+ "engines": {
3919
+ "node": ">=12"
3920
+ }
3921
+ },
3922
  "node_modules/code-red": {
3923
  "version": "1.0.4",
3924
  "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
 
3948
  "version": "2.0.1",
3949
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
3950
  "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
 
3951
  "dependencies": {
3952
  "color-name": "~1.1.4"
3953
  },
 
3958
  "node_modules/color-name": {
3959
  "version": "1.1.4",
3960
  "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3961
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
 
3962
  },
3963
  "node_modules/color-string": {
3964
  "version": "1.9.1",
 
4034
  "node": ">= 0.10"
4035
  }
4036
  },
4037
+ "node_modules/cosmiconfig": {
4038
+ "version": "9.0.0",
4039
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
4040
+ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
4041
+ "dependencies": {
4042
+ "env-paths": "^2.2.1",
4043
+ "import-fresh": "^3.3.0",
4044
+ "js-yaml": "^4.1.0",
4045
+ "parse-json": "^5.2.0"
4046
+ },
4047
+ "engines": {
4048
+ "node": ">=14"
4049
+ },
4050
+ "funding": {
4051
+ "url": "https://github.com/sponsors/d-fischer"
4052
+ },
4053
+ "peerDependencies": {
4054
+ "typescript": ">=4.9.5"
4055
+ },
4056
+ "peerDependenciesMeta": {
4057
+ "typescript": {
4058
+ "optional": true
4059
+ }
4060
+ }
4061
+ },
4062
  "node_modules/cross-spawn": {
4063
  "version": "7.0.3",
4064
  "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
 
4148
  "node": ">= 0.4"
4149
  }
4150
  },
4151
+ "node_modules/degenerator": {
4152
+ "version": "5.0.1",
4153
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
4154
+ "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
4155
+ "dependencies": {
4156
+ "ast-types": "^0.13.4",
4157
+ "escodegen": "^2.1.0",
4158
+ "esprima": "^4.0.1"
4159
+ },
4160
+ "engines": {
4161
+ "node": ">= 14"
4162
+ }
4163
+ },
4164
  "node_modules/depd": {
4165
  "version": "2.0.0",
4166
  "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
 
4214
  "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz",
4215
  "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg=="
4216
  },
4217
+ "node_modules/devtools-protocol": {
4218
+ "version": "0.0.1299070",
4219
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1299070.tgz",
4220
+ "integrity": "sha512-+qtL3eX50qsJ7c+qVyagqi7AWMoQCBGNfoyJZMwm/NSXVqLYbuitrWEEIzxfUmTNy7//Xe8yhMmQ+elj3uAqSg=="
4221
+ },
4222
  "node_modules/didyoumean": {
4223
  "version": "1.2.2",
4224
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
 
4277
  "integrity": "sha512-mqi2oL1mfeHYtOdCxbPQYV/PL7YrQlxbvFEZ0Ee8GbDdShimqt2/S6z2RWqysuvlwdOrQdqvE0KZrBTipAeJzg==",
4278
  "dev": true
4279
  },
4280
+ "node_modules/emoji-regex": {
4281
+ "version": "8.0.0",
4282
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
4283
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
4284
+ },
4285
  "node_modules/encodeurl": {
4286
  "version": "1.0.2",
4287
  "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
 
4290
  "node": ">= 0.8"
4291
  }
4292
  },
4293
+ "node_modules/end-of-stream": {
4294
+ "version": "1.4.4",
4295
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
4296
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
4297
+ "dependencies": {
4298
+ "once": "^1.4.0"
4299
+ }
4300
+ },
4301
+ "node_modules/env-paths": {
4302
+ "version": "2.2.1",
4303
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
4304
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
4305
+ "engines": {
4306
+ "node": ">=6"
4307
+ }
4308
+ },
4309
+ "node_modules/error-ex": {
4310
+ "version": "1.3.2",
4311
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
4312
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
4313
+ "dependencies": {
4314
+ "is-arrayish": "^0.2.1"
4315
+ }
4316
+ },
4317
+ "node_modules/error-ex/node_modules/is-arrayish": {
4318
+ "version": "0.2.1",
4319
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
4320
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
4321
+ },
4322
  "node_modules/es6-promise": {
4323
  "version": "3.3.1",
4324
  "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
 
4365
  "version": "3.1.1",
4366
  "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
4367
  "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
 
4368
  "engines": {
4369
  "node": ">=6"
4370
  }
 
4386
  "url": "https://github.com/sponsors/sindresorhus"
4387
  }
4388
  },
4389
+ "node_modules/escodegen": {
4390
+ "version": "2.1.0",
4391
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
4392
+ "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
4393
+ "dependencies": {
4394
+ "esprima": "^4.0.1",
4395
+ "estraverse": "^5.2.0",
4396
+ "esutils": "^2.0.2"
4397
+ },
4398
+ "bin": {
4399
+ "escodegen": "bin/escodegen.js",
4400
+ "esgenerate": "bin/esgenerate.js"
4401
+ },
4402
+ "engines": {
4403
+ "node": ">=6.0"
4404
+ },
4405
+ "optionalDependencies": {
4406
+ "source-map": "~0.6.1"
4407
+ }
4408
+ },
4409
  "node_modules/eslint": {
4410
  "version": "8.55.0",
4411
  "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz",
 
4570
  "url": "https://opencollective.com/eslint"
4571
  }
4572
  },
4573
+ "node_modules/esprima": {
4574
+ "version": "4.0.1",
4575
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
4576
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
4577
+ "bin": {
4578
+ "esparse": "bin/esparse.js",
4579
+ "esvalidate": "bin/esvalidate.js"
4580
+ },
4581
+ "engines": {
4582
+ "node": ">=4"
4583
+ }
4584
+ },
4585
  "node_modules/esquery": {
4586
  "version": "1.5.0",
4587
  "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
 
4610
  "version": "5.3.0",
4611
  "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
4612
  "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
 
4613
  "engines": {
4614
  "node": ">=4.0"
4615
  }
 
4626
  "version": "2.0.3",
4627
  "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
4628
  "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
 
4629
  "engines": {
4630
  "node": ">=0.10.0"
4631
  }
 
4700
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
4701
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
4702
  },
4703
+ "node_modules/extract-zip": {
4704
+ "version": "2.0.1",
4705
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
4706
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
4707
+ "dependencies": {
4708
+ "debug": "^4.1.1",
4709
+ "get-stream": "^5.1.0",
4710
+ "yauzl": "^2.10.0"
4711
+ },
4712
+ "bin": {
4713
+ "extract-zip": "cli.js"
4714
+ },
4715
+ "engines": {
4716
+ "node": ">= 10.17.0"
4717
+ },
4718
+ "optionalDependencies": {
4719
+ "@types/yauzl": "^2.9.1"
4720
+ }
4721
+ },
4722
  "node_modules/fast-deep-equal": {
4723
  "version": "3.1.3",
4724
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
4725
  "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
4726
  "dev": true
4727
  },
4728
+ "node_modules/fast-fifo": {
4729
+ "version": "1.3.2",
4730
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
4731
+ "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="
4732
+ },
4733
  "node_modules/fast-glob": {
4734
  "version": "3.3.2",
4735
  "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
 
4800
  "reusify": "^1.0.4"
4801
  }
4802
  },
4803
+ "node_modules/fd-slicer": {
4804
+ "version": "1.1.0",
4805
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
4806
+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
4807
+ "dependencies": {
4808
+ "pend": "~1.2.0"
4809
+ }
4810
+ },
4811
  "node_modules/fetch-blob": {
4812
  "version": "3.2.0",
4813
  "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
 
4968
  "node": ">= 0.6"
4969
  }
4970
  },
4971
+ "node_modules/fs-extra": {
4972
+ "version": "11.2.0",
4973
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
4974
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
4975
+ "dependencies": {
4976
+ "graceful-fs": "^4.2.0",
4977
+ "jsonfile": "^6.0.1",
4978
+ "universalify": "^2.0.0"
4979
+ },
4980
+ "engines": {
4981
+ "node": ">=14.14"
4982
+ }
4983
+ },
4984
  "node_modules/fs.realpath": {
4985
  "version": "1.0.0",
4986
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 
5007
  "url": "https://github.com/sponsors/ljharb"
5008
  }
5009
  },
5010
+ "node_modules/get-caller-file": {
5011
+ "version": "2.0.5",
5012
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
5013
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
5014
+ "engines": {
5015
+ "node": "6.* || 8.* || >= 10.*"
5016
+ }
5017
+ },
5018
  "node_modules/get-intrinsic": {
5019
  "version": "1.2.2",
5020
  "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
 
5029
  "url": "https://github.com/sponsors/ljharb"
5030
  }
5031
  },
5032
+ "node_modules/get-stream": {
5033
+ "version": "5.2.0",
5034
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
5035
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
5036
+ "dependencies": {
5037
+ "pump": "^3.0.0"
5038
+ },
5039
+ "engines": {
5040
+ "node": ">=8"
5041
+ },
5042
+ "funding": {
5043
+ "url": "https://github.com/sponsors/sindresorhus"
5044
+ }
5045
+ },
5046
+ "node_modules/get-uri": {
5047
+ "version": "6.0.3",
5048
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz",
5049
+ "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==",
5050
+ "dependencies": {
5051
+ "basic-ftp": "^5.0.2",
5052
+ "data-uri-to-buffer": "^6.0.2",
5053
+ "debug": "^4.3.4",
5054
+ "fs-extra": "^11.2.0"
5055
+ },
5056
+ "engines": {
5057
+ "node": ">= 14"
5058
+ }
5059
+ },
5060
+ "node_modules/get-uri/node_modules/data-uri-to-buffer": {
5061
+ "version": "6.0.2",
5062
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
5063
+ "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
5064
+ "engines": {
5065
+ "node": ">= 14"
5066
+ }
5067
+ },
5068
  "node_modules/glob": {
5069
  "version": "7.2.3",
5070
  "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
 
5156
  "node_modules/graceful-fs": {
5157
  "version": "4.2.11",
5158
  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
5159
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
 
5160
  },
5161
  "node_modules/graphemer": {
5162
  "version": "1.4.0",
 
5251
  "node": ">= 0.8"
5252
  }
5253
  },
5254
+ "node_modules/http-proxy-agent": {
5255
+ "version": "7.0.2",
5256
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
5257
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
5258
+ "dependencies": {
5259
+ "agent-base": "^7.1.0",
5260
+ "debug": "^4.3.4"
5261
+ },
5262
+ "engines": {
5263
+ "node": ">= 14"
5264
+ }
5265
+ },
5266
+ "node_modules/https-proxy-agent": {
5267
+ "version": "7.0.4",
5268
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
5269
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
5270
+ "dependencies": {
5271
+ "agent-base": "^7.0.2",
5272
+ "debug": "4"
5273
+ },
5274
+ "engines": {
5275
+ "node": ">= 14"
5276
+ }
5277
+ },
5278
  "node_modules/iconv-lite": {
5279
  "version": "0.4.24",
5280
  "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 
5286
  "node": ">=0.10.0"
5287
  }
5288
  },
5289
+ "node_modules/ieee754": {
5290
+ "version": "1.2.1",
5291
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
5292
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
5293
+ "funding": [
5294
+ {
5295
+ "type": "github",
5296
+ "url": "https://github.com/sponsors/feross"
5297
+ },
5298
+ {
5299
+ "type": "patreon",
5300
+ "url": "https://www.patreon.com/feross"
5301
+ },
5302
+ {
5303
+ "type": "consulting",
5304
+ "url": "https://feross.org/support"
5305
+ }
5306
+ ]
5307
+ },
5308
  "node_modules/ignore": {
5309
  "version": "5.3.0",
5310
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
 
5336
  "version": "3.3.0",
5337
  "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
5338
  "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
 
5339
  "dependencies": {
5340
  "parent-module": "^1.0.0",
5341
  "resolve-from": "^4.0.0"
 
5380
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
5381
  "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
5382
  },
5383
+ "node_modules/ip-address": {
5384
+ "version": "9.0.5",
5385
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
5386
+ "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
5387
+ "dependencies": {
5388
+ "jsbn": "1.1.0",
5389
+ "sprintf-js": "^1.1.3"
5390
+ },
5391
+ "engines": {
5392
+ "node": ">= 12"
5393
+ }
5394
+ },
5395
  "node_modules/ipaddr.js": {
5396
  "version": "1.9.1",
5397
  "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
 
5478
  "node": ">=0.10.0"
5479
  }
5480
  },
5481
+ "node_modules/is-fullwidth-code-point": {
5482
+ "version": "3.0.0",
5483
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
5484
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
5485
+ "engines": {
5486
+ "node": ">=8"
5487
+ }
5488
+ },
5489
  "node_modules/is-generator-function": {
5490
  "version": "1.0.10",
5491
  "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
 
5593
  "node": ">=14"
5594
  }
5595
  },
5596
+ "node_modules/js-tokens": {
5597
+ "version": "4.0.0",
5598
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
5599
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
5600
+ },
5601
  "node_modules/js-yaml": {
5602
  "version": "4.1.0",
5603
  "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
5604
  "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
 
5605
  "dependencies": {
5606
  "argparse": "^2.0.1"
5607
  },
 
5609
  "js-yaml": "bin/js-yaml.js"
5610
  }
5611
  },
5612
+ "node_modules/jsbn": {
5613
+ "version": "1.1.0",
5614
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
5615
+ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="
5616
+ },
5617
  "node_modules/json-buffer": {
5618
  "version": "3.0.1",
5619
  "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
5620
  "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
5621
  "dev": true
5622
  },
5623
+ "node_modules/json-parse-even-better-errors": {
5624
+ "version": "2.3.1",
5625
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
5626
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
5627
+ },
5628
  "node_modules/json-schema-traverse": {
5629
  "version": "0.4.1",
5630
  "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
 
5637
  "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
5638
  "dev": true
5639
  },
5640
+ "node_modules/jsonfile": {
5641
+ "version": "6.1.0",
5642
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
5643
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
5644
+ "dependencies": {
5645
+ "universalify": "^2.0.0"
5646
+ },
5647
+ "optionalDependencies": {
5648
+ "graceful-fs": "^4.1.6"
5649
+ }
5650
+ },
5651
  "node_modules/keyv": {
5652
  "version": "4.5.4",
5653
  "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
 
5696
  "node_modules/lines-and-columns": {
5697
  "version": "1.2.4",
5698
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
5699
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
 
5700
  },
5701
  "node_modules/locate-character": {
5702
  "version": "3.0.0",
 
5728
  "version": "6.0.0",
5729
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
5730
  "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 
5731
  "dependencies": {
5732
  "yallist": "^4.0.0"
5733
  },
 
5854
  "url": "https://github.com/sponsors/ljharb"
5855
  }
5856
  },
5857
+ "node_modules/mitt": {
5858
+ "version": "3.0.1",
5859
+ "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
5860
+ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="
5861
+ },
5862
  "node_modules/mkdirp": {
5863
  "version": "0.5.6",
5864
  "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
 
5942
  "node": ">= 0.6"
5943
  }
5944
  },
5945
+ "node_modules/netmask": {
5946
+ "version": "2.0.2",
5947
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
5948
+ "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
5949
+ "engines": {
5950
+ "node": ">= 0.4.0"
5951
+ }
5952
+ },
5953
  "node_modules/node-cron": {
5954
  "version": "3.0.3",
5955
  "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz",
 
6111
  "url": "https://github.com/sponsors/sindresorhus"
6112
  }
6113
  },
6114
+ "node_modules/pac-proxy-agent": {
6115
+ "version": "7.0.1",
6116
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz",
6117
+ "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==",
6118
+ "dependencies": {
6119
+ "@tootallnate/quickjs-emscripten": "^0.23.0",
6120
+ "agent-base": "^7.0.2",
6121
+ "debug": "^4.3.4",
6122
+ "get-uri": "^6.0.1",
6123
+ "http-proxy-agent": "^7.0.0",
6124
+ "https-proxy-agent": "^7.0.2",
6125
+ "pac-resolver": "^7.0.0",
6126
+ "socks-proxy-agent": "^8.0.2"
6127
+ },
6128
+ "engines": {
6129
+ "node": ">= 14"
6130
+ }
6131
+ },
6132
+ "node_modules/pac-resolver": {
6133
+ "version": "7.0.1",
6134
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
6135
+ "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
6136
+ "dependencies": {
6137
+ "degenerator": "^5.0.0",
6138
+ "netmask": "^2.0.2"
6139
+ },
6140
+ "engines": {
6141
+ "node": ">= 14"
6142
+ }
6143
+ },
6144
  "node_modules/parent-module": {
6145
  "version": "1.0.1",
6146
  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
6147
  "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
 
6148
  "dependencies": {
6149
  "callsites": "^3.0.0"
6150
  },
 
6152
  "node": ">=6"
6153
  }
6154
  },
6155
+ "node_modules/parse-json": {
6156
+ "version": "5.2.0",
6157
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
6158
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
6159
+ "dependencies": {
6160
+ "@babel/code-frame": "^7.0.0",
6161
+ "error-ex": "^1.3.1",
6162
+ "json-parse-even-better-errors": "^2.3.0",
6163
+ "lines-and-columns": "^1.1.6"
6164
+ },
6165
+ "engines": {
6166
+ "node": ">=8"
6167
+ },
6168
+ "funding": {
6169
+ "url": "https://github.com/sponsors/sindresorhus"
6170
+ }
6171
+ },
6172
  "node_modules/parseurl": {
6173
  "version": "1.3.3",
6174
  "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
 
6223
  "node": ">=8"
6224
  }
6225
  },
6226
+ "node_modules/pend": {
6227
+ "version": "1.2.0",
6228
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
6229
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
6230
+ },
6231
  "node_modules/periscopic": {
6232
  "version": "3.1.0",
6233
  "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
 
6494
  "node": ">=16.13"
6495
  }
6496
  },
6497
+ "node_modules/progress": {
6498
+ "version": "2.0.3",
6499
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
6500
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
6501
+ "engines": {
6502
+ "node": ">=0.4.0"
6503
+ }
6504
+ },
6505
  "node_modules/proxy-addr": {
6506
  "version": "2.0.7",
6507
  "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
 
6514
  "node": ">= 0.10"
6515
  }
6516
  },
6517
+ "node_modules/proxy-agent": {
6518
+ "version": "6.4.0",
6519
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz",
6520
+ "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
6521
+ "dependencies": {
6522
+ "agent-base": "^7.0.2",
6523
+ "debug": "^4.3.4",
6524
+ "http-proxy-agent": "^7.0.1",
6525
+ "https-proxy-agent": "^7.0.3",
6526
+ "lru-cache": "^7.14.1",
6527
+ "pac-proxy-agent": "^7.0.1",
6528
+ "proxy-from-env": "^1.1.0",
6529
+ "socks-proxy-agent": "^8.0.2"
6530
+ },
6531
+ "engines": {
6532
+ "node": ">= 14"
6533
+ }
6534
+ },
6535
+ "node_modules/proxy-agent/node_modules/lru-cache": {
6536
+ "version": "7.18.3",
6537
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
6538
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
6539
+ "engines": {
6540
+ "node": ">=12"
6541
+ }
6542
+ },
6543
+ "node_modules/proxy-from-env": {
6544
+ "version": "1.1.0",
6545
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
6546
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
6547
+ },
6548
+ "node_modules/pump": {
6549
+ "version": "3.0.0",
6550
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
6551
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
6552
+ "dependencies": {
6553
+ "end-of-stream": "^1.1.0",
6554
+ "once": "^1.3.1"
6555
+ }
6556
+ },
6557
  "node_modules/punycode": {
6558
  "version": "2.3.1",
6559
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
 
6563
  "node": ">=6"
6564
  }
6565
  },
6566
+ "node_modules/puppeteer": {
6567
+ "version": "22.11.2",
6568
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.11.2.tgz",
6569
+ "integrity": "sha512-8fjdQSgW0sq7471ftca24J7sXK+jXZ7OW7Gx+NEBFNyXrcTiBfukEI46gNq6hiMhbLEDT30NeylK/1ZoPdlKSA==",
6570
+ "hasInstallScript": true,
6571
+ "dependencies": {
6572
+ "@puppeteer/browsers": "2.2.3",
6573
+ "cosmiconfig": "9.0.0",
6574
+ "devtools-protocol": "0.0.1299070",
6575
+ "puppeteer-core": "22.11.2"
6576
+ },
6577
+ "bin": {
6578
+ "puppeteer": "lib/esm/puppeteer/node/cli.js"
6579
+ },
6580
+ "engines": {
6581
+ "node": ">=18"
6582
+ }
6583
+ },
6584
+ "node_modules/puppeteer-core": {
6585
+ "version": "22.11.2",
6586
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.11.2.tgz",
6587
+ "integrity": "sha512-vQo+YDuePyvj+92Z9cdtxi/HalKf+k/R4tE80nGtQqJRNqU81eHaHkbVfnLszdaLlvwFF5tipnnSCzqWlEddtw==",
6588
+ "dependencies": {
6589
+ "@puppeteer/browsers": "2.2.3",
6590
+ "chromium-bidi": "0.5.23",
6591
+ "debug": "4.3.5",
6592
+ "devtools-protocol": "0.0.1299070",
6593
+ "ws": "8.17.1"
6594
+ },
6595
+ "engines": {
6596
+ "node": ">=18"
6597
+ }
6598
+ },
6599
+ "node_modules/puppeteer-core/node_modules/debug": {
6600
+ "version": "4.3.5",
6601
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
6602
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
6603
+ "dependencies": {
6604
+ "ms": "2.1.2"
6605
+ },
6606
+ "engines": {
6607
+ "node": ">=6.0"
6608
+ },
6609
+ "peerDependenciesMeta": {
6610
+ "supports-color": {
6611
+ "optional": true
6612
+ }
6613
+ }
6614
+ },
6615
  "node_modules/qs": {
6616
  "version": "6.11.0",
6617
  "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
 
6655
  }
6656
  ]
6657
  },
6658
+ "node_modules/queue-tick": {
6659
+ "version": "1.0.1",
6660
+ "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
6661
+ "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
6662
+ },
6663
  "node_modules/range-parser": {
6664
  "version": "1.2.1",
6665
  "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
 
6703
  "node": ">=8.10.0"
6704
  }
6705
  },
6706
+ "node_modules/require-directory": {
6707
+ "version": "2.1.1",
6708
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
6709
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
6710
+ "engines": {
6711
+ "node": ">=0.10.0"
6712
+ }
6713
+ },
6714
  "node_modules/resolve": {
6715
  "version": "1.22.8",
6716
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
 
6731
  "version": "4.0.0",
6732
  "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
6733
  "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
 
6734
  "engines": {
6735
  "node": ">=4"
6736
  }
 
6880
  "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
6881
  },
6882
  "node_modules/semver": {
6883
+ "version": "7.6.0",
6884
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
6885
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
 
6886
  "dependencies": {
6887
  "lru-cache": "^6.0.0"
6888
  },
 
7078
  "node": ">=8"
7079
  }
7080
  },
7081
+ "node_modules/smart-buffer": {
7082
+ "version": "4.2.0",
7083
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
7084
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
7085
+ "engines": {
7086
+ "node": ">= 6.0.0",
7087
+ "npm": ">= 3.0.0"
7088
+ }
7089
+ },
7090
+ "node_modules/socks": {
7091
+ "version": "2.8.3",
7092
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz",
7093
+ "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==",
7094
+ "dependencies": {
7095
+ "ip-address": "^9.0.5",
7096
+ "smart-buffer": "^4.2.0"
7097
+ },
7098
+ "engines": {
7099
+ "node": ">= 10.0.0",
7100
+ "npm": ">= 3.0.0"
7101
+ }
7102
+ },
7103
+ "node_modules/socks-proxy-agent": {
7104
+ "version": "8.0.3",
7105
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz",
7106
+ "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==",
7107
+ "dependencies": {
7108
+ "agent-base": "^7.1.1",
7109
+ "debug": "^4.3.4",
7110
+ "socks": "^2.7.1"
7111
+ },
7112
+ "engines": {
7113
+ "node": ">= 14"
7114
+ }
7115
+ },
7116
  "node_modules/sorcery": {
7117
  "version": "0.11.0",
7118
  "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz",
 
7128
  "sorcery": "bin/sorcery"
7129
  }
7130
  },
7131
+ "node_modules/source-map": {
7132
+ "version": "0.6.1",
7133
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
7134
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
7135
+ "optional": true,
7136
+ "engines": {
7137
+ "node": ">=0.10.0"
7138
+ }
7139
+ },
7140
  "node_modules/source-map-js": {
7141
  "version": "1.0.2",
7142
  "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
 
7145
  "node": ">=0.10.0"
7146
  }
7147
  },
7148
+ "node_modules/sprintf-js": {
7149
+ "version": "1.1.3",
7150
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
7151
+ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="
7152
+ },
7153
  "node_modules/statuses": {
7154
  "version": "2.0.1",
7155
  "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
 
7158
  "node": ">= 0.8"
7159
  }
7160
  },
7161
+ "node_modules/streamx": {
7162
+ "version": "2.18.0",
7163
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz",
7164
+ "integrity": "sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==",
7165
+ "dependencies": {
7166
+ "fast-fifo": "^1.3.2",
7167
+ "queue-tick": "^1.0.1",
7168
+ "text-decoder": "^1.1.0"
7169
+ },
7170
+ "optionalDependencies": {
7171
+ "bare-events": "^2.2.0"
7172
+ }
7173
+ },
7174
+ "node_modules/string-width": {
7175
+ "version": "4.2.3",
7176
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
7177
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
7178
+ "dependencies": {
7179
+ "emoji-regex": "^8.0.0",
7180
+ "is-fullwidth-code-point": "^3.0.0",
7181
+ "strip-ansi": "^6.0.1"
7182
+ },
7183
+ "engines": {
7184
+ "node": ">=8"
7185
+ }
7186
+ },
7187
  "node_modules/strip-ansi": {
7188
  "version": "6.0.1",
7189
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
7190
  "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
 
7191
  "dependencies": {
7192
  "ansi-regex": "^5.0.1"
7193
  },
 
7553
  "node": ">= 14"
7554
  }
7555
  },
7556
+ "node_modules/tar-fs": {
7557
+ "version": "3.0.5",
7558
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz",
7559
+ "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==",
7560
+ "dependencies": {
7561
+ "pump": "^3.0.0",
7562
+ "tar-stream": "^3.1.5"
7563
+ },
7564
+ "optionalDependencies": {
7565
+ "bare-fs": "^2.1.1",
7566
+ "bare-path": "^2.1.0"
7567
+ }
7568
+ },
7569
+ "node_modules/tar-stream": {
7570
+ "version": "3.1.7",
7571
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
7572
+ "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
7573
+ "dependencies": {
7574
+ "b4a": "^1.6.4",
7575
+ "fast-fifo": "^1.2.0",
7576
+ "streamx": "^2.15.0"
7577
+ }
7578
+ },
7579
+ "node_modules/text-decoder": {
7580
+ "version": "1.1.0",
7581
+ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.0.tgz",
7582
+ "integrity": "sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==",
7583
+ "dependencies": {
7584
+ "b4a": "^1.6.4"
7585
+ }
7586
+ },
7587
  "node_modules/text-table": {
7588
  "version": "0.2.0",
7589
  "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
 
7611
  "node": ">=0.8"
7612
  }
7613
  },
7614
+ "node_modules/through": {
7615
+ "version": "2.3.8",
7616
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
7617
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
7618
+ },
7619
  "node_modules/tiny-glob": {
7620
  "version": "0.2.9",
7621
  "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
 
7716
  "version": "5.3.3",
7717
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
7718
  "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
7719
+ "devOptional": true,
7720
  "bin": {
7721
  "tsc": "bin/tsc",
7722
  "tsserver": "bin/tsserver"
 
7725
  "node": ">=14.17"
7726
  }
7727
  },
7728
+ "node_modules/unbzip2-stream": {
7729
+ "version": "1.4.3",
7730
+ "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
7731
+ "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
7732
+ "dependencies": {
7733
+ "buffer": "^5.2.1",
7734
+ "through": "^2.3.8"
7735
+ }
7736
+ },
7737
  "node_modules/undici": {
7738
  "version": "5.26.5",
7739
  "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.5.tgz",
 
7751
  "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
7752
  "devOptional": true
7753
  },
7754
+ "node_modules/universalify": {
7755
+ "version": "2.0.1",
7756
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
7757
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
7758
+ "engines": {
7759
+ "node": ">= 10.0.0"
7760
+ }
7761
+ },
7762
  "node_modules/unpipe": {
7763
  "version": "1.0.0",
7764
  "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
 
7820
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
7821
  "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
7822
  },
7823
+ "node_modules/urlpattern-polyfill": {
7824
+ "version": "10.0.0",
7825
+ "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz",
7826
+ "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg=="
7827
+ },
7828
  "node_modules/util": {
7829
  "version": "0.12.5",
7830
  "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
 
7988
  "url": "https://github.com/sponsors/ljharb"
7989
  }
7990
  },
7991
+ "node_modules/wrap-ansi": {
7992
+ "version": "7.0.0",
7993
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
7994
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
7995
+ "dependencies": {
7996
+ "ansi-styles": "^4.0.0",
7997
+ "string-width": "^4.1.0",
7998
+ "strip-ansi": "^6.0.0"
7999
+ },
8000
+ "engines": {
8001
+ "node": ">=10"
8002
+ },
8003
+ "funding": {
8004
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
8005
+ }
8006
+ },
8007
  "node_modules/wrappy": {
8008
  "version": "1.0.2",
8009
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
8010
  "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
8011
  },
8012
+ "node_modules/ws": {
8013
+ "version": "8.17.1",
8014
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
8015
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
8016
+ "engines": {
8017
+ "node": ">=10.0.0"
8018
+ },
8019
+ "peerDependencies": {
8020
+ "bufferutil": "^4.0.1",
8021
+ "utf-8-validate": ">=5.0.2"
8022
+ },
8023
+ "peerDependenciesMeta": {
8024
+ "bufferutil": {
8025
+ "optional": true
8026
+ },
8027
+ "utf-8-validate": {
8028
+ "optional": true
8029
+ }
8030
+ }
8031
+ },
8032
  "node_modules/xml2js": {
8033
  "version": "0.5.0",
8034
  "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
 
8049
  "node": ">=4.0"
8050
  }
8051
  },
8052
+ "node_modules/y18n": {
8053
+ "version": "5.0.8",
8054
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
8055
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
8056
+ "engines": {
8057
+ "node": ">=10"
8058
+ }
8059
+ },
8060
  "node_modules/yallist": {
8061
  "version": "4.0.0",
8062
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
8063
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
 
8064
  },
8065
  "node_modules/yaml": {
8066
  "version": "1.10.2",
 
8071
  "node": ">= 6"
8072
  }
8073
  },
8074
+ "node_modules/yargs": {
8075
+ "version": "17.7.2",
8076
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
8077
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
8078
+ "dependencies": {
8079
+ "cliui": "^8.0.1",
8080
+ "escalade": "^3.1.1",
8081
+ "get-caller-file": "^2.0.5",
8082
+ "require-directory": "^2.1.1",
8083
+ "string-width": "^4.2.3",
8084
+ "y18n": "^5.0.5",
8085
+ "yargs-parser": "^21.1.1"
8086
+ },
8087
+ "engines": {
8088
+ "node": ">=12"
8089
+ }
8090
+ },
8091
+ "node_modules/yargs-parser": {
8092
+ "version": "21.1.1",
8093
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
8094
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
8095
+ "engines": {
8096
+ "node": ">=12"
8097
+ }
8098
+ },
8099
+ "node_modules/yauzl": {
8100
+ "version": "2.10.0",
8101
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
8102
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
8103
+ "dependencies": {
8104
+ "buffer-crc32": "~0.2.3",
8105
+ "fd-slicer": "~1.1.0"
8106
+ }
8107
+ },
8108
  "node_modules/yocto-queue": {
8109
  "version": "0.1.0",
8110
  "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
 
8116
  "funding": {
8117
  "url": "https://github.com/sponsors/sindresorhus"
8118
  }
8119
+ },
8120
+ "node_modules/zod": {
8121
+ "version": "3.23.8",
8122
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
8123
+ "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
8124
+ "funding": {
8125
+ "url": "https://github.com/sponsors/colinhacks"
8126
+ }
8127
  }
8128
  }
8129
  }
package.json CHANGED
@@ -57,6 +57,7 @@
57
  "moment": "^2.30.1",
58
  "node-cron": "^3.0.3",
59
  "node-fetch": "^3.3.2",
 
60
  "svelte-infinite-scroll": "^2.0.1"
61
  }
62
  }
 
57
  "moment": "^2.30.1",
58
  "node-cron": "^3.0.3",
59
  "node-fetch": "^3.3.2",
60
+ "puppeteer": "^22.11.2",
61
  "svelte-infinite-scroll": "^2.0.1"
62
  }
63
  }
prisma/schema.prisma CHANGED
@@ -21,6 +21,7 @@ model Model {
21
  likes7d Int? @default(0)
22
  user User? @relation(fields: [userId], references: [sub])
23
  userId String?
 
24
  gallery Gallery[]
25
  comments Comment[]
26
  }
 
21
  likes7d Int? @default(0)
22
  user User? @relation(fields: [userId], references: [sub])
23
  userId String?
24
+ metadata String?
25
  gallery Gallery[]
26
  comments Comment[]
27
  }
src/app.html CHANGED
@@ -12,14 +12,11 @@
12
  rel="stylesheet"
13
  />
14
  <title>LoRA Studio</title>
15
- <meta
16
- name="description"
17
- content="LoRA Studio is a platform for creating, sharing, and using models"
18
- />
19
  <meta property="og:title" content="LoRA Studio" />
20
  <meta
21
  property="og:description"
22
- content="LoRA Studio is a platform for creating, sharing, and using models"
23
  />
24
  <meta property="og:image" content="https://enzostvs-lora-studio.hf.space/metadata.png" />
25
  <meta property="og:url" content="https://enzostvs-lora-studio.hf.space/" />
@@ -30,7 +27,7 @@
30
  <meta name="twitter:title" content="LoRA Studio" />
31
  <meta
32
  name="twitter:description"
33
- content="LoRA Studio is a platform for creating, sharing, and using models"
34
  />
35
  <meta name="twitter:image" content="https://enzostvs-lora-studio.hf.space/metadata.png" />
36
  <link
 
12
  rel="stylesheet"
13
  />
14
  <title>LoRA Studio</title>
15
+ <meta name="description" content="Create, share and learn with this and many more LoRAs" />
 
 
 
16
  <meta property="og:title" content="LoRA Studio" />
17
  <meta
18
  property="og:description"
19
+ content="Create, share and learn with this and many more LoRAs"
20
  />
21
  <meta property="og:image" content="https://enzostvs-lora-studio.hf.space/metadata.png" />
22
  <meta property="og:url" content="https://enzostvs-lora-studio.hf.space/" />
 
27
  <meta name="twitter:title" content="LoRA Studio" />
28
  <meta
29
  name="twitter:description"
30
+ content="Create, share and learn with this and many more LoRAs"
31
  />
32
  <meta name="twitter:image" content="https://enzostvs-lora-studio.hf.space/metadata.png" />
33
  <link
src/lib/type.ts CHANGED
@@ -23,6 +23,7 @@ export interface ModelCard {
23
  downloads: number,
24
  image: string,
25
  instance_prompt?: string,
 
26
  isPublic: boolean,
27
  gallery?: CommunityCard[],
28
  comments?: CommentType[],
 
23
  downloads: number,
24
  image: string,
25
  instance_prompt?: string,
26
+ metadata?: string,
27
  isPublic: boolean,
28
  gallery?: CommunityCard[],
29
  comments?: CommentType[],
src/routes/api/models/[id]/+server.ts CHANGED
@@ -1,4 +1,8 @@
1
  import { json, type RequestEvent } from '@sveltejs/kit';
 
 
 
 
2
  import prisma from '$lib/prisma';
3
  import { tokenIsAvailable } from '$lib/utils';
4
 
@@ -6,8 +10,9 @@ import { tokenIsAvailable } from '$lib/utils';
6
 
7
  export async function GET({ url, params } : RequestEvent) {
8
  const id = params.id?.replace("@", "/")
9
- // to Booelan
10
  const full = Boolean(url.searchParams.get('full')) ?? false
 
11
 
12
  const model = await prisma.model.findFirst({
13
  where: {
@@ -19,6 +24,7 @@ export async function GET({ url, params } : RequestEvent) {
19
  downloads: true,
20
  image: true,
21
  instance_prompt: true,
 
22
  gallery: {
23
  select: {
24
  id: true,
@@ -54,6 +60,7 @@ export async function GET({ url, params } : RequestEvent) {
54
  instance_prompt: true,
55
  image: true,
56
  id: true,
 
57
  }
58
  })
59
 
@@ -81,6 +88,47 @@ export async function GET({ url, params } : RequestEvent) {
81
  }
82
  }
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  return json({
85
  model: {
86
  ...model,
 
1
  import { json, type RequestEvent } from '@sveltejs/kit';
2
+ import puppeteer from 'puppeteer';
3
+ import { promises } from 'fs';
4
+ import { randomUUID } from 'crypto';
5
+
6
  import prisma from '$lib/prisma';
7
  import { tokenIsAvailable } from '$lib/utils';
8
 
 
10
 
11
  export async function GET({ url, params } : RequestEvent) {
12
  const id = params.id?.replace("@", "/")
13
+
14
  const full = Boolean(url.searchParams.get('full')) ?? false
15
+ const metadata = Boolean(url.searchParams.get('metadata')) ?? false
16
 
17
  const model = await prisma.model.findFirst({
18
  where: {
 
24
  downloads: true,
25
  image: true,
26
  instance_prompt: true,
27
+ metadata: true,
28
  gallery: {
29
  select: {
30
  id: true,
 
60
  instance_prompt: true,
61
  image: true,
62
  id: true,
63
+ metadata: true,
64
  }
65
  })
66
 
 
88
  }
89
  }
90
 
91
+ // get puppeteer screenshot
92
+ if (!model.metadata && metadata) {
93
+ const browser = await puppeteer.launch({
94
+ headless: true,
95
+ defaultViewport: {
96
+ width: 1920,
97
+ height: 1080,
98
+ },
99
+ args: [
100
+ '--no-sandbox',
101
+ '--disable-setuid-sandbox',
102
+ '--disable-dev-shm-usage',
103
+ ],
104
+ });
105
+
106
+ const page = await browser.newPage();
107
+ await page.goto("http://" + process.env.SPACE_HOST + '/metadata/models/' + model.id, {
108
+ waitUntil: 'networkidle0',
109
+ });
110
+
111
+ const buffer = await page.screenshot({
112
+ type: 'png',
113
+ });
114
+
115
+ const dir = await promises.opendir(process?.env?.PUBLIC_FILE_UPLOAD_DIR as string).catch(() => null)
116
+ if (!dir) await promises.mkdir(process?.env?.PUBLIC_FILE_UPLOAD_DIR as string)
117
+ const file_name_formatted = randomUUID() + "_" + "metadata" + model.id.replace("/", "-") + ".png"
118
+ await promises.writeFile(`${process.env.PUBLIC_FILE_UPLOAD_DIR}/${file_name_formatted}`, buffer)
119
+
120
+ await prisma.model.update({
121
+ where: {
122
+ id,
123
+ },
124
+ data: {
125
+ metadata: file_name_formatted
126
+ }
127
+ })
128
+
129
+ await browser.close();
130
+ }
131
+
132
  return json({
133
  model: {
134
  ...model,
src/routes/api/scrap-models/+server.ts CHANGED
@@ -19,8 +19,6 @@ export async function POST({ request }) {
19
  let index = 0;
20
  let model_saved = 0;
21
 
22
- console.log(new_models)
23
-
24
  for (const model of new_models) {
25
  if (index % 50 === 0) {
26
  await new Promise(resolve => setTimeout(resolve, 2000));
 
19
  let index = 0;
20
  let model_saved = 0;
21
 
 
 
22
  for (const model of new_models) {
23
  if (index % 50 === 0) {
24
  await new Promise(resolve => setTimeout(resolve, 2000));
src/routes/metadata/models/+page.svelte ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ <div>
2
+ <slot />
3
+ </div>
src/routes/metadata/models/[userId]/+page.svelte ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ <div>
2
+ <slot />
3
+ </div>
src/routes/metadata/models/[userId]/[slug]/+page.svelte ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let data;
3
+ </script>
4
+
5
+ <div class="w-full h-full fixed top-0 left-0 bg-white z-20">
6
+ <div id="metadata" class="w-[1920px] h-[1080px] bg-black px-36 py-24 overflow-hidden relative">
7
+ <div class="bg-neutral-900 rounded-xl relative flex items-start justify-between flex-col px-10 pt-6 border border-neutral-800">
8
+ <div class="flex items-center justify-start gap-4">
9
+ <img src="https://huggingface.co/api/users/{data?.model?.id?.split("/")?.[0]}/avatar" alt="Author avatar" class="w-[100px] h-[100px] rounded-full mr-12" />
10
+ <h1 class="font-title text-center text-white font-extrabold text-[6rem] line-clamp-2 leading-normal w-full mb-5">
11
+ {data.model.id}
12
+ </h1>
13
+
14
+ </div>
15
+ <img src="{data?.model?.image}" class="w-full h-full bg-center bg-cover rounded-lg object-cover object-center bg-neutral-800" alt="{data?.model?.id}" />
16
+ </div>
17
+ </div>
18
+ </div>
src/routes/metadata/models/[userId]/[slug]/+page.ts ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { error } from '@sveltejs/kit';
2
+
3
+ /** @type {import('./$types').PageLoad} */
4
+ export async function load({ params, fetch }) {
5
+ const { userId, slug } = params;
6
+
7
+ const model_request = await fetch(`/api/models/${userId + "@" + slug}?full=true`, {
8
+ method: "GET",
9
+ headers: {
10
+ "Content-Type": "application/json"
11
+ }
12
+ })
13
+ const data = await model_request?.clone().json().catch(() => null);
14
+
15
+ if (!data?.model) {
16
+ return error(404, 'Not found');
17
+ }
18
+
19
+ return data
20
+ }
src/routes/models/[userId]/[slug]/+page.svelte CHANGED
@@ -10,4 +10,16 @@
10
  open: true
11
  });
12
  });
13
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  open: true
11
  });
12
  });
13
+ </script>
14
+
15
+ <svelte:head>
16
+ <meta property="og:title" content="{data?.model?.id.split("/")[1]} by {data?.model?.id.split("/")[0]} on LoRA Studio" />
17
+ {#if data?.model?.metadata}
18
+ <meta property="og:image" content="/api/images/{data?.model?.metadata}" />
19
+ <meta name="twitter:image" content="/api/images/{data?.model?.metadata}" />
20
+ {/if}
21
+ <meta property="og:url" content="{window.location.href}" />
22
+ <meta property="og:type" content="website" />
23
+ <meta name="twitter:card" content="summary_large_image" />
24
+ <meta name="twitter:title" content="{data?.model?.id.split("/")[1]} by {data?.model?.id.split("/")[0]} on LoRA Studio" />
25
+ </svelte:head>
src/routes/models/[userId]/[slug]/+page.ts CHANGED
@@ -4,7 +4,7 @@ import { error } from '@sveltejs/kit';
4
  export async function load({ params, fetch }) {
5
  const { userId, slug } = params;
6
 
7
- const model_request = await fetch(`/api/models/${userId + "@" + slug}?full=true`, {
8
  method: "GET",
9
  headers: {
10
  "Content-Type": "application/json"
 
4
  export async function load({ params, fetch }) {
5
  const { userId, slug } = params;
6
 
7
+ const model_request = await fetch(`/api/models/${userId + "@" + slug}?full=true&metadata=true`, {
8
  method: "GET",
9
  headers: {
10
  "Content-Type": "application/json"