Esteves Enzo commited on
Commit
8b95140
·
1 Parent(s): d2a707e

add NSFW filter

Browse files
Files changed (6) hide show
  1. Dockerfile +3 -0
  2. app/api/pipeline.ts +21 -0
  3. app/api/route.ts +15 -2
  4. next.config.js +6 -1
  5. package-lock.json +620 -52
  6. package.json +1 -0
Dockerfile CHANGED
@@ -26,5 +26,8 @@ RUN npm run build
26
  # Expose the application port (assuming your app runs on port 3000)
27
  EXPOSE 3002
28
 
 
 
 
29
  # Start the application
30
  ENTRYPOINT ["/usr/src/app/entrypoint.sh"]
 
26
  # Expose the application port (assuming your app runs on port 3000)
27
  EXPOSE 3002
28
 
29
+ RUN mkdir -p /app/node_modules/@xenova/.cache/
30
+ RUN chmod 777 -R /app/node_modules/@xenova/
31
+
32
  # Start the application
33
  ENTRYPOINT ["/usr/src/app/entrypoint.sh"]
app/api/pipeline.ts ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { pipeline, env } from "@xenova/transformers";
2
+
3
+ // Use the Singleton pattern to enable lazy construction of the pipeline.
4
+ // NOTE: We wrap the class in a function to prevent code duplication (see below).
5
+ process.env.HF_ACCESS_TOKEN = process.env.NEXT_PUBLIC_APP_HF_TOKEN
6
+
7
+ const P = () => class PipelineSingleton {
8
+ static task = 'image-classification';
9
+ static model = 'enzostvs/nsfw-detector-transformersjs';
10
+ static instance = null;
11
+
12
+ static async getInstance(progress_callback: any = null) {
13
+ if (this.instance === null) {
14
+ this.instance = pipeline(this.task, this.model, { progress_callback }) as any;
15
+ }
16
+ return this.instance;
17
+ }
18
+ }
19
+
20
+ const PipelineSingleton = P();
21
+ export default PipelineSingleton;
app/api/route.ts CHANGED
@@ -1,16 +1,19 @@
1
- import { NextResponse } from "next/server";
2
  import { PrismaClient } from '@prisma/client'
3
 
 
 
 
4
  const prisma = new PrismaClient()
5
 
6
  export async function POST(
7
  request: Request,
8
  ) {
9
- const { inputs } = await request.json()
10
  const response = await fetch('https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0', {
11
  method: 'POST',
12
  body: JSON.stringify({
13
  inputs,
 
14
  }),
15
  headers: {
16
  Authorization: `Bearer ${process.env.NEXT_PUBLIC_APP_HF_TOKEN}`,
@@ -27,6 +30,16 @@ export async function POST(
27
  const headers = new Headers();
28
  headers.set("Content-Type", "image/*");
29
 
 
 
 
 
 
 
 
 
 
 
30
  const arrayBuffer = await blob.arrayBuffer()
31
  const bytes = Buffer.from(arrayBuffer)
32
 
 
 
1
  import { PrismaClient } from '@prisma/client'
2
 
3
+ import PipelineSingleton from './pipeline';
4
+ import { RawImage } from '@xenova/transformers';
5
+
6
  const prisma = new PrismaClient()
7
 
8
  export async function POST(
9
  request: Request,
10
  ) {
11
+ const { inputs, negative_prompt } = await request.json()
12
  const response = await fetch('https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0', {
13
  method: 'POST',
14
  body: JSON.stringify({
15
  inputs,
16
+ negative_prompt
17
  }),
18
  headers: {
19
  Authorization: `Bearer ${process.env.NEXT_PUBLIC_APP_HF_TOKEN}`,
 
30
  const headers = new Headers();
31
  headers.set("Content-Type", "image/*");
32
 
33
+ // check if image is not safe for work
34
+ const file_url = await RawImage.fromBlob(blob)
35
+ const classifier: any = await PipelineSingleton.getInstance();
36
+ if (classifier) {
37
+ const results = await classifier(file_url);
38
+ if (results?.length && results[0]?.label === "nsfw") {
39
+ return Response.json({ status: 401, ok: false, message: "Image is not safe for work." });
40
+ }
41
+ }
42
+
43
  const arrayBuffer = await blob.arrayBuffer()
44
  const bytes = Buffer.from(arrayBuffer)
45
 
next.config.js CHANGED
@@ -1,4 +1,9 @@
1
  /** @type {import('next').NextConfig} */
2
- const nextConfig = {}
 
 
 
 
 
3
 
4
  module.exports = nextConfig
 
1
  /** @type {import('next').NextConfig} */
2
+ const nextConfig = {
3
+ experimental: {
4
+ serverActions: true,
5
+ serverComponentsExternalPackages: ['sharp', 'onnxruntime-node'],
6
+ },
7
+ }
8
 
9
  module.exports = nextConfig
package-lock.json CHANGED
@@ -10,8 +10,8 @@
10
  "dependencies": {
11
  "@prisma/client": "^5.5.2",
12
  "@tanstack/react-query": "^4.32.6",
 
13
  "classnames": "^2.3.2",
14
- "dotenv-cli": "^7.3.0",
15
  "filereader": "^0.10.3",
16
  "framer-motion": "^10.16.4",
17
  "next": "13.5.6",
@@ -456,6 +456,60 @@
456
  "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.5.1-1.aebc046ce8b88ebbcb45efe31cbe7d06fd6abc0a.tgz",
457
  "integrity": "sha512-O+qHFnZvAyOFk1tUco2/VdiqS0ym42a3+6CYLScllmnpbyiTplgyLt2rK/B9BTjYkSHjrgMhkG47S0oqzdIckA=="
458
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
459
  "node_modules/@rushstack/eslint-patch": {
460
  "version": "1.5.1",
461
  "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz",
@@ -540,11 +594,15 @@
540
  "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
541
  "dev": true
542
  },
 
 
 
 
 
543
  "node_modules/@types/node": {
544
  "version": "20.8.9",
545
  "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz",
546
  "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==",
547
- "dev": true,
548
  "dependencies": {
549
  "undici-types": "~5.26.4"
550
  }
@@ -689,6 +747,18 @@
689
  "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
690
  "dev": true
691
  },
 
 
 
 
 
 
 
 
 
 
 
 
692
  "node_modules/@xobotyi/scrollbar-width": {
693
  "version": "1.9.5",
694
  "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz",
@@ -1016,12 +1086,36 @@
1016
  "dequal": "^2.0.3"
1017
  }
1018
  },
 
 
 
 
 
1019
  "node_modules/balanced-match": {
1020
  "version": "1.0.2",
1021
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1022
  "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1023
  "dev": true
1024
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1025
  "node_modules/binary-extensions": {
1026
  "version": "2.2.0",
1027
  "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -1031,6 +1125,16 @@
1031
  "node": ">=8"
1032
  }
1033
  },
 
 
 
 
 
 
 
 
 
 
1034
  "node_modules/brace-expansion": {
1035
  "version": "1.1.11",
1036
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1085,6 +1189,29 @@
1085
  "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1086
  }
1087
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1088
  "node_modules/busboy": {
1089
  "version": "1.6.0",
1090
  "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
@@ -1202,6 +1329,11 @@
1202
  "node": ">= 6"
1203
  }
1204
  },
 
 
 
 
 
1205
  "node_modules/classnames": {
1206
  "version": "2.3.2",
1207
  "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
@@ -1212,11 +1344,22 @@
1212
  "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
1213
  "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
1214
  },
 
 
 
 
 
 
 
 
 
 
 
 
1215
  "node_modules/color-convert": {
1216
  "version": "2.0.1",
1217
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1218
  "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1219
- "dev": true,
1220
  "dependencies": {
1221
  "color-name": "~1.1.4"
1222
  },
@@ -1227,8 +1370,16 @@
1227
  "node_modules/color-name": {
1228
  "version": "1.1.4",
1229
  "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1230
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1231
- "dev": true
 
 
 
 
 
 
 
 
1232
  },
1233
  "node_modules/commander": {
1234
  "version": "4.1.1",
@@ -1263,6 +1414,7 @@
1263
  "version": "7.0.3",
1264
  "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1265
  "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
 
1266
  "dependencies": {
1267
  "path-key": "^3.1.0",
1268
  "shebang-command": "^2.0.0",
@@ -1332,6 +1484,28 @@
1332
  }
1333
  }
1334
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1335
  "node_modules/deep-is": {
1336
  "version": "0.1.4",
1337
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -1378,6 +1552,14 @@
1378
  "node": ">=6"
1379
  }
1380
  },
 
 
 
 
 
 
 
 
1381
  "node_modules/didyoumean": {
1382
  "version": "1.2.2",
1383
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -1423,39 +1605,6 @@
1423
  "node": ">=6.0.0"
1424
  }
1425
  },
1426
- "node_modules/dotenv": {
1427
- "version": "16.3.1",
1428
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
1429
- "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
1430
- "engines": {
1431
- "node": ">=12"
1432
- },
1433
- "funding": {
1434
- "url": "https://github.com/motdotla/dotenv?sponsor=1"
1435
- }
1436
- },
1437
- "node_modules/dotenv-cli": {
1438
- "version": "7.3.0",
1439
- "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-7.3.0.tgz",
1440
- "integrity": "sha512-314CA4TyK34YEJ6ntBf80eUY+t1XaFLyem1k9P0sX1gn30qThZ5qZr/ZwE318gEnzyYP9yj9HJk6SqwE0upkfw==",
1441
- "dependencies": {
1442
- "cross-spawn": "^7.0.3",
1443
- "dotenv": "^16.3.0",
1444
- "dotenv-expand": "^10.0.0",
1445
- "minimist": "^1.2.6"
1446
- },
1447
- "bin": {
1448
- "dotenv": "cli.js"
1449
- }
1450
- },
1451
- "node_modules/dotenv-expand": {
1452
- "version": "10.0.0",
1453
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz",
1454
- "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==",
1455
- "engines": {
1456
- "node": ">=12"
1457
- }
1458
- },
1459
  "node_modules/electron-to-chromium": {
1460
  "version": "1.4.566",
1461
  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.566.tgz",
@@ -1468,6 +1617,14 @@
1468
  "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
1469
  "dev": true
1470
  },
 
 
 
 
 
 
 
 
1471
  "node_modules/enhanced-resolve": {
1472
  "version": "5.15.0",
1473
  "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
@@ -2044,11 +2201,24 @@
2044
  "node": ">=0.10.0"
2045
  }
2046
  },
 
 
 
 
 
 
 
 
2047
  "node_modules/fast-deep-equal": {
2048
  "version": "3.1.3",
2049
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2050
  "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
2051
  },
 
 
 
 
 
2052
  "node_modules/fast-glob": {
2053
  "version": "3.3.1",
2054
  "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
@@ -2172,6 +2342,11 @@
2172
  "node": ">=12.0.0"
2173
  }
2174
  },
 
 
 
 
 
2175
  "node_modules/flatted": {
2176
  "version": "3.2.9",
2177
  "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
@@ -2223,6 +2398,11 @@
2223
  }
2224
  }
2225
  },
 
 
 
 
 
2226
  "node_modules/fs.realpath": {
2227
  "version": "1.0.0",
2228
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -2322,6 +2502,11 @@
2322
  "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
2323
  }
2324
  },
 
 
 
 
 
2325
  "node_modules/glob": {
2326
  "version": "7.1.7",
2327
  "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -2432,6 +2617,11 @@
2432
  "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
2433
  "dev": true
2434
  },
 
 
 
 
 
2435
  "node_modules/has": {
2436
  "version": "1.0.4",
2437
  "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
@@ -2527,6 +2717,25 @@
2527
  "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
2528
  "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
2529
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2530
  "node_modules/ignore": {
2531
  "version": "5.2.4",
2532
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
@@ -2574,8 +2783,12 @@
2574
  "node_modules/inherits": {
2575
  "version": "2.0.4",
2576
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2577
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2578
- "dev": true
 
 
 
 
2579
  },
2580
  "node_modules/inline-style-prefixer": {
2581
  "version": "6.0.4",
@@ -2614,6 +2827,11 @@
2614
  "url": "https://github.com/sponsors/ljharb"
2615
  }
2616
  },
 
 
 
 
 
2617
  "node_modules/is-async-function": {
2618
  "version": "2.0.0",
2619
  "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
@@ -2935,7 +3153,8 @@
2935
  "node_modules/isexe": {
2936
  "version": "2.0.0",
2937
  "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2938
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
 
2939
  },
2940
  "node_modules/iterator.prototype": {
2941
  "version": "1.1.2",
@@ -3099,6 +3318,11 @@
3099
  "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
3100
  "dev": true
3101
  },
 
 
 
 
 
3102
  "node_modules/loose-envify": {
3103
  "version": "1.4.0",
3104
  "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -3114,7 +3338,6 @@
3114
  "version": "6.0.0",
3115
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
3116
  "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
3117
- "dev": true,
3118
  "dependencies": {
3119
  "yallist": "^4.0.0"
3120
  },
@@ -3155,6 +3378,17 @@
3155
  "node": ">=8.6"
3156
  }
3157
  },
 
 
 
 
 
 
 
 
 
 
 
3158
  "node_modules/minimatch": {
3159
  "version": "3.1.2",
3160
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -3175,6 +3409,11 @@
3175
  "url": "https://github.com/sponsors/ljharb"
3176
  }
3177
  },
 
 
 
 
 
3178
  "node_modules/ms": {
3179
  "version": "2.1.2",
3180
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -3228,6 +3467,11 @@
3228
  "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
3229
  }
3230
  },
 
 
 
 
 
3231
  "node_modules/natural-compare": {
3232
  "version": "1.4.0",
3233
  "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -3279,6 +3523,22 @@
3279
  }
3280
  }
3281
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3282
  "node_modules/node-releases": {
3283
  "version": "2.0.13",
3284
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
@@ -3434,11 +3694,50 @@
3434
  "version": "1.4.0",
3435
  "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3436
  "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
3437
- "dev": true,
3438
  "dependencies": {
3439
  "wrappy": "1"
3440
  }
3441
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3442
  "node_modules/optionator": {
3443
  "version": "0.9.3",
3444
  "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -3520,6 +3819,7 @@
3520
  "version": "3.1.1",
3521
  "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3522
  "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
 
3523
  "engines": {
3524
  "node": ">=8"
3525
  }
@@ -3574,6 +3874,11 @@
3574
  "node": ">= 6"
3575
  }
3576
  },
 
 
 
 
 
3577
  "node_modules/postcss": {
3578
  "version": "8.4.31",
3579
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
@@ -3704,6 +4009,57 @@
3704
  "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
3705
  "dev": true
3706
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3707
  "node_modules/prelude-ls": {
3708
  "version": "1.2.1",
3709
  "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -3740,6 +4096,40 @@
3740
  "react-is": "^16.13.1"
3741
  }
3742
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3743
  "node_modules/punycode": {
3744
  "version": "2.3.0",
3745
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
@@ -3769,6 +4159,33 @@
3769
  }
3770
  ]
3771
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3772
  "node_modules/react": {
3773
  "version": "18.2.0",
3774
  "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
@@ -3849,6 +4266,19 @@
3849
  "pify": "^2.3.0"
3850
  }
3851
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
3852
  "node_modules/readdirp": {
3853
  "version": "3.6.0",
3854
  "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -4017,6 +4447,25 @@
4017
  "url": "https://github.com/sponsors/ljharb"
4018
  }
4019
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4020
  "node_modules/safe-regex-test": {
4021
  "version": "1.0.0",
4022
  "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
@@ -4054,7 +4503,6 @@
4054
  "version": "7.5.4",
4055
  "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
4056
  "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
4057
- "dev": true,
4058
  "dependencies": {
4059
  "lru-cache": "^6.0.0"
4060
  },
@@ -4102,10 +4550,33 @@
4102
  "node": ">=6.9"
4103
  }
4104
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4105
  "node_modules/shebang-command": {
4106
  "version": "2.0.0",
4107
  "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
4108
  "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
 
4109
  "dependencies": {
4110
  "shebang-regex": "^3.0.0"
4111
  },
@@ -4117,6 +4588,7 @@
4117
  "version": "3.0.0",
4118
  "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
4119
  "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
 
4120
  "engines": {
4121
  "node": ">=8"
4122
  }
@@ -4135,6 +4607,57 @@
4135
  "url": "https://github.com/sponsors/ljharb"
4136
  }
4137
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4138
  "node_modules/slash": {
4139
  "version": "3.0.0",
4140
  "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -4214,6 +4737,23 @@
4214
  "node": ">=10.0.0"
4215
  }
4216
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4217
  "node_modules/string.prototype.matchall": {
4218
  "version": "4.0.10",
4219
  "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz",
@@ -4451,6 +4991,26 @@
4451
  "node": ">=6"
4452
  }
4453
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4454
  "node_modules/text-table": {
4455
  "version": "0.2.0",
4456
  "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -4592,6 +5152,17 @@
4592
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
4593
  "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
4594
  },
 
 
 
 
 
 
 
 
 
 
 
4595
  "node_modules/type-check": {
4596
  "version": "0.4.0",
4597
  "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -4712,8 +5283,7 @@
4712
  "node_modules/undici-types": {
4713
  "version": "5.26.5",
4714
  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
4715
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
4716
- "dev": true
4717
  },
4718
  "node_modules/update-browserslist-db": {
4719
  "version": "1.0.13",
@@ -4765,8 +5335,7 @@
4765
  "node_modules/util-deprecate": {
4766
  "version": "1.0.2",
4767
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
4768
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
4769
- "dev": true
4770
  },
4771
  "node_modules/v8-compile-cache-lib": {
4772
  "version": "3.0.1",
@@ -4790,6 +5359,7 @@
4790
  "version": "2.0.2",
4791
  "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
4792
  "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
 
4793
  "dependencies": {
4794
  "isexe": "^2.0.0"
4795
  },
@@ -4879,14 +5449,12 @@
4879
  "node_modules/wrappy": {
4880
  "version": "1.0.2",
4881
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4882
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
4883
- "dev": true
4884
  },
4885
  "node_modules/yallist": {
4886
  "version": "4.0.0",
4887
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
4888
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
4889
- "dev": true
4890
  },
4891
  "node_modules/yaml": {
4892
  "version": "2.3.3",
 
10
  "dependencies": {
11
  "@prisma/client": "^5.5.2",
12
  "@tanstack/react-query": "^4.32.6",
13
+ "@xenova/transformers": "^2.7.0",
14
  "classnames": "^2.3.2",
 
15
  "filereader": "^0.10.3",
16
  "framer-motion": "^10.16.4",
17
  "next": "13.5.6",
 
456
  "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.5.1-1.aebc046ce8b88ebbcb45efe31cbe7d06fd6abc0a.tgz",
457
  "integrity": "sha512-O+qHFnZvAyOFk1tUco2/VdiqS0ym42a3+6CYLScllmnpbyiTplgyLt2rK/B9BTjYkSHjrgMhkG47S0oqzdIckA=="
458
  },
459
+ "node_modules/@protobufjs/aspromise": {
460
+ "version": "1.1.2",
461
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
462
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
463
+ },
464
+ "node_modules/@protobufjs/base64": {
465
+ "version": "1.1.2",
466
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
467
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
468
+ },
469
+ "node_modules/@protobufjs/codegen": {
470
+ "version": "2.0.4",
471
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
472
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
473
+ },
474
+ "node_modules/@protobufjs/eventemitter": {
475
+ "version": "1.1.0",
476
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
477
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
478
+ },
479
+ "node_modules/@protobufjs/fetch": {
480
+ "version": "1.1.0",
481
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
482
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
483
+ "dependencies": {
484
+ "@protobufjs/aspromise": "^1.1.1",
485
+ "@protobufjs/inquire": "^1.1.0"
486
+ }
487
+ },
488
+ "node_modules/@protobufjs/float": {
489
+ "version": "1.0.2",
490
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
491
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
492
+ },
493
+ "node_modules/@protobufjs/inquire": {
494
+ "version": "1.1.0",
495
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
496
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
497
+ },
498
+ "node_modules/@protobufjs/path": {
499
+ "version": "1.1.2",
500
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
501
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
502
+ },
503
+ "node_modules/@protobufjs/pool": {
504
+ "version": "1.1.0",
505
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
506
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
507
+ },
508
+ "node_modules/@protobufjs/utf8": {
509
+ "version": "1.1.0",
510
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
511
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
512
+ },
513
  "node_modules/@rushstack/eslint-patch": {
514
  "version": "1.5.1",
515
  "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz",
 
594
  "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
595
  "dev": true
596
  },
597
+ "node_modules/@types/long": {
598
+ "version": "4.0.2",
599
+ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
600
+ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
601
+ },
602
  "node_modules/@types/node": {
603
  "version": "20.8.9",
604
  "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz",
605
  "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==",
 
606
  "dependencies": {
607
  "undici-types": "~5.26.4"
608
  }
 
747
  "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
748
  "dev": true
749
  },
750
+ "node_modules/@xenova/transformers": {
751
+ "version": "2.7.0",
752
+ "resolved": "https://registry.npmjs.org/@xenova/transformers/-/transformers-2.7.0.tgz",
753
+ "integrity": "sha512-py5RqZt9lL/FFUT5X6St+TOSBoVaEmDETI98lK9ApEOvlWeX4bTS2nMQDFe3nFMpv24+wllhmPw2Www/f/ubJA==",
754
+ "dependencies": {
755
+ "onnxruntime-web": "1.14.0",
756
+ "sharp": "^0.32.0"
757
+ },
758
+ "optionalDependencies": {
759
+ "onnxruntime-node": "1.14.0"
760
+ }
761
+ },
762
  "node_modules/@xobotyi/scrollbar-width": {
763
  "version": "1.9.5",
764
  "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz",
 
1086
  "dequal": "^2.0.3"
1087
  }
1088
  },
1089
+ "node_modules/b4a": {
1090
+ "version": "1.6.4",
1091
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
1092
+ "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw=="
1093
+ },
1094
  "node_modules/balanced-match": {
1095
  "version": "1.0.2",
1096
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1097
  "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1098
  "dev": true
1099
  },
1100
+ "node_modules/base64-js": {
1101
+ "version": "1.5.1",
1102
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1103
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1104
+ "funding": [
1105
+ {
1106
+ "type": "github",
1107
+ "url": "https://github.com/sponsors/feross"
1108
+ },
1109
+ {
1110
+ "type": "patreon",
1111
+ "url": "https://www.patreon.com/feross"
1112
+ },
1113
+ {
1114
+ "type": "consulting",
1115
+ "url": "https://feross.org/support"
1116
+ }
1117
+ ]
1118
+ },
1119
  "node_modules/binary-extensions": {
1120
  "version": "2.2.0",
1121
  "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
 
1125
  "node": ">=8"
1126
  }
1127
  },
1128
+ "node_modules/bl": {
1129
+ "version": "4.1.0",
1130
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
1131
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
1132
+ "dependencies": {
1133
+ "buffer": "^5.5.0",
1134
+ "inherits": "^2.0.4",
1135
+ "readable-stream": "^3.4.0"
1136
+ }
1137
+ },
1138
  "node_modules/brace-expansion": {
1139
  "version": "1.1.11",
1140
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 
1189
  "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1190
  }
1191
  },
1192
+ "node_modules/buffer": {
1193
+ "version": "5.7.1",
1194
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
1195
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
1196
+ "funding": [
1197
+ {
1198
+ "type": "github",
1199
+ "url": "https://github.com/sponsors/feross"
1200
+ },
1201
+ {
1202
+ "type": "patreon",
1203
+ "url": "https://www.patreon.com/feross"
1204
+ },
1205
+ {
1206
+ "type": "consulting",
1207
+ "url": "https://feross.org/support"
1208
+ }
1209
+ ],
1210
+ "dependencies": {
1211
+ "base64-js": "^1.3.1",
1212
+ "ieee754": "^1.1.13"
1213
+ }
1214
+ },
1215
  "node_modules/busboy": {
1216
  "version": "1.6.0",
1217
  "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
 
1329
  "node": ">= 6"
1330
  }
1331
  },
1332
+ "node_modules/chownr": {
1333
+ "version": "1.1.4",
1334
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
1335
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
1336
+ },
1337
  "node_modules/classnames": {
1338
  "version": "2.3.2",
1339
  "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
 
1344
  "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
1345
  "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
1346
  },
1347
+ "node_modules/color": {
1348
+ "version": "4.2.3",
1349
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
1350
+ "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
1351
+ "dependencies": {
1352
+ "color-convert": "^2.0.1",
1353
+ "color-string": "^1.9.0"
1354
+ },
1355
+ "engines": {
1356
+ "node": ">=12.5.0"
1357
+ }
1358
+ },
1359
  "node_modules/color-convert": {
1360
  "version": "2.0.1",
1361
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1362
  "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
 
1363
  "dependencies": {
1364
  "color-name": "~1.1.4"
1365
  },
 
1370
  "node_modules/color-name": {
1371
  "version": "1.1.4",
1372
  "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1373
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
1374
+ },
1375
+ "node_modules/color-string": {
1376
+ "version": "1.9.1",
1377
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
1378
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
1379
+ "dependencies": {
1380
+ "color-name": "^1.0.0",
1381
+ "simple-swizzle": "^0.2.2"
1382
+ }
1383
  },
1384
  "node_modules/commander": {
1385
  "version": "4.1.1",
 
1414
  "version": "7.0.3",
1415
  "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1416
  "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1417
+ "dev": true,
1418
  "dependencies": {
1419
  "path-key": "^3.1.0",
1420
  "shebang-command": "^2.0.0",
 
1484
  }
1485
  }
1486
  },
1487
+ "node_modules/decompress-response": {
1488
+ "version": "6.0.0",
1489
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
1490
+ "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
1491
+ "dependencies": {
1492
+ "mimic-response": "^3.1.0"
1493
+ },
1494
+ "engines": {
1495
+ "node": ">=10"
1496
+ },
1497
+ "funding": {
1498
+ "url": "https://github.com/sponsors/sindresorhus"
1499
+ }
1500
+ },
1501
+ "node_modules/deep-extend": {
1502
+ "version": "0.6.0",
1503
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
1504
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
1505
+ "engines": {
1506
+ "node": ">=4.0.0"
1507
+ }
1508
+ },
1509
  "node_modules/deep-is": {
1510
  "version": "0.1.4",
1511
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
 
1552
  "node": ">=6"
1553
  }
1554
  },
1555
+ "node_modules/detect-libc": {
1556
+ "version": "2.0.2",
1557
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz",
1558
+ "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==",
1559
+ "engines": {
1560
+ "node": ">=8"
1561
+ }
1562
+ },
1563
  "node_modules/didyoumean": {
1564
  "version": "1.2.2",
1565
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
 
1605
  "node": ">=6.0.0"
1606
  }
1607
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1608
  "node_modules/electron-to-chromium": {
1609
  "version": "1.4.566",
1610
  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.566.tgz",
 
1617
  "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
1618
  "dev": true
1619
  },
1620
+ "node_modules/end-of-stream": {
1621
+ "version": "1.4.4",
1622
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
1623
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
1624
+ "dependencies": {
1625
+ "once": "^1.4.0"
1626
+ }
1627
+ },
1628
  "node_modules/enhanced-resolve": {
1629
  "version": "5.15.0",
1630
  "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
 
2201
  "node": ">=0.10.0"
2202
  }
2203
  },
2204
+ "node_modules/expand-template": {
2205
+ "version": "2.0.3",
2206
+ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
2207
+ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
2208
+ "engines": {
2209
+ "node": ">=6"
2210
+ }
2211
+ },
2212
  "node_modules/fast-deep-equal": {
2213
  "version": "3.1.3",
2214
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2215
  "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
2216
  },
2217
+ "node_modules/fast-fifo": {
2218
+ "version": "1.3.2",
2219
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
2220
+ "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="
2221
+ },
2222
  "node_modules/fast-glob": {
2223
  "version": "3.3.1",
2224
  "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
 
2342
  "node": ">=12.0.0"
2343
  }
2344
  },
2345
+ "node_modules/flatbuffers": {
2346
+ "version": "1.12.0",
2347
+ "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-1.12.0.tgz",
2348
+ "integrity": "sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ=="
2349
+ },
2350
  "node_modules/flatted": {
2351
  "version": "3.2.9",
2352
  "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
 
2398
  }
2399
  }
2400
  },
2401
+ "node_modules/fs-constants": {
2402
+ "version": "1.0.0",
2403
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
2404
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
2405
+ },
2406
  "node_modules/fs.realpath": {
2407
  "version": "1.0.0",
2408
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 
2502
  "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
2503
  }
2504
  },
2505
+ "node_modules/github-from-package": {
2506
+ "version": "0.0.0",
2507
+ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
2508
+ "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="
2509
+ },
2510
  "node_modules/glob": {
2511
  "version": "7.1.7",
2512
  "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
 
2617
  "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
2618
  "dev": true
2619
  },
2620
+ "node_modules/guid-typescript": {
2621
+ "version": "1.0.9",
2622
+ "resolved": "https://registry.npmjs.org/guid-typescript/-/guid-typescript-1.0.9.tgz",
2623
+ "integrity": "sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ=="
2624
+ },
2625
  "node_modules/has": {
2626
  "version": "1.0.4",
2627
  "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
 
2717
  "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
2718
  "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
2719
  },
2720
+ "node_modules/ieee754": {
2721
+ "version": "1.2.1",
2722
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
2723
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
2724
+ "funding": [
2725
+ {
2726
+ "type": "github",
2727
+ "url": "https://github.com/sponsors/feross"
2728
+ },
2729
+ {
2730
+ "type": "patreon",
2731
+ "url": "https://www.patreon.com/feross"
2732
+ },
2733
+ {
2734
+ "type": "consulting",
2735
+ "url": "https://feross.org/support"
2736
+ }
2737
+ ]
2738
+ },
2739
  "node_modules/ignore": {
2740
  "version": "5.2.4",
2741
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
 
2783
  "node_modules/inherits": {
2784
  "version": "2.0.4",
2785
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2786
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
2787
+ },
2788
+ "node_modules/ini": {
2789
+ "version": "1.3.8",
2790
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
2791
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
2792
  },
2793
  "node_modules/inline-style-prefixer": {
2794
  "version": "6.0.4",
 
2827
  "url": "https://github.com/sponsors/ljharb"
2828
  }
2829
  },
2830
+ "node_modules/is-arrayish": {
2831
+ "version": "0.3.2",
2832
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
2833
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
2834
+ },
2835
  "node_modules/is-async-function": {
2836
  "version": "2.0.0",
2837
  "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
 
3153
  "node_modules/isexe": {
3154
  "version": "2.0.0",
3155
  "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3156
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
3157
+ "dev": true
3158
  },
3159
  "node_modules/iterator.prototype": {
3160
  "version": "1.1.2",
 
3318
  "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
3319
  "dev": true
3320
  },
3321
+ "node_modules/long": {
3322
+ "version": "4.0.0",
3323
+ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
3324
+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
3325
+ },
3326
  "node_modules/loose-envify": {
3327
  "version": "1.4.0",
3328
  "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
 
3338
  "version": "6.0.0",
3339
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
3340
  "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 
3341
  "dependencies": {
3342
  "yallist": "^4.0.0"
3343
  },
 
3378
  "node": ">=8.6"
3379
  }
3380
  },
3381
+ "node_modules/mimic-response": {
3382
+ "version": "3.1.0",
3383
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
3384
+ "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
3385
+ "engines": {
3386
+ "node": ">=10"
3387
+ },
3388
+ "funding": {
3389
+ "url": "https://github.com/sponsors/sindresorhus"
3390
+ }
3391
+ },
3392
  "node_modules/minimatch": {
3393
  "version": "3.1.2",
3394
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
 
3409
  "url": "https://github.com/sponsors/ljharb"
3410
  }
3411
  },
3412
+ "node_modules/mkdirp-classic": {
3413
+ "version": "0.5.3",
3414
+ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
3415
+ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
3416
+ },
3417
  "node_modules/ms": {
3418
  "version": "2.1.2",
3419
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 
3467
  "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
3468
  }
3469
  },
3470
+ "node_modules/napi-build-utils": {
3471
+ "version": "1.0.2",
3472
+ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
3473
+ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
3474
+ },
3475
  "node_modules/natural-compare": {
3476
  "version": "1.4.0",
3477
  "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
 
3523
  }
3524
  }
3525
  },
3526
+ "node_modules/node-abi": {
3527
+ "version": "3.51.0",
3528
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz",
3529
+ "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==",
3530
+ "dependencies": {
3531
+ "semver": "^7.3.5"
3532
+ },
3533
+ "engines": {
3534
+ "node": ">=10"
3535
+ }
3536
+ },
3537
+ "node_modules/node-addon-api": {
3538
+ "version": "6.1.0",
3539
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
3540
+ "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA=="
3541
+ },
3542
  "node_modules/node-releases": {
3543
  "version": "2.0.13",
3544
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
 
3694
  "version": "1.4.0",
3695
  "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3696
  "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
 
3697
  "dependencies": {
3698
  "wrappy": "1"
3699
  }
3700
  },
3701
+ "node_modules/onnx-proto": {
3702
+ "version": "4.0.4",
3703
+ "resolved": "https://registry.npmjs.org/onnx-proto/-/onnx-proto-4.0.4.tgz",
3704
+ "integrity": "sha512-aldMOB3HRoo6q/phyB6QRQxSt895HNNw82BNyZ2CMh4bjeKv7g/c+VpAFtJuEMVfYLMbRx61hbuqnKceLeDcDA==",
3705
+ "dependencies": {
3706
+ "protobufjs": "^6.8.8"
3707
+ }
3708
+ },
3709
+ "node_modules/onnxruntime-common": {
3710
+ "version": "1.14.0",
3711
+ "resolved": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.14.0.tgz",
3712
+ "integrity": "sha512-3LJpegM2iMNRX2wUmtYfeX/ytfOzNwAWKSq1HbRrKc9+uqG/FsEA0bbKZl1btQeZaXhC26l44NWpNUeXPII7Ew=="
3713
+ },
3714
+ "node_modules/onnxruntime-node": {
3715
+ "version": "1.14.0",
3716
+ "resolved": "https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-1.14.0.tgz",
3717
+ "integrity": "sha512-5ba7TWomIV/9b6NH/1x/8QEeowsb+jBEvFzU6z0T4mNsFwdPqXeFUM7uxC6QeSRkEbWu3qEB0VMjrvzN/0S9+w==",
3718
+ "optional": true,
3719
+ "os": [
3720
+ "win32",
3721
+ "darwin",
3722
+ "linux"
3723
+ ],
3724
+ "dependencies": {
3725
+ "onnxruntime-common": "~1.14.0"
3726
+ }
3727
+ },
3728
+ "node_modules/onnxruntime-web": {
3729
+ "version": "1.14.0",
3730
+ "resolved": "https://registry.npmjs.org/onnxruntime-web/-/onnxruntime-web-1.14.0.tgz",
3731
+ "integrity": "sha512-Kcqf43UMfW8mCydVGcX9OMXI2VN17c0p6XvR7IPSZzBf/6lteBzXHvcEVWDPmCKuGombl997HgLqj91F11DzXw==",
3732
+ "dependencies": {
3733
+ "flatbuffers": "^1.12.0",
3734
+ "guid-typescript": "^1.0.9",
3735
+ "long": "^4.0.0",
3736
+ "onnx-proto": "^4.0.4",
3737
+ "onnxruntime-common": "~1.14.0",
3738
+ "platform": "^1.3.6"
3739
+ }
3740
+ },
3741
  "node_modules/optionator": {
3742
  "version": "0.9.3",
3743
  "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
 
3819
  "version": "3.1.1",
3820
  "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3821
  "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
3822
+ "dev": true,
3823
  "engines": {
3824
  "node": ">=8"
3825
  }
 
3874
  "node": ">= 6"
3875
  }
3876
  },
3877
+ "node_modules/platform": {
3878
+ "version": "1.3.6",
3879
+ "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz",
3880
+ "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg=="
3881
+ },
3882
  "node_modules/postcss": {
3883
  "version": "8.4.31",
3884
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
 
4009
  "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
4010
  "dev": true
4011
  },
4012
+ "node_modules/prebuild-install": {
4013
+ "version": "7.1.1",
4014
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
4015
+ "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
4016
+ "dependencies": {
4017
+ "detect-libc": "^2.0.0",
4018
+ "expand-template": "^2.0.3",
4019
+ "github-from-package": "0.0.0",
4020
+ "minimist": "^1.2.3",
4021
+ "mkdirp-classic": "^0.5.3",
4022
+ "napi-build-utils": "^1.0.1",
4023
+ "node-abi": "^3.3.0",
4024
+ "pump": "^3.0.0",
4025
+ "rc": "^1.2.7",
4026
+ "simple-get": "^4.0.0",
4027
+ "tar-fs": "^2.0.0",
4028
+ "tunnel-agent": "^0.6.0"
4029
+ },
4030
+ "bin": {
4031
+ "prebuild-install": "bin.js"
4032
+ },
4033
+ "engines": {
4034
+ "node": ">=10"
4035
+ }
4036
+ },
4037
+ "node_modules/prebuild-install/node_modules/tar-fs": {
4038
+ "version": "2.1.1",
4039
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
4040
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
4041
+ "dependencies": {
4042
+ "chownr": "^1.1.1",
4043
+ "mkdirp-classic": "^0.5.2",
4044
+ "pump": "^3.0.0",
4045
+ "tar-stream": "^2.1.4"
4046
+ }
4047
+ },
4048
+ "node_modules/prebuild-install/node_modules/tar-stream": {
4049
+ "version": "2.2.0",
4050
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
4051
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
4052
+ "dependencies": {
4053
+ "bl": "^4.0.3",
4054
+ "end-of-stream": "^1.4.1",
4055
+ "fs-constants": "^1.0.0",
4056
+ "inherits": "^2.0.3",
4057
+ "readable-stream": "^3.1.1"
4058
+ },
4059
+ "engines": {
4060
+ "node": ">=6"
4061
+ }
4062
+ },
4063
  "node_modules/prelude-ls": {
4064
  "version": "1.2.1",
4065
  "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
 
4096
  "react-is": "^16.13.1"
4097
  }
4098
  },
4099
+ "node_modules/protobufjs": {
4100
+ "version": "6.11.4",
4101
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz",
4102
+ "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==",
4103
+ "hasInstallScript": true,
4104
+ "dependencies": {
4105
+ "@protobufjs/aspromise": "^1.1.2",
4106
+ "@protobufjs/base64": "^1.1.2",
4107
+ "@protobufjs/codegen": "^2.0.4",
4108
+ "@protobufjs/eventemitter": "^1.1.0",
4109
+ "@protobufjs/fetch": "^1.1.0",
4110
+ "@protobufjs/float": "^1.0.2",
4111
+ "@protobufjs/inquire": "^1.1.0",
4112
+ "@protobufjs/path": "^1.1.2",
4113
+ "@protobufjs/pool": "^1.1.0",
4114
+ "@protobufjs/utf8": "^1.1.0",
4115
+ "@types/long": "^4.0.1",
4116
+ "@types/node": ">=13.7.0",
4117
+ "long": "^4.0.0"
4118
+ },
4119
+ "bin": {
4120
+ "pbjs": "bin/pbjs",
4121
+ "pbts": "bin/pbts"
4122
+ }
4123
+ },
4124
+ "node_modules/pump": {
4125
+ "version": "3.0.0",
4126
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
4127
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
4128
+ "dependencies": {
4129
+ "end-of-stream": "^1.1.0",
4130
+ "once": "^1.3.1"
4131
+ }
4132
+ },
4133
  "node_modules/punycode": {
4134
  "version": "2.3.0",
4135
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
 
4159
  }
4160
  ]
4161
  },
4162
+ "node_modules/queue-tick": {
4163
+ "version": "1.0.1",
4164
+ "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
4165
+ "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
4166
+ },
4167
+ "node_modules/rc": {
4168
+ "version": "1.2.8",
4169
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
4170
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
4171
+ "dependencies": {
4172
+ "deep-extend": "^0.6.0",
4173
+ "ini": "~1.3.0",
4174
+ "minimist": "^1.2.0",
4175
+ "strip-json-comments": "~2.0.1"
4176
+ },
4177
+ "bin": {
4178
+ "rc": "cli.js"
4179
+ }
4180
+ },
4181
+ "node_modules/rc/node_modules/strip-json-comments": {
4182
+ "version": "2.0.1",
4183
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
4184
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
4185
+ "engines": {
4186
+ "node": ">=0.10.0"
4187
+ }
4188
+ },
4189
  "node_modules/react": {
4190
  "version": "18.2.0",
4191
  "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
 
4266
  "pify": "^2.3.0"
4267
  }
4268
  },
4269
+ "node_modules/readable-stream": {
4270
+ "version": "3.6.2",
4271
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
4272
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
4273
+ "dependencies": {
4274
+ "inherits": "^2.0.3",
4275
+ "string_decoder": "^1.1.1",
4276
+ "util-deprecate": "^1.0.1"
4277
+ },
4278
+ "engines": {
4279
+ "node": ">= 6"
4280
+ }
4281
+ },
4282
  "node_modules/readdirp": {
4283
  "version": "3.6.0",
4284
  "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
 
4447
  "url": "https://github.com/sponsors/ljharb"
4448
  }
4449
  },
4450
+ "node_modules/safe-buffer": {
4451
+ "version": "5.2.1",
4452
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
4453
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
4454
+ "funding": [
4455
+ {
4456
+ "type": "github",
4457
+ "url": "https://github.com/sponsors/feross"
4458
+ },
4459
+ {
4460
+ "type": "patreon",
4461
+ "url": "https://www.patreon.com/feross"
4462
+ },
4463
+ {
4464
+ "type": "consulting",
4465
+ "url": "https://feross.org/support"
4466
+ }
4467
+ ]
4468
+ },
4469
  "node_modules/safe-regex-test": {
4470
  "version": "1.0.0",
4471
  "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
 
4503
  "version": "7.5.4",
4504
  "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
4505
  "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 
4506
  "dependencies": {
4507
  "lru-cache": "^6.0.0"
4508
  },
 
4550
  "node": ">=6.9"
4551
  }
4552
  },
4553
+ "node_modules/sharp": {
4554
+ "version": "0.32.6",
4555
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz",
4556
+ "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==",
4557
+ "hasInstallScript": true,
4558
+ "dependencies": {
4559
+ "color": "^4.2.3",
4560
+ "detect-libc": "^2.0.2",
4561
+ "node-addon-api": "^6.1.0",
4562
+ "prebuild-install": "^7.1.1",
4563
+ "semver": "^7.5.4",
4564
+ "simple-get": "^4.0.1",
4565
+ "tar-fs": "^3.0.4",
4566
+ "tunnel-agent": "^0.6.0"
4567
+ },
4568
+ "engines": {
4569
+ "node": ">=14.15.0"
4570
+ },
4571
+ "funding": {
4572
+ "url": "https://opencollective.com/libvips"
4573
+ }
4574
+ },
4575
  "node_modules/shebang-command": {
4576
  "version": "2.0.0",
4577
  "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
4578
  "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
4579
+ "dev": true,
4580
  "dependencies": {
4581
  "shebang-regex": "^3.0.0"
4582
  },
 
4588
  "version": "3.0.0",
4589
  "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
4590
  "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
4591
+ "dev": true,
4592
  "engines": {
4593
  "node": ">=8"
4594
  }
 
4607
  "url": "https://github.com/sponsors/ljharb"
4608
  }
4609
  },
4610
+ "node_modules/simple-concat": {
4611
+ "version": "1.0.1",
4612
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
4613
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
4614
+ "funding": [
4615
+ {
4616
+ "type": "github",
4617
+ "url": "https://github.com/sponsors/feross"
4618
+ },
4619
+ {
4620
+ "type": "patreon",
4621
+ "url": "https://www.patreon.com/feross"
4622
+ },
4623
+ {
4624
+ "type": "consulting",
4625
+ "url": "https://feross.org/support"
4626
+ }
4627
+ ]
4628
+ },
4629
+ "node_modules/simple-get": {
4630
+ "version": "4.0.1",
4631
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
4632
+ "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
4633
+ "funding": [
4634
+ {
4635
+ "type": "github",
4636
+ "url": "https://github.com/sponsors/feross"
4637
+ },
4638
+ {
4639
+ "type": "patreon",
4640
+ "url": "https://www.patreon.com/feross"
4641
+ },
4642
+ {
4643
+ "type": "consulting",
4644
+ "url": "https://feross.org/support"
4645
+ }
4646
+ ],
4647
+ "dependencies": {
4648
+ "decompress-response": "^6.0.0",
4649
+ "once": "^1.3.1",
4650
+ "simple-concat": "^1.0.0"
4651
+ }
4652
+ },
4653
+ "node_modules/simple-swizzle": {
4654
+ "version": "0.2.2",
4655
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
4656
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
4657
+ "dependencies": {
4658
+ "is-arrayish": "^0.3.1"
4659
+ }
4660
+ },
4661
  "node_modules/slash": {
4662
  "version": "3.0.0",
4663
  "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
 
4737
  "node": ">=10.0.0"
4738
  }
4739
  },
4740
+ "node_modules/streamx": {
4741
+ "version": "2.15.1",
4742
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz",
4743
+ "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==",
4744
+ "dependencies": {
4745
+ "fast-fifo": "^1.1.0",
4746
+ "queue-tick": "^1.0.1"
4747
+ }
4748
+ },
4749
+ "node_modules/string_decoder": {
4750
+ "version": "1.3.0",
4751
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
4752
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
4753
+ "dependencies": {
4754
+ "safe-buffer": "~5.2.0"
4755
+ }
4756
+ },
4757
  "node_modules/string.prototype.matchall": {
4758
  "version": "4.0.10",
4759
  "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz",
 
4991
  "node": ">=6"
4992
  }
4993
  },
4994
+ "node_modules/tar-fs": {
4995
+ "version": "3.0.4",
4996
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
4997
+ "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
4998
+ "dependencies": {
4999
+ "mkdirp-classic": "^0.5.2",
5000
+ "pump": "^3.0.0",
5001
+ "tar-stream": "^3.1.5"
5002
+ }
5003
+ },
5004
+ "node_modules/tar-stream": {
5005
+ "version": "3.1.6",
5006
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz",
5007
+ "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==",
5008
+ "dependencies": {
5009
+ "b4a": "^1.6.4",
5010
+ "fast-fifo": "^1.2.0",
5011
+ "streamx": "^2.15.0"
5012
+ }
5013
+ },
5014
  "node_modules/text-table": {
5015
  "version": "0.2.0",
5016
  "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
 
5152
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
5153
  "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
5154
  },
5155
+ "node_modules/tunnel-agent": {
5156
+ "version": "0.6.0",
5157
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
5158
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
5159
+ "dependencies": {
5160
+ "safe-buffer": "^5.0.1"
5161
+ },
5162
+ "engines": {
5163
+ "node": "*"
5164
+ }
5165
+ },
5166
  "node_modules/type-check": {
5167
  "version": "0.4.0",
5168
  "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
 
5283
  "node_modules/undici-types": {
5284
  "version": "5.26.5",
5285
  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
5286
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
 
5287
  },
5288
  "node_modules/update-browserslist-db": {
5289
  "version": "1.0.13",
 
5335
  "node_modules/util-deprecate": {
5336
  "version": "1.0.2",
5337
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
5338
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
 
5339
  },
5340
  "node_modules/v8-compile-cache-lib": {
5341
  "version": "3.0.1",
 
5359
  "version": "2.0.2",
5360
  "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
5361
  "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
5362
+ "dev": true,
5363
  "dependencies": {
5364
  "isexe": "^2.0.0"
5365
  },
 
5449
  "node_modules/wrappy": {
5450
  "version": "1.0.2",
5451
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5452
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
 
5453
  },
5454
  "node_modules/yallist": {
5455
  "version": "4.0.0",
5456
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
5457
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
 
5458
  },
5459
  "node_modules/yaml": {
5460
  "version": "2.3.3",
package.json CHANGED
@@ -11,6 +11,7 @@
11
  "dependencies": {
12
  "@prisma/client": "^5.5.2",
13
  "@tanstack/react-query": "^4.32.6",
 
14
  "classnames": "^2.3.2",
15
  "filereader": "^0.10.3",
16
  "framer-motion": "^10.16.4",
 
11
  "dependencies": {
12
  "@prisma/client": "^5.5.2",
13
  "@tanstack/react-query": "^4.32.6",
14
+ "@xenova/transformers": "^2.7.0",
15
  "classnames": "^2.3.2",
16
  "filereader": "^0.10.3",
17
  "framer-motion": "^10.16.4",