Akhil-Theerthala commited on
Commit
e7a3a15
·
verified ·
1 Parent(s): 02b0322

Upload 3 files

Browse files
Files changed (3) hide show
  1. Dockerfile +3 -3
  2. README_HF_SPACES.md +118 -0
  3. package-lock.json +331 -810
Dockerfile CHANGED
@@ -1,12 +1,12 @@
1
- FROM node:18-alpine
2
 
3
  WORKDIR /app
4
 
5
  # Copy package files
6
  COPY package*.json ./
7
 
8
- # Install dependencies
9
- RUN npm ci
10
 
11
  # Copy source code
12
  COPY . .
 
1
+ FROM node:20-alpine
2
 
3
  WORKDIR /app
4
 
5
  # Copy package files
6
  COPY package*.json ./
7
 
8
+ # Install dependencies (use install instead of ci to avoid lock file sync issues)
9
+ RUN npm install
10
 
11
  # Copy source code
12
  COPY . .
README_HF_SPACES.md ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Comic Genesis AI
3
+ emoji: 🎨
4
+ colorFrom: purple
5
+ colorTo: pink
6
+ sdk: docker
7
+ app_port: 7860
8
+ ---
9
+
10
+ # 🎨 Manga Genesis AI
11
+
12
+ A professional AI-powered manga generator that transforms story ideas into stunning visual narratives using authentic Japanese manga styles and Google's Gemini AI technology.
13
+
14
+ ## ✨ Features
15
+
16
+ ### 🚀 **Professional Manga Creation**
17
+ - **Advanced AI Storytelling**: Enhanced narrative structure analysis with genre-specific templates
18
+ - **Intelligent Panel Composition**: Dynamic layouts optimized for visual storytelling
19
+ - **Character Development**: Multi-dimensional character profiles with consistency tracking
20
+ - **Professional Art Styles**: Shonen, Shojo, Seinen, and Chibi manga aesthetics
21
+
22
+ ### 🎭 **Story Templates**
23
+ - **Hero's Journey**: Classic adventure narratives with character transformation
24
+ - **Mystery Thriller**: Suspenseful investigations with plot twists
25
+ - **Slice of Life**: Character-driven everyday moments
26
+ - **Sci-Fi Adventure**: Futuristic worlds with advanced technology
27
+ - **Romance Drama**: Emotional love stories with obstacles
28
+ - **Custom Story**: Complete creative freedom
29
+
30
+ ### 🎨 **Modern Interface**
31
+ - **Glass Morphism Design**: Sleek, professional dark theme with backdrop blur effects
32
+ - **Interactive Elements**: Smooth animations and hover effects
33
+ - **Responsive Layout**: Optimized for desktop and mobile devices
34
+ - **Real-time Progress**: Visual feedback during comic generation
35
+
36
+ ## 🔑 Setup Instructions
37
+
38
+ 1. **Get your API key**: Visit [Google AI Studio](https://makersuite.google.com/app/apikey) to get your free Gemini API key
39
+ 2. **Enter your story**: Describe your manga story idea
40
+ 3. **Choose template and style**: Select from professional story structures and art styles
41
+ 4. **Generate**: Create your manga with AI-powered storytelling
42
+ 5. **Download**: Export as high-quality PDF
43
+
44
+ ## 🎯 How It Works
45
+
46
+ 1. **Choose a Template**: Select from professional story structures or start custom
47
+ 2. **Craft Your Story**: Use the interactive editor with writing tips and guidance
48
+ 3. **Select Art Style**: Choose from authentic Japanese manga aesthetics
49
+ 4. **AI Generation**: Advanced algorithms create character profiles and panel layouts
50
+ 5. **Visual Creation**: Google Gemini generates professional manga pages
51
+ 6. **Download**: Export your manga as a high-quality PDF
52
+
53
+ ## 🧠 Advanced Features
54
+
55
+ ### **Narrative Structure Analysis**
56
+ - Automatic story pattern detection
57
+ - Genre-specific beat planning
58
+ - Character arc development
59
+ - Emotional pacing optimization
60
+
61
+ ### **Professional Panel Composition**
62
+ - Dynamic layout analysis based on story content
63
+ - Style-specific visual arrangements
64
+ - Proper manga flow and reading patterns (right-to-left)
65
+ - Visual hierarchy optimization
66
+
67
+ ### **Character Consistency**
68
+ - Multi-dimensional character profiles
69
+ - Visual trait consistency across panels
70
+ - Personality-driven design elements
71
+ - Relationship dynamics integration
72
+
73
+ ## 🎨 Technology Stack
74
+
75
+ - **Frontend**: React 19 + TypeScript
76
+ - **Styling**: Modern Glass Morphism Design
77
+ - **AI Engine**: Google Gemini 2.5 Flash + Image Preview
78
+ - **Build Tool**: Vite 6
79
+ - **Container**: Docker
80
+ - **PDF Generation**: Built-in export functionality
81
+
82
+ ## 🚀 Local Development
83
+
84
+ ```bash
85
+ # Clone the repository
86
+ git clone <your-repo-url>
87
+ cd comic-book-generator-2
88
+
89
+ # Install dependencies
90
+ npm install
91
+
92
+ # Run development server
93
+ npm run dev
94
+
95
+ # Build for production
96
+ npm run build
97
+
98
+ # Preview production build
99
+ npm run preview
100
+ ```
101
+
102
+ ## 🐳 Docker Deployment
103
+
104
+ ```bash
105
+ # Build the Docker image
106
+ docker build -t manga-genesis-ai .
107
+
108
+ # Run the container
109
+ docker run -p 7860:7860 manga-genesis-ai
110
+ ```
111
+
112
+ ## 📝 License
113
+
114
+ This project is licensed under the MIT License.
115
+
116
+ ---
117
+
118
+ **🎨 Transform your stories into authentic manga masterpieces with Manga Genesis AI!**
package-lock.json CHANGED
@@ -9,6 +9,7 @@
9
  "version": "0.0.0",
10
  "dependencies": {
11
  "@google/genai": "^1.17.0",
 
12
  "react": "^19.1.1",
13
  "react-dom": "^19.1.1"
14
  },
@@ -254,6 +255,15 @@
254
  "@babel/core": "^7.0.0-0"
255
  }
256
  },
 
 
 
 
 
 
 
 
 
257
  "node_modules/@babel/template": {
258
  "version": "7.27.2",
259
  "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
@@ -302,856 +312,151 @@
302
  "node": ">=6.9.0"
303
  }
304
  },
305
- "node_modules/@esbuild/aix-ppc64": {
306
- "version": "0.25.9",
307
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
308
- "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
309
- "cpu": [
310
- "ppc64"
311
- ],
312
- "dev": true,
313
- "license": "MIT",
314
- "optional": true,
315
- "os": [
316
- "aix"
317
- ],
318
- "engines": {
319
- "node": ">=18"
320
- }
321
- },
322
- "node_modules/@esbuild/android-arm": {
323
- "version": "0.25.9",
324
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
325
- "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
326
- "cpu": [
327
- "arm"
328
- ],
329
- "dev": true,
330
- "license": "MIT",
331
- "optional": true,
332
- "os": [
333
- "android"
334
- ],
335
- "engines": {
336
- "node": ">=18"
337
- }
338
- },
339
- "node_modules/@esbuild/android-arm64": {
340
- "version": "0.25.9",
341
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
342
- "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
343
- "cpu": [
344
- "arm64"
345
- ],
346
- "dev": true,
347
- "license": "MIT",
348
- "optional": true,
349
- "os": [
350
- "android"
351
- ],
352
- "engines": {
353
- "node": ">=18"
354
- }
355
- },
356
- "node_modules/@esbuild/android-x64": {
357
- "version": "0.25.9",
358
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
359
- "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
360
- "cpu": [
361
- "x64"
362
- ],
363
- "dev": true,
364
- "license": "MIT",
365
- "optional": true,
366
- "os": [
367
- "android"
368
- ],
369
- "engines": {
370
- "node": ">=18"
371
- }
372
- },
373
  "node_modules/@esbuild/darwin-arm64": {
374
  "version": "0.25.9",
375
  "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
376
- "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
377
- "cpu": [
378
- "arm64"
379
- ],
380
- "dev": true,
381
- "license": "MIT",
382
- "optional": true,
383
- "os": [
384
- "darwin"
385
- ],
386
- "engines": {
387
- "node": ">=18"
388
- }
389
- },
390
- "node_modules/@esbuild/darwin-x64": {
391
- "version": "0.25.9",
392
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
393
- "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
394
- "cpu": [
395
- "x64"
396
- ],
397
- "dev": true,
398
- "license": "MIT",
399
- "optional": true,
400
- "os": [
401
- "darwin"
402
- ],
403
- "engines": {
404
- "node": ">=18"
405
- }
406
- },
407
- "node_modules/@esbuild/freebsd-arm64": {
408
- "version": "0.25.9",
409
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
410
- "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
411
- "cpu": [
412
- "arm64"
413
- ],
414
- "dev": true,
415
- "license": "MIT",
416
- "optional": true,
417
- "os": [
418
- "freebsd"
419
- ],
420
- "engines": {
421
- "node": ">=18"
422
- }
423
- },
424
- "node_modules/@esbuild/freebsd-x64": {
425
- "version": "0.25.9",
426
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
427
- "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
428
- "cpu": [
429
- "x64"
430
- ],
431
- "dev": true,
432
- "license": "MIT",
433
- "optional": true,
434
- "os": [
435
- "freebsd"
436
- ],
437
- "engines": {
438
- "node": ">=18"
439
- }
440
- },
441
- "node_modules/@esbuild/linux-arm": {
442
- "version": "0.25.9",
443
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
444
- "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
445
- "cpu": [
446
- "arm"
447
- ],
448
- "dev": true,
449
- "license": "MIT",
450
- "optional": true,
451
- "os": [
452
- "linux"
453
- ],
454
- "engines": {
455
- "node": ">=18"
456
- }
457
- },
458
- "node_modules/@esbuild/linux-arm64": {
459
- "version": "0.25.9",
460
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
461
- "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
462
- "cpu": [
463
- "arm64"
464
- ],
465
- "dev": true,
466
- "license": "MIT",
467
- "optional": true,
468
- "os": [
469
- "linux"
470
- ],
471
- "engines": {
472
- "node": ">=18"
473
- }
474
- },
475
- "node_modules/@esbuild/linux-ia32": {
476
- "version": "0.25.9",
477
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
478
- "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
479
- "cpu": [
480
- "ia32"
481
- ],
482
- "dev": true,
483
- "license": "MIT",
484
- "optional": true,
485
- "os": [
486
- "linux"
487
- ],
488
- "engines": {
489
- "node": ">=18"
490
- }
491
- },
492
- "node_modules/@esbuild/linux-loong64": {
493
- "version": "0.25.9",
494
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
495
- "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
496
- "cpu": [
497
- "loong64"
498
- ],
499
- "dev": true,
500
- "license": "MIT",
501
- "optional": true,
502
- "os": [
503
- "linux"
504
- ],
505
- "engines": {
506
- "node": ">=18"
507
- }
508
- },
509
- "node_modules/@esbuild/linux-mips64el": {
510
- "version": "0.25.9",
511
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
512
- "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
513
- "cpu": [
514
- "mips64el"
515
- ],
516
- "dev": true,
517
- "license": "MIT",
518
- "optional": true,
519
- "os": [
520
- "linux"
521
- ],
522
- "engines": {
523
- "node": ">=18"
524
- }
525
- },
526
- "node_modules/@esbuild/linux-ppc64": {
527
- "version": "0.25.9",
528
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
529
- "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
530
- "cpu": [
531
- "ppc64"
532
- ],
533
- "dev": true,
534
- "license": "MIT",
535
- "optional": true,
536
- "os": [
537
- "linux"
538
- ],
539
- "engines": {
540
- "node": ">=18"
541
- }
542
- },
543
- "node_modules/@esbuild/linux-riscv64": {
544
- "version": "0.25.9",
545
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
546
- "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
547
- "cpu": [
548
- "riscv64"
549
- ],
550
- "dev": true,
551
- "license": "MIT",
552
- "optional": true,
553
- "os": [
554
- "linux"
555
- ],
556
- "engines": {
557
- "node": ">=18"
558
- }
559
- },
560
- "node_modules/@esbuild/linux-s390x": {
561
- "version": "0.25.9",
562
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
563
- "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
564
- "cpu": [
565
- "s390x"
566
- ],
567
- "dev": true,
568
- "license": "MIT",
569
- "optional": true,
570
- "os": [
571
- "linux"
572
- ],
573
- "engines": {
574
- "node": ">=18"
575
- }
576
- },
577
- "node_modules/@esbuild/linux-x64": {
578
- "version": "0.25.9",
579
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
580
- "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
581
- "cpu": [
582
- "x64"
583
- ],
584
- "dev": true,
585
- "license": "MIT",
586
- "optional": true,
587
- "os": [
588
- "linux"
589
- ],
590
- "engines": {
591
- "node": ">=18"
592
- }
593
- },
594
- "node_modules/@esbuild/netbsd-arm64": {
595
- "version": "0.25.9",
596
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
597
- "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
598
- "cpu": [
599
- "arm64"
600
- ],
601
- "dev": true,
602
- "license": "MIT",
603
- "optional": true,
604
- "os": [
605
- "netbsd"
606
- ],
607
- "engines": {
608
- "node": ">=18"
609
- }
610
- },
611
- "node_modules/@esbuild/netbsd-x64": {
612
- "version": "0.25.9",
613
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
614
- "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
615
- "cpu": [
616
- "x64"
617
- ],
618
- "dev": true,
619
- "license": "MIT",
620
- "optional": true,
621
- "os": [
622
- "netbsd"
623
- ],
624
- "engines": {
625
- "node": ">=18"
626
- }
627
- },
628
- "node_modules/@esbuild/openbsd-arm64": {
629
- "version": "0.25.9",
630
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
631
- "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
632
- "cpu": [
633
- "arm64"
634
- ],
635
- "dev": true,
636
- "license": "MIT",
637
- "optional": true,
638
- "os": [
639
- "openbsd"
640
- ],
641
- "engines": {
642
- "node": ">=18"
643
- }
644
- },
645
- "node_modules/@esbuild/openbsd-x64": {
646
- "version": "0.25.9",
647
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
648
- "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
649
- "cpu": [
650
- "x64"
651
- ],
652
- "dev": true,
653
- "license": "MIT",
654
- "optional": true,
655
- "os": [
656
- "openbsd"
657
- ],
658
- "engines": {
659
- "node": ">=18"
660
- }
661
- },
662
- "node_modules/@esbuild/openharmony-arm64": {
663
- "version": "0.25.9",
664
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
665
- "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
666
- "cpu": [
667
- "arm64"
668
- ],
669
- "dev": true,
670
- "license": "MIT",
671
- "optional": true,
672
- "os": [
673
- "openharmony"
674
- ],
675
- "engines": {
676
- "node": ">=18"
677
- }
678
- },
679
- "node_modules/@esbuild/sunos-x64": {
680
- "version": "0.25.9",
681
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
682
- "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
683
- "cpu": [
684
- "x64"
685
- ],
686
- "dev": true,
687
- "license": "MIT",
688
- "optional": true,
689
- "os": [
690
- "sunos"
691
- ],
692
- "engines": {
693
- "node": ">=18"
694
- }
695
- },
696
- "node_modules/@esbuild/win32-arm64": {
697
- "version": "0.25.9",
698
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
699
- "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
700
- "cpu": [
701
- "arm64"
702
- ],
703
- "dev": true,
704
- "license": "MIT",
705
- "optional": true,
706
- "os": [
707
- "win32"
708
- ],
709
- "engines": {
710
- "node": ">=18"
711
- }
712
- },
713
- "node_modules/@esbuild/win32-ia32": {
714
- "version": "0.25.9",
715
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
716
- "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
717
- "cpu": [
718
- "ia32"
719
- ],
720
- "dev": true,
721
- "license": "MIT",
722
- "optional": true,
723
- "os": [
724
- "win32"
725
- ],
726
- "engines": {
727
- "node": ">=18"
728
- }
729
- },
730
- "node_modules/@esbuild/win32-x64": {
731
- "version": "0.25.9",
732
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
733
- "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
734
- "cpu": [
735
- "x64"
736
- ],
737
- "dev": true,
738
- "license": "MIT",
739
- "optional": true,
740
- "os": [
741
- "win32"
742
- ],
743
- "engines": {
744
- "node": ">=18"
745
- }
746
- },
747
- "node_modules/@google/genai": {
748
- "version": "1.17.0",
749
- "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.17.0.tgz",
750
- "integrity": "sha512-r/OZWN9D8WvYrte3bcKPoLODrZ+2TjfxHm5OOyVHUbdFYIp1C4yJaXX4+sCS8I/+CbN9PxLjU5zm1cgmS7qz+A==",
751
- "license": "Apache-2.0",
752
- "dependencies": {
753
- "google-auth-library": "^9.14.2",
754
- "ws": "^8.18.0"
755
- },
756
- "engines": {
757
- "node": ">=20.0.0"
758
- },
759
- "peerDependencies": {
760
- "@modelcontextprotocol/sdk": "^1.11.4"
761
- },
762
- "peerDependenciesMeta": {
763
- "@modelcontextprotocol/sdk": {
764
- "optional": true
765
- }
766
- }
767
- },
768
- "node_modules/@jridgewell/gen-mapping": {
769
- "version": "0.3.13",
770
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
771
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
772
- "dev": true,
773
- "license": "MIT",
774
- "dependencies": {
775
- "@jridgewell/sourcemap-codec": "^1.5.0",
776
- "@jridgewell/trace-mapping": "^0.3.24"
777
- }
778
- },
779
- "node_modules/@jridgewell/remapping": {
780
- "version": "2.3.5",
781
- "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
782
- "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
783
- "dev": true,
784
- "license": "MIT",
785
- "dependencies": {
786
- "@jridgewell/gen-mapping": "^0.3.5",
787
- "@jridgewell/trace-mapping": "^0.3.24"
788
- }
789
- },
790
- "node_modules/@jridgewell/resolve-uri": {
791
- "version": "3.1.2",
792
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
793
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
794
- "dev": true,
795
- "license": "MIT",
796
- "engines": {
797
- "node": ">=6.0.0"
798
- }
799
- },
800
- "node_modules/@jridgewell/sourcemap-codec": {
801
- "version": "1.5.5",
802
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
803
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
804
- "dev": true,
805
- "license": "MIT"
806
- },
807
- "node_modules/@jridgewell/trace-mapping": {
808
- "version": "0.3.30",
809
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
810
- "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
811
- "dev": true,
812
- "license": "MIT",
813
- "dependencies": {
814
- "@jridgewell/resolve-uri": "^3.1.0",
815
- "@jridgewell/sourcemap-codec": "^1.4.14"
816
- }
817
- },
818
- "node_modules/@nodelib/fs.scandir": {
819
- "version": "2.1.5",
820
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
821
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
822
- "dev": true,
823
- "license": "MIT",
824
- "dependencies": {
825
- "@nodelib/fs.stat": "2.0.5",
826
- "run-parallel": "^1.1.9"
827
- },
828
- "engines": {
829
- "node": ">= 8"
830
- }
831
- },
832
- "node_modules/@nodelib/fs.stat": {
833
- "version": "2.0.5",
834
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
835
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
836
- "dev": true,
837
- "license": "MIT",
838
- "engines": {
839
- "node": ">= 8"
840
- }
841
- },
842
- "node_modules/@nodelib/fs.walk": {
843
- "version": "1.2.8",
844
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
845
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
846
- "dev": true,
847
- "license": "MIT",
848
- "dependencies": {
849
- "@nodelib/fs.scandir": "2.1.5",
850
- "fastq": "^1.6.0"
851
- },
852
- "engines": {
853
- "node": ">= 8"
854
- }
855
- },
856
- "node_modules/@rolldown/pluginutils": {
857
- "version": "1.0.0-beta.34",
858
- "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.34.tgz",
859
- "integrity": "sha512-LyAREkZHP5pMom7c24meKmJCdhf2hEyvam2q0unr3or9ydwDL+DJ8chTF6Av/RFPb3rH8UFBdMzO5MxTZW97oA==",
860
- "dev": true,
861
- "license": "MIT"
862
- },
863
- "node_modules/@rollup/rollup-android-arm-eabi": {
864
- "version": "4.50.0",
865
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.50.0.tgz",
866
- "integrity": "sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ==",
867
- "cpu": [
868
- "arm"
869
- ],
870
- "dev": true,
871
- "license": "MIT",
872
- "optional": true,
873
- "os": [
874
- "android"
875
- ]
876
- },
877
- "node_modules/@rollup/rollup-android-arm64": {
878
- "version": "4.50.0",
879
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.50.0.tgz",
880
- "integrity": "sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw==",
881
- "cpu": [
882
- "arm64"
883
- ],
884
- "dev": true,
885
- "license": "MIT",
886
- "optional": true,
887
- "os": [
888
- "android"
889
- ]
890
- },
891
- "node_modules/@rollup/rollup-darwin-arm64": {
892
- "version": "4.50.0",
893
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.0.tgz",
894
- "integrity": "sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==",
895
- "cpu": [
896
- "arm64"
897
- ],
898
- "dev": true,
899
- "license": "MIT",
900
- "optional": true,
901
- "os": [
902
- "darwin"
903
- ]
904
- },
905
- "node_modules/@rollup/rollup-darwin-x64": {
906
- "version": "4.50.0",
907
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.50.0.tgz",
908
- "integrity": "sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw==",
909
- "cpu": [
910
- "x64"
911
- ],
912
- "dev": true,
913
- "license": "MIT",
914
- "optional": true,
915
- "os": [
916
- "darwin"
917
- ]
918
- },
919
- "node_modules/@rollup/rollup-freebsd-arm64": {
920
- "version": "4.50.0",
921
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.50.0.tgz",
922
- "integrity": "sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ==",
923
- "cpu": [
924
- "arm64"
925
- ],
926
- "dev": true,
927
- "license": "MIT",
928
- "optional": true,
929
- "os": [
930
- "freebsd"
931
- ]
932
- },
933
- "node_modules/@rollup/rollup-freebsd-x64": {
934
- "version": "4.50.0",
935
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.50.0.tgz",
936
- "integrity": "sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA==",
937
- "cpu": [
938
- "x64"
939
- ],
940
- "dev": true,
941
- "license": "MIT",
942
- "optional": true,
943
- "os": [
944
- "freebsd"
945
- ]
946
- },
947
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
948
- "version": "4.50.0",
949
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.50.0.tgz",
950
- "integrity": "sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==",
951
- "cpu": [
952
- "arm"
953
- ],
954
- "dev": true,
955
- "license": "MIT",
956
- "optional": true,
957
- "os": [
958
- "linux"
959
- ]
960
- },
961
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
962
- "version": "4.50.0",
963
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.50.0.tgz",
964
- "integrity": "sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==",
965
- "cpu": [
966
- "arm"
967
- ],
968
- "dev": true,
969
- "license": "MIT",
970
- "optional": true,
971
- "os": [
972
- "linux"
973
- ]
974
- },
975
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
976
- "version": "4.50.0",
977
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.50.0.tgz",
978
- "integrity": "sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==",
979
- "cpu": [
980
- "arm64"
981
- ],
982
- "dev": true,
983
- "license": "MIT",
984
- "optional": true,
985
- "os": [
986
- "linux"
987
- ]
988
- },
989
- "node_modules/@rollup/rollup-linux-arm64-musl": {
990
- "version": "4.50.0",
991
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.50.0.tgz",
992
- "integrity": "sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==",
993
- "cpu": [
994
- "arm64"
995
- ],
996
- "dev": true,
997
- "license": "MIT",
998
- "optional": true,
999
- "os": [
1000
- "linux"
1001
- ]
1002
- },
1003
- "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
1004
- "version": "4.50.0",
1005
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.50.0.tgz",
1006
- "integrity": "sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==",
1007
- "cpu": [
1008
- "loong64"
1009
- ],
1010
- "dev": true,
1011
- "license": "MIT",
1012
- "optional": true,
1013
- "os": [
1014
- "linux"
1015
- ]
1016
- },
1017
- "node_modules/@rollup/rollup-linux-ppc64-gnu": {
1018
- "version": "4.50.0",
1019
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.50.0.tgz",
1020
- "integrity": "sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==",
1021
  "cpu": [
1022
- "ppc64"
1023
  ],
1024
  "dev": true,
1025
  "license": "MIT",
1026
  "optional": true,
1027
  "os": [
1028
- "linux"
1029
- ]
1030
- },
1031
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1032
- "version": "4.50.0",
1033
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.50.0.tgz",
1034
- "integrity": "sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==",
1035
- "cpu": [
1036
- "riscv64"
1037
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1038
  "dev": true,
1039
  "license": "MIT",
1040
- "optional": true,
1041
- "os": [
1042
- "linux"
1043
- ]
1044
  },
1045
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
1046
- "version": "4.50.0",
1047
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.50.0.tgz",
1048
- "integrity": "sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==",
1049
- "cpu": [
1050
- "riscv64"
1051
- ],
1052
  "dev": true,
1053
  "license": "MIT",
1054
- "optional": true,
1055
- "os": [
1056
- "linux"
1057
- ]
1058
  },
1059
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
1060
- "version": "4.50.0",
1061
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.50.0.tgz",
1062
- "integrity": "sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==",
1063
- "cpu": [
1064
- "s390x"
1065
- ],
1066
  "dev": true,
1067
  "license": "MIT",
1068
- "optional": true,
1069
- "os": [
1070
- "linux"
1071
- ]
1072
  },
1073
- "node_modules/@rollup/rollup-linux-x64-gnu": {
1074
- "version": "4.50.0",
1075
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.0.tgz",
1076
- "integrity": "sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==",
1077
- "cpu": [
1078
- "x64"
1079
- ],
1080
  "dev": true,
1081
- "license": "MIT",
1082
- "optional": true,
1083
- "os": [
1084
- "linux"
1085
- ]
1086
  },
1087
- "node_modules/@rollup/rollup-linux-x64-musl": {
1088
- "version": "4.50.0",
1089
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.50.0.tgz",
1090
- "integrity": "sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==",
1091
- "cpu": [
1092
- "x64"
1093
- ],
1094
  "dev": true,
1095
  "license": "MIT",
1096
- "optional": true,
1097
- "os": [
1098
- "linux"
1099
- ]
1100
  },
1101
- "node_modules/@rollup/rollup-openharmony-arm64": {
1102
- "version": "4.50.0",
1103
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.50.0.tgz",
1104
- "integrity": "sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==",
1105
- "cpu": [
1106
- "arm64"
1107
- ],
1108
  "dev": true,
1109
  "license": "MIT",
1110
- "optional": true,
1111
- "os": [
1112
- "openharmony"
1113
- ]
 
 
 
1114
  },
1115
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
1116
- "version": "4.50.0",
1117
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.50.0.tgz",
1118
- "integrity": "sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg==",
1119
- "cpu": [
1120
- "arm64"
1121
- ],
1122
  "dev": true,
1123
  "license": "MIT",
1124
- "optional": true,
1125
- "os": [
1126
- "win32"
1127
- ]
1128
  },
1129
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
1130
- "version": "4.50.0",
1131
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.50.0.tgz",
1132
- "integrity": "sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw==",
1133
- "cpu": [
1134
- "ia32"
1135
- ],
1136
  "dev": true,
1137
  "license": "MIT",
1138
- "optional": true,
1139
- "os": [
1140
- "win32"
1141
- ]
 
 
 
 
 
 
 
 
 
 
1142
  },
1143
- "node_modules/@rollup/rollup-win32-x64-msvc": {
1144
  "version": "4.50.0",
1145
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.0.tgz",
1146
- "integrity": "sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg==",
1147
  "cpu": [
1148
- "x64"
1149
  ],
1150
  "dev": true,
1151
  "license": "MIT",
1152
  "optional": true,
1153
  "os": [
1154
- "win32"
1155
  ]
1156
  },
1157
  "node_modules/@types/babel__core": {
@@ -1216,6 +521,26 @@
1216
  "undici-types": "~6.21.0"
1217
  }
1218
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1219
  "node_modules/@vitejs/plugin-react": {
1220
  "version": "5.0.2",
1221
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.2.tgz",
@@ -1263,6 +588,16 @@
1263
  "dev": true,
1264
  "license": "MIT"
1265
  },
 
 
 
 
 
 
 
 
 
 
1266
  "node_modules/base64-js": {
1267
  "version": "1.5.1",
1268
  "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -1365,6 +700,26 @@
1365
  ],
1366
  "license": "CC-BY-4.0"
1367
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1368
  "node_modules/commander": {
1369
  "version": "13.1.0",
1370
  "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
@@ -1389,6 +744,28 @@
1389
  "dev": true,
1390
  "license": "MIT"
1391
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1392
  "node_modules/debug": {
1393
  "version": "4.4.1",
1394
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
@@ -1419,6 +796,16 @@
1419
  "node": ">=8"
1420
  }
1421
  },
 
 
 
 
 
 
 
 
 
 
1422
  "node_modules/ecdsa-sig-formatter": {
1423
  "version": "1.0.11",
1424
  "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
@@ -1527,6 +914,17 @@
1527
  "node": ">=8.6.0"
1528
  }
1529
  },
 
 
 
 
 
 
 
 
 
 
 
1530
  "node_modules/fastq": {
1531
  "version": "1.19.1",
1532
  "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
@@ -1555,6 +953,12 @@
1555
  }
1556
  }
1557
  },
 
 
 
 
 
 
1558
  "node_modules/filename-reserved-regex": {
1559
  "version": "2.0.0",
1560
  "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
@@ -1801,6 +1205,20 @@
1801
  "node": ">=14.0.0"
1802
  }
1803
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1804
  "node_modules/https-proxy-agent": {
1805
  "version": "7.0.6",
1806
  "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -1824,6 +1242,12 @@
1824
  "node": ">= 4"
1825
  }
1826
  },
 
 
 
 
 
 
1827
  "node_modules/is-extglob": {
1828
  "version": "2.1.1",
1829
  "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -1924,6 +1348,23 @@
1924
  "graceful-fs": "^4.1.6"
1925
  }
1926
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1927
  "node_modules/jwa": {
1928
  "version": "2.0.1",
1929
  "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
@@ -2112,6 +1553,12 @@
2112
  "node": ">=6"
2113
  }
2114
  },
 
 
 
 
 
 
2115
  "node_modules/path-exists": {
2116
  "version": "4.0.0",
2117
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -2132,6 +1579,13 @@
2132
  "node": ">=8"
2133
  }
2134
  },
 
 
 
 
 
 
 
2135
  "node_modules/picocolors": {
2136
  "version": "1.1.1",
2137
  "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -2215,6 +1669,16 @@
2215
  ],
2216
  "license": "MIT"
2217
  },
 
 
 
 
 
 
 
 
 
 
2218
  "node_modules/react": {
2219
  "version": "19.1.1",
2220
  "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
@@ -2246,6 +1710,13 @@
2246
  "node": ">=0.10.0"
2247
  }
2248
  },
 
 
 
 
 
 
 
2249
  "node_modules/reusify": {
2250
  "version": "1.1.0",
2251
  "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
@@ -2257,6 +1728,16 @@
2257
  "node": ">=0.10.0"
2258
  }
2259
  },
 
 
 
 
 
 
 
 
 
 
2260
  "node_modules/rollup": {
2261
  "version": "4.50.0",
2262
  "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.50.0.tgz",
@@ -2378,6 +1859,16 @@
2378
  "node": ">=0.10.0"
2379
  }
2380
  },
 
 
 
 
 
 
 
 
 
 
2381
  "node_modules/strip-outer": {
2382
  "version": "1.0.1",
2383
  "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
@@ -2391,6 +1882,26 @@
2391
  "node": ">=0.10.0"
2392
  }
2393
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2394
  "node_modules/tinyglobby": {
2395
  "version": "0.2.14",
2396
  "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
@@ -2502,6 +2013,16 @@
2502
  "browserslist": ">= 4.21.0"
2503
  }
2504
  },
 
 
 
 
 
 
 
 
 
 
2505
  "node_modules/uuid": {
2506
  "version": "9.0.1",
2507
  "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
 
9
  "version": "0.0.0",
10
  "dependencies": {
11
  "@google/genai": "^1.17.0",
12
+ "jspdf": "^3.0.2",
13
  "react": "^19.1.1",
14
  "react-dom": "^19.1.1"
15
  },
 
255
  "@babel/core": "^7.0.0-0"
256
  }
257
  },
258
+ "node_modules/@babel/runtime": {
259
+ "version": "7.28.4",
260
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
261
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
262
+ "license": "MIT",
263
+ "engines": {
264
+ "node": ">=6.9.0"
265
+ }
266
+ },
267
  "node_modules/@babel/template": {
268
  "version": "7.27.2",
269
  "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
 
312
  "node": ">=6.9.0"
313
  }
314
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  "node_modules/@esbuild/darwin-arm64": {
316
  "version": "0.25.9",
317
  "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
318
+ "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  "cpu": [
320
+ "arm64"
321
  ],
322
  "dev": true,
323
  "license": "MIT",
324
  "optional": true,
325
  "os": [
326
+ "darwin"
 
 
 
 
 
 
 
 
327
  ],
328
+ "engines": {
329
+ "node": ">=18"
330
+ }
331
+ },
332
+ "node_modules/@google/genai": {
333
+ "version": "1.17.0",
334
+ "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.17.0.tgz",
335
+ "integrity": "sha512-r/OZWN9D8WvYrte3bcKPoLODrZ+2TjfxHm5OOyVHUbdFYIp1C4yJaXX4+sCS8I/+CbN9PxLjU5zm1cgmS7qz+A==",
336
+ "license": "Apache-2.0",
337
+ "dependencies": {
338
+ "google-auth-library": "^9.14.2",
339
+ "ws": "^8.18.0"
340
+ },
341
+ "engines": {
342
+ "node": ">=20.0.0"
343
+ },
344
+ "peerDependencies": {
345
+ "@modelcontextprotocol/sdk": "^1.11.4"
346
+ },
347
+ "peerDependenciesMeta": {
348
+ "@modelcontextprotocol/sdk": {
349
+ "optional": true
350
+ }
351
+ }
352
+ },
353
+ "node_modules/@jridgewell/gen-mapping": {
354
+ "version": "0.3.13",
355
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
356
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
357
  "dev": true,
358
  "license": "MIT",
359
+ "dependencies": {
360
+ "@jridgewell/sourcemap-codec": "^1.5.0",
361
+ "@jridgewell/trace-mapping": "^0.3.24"
362
+ }
363
  },
364
+ "node_modules/@jridgewell/remapping": {
365
+ "version": "2.3.5",
366
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
367
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
 
 
 
368
  "dev": true,
369
  "license": "MIT",
370
+ "dependencies": {
371
+ "@jridgewell/gen-mapping": "^0.3.5",
372
+ "@jridgewell/trace-mapping": "^0.3.24"
373
+ }
374
  },
375
+ "node_modules/@jridgewell/resolve-uri": {
376
+ "version": "3.1.2",
377
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
378
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
 
 
 
379
  "dev": true,
380
  "license": "MIT",
381
+ "engines": {
382
+ "node": ">=6.0.0"
383
+ }
 
384
  },
385
+ "node_modules/@jridgewell/sourcemap-codec": {
386
+ "version": "1.5.5",
387
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
388
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
 
 
 
389
  "dev": true,
390
+ "license": "MIT"
 
 
 
 
391
  },
392
+ "node_modules/@jridgewell/trace-mapping": {
393
+ "version": "0.3.30",
394
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
395
+ "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
 
 
 
396
  "dev": true,
397
  "license": "MIT",
398
+ "dependencies": {
399
+ "@jridgewell/resolve-uri": "^3.1.0",
400
+ "@jridgewell/sourcemap-codec": "^1.4.14"
401
+ }
402
  },
403
+ "node_modules/@nodelib/fs.scandir": {
404
+ "version": "2.1.5",
405
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
406
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
 
 
 
407
  "dev": true,
408
  "license": "MIT",
409
+ "dependencies": {
410
+ "@nodelib/fs.stat": "2.0.5",
411
+ "run-parallel": "^1.1.9"
412
+ },
413
+ "engines": {
414
+ "node": ">= 8"
415
+ }
416
  },
417
+ "node_modules/@nodelib/fs.stat": {
418
+ "version": "2.0.5",
419
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
420
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
 
 
 
421
  "dev": true,
422
  "license": "MIT",
423
+ "engines": {
424
+ "node": ">= 8"
425
+ }
 
426
  },
427
+ "node_modules/@nodelib/fs.walk": {
428
+ "version": "1.2.8",
429
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
430
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
 
 
 
431
  "dev": true,
432
  "license": "MIT",
433
+ "dependencies": {
434
+ "@nodelib/fs.scandir": "2.1.5",
435
+ "fastq": "^1.6.0"
436
+ },
437
+ "engines": {
438
+ "node": ">= 8"
439
+ }
440
+ },
441
+ "node_modules/@rolldown/pluginutils": {
442
+ "version": "1.0.0-beta.34",
443
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.34.tgz",
444
+ "integrity": "sha512-LyAREkZHP5pMom7c24meKmJCdhf2hEyvam2q0unr3or9ydwDL+DJ8chTF6Av/RFPb3rH8UFBdMzO5MxTZW97oA==",
445
+ "dev": true,
446
+ "license": "MIT"
447
  },
448
+ "node_modules/@rollup/rollup-darwin-arm64": {
449
  "version": "4.50.0",
450
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.0.tgz",
451
+ "integrity": "sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==",
452
  "cpu": [
453
+ "arm64"
454
  ],
455
  "dev": true,
456
  "license": "MIT",
457
  "optional": true,
458
  "os": [
459
+ "darwin"
460
  ]
461
  },
462
  "node_modules/@types/babel__core": {
 
521
  "undici-types": "~6.21.0"
522
  }
523
  },
524
+ "node_modules/@types/pako": {
525
+ "version": "2.0.4",
526
+ "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz",
527
+ "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==",
528
+ "license": "MIT"
529
+ },
530
+ "node_modules/@types/raf": {
531
+ "version": "3.4.3",
532
+ "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz",
533
+ "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==",
534
+ "license": "MIT",
535
+ "optional": true
536
+ },
537
+ "node_modules/@types/trusted-types": {
538
+ "version": "2.0.7",
539
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
540
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
541
+ "license": "MIT",
542
+ "optional": true
543
+ },
544
  "node_modules/@vitejs/plugin-react": {
545
  "version": "5.0.2",
546
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.2.tgz",
 
588
  "dev": true,
589
  "license": "MIT"
590
  },
591
+ "node_modules/base64-arraybuffer": {
592
+ "version": "1.0.2",
593
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
594
+ "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
595
+ "license": "MIT",
596
+ "optional": true,
597
+ "engines": {
598
+ "node": ">= 0.6.0"
599
+ }
600
+ },
601
  "node_modules/base64-js": {
602
  "version": "1.5.1",
603
  "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 
700
  ],
701
  "license": "CC-BY-4.0"
702
  },
703
+ "node_modules/canvg": {
704
+ "version": "3.0.11",
705
+ "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz",
706
+ "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==",
707
+ "license": "MIT",
708
+ "optional": true,
709
+ "dependencies": {
710
+ "@babel/runtime": "^7.12.5",
711
+ "@types/raf": "^3.4.0",
712
+ "core-js": "^3.8.3",
713
+ "raf": "^3.4.1",
714
+ "regenerator-runtime": "^0.13.7",
715
+ "rgbcolor": "^1.0.1",
716
+ "stackblur-canvas": "^2.0.0",
717
+ "svg-pathdata": "^6.0.3"
718
+ },
719
+ "engines": {
720
+ "node": ">=10.0.0"
721
+ }
722
+ },
723
  "node_modules/commander": {
724
  "version": "13.1.0",
725
  "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
 
744
  "dev": true,
745
  "license": "MIT"
746
  },
747
+ "node_modules/core-js": {
748
+ "version": "3.45.1",
749
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz",
750
+ "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==",
751
+ "hasInstallScript": true,
752
+ "license": "MIT",
753
+ "optional": true,
754
+ "funding": {
755
+ "type": "opencollective",
756
+ "url": "https://opencollective.com/core-js"
757
+ }
758
+ },
759
+ "node_modules/css-line-break": {
760
+ "version": "2.1.0",
761
+ "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
762
+ "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
763
+ "license": "MIT",
764
+ "optional": true,
765
+ "dependencies": {
766
+ "utrie": "^1.0.2"
767
+ }
768
+ },
769
  "node_modules/debug": {
770
  "version": "4.4.1",
771
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
 
796
  "node": ">=8"
797
  }
798
  },
799
+ "node_modules/dompurify": {
800
+ "version": "3.2.6",
801
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
802
+ "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
803
+ "license": "(MPL-2.0 OR Apache-2.0)",
804
+ "optional": true,
805
+ "optionalDependencies": {
806
+ "@types/trusted-types": "^2.0.7"
807
+ }
808
+ },
809
  "node_modules/ecdsa-sig-formatter": {
810
  "version": "1.0.11",
811
  "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
 
914
  "node": ">=8.6.0"
915
  }
916
  },
917
+ "node_modules/fast-png": {
918
+ "version": "6.4.0",
919
+ "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz",
920
+ "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==",
921
+ "license": "MIT",
922
+ "dependencies": {
923
+ "@types/pako": "^2.0.3",
924
+ "iobuffer": "^5.3.2",
925
+ "pako": "^2.1.0"
926
+ }
927
+ },
928
  "node_modules/fastq": {
929
  "version": "1.19.1",
930
  "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
 
953
  }
954
  }
955
  },
956
+ "node_modules/fflate": {
957
+ "version": "0.8.2",
958
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
959
+ "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==",
960
+ "license": "MIT"
961
+ },
962
  "node_modules/filename-reserved-regex": {
963
  "version": "2.0.0",
964
  "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
 
1205
  "node": ">=14.0.0"
1206
  }
1207
  },
1208
+ "node_modules/html2canvas": {
1209
+ "version": "1.4.1",
1210
+ "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
1211
+ "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
1212
+ "license": "MIT",
1213
+ "optional": true,
1214
+ "dependencies": {
1215
+ "css-line-break": "^2.1.0",
1216
+ "text-segmentation": "^1.0.3"
1217
+ },
1218
+ "engines": {
1219
+ "node": ">=8.0.0"
1220
+ }
1221
+ },
1222
  "node_modules/https-proxy-agent": {
1223
  "version": "7.0.6",
1224
  "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
 
1242
  "node": ">= 4"
1243
  }
1244
  },
1245
+ "node_modules/iobuffer": {
1246
+ "version": "5.4.0",
1247
+ "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz",
1248
+ "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==",
1249
+ "license": "MIT"
1250
+ },
1251
  "node_modules/is-extglob": {
1252
  "version": "2.1.1",
1253
  "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 
1348
  "graceful-fs": "^4.1.6"
1349
  }
1350
  },
1351
+ "node_modules/jspdf": {
1352
+ "version": "3.0.2",
1353
+ "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-3.0.2.tgz",
1354
+ "integrity": "sha512-G0fQDJ5fAm6UW78HG6lNXyq09l0PrA1rpNY5i+ly17Zb1fMMFSmS+3lw4cnrAPGyouv2Y0ylujbY2Ieq3DSlKA==",
1355
+ "license": "MIT",
1356
+ "dependencies": {
1357
+ "@babel/runtime": "^7.26.9",
1358
+ "fast-png": "^6.2.0",
1359
+ "fflate": "^0.8.1"
1360
+ },
1361
+ "optionalDependencies": {
1362
+ "canvg": "^3.0.11",
1363
+ "core-js": "^3.6.0",
1364
+ "dompurify": "^3.2.4",
1365
+ "html2canvas": "^1.0.0-rc.5"
1366
+ }
1367
+ },
1368
  "node_modules/jwa": {
1369
  "version": "2.0.1",
1370
  "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
 
1553
  "node": ">=6"
1554
  }
1555
  },
1556
+ "node_modules/pako": {
1557
+ "version": "2.1.0",
1558
+ "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
1559
+ "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
1560
+ "license": "(MIT AND Zlib)"
1561
+ },
1562
  "node_modules/path-exists": {
1563
  "version": "4.0.0",
1564
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
 
1579
  "node": ">=8"
1580
  }
1581
  },
1582
+ "node_modules/performance-now": {
1583
+ "version": "2.1.0",
1584
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1585
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
1586
+ "license": "MIT",
1587
+ "optional": true
1588
+ },
1589
  "node_modules/picocolors": {
1590
  "version": "1.1.1",
1591
  "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
 
1669
  ],
1670
  "license": "MIT"
1671
  },
1672
+ "node_modules/raf": {
1673
+ "version": "3.4.1",
1674
+ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
1675
+ "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
1676
+ "license": "MIT",
1677
+ "optional": true,
1678
+ "dependencies": {
1679
+ "performance-now": "^2.1.0"
1680
+ }
1681
+ },
1682
  "node_modules/react": {
1683
  "version": "19.1.1",
1684
  "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
 
1710
  "node": ">=0.10.0"
1711
  }
1712
  },
1713
+ "node_modules/regenerator-runtime": {
1714
+ "version": "0.13.11",
1715
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
1716
+ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
1717
+ "license": "MIT",
1718
+ "optional": true
1719
+ },
1720
  "node_modules/reusify": {
1721
  "version": "1.1.0",
1722
  "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
 
1728
  "node": ">=0.10.0"
1729
  }
1730
  },
1731
+ "node_modules/rgbcolor": {
1732
+ "version": "1.0.1",
1733
+ "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz",
1734
+ "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
1735
+ "license": "MIT OR SEE LICENSE IN FEEL-FREE.md",
1736
+ "optional": true,
1737
+ "engines": {
1738
+ "node": ">= 0.8.15"
1739
+ }
1740
+ },
1741
  "node_modules/rollup": {
1742
  "version": "4.50.0",
1743
  "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.50.0.tgz",
 
1859
  "node": ">=0.10.0"
1860
  }
1861
  },
1862
+ "node_modules/stackblur-canvas": {
1863
+ "version": "2.7.0",
1864
+ "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
1865
+ "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
1866
+ "license": "MIT",
1867
+ "optional": true,
1868
+ "engines": {
1869
+ "node": ">=0.1.14"
1870
+ }
1871
+ },
1872
  "node_modules/strip-outer": {
1873
  "version": "1.0.1",
1874
  "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
 
1882
  "node": ">=0.10.0"
1883
  }
1884
  },
1885
+ "node_modules/svg-pathdata": {
1886
+ "version": "6.0.3",
1887
+ "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
1888
+ "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
1889
+ "license": "MIT",
1890
+ "optional": true,
1891
+ "engines": {
1892
+ "node": ">=12.0.0"
1893
+ }
1894
+ },
1895
+ "node_modules/text-segmentation": {
1896
+ "version": "1.0.3",
1897
+ "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz",
1898
+ "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
1899
+ "license": "MIT",
1900
+ "optional": true,
1901
+ "dependencies": {
1902
+ "utrie": "^1.0.2"
1903
+ }
1904
+ },
1905
  "node_modules/tinyglobby": {
1906
  "version": "0.2.14",
1907
  "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
 
2013
  "browserslist": ">= 4.21.0"
2014
  }
2015
  },
2016
+ "node_modules/utrie": {
2017
+ "version": "1.0.2",
2018
+ "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
2019
+ "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
2020
+ "license": "MIT",
2021
+ "optional": true,
2022
+ "dependencies": {
2023
+ "base64-arraybuffer": "^1.0.2"
2024
+ }
2025
+ },
2026
  "node_modules/uuid": {
2027
  "version": "9.0.1",
2028
  "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",