diff --git a/ERWEITERUNG.md b/ERWEITERUNG.md
new file mode 100644
index 0000000..eb0994f
--- /dev/null
+++ b/ERWEITERUNG.md
@@ -0,0 +1,552 @@
+# Image-Uploader Erweiterung: Multi-Image Upload mit Beschreibung
+
+## đŻ Ziel
+Erweiterung der bestehenden Single-Image-Upload-FunktionalitĂ€t zu einem Multi-Image-Upload mit Beschreibungstext fĂŒr spĂ€tere Slideshow-Nutzung.
+
+## đ AufwandsschĂ€tzung
+**GeschÀtzter Aufwand: 8-12 Stunden** (verteilt auf 2-3 Arbeitstage)
+
+### KomplexitĂ€tsbewertung: âââââ (Mittel)
+
+## đ ĂnderungsĂŒbersicht
+
+### Frontend Ănderungen (5-7 Stunden)
+- **Neue Multi-Upload-Komponente**
+- **UI fĂŒr Beschreibungstext**
+- **Vorschau-Galerie**
+- **Upload-Progress fĂŒr mehrere Dateien**
+
+### Backend Ănderungen (2-3 Stunden)
+- **Neue API-Endpoints**
+- **Datenbank/JSON-Struktur fĂŒr Upload-Gruppen**
+- **Batch-Upload-Verarbeitung**
+
+### Integration & Testing (1-2 Stunden)
+- **Frontend-Backend-Integration**
+- **Error Handling**
+- **UI/UX Tests**
+
+---
+
+## đïž Technische Umsetzung
+
+### 1. Backend-Erweiterungen
+
+#### 1.1 Neue Datenstruktur
+```javascript
+// Neue Upload-Group Struktur
+{
+ groupId: "unique-group-id",
+ description: "Benutzer-Beschreibung",
+ uploadDate: "2025-10-11T10:30:00Z",
+ images: [
+ {
+ fileName: "abc123.jpg",
+ originalName: "foto1.jpg",
+ filePath: "/upload/abc123.jpg",
+ uploadOrder: 1
+ },
+ {
+ fileName: "def456.png",
+ originalName: "foto2.png",
+ filePath: "/upload/def456.png",
+ uploadOrder: 2
+ }
+ ]
+}
+```
+
+#### 1.2 Neue API-Endpoints
+- `POST /api/upload/batch` - Multi-Image Upload
+- `GET /api/groups/:groupId` - Upload-Gruppe abrufen
+- `GET /api/groups` - Alle Upload-Gruppen auflisten
+- `GET /api/slideshow/:groupId` - Slideshow-Daten
+
+#### 1.3 Dateien zu erstellen/Ă€ndern:
+```
+backend/src/
+âââ routes/
+â âââ upload.js # âïž Erweitern
+â âââ batch-upload.js # đ Neu
+â âââ groups.js # đ Neu
+âââ models/
+â âââ uploadGroup.js # đ Neu
+âââ utils/
+â âââ groupStorage.js # đ Neu (JSON-basiert)
+âââ constants.js # âïž Neue Endpoints hinzufĂŒgen
+```
+
+### 2. Frontend-Erweiterungen
+
+#### 2.1 Neue Komponenten
+```
+frontend/src/Components/
+âââ ComponentUtils/
+â âââ MultiImageUpload.js # đ Haupt-Upload-Komponente
+â âââ ImagePreviewGallery.js # đ Vorschau der ausgewĂ€hlten Bilder
+â âââ DescriptionInput.js # đ Textfeld fĂŒr Beschreibung
+â âââ UploadProgress.js # đ Progress-Anzeige fĂŒr alle Dateien
+â âââ Css/
+â âââ MultiUpload.css # đ Styling
+â âââ ImageGallery.css # đ Galerie-Styling
+âââ Pages/
+â âââ MultiUploadPage.js # đ Neue Seite fĂŒr Multi-Upload
+â âââ SlideshowPage.js # đ Slideshow-Anzeige
+â âââ GroupsOverviewPage.js # đ Ăbersicht aller Upload-Gruppen
+âââ Utils/
+ âââ batchUpload.js # đ Batch-Upload-Logik
+```
+
+#### 2.2 Routing-Erweiterungen
+```javascript
+// Neue Routen in App.js
+
+
+
+```
+
+---
+
+## đ Detaillierte Implementierungsschritte
+
+### Phase 1: Backend-Grundlage (2-3h)
+
+#### Schritt 1.1: Upload-Gruppen Datenmodell
+```javascript
+// backend/src/models/uploadGroup.js
+class UploadGroup {
+ constructor(description) {
+ this.groupId = generateId();
+ this.description = description;
+ this.uploadDate = new Date().toISOString();
+ this.images = [];
+ }
+
+ addImage(fileName, originalName, uploadOrder) {
+ this.images.push({
+ fileName,
+ originalName,
+ filePath: `/upload/${fileName}`,
+ uploadOrder
+ });
+ }
+}
+```
+
+#### Schritt 1.2: JSON-basierte Speicherung
+```javascript
+// backend/src/utils/groupStorage.js
+const fs = require('fs');
+const path = require('path');
+
+const GROUPS_FILE = path.join(__dirname, '../data/upload-groups.json');
+
+class GroupStorage {
+ static saveGroup(group) {
+ // JSON-Datei lesen, Gruppe hinzufĂŒgen, zurĂŒckschreiben
+ }
+
+ static getGroup(groupId) {
+ // Gruppe aus JSON-Datei laden
+ }
+
+ static getAllGroups() {
+ // Alle Gruppen laden
+ }
+}
+```
+
+#### Schritt 1.3: Batch-Upload API
+```javascript
+// backend/src/routes/batch-upload.js
+router.post('/api/upload/batch', (req, res) => {
+ const { description } = req.body;
+ const files = req.files.images; // Array von Dateien
+
+ const group = new UploadGroup(description);
+
+ // Alle Dateien verarbeiten
+ files.forEach((file, index) => {
+ const fileName = generateId() + '.' + getFileExtension(file.name);
+ file.mv(`upload/${fileName}`);
+ group.addImage(fileName, file.name, index + 1);
+ });
+
+ GroupStorage.saveGroup(group);
+ res.json({ groupId: group.groupId, message: 'Upload successful' });
+});
+```
+
+### Phase 2: Frontend Multi-Upload UI (3-4h)
+
+#### Schritt 2.1: Multi-Image Dropzone
+```javascript
+// frontend/src/Components/ComponentUtils/MultiImageUpload.js
+import { useDropzone } from 'react-dropzone';
+
+function MultiImageUpload({ onImagesSelected }) {
+ const { getRootProps, getInputProps, acceptedFiles } = useDropzone({
+ accept: 'image/*',
+ multiple: true,
+ onDrop: (files) => {
+ onImagesSelected(files);
+ }
+ });
+
+ return (
+
+
+
Ziehe mehrere Bilder hierher oder klicke zum AuswÀhlen
+
({acceptedFiles.length} Dateien ausgewÀhlt)
+
+ );
+}
+```
+
+#### Schritt 2.2: Bild-Vorschau Galerie
+```javascript
+// frontend/src/Components/ComponentUtils/ImagePreviewGallery.js
+function ImagePreviewGallery({ images, onRemoveImage, onReorderImages }) {
+ return (
+
+ {images.map((image, index) => (
+
+
+
onRemoveImage(index)}>â
+
{index + 1}
+
+ ))}
+
+ );
+}
+```
+
+#### Schritt 2.3: Beschreibungs-Input
+```javascript
+// frontend/src/Components/ComponentUtils/DescriptionInput.js
+function DescriptionInput({ description, onDescriptionChange, maxLength = 500 }) {
+ return (
+
+
Beschreibung fĂŒr diese Bildersammlung:
+
+ );
+}
+```
+
+### Phase 3: Upload-Logik & Progress (2-3h)
+
+#### Schritt 3.1: Batch-Upload Funktion
+```javascript
+// frontend/src/Utils/batchUpload.js
+async function uploadImageBatch(images, description, onProgress) {
+ const formData = new FormData();
+
+ images.forEach((image, index) => {
+ formData.append('images', image);
+ });
+ formData.append('description', description);
+
+ try {
+ const response = await fetch('/api/upload/batch', {
+ method: 'POST',
+ body: formData,
+ onUploadProgress: (progressEvent) => {
+ const progress = (progressEvent.loaded / progressEvent.total) * 100;
+ onProgress(progress);
+ }
+ });
+
+ return await response.json();
+ } catch (error) {
+ throw new Error(`Upload failed: ${error.message}`);
+ }
+}
+```
+
+#### Schritt 3.2: Upload Progress Komponente
+```javascript
+// frontend/src/Components/ComponentUtils/UploadProgress.js
+function UploadProgress({ progress, currentFile, totalFiles }) {
+ return (
+
+
+
+ {currentFile && `Uploading: ${currentFile} (${Math.round(progress)}%)`}
+ {totalFiles && `${currentFile} von ${totalFiles} Dateien`}
+
+
+ );
+}
+```
+
+### Phase 4: Hauptseite Integration (1-2h)
+
+#### Schritt 4.1: Multi-Upload Seite
+```javascript
+// frontend/src/Components/Pages/MultiUploadPage.js
+function MultiUploadPage() {
+ const [selectedImages, setSelectedImages] = useState([]);
+ const [description, setDescription] = useState('');
+ const [uploading, setUploading] = useState(false);
+ const [uploadProgress, setUploadProgress] = useState(0);
+
+ const handleUpload = async () => {
+ if (selectedImages.length === 0) return;
+
+ setUploading(true);
+ try {
+ const result = await uploadImageBatch(
+ selectedImages,
+ description,
+ setUploadProgress
+ );
+
+ // Redirect zur Slideshow oder Erfolgsseite
+ history.push(`/slideshow/${result.groupId}`);
+ } catch (error) {
+ // Error handling
+ } finally {
+ setUploading(false);
+ }
+ };
+
+ return (
+
+
+
+
+
+ {selectedImages.length > 0 && (
+ <>
+
+
+
+
+
+ {uploading ? 'Uploading...' : `${selectedImages.length} Bilder hochladen`}
+
+ >
+ )}
+
+ {uploading && (
+
+ )}
+
+
+ );
+}
+```
+
+### Phase 5: Slideshow & Navigation (2h)
+
+#### Schritt 5.1: Slideshow Komponente
+```javascript
+// frontend/src/Components/Pages/SlideshowPage.js
+function SlideshowPage() {
+ const { groupId } = useParams();
+ const [group, setGroup] = useState(null);
+ const [currentImageIndex, setCurrentImageIndex] = useState(0);
+
+ useEffect(() => {
+ fetch(`/api/groups/${groupId}`)
+ .then(res => res.json())
+ .then(setGroup);
+ }, [groupId]);
+
+ if (!group) return Loading...
;
+
+ return (
+
+
+
{group.description}
+
Hochgeladen am: {new Date(group.uploadDate).toLocaleDateString()}
+
+
+
+
+
+
+ setCurrentImageIndex(prev =>
+ prev > 0 ? prev - 1 : group.images.length - 1
+ )}>
+ âč Vorheriges
+
+
+ {currentImageIndex + 1} / {group.images.length}
+
+ setCurrentImageIndex(prev =>
+ prev < group.images.length - 1 ? prev + 1 : 0
+ )}>
+ NĂ€chstes âș
+
+
+
+
+
+ {group.images.map((image, index) => (
+
setCurrentImageIndex(index)}
+ />
+ ))}
+
+
+ );
+}
+```
+
+---
+
+## đš UI/UX Verbesserungen
+
+### Drag & Drop Features
+- **Bilder-Reihenfolge Àndern**: Drag & Drop in der Vorschau
+- **Bilder entfernen**: X-Button auf jedem Vorschaubild
+- **Bulk-Aktionen**: Alle entfernen, Reihenfolge umkehren
+
+### Responsive Design
+- **Mobile-optimiert**: Touch-friendly Upload und Slideshow
+- **Tablet-Ansicht**: Optimierte Galerie-Darstellung
+- **Desktop**: Erweiterte Features wie Keyboard-Navigation
+
+### Benutzerfreundlichkeit
+- **Progress-Feedback**: Echtzeitanzeige des Upload-Fortschritts
+- **Error Handling**: Klare Fehlermeldungen bei Upload-Problemen
+- **Auto-Save**: Beschreibung zwischenspeichern
+- **Vorschau-Modus**: Slideshow vor Upload testen
+
+---
+
+## đ§Ș Testing-Strategie
+
+### Unit Tests
+- Upload-Gruppe Datenmodell
+- Batch-Upload API-Endpoints
+- Frontend-Komponenten (Jest/React Testing Library)
+
+### Integration Tests
+- End-to-End Upload-Flow
+- Slideshow-Navigation
+- Error-Szenarien
+
+### Performance Tests
+- Multiple groĂe Dateien (>10MB)
+- Viele kleine Dateien (>50 Bilder)
+- Speicher-Verbrauch bei groĂen Uploads
+
+---
+
+## đ Deployment-Ăberlegungen
+
+### Datei-GröĂe Limits
+```javascript
+// Backend-Konfiguration erweitern
+app.use(fileUpload({
+ limits: {
+ fileSize: 50 * 1024 * 1024, // 50MB pro Datei
+ files: 20 // Max 20 Dateien pro Upload
+ },
+}));
+```
+
+### Speicher-Management
+- **Cleanup-Job**: Alte Upload-Gruppen nach X Tagen löschen
+- **Komprimierung**: Automatische Bildkomprimierung fĂŒr groĂe Dateien
+- **CDN-Integration**: FĂŒr bessere Performance bei vielen Bildern
+
+### Sicherheit
+- **File-Type Validation**: Nur erlaubte Bildformate
+- **Virus-Scanning**: Optional fĂŒr Produktionsumgebung
+- **Rate Limiting**: Upload-BeschrÀnkungen pro IP/User
+
+---
+
+## đ Erweiterungs-Möglichkeiten (Zukunft)
+
+### Erweiterte Features
+- **Benutzer-Accounts**: Upload-Gruppen Benutzern zuordnen
+- **Tagging-System**: Bilder mit Tags versehen
+- **Sharing**: Upload-Gruppen per Link teilen
+- **Export**: Slideshow als Video oder PDF exportieren
+
+### Slideshow-Features
+- **Autoplay**: Automatischer Bildwechsel
+- **Ăbergangs-Effekte**: Fade, Slide, etc.
+- **Hintergrundmusik**: Audio-Upload fĂŒr Slideshows
+- **Vollbild-Modus**: Immersive Slideshow-Erfahrung
+
+### Admin-Features
+- **Upload-Statistiken**: Dashboard mit Nutzungsmetriken
+- **Content-Moderation**: Gemeldete Inhalte prĂŒfen
+- **Bulk-Operations**: Mehrere Gruppen gleichzeitig verwalten
+
+---
+
+## ⥠Quick-Start Implementierung
+
+FĂŒr einen schnellen Proof-of-Concept (2-3 Stunden):
+
+1. **Backend**: Erweitere `/upload` Route fĂŒr Array-Handling
+2. **Frontend**: Ăndere bestehende Dropzone auf `multiple: true`
+3. **Einfache Galerie**: Zeige alle Bilder einer "Session" an
+4. **Basis-Slideshow**: Einfache Vor/ZurĂŒck-Navigation
+
+Dies wĂŒrde eine funktionale Basis schaffen, die spĂ€ter ausgebaut werden kann.
+
+---
+
+## đŻ Erfolgskriterien
+
+### Must-Have
+- â
Mehrere Bilder gleichzeitig auswÀhlen
+- â
Beschreibungstext hinzufĂŒgen
+- â
Upload als zusammengehörige Gruppe
+- â
Einfache Slideshow-Anzeige
+- â
Mobile-KompatibilitÀt
+
+### Nice-to-Have
+- đš Drag & Drop Reihenfolge Ă€ndern
+- đ Upload-Progress mit Details
+- đŒïž Thumbnail-Navigation in Slideshow
+- đŸ Auto-Save der Beschreibung
+- đ Batch-Operations (alle entfernen, etc.)
+
+### Future Features
+- đ€ User-Management
+- đ·ïž Tagging-System
+- đ€ Export-Funktionen
+- đ” Audio-Integration
+
+---
+
+**Fazit**: Die Erweiterung ist gut machbar und baut logisch auf der bestehenden Architektur auf. Der modulare Ansatz ermöglicht schrittweise Implementierung und spÀtere Erweiterungen.
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index 7b0b198..bbacfa2 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,9 +1,21 @@
MIT License
-Copyright (c) 2025 hobbyhimmel
+Copyright (c) 2021 Valentin Zwerschke
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index b894297..8d89401 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,296 @@
-# Project-Image-Uploader
+# Image Uploader with Multi-Upload & Slideshow
+
+A self-hosted image uploader with multi-image upload capabilities and automatic slideshow functionality.
+
+## Features
+
+**Multi-Image Upload**: Upload multiple images at once with batch processing
+**Slideshow Mode**: Automatic fullscreen slideshow with smooth transitions
+**Persistent Storage**: Docker volumes ensure data persistence across restarts
+**Clean UI**: Minimalist design focused on user experience
+**Self-Hosted**: Complete control over your data and infrastructure
+**Lightweight**: Built with modern web technologies for optimal performance
+
+## What's New
+This project extends the original [Image-Uploader by vallezw](https://github.com/vallezw/Image-Uploader) with enhanced multi-upload and slideshow capabilities.
+
+- Multi-image batch upload with progress tracking
+- Automatic slideshow presentation mode
+- Image grouping with descriptions
+- Random slideshow rotation
+- Keyboard navigation support
+- Mobile-responsive design- Mobile-responsive design
+
+## Quick Start
+
+### Docker Deployment (Recommended)
+
+1. **Create docker-compose.yml**:
+
+```yaml
+services:
+ frontend:
+ image: vallezw/image-uploader-client
+ ports:
+ - "80:80"
+ depends_on:
+ - backend
+ environment:
+ - "API_URL=http://localhost:5000"
+ - "CLIENT_URL=http://localhost"
+ container_name: frontend
+ backend:
+ image: vallezw/image-uploader-backend
+ environment:
+ - "CLIENT_URL=http://localhost"
+ container_name: backend
+ backend:
+ image: vallezw/image-uploader-client
+ ports:
+ - "80:80"
+ container_name: frontend
+ image: vallezw/image-uploader-backend
+ ports:
+ - "5000:5000"
+ container_name: backend
+ volumes:
+ - app-data:/usr/src/app/src/upload
+ depends_on:
+ - app-data:/usr/src/app/src/data
+ - backend
+volumes:
+ app-data:
+ environment:
+ - "API_URL=http://localhost:5000"
+ - "CLIENT_URL=http://localhost"
+ driver: local
+```
+
+2. **Start the application**:
+
+```bash
+docker compose up -d
+```
+
+
+3. **Access the application**:
+
+- Upload Interface: `http://localhost`
+- Backend: `http://localhost:5000`
+- Slideshow Mode: `http://localhost/slideshow`
+
+
+
+### Multi-Image Upload
+
+1. Visit `http://localhost`
+2. Drag & drop multiple images or click to select
+3. Add an optional description for your image collection
+4. Click "Upload Images" to process the batch
+5. Images are automatically grouped for slideshow viewing
+
+### Slideshow Mode
+
+- **Automatic Access**: Navigate to `http://localhost/slideshow`
+- **Features**:
+ - Fullscreen presentation
+ - 4-second display per image
+ - Automatic progression through all slideshow collections
+ - Random selection of next slideshow after completing current one
+ - Smooth fade transitions (0.5s)
+
+- **Keyboard Controls**:
+ - **ESC**: Exit slideshow / Return to upload page
+ - **Spacebar / Arrow Right**: Manually advance to next image
+ - **Home Button**: Return to main upload interface
+
+### Moderation Interface (Protected)
+
+- **Access**: `http://localhost/moderation` (requires authentication)
+- **Authentication**: HTTP Basic Auth (username: admin, password: set during setup)
+- **Features**:
+ - Review pending image groups before public display
+ - Approve or reject submitted collections
+ - Delete individual images from approved groups
+ - View group details (title, creator, description, image count)
+ - Bulk moderation actions
+
+- **Group Management**: Navigate to `http://localhost/groups` (requires authentication)
+ - Overview of all approved slideshow collections
+ - Delete entire groups
+ - Launch slideshow mode from any group
+ - View group statistics and metadata
+
+**Security Features**:
+- Password protected access via nginx HTTP Basic Auth
+- Hidden from search engines (`robots.txt` + `noindex` meta tags)
+- No public links or references in main interface
+
+## Data Structure
+### Slideshow JSON Format
+
+```json
+[
+ {
+ "groupId": "0fSwazTOU",
+ "description": "My Photo Collection",
+ "uploadDate": "2025-10-11T14:34:48.159Z",
+ "images":
+ {
+ "fileName": "ZMmHXzHbqw.jpg",
+ "originalName": "vacation-photo-1.jpg",
+ "filePath": "/upload/ZMmHXzHbqw.jpg",
+ "uploadOrder": 1
+ },
+ {
+ "fileName": "tjjnngOmXS.jpg",
+ "originalName": "vacation-photo-2.jpg",
+ "filePath": "/upload/tjjnngOmXS.jpg",
+ "uploadOrder": 2
+ }
+ ],
+ "imageCount": 21
+ }
+]
+```
+
+### Field Descriptions
+| Field | Type | Description |
+|-------|------|-------------|
+| `groupId` | string | Unique identifier generated with shortid |
+| `description` | string | User-provided description for the image collection |
+| `uploadDate` | string | ISO timestamp of upload completion |
+| `images` | array | Array of image objects in the collection |
+| `imageCount` | number | Total number of images in the group |
+
+
+### Image Object Structure
+| Field | Type | Description |
+|-------|------|-------------|
+| `fileName` | string | Generated unique filename for storage |
+| `originalName` | string | Original filename from user's device |
+| `filePath` | string | Relative path to the stored image file |
+| `uploadOrder` | number | Sequential order within the slideshow (1, 2, 3...) |
+
+## Architecture
+### Backend (Node.js + Express)
+- **Multi-upload API**: `/api/upload/batch` - Handles batch file processing
+- **Groups API**: `/api/groups` - Retrieves slideshow collections
+- **File Storage**: Organized in `/upload` directory
+- **Metadata Storage**: JSON files in `/data` directory
+
+### Frontend (React + Material-UI)
+
+- **Multi-Upload Interface**: Drag & drop with preview gallery
+- **Progress Tracking**: Real-time upload status
+- **Spacebar / Arrow Right**: Manually advance to next image
+- **Slideshow Engine**: Fullscreen presentation with automatic progression
+- **Responsive Design**: Mobile and desktop optimized
+- **Home Button**: Return to main upload interface
+
+
+### Storage Architecture
+
+```
+Docker Volume (app-data)
+âââ upload/
+â âââ ZMmHXzHbqw.jpg
+â âââ tjjnngOmXS.jpg
+â âââ ...### Slideshow JSON Format
+âââ data/ # Metadata
+ âââ upload-groups.json
+```
+
+### Hosting it with Docker
+
+- **Frontend**: React 17, Material-UI, React Router
+- **Backend**: Node.js, Express, Multer (file handling)
+- **Containerization**: Docker, Docker Compose
+- **Reverse Proxy**: nginx (routing & file serving)[In order to host the project you will need to create a docker-compose file. These files are combining multiple docker images to interact with each other.
+- **File Upload**: Drag & drop with react-dropzone
+- **Notifications**: SweetAlert2
+
+## API Endpoints
+### Upload Operations
+
+- `POST /api/upload/batch` - Upload multiple images with description
+- `GET /api/groups` - Retrieve all slideshow groups
+- `GET /api/groups/:id` - Get specific slideshow group
+
+### Moderation Operations (Protected)
+
+- `GET /moderation/groups` - Get all groups pending moderation
+- `POST /groups/:id/approve` - Approve a group for public display
+- `DELETE /groups/:id` - Delete an entire group
+- `DELETE /groups/:id/images/:imageId` - Delete individual image from group
+
+### File Access
+- `GET /api/upload/:filename` - Access uploaded image files
+
+## Configuration
+### Environment Variables
+
+
+
+| Variable | Default | Description |
+|----------|---------|-------------|
+| `API_URL` | `http://localhost:5000` | Backend API endpoint |
+| `CLIENT_URL` | `http://localhost` | Frontend application URL |
+
+
+### Volume Configuration
+
+- **Data Persistence**: `/usr/src/app/src/upload` and `/usr/src/app/src/data` mounted to `app-data`
+- **Upload Limits**: 100MB maximum file size for batch uploads
+- **Supported Formats**: JPG, JPEG, PNG, GIF, WebP
+
+
+
+### Custom Deployment
+For production deployment, modify the docker-compose configuration:
+
+```yaml
+
+environment:
+
+ - "API_URL=https://your-domain.com/api"
+
+ - "CLIENT_URL=https://your-domain.com"
+```
+
+
+
+### Backup & Restore
+#### Backup slideshow data
+```sh
+docker cp backend:/usr/src/app/src/data ./backup-data
+docker cp backend:/usr/src/app/src/upload ./backup-images
+```
+
+#### Restore slideshow data
+```sh
+docker cp ./backup-data backend:/usr/src/app/src/data
+docker cp ./backup-images backend:/usr/src/app/src/upload
+```
+
+
+## Contributing
+Contributions are welcome!
+This project extends the original work by [vallezw](https://github.com/vallezw/Image-Uploader).
+
+### Development Setup
+1. Fork the repository
+2. Create feature branch: `git checkout -b feature/amazing-feature`
+3. Commit changes: `git commit -m 'Add amazing feature'`
+4. Push to branch: `git push origin feature/amazing-feature`| Field | Type | Description |#### Changing the URL
+5. Open a Pull Request
+
+## License
+This project is distributed under the MIT License. See `LICENSE` for more information.
+
+## Acknowledgments
+- Original project: [Image-Uploader by vallezw](https://github.com/vallezw/Image-Uploader)
+
+
+
-Mit dieser Webapp kann der Nutzer von offenen WerkstÀtten die Bilder von seinem Projekt hochladen und eine Kurze Beschreibung ergÀnzen.
\ No newline at end of file
diff --git a/backend/.dockerignore b/backend/.dockerignore
new file mode 100644
index 0000000..1125523
--- /dev/null
+++ b/backend/.dockerignore
@@ -0,0 +1,3 @@
+node_modules
+npm-debug.log
+upload/
\ No newline at end of file
diff --git a/backend/.env.example b/backend/.env.example
new file mode 100644
index 0000000..84a1929
--- /dev/null
+++ b/backend/.env.example
@@ -0,0 +1 @@
+REMOVE_IMAGES=
\ No newline at end of file
diff --git a/backend/.gitignore b/backend/.gitignore
new file mode 100644
index 0000000..a39ecbf
--- /dev/null
+++ b/backend/.gitignore
@@ -0,0 +1,41 @@
+# Logs
+logs
+*.log
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Image safe point
+/upload/*
+
+/src/upload/*
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directory
+# https://docs.npmjs.com/cli/shrinkwrap#caveats
+node_modules
+
+# Debug log from npm
+npm-debug.log
+
+.DS_Store
+
+package-lock.json
+
+.env
\ No newline at end of file
diff --git a/backend/Dockerfile b/backend/Dockerfile
new file mode 100644
index 0000000..245f4fc
--- /dev/null
+++ b/backend/Dockerfile
@@ -0,0 +1,16 @@
+FROM node:14
+
+WORKDIR /usr/src/app
+
+COPY package*.json ./
+
+# Development
+RUN npm install
+
+# Production
+# RUN npm ci --only=production
+
+COPY . .
+
+EXPOSE 5000
+CMD [ "node", "src/index.js" ]
\ No newline at end of file
diff --git a/backend/package.json b/backend/package.json
new file mode 100644
index 0000000..4f2c7a6
--- /dev/null
+++ b/backend/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "backend",
+ "version": "1.0.0",
+ "description": "",
+ "main": "src/index.js",
+ "scripts": {
+ "start": "node src/index.js",
+ "server": "nodemon src/index.js",
+ "client": "npm run dev --prefix ../frontend",
+ "client-build": "cd ../frontend && npm run build && serve -s build -l 80",
+ "dev": "concurrently \"npm run server\" \"npm run client\"",
+ "build": "concurrently \"npm run server\" \"npm run client-build\""
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "dotenv": "^8.2.0",
+ "express": "^4.17.1",
+ "express-fileupload": "^1.2.1",
+ "find-remove": "^2.0.3",
+ "fs": "^0.0.1-security",
+ "shortid": "^2.2.16",
+ "sqlite3": "^5.1.7"
+ },
+ "devDependencies": {
+ "concurrently": "^6.0.0",
+ "nodemon": "^2.0.7"
+ }
+}
diff --git a/backend/src/constants.js b/backend/src/constants.js
new file mode 100644
index 0000000..651d84d
--- /dev/null
+++ b/backend/src/constants.js
@@ -0,0 +1,16 @@
+const endpoints = {
+ UPLOAD_STATIC_DIRECTORY: '/upload',
+ UPLOAD_FILE: '/upload',
+ UPLOAD_BATCH: '/upload/batch',
+ DOWNLOAD_FILE: '/download/:id',
+ GET_GROUP: '/groups/:groupId',
+ GET_ALL_GROUPS: '/groups',
+ DELETE_GROUP: '/groups/:groupId'
+};
+
+const time = {
+ HOURS_24: 86400000,
+ WEEK_1: 604800000
+};
+
+module.exports = { endpoints, time };
\ No newline at end of file
diff --git a/backend/src/database/DatabaseManager.js b/backend/src/database/DatabaseManager.js
new file mode 100644
index 0000000..a767fd3
--- /dev/null
+++ b/backend/src/database/DatabaseManager.js
@@ -0,0 +1,202 @@
+const sqlite3 = require('sqlite3').verbose();
+const path = require('path');
+const fs = require('fs');
+
+class DatabaseManager {
+ constructor() {
+ this.db = null;
+ this.dbPath = path.join(__dirname, '../data/image_uploader.db'); // FIX: ../data statt ../../data
+ this.schemaPath = path.join(__dirname, 'schema.sql');
+ }
+
+ async initialize() {
+ try {
+ // Stelle sicher, dass das data-Verzeichnis existiert
+ const dataDir = path.dirname(this.dbPath);
+ if (!fs.existsSync(dataDir)) {
+ fs.mkdirSync(dataDir, { recursive: true });
+ }
+
+ // Ăffne Datenbankverbindung
+ this.db = new sqlite3.Database(this.dbPath, (err) => {
+ if (err) {
+ console.error('Fehler beim Ăffnen der Datenbank:', err.message);
+ throw err;
+ } else {
+ console.log('â SQLite Datenbank verbunden:', this.dbPath);
+ }
+ });
+
+ // Aktiviere Foreign Keys
+ await this.run('PRAGMA foreign_keys = ON');
+
+ // Erstelle Schema
+ await this.createSchema();
+
+ console.log('â Datenbank erfolgreich initialisiert');
+ } catch (error) {
+ console.error('Fehler bei Datenbank-Initialisierung:', error);
+ throw error;
+ }
+ }
+
+ async createSchema() {
+ try {
+ console.log('đš Erstelle Datenbank-Schema...');
+
+ // Erstelle Groups Tabelle
+ await this.run(`
+ CREATE TABLE IF NOT EXISTS groups (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ group_id TEXT UNIQUE NOT NULL,
+ year INTEGER NOT NULL,
+ title TEXT NOT NULL,
+ description TEXT,
+ name TEXT,
+ upload_date DATETIME NOT NULL,
+ approved BOOLEAN DEFAULT FALSE,
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
+ )
+ `);
+
+ // Migration: FĂŒge approved Feld zu bestehenden Tabellen hinzu (falls nicht vorhanden)
+ try {
+ await this.run('ALTER TABLE groups ADD COLUMN approved BOOLEAN DEFAULT FALSE');
+ console.log('â Approved Feld zur bestehenden Tabelle hinzugefĂŒgt');
+ } catch (error) {
+ // Feld existiert bereits - das ist okay
+ if (!error.message.includes('duplicate column')) {
+ console.warn('Migration Warnung:', error.message);
+ }
+ }
+ console.log('â Groups Tabelle erstellt');
+
+ // Erstelle Images Tabelle
+ await this.run(`
+ CREATE TABLE IF NOT EXISTS images (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ group_id TEXT NOT NULL,
+ file_name TEXT NOT NULL,
+ original_name TEXT NOT NULL,
+ file_path TEXT NOT NULL,
+ upload_order INTEGER NOT NULL,
+ file_size INTEGER,
+ mime_type TEXT,
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (group_id) REFERENCES groups(group_id) ON DELETE CASCADE
+ )
+ `);
+ console.log('â Images Tabelle erstellt');
+
+ // Erstelle Indizes
+ await this.run('CREATE INDEX IF NOT EXISTS idx_groups_group_id ON groups(group_id)');
+ await this.run('CREATE INDEX IF NOT EXISTS idx_groups_year ON groups(year)');
+ await this.run('CREATE INDEX IF NOT EXISTS idx_groups_upload_date ON groups(upload_date)');
+ await this.run('CREATE INDEX IF NOT EXISTS idx_images_group_id ON images(group_id)');
+ await this.run('CREATE INDEX IF NOT EXISTS idx_images_upload_order ON images(upload_order)');
+ console.log('â Indizes erstellt');
+
+ // Erstelle Trigger
+ await this.run(`
+ CREATE TRIGGER IF NOT EXISTS update_groups_timestamp
+ AFTER UPDATE ON groups
+ FOR EACH ROW
+ BEGIN
+ UPDATE groups SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
+ END
+ `);
+ console.log('â Trigger erstellt');
+
+ console.log('â
Datenbank-Schema vollstÀndig erstellt');
+ } catch (error) {
+ console.error('đ„ Fehler beim Erstellen des Schemas:', error);
+ throw error;
+ }
+ }
+
+ // Promise-wrapper fĂŒr sqlite3.run
+ run(sql, params = []) {
+ return new Promise((resolve, reject) => {
+ this.db.run(sql, params, function(err) {
+ if (err) {
+ reject(err);
+ } else {
+ resolve({ id: this.lastID, changes: this.changes });
+ }
+ });
+ });
+ }
+
+ // Promise-wrapper fĂŒr sqlite3.get
+ get(sql, params = []) {
+ return new Promise((resolve, reject) => {
+ this.db.get(sql, params, (err, row) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(row);
+ }
+ });
+ });
+ }
+
+ // Promise-wrapper fĂŒr sqlite3.all
+ all(sql, params = []) {
+ return new Promise((resolve, reject) => {
+ this.db.all(sql, params, (err, rows) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(rows);
+ }
+ });
+ });
+ }
+
+ // Transaction support
+ async transaction(callback) {
+ await this.run('BEGIN TRANSACTION');
+ try {
+ const result = await callback(this);
+ await this.run('COMMIT');
+ return result;
+ } catch (error) {
+ await this.run('ROLLBACK');
+ throw error;
+ }
+ }
+
+ close() {
+ return new Promise((resolve, reject) => {
+ if (this.db) {
+ this.db.close((err) => {
+ if (err) {
+ reject(err);
+ } else {
+ console.log('â Datenbankverbindung geschlossen');
+ resolve();
+ }
+ });
+ } else {
+ resolve();
+ }
+ });
+ }
+
+ // Gesundheitscheck
+ async healthCheck() {
+ try {
+ const result = await this.get('SELECT 1 as test');
+ return result && result.test === 1;
+ } catch (error) {
+ console.error('Database health check failed:', error);
+ return false;
+ }
+ }
+}
+
+// Singleton Instance
+const dbManager = new DatabaseManager();
+
+module.exports = dbManager;
\ No newline at end of file
diff --git a/backend/src/database/schema.sql b/backend/src/database/schema.sql
new file mode 100644
index 0000000..024e2e6
--- /dev/null
+++ b/backend/src/database/schema.sql
@@ -0,0 +1,48 @@
+-- Image Uploader SQLite Schema
+-- Migration von JSON zu SQLite fĂŒr bessere Performance
+
+-- Groups Tabelle fĂŒr Upload-Gruppen
+CREATE TABLE IF NOT EXISTS groups (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ group_id TEXT UNIQUE NOT NULL,
+ year INTEGER NOT NULL,
+ title TEXT NOT NULL,
+ description TEXT,
+ name TEXT,
+ upload_date DATETIME NOT NULL,
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
+);
+
+-- Images Tabelle fĂŒr einzelne Bilder
+CREATE TABLE IF NOT EXISTS images (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ group_id TEXT NOT NULL,
+ file_name TEXT NOT NULL,
+ original_name TEXT NOT NULL,
+ file_path TEXT NOT NULL,
+ upload_order INTEGER NOT NULL,
+ file_size INTEGER,
+ mime_type TEXT,
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (group_id) REFERENCES groups(group_id) ON DELETE CASCADE
+);
+
+-- Indizes fĂŒr bessere Performance
+CREATE INDEX IF NOT EXISTS idx_groups_group_id ON groups(group_id);
+
+CREATE INDEX IF NOT EXISTS idx_groups_year ON groups(year);
+
+CREATE INDEX IF NOT EXISTS idx_groups_upload_date ON groups(upload_date);
+
+CREATE INDEX IF NOT EXISTS idx_images_group_id ON images(group_id);
+
+CREATE INDEX IF NOT EXISTS idx_images_upload_order ON images(upload_order);
+
+-- Trigger fĂŒr updated_at
+CREATE TRIGGER IF NOT EXISTS update_groups_timestamp
+AFTER UPDATE ON groups
+FOR EACH ROW
+BEGIN
+ UPDATE groups SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
+END;
\ No newline at end of file
diff --git a/backend/src/index.js b/backend/src/index.js
new file mode 100644
index 0000000..8abf9b8
--- /dev/null
+++ b/backend/src/index.js
@@ -0,0 +1,9 @@
+require('./utils/load-env')
+
+const Server = require('./server');
+
+// Start server mit async/await Support
+(async () => {
+ const server = new Server(process.env.PORT || 5000);
+ await server.start();
+})();
\ No newline at end of file
diff --git a/backend/src/middlewares/cors.js b/backend/src/middlewares/cors.js
new file mode 100644
index 0000000..7cd7ab0
--- /dev/null
+++ b/backend/src/middlewares/cors.js
@@ -0,0 +1,13 @@
+const cors = (req, res, next) => {
+ res.header('Access-Control-Allow-Origin', req.get('Origin') || '*');
+ res.header('Access-Control-Allow-Credentials', 'true');
+ res.header('Access-Control-Allow-Methods', 'GET,HEAD,PUT,PATCH,POST,DELETE');
+ res.header('Access-Control-Expose-Headers', 'Content-Length');
+ res.header('Access-Control-Allow-Headers', 'Accept, Authorization, Content-Type, X-Requested-With, Range');
+
+ if (req.method === 'OPTIONS') return res.send(200);
+
+ return next();
+};
+
+module.exports = cors;
\ No newline at end of file
diff --git a/backend/src/middlewares/index.js b/backend/src/middlewares/index.js
new file mode 100644
index 0000000..275c76d
--- /dev/null
+++ b/backend/src/middlewares/index.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const fileUpload = require("express-fileupload");
+const cors = require("./cors");
+
+const applyMiddlewares = (app) => {
+ app.use(fileUpload());
+ app.use(cors);
+ // JSON Parser fĂŒr PATCH/POST Requests
+ app.use(express.json());
+};
+
+module.exports = { applyMiddlewares };
\ No newline at end of file
diff --git a/backend/src/models/uploadGroup.js b/backend/src/models/uploadGroup.js
new file mode 100644
index 0000000..997f057
--- /dev/null
+++ b/backend/src/models/uploadGroup.js
@@ -0,0 +1,52 @@
+const generateId = require("shortid");
+
+class UploadGroup {
+ constructor(metadata = {}) {
+ this.groupId = generateId();
+
+ // Strukturierte Metadaten
+ this.year = metadata.year || new Date().getFullYear();
+ this.title = metadata.title || "";
+ this.description = metadata.description || "";
+ this.name = metadata.name || "";
+
+ // Backwards compatibility
+ if (typeof metadata === 'string') {
+ this.description = metadata;
+ this.year = new Date().getFullYear();
+ this.title = "";
+ this.name = "";
+ }
+
+ this.uploadDate = new Date().toISOString();
+ this.images = [];
+ }
+
+ addImage(fileName, originalName, uploadOrder) {
+ this.images.push({
+ fileName,
+ originalName,
+ filePath: `/upload/${fileName}`,
+ uploadOrder: uploadOrder || this.images.length + 1
+ });
+ }
+
+ getImageCount() {
+ return this.images.length;
+ }
+
+ toJSON() {
+ return {
+ groupId: this.groupId,
+ year: this.year,
+ title: this.title,
+ description: this.description,
+ name: this.name,
+ uploadDate: this.uploadDate,
+ images: this.images,
+ imageCount: this.getImageCount()
+ };
+ }
+}
+
+module.exports = UploadGroup;
\ No newline at end of file
diff --git a/backend/src/repositories/GroupRepository.js b/backend/src/repositories/GroupRepository.js
new file mode 100644
index 0000000..4109176
--- /dev/null
+++ b/backend/src/repositories/GroupRepository.js
@@ -0,0 +1,340 @@
+const dbManager = require('../database/DatabaseManager');
+
+class GroupRepository {
+
+ // Erstelle neue Gruppe mit Bildern (Transaction)
+ async createGroup(groupData) {
+ return await dbManager.transaction(async (db) => {
+ // FĂŒge Gruppe hinzu
+ const groupResult = await db.run(`
+ INSERT INTO groups (group_id, year, title, description, name, upload_date)
+ VALUES (?, ?, ?, ?, ?, ?)
+ `, [
+ groupData.groupId,
+ groupData.year,
+ groupData.title,
+ groupData.description || null,
+ groupData.name || null,
+ groupData.uploadDate
+ ]);
+
+ // FĂŒge Bilder hinzu
+ if (groupData.images && groupData.images.length > 0) {
+ for (const image of groupData.images) {
+ await db.run(`
+ INSERT INTO images (group_id, file_name, original_name, file_path, upload_order, file_size, mime_type)
+ VALUES (?, ?, ?, ?, ?, ?, ?)
+ `, [
+ groupData.groupId,
+ image.fileName,
+ image.originalName,
+ image.filePath,
+ image.uploadOrder,
+ image.fileSize || null,
+ image.mimeType || null
+ ]);
+ }
+ }
+
+ return groupResult.id;
+ });
+ }
+
+ // Hole Gruppe mit Bildern nach Group-ID
+ async getGroupById(groupId) {
+ const group = await dbManager.get(`
+ SELECT * FROM groups WHERE group_id = ?
+ `, [groupId]);
+
+ if (!group) {
+ return null;
+ }
+
+ const images = await dbManager.all(`
+ SELECT * FROM images
+ WHERE group_id = ?
+ ORDER BY upload_order ASC
+ `, [groupId]);
+
+ return {
+ groupId: group.group_id,
+ year: group.year,
+ title: group.title,
+ description: group.description,
+ name: group.name,
+ uploadDate: group.upload_date,
+ images: images.map(img => ({
+ fileName: img.file_name,
+ originalName: img.original_name,
+ filePath: img.file_path,
+ uploadOrder: img.upload_order,
+ fileSize: img.file_size,
+ mimeType: img.mime_type
+ })),
+ imageCount: images.length
+ };
+ }
+
+ // Hole alle Gruppen (mit Paginierung)
+ async getAllGroups(limit = null, offset = 0) {
+ let sql = `
+ SELECT g.*, COUNT(i.id) as image_count
+ FROM groups g
+ LEFT JOIN images i ON g.group_id = i.group_id
+ GROUP BY g.group_id
+ ORDER BY g.upload_date DESC
+ `;
+
+ const params = [];
+ if (limit) {
+ sql += ` LIMIT ? OFFSET ?`;
+ params.push(limit, offset);
+ }
+
+ const groups = await dbManager.all(sql, params);
+
+ return {
+ groups: groups.map(group => ({
+ groupId: group.group_id,
+ year: group.year,
+ title: group.title,
+ description: group.description,
+ name: group.name,
+ uploadDate: group.upload_date,
+ imageCount: group.image_count
+ })),
+ total: groups.length
+ };
+ }
+
+ // Hole alle Gruppen mit Bildern fĂŒr Slideshow (nur freigegebene)
+ async getAllGroupsWithImages() {
+ const groups = await dbManager.all(`
+ SELECT * FROM groups
+ WHERE approved = TRUE
+ ORDER BY upload_date DESC
+ `);
+
+ const result = [];
+ for (const group of groups) {
+ const images = await dbManager.all(`
+ SELECT * FROM images
+ WHERE group_id = ?
+ ORDER BY upload_order ASC
+ `, [group.group_id]);
+
+ result.push({
+ groupId: group.group_id,
+ year: group.year,
+ title: group.title,
+ description: group.description,
+ name: group.name,
+ uploadDate: group.upload_date,
+ images: images.map(img => ({
+ fileName: img.file_name,
+ originalName: img.original_name,
+ filePath: img.file_path,
+ uploadOrder: img.upload_order
+ })),
+ imageCount: images.length
+ });
+ }
+
+ return result;
+ }
+
+ // Lösche Gruppe und alle Bilder
+ async deleteGroup(groupId) {
+ return await dbManager.transaction(async (db) => {
+ // Erst alle Bilddateien physisch löschen
+ const images = await db.all(`
+ SELECT * FROM images WHERE group_id = ?
+ `, [groupId]);
+
+ const fs = require('fs').promises;
+ const path = require('path');
+
+ for (const image of images) {
+ try {
+ const absolutePath = path.join(__dirname, '..', image.file_path);
+ await fs.unlink(absolutePath);
+ console.log(`â Bilddatei gelöscht: ${absolutePath}`);
+ } catch (error) {
+ console.warn(`â ïž Konnte Bilddatei nicht löschen: ${image.file_path}`, error.message);
+ }
+ }
+
+ // Dann Gruppe aus Datenbank löschen (Bilder werden durch CASCADE gelöscht)
+ const result = await db.run(`
+ DELETE FROM groups WHERE group_id = ?
+ `, [groupId]);
+
+ console.log(`â Gruppe gelöscht: ${groupId} (${images.length} Bilder)`);
+ return result.changes > 0;
+ });
+ }
+
+ // Update Gruppe
+ async updateGroup(groupId, updates) {
+ const setClause = [];
+ const params = [];
+
+ if (updates.year !== undefined) {
+ setClause.push('year = ?');
+ params.push(updates.year);
+ }
+ if (updates.title !== undefined) {
+ setClause.push('title = ?');
+ params.push(updates.title);
+ }
+ if (updates.description !== undefined) {
+ setClause.push('description = ?');
+ params.push(updates.description);
+ }
+ if (updates.name !== undefined) {
+ setClause.push('name = ?');
+ params.push(updates.name);
+ }
+
+ if (setClause.length === 0) {
+ return false;
+ }
+
+ params.push(groupId);
+
+ const result = await dbManager.run(`
+ UPDATE groups SET ${setClause.join(', ')} WHERE group_id = ?
+ `, params);
+
+ return result.changes > 0;
+ }
+
+ // Gruppe Freigabe-Status aktualisieren
+ async updateGroupApproval(groupId, approved) {
+ const result = await dbManager.run(`
+ UPDATE groups SET approved = ? WHERE group_id = ?
+ `, [approved, groupId]);
+
+ return result.changes > 0;
+ }
+
+ // Einzelnes Bild löschen
+ async deleteImage(groupId, imageId) {
+ return await dbManager.transaction(async (db) => {
+ // PrĂŒfe ob Bild existiert
+ const image = await db.get(`
+ SELECT * FROM images WHERE id = ? AND group_id = ?
+ `, [imageId, groupId]);
+
+ if (!image) {
+ return false;
+ }
+
+ // Lösche Datei vom Dateisystem
+ const fs = require('fs').promises;
+ const path = require('path');
+ try {
+ // Konvertiere relativen Pfad zu absolutem Pfad im Container
+ // image.file_path ist "/upload/dateiname.ext", wir brauchen "/usr/src/app/src/upload/dateiname.ext"
+ const absolutePath = path.join(__dirname, '..', image.file_path);
+ await fs.unlink(absolutePath);
+ console.log(`â Bilddatei gelöscht: ${absolutePath}`);
+ } catch (error) {
+ console.warn(`â ïž Konnte Bilddatei nicht löschen: ${image.file_path}`, error.message);
+ // Datei-Löschfehler sollen nicht das Löschen aus der Datenbank verhindern
+ }
+
+ // Lösche aus Datenbank
+ const result = await db.run(`
+ DELETE FROM images WHERE id = ? AND group_id = ?
+ `, [imageId, groupId]);
+
+ // Aktualisiere upload_order der verbleibenden Bilder
+ await db.run(`
+ UPDATE images
+ SET upload_order = upload_order - 1
+ WHERE group_id = ? AND upload_order > ?
+ `, [groupId, image.upload_order]);
+
+ return result.changes > 0;
+ });
+ }
+
+ // Alle Gruppen fĂŒr Moderation (mit Freigabestatus und Bildanzahl)
+ async getAllGroupsWithModerationInfo() {
+ const groups = await dbManager.all(`
+ SELECT
+ g.*,
+ COUNT(i.id) as image_count,
+ MIN(i.file_path) as preview_image
+ FROM groups g
+ LEFT JOIN images i ON g.group_id = i.group_id
+ GROUP BY g.group_id
+ ORDER BY g.approved ASC, g.upload_date DESC
+ `);
+
+ return groups.map(group => ({
+ ...group,
+ approved: Boolean(group.approved),
+ image_count: group.image_count || 0
+ }));
+ }
+
+ // Hole Gruppe fĂŒr Moderation (inkl. nicht-freigegebene)
+ async getGroupForModeration(groupId) {
+ const group = await dbManager.get(`
+ SELECT * FROM groups WHERE group_id = ?
+ `, [groupId]);
+
+ if (!group) {
+ return null;
+ }
+
+ const images = await dbManager.all(`
+ SELECT * FROM images
+ WHERE group_id = ?
+ ORDER BY upload_order ASC
+ `, [groupId]);
+
+ return {
+ group_id: group.group_id,
+ year: group.year,
+ title: group.title,
+ description: group.description,
+ name: group.name,
+ uploadDate: group.upload_date,
+ approved: group.approved,
+ images: images.map(img => ({
+ id: img.id,
+ fileName: img.file_name,
+ originalName: img.original_name,
+ filePath: img.file_path,
+ uploadOrder: img.upload_order,
+ fileSize: img.file_size,
+ mimeType: img.mime_type
+ })),
+ imageCount: images.length
+ };
+ }
+
+ // Statistiken (erweitert um Freigabe-Status)
+ async getStats() {
+ const groupCount = await dbManager.get('SELECT COUNT(*) as count FROM groups');
+ const imageCount = await dbManager.get('SELECT COUNT(*) as count FROM images');
+ const approvedGroups = await dbManager.get('SELECT COUNT(*) as count FROM groups WHERE approved = TRUE');
+ const pendingGroups = await dbManager.get('SELECT COUNT(*) as count FROM groups WHERE approved = FALSE');
+ const latestGroup = await dbManager.get(`
+ SELECT upload_date FROM groups ORDER BY upload_date DESC LIMIT 1
+ `);
+
+ return {
+ totalGroups: groupCount.count,
+ totalImages: imageCount.count,
+ approvedGroups: approvedGroups.count,
+ pendingGroups: pendingGroups.count,
+ latestUpload: latestGroup ? latestGroup.upload_date : null
+ };
+ }
+}
+
+module.exports = new GroupRepository();
\ No newline at end of file
diff --git a/backend/src/routes/batchUpload.js b/backend/src/routes/batchUpload.js
new file mode 100644
index 0000000..fe9ec23
--- /dev/null
+++ b/backend/src/routes/batchUpload.js
@@ -0,0 +1,108 @@
+const generateId = require("shortid");
+const express = require('express');
+const { Router } = require('express');
+const { endpoints } = require('../constants');
+const UploadGroup = require('../models/uploadGroup');
+const GroupRepository = require('../repositories/GroupRepository');
+const dbManager = require('../database/DatabaseManager');
+
+const router = Router();
+
+// Batch-Upload fĂŒr mehrere Bilder
+router.post(endpoints.UPLOAD_BATCH, async (req, res) => {
+ try {
+ // ĂberprĂŒfe ob Dateien hochgeladen wurden
+ if (!req.files || !req.files.images) {
+ return res.status(400).json({
+ error: 'No images uploaded',
+ message: 'Keine Bilder wurden hochgeladen'
+ });
+ }
+
+ // Metadaten aus dem Request body
+ let metadata = {};
+ try {
+ metadata = req.body.metadata ? JSON.parse(req.body.metadata) : {};
+ } catch (e) {
+ console.error('Error parsing metadata:', e);
+ metadata = { description: req.body.description || "" };
+ }
+
+ // Erstelle neue Upload-Gruppe mit erweiterten Metadaten
+ const group = new UploadGroup(metadata);
+
+ // Handle sowohl einzelne Datei als auch Array von Dateien
+ const files = Array.isArray(req.files.images) ? req.files.images : [req.files.images];
+
+ console.log(`Processing ${files.length} files for batch upload`);
+
+ // Verarbeite alle Dateien
+ const processedFiles = [];
+ for (let i = 0; i < files.length; i++) {
+ const file = files[i];
+
+ // Generiere eindeutigen Dateinamen
+ const fileEnding = file.name.split(".").pop();
+ const fileName = generateId() + '.' + fileEnding;
+
+ // Speichere Datei
+ const uploadPath = `${__dirname}/..${endpoints.UPLOAD_STATIC_DIRECTORY}/${fileName}`;
+ file.mv(uploadPath, (err) => {
+ if (err) {
+ console.error('Error saving file:', err);
+ }
+ });
+
+ // FĂŒge Bild zur Gruppe hinzu
+ group.addImage(fileName, file.name, i + 1);
+ processedFiles.push({
+ fileName,
+ originalName: file.name,
+ size: file.size
+ });
+ }
+
+ // Speichere Gruppe in SQLite
+ await GroupRepository.createGroup({
+ groupId: group.groupId,
+ year: group.year,
+ title: group.title,
+ description: group.description,
+ name: group.name,
+ uploadDate: group.uploadDate,
+ images: processedFiles.map((file, index) => ({
+ fileName: file.fileName,
+ originalName: file.originalName,
+ filePath: `/upload/${file.fileName}`,
+ uploadOrder: index + 1,
+ fileSize: file.size,
+ mimeType: files[index].mimetype
+ }))
+ });
+
+ console.log(`Successfully saved group ${group.groupId} with ${files.length} images to database`);
+
+ // Erfolgreiche Antwort
+ res.json({
+ groupId: group.groupId,
+ message: 'Batch upload successful',
+ imageCount: files.length,
+ year: group.year,
+ title: group.title,
+ description: group.description,
+ name: group.name,
+ uploadDate: group.uploadDate,
+ files: processedFiles
+ });
+
+ } catch (error) {
+ console.error('Batch upload error:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Ein Fehler ist beim Upload aufgetreten',
+ details: error.message
+ });
+ }
+});
+
+module.exports = router;
\ No newline at end of file
diff --git a/backend/src/routes/download.js b/backend/src/routes/download.js
new file mode 100644
index 0000000..eeba1c5
--- /dev/null
+++ b/backend/src/routes/download.js
@@ -0,0 +1,10 @@
+const { Router } = require('express');
+const { endpoints } = require('../constants');
+
+const router = Router();
+
+router.get(endpoints.DOWNLOAD_FILE, (req, res) => {
+ res.download(`${__dirname}/..${endpoints.UPLOAD_STATIC_DIRECTORY}/${req.params.id}`);
+});
+
+module.exports = router;
diff --git a/backend/src/routes/groups.js b/backend/src/routes/groups.js
new file mode 100644
index 0000000..bb14033
--- /dev/null
+++ b/backend/src/routes/groups.js
@@ -0,0 +1,199 @@
+const { Router } = require('express');
+const { endpoints } = require('../constants');
+const GroupRepository = require('../repositories/GroupRepository');
+const MigrationService = require('../services/MigrationService');
+
+const router = Router();
+
+// Alle Gruppen abrufen (fĂŒr Slideshow mit vollstĂ€ndigen Bilddaten)
+router.get(endpoints.GET_ALL_GROUPS, async (req, res) => {
+ try {
+ // Auto-Migration beim ersten Zugriff
+ const migrationStatus = await MigrationService.getMigrationStatus();
+ if (migrationStatus.needsMigration) {
+ console.log('đ Starte automatische Migration...');
+ await MigrationService.migrateJsonToSqlite();
+ }
+
+ const groups = await GroupRepository.getAllGroupsWithImages();
+ res.json({
+ groups,
+ totalCount: groups.length
+ });
+ } catch (error) {
+ console.error('Error fetching all groups:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Laden der Gruppen',
+ details: error.message
+ });
+ }
+});
+
+// Alle Gruppen fĂŒr Moderation abrufen (mit Freigabestatus) - MUSS VOR den :groupId routen stehen!
+router.get('/moderation/groups', async (req, res) => {
+ try {
+ const groups = await GroupRepository.getAllGroupsWithModerationInfo();
+ res.json({
+ groups,
+ totalCount: groups.length,
+ pendingCount: groups.filter(g => !g.approved).length,
+ approvedCount: groups.filter(g => g.approved).length
+ });
+ } catch (error) {
+ console.error('Error fetching moderation groups:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Laden der Moderations-Gruppen',
+ details: error.message
+ });
+ }
+});
+
+// Einzelne Gruppe fĂŒr Moderation abrufen (inkl. nicht-freigegebene)
+router.get('/moderation/groups/:groupId', async (req, res) => {
+ try {
+ const { groupId } = req.params;
+ const group = await GroupRepository.getGroupForModeration(groupId);
+
+ if (!group) {
+ return res.status(404).json({
+ error: 'Group not found',
+ message: `Gruppe mit ID ${groupId} wurde nicht gefunden`
+ });
+ }
+
+ res.json(group);
+ } catch (error) {
+ console.error('Error fetching group for moderation:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Laden der Gruppe fĂŒr Moderation',
+ details: error.message
+ });
+ }
+});
+
+// Einzelne Gruppe abrufen
+router.get(endpoints.GET_GROUP, async (req, res) => {
+ try {
+ const { groupId } = req.params;
+ const group = await GroupRepository.getGroupById(groupId);
+
+ if (!group) {
+ return res.status(404).json({
+ error: 'Group not found',
+ message: `Gruppe mit ID ${groupId} wurde nicht gefunden`
+ });
+ }
+
+ res.json(group);
+ } catch (error) {
+ console.error('Error fetching group:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Laden der Gruppe',
+ details: error.message
+ });
+ }
+});
+
+// Gruppe freigeben/genehmigen
+router.patch('/groups/:groupId/approve', async (req, res) => {
+ try {
+ const { groupId } = req.params;
+ const { approved } = req.body;
+
+ // Validierung
+ if (typeof approved !== 'boolean') {
+ return res.status(400).json({
+ error: 'Invalid request',
+ message: 'approved muss ein boolean Wert sein'
+ });
+ }
+
+ const updated = await GroupRepository.updateGroupApproval(groupId, approved);
+
+ if (!updated) {
+ return res.status(404).json({
+ error: 'Group not found',
+ message: `Gruppe mit ID ${groupId} wurde nicht gefunden`
+ });
+ }
+
+ res.json({
+ success: true,
+ message: approved ? 'Gruppe freigegeben' : 'Gruppe gesperrt',
+ groupId: groupId,
+ approved: approved
+ });
+
+ } catch (error) {
+ console.error('Error updating group approval:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Aktualisieren der Freigabe'
+ });
+ }
+});
+
+// Einzelnes Bild löschen
+router.delete('/groups/:groupId/images/:imageId', async (req, res) => {
+ try {
+ const { groupId, imageId } = req.params;
+
+ const deleted = await GroupRepository.deleteImage(groupId, parseInt(imageId));
+
+ if (!deleted) {
+ return res.status(404).json({
+ error: 'Image not found',
+ message: `Bild mit ID ${imageId} in Gruppe ${groupId} wurde nicht gefunden`
+ });
+ }
+
+ res.json({
+ success: true,
+ message: 'Bild erfolgreich gelöscht',
+ groupId: groupId,
+ imageId: parseInt(imageId)
+ });
+
+ } catch (error) {
+ console.error('Error deleting image:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Löschen des Bildes'
+ });
+ }
+});
+
+// Gruppe löschen
+router.delete(endpoints.DELETE_GROUP, async (req, res) => {
+ try {
+ const { groupId } = req.params;
+
+ const deleted = await GroupRepository.deleteGroup(groupId);
+
+ if (!deleted) {
+ return res.status(404).json({
+ error: 'Group not found',
+ message: `Gruppe mit ID ${groupId} wurde nicht gefunden`
+ });
+ }
+
+ res.json({
+ success: true,
+ message: 'Gruppe erfolgreich gelöscht',
+ groupId: groupId
+ });
+
+ } catch (error) {
+ console.error('Error deleting group:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Löschen der Gruppe'
+ });
+ }
+});
+
+module.exports = router;
\ No newline at end of file
diff --git a/backend/src/routes/index.js b/backend/src/routes/index.js
new file mode 100644
index 0000000..c4a3a97
--- /dev/null
+++ b/backend/src/routes/index.js
@@ -0,0 +1,11 @@
+const uploadRouter = require('./upload');
+const downloadRouter = require('./download');
+const batchUploadRouter = require('./batchUpload');
+const groupsRouter = require('./groups');
+const migrationRouter = require('./migration');
+
+const renderRoutes = (app) => {
+ [uploadRouter, downloadRouter, batchUploadRouter, groupsRouter, migrationRouter].forEach(router => app.use('/', router));
+};
+
+module.exports = { renderRoutes };
\ No newline at end of file
diff --git a/backend/src/routes/migration.js b/backend/src/routes/migration.js
new file mode 100644
index 0000000..3ae7d23
--- /dev/null
+++ b/backend/src/routes/migration.js
@@ -0,0 +1,75 @@
+const express = require('express');
+const { Router } = require('express');
+const MigrationService = require('../services/MigrationService');
+const dbManager = require('../database/DatabaseManager');
+
+const router = Router();
+
+// Migration Status abrufen
+router.get('/migration/status', async (req, res) => {
+ try {
+ const status = await MigrationService.getMigrationStatus();
+ res.json(status);
+ } catch (error) {
+ console.error('Fehler beim Abrufen des Migrationsstatus:', error);
+ res.status(500).json({
+ error: 'Internal server error',
+ message: 'Fehler beim Abrufen des Migrationsstatus',
+ details: error.message
+ });
+ }
+});
+
+// Manuelle Migration starten
+router.post('/migration/migrate', async (req, res) => {
+ try {
+ const result = await MigrationService.migrateJsonToSqlite();
+ res.json(result);
+ } catch (error) {
+ console.error('Fehler bei der Migration:', error);
+ res.status(500).json({
+ error: 'Migration failed',
+ message: 'Fehler bei der Migration',
+ details: error.message
+ });
+ }
+});
+
+// Rollback zu JSON (Notfall)
+router.post('/migration/rollback', async (req, res) => {
+ try {
+ const result = await MigrationService.rollbackToJson();
+ res.json(result);
+ } catch (error) {
+ console.error('Fehler beim Rollback:', error);
+ res.status(500).json({
+ error: 'Rollback failed',
+ message: 'Fehler beim Rollback',
+ details: error.message
+ });
+ }
+});
+
+// Datenbank Health Check
+router.get('/migration/health', async (req, res) => {
+ try {
+ const isHealthy = await dbManager.healthCheck();
+ res.json({
+ database: {
+ healthy: isHealthy,
+ status: isHealthy ? 'OK' : 'ERROR'
+ }
+ });
+ } catch (error) {
+ console.error('Health Check fehlgeschlagen:', error);
+ res.status(500).json({
+ database: {
+ healthy: false,
+ status: 'ERROR',
+ error: error.message
+ }
+ });
+ }
+});
+
+module.exports = router;
\ No newline at end of file
diff --git a/backend/src/routes/upload.js b/backend/src/routes/upload.js
new file mode 100644
index 0000000..ecda0d3
--- /dev/null
+++ b/backend/src/routes/upload.js
@@ -0,0 +1,32 @@
+const generateId = require("shortid");
+const express = require('express');
+const { Router } = require('express');
+const { endpoints } = require('../constants');
+
+const router = Router();
+
+router.use(endpoints.UPLOAD_STATIC_DIRECTORY, express.static( __dirname + endpoints.UPLOAD_STATIC_DIRECTORY));
+
+router.post(endpoints.UPLOAD_FILE, (req, res) => {
+ if(req.files === null){
+ console.log('No file uploaded');
+ return res.status(400).json({ msg: 'No file uploaded' });
+ }
+
+ const file = req.files.file;
+
+ fileEnding = file.name.split(".")
+ fileEnding = fileEnding[fileEnding.length - 1]
+ fileName = generateId() + '.' + fileEnding
+
+ file.mv(`${__dirname}/..` + endpoints.UPLOAD_STATIC_DIRECTORY + `/${fileName}`, err => {
+ if(err) {
+ console.error(err);
+ return res.status(500).send(err);
+ }
+
+ res.json({ filePath: `${endpoints.UPLOAD_STATIC_DIRECTORY}/${fileName}`});
+ });
+});
+
+module.exports = router;
\ No newline at end of file
diff --git a/backend/src/server.js b/backend/src/server.js
new file mode 100644
index 0000000..5e9176b
--- /dev/null
+++ b/backend/src/server.js
@@ -0,0 +1,35 @@
+const express = require('express');
+const initiateResources = require('./utils/initiate-resources');
+const dbManager = require('./database/DatabaseManager');
+
+class Server {
+ _port;
+ _app;
+
+ constructor(port) {
+ this._port = port;
+ this._app = express();
+ }
+
+ async start() {
+ try {
+ // Initialisiere Datenbank
+ console.log('đ Initialisiere Datenbank...');
+ await dbManager.initialize();
+ console.log('â Datenbank bereit');
+
+ // Starte Express Server
+ initiateResources(this._app);
+ this._app.use('/upload', express.static( __dirname + '/upload'));
+ this._app.listen(this._port, () => {
+ console.log(`â
Server lÀuft auf Port ${this._port}`);
+ console.log(`đ SQLite Datenbank aktiv`);
+ });
+ } catch (error) {
+ console.error('đ„ Fehler beim Serverstart:', error);
+ process.exit(1);
+ }
+ }
+}
+
+module.exports = Server;
\ No newline at end of file
diff --git a/backend/src/services/MigrationService.js b/backend/src/services/MigrationService.js
new file mode 100644
index 0000000..b106ce4
--- /dev/null
+++ b/backend/src/services/MigrationService.js
@@ -0,0 +1,207 @@
+const fs = require('fs').promises;
+const path = require('path');
+const GroupRepository = require('../repositories/GroupRepository');
+const dbManager = require('../database/DatabaseManager');
+
+class MigrationService {
+ constructor() {
+ this.jsonDataPath = path.join(__dirname, '../data');
+ this.backupPath = path.join(__dirname, '../data/backup');
+ }
+
+ // Hauptmigration von JSON zu SQLite
+ async migrateJsonToSqlite() {
+ console.log('đ Starte Migration von JSON zu SQLite...');
+
+ try {
+ // 1. Initialisiere Datenbank
+ await dbManager.initialize();
+
+ // 2. PrĂŒfe ob bereits migriert
+ const stats = await GroupRepository.getStats();
+ if (stats.totalGroups > 0) {
+ console.log(`âčïž Datenbank enthĂ€lt bereits ${stats.totalGroups} Gruppen. Migration wird ĂŒbersprungen.`);
+ return { success: true, message: 'Already migrated', stats };
+ }
+
+ // 3. Lade JSON-Gruppen
+ const jsonGroups = await this.loadJsonGroups();
+ if (jsonGroups.length === 0) {
+ console.log('âčïž Keine JSON-Gruppen zum Migrieren gefunden.');
+ return { success: true, message: 'No JSON data found', migrated: 0 };
+ }
+
+ // 4. Erstelle Backup
+ await this.createBackup();
+
+ // 5. Migriere Gruppen
+ let migratedCount = 0;
+ let errorCount = 0;
+
+ for (const jsonGroup of jsonGroups) {
+ try {
+ await this.migrateGroup(jsonGroup);
+ migratedCount++;
+ console.log(`â Gruppe ${jsonGroup.groupId} migriert`);
+ } catch (error) {
+ errorCount++;
+ console.error(`â Fehler bei Gruppe ${jsonGroup.groupId}:`, error.message);
+ }
+ }
+
+ console.log(`đ Migration abgeschlossen: ${migratedCount} erfolgreich, ${errorCount} Fehler`);
+
+ return {
+ success: true,
+ migrated: migratedCount,
+ errors: errorCount,
+ total: jsonGroups.length
+ };
+
+ } catch (error) {
+ console.error('đ„ Migration fehlgeschlagen:', error);
+ throw error;
+ }
+ }
+
+ // Lade alle JSON-Gruppendateien
+ async loadJsonGroups() {
+ const groups = [];
+
+ try {
+ const files = await fs.readdir(this.jsonDataPath);
+ const jsonFiles = files.filter(file => file.endsWith('.json') && file !== 'groups.json');
+
+ for (const file of jsonFiles) {
+ try {
+ const filePath = path.join(this.jsonDataPath, file);
+ const content = await fs.readFile(filePath, 'utf8');
+ const group = JSON.parse(content);
+
+ // Validiere Gruppenstruktur
+ if (this.validateGroup(group)) {
+ groups.push(this.normalizeGroup(group));
+ } else {
+ console.warn(`â ïž UngĂŒltige Gruppenstruktur in ${file}`);
+ }
+ } catch (error) {
+ console.error(`â Fehler beim Laden von ${file}:`, error.message);
+ }
+ }
+ } catch (error) {
+ console.error('Fehler beim Lesen des data-Verzeichnisses:', error);
+ }
+
+ return groups;
+ }
+
+ // Validiere JSON-Gruppenstruktur
+ validateGroup(group) {
+ return group &&
+ group.groupId &&
+ group.uploadDate &&
+ Array.isArray(group.images);
+ }
+
+ // Normalisiere Gruppendaten fĂŒr SQLite
+ normalizeGroup(jsonGroup) {
+ return {
+ groupId: jsonGroup.groupId,
+ year: jsonGroup.year || new Date(jsonGroup.uploadDate).getFullYear(),
+ title: jsonGroup.title || 'Migriertes Projekt',
+ description: jsonGroup.description || '',
+ name: jsonGroup.name || '',
+ uploadDate: jsonGroup.uploadDate,
+ images: jsonGroup.images.map((img, index) => ({
+ fileName: img.fileName,
+ originalName: img.originalName,
+ filePath: img.filePath,
+ uploadOrder: img.uploadOrder || index + 1,
+ fileSize: img.fileSize || null,
+ mimeType: img.mimeType || null
+ }))
+ };
+ }
+
+ // Migriere einzelne Gruppe
+ async migrateGroup(group) {
+ await GroupRepository.createGroup(group);
+ }
+
+ // Erstelle Backup der JSON-Dateien
+ async createBackup() {
+ try {
+ // Erstelle backup-Verzeichnis
+ await fs.mkdir(this.backupPath, { recursive: true });
+
+ const files = await fs.readdir(this.jsonDataPath);
+ const jsonFiles = files.filter(file => file.endsWith('.json'));
+
+ for (const file of jsonFiles) {
+ const sourcePath = path.join(this.jsonDataPath, file);
+ const backupPath = path.join(this.backupPath, `${Date.now()}_${file}`);
+ await fs.copyFile(sourcePath, backupPath);
+ }
+
+ console.log(`â Backup erstellt: ${jsonFiles.length} Dateien`);
+ } catch (error) {
+ console.error('Fehler beim Erstellen des Backups:', error);
+ throw error;
+ }
+ }
+
+ // Rollback zur JSON-Struktur (falls nötig)
+ async rollbackToJson() {
+ console.log('đ Starte Rollback zu JSON...');
+
+ try {
+ const groups = await GroupRepository.getAllGroupsWithImages();
+
+ for (const group of groups) {
+ const fileName = `${group.groupId}.json`;
+ const filePath = path.join(this.jsonDataPath, fileName);
+ await fs.writeFile(filePath, JSON.stringify(group, null, 2));
+ }
+
+ console.log(`â Rollback abgeschlossen: ${groups.length} Gruppen`);
+ return { success: true, exported: groups.length };
+ } catch (error) {
+ console.error('Rollback fehlgeschlagen:', error);
+ throw error;
+ }
+ }
+
+ // Migrationsstatus prĂŒfen
+ async getMigrationStatus() {
+ try {
+ const dbStats = await GroupRepository.getStats();
+
+ // ZĂ€hle JSON-Dateien
+ const files = await fs.readdir(this.jsonDataPath);
+ const jsonFileCount = files.filter(file => file.endsWith('.json') && file !== 'groups.json').length;
+
+ return {
+ database: {
+ initialized: dbStats.totalGroups >= 0,
+ groups: dbStats.totalGroups,
+ images: dbStats.totalImages,
+ latestUpload: dbStats.latestUpload
+ },
+ json: {
+ files: jsonFileCount
+ },
+ migrated: dbStats.totalGroups > 0,
+ needsMigration: jsonFileCount > 0 && dbStats.totalGroups === 0
+ };
+ } catch (error) {
+ return {
+ database: { initialized: false, error: error.message },
+ json: { files: 0 },
+ migrated: false,
+ needsMigration: false
+ };
+ }
+ }
+}
+
+module.exports = new MigrationService();
\ No newline at end of file
diff --git a/backend/src/utils/groupStorage.js b/backend/src/utils/groupStorage.js
new file mode 100644
index 0000000..4cc5fb8
--- /dev/null
+++ b/backend/src/utils/groupStorage.js
@@ -0,0 +1,71 @@
+const fs = require('fs');
+const path = require('path');
+
+const GROUPS_FILE = path.join(__dirname, '../data/upload-groups.json');
+
+class GroupStorage {
+ // Initialisiere die JSON-Datei falls sie nicht existiert
+ static ensureDataFile() {
+ const dataDir = path.dirname(GROUPS_FILE);
+ if (!fs.existsSync(dataDir)) {
+ fs.mkdirSync(dataDir, { recursive: true });
+ }
+
+ if (!fs.existsSync(GROUPS_FILE)) {
+ fs.writeFileSync(GROUPS_FILE, JSON.stringify([], null, 2));
+ }
+ }
+
+ // Alle Gruppen aus der JSON-Datei lesen
+ static getAllGroups() {
+ this.ensureDataFile();
+ try {
+ const data = fs.readFileSync(GROUPS_FILE, 'utf8');
+ return JSON.parse(data);
+ } catch (error) {
+ console.error('Error reading groups file:', error);
+ return [];
+ }
+ }
+
+ // Einzelne Gruppe per ID finden
+ static getGroup(groupId) {
+ const groups = this.getAllGroups();
+ return groups.find(group => group.groupId === groupId);
+ }
+
+ // Neue Gruppe speichern
+ static saveGroup(group) {
+ this.ensureDataFile();
+ try {
+ const groups = this.getAllGroups();
+ groups.push(group.toJSON());
+ fs.writeFileSync(GROUPS_FILE, JSON.stringify(groups, null, 2));
+ return true;
+ } catch (error) {
+ console.error('Error saving group:', error);
+ return false;
+ }
+ }
+
+ // Gruppe löschen
+ static deleteGroup(groupId) {
+ try {
+ const groups = this.getAllGroups();
+ const filteredGroups = groups.filter(group => group.groupId !== groupId);
+ fs.writeFileSync(GROUPS_FILE, JSON.stringify(filteredGroups, null, 2));
+ return true;
+ } catch (error) {
+ console.error('Error deleting group:', error);
+ return false;
+ }
+ }
+
+ // Gruppen nach Datum sortiert abrufen (neueste zuerst)
+ static getGroupsSorted() {
+ const groups = this.getAllGroups();
+ return groups.sort((a, b) => new Date(b.uploadDate) - new Date(a.uploadDate));
+ }
+}
+
+module.exports = GroupStorage;
\ No newline at end of file
diff --git a/backend/src/utils/initiate-resources.js b/backend/src/utils/initiate-resources.js
new file mode 100644
index 0000000..398402b
--- /dev/null
+++ b/backend/src/utils/initiate-resources.js
@@ -0,0 +1,24 @@
+const { applyMiddlewares } = require('../middlewares');
+const { renderRoutes } = require('../routes/index');
+const removeImages = require('./remove-images');
+const fs = require('fs');
+const { endpoints } = require('../constants');
+
+
+const initiateResources = (app) => {
+ applyMiddlewares(app);
+
+ renderRoutes(app);
+
+ const dir = `${__dirname}/..` + endpoints.UPLOAD_STATIC_DIRECTORY
+
+ if (!fs.existsSync(dir)){
+ fs.mkdirSync(dir);
+ }
+
+ if(process.env.REMOVE_IMAGES === 'true') {
+ removeImages();
+ };
+};
+
+module.exports = initiateResources;
\ No newline at end of file
diff --git a/backend/src/utils/load-env.js b/backend/src/utils/load-env.js
new file mode 100644
index 0000000..dbf72d0
--- /dev/null
+++ b/backend/src/utils/load-env.js
@@ -0,0 +1,3 @@
+const path = require('path');
+
+require('dotenv').config({ path: path.join(__dirname, '../../.env')});
\ No newline at end of file
diff --git a/backend/src/utils/remove-images.js b/backend/src/utils/remove-images.js
new file mode 100644
index 0000000..0b8528c
--- /dev/null
+++ b/backend/src/utils/remove-images.js
@@ -0,0 +1,10 @@
+const findRemove = require('find-remove');
+const { time } = require('../constants');
+
+const removeImages = () => {
+ setInterval(findRemove.bind(this, __dirname + '/upload', {
+ age: {seconds: time.WEEK_1 / 1000 }, extensions: ['.jpg', '.jpeg', '.png', '.gif']
+ }), time.HOURS_24);
+};
+
+module.exports = removeImages;
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..1a4f234
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,41 @@
+services:
+ image-uploader-frontend:
+ image: gitea.lan.hobbyhimmel.de/hobbyhimmel/image-uploader-frontend:latest
+ ports:
+ - "80:80"
+ build:
+ context: ./frontend
+ dockerfile: ./Dockerfile
+ depends_on:
+ - "image-uploader-backend"
+ environment:
+ - "API_URL=http://image-uploader-backend:5000"
+ - "CLIENT_URL=http://localhost"
+ container_name: "image-uploader-frontend"
+ networks:
+ - npm-nw
+ - image-uploader-internal
+
+ image-uploader-backend:
+ image: gitea.lan.hobbyhimmel.de/hobbyhimmel/image-uploader-backend:latest
+ ports:
+ - "5000:5000"
+ build:
+ context: ./backend
+ dockerfile: ./Dockerfile
+ container_name: "image-uploader-backend"
+ networks:
+ - image-uploader-internal
+ volumes:
+ - app-data:/usr/src/app/src/upload
+ - app-data:/usr/src/app/src/data
+
+volumes:
+ app-data:
+ driver: local
+
+networks:
+ npm-nw:
+ external: true
+ image-uploader-internal:
+ driver: bridge
\ No newline at end of file
diff --git a/docs/images/example-video.gif b/docs/images/example-video.gif
new file mode 100644
index 0000000..44f3dcf
Binary files /dev/null and b/docs/images/example-video.gif differ
diff --git a/docs/images/logo.png b/docs/images/logo.png
new file mode 100644
index 0000000..0b6d11e
Binary files /dev/null and b/docs/images/logo.png differ
diff --git a/docs/images/screenshot.png b/docs/images/screenshot.png
new file mode 100644
index 0000000..3b58bcb
Binary files /dev/null and b/docs/images/screenshot.png differ
diff --git a/docs/images/vallezw-Image-Uploader-dark.png b/docs/images/vallezw-Image-Uploader-dark.png
new file mode 100644
index 0000000..fccff15
Binary files /dev/null and b/docs/images/vallezw-Image-Uploader-dark.png differ
diff --git a/docs/images/vallezw-Image-Uploader-light.png b/docs/images/vallezw-Image-Uploader-light.png
new file mode 100644
index 0000000..dcea2db
Binary files /dev/null and b/docs/images/vallezw-Image-Uploader-light.png differ
diff --git a/frontend/.env b/frontend/.env
new file mode 100644
index 0000000..2257bfe
--- /dev/null
+++ b/frontend/.env
@@ -0,0 +1,2 @@
+API_URL=http://localhost
+CLIENT_URL=http://localhost
\ No newline at end of file
diff --git a/frontend/.gitignore b/frontend/.gitignore
new file mode 100644
index 0000000..8a81052
--- /dev/null
+++ b/frontend/.gitignore
@@ -0,0 +1,25 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# production
+/build
+
+# misc
+.DS_Store
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+/public/env-config.js
+/env-config.js
\ No newline at end of file
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
new file mode 100644
index 0000000..e8b1c87
--- /dev/null
+++ b/frontend/Dockerfile
@@ -0,0 +1,38 @@
+# => Build container
+FROM node:18-alpine as build
+WORKDIR /app
+COPY package.json ./
+RUN npm install --silent
+COPY . ./
+ENV NODE_OPTIONS=--openssl-legacy-provider
+RUN npm run build
+
+# => Run container
+FROM nginx:stable-alpine
+
+# Nginx config
+RUN rm -rf /etc/nginx/conf.d
+COPY conf /etc/nginx
+
+# Copy htpasswd file for authentication
+COPY htpasswd /etc/nginx/.htpasswd
+
+# Static build
+COPY --from=build /app/build /usr/share/nginx/html
+
+# Default port exposure
+EXPOSE 80
+
+# Copy .env file and shell script to container
+WORKDIR /usr/share/nginx/html
+COPY ./env.sh ./
+COPY ./.env ./
+
+# Add bash
+RUN apk add --no-cache bash
+
+# Make our shell script executable
+RUN chmod +x env.sh
+
+# Start Nginx server
+CMD ["/bin/bash", "-c", "/usr/share/nginx/html/env.sh && nginx -g \"daemon off;\""]
\ No newline at end of file
diff --git a/frontend/README.md b/frontend/README.md
new file mode 100644
index 0000000..0c83cde
--- /dev/null
+++ b/frontend/README.md
@@ -0,0 +1,70 @@
+# Getting Started with Create React App
+
+This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
+
+## Available Scripts
+
+In the project directory, you can run:
+
+### `npm start`
+
+Runs the app in the development mode.\
+Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
+
+The page will reload if you make edits.\
+You will also see any lint errors in the console.
+
+### `npm test`
+
+Launches the test runner in the interactive watch mode.\
+See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
+
+### `npm run build`
+
+Builds the app for production to the `build` folder.\
+It correctly bundles React in production mode and optimizes the build for the best performance.
+
+The build is minified and the filenames include the hashes.\
+Your app is ready to be deployed!
+
+See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
+
+### `npm run eject`
+
+**Note: this is a one-way operation. Once you `eject`, you canât go back!**
+
+If you arenât satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
+
+Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point youâre on your own.
+
+You donât have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldnât feel obligated to use this feature. However we understand that this tool wouldnât be useful if you couldnât customize it when you are ready for it.
+
+## Learn More
+
+You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
+
+To learn React, check out the [React documentation](https://reactjs.org/).
+
+### Code Splitting
+
+This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
+
+### Analyzing the Bundle Size
+
+This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
+
+### Making a Progressive Web App
+
+This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
+
+### Advanced Configuration
+
+This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
+
+### Deployment
+
+This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
+
+### `npm run build` fails to minify
+
+This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
diff --git a/frontend/conf/conf.d/default.conf b/frontend/conf/conf.d/default.conf
new file mode 100644
index 0000000..c0ff033
--- /dev/null
+++ b/frontend/conf/conf.d/default.conf
@@ -0,0 +1,106 @@
+server {
+ listen 80;
+
+ # Allow large uploads (50MB)
+ client_max_body_size 50M;
+
+ # API proxy to image-uploader-backend service
+ location /upload {
+ proxy_pass http://image-uploader-backend:5000;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+
+ # Allow large uploads for API too
+ client_max_body_size 50M;
+ }
+
+ # API routes for new multi-upload features
+ location /api/upload {
+ proxy_pass http://image-uploader-backend:5000/upload;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+
+ # Allow large uploads for batch upload
+ client_max_body_size 100M;
+ }
+
+ # API - Groups (NO PASSWORD PROTECTION)
+ location /api/groups {
+ proxy_pass http://image-uploader-backend:5000/groups;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+
+ # Protected API - Moderation API routes (password protected) - must come before /groups
+ location /moderation/groups {
+ auth_basic "Restricted Area - Moderation API";
+ auth_basic_user_file /etc/nginx/.htpasswd;
+
+ proxy_pass http://image-uploader-backend:5000/moderation/groups;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+
+ # API - Groups API routes (NO PASSWORD PROTECTION)
+ location ~ ^/groups/[a-zA-Z0-9_-]+(/.*)?$ {
+ proxy_pass http://image-uploader-backend:5000;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+
+ location /download {
+ proxy_pass http://image-uploader-backend:5000;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+
+ # Frontend page - Groups overview (NO PASSWORD PROTECTION)
+ location /groups {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri $uri/ /index.html;
+ expires -1;
+
+ # Prevent indexing
+ add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive" always;
+ }
+
+ # Protected routes - Moderation (password protected)
+ location /moderation {
+ auth_basic "Restricted Area - Moderation";
+ auth_basic_user_file /etc/nginx/.htpasswd;
+
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri $uri/ /index.html;
+ expires -1;
+
+ # Prevent indexing
+ add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive" always;
+ }
+
+ # Frontend files
+ location / {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri $uri/ /index.html;
+ expires -1; # Set it to different value depending on your standard requirements
+ }
+
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root /usr/share/nginx/html;
+ }
+}
\ No newline at end of file
diff --git a/frontend/conf/conf.d/gzip.conf b/frontend/conf/conf.d/gzip.conf
new file mode 100644
index 0000000..4e46d9d
--- /dev/null
+++ b/frontend/conf/conf.d/gzip.conf
@@ -0,0 +1,24 @@
+gzip on;
+gzip_http_version 1.0;
+gzip_comp_level 5; # 1-9
+gzip_min_length 256;
+gzip_proxied any;
+gzip_vary on;
+
+# MIME-types
+gzip_types
+ application/atom+xml
+ application/javascript
+ application/json
+ application/rss+xml
+ application/vnd.ms-fontobject
+ application/x-font-ttf
+ application/x-web-app-manifest+json
+ application/xhtml+xml
+ application/xml
+ font/opentype
+ image/svg+xml
+ image/x-icon
+ text/css
+ text/plain
+ text/x-component;
diff --git a/frontend/env-config 2.js b/frontend/env-config 2.js
new file mode 100644
index 0000000..7e03887
--- /dev/null
+++ b/frontend/env-config 2.js
@@ -0,0 +1,4 @@
+window._env_ = {
+ API_URL: "http://localhost:5000",
+ CLIENT_URL: "http://localhost",
+}
diff --git a/frontend/env.sh b/frontend/env.sh
new file mode 100755
index 0000000..e8ce862
--- /dev/null
+++ b/frontend/env.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# Recreate config file
+rm -rf ./env-config.js
+touch ./env-config.js
+
+# Add assignment
+echo "window._env_ = {" >> ./env-config.js
+
+# Read each line in .env file
+# Each line represents key=value pairs
+while read -r line || [[ -n "$line" ]];
+do
+ # Split env variables by character `=`
+ if printf '%s\n' "$line" | grep -q -e '='; then
+ varname=$(printf '%s\n' "$line" | sed -e 's/=.*//')
+ varvalue=$(printf '%s\n' "$line" | sed -e 's/^[^=]*=//')
+ fi
+
+ # Read value of current variable if exists as Environment variable
+ value=$(printf '%s\n' "${!varname}")
+ # Otherwise use value from .env file
+ [[ -z $value ]] && value=${varvalue}
+
+ # Append configuration property to JS file
+ echo " $varname: \"$value\"," >> ./env-config.js
+done < .env
+
+echo "}" >> ./env-config.js
diff --git a/frontend/htpasswd b/frontend/htpasswd
new file mode 100644
index 0000000..34aef97
--- /dev/null
+++ b/frontend/htpasswd
@@ -0,0 +1 @@
+admin:$apr1$q2zv8h0V$ueMqnKIeQU6NN1YnHWNVe/
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
new file mode 100644
index 0000000..0864d46
--- /dev/null
+++ b/frontend/package-lock.json
@@ -0,0 +1,33428 @@
+{
+ "name": "frontend",
+ "version": "0.1.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "version": "0.1.0",
+ "dependencies": {
+ "@material-ui/core": "^4.11.3",
+ "@material-ui/icons": "^4.11.2",
+ "@testing-library/jest-dom": "^5.11.9",
+ "@testing-library/react": "^11.2.5",
+ "@testing-library/user-event": "^12.8.3",
+ "axios": "^0.21.1",
+ "react": "^17.0.1",
+ "react-code-blocks": "^0.0.8",
+ "react-dom": "^17.0.1",
+ "react-dropzone": "^11.3.1",
+ "react-lottie": "^1.2.3",
+ "react-router-dom": "^5.2.0",
+ "react-scripts": "4.0.3",
+ "sass": "^1.32.8",
+ "sweetalert2": "^10.15.6",
+ "web-vitals": "^1.1.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.13.8",
+ "license": "MIT"
+ },
+ "node_modules/@babel/core": {
+ "version": "7.12.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.12.1",
+ "@babel/helper-module-transforms": "^7.12.1",
+ "@babel/helpers": "^7.12.1",
+ "@babel/parser": "^7.12.3",
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.19",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.13.9",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.13.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-explode-assignable-expression": "^7.12.13",
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.13.8",
+ "@babel/helper-validator-option": "^7.12.17",
+ "browserslist": "^4.14.5",
+ "semver": "^6.3.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-member-expression-to-functions": "^7.13.0",
+ "@babel/helper-optimise-call-expression": "^7.12.13",
+ "@babel/helper-replace-supers": "^7.13.0",
+ "@babel/helper-split-export-declaration": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-create-regexp-features-plugin": {
+ "version": "7.12.17",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "regexpu-core": "^4.7.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.13.0",
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/traverse": "^7.13.0",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2",
+ "semver": "^6.1.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0-0"
+ }
+ },
+ "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-explode-assignable-expression": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.12.13",
+ "@babel/template": "^7.12.13",
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-get-function-arity": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-replace-supers": "^7.13.0",
+ "@babel/helper-simple-access": "^7.12.13",
+ "@babel/helper-split-export-declaration": "^7.12.13",
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "@babel/template": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0",
+ "lodash": "^4.17.19"
+ }
+ },
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.13.0",
+ "license": "MIT"
+ },
+ "node_modules/@babel/helper-remap-async-to-generator": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "@babel/helper-wrap-function": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.13.0",
+ "@babel/helper-optimise-call-expression": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.12.11",
+ "license": "MIT"
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.12.17",
+ "license": "MIT"
+ },
+ "node_modules/@babel/helper-wrap-function": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/template": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-remap-async-to-generator": "^7.13.0",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-class-properties": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-decorators": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-decorators": "^7.12.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-dynamic-import": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-json-strings": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-numeric-separator": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.13.8",
+ "@babel/helper-compilation-targets": "^7.13.8",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-optional-chaining": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-methods": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-decorators": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-flow": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-arrow-functions": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-to-generator": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-remap-async-to-generator": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoping": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-classes": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-optimise-call-expression": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-replace-supers": "^7.13.0",
+ "@babel/helper-split-export-declaration": "^7.12.13",
+ "globals": "^11.1.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-computed-properties": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-destructuring": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-duplicate-keys": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-flow-strip-types": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-flow": "^7.12.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-for-of": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-function-name": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-literals": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-member-expression-literals": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-amd": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-commonjs": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-simple-access": "^7.12.13",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-systemjs": {
+ "version": "7.13.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-hoist-variables": "^7.13.0",
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-umd": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-new-target": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-object-super": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/helper-replace-supers": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-property-literals": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-constant-elements": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-display-name": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx": {
+ "version": "7.12.17",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-syntax-jsx": "^7.12.13",
+ "@babel/types": "^7.12.17"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-development": {
+ "version": "7.12.17",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-transform-react-jsx": "^7.12.17"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-pure-annotations": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-regenerator": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-transform": "^0.14.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-reserved-words": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-runtime": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/@babel/plugin-transform-shorthand-properties": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-spread": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-sticky-regex": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-template-literals": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typeof-symbol": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typescript": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-typescript": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-escapes": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-regex": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-env": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.13.8",
+ "@babel/helper-compilation-targets": "^7.13.10",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-validator-option": "^7.12.17",
+ "@babel/plugin-proposal-async-generator-functions": "^7.13.8",
+ "@babel/plugin-proposal-class-properties": "^7.13.0",
+ "@babel/plugin-proposal-dynamic-import": "^7.13.8",
+ "@babel/plugin-proposal-export-namespace-from": "^7.12.13",
+ "@babel/plugin-proposal-json-strings": "^7.13.8",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
+ "@babel/plugin-proposal-numeric-separator": "^7.12.13",
+ "@babel/plugin-proposal-object-rest-spread": "^7.13.8",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.13.8",
+ "@babel/plugin-proposal-optional-chaining": "^7.13.8",
+ "@babel/plugin-proposal-private-methods": "^7.13.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.12.13",
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.12.13",
+ "@babel/plugin-transform-arrow-functions": "^7.13.0",
+ "@babel/plugin-transform-async-to-generator": "^7.13.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.12.13",
+ "@babel/plugin-transform-block-scoping": "^7.12.13",
+ "@babel/plugin-transform-classes": "^7.13.0",
+ "@babel/plugin-transform-computed-properties": "^7.13.0",
+ "@babel/plugin-transform-destructuring": "^7.13.0",
+ "@babel/plugin-transform-dotall-regex": "^7.12.13",
+ "@babel/plugin-transform-duplicate-keys": "^7.12.13",
+ "@babel/plugin-transform-exponentiation-operator": "^7.12.13",
+ "@babel/plugin-transform-for-of": "^7.13.0",
+ "@babel/plugin-transform-function-name": "^7.12.13",
+ "@babel/plugin-transform-literals": "^7.12.13",
+ "@babel/plugin-transform-member-expression-literals": "^7.12.13",
+ "@babel/plugin-transform-modules-amd": "^7.13.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.13.8",
+ "@babel/plugin-transform-modules-systemjs": "^7.13.8",
+ "@babel/plugin-transform-modules-umd": "^7.13.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13",
+ "@babel/plugin-transform-new-target": "^7.12.13",
+ "@babel/plugin-transform-object-super": "^7.12.13",
+ "@babel/plugin-transform-parameters": "^7.13.0",
+ "@babel/plugin-transform-property-literals": "^7.12.13",
+ "@babel/plugin-transform-regenerator": "^7.12.13",
+ "@babel/plugin-transform-reserved-words": "^7.12.13",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.13",
+ "@babel/plugin-transform-spread": "^7.13.0",
+ "@babel/plugin-transform-sticky-regex": "^7.12.13",
+ "@babel/plugin-transform-template-literals": "^7.13.0",
+ "@babel/plugin-transform-typeof-symbol": "^7.12.13",
+ "@babel/plugin-transform-unicode-escapes": "^7.12.13",
+ "@babel/plugin-transform-unicode-regex": "^7.12.13",
+ "@babel/preset-modules": "^0.1.4",
+ "@babel/types": "^7.13.0",
+ "babel-plugin-polyfill-corejs2": "^0.1.4",
+ "babel-plugin-polyfill-corejs3": "^0.1.3",
+ "babel-plugin-polyfill-regenerator": "^0.1.2",
+ "core-js-compat": "^3.9.0",
+ "semver": "^6.3.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-env/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/preset-modules": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-react": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-transform-react-display-name": "^7.12.13",
+ "@babel/plugin-transform-react-jsx": "^7.12.13",
+ "@babel/plugin-transform-react-jsx-development": "^7.12.12",
+ "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-typescript": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-transform-typescript": "^7.12.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "node_modules/@babel/runtime-corejs3": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "core-js-pure": "^3.0.0",
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@babel/parser": "^7.12.13",
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@babel/generator": "^7.13.0",
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-split-export-declaration": "^7.12.13",
+ "@babel/parser": "^7.13.0",
+ "@babel/types": "^7.13.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "license": "MIT"
+ },
+ "node_modules/@cnakazawa/watch": {
+ "version": "1.0.4",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "watch": "cli.js"
+ },
+ "engines": {
+ "node": ">=0.1.95"
+ }
+ },
+ "node_modules/@csstools/convert-colors": {
+ "version": "1.4.0",
+ "license": "CC0-1.0",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/@csstools/normalize.css": {
+ "version": "10.1.0",
+ "license": "CC0-1.0"
+ },
+ "node_modules/@emotion/hash": {
+ "version": "0.8.0",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "0.8.8",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/memoize": "0.7.4"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.7.4",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/stylis": {
+ "version": "0.8.5",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.7.5",
+ "license": "MIT"
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "0.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "12.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@hapi/address": {
+ "version": "2.1.4",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@hapi/bourne": {
+ "version": "1.3.2",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@hapi/hoek": {
+ "version": "8.5.1",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@hapi/joi": {
+ "version": "15.1.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
+ }
+ },
+ "node_modules/@hapi/topo": {
+ "version": "3.1.6",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@hapi/hoek": "^8.3.0"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/console/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/console/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/console/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/console/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@jest/console/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^26.6.2",
+ "@jest/reporters": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^26.6.2",
+ "jest-config": "^26.6.3",
+ "jest-haste-map": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-resolve": "^26.6.2",
+ "jest-resolve-dependencies": "^26.6.3",
+ "jest-runner": "^26.6.3",
+ "jest-runtime": "^26.6.3",
+ "jest-snapshot": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "jest-watcher": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "p-each-series": "^2.1.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/core/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/core/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/core/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/core/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@jest/core/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core/node_modules/jest-resolve": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/core/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@jest/core/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/environment": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "jest-mock": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "@sinonjs/fake-timers": "^6.0.1",
+ "@types/node": "*",
+ "jest-message-util": "^26.6.2",
+ "jest-mock": "^26.6.2",
+ "jest-util": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "expect": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^26.6.2",
+ "jest-resolve": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-worker": "^26.6.2",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^4.0.1",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ },
+ "optionalDependencies": {
+ "node-notifier": "^8.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@jest/reporters/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/jest-resolve": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/source-map/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/test-result": "^26.6.2",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^26.6.2",
+ "jest-runner": "^26.6.3",
+ "jest-runtime": "^26.6.3"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^26.6.2",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-util": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "pirates": "^4.0.1",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@jest/transform/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/@jest/types/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/types/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@jest/types/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/types/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@material-ui/core": {
+ "version": "4.11.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/styles": "^4.11.3",
+ "@material-ui/system": "^4.11.3",
+ "@material-ui/types": "^5.1.0",
+ "@material-ui/utils": "^4.11.2",
+ "@types/react-transition-group": "^4.2.0",
+ "clsx": "^1.0.4",
+ "hoist-non-react-statics": "^3.3.2",
+ "popper.js": "1.16.1-lts",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0",
+ "react-transition-group": "^4.4.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/material-ui"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/core/node_modules/popper.js": {
+ "version": "1.16.1-lts",
+ "license": "MIT"
+ },
+ "node_modules/@material-ui/icons": {
+ "version": "4.11.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "@material-ui/core": "^4.0.0",
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/styles": {
+ "version": "4.11.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "@emotion/hash": "^0.8.0",
+ "@material-ui/types": "^5.1.0",
+ "@material-ui/utils": "^4.11.2",
+ "clsx": "^1.0.4",
+ "csstype": "^2.5.2",
+ "hoist-non-react-statics": "^3.3.2",
+ "jss": "^10.5.1",
+ "jss-plugin-camel-case": "^10.5.1",
+ "jss-plugin-default-unit": "^10.5.1",
+ "jss-plugin-global": "^10.5.1",
+ "jss-plugin-nested": "^10.5.1",
+ "jss-plugin-props-sort": "^10.5.1",
+ "jss-plugin-rule-value-function": "^10.5.1",
+ "jss-plugin-vendor-prefixer": "^10.5.1",
+ "prop-types": "^15.7.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/material-ui"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/system": {
+ "version": "4.11.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/utils": "^4.11.2",
+ "csstype": "^2.5.2",
+ "prop-types": "^15.7.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/material-ui"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/types": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/utils": {
+ "version": "4.11.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.4",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.6",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.4",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@pmmmwh/react-refresh-webpack-plugin": {
+ "version": "0.4.3",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-html": "^0.0.7",
+ "error-stack-parser": "^2.0.6",
+ "html-entities": "^1.2.1",
+ "native-url": "^0.2.6",
+ "schema-utils": "^2.6.5",
+ "source-map": "^0.7.3"
+ },
+ "engines": {
+ "node": ">= 10.x"
+ },
+ "peerDependencies": {
+ "@types/webpack": "4.x",
+ "react-refresh": ">=0.8.3 <0.10.0",
+ "sockjs-client": "^1.4.0",
+ "type-fest": "^0.13.1",
+ "webpack": ">=4.43.0 <6.0.0",
+ "webpack-dev-server": "3.x",
+ "webpack-hot-middleware": "2.x",
+ "webpack-plugin-serve": "0.x || 1.x"
+ },
+ "peerDependenciesMeta": {
+ "@types/webpack": {
+ "optional": true
+ },
+ "sockjs-client": {
+ "optional": true
+ },
+ "type-fest": {
+ "optional": true
+ },
+ "webpack-dev-server": {
+ "optional": true
+ },
+ "webpack-hot-middleware": {
+ "optional": true
+ },
+ "webpack-plugin-serve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": {
+ "version": "0.7.3",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@rollup/plugin-node-resolve": {
+ "version": "7.1.3",
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^3.0.8",
+ "@types/resolve": "0.0.8",
+ "builtin-modules": "^3.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.14.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/@rollup/plugin-replace": {
+ "version": "2.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "magic-string": "^0.25.7"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0 || ^2.0.0"
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/@rollup/pluginutils/node_modules/@types/estree": {
+ "version": "0.0.39",
+ "license": "MIT"
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "1.8.2",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "6.0.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "node_modules/@surma/rollup-plugin-off-main-thread": {
+ "version": "1.4.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "ejs": "^2.6.1",
+ "magic-string": "^0.25.0"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-add-jsx-attribute": {
+ "version": "5.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-remove-jsx-attribute": {
+ "version": "5.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-svg-dynamic-title": {
+ "version": "5.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-svg-em-dimensions": {
+ "version": "5.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-transform-react-native-svg": {
+ "version": "5.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-transform-svg-component": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-preset": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
+ "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
+ "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
+ "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
+ "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
+ "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
+ "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
+ "@svgr/babel-plugin-transform-svg-component": "^5.5.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/core": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@svgr/plugin-jsx": "^5.5.0",
+ "camelcase": "^6.2.0",
+ "cosmiconfig": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/hast-util-to-babel-ast": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.12.6"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/plugin-jsx": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@svgr/babel-preset": "^5.5.0",
+ "@svgr/hast-util-to-babel-ast": "^5.5.0",
+ "svg-parser": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/plugin-svgo": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "cosmiconfig": "^7.0.0",
+ "deepmerge": "^4.2.2",
+ "svgo": "^1.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/webpack": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/plugin-transform-react-constant-elements": "^7.12.1",
+ "@babel/preset-env": "^7.12.1",
+ "@babel/preset-react": "^7.12.5",
+ "@svgr/core": "^5.5.0",
+ "@svgr/plugin-jsx": "^5.5.0",
+ "@svgr/plugin-svgo": "^5.5.0",
+ "loader-utils": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@testing-library/dom": {
+ "version": "7.30.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^4.2.0",
+ "aria-query": "^4.2.2",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.4",
+ "lz-string": "^1.4.4",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/@babel/runtime": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@testing-library/dom/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/jest-dom": {
+ "version": "5.11.9",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.9.2",
+ "@types/testing-library__jest-dom": "^5.9.1",
+ "aria-query": "^4.2.2",
+ "chalk": "^3.0.0",
+ "css": "^3.0.0",
+ "css.escape": "^1.5.1",
+ "lodash": "^4.17.15",
+ "redent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6",
+ "yarn": ">=1"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/chalk": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/css": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.6.0"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/source-map-resolve": {
+ "version": "0.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/react": {
+ "version": "11.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@testing-library/dom": "^7.28.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "react": "*",
+ "react-dom": "*"
+ }
+ },
+ "node_modules/@testing-library/react/node_modules/@babel/runtime": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "node_modules/@testing-library/user-event": {
+ "version": "12.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "@testing-library/dom": ">=7.21.4"
+ }
+ },
+ "node_modules/@testing-library/user-event/node_modules/@babel/runtime": {
+ "version": "7.13.10",
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "node_modules/@types/anymatch": {
+ "version": "1.3.1",
+ "license": "MIT"
+ },
+ "node_modules/@types/aria-query": {
+ "version": "4.2.1",
+ "license": "MIT"
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.1.12",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.11.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "node_modules/@types/eslint": {
+ "version": "7.2.7",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "0.0.46",
+ "license": "MIT"
+ },
+ "node_modules/@types/glob": {
+ "version": "7.1.3",
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/html-minifier-terser": {
+ "version": "5.1.1",
+ "license": "MIT"
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.3",
+ "license": "MIT"
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/jest": {
+ "version": "26.0.20",
+ "license": "MIT",
+ "dependencies": {
+ "jest-diff": "^26.0.0",
+ "pretty-format": "^26.0.0"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.7",
+ "license": "MIT"
+ },
+ "node_modules/@types/json5": {
+ "version": "0.0.29",
+ "license": "MIT"
+ },
+ "node_modules/@types/minimatch": {
+ "version": "3.0.3",
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "14.14.33",
+ "license": "MIT"
+ },
+ "node_modules/@types/normalize-package-data": {
+ "version": "2.4.0",
+ "license": "MIT"
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.0",
+ "license": "MIT"
+ },
+ "node_modules/@types/prettier": {
+ "version": "2.2.2",
+ "license": "MIT"
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.3",
+ "license": "MIT"
+ },
+ "node_modules/@types/q": {
+ "version": "1.5.4",
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "17.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-transition-group": {
+ "version": "4.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/react/node_modules/csstype": {
+ "version": "3.0.7",
+ "license": "MIT"
+ },
+ "node_modules/@types/resolve": {
+ "version": "0.0.8",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.1",
+ "license": "MIT"
+ },
+ "node_modules/@types/source-list-map": {
+ "version": "0.1.2",
+ "license": "MIT"
+ },
+ "node_modules/@types/stack-utils": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/@types/tapable": {
+ "version": "1.0.6",
+ "license": "MIT"
+ },
+ "node_modules/@types/testing-library__jest-dom": {
+ "version": "5.9.5",
+ "license": "MIT",
+ "dependencies": {
+ "@types/jest": "*"
+ }
+ },
+ "node_modules/@types/uglify-js": {
+ "version": "3.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "source-map": "^0.6.1"
+ }
+ },
+ "node_modules/@types/uglify-js/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@types/webpack": {
+ "version": "4.41.26",
+ "license": "MIT",
+ "dependencies": {
+ "@types/anymatch": "*",
+ "@types/node": "*",
+ "@types/tapable": "*",
+ "@types/uglify-js": "*",
+ "@types/webpack-sources": "*",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/@types/webpack-sources": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/source-list-map": "*",
+ "source-map": "^0.7.3"
+ }
+ },
+ "node_modules/@types/webpack-sources/node_modules/source-map": {
+ "version": "0.7.3",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@types/webpack/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@types/yargs": {
+ "version": "15.0.13",
+ "license": "MIT",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "20.2.0",
+ "license": "MIT"
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "4.17.0",
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": "4.17.0",
+ "@typescript-eslint/scope-manager": "4.17.0",
+ "debug": "^4.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "lodash": "^4.17.15",
+ "regexpp": "^3.0.0",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^4.0.0",
+ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils": {
+ "version": "4.17.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/scope-manager": "4.17.0",
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/typescript-estree": "4.17.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "4.17.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "4.17.0",
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/typescript-estree": "4.17.0",
+ "debug": "^4.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "4.17.0",
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/visitor-keys": "4.17.0"
+ },
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "4.17.0",
+ "license": "MIT",
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "4.17.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/visitor-keys": "4.17.0",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-glob": "^4.0.1",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "4.17.0",
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "4.17.0",
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/wast-parser": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.9.0",
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.9.0",
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.9.0",
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-code-frame": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/wast-printer": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-fsm": {
+ "version": "1.9.0",
+ "license": "ISC"
+ },
+ "node_modules/@webassemblyjs/helper-module-context": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.9.0",
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.9.0",
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/helper-wasm-section": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0",
+ "@webassemblyjs/wasm-opt": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "@webassemblyjs/wast-printer": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/ieee754": "1.9.0",
+ "@webassemblyjs/leb128": "1.9.0",
+ "@webassemblyjs/utf8": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-api-error": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/ieee754": "1.9.0",
+ "@webassemblyjs/leb128": "1.9.0",
+ "@webassemblyjs/utf8": "1.9.0"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-parser": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/floating-point-hex-parser": "1.9.0",
+ "@webassemblyjs/helper-api-error": "1.9.0",
+ "@webassemblyjs/helper-code-frame": "1.9.0",
+ "@webassemblyjs/helper-fsm": "1.9.0",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/wast-parser": "1.9.0",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "license": "Apache-2.0"
+ },
+ "node_modules/abab": {
+ "version": "2.0.5",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/accepts": {
+ "version": "1.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "7.4.1",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals": {
+ "version": "6.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/address": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/adjust-sourcemap-loader": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "regex-parser": "^2.2.11"
+ },
+ "engines": {
+ "node": ">=8.9"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-errors": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "peerDependencies": {
+ "ajv": ">=5.0.0"
+ }
+ },
+ "node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "license": "MIT",
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "node_modules/alphanum-sort": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.11.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-html": {
+ "version": "0.0.7",
+ "engines": [
+ "node >= 0.8.0"
+ ],
+ "license": "Apache-2.0",
+ "bin": {
+ "ansi-html": "bin/ansi-html"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.1",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "1.2.0",
+ "license": "ISC"
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/aria-query": {
+ "version": "4.2.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.10.2",
+ "@babel/runtime-corejs3": "^7.10.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/arity-n": {
+ "version": "1.0.4",
+ "license": "MIT"
+ },
+ "node_modules/arr-diff": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/arr-flatten": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/arr-union": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "2.1.2",
+ "license": "MIT"
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.3",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "get-intrinsic": "^1.1.1",
+ "is-string": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array-uniq": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array-unique": {
+ "version": "0.3.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.2.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.2.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/arrify": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/asap": {
+ "version": "2.0.6",
+ "license": "MIT"
+ },
+ "node_modules/asn1": {
+ "version": "0.2.4",
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "node_modules/asn1.js": {
+ "version": "5.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/asn1.js/node_modules/bn.js": {
+ "version": "4.12.0",
+ "license": "MIT"
+ },
+ "node_modules/assert": {
+ "version": "1.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ }
+ },
+ "node_modules/assert-plus": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/assert/node_modules/inherits": {
+ "version": "2.0.1",
+ "license": "ISC"
+ },
+ "node_modules/assert/node_modules/util": {
+ "version": "0.10.3",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "2.0.1"
+ }
+ },
+ "node_modules/assign-symbols": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ast-types-flow": {
+ "version": "0.0.7",
+ "license": "ISC"
+ },
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "2.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "node_modules/async-each": {
+ "version": "1.0.3",
+ "license": "MIT"
+ },
+ "node_modules/async-limiter": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "license": "MIT"
+ },
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/atob": {
+ "version": "2.1.2",
+ "license": "(MIT OR Apache-2.0)",
+ "bin": {
+ "atob": "bin/atob.js"
+ },
+ "engines": {
+ "node": ">= 4.5.0"
+ }
+ },
+ "node_modules/attr-accept": {
+ "version": "2.2.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/autoprefixer": {
+ "version": "9.8.6",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001109",
+ "colorette": "^1.2.1",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.32",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ }
+ },
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.11.0",
+ "license": "MIT"
+ },
+ "node_modules/axe-core": {
+ "version": "4.1.3",
+ "license": "MPL-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/axios": {
+ "version": "0.21.1",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.10.0"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "2.2.0",
+ "license": "Apache-2.0"
+ },
+ "node_modules/babel-eslint": {
+ "version": "10.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.7.0",
+ "@babel/traverse": "^7.7.0",
+ "@babel/types": "^7.7.0",
+ "eslint-visitor-keys": "^1.0.0",
+ "resolve": "^1.12.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "eslint": ">= 4.12.1"
+ }
+ },
+ "node_modules/babel-eslint/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/babel-extract-comments": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "babylon": "^6.18.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/babel-jest": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/babel__core": "^7.1.7",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-jest/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/babel-jest/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/babel-jest/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/babel-jest/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/babel-jest/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-jest/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-loader": {
+ "version": "8.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-cache-dir": "^2.1.0",
+ "loader-utils": "^1.4.0",
+ "mkdirp": "^0.5.3",
+ "pify": "^4.0.1",
+ "schema-utils": "^2.6.5"
+ },
+ "engines": {
+ "node": ">= 6.9"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "webpack": ">=2"
+ }
+ },
+ "node_modules/babel-loader/node_modules/json5": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/babel-loader/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "license": "MIT",
+ "dependencies": {
+ "object.assign": "^4.1.0"
+ }
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.0.0",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/babel-plugin-macros": {
+ "version": "2.8.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.7.2",
+ "cosmiconfig": "^6.0.0",
+ "resolve": "^1.12.0"
+ }
+ },
+ "node_modules/babel-plugin-macros/node_modules/cosmiconfig": {
+ "version": "6.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-named-asset-import": {
+ "version": "0.3.7",
+ "license": "MIT",
+ "peerDependencies": {
+ "@babel/core": "^7.1.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs2": {
+ "version": "0.1.10",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.13.0",
+ "@babel/helper-define-polyfill-provider": "^0.1.5",
+ "semver": "^6.1.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs3": {
+ "version": "0.1.7",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.1.5",
+ "core-js-compat": "^3.8.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.1.5"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-plugin-styled-components": {
+ "version": "1.12.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-module-imports": "^7.0.0",
+ "babel-plugin-syntax-jsx": "^6.18.0",
+ "lodash": "^4.17.11"
+ },
+ "peerDependencies": {
+ "styled-components": ">= 2"
+ }
+ },
+ "node_modules/babel-plugin-syntax-jsx": {
+ "version": "6.18.0",
+ "license": "MIT"
+ },
+ "node_modules/babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "license": "MIT"
+ },
+ "node_modules/babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "license": "MIT",
+ "dependencies": {
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "node_modules/babel-plugin-transform-react-remove-prop-types": {
+ "version": "0.4.24",
+ "license": "MIT"
+ },
+ "node_modules/babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-jest": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^26.6.2",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-react-app": {
+ "version": "10.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "7.12.3",
+ "@babel/plugin-proposal-class-properties": "7.12.1",
+ "@babel/plugin-proposal-decorators": "7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1",
+ "@babel/plugin-proposal-numeric-separator": "7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "7.12.1",
+ "@babel/plugin-transform-flow-strip-types": "7.12.1",
+ "@babel/plugin-transform-react-display-name": "7.12.1",
+ "@babel/plugin-transform-runtime": "7.12.1",
+ "@babel/preset-env": "7.12.1",
+ "@babel/preset-react": "7.12.1",
+ "@babel/preset-typescript": "7.12.1",
+ "@babel/runtime": "7.12.1",
+ "babel-plugin-macros": "2.8.0",
+ "babel-plugin-transform-react-remove-prop-types": "0.4.24"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-class-properties": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-numeric-separator": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-optional-chaining": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-display-name": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.12.1",
+ "@babel/helper-compilation-targets": "^7.12.1",
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-validator-option": "^7.12.1",
+ "@babel/plugin-proposal-async-generator-functions": "^7.12.1",
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
+ "@babel/plugin-proposal-dynamic-import": "^7.12.1",
+ "@babel/plugin-proposal-export-namespace-from": "^7.12.1",
+ "@babel/plugin-proposal-json-strings": "^7.12.1",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
+ "@babel/plugin-proposal-numeric-separator": "^7.12.1",
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.1",
+ "@babel/plugin-proposal-private-methods": "^7.12.1",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-class-properties": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+ "@babel/plugin-syntax-top-level-await": "^7.12.1",
+ "@babel/plugin-transform-arrow-functions": "^7.12.1",
+ "@babel/plugin-transform-async-to-generator": "^7.12.1",
+ "@babel/plugin-transform-block-scoped-functions": "^7.12.1",
+ "@babel/plugin-transform-block-scoping": "^7.12.1",
+ "@babel/plugin-transform-classes": "^7.12.1",
+ "@babel/plugin-transform-computed-properties": "^7.12.1",
+ "@babel/plugin-transform-destructuring": "^7.12.1",
+ "@babel/plugin-transform-dotall-regex": "^7.12.1",
+ "@babel/plugin-transform-duplicate-keys": "^7.12.1",
+ "@babel/plugin-transform-exponentiation-operator": "^7.12.1",
+ "@babel/plugin-transform-for-of": "^7.12.1",
+ "@babel/plugin-transform-function-name": "^7.12.1",
+ "@babel/plugin-transform-literals": "^7.12.1",
+ "@babel/plugin-transform-member-expression-literals": "^7.12.1",
+ "@babel/plugin-transform-modules-amd": "^7.12.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.12.1",
+ "@babel/plugin-transform-modules-systemjs": "^7.12.1",
+ "@babel/plugin-transform-modules-umd": "^7.12.1",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1",
+ "@babel/plugin-transform-new-target": "^7.12.1",
+ "@babel/plugin-transform-object-super": "^7.12.1",
+ "@babel/plugin-transform-parameters": "^7.12.1",
+ "@babel/plugin-transform-property-literals": "^7.12.1",
+ "@babel/plugin-transform-regenerator": "^7.12.1",
+ "@babel/plugin-transform-reserved-words": "^7.12.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.1",
+ "@babel/plugin-transform-spread": "^7.12.1",
+ "@babel/plugin-transform-sticky-regex": "^7.12.1",
+ "@babel/plugin-transform-template-literals": "^7.12.1",
+ "@babel/plugin-transform-typeof-symbol": "^7.12.1",
+ "@babel/plugin-transform-unicode-escapes": "^7.12.1",
+ "@babel/plugin-transform-unicode-regex": "^7.12.1",
+ "@babel/preset-modules": "^0.1.3",
+ "@babel/types": "^7.12.1",
+ "core-js-compat": "^3.6.2",
+ "semver": "^5.5.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-react": {
+ "version": "7.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-transform-react-display-name": "^7.12.1",
+ "@babel/plugin-transform-react-jsx": "^7.12.1",
+ "@babel/plugin-transform-react-jsx-development": "^7.12.1",
+ "@babel/plugin-transform-react-jsx-self": "^7.12.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.12.1",
+ "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-preset-react-app/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/babel-runtime": {
+ "version": "6.26.0",
+ "license": "MIT",
+ "dependencies": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "node_modules/babel-runtime/node_modules/core-js": {
+ "version": "2.6.12",
+ "hasInstallScript": true,
+ "license": "MIT"
+ },
+ "node_modules/babel-runtime/node_modules/regenerator-runtime": {
+ "version": "0.11.1",
+ "license": "MIT"
+ },
+ "node_modules/babylon": {
+ "version": "6.18.0",
+ "license": "MIT",
+ "bin": {
+ "babylon": "bin/babylon.js"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/base": {
+ "version": "0.11.2",
+ "license": "MIT",
+ "dependencies": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/base/node_modules/define-property": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/batch": {
+ "version": "0.6.1",
+ "license": "MIT"
+ },
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "node_modules/bfj": {
+ "version": "7.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "bluebird": "^3.5.5",
+ "check-types": "^11.1.1",
+ "hoopy": "^0.1.4",
+ "tryer": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bindings": {
+ "version": "1.5.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
+ "node_modules/bluebird": {
+ "version": "3.7.2",
+ "license": "MIT"
+ },
+ "node_modules/bn.js": {
+ "version": "5.2.0",
+ "license": "MIT"
+ },
+ "node_modules/body-parser": {
+ "version": "1.19.0",
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "3.1.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/body-parser/node_modules/bytes": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/body-parser/node_modules/qs": {
+ "version": "6.7.0",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/bonjour": {
+ "version": "3.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "array-flatten": "^2.1.0",
+ "deep-equal": "^1.0.1",
+ "dns-equal": "^1.0.0",
+ "dns-txt": "^2.0.2",
+ "multicast-dns": "^6.0.1",
+ "multicast-dns-service-types": "^1.1.0"
+ }
+ },
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "license": "ISC"
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/brorand": {
+ "version": "1.1.0",
+ "license": "MIT"
+ },
+ "node_modules/browser-process-hrtime": {
+ "version": "1.0.0",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/browserify-aes": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/browserify-cipher": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "node_modules/browserify-des": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "node_modules/browserify-rsa": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^5.0.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "node_modules/browserify-sign": {
+ "version": "4.2.1",
+ "license": "ISC",
+ "dependencies": {
+ "bn.js": "^5.1.1",
+ "browserify-rsa": "^4.0.1",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "elliptic": "^6.5.3",
+ "inherits": "^2.0.4",
+ "parse-asn1": "^5.1.5",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ }
+ },
+ "node_modules/browserify-sign/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/browserify-zlib": {
+ "version": "0.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "pako": "~1.0.5"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.16.3",
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001181",
+ "colorette": "^1.2.1",
+ "electron-to-chromium": "^1.3.649",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.70"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ }
+ },
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "4.9.2",
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/buffer-indexof": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/buffer-xor": {
+ "version": "1.0.3",
+ "license": "MIT"
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/builtin-status-codes": {
+ "version": "3.0.0",
+ "license": "MIT"
+ },
+ "node_modules/bytes": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/cacache": {
+ "version": "15.0.5",
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.0",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cacache/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cache-base": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/caller-callsite": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/caller-callsite/node_modules/callsites": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/caller-path": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "caller-callsite": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camel-case": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/camelize": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/caniuse-api": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001198",
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/capture-exit": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "rsvp": "^4.8.4"
+ },
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/case-sensitive-paths-webpack-plugin": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "license": "Apache-2.0"
+ },
+ "node_modules/chalk": {
+ "version": "2.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/character-entities": {
+ "version": "1.2.4",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-legacy": {
+ "version": "1.1.4",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-reference-invalid": {
+ "version": "1.1.4",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/check-types": {
+ "version": "11.1.2",
+ "license": "MIT"
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.5.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.1"
+ }
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/chrome-trace-event/node_modules/tslib": {
+ "version": "1.14.1",
+ "license": "0BSD"
+ },
+ "node_modules/ci-info": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/cipher-base": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "0.6.0",
+ "license": "MIT"
+ },
+ "node_modules/class-utils": {
+ "version": "0.3.6",
+ "license": "MIT",
+ "dependencies": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/define-property": {
+ "version": "0.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/kind-of": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/clean-css": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "source-map": "~0.6.0"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/clean-css/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/clipboard": {
+ "version": "2.0.8",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "6.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "node_modules/clsx": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/coa": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "@types/q": "^1.5.1",
+ "chalk": "^2.4.1",
+ "q": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/collection-visit": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/color": {
+ "version": "3.1.3",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.4"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.3",
+ "license": "MIT"
+ },
+ "node_modules/color-string": {
+ "version": "1.5.5",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "node_modules/colorette": {
+ "version": "1.2.2",
+ "license": "MIT"
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/comma-separated-tokens": {
+ "version": "1.0.8",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/commander": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/common-tags": {
+ "version": "1.8.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/component-emitter": {
+ "version": "1.3.0",
+ "license": "MIT"
+ },
+ "node_modules/compose-function": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "arity-n": "^1.0.4"
+ }
+ },
+ "node_modules/compressible": {
+ "version": "2.0.18",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": ">= 1.43.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/compression": {
+ "version": "1.7.4",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.16",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/compression/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/compression/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "license": "MIT"
+ },
+ "node_modules/concat-stream": {
+ "version": "1.6.2",
+ "engines": [
+ "node >= 0.8"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/concat-stream/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/concat-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/confusing-browser-globals": {
+ "version": "1.0.10",
+ "license": "MIT"
+ },
+ "node_modules/connect-history-api-fallback": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/console-browserify": {
+ "version": "1.2.0"
+ },
+ "node_modules/constants-browserify": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/contains-path": {
+ "version": "0.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.3",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "5.1.2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "license": "MIT"
+ },
+ "node_modules/copy-concurrently": {
+ "version": "1.0.5",
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^1.1.1",
+ "fs-write-stream-atomic": "^1.0.8",
+ "iferr": "^0.1.5",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.0"
+ }
+ },
+ "node_modules/copy-concurrently/node_modules/rimraf": {
+ "version": "2.7.1",
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/copy-descriptor": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/core-js": {
+ "version": "3.9.1",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-compat": {
+ "version": "3.9.1",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.16.3",
+ "semver": "7.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-compat/node_modules/semver": {
+ "version": "7.0.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/core-js-pure": {
+ "version": "3.9.1",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/create-ecdh": {
+ "version": "4.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.5.3"
+ }
+ },
+ "node_modules/create-ecdh/node_modules/bn.js": {
+ "version": "4.12.0",
+ "license": "MIT"
+ },
+ "node_modules/create-hash": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "node_modules/create-hmac": {
+ "version": "1.1.7",
+ "license": "MIT",
+ "dependencies": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/crypto-browserify": {
+ "version": "3.12.0",
+ "license": "MIT",
+ "dependencies": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/crypto-random-string": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/css": {
+ "version": "2.2.4",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.5.2",
+ "urix": "^0.1.0"
+ }
+ },
+ "node_modules/css-blank-pseudo": {
+ "version": "0.1.4",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.5"
+ },
+ "bin": {
+ "css-blank-pseudo": "cli.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/css-color-keywords": {
+ "version": "1.0.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/css-color-names": {
+ "version": "0.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/css-declaration-sorter": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.1",
+ "timsort": "^0.3.0"
+ },
+ "engines": {
+ "node": ">4"
+ }
+ },
+ "node_modules/css-has-pseudo": {
+ "version": "0.10.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.6",
+ "postcss-selector-parser": "^5.0.0-rc.4"
+ },
+ "bin": {
+ "css-has-pseudo": "cli.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/css-has-pseudo/node_modules/cssesc": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/css-loader": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "cssesc": "^3.0.0",
+ "icss-utils": "^4.1.1",
+ "loader-utils": "^2.0.0",
+ "postcss": "^7.0.32",
+ "postcss-modules-extract-imports": "^2.0.0",
+ "postcss-modules-local-by-default": "^3.0.3",
+ "postcss-modules-scope": "^2.2.0",
+ "postcss-modules-values": "^3.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^2.7.1",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.27.0 || ^5.0.0"
+ }
+ },
+ "node_modules/css-prefers-color-scheme": {
+ "version": "3.1.1",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.5"
+ },
+ "bin": {
+ "css-prefers-color-scheme": "cli.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/css-select": {
+ "version": "2.1.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^3.2.1",
+ "domutils": "^1.7.0",
+ "nth-check": "^1.0.2"
+ }
+ },
+ "node_modules/css-select-base-adapter": {
+ "version": "0.1.1",
+ "license": "MIT"
+ },
+ "node_modules/css-to-react-native": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "camelize": "^1.0.0",
+ "css-color-keywords": "^1.0.0",
+ "postcss-value-parser": "^4.0.2"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "1.0.0-alpha.37",
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.4",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/css-tree/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/css-vendor": {
+ "version": "2.0.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.8.3",
+ "is-in-browser": "^1.0.2"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "3.4.2",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css.escape": {
+ "version": "1.5.1",
+ "license": "MIT"
+ },
+ "node_modules/css/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cssdb": {
+ "version": "4.4.0",
+ "license": "CC0-1.0"
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cssnano": {
+ "version": "4.1.10",
+ "license": "MIT",
+ "dependencies": {
+ "cosmiconfig": "^5.0.0",
+ "cssnano-preset-default": "^4.0.7",
+ "is-resolvable": "^1.0.0",
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/cssnano-preset-default": {
+ "version": "4.0.7",
+ "license": "MIT",
+ "dependencies": {
+ "css-declaration-sorter": "^4.0.1",
+ "cssnano-util-raw-cache": "^4.0.1",
+ "postcss": "^7.0.0",
+ "postcss-calc": "^7.0.1",
+ "postcss-colormin": "^4.0.3",
+ "postcss-convert-values": "^4.0.1",
+ "postcss-discard-comments": "^4.0.2",
+ "postcss-discard-duplicates": "^4.0.2",
+ "postcss-discard-empty": "^4.0.1",
+ "postcss-discard-overridden": "^4.0.1",
+ "postcss-merge-longhand": "^4.0.11",
+ "postcss-merge-rules": "^4.0.3",
+ "postcss-minify-font-values": "^4.0.2",
+ "postcss-minify-gradients": "^4.0.2",
+ "postcss-minify-params": "^4.0.2",
+ "postcss-minify-selectors": "^4.0.2",
+ "postcss-normalize-charset": "^4.0.1",
+ "postcss-normalize-display-values": "^4.0.2",
+ "postcss-normalize-positions": "^4.0.2",
+ "postcss-normalize-repeat-style": "^4.0.2",
+ "postcss-normalize-string": "^4.0.2",
+ "postcss-normalize-timing-functions": "^4.0.2",
+ "postcss-normalize-unicode": "^4.0.1",
+ "postcss-normalize-url": "^4.0.1",
+ "postcss-normalize-whitespace": "^4.0.2",
+ "postcss-ordered-values": "^4.1.2",
+ "postcss-reduce-initial": "^4.0.3",
+ "postcss-reduce-transforms": "^4.0.2",
+ "postcss-svgo": "^4.0.2",
+ "postcss-unique-selectors": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/cssnano-util-get-arguments": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/cssnano-util-get-match": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/cssnano-util-raw-cache": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/cssnano-util-same-parent": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/cssnano/node_modules/cosmiconfig": {
+ "version": "5.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cssnano/node_modules/import-fresh": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cssnano/node_modules/parse-json": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cssnano/node_modules/resolve-from": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csso": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "css-tree": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/csso/node_modules/css-tree": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/csso/node_modules/mdn-data": {
+ "version": "2.0.14",
+ "license": "CC0-1.0"
+ },
+ "node_modules/csso/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cssom": {
+ "version": "0.4.4",
+ "license": "MIT"
+ },
+ "node_modules/cssstyle": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "license": "MIT"
+ },
+ "node_modules/csstype": {
+ "version": "2.6.16",
+ "license": "MIT"
+ },
+ "node_modules/cyclist": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/d": {
+ "version": "1.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "node_modules/damerau-levenshtein": {
+ "version": "1.0.6",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "license": "MIT",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/data-urls": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/decimal.js": {
+ "version": "10.2.1",
+ "license": "MIT"
+ },
+ "node_modules/decode-uri-component": {
+ "version": "0.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/dedent": {
+ "version": "0.7.0",
+ "license": "MIT"
+ },
+ "node_modules/deep-equal": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.3",
+ "license": "MIT"
+ },
+ "node_modules/deepmerge": {
+ "version": "4.2.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/default-gateway": {
+ "version": "4.2.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "execa": "^1.0.0",
+ "ip-regex": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/default-gateway/node_modules/cross-spawn": {
+ "version": "6.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "engines": {
+ "node": ">=4.8"
+ }
+ },
+ "node_modules/default-gateway/node_modules/execa": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/default-gateway/node_modules/get-stream": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/default-gateway/node_modules/is-stream": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/default-gateway/node_modules/npm-run-path": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/default-gateway/node_modules/path-key": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/default-gateway/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/default-gateway/node_modules/shebang-command": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/default-gateway/node_modules/shebang-regex": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/default-gateway/node_modules/which": {
+ "version": "1.3.1",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.1.3",
+ "license": "MIT",
+ "dependencies": {
+ "object-keys": "^1.0.12"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/define-property": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/del": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "@types/glob": "^7.1.1",
+ "globby": "^6.1.0",
+ "is-path-cwd": "^2.0.0",
+ "is-path-in-cwd": "^2.0.0",
+ "p-map": "^2.0.0",
+ "pify": "^4.0.1",
+ "rimraf": "^2.6.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/del/node_modules/array-union": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "array-uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/del/node_modules/globby": {
+ "version": "6.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/del/node_modules/globby/node_modules/pify": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/del/node_modules/p-map": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/del/node_modules/rimraf": {
+ "version": "2.7.1",
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegate": {
+ "version": "3.2.0",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/depd": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/des.js": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.0.4",
+ "license": "MIT"
+ },
+ "node_modules/detect-newline": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/detect-node": {
+ "version": "2.0.4",
+ "license": "ISC"
+ },
+ "node_modules/detect-port-alt": {
+ "version": "1.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "address": "^1.0.1",
+ "debug": "^2.6.0"
+ },
+ "bin": {
+ "detect": "bin/detect-port",
+ "detect-port": "bin/detect-port"
+ },
+ "engines": {
+ "node": ">= 4.2.1"
+ }
+ },
+ "node_modules/detect-port-alt/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/detect-port-alt/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/diff-sequences": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/diffie-hellman": {
+ "version": "5.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "node_modules/diffie-hellman/node_modules/bn.js": {
+ "version": "4.12.0",
+ "license": "MIT"
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dns-equal": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/dns-packet": {
+ "version": "1.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "ip": "^1.1.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/dns-txt": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-indexof": "^1.0.0"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-accessibility-api": {
+ "version": "0.5.4",
+ "license": "MIT"
+ },
+ "node_modules/dom-converter": {
+ "version": "0.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "utila": "~0.4"
+ }
+ },
+ "node_modules/dom-helpers": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/dom-helpers/node_modules/csstype": {
+ "version": "3.0.7",
+ "license": "MIT"
+ },
+ "node_modules/dom-serializer": {
+ "version": "0.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "entities": "^2.0.0"
+ }
+ },
+ "node_modules/dom-serializer/node_modules/domelementtype": {
+ "version": "2.1.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/domain-browser": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4",
+ "npm": ">=1.2"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "1.3.1",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/domexception": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domexception/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domhandler": {
+ "version": "2.4.2",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "domelementtype": "1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "1.7.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "node_modules/dot-case": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/dot-prop": {
+ "version": "5.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dot-prop/node_modules/is-obj": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "8.2.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "5.1.0",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "license": "MIT"
+ },
+ "node_modules/duplexify": {
+ "version": "3.7.1",
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "node_modules/duplexify/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/duplexify/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/ejs": {
+ "version": "2.7.4",
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.3.684",
+ "license": "ISC"
+ },
+ "node_modules/elliptic": {
+ "version": "6.5.4",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.11.9",
+ "brorand": "^1.1.0",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.1",
+ "inherits": "^2.0.4",
+ "minimalistic-assert": "^1.0.1",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "node_modules/elliptic/node_modules/bn.js": {
+ "version": "4.12.0",
+ "license": "MIT"
+ },
+ "node_modules/emittery": {
+ "version": "0.7.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "license": "MIT"
+ },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "4.5.0",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/enhanced-resolve/node_modules/memory-fs": {
+ "version": "0.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4.3.0 <5.0.0 || >=5.10"
+ }
+ },
+ "node_modules/enhanced-resolve/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/enhanced-resolve/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "license": "BSD-2-Clause",
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/errno": {
+ "version": "0.1.8",
+ "license": "MIT",
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/error-stack-parser": {
+ "version": "2.0.6",
+ "license": "MIT",
+ "dependencies": {
+ "stackframe": "^1.1.1"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.18.0",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.2",
+ "is-callable": "^1.2.3",
+ "is-negative-zero": "^2.0.1",
+ "is-regex": "^1.1.2",
+ "is-string": "^1.0.5",
+ "object-inspect": "^1.9.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.2",
+ "string.prototype.trimend": "^1.0.4",
+ "string.prototype.trimstart": "^1.0.4",
+ "unbox-primitive": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es5-ext": {
+ "version": "0.10.53",
+ "license": "ISC",
+ "dependencies": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "node_modules/es6-iterator": {
+ "version": "2.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/es6-symbol": {
+ "version": "3.1.3",
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "license": "MIT"
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "2.0.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/node_modules/estraverse": {
+ "version": "5.2.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/levn": {
+ "version": "0.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/optionator": {
+ "version": "0.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/type-check": {
+ "version": "0.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "7.21.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "7.12.11",
+ "@eslint/eslintrc": "^0.4.0",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash": "^4.17.20",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.4",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-react-app": {
+ "version": "6.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "confusing-browser-globals": "^1.0.10"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/eslint-plugin": "^4.0.0",
+ "@typescript-eslint/parser": "^4.0.0",
+ "babel-eslint": "^10.0.0",
+ "eslint": "^7.5.0",
+ "eslint-plugin-flowtype": "^5.2.0",
+ "eslint-plugin-import": "^2.22.0",
+ "eslint-plugin-jest": "^24.0.0",
+ "eslint-plugin-jsx-a11y": "^6.3.1",
+ "eslint-plugin-react": "^7.20.3",
+ "eslint-plugin-react-hooks": "^4.0.8",
+ "eslint-plugin-testing-library": "^3.9.0"
+ },
+ "peerDependenciesMeta": {
+ "eslint-plugin-jest": {
+ "optional": true
+ },
+ "eslint-plugin-testing-library": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-import-resolver-node": {
+ "version": "0.3.4",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^2.6.9",
+ "resolve": "^1.13.1"
+ }
+ },
+ "node_modules/eslint-import-resolver-node/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/eslint-import-resolver-node/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/eslint-module-utils": {
+ "version": "2.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^2.6.9",
+ "pkg-dir": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/eslint-plugin-flowtype": {
+ "version": "5.3.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "lodash": "^4.17.15",
+ "string-natural-compare": "^3.0.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^7.1.0"
+ }
+ },
+ "node_modules/eslint-plugin-import": {
+ "version": "2.22.1",
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.1",
+ "array.prototype.flat": "^1.2.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.4",
+ "eslint-module-utils": "^2.6.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.1",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.17.0",
+ "tsconfig-paths": "^3.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/doctrine": {
+ "version": "1.5.0",
+ "dependencies": {
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/eslint-plugin-jest": {
+ "version": "24.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-plugin-jsx-a11y": {
+ "version": "6.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.11.2",
+ "aria-query": "^4.2.2",
+ "array-includes": "^3.1.1",
+ "ast-types-flow": "^0.0.7",
+ "axe-core": "^4.0.2",
+ "axobject-query": "^2.2.0",
+ "damerau-levenshtein": "^1.0.6",
+ "emoji-regex": "^9.0.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^3.1.0",
+ "language-tags": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7"
+ }
+ },
+ "node_modules/eslint-plugin-react": {
+ "version": "7.22.0",
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.1",
+ "array.prototype.flatmap": "^1.2.3",
+ "doctrine": "^2.1.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "object.entries": "^1.1.2",
+ "object.fromentries": "^2.0.2",
+ "object.values": "^1.1.1",
+ "prop-types": "^15.7.2",
+ "resolve": "^1.18.1",
+ "string.prototype.matchall": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7"
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/doctrine": {
+ "version": "2.1.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library": {
+ "version": "3.10.1",
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": "^3.10.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "eslint": "^5 || ^6 || ^7"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/experimental-utils": {
+ "version": "3.10.1",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/types": "3.10.1",
+ "@typescript-eslint/typescript-estree": "3.10.1",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": {
+ "version": "3.10.1",
+ "license": "MIT",
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "3.10.1",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "3.10.1",
+ "@typescript-eslint/visitor-keys": "3.10.1",
+ "debug": "^4.1.1",
+ "glob": "^7.1.6",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.15",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "3.10.1",
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "2.0.0",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-webpack-plugin": {
+ "version": "2.5.2",
+ "license": "MIT",
+ "dependencies": {
+ "@types/eslint": "^7.2.6",
+ "arrify": "^2.0.1",
+ "jest-worker": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "schema-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0",
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/schema-utils": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/eslint/node_modules/@babel/code-frame": {
+ "version": "7.12.11",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "node_modules/eslint/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/eslint/node_modules/globals": {
+ "version": "12.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/espree": {
+ "version": "7.3.1",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.4.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esquery/node_modules/estraverse": {
+ "version": "5.2.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.2.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "license": "MIT"
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/eventsource": {
+ "version": "1.0.7",
+ "license": "MIT",
+ "dependencies": {
+ "original": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/evp_bytestokey": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "node_modules/exec-sh": {
+ "version": "0.3.4",
+ "license": "MIT"
+ },
+ "node_modules/execa": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expand-brackets": {
+ "version": "2.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/define-property": {
+ "version": "0.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/kind-of": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/expect": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "ansi-styles": "^4.0.0",
+ "jest-get-type": "^26.3.0",
+ "jest-matcher-utils": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-regex-util": "^26.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/expect/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/expect/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/expect/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/express": {
+ "version": "4.17.1",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "~1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "~1.0.4",
+ "cookie": "0.4.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.1.2",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.5",
+ "qs": "6.7.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "~1.5.0",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express/node_modules/array-flatten": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/express/node_modules/qs": {
+ "version": "6.7.0",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/ext": {
+ "version": "1.4.0",
+ "license": "ISC",
+ "dependencies": {
+ "type": "^2.0.0"
+ }
+ },
+ "node_modules/ext/node_modules/type": {
+ "version": "2.5.0",
+ "license": "ISC"
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "license": "MIT"
+ },
+ "node_modules/extend-shallow": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob": {
+ "version": "2.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob/node_modules/define-property": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "license": "MIT"
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "license": "MIT"
+ },
+ "node_modules/fastq": {
+ "version": "1.11.0",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fault": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "format": "^0.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/faye-websocket": {
+ "version": "0.11.3",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "websocket-driver": ">=0.5.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/fb-watchman": {
+ "version": "2.0.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "node_modules/figgy-pudding": {
+ "version": "3.5.2",
+ "license": "ISC"
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/file-loader": {
+ "version": "6.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/file-loader/node_modules/schema-utils": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/file-selector": {
+ "version": "0.2.4",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/file-uri-to-path": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/filesize": {
+ "version": "6.1.0",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/find-cache-dir": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/find-up": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/locate-path": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/p-locate": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/path-exists": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/pkg-dir": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.1.1",
+ "license": "ISC"
+ },
+ "node_modules/flatten": {
+ "version": "1.0.3",
+ "license": "MIT"
+ },
+ "node_modules/flush-write-stream": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.3.6"
+ }
+ },
+ "node_modules/flush-write-stream/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/flush-write-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.13.3",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/for-in": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin": {
+ "version": "4.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.5.5",
+ "chalk": "^2.4.1",
+ "micromatch": "^3.1.10",
+ "minimatch": "^3.0.4",
+ "semver": "^5.6.0",
+ "tapable": "^1.0.0",
+ "worker-rpc": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6.11.5",
+ "yarn": ">=1.0.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": {
+ "version": "2.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": {
+ "version": "3.1.10",
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "2.3.3",
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/format": {
+ "version": "0.2.2",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fragment-cache": {
+ "version": "0.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "map-cache": "^0.2.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/from2": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "node_modules/from2/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/from2/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "9.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "license": "ISC",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "iferr": "^0.1.5",
+ "imurmurhash": "^0.1.4",
+ "readable-stream": "1 || 2"
+ }
+ },
+ "node_modules/fs-write-stream-atomic/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/fs-write-stream-atomic/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "license": "ISC"
+ },
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-value": {
+ "version": "2.0.6",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "license": "MIT",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.1.6",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/global-modules": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "global-prefix": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix/node_modules/which": {
+ "version": "1.3.1",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby/node_modules/ignore": {
+ "version": "5.1.8",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/good-listener": {
+ "version": "1.2.2",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.6",
+ "license": "ISC"
+ },
+ "node_modules/growly": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/gzip-size": {
+ "version": "5.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "duplexer": "^0.1.1",
+ "pify": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/handle-thing": {
+ "version": "2.0.1",
+ "license": "MIT"
+ },
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/harmony-reflect": {
+ "version": "1.6.1",
+ "license": "(Apache-2.0 OR MPL-1.1)"
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-value": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/is-number": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/kind-of": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/hash-base": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/hash-base/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/hash.js": {
+ "version": "1.1.7",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "node_modules/hast-util-parse-selector": {
+ "version": "2.2.5",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hastscript": {
+ "version": "5.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "comma-separated-tokens": "^1.0.0",
+ "hast-util-parse-selector": "^2.0.0",
+ "property-information": "^5.0.0",
+ "space-separated-tokens": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/hex-color-regex": {
+ "version": "1.1.0",
+ "license": "MIT"
+ },
+ "node_modules/highlight.js": {
+ "version": "9.15.10",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/history": {
+ "version": "4.10.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.1.2",
+ "loose-envify": "^1.2.0",
+ "resolve-pathname": "^3.0.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0",
+ "value-equal": "^1.0.1"
+ }
+ },
+ "node_modules/hmac-drbg": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/hoist-non-react-statics/node_modules/react-is": {
+ "version": "16.13.1",
+ "license": "MIT"
+ },
+ "node_modules/hoopy": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/hosted-git-info": {
+ "version": "2.8.8",
+ "license": "ISC"
+ },
+ "node_modules/hpack.js": {
+ "version": "2.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "node_modules/hpack.js/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/hpack.js/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/hsl-regex": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/hsla-regex": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/html-comment-regex": {
+ "version": "1.1.2",
+ "license": "MIT"
+ },
+ "node_modules/html-encoding-sniffer": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-encoding": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/html-entities": {
+ "version": "1.4.0",
+ "license": "MIT"
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "license": "MIT"
+ },
+ "node_modules/html-minifier-terser": {
+ "version": "5.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "camel-case": "^4.1.1",
+ "clean-css": "^4.2.3",
+ "commander": "^4.1.1",
+ "he": "^1.2.0",
+ "param-case": "^3.0.3",
+ "relateurl": "^0.2.7",
+ "terser": "^4.6.3"
+ },
+ "bin": {
+ "html-minifier-terser": "cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/html-webpack-plugin": {
+ "version": "4.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/html-minifier-terser": "^5.0.0",
+ "@types/tapable": "^1.0.5",
+ "@types/webpack": "^4.41.8",
+ "html-minifier-terser": "^5.0.1",
+ "loader-utils": "^1.2.3",
+ "lodash": "^4.17.15",
+ "pretty-error": "^2.1.1",
+ "tapable": "^1.1.3",
+ "util.promisify": "1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/html-webpack-plugin/node_modules/json5": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/html-webpack-plugin/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/htmlparser2": {
+ "version": "3.10.1",
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^1.3.1",
+ "domhandler": "^2.3.0",
+ "domutils": "^1.5.1",
+ "entities": "^1.1.1",
+ "inherits": "^2.0.1",
+ "readable-stream": "^3.1.1"
+ }
+ },
+ "node_modules/htmlparser2/node_modules/entities": {
+ "version": "1.1.2",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/http-deceiver": {
+ "version": "1.2.7",
+ "license": "MIT"
+ },
+ "node_modules/http-errors": {
+ "version": "1.7.2",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/http-errors/node_modules/inherits": {
+ "version": "2.0.3",
+ "license": "ISC"
+ },
+ "node_modules/http-parser-js": {
+ "version": "0.5.3",
+ "license": "MIT"
+ },
+ "node_modules/http-proxy": {
+ "version": "1.18.1",
+ "license": "MIT",
+ "dependencies": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/http-proxy-middleware": {
+ "version": "0.19.1",
+ "license": "MIT",
+ "dependencies": {
+ "http-proxy": "^1.17.0",
+ "is-glob": "^4.0.0",
+ "lodash": "^4.17.11",
+ "micromatch": "^3.1.10"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/braces": {
+ "version": "2.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/fill-range": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/is-number": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/micromatch": {
+ "version": "3.1.10",
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-proxy-middleware/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-signature": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
+ }
+ },
+ "node_modules/https-browserify": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/human-signals": {
+ "version": "1.1.1",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8.12.0"
+ }
+ },
+ "node_modules/hyphenate-style-name": {
+ "version": "1.0.4",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/icss-utils": {
+ "version": "4.1.1",
+ "license": "ISC",
+ "dependencies": {
+ "postcss": "^7.0.14"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/identity-obj-proxy": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "harmony-reflect": "^1.4.6"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/iferr": {
+ "version": "0.1.5",
+ "license": "MIT"
+ },
+ "node_modules/ignore": {
+ "version": "4.0.6",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immer": {
+ "version": "8.0.1",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
+ }
+ },
+ "node_modules/import-cwd": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "import-from": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-from": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "resolve-from": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-from/node_modules/resolve-from": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/import-local/node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indefinite-observable": {
+ "version": "2.0.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "symbol-observable": "1.2.0"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/indexes-of": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/infer-owner": {
+ "version": "1.0.4",
+ "license": "ISC"
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "license": "ISC"
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "license": "ISC"
+ },
+ "node_modules/internal-ip": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "default-gateway": "^4.2.0",
+ "ipaddr.js": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.1.0",
+ "has": "^1.0.3",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/ip": {
+ "version": "1.1.5",
+ "license": "MIT"
+ },
+ "node_modules/ip-regex": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-absolute-url": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-accessor-descriptor": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-alphabetical": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-alphanumerical": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-arguments": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "license": "MIT"
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-buffer": {
+ "version": "1.1.6",
+ "license": "MIT"
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-ci": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ci-info": "^2.0.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "node_modules/is-color-stop": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "css-color-names": "^0.0.4",
+ "hex-color-regex": "^1.1.0",
+ "hsl-regex": "^1.0.0",
+ "hsla-regex": "^1.0.0",
+ "rgb-regex": "^1.0.1",
+ "rgba-regex": "^1.0.0"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-data-descriptor": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-decimal": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-descriptor": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-directory": {
+ "version": "0.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extendable": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-hexadecimal": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-in-browser": {
+ "version": "1.1.3",
+ "license": "MIT"
+ },
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-path-cwd": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-path-in-cwd": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-path-inside": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "path-is-inside": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-symbols": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-regexp": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-resolvable": {
+ "version": "1.1.0",
+ "license": "ISC"
+ },
+ "node_modules/is-root": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-svg": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "html-comment-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/is-windows": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "license": "ISC"
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "license": "MIT"
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.0.0",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/make-dir": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.0.2",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest": {
+ "version": "26.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/core": "^26.6.0",
+ "import-local": "^3.0.2",
+ "jest-cli": "^26.6.0"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-changed-files": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "execa": "^4.0.0",
+ "throat": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "26.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^26.6.0",
+ "@jest/test-result": "^26.6.0",
+ "@jest/types": "^26.6.0",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "expect": "^26.6.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^26.6.0",
+ "jest-matcher-utils": "^26.6.0",
+ "jest-message-util": "^26.6.0",
+ "jest-runner": "^26.6.0",
+ "jest-runtime": "^26.6.0",
+ "jest-snapshot": "^26.6.0",
+ "jest-util": "^26.6.0",
+ "pretty-format": "^26.6.0",
+ "stack-utils": "^2.0.2",
+ "throat": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-circus/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-circus/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-circus/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-circus/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-circus/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-cli": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/core": "^26.6.3",
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "is-ci": "^2.0.0",
+ "jest-config": "^26.6.3",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "prompts": "^2.0.1",
+ "yargs": "^15.4.1"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-cli/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-cli/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-cli/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-cli/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-cli/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-cli/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^26.6.3",
+ "@jest/types": "^26.6.2",
+ "babel-jest": "^26.6.3",
+ "chalk": "^4.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-environment-jsdom": "^26.6.2",
+ "jest-environment-node": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "jest-jasmine2": "^26.6.3",
+ "jest-regex-util": "^26.0.0",
+ "jest-resolve": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ },
+ "peerDependencies": {
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-config/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-config/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-config/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-config/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/jest-resolve": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-config/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-config/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-diff/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-diff/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-diff/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-docblock": {
+ "version": "26.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^26.3.0",
+ "jest-util": "^26.6.2",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-each/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-each/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-each/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-each/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-each/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-each/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-environment-jsdom": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^26.6.2",
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "jest-mock": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jsdom": "^16.4.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-environment-node": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^26.6.2",
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "jest-mock": "^26.6.2",
+ "jest-util": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "26.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-haste-map": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "@types/graceful-fs": "^4.1.2",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-regex-util": "^26.0.0",
+ "jest-serializer": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-worker": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "sane": "^4.0.3",
+ "walker": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.1.2"
+ }
+ },
+ "node_modules/jest-jasmine2": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^26.6.2",
+ "@jest/source-map": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "expect": "^26.6.2",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^26.6.2",
+ "jest-matcher-utils": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-runtime": "^26.6.3",
+ "jest-snapshot": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "pretty-format": "^26.6.2",
+ "throat": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-jasmine2/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-leak-detector": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-matcher-utils": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-matcher-utils/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-message-util": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "@jest/types": "^26.6.2",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^26.6.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-message-util/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-mock": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-regex-util": {
+ "version": "26.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-resolve": {
+ "version": "26.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.0",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.17.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-resolve-dependencies": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-snapshot": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-resolve/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^26.6.2",
+ "@jest/environment": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.7.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^26.6.3",
+ "jest-docblock": "^26.0.0",
+ "jest-haste-map": "^26.6.2",
+ "jest-leak-detector": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-resolve": "^26.6.2",
+ "jest-runtime": "^26.6.3",
+ "jest-util": "^26.6.2",
+ "jest-worker": "^26.6.2",
+ "source-map-support": "^0.5.6",
+ "throat": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-runner/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-runner/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-runner/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-runner/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/jest-resolve": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-runner/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-runner/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "26.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^26.6.2",
+ "@jest/environment": "^26.6.2",
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/globals": "^26.6.2",
+ "@jest/source-map": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^0.6.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^26.6.3",
+ "jest-haste-map": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-mock": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-resolve": "^26.6.2",
+ "jest-snapshot": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^15.4.1"
+ },
+ "bin": {
+ "jest-runtime": "bin/jest-runtime.js"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-runtime/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/jest-resolve": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-serializer": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "graceful-fs": "^4.2.4"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-snapshot": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0",
+ "@jest/types": "^26.6.2",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/prettier": "^2.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^26.6.2",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "jest-haste-map": "^26.6.2",
+ "jest-matcher-utils": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-resolve": "^26.6.2",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^26.6.2",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-snapshot/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/jest-resolve": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/type-fest": {
+ "version": "0.8.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-util": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "micromatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-util/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-util/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-util/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-util/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "camelcase": "^6.0.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^26.3.0",
+ "leven": "^3.1.0",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-validate/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-validate/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-validate/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-validate/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-validate/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watch-typeahead": {
+ "version": "0.6.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.3.1",
+ "chalk": "^4.0.0",
+ "jest-regex-util": "^26.0.0",
+ "jest-watcher": "^26.3.0",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "jest": "^26.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-watch-typeahead/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watcher": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "jest-util": "^26.6.2",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/chalk": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-watcher/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "license": "MIT"
+ },
+ "node_modules/jsdom": {
+ "version": "16.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "abab": "^2.0.5",
+ "acorn": "^8.0.5",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "is-potential-custom-element-name": "^1.0.0",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "request": "^2.88.2",
+ "request-promise-native": "^1.0.9",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0",
+ "ws": "^7.4.4",
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsdom/node_modules/acorn": {
+ "version": "8.1.0",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-parse-better-errors": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "license": "MIT"
+ },
+ "node_modules/json-schema": {
+ "version": "0.2.3"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "license": "ISC"
+ },
+ "node_modules/json3": {
+ "version": "3.3.3",
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsprim": {
+ "version": "1.4.1",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "node_modules/jss": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "indefinite-observable": "^2.0.1",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/jss"
+ }
+ },
+ "node_modules/jss-plugin-camel-case": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "hyphenate-style-name": "^1.0.3",
+ "jss": "10.5.1"
+ }
+ },
+ "node_modules/jss-plugin-default-unit": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1"
+ }
+ },
+ "node_modules/jss-plugin-global": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1"
+ }
+ },
+ "node_modules/jss-plugin-nested": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "node_modules/jss-plugin-props-sort": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1"
+ }
+ },
+ "node_modules/jss-plugin-rule-value-function": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "node_modules/jss-plugin-vendor-prefixer": {
+ "version": "10.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "css-vendor": "^2.0.8",
+ "jss": "10.5.1"
+ }
+ },
+ "node_modules/jss/node_modules/csstype": {
+ "version": "3.0.7",
+ "license": "MIT"
+ },
+ "node_modules/jsx-ast-utils": {
+ "version": "3.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.2",
+ "object.assign": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/killable": {
+ "version": "1.0.1",
+ "license": "ISC"
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/klona": {
+ "version": "2.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/language-subtag-registry": {
+ "version": "0.3.21",
+ "license": "ODC-By-1.0"
+ },
+ "node_modules/language-tags": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "language-subtag-registry": "~0.3.2"
+ }
+ },
+ "node_modules/last-call-webpack-plugin": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.5",
+ "webpack-sources": "^1.1.0"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.1.6",
+ "license": "MIT"
+ },
+ "node_modules/load-json-file": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/load-json-file/node_modules/parse-json": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/load-json-file/node_modules/pify": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/load-json-file/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/loader-runner": {
+ "version": "2.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.3.0 <5.0.0 || >=5.10"
+ }
+ },
+ "node_modules/loader-utils": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "license": "MIT"
+ },
+ "node_modules/lodash._reinterpolate": {
+ "version": "3.0.0",
+ "license": "MIT"
+ },
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "license": "MIT"
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "license": "MIT"
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "license": "MIT"
+ },
+ "node_modules/lodash.template": {
+ "version": "4.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "node_modules/lodash.templatesettings": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "node_modules/lodash.uniq": {
+ "version": "4.5.0",
+ "license": "MIT"
+ },
+ "node_modules/loglevel": {
+ "version": "1.7.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6.0"
+ },
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/loglevel"
+ }
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lottie-web": {
+ "version": "5.7.7",
+ "license": "MIT"
+ },
+ "node_modules/lower-case": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/lowlight": {
+ "version": "1.12.1",
+ "license": "MIT",
+ "dependencies": {
+ "fault": "^1.0.2",
+ "highlight.js": "~9.15.0"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lz-string": {
+ "version": "1.4.4",
+ "license": "WTFPL",
+ "bin": {
+ "lz-string": "bin/bin.js"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.25.7",
+ "license": "MIT",
+ "dependencies": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.11",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "tmpl": "1.0.x"
+ }
+ },
+ "node_modules/map-cache": {
+ "version": "0.2.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/map-visit": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/md5.js": {
+ "version": "1.3.5",
+ "license": "MIT",
+ "dependencies": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.4",
+ "license": "CC0-1.0"
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-fs": {
+ "version": "0.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "node_modules/memory-fs/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/memory-fs/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/microevent.ts": {
+ "version": "0.1.1",
+ "license": "MIT"
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/miller-rabin": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ },
+ "bin": {
+ "miller-rabin": "bin/miller-rabin"
+ }
+ },
+ "node_modules/miller-rabin/node_modules/bn.js": {
+ "version": "4.12.0",
+ "license": "MIT"
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.46.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.29",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.46.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/min-indent": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mini-create-react-context": {
+ "version": "0.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.12.1",
+ "tiny-warning": "^1.0.3"
+ },
+ "peerDependencies": {
+ "prop-types": "^15.0.0",
+ "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/mini-css-extract-plugin": {
+ "version": "0.11.3",
+ "license": "MIT",
+ "dependencies": {
+ "loader-utils": "^1.1.0",
+ "normalize-url": "1.9.1",
+ "schema-utils": "^1.0.0",
+ "webpack-sources": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.4.0 || ^5.0.0"
+ }
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/json5": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/minimalistic-assert": {
+ "version": "1.0.1",
+ "license": "ISC"
+ },
+ "node_modules/minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/minimatch": {
+ "version": "3.0.4",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.5",
+ "license": "MIT"
+ },
+ "node_modules/minipass": {
+ "version": "3.1.3",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-collect": {
+ "version": "1.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mississippi": {
+ "version": "3.0.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "concat-stream": "^1.5.0",
+ "duplexify": "^3.4.2",
+ "end-of-stream": "^1.1.0",
+ "flush-write-stream": "^1.0.0",
+ "from2": "^2.1.0",
+ "parallel-transform": "^1.1.0",
+ "pump": "^3.0.0",
+ "pumpify": "^1.3.3",
+ "stream-each": "^1.1.0",
+ "through2": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mixin-deep": {
+ "version": "1.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.5",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/move-concurrently": {
+ "version": "1.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^1.1.1",
+ "copy-concurrently": "^1.0.0",
+ "fs-write-stream-atomic": "^1.0.8",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.3"
+ }
+ },
+ "node_modules/move-concurrently/node_modules/rimraf": {
+ "version": "2.7.1",
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "license": "MIT"
+ },
+ "node_modules/multicast-dns": {
+ "version": "6.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "dns-packet": "^1.3.1",
+ "thunky": "^1.0.2"
+ },
+ "bin": {
+ "multicast-dns": "cli.js"
+ }
+ },
+ "node_modules/multicast-dns-service-types": {
+ "version": "1.1.0",
+ "license": "MIT"
+ },
+ "node_modules/nan": {
+ "version": "2.14.2",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/nanoid": {
+ "version": "3.1.20",
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/nanomatch": {
+ "version": "1.2.13",
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/native-url": {
+ "version": "0.2.6",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "querystring": "^0.2.0"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "license": "MIT"
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "license": "MIT"
+ },
+ "node_modules/next-tick": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/nice-try": {
+ "version": "1.0.5",
+ "license": "MIT"
+ },
+ "node_modules/no-case": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/node-forge": {
+ "version": "0.10.0",
+ "license": "(BSD-3-Clause OR GPL-2.0)",
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "license": "MIT"
+ },
+ "node_modules/node-libs-browser": {
+ "version": "2.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.1",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "^1.0.1"
+ }
+ },
+ "node_modules/node-libs-browser/node_modules/punycode": {
+ "version": "1.4.1",
+ "license": "MIT"
+ },
+ "node_modules/node-libs-browser/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/node-libs-browser/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/node-modules-regexp": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/node-notifier": {
+ "version": "8.0.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "growly": "^1.3.0",
+ "is-wsl": "^2.2.0",
+ "semver": "^7.3.2",
+ "shellwords": "^0.1.1",
+ "uuid": "^8.3.0",
+ "which": "^2.0.2"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "1.1.71",
+ "license": "MIT"
+ },
+ "node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/normalize-package-data/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-range": {
+ "version": "0.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-url": {
+ "version": "1.9.1",
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": "^4.0.1",
+ "prepend-http": "^1.0.0",
+ "query-string": "^4.1.0",
+ "sort-keys": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "1.0.2",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "~1.0.0"
+ }
+ },
+ "node_modules/num2fraction": {
+ "version": "1.2.2",
+ "license": "MIT"
+ },
+ "node_modules/nwsapi": {
+ "version": "2.2.0",
+ "license": "MIT"
+ },
+ "node_modules/oauth-sign": {
+ "version": "0.9.0",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy": {
+ "version": "0.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/define-property": {
+ "version": "0.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.9.0",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-is": {
+ "version": "1.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object-visit": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.entries": {
+ "version": "1.1.3",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "has": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.fromentries": {
+ "version": "2.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "has": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.getownpropertydescriptors": {
+ "version": "2.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.pick": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.1.3",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "has": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/obuf": {
+ "version": "1.1.2",
+ "license": "MIT"
+ },
+ "node_modules/on-finished": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/on-headers": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "7.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0",
+ "is-wsl": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/opn": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-wsl": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/opn/node_modules/is-wsl": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/optimize-css-assets-webpack-plugin": {
+ "version": "5.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano": "^4.1.10",
+ "last-call-webpack-plugin": "^3.0.0"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/original": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "url-parse": "^1.4.3"
+ }
+ },
+ "node_modules/os-browserify": {
+ "version": "0.3.0",
+ "license": "MIT"
+ },
+ "node_modules/p-each-series": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-finally": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-retry": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pako": {
+ "version": "1.0.11",
+ "license": "(MIT AND Zlib)"
+ },
+ "node_modules/parallel-transform": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "cyclist": "^1.0.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.1.5"
+ }
+ },
+ "node_modules/parallel-transform/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/parallel-transform/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/param-case": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-asn1": {
+ "version": "5.1.6",
+ "license": "ISC",
+ "dependencies": {
+ "asn1.js": "^5.2.0",
+ "browserify-aes": "^1.0.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "node_modules/parse-entities": {
+ "version": "1.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "6.0.1",
+ "license": "MIT"
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/pascal-case": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/pascalcase": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-browserify": {
+ "version": "0.0.1",
+ "license": "MIT"
+ },
+ "node_modules/path-dirname": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-is-inside": {
+ "version": "1.0.2",
+ "license": "(WTFPL OR MIT)"
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.6",
+ "license": "MIT"
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "license": "MIT"
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pbkdf2": {
+ "version": "3.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "license": "MIT"
+ },
+ "node_modules/picomatch": {
+ "version": "2.2.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pinkie": {
+ "version": "2.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pinkie-promise": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "pinkie": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "node-modules-regexp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-limit": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-try": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/path-exists": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-up": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-up/node_modules/find-up": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pkg-up/node_modules/locate-path": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pkg-up/node_modules/p-locate": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pnp-webpack-plugin": {
+ "version": "1.6.4",
+ "license": "MIT",
+ "dependencies": {
+ "ts-pnp": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/portfinder": {
+ "version": "1.0.28",
+ "license": "MIT",
+ "dependencies": {
+ "async": "^2.6.2",
+ "debug": "^3.1.1",
+ "mkdirp": "^0.5.5"
+ },
+ "engines": {
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/portfinder/node_modules/debug": {
+ "version": "3.2.7",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/posix-character-classes": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "7.0.35",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/postcss-attribute-case-insensitive": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^6.0.2"
+ }
+ },
+ "node_modules/postcss-browser-comments": {
+ "version": "3.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "browserslist": "^4"
+ }
+ },
+ "node_modules/postcss-calc": {
+ "version": "7.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.27",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.0.2"
+ }
+ },
+ "node_modules/postcss-color-functional-notation": {
+ "version": "2.0.1",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-color-gray": {
+ "version": "5.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.5",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-color-hex-alpha": {
+ "version": "5.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.14",
+ "postcss-values-parser": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-color-mod-function": {
+ "version": "3.0.3",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-color-rebeccapurple": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-colormin": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "color": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-colormin/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-convert-values": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-convert-values/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-custom-media": {
+ "version": "7.0.8",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.14"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-custom-properties": {
+ "version": "8.0.11",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.17",
+ "postcss-values-parser": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-custom-selectors": {
+ "version": "5.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-custom-selectors/node_modules/cssesc": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-dir-pseudo-class": {
+ "version": "5.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-discard-comments": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-discard-duplicates": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-discard-empty": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-discard-overridden": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-double-position-gradients": {
+ "version": "1.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.5",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-env-function": {
+ "version": "2.0.2",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-flexbugs-fixes": {
+ "version": "4.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.26"
+ }
+ },
+ "node_modules/postcss-focus-visible": {
+ "version": "4.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-focus-within": {
+ "version": "3.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-font-variant": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "node_modules/postcss-gap-properties": {
+ "version": "2.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-image-set-function": {
+ "version": "3.0.1",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-initial": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "lodash.template": "^4.5.0",
+ "postcss": "^7.0.2"
+ }
+ },
+ "node_modules/postcss-lab-function": {
+ "version": "2.0.1",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "2.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "cosmiconfig": "^5.0.0",
+ "import-cwd": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/cosmiconfig": {
+ "version": "5.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/import-fresh": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/parse-json": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/resolve-from": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-loader": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "loader-utils": "^1.1.0",
+ "postcss": "^7.0.0",
+ "postcss-load-config": "^2.0.0",
+ "schema-utils": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/postcss-loader/node_modules/json5": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/postcss-loader/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/postcss-loader/node_modules/schema-utils": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/postcss-logical": {
+ "version": "3.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-media-minmax": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-merge-longhand": {
+ "version": "4.0.11",
+ "license": "MIT",
+ "dependencies": {
+ "css-color-names": "0.0.4",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "stylehacks": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-merge-rules": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-util-same-parent": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0",
+ "vendors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "dot-prop": "^5.2.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/postcss-minify-font-values": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-minify-gradients": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "is-color-stop": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-minify-params": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "alphanum-sort": "^1.0.0",
+ "browserslist": "^4.0.0",
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "uniqs": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-minify-params/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-minify-selectors": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "alphanum-sort": "^1.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "dot-prop": "^5.2.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/postcss-modules-extract-imports": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "postcss": "^7.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/postcss-modules-local-by-default": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "icss-utils": "^4.1.1",
+ "postcss": "^7.0.32",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/postcss-modules-scope": {
+ "version": "2.2.0",
+ "license": "ISC",
+ "dependencies": {
+ "postcss": "^7.0.6",
+ "postcss-selector-parser": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/postcss-modules-values": {
+ "version": "3.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "icss-utils": "^4.0.0",
+ "postcss": "^7.0.6"
+ }
+ },
+ "node_modules/postcss-nesting": {
+ "version": "7.0.1",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-normalize": {
+ "version": "8.0.1",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "@csstools/normalize.css": "^10.1.0",
+ "browserslist": "^4.6.2",
+ "postcss": "^7.0.17",
+ "postcss-browser-comments": "^3.0.0",
+ "sanitize.css": "^10.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/postcss-normalize-charset": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-display-values": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-normalize-positions": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-normalize-repeat-style": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-normalize-string": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-normalize-timing-functions": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-normalize-unicode": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-normalize-url": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-url/node_modules/normalize-url": {
+ "version": "3.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-normalize-whitespace": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-ordered-values": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-overflow-shorthand": {
+ "version": "2.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-page-break": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "node_modules/postcss-place": {
+ "version": "4.0.1",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-preset-env": {
+ "version": "6.7.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "autoprefixer": "^9.6.1",
+ "browserslist": "^4.6.4",
+ "caniuse-lite": "^1.0.30000981",
+ "css-blank-pseudo": "^0.1.4",
+ "css-has-pseudo": "^0.10.0",
+ "css-prefers-color-scheme": "^3.1.1",
+ "cssdb": "^4.4.0",
+ "postcss": "^7.0.17",
+ "postcss-attribute-case-insensitive": "^4.0.1",
+ "postcss-color-functional-notation": "^2.0.1",
+ "postcss-color-gray": "^5.0.0",
+ "postcss-color-hex-alpha": "^5.0.3",
+ "postcss-color-mod-function": "^3.0.3",
+ "postcss-color-rebeccapurple": "^4.0.1",
+ "postcss-custom-media": "^7.0.8",
+ "postcss-custom-properties": "^8.0.11",
+ "postcss-custom-selectors": "^5.1.2",
+ "postcss-dir-pseudo-class": "^5.0.0",
+ "postcss-double-position-gradients": "^1.0.0",
+ "postcss-env-function": "^2.0.2",
+ "postcss-focus-visible": "^4.0.0",
+ "postcss-focus-within": "^3.0.0",
+ "postcss-font-variant": "^4.0.0",
+ "postcss-gap-properties": "^2.0.0",
+ "postcss-image-set-function": "^3.0.1",
+ "postcss-initial": "^3.0.0",
+ "postcss-lab-function": "^2.0.1",
+ "postcss-logical": "^3.0.0",
+ "postcss-media-minmax": "^4.0.0",
+ "postcss-nesting": "^7.0.0",
+ "postcss-overflow-shorthand": "^2.0.0",
+ "postcss-page-break": "^2.0.0",
+ "postcss-place": "^4.0.1",
+ "postcss-pseudo-class-any-link": "^6.0.0",
+ "postcss-replace-overflow-wrap": "^3.0.0",
+ "postcss-selector-matches": "^4.0.0",
+ "postcss-selector-not": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-pseudo-class-any-link": {
+ "version": "6.0.0",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-reduce-initial": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-reduce-transforms": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-util-get-match": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-replace-overflow-wrap": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "node_modules/postcss-safe-parser": {
+ "version": "5.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/postcss-safe-parser/node_modules/postcss": {
+ "version": "8.2.8",
+ "license": "MIT",
+ "dependencies": {
+ "colorette": "^1.2.2",
+ "nanoid": "^3.1.20",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/postcss-safe-parser/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-selector-matches": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "postcss": "^7.0.2"
+ }
+ },
+ "node_modules/postcss-selector-not": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "postcss": "^7.0.2"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-svgo": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-svg": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "svgo": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-svgo/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "license": "MIT"
+ },
+ "node_modules/postcss-unique-selectors": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "alphanum-sort": "^1.0.0",
+ "postcss": "^7.0.0",
+ "uniqs": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.1.0",
+ "license": "MIT"
+ },
+ "node_modules/postcss-values-parser": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=6.14.4"
+ }
+ },
+ "node_modules/postcss/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss/node_modules/supports-color": {
+ "version": "6.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prepend-http": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pretty-error": {
+ "version": "2.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.20",
+ "renderkid": "^2.0.4"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^17.0.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/pretty-format/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/prismjs": {
+ "version": "1.23.0",
+ "license": "MIT",
+ "optionalDependencies": {
+ "clipboard": "^2.0.0"
+ }
+ },
+ "node_modules/process": {
+ "version": "0.11.10",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "license": "MIT"
+ },
+ "node_modules/progress": {
+ "version": "2.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/promise": {
+ "version": "8.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "asap": "~2.0.6"
+ }
+ },
+ "node_modules/promise-inflight": {
+ "version": "1.0.1",
+ "license": "ISC"
+ },
+ "node_modules/prompts": {
+ "version": "2.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.7.2",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ }
+ },
+ "node_modules/prop-types/node_modules/react-is": {
+ "version": "16.13.1",
+ "license": "MIT"
+ },
+ "node_modules/property-information": {
+ "version": "5.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "xtend": "^4.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.6",
+ "license": "MIT",
+ "dependencies": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/prr": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/psl": {
+ "version": "1.8.0",
+ "license": "MIT"
+ },
+ "node_modules/public-encrypt": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "node_modules/public-encrypt/node_modules/bn.js": {
+ "version": "4.12.0",
+ "license": "MIT"
+ },
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/pumpify": {
+ "version": "1.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
+ }
+ },
+ "node_modules/pumpify/node_modules/pump": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/q": {
+ "version": "1.5.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6.0",
+ "teleport": ">=0.2.0"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.5.2",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/query-string": {
+ "version": "4.3.4",
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/querystring": {
+ "version": "0.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/querystring-es3": {
+ "version": "0.2.1",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "license": "MIT"
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.2",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/raf": {
+ "version": "3.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "performance-now": "^2.1.0"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/randomfill": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/raw-body/node_modules/bytes": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/react": {
+ "version": "17.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-app-polyfill": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "core-js": "^3.6.5",
+ "object-assign": "^4.1.1",
+ "promise": "^8.1.0",
+ "raf": "^3.4.1",
+ "regenerator-runtime": "^0.13.7",
+ "whatwg-fetch": "^3.4.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/react-code-blocks": {
+ "version": "0.0.8",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.10.4",
+ "react-syntax-highlighter": "^12.2.1",
+ "styled-components": "^5.1.1",
+ "tslib": "^2.0.0",
+ "typescript-plugin-styled-components": "^1.4.4"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "react": ">=16"
+ }
+ },
+ "node_modules/react-dev-utils": {
+ "version": "11.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "7.10.4",
+ "address": "1.1.2",
+ "browserslist": "4.14.2",
+ "chalk": "2.4.2",
+ "cross-spawn": "7.0.3",
+ "detect-port-alt": "1.1.6",
+ "escape-string-regexp": "2.0.0",
+ "filesize": "6.1.0",
+ "find-up": "4.1.0",
+ "fork-ts-checker-webpack-plugin": "4.1.6",
+ "global-modules": "2.0.0",
+ "globby": "11.0.1",
+ "gzip-size": "5.1.1",
+ "immer": "8.0.1",
+ "is-root": "2.1.0",
+ "loader-utils": "2.0.0",
+ "open": "^7.0.2",
+ "pkg-up": "3.1.0",
+ "prompts": "2.4.0",
+ "react-error-overlay": "^6.0.9",
+ "recursive-readdir": "2.2.2",
+ "shell-quote": "1.7.2",
+ "strip-ansi": "6.0.0",
+ "text-table": "0.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/browserslist": {
+ "version": "4.14.2",
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001125",
+ "electron-to-chromium": "^1.3.564",
+ "escalade": "^3.0.2",
+ "node-releases": "^1.1.61"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ },
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/globby": {
+ "version": "11.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/ignore": {
+ "version": "5.1.8",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "17.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "scheduler": "^0.20.1"
+ },
+ "peerDependencies": {
+ "react": "17.0.1"
+ }
+ },
+ "node_modules/react-dropzone": {
+ "version": "11.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "attr-accept": "^2.2.1",
+ "file-selector": "^0.2.2",
+ "prop-types": "^15.7.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8"
+ }
+ },
+ "node_modules/react-error-overlay": {
+ "version": "6.0.9",
+ "license": "MIT"
+ },
+ "node_modules/react-is": {
+ "version": "17.0.1",
+ "license": "MIT"
+ },
+ "node_modules/react-lottie": {
+ "version": "1.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "babel-runtime": "^6.26.0",
+ "lottie-web": "^5.1.3"
+ },
+ "engines": {
+ "npm": "^3.0.0"
+ },
+ "peerDependencies": {
+ "react": "^0.14.7 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/react-refresh": {
+ "version": "0.8.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-router": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "hoist-non-react-statics": "^3.1.0",
+ "loose-envify": "^1.3.1",
+ "mini-create-react-context": "^0.4.0",
+ "path-to-regexp": "^1.7.0",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.6.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=15"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "loose-envify": "^1.3.1",
+ "prop-types": "^15.6.2",
+ "react-router": "5.2.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=15"
+ }
+ },
+ "node_modules/react-router/node_modules/isarray": {
+ "version": "0.0.1",
+ "license": "MIT"
+ },
+ "node_modules/react-router/node_modules/path-to-regexp": {
+ "version": "1.8.0",
+ "license": "MIT",
+ "dependencies": {
+ "isarray": "0.0.1"
+ }
+ },
+ "node_modules/react-router/node_modules/react-is": {
+ "version": "16.13.1",
+ "license": "MIT"
+ },
+ "node_modules/react-scripts": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "7.12.3",
+ "@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
+ "@svgr/webpack": "5.5.0",
+ "@typescript-eslint/eslint-plugin": "^4.5.0",
+ "@typescript-eslint/parser": "^4.5.0",
+ "babel-eslint": "^10.1.0",
+ "babel-jest": "^26.6.0",
+ "babel-loader": "8.1.0",
+ "babel-plugin-named-asset-import": "^0.3.7",
+ "babel-preset-react-app": "^10.0.0",
+ "bfj": "^7.0.2",
+ "camelcase": "^6.1.0",
+ "case-sensitive-paths-webpack-plugin": "2.3.0",
+ "css-loader": "4.3.0",
+ "dotenv": "8.2.0",
+ "dotenv-expand": "5.1.0",
+ "eslint": "^7.11.0",
+ "eslint-config-react-app": "^6.0.0",
+ "eslint-plugin-flowtype": "^5.2.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-jest": "^24.1.0",
+ "eslint-plugin-jsx-a11y": "^6.3.1",
+ "eslint-plugin-react": "^7.21.5",
+ "eslint-plugin-react-hooks": "^4.2.0",
+ "eslint-plugin-testing-library": "^3.9.2",
+ "eslint-webpack-plugin": "^2.5.2",
+ "file-loader": "6.1.1",
+ "fs-extra": "^9.0.1",
+ "html-webpack-plugin": "4.5.0",
+ "identity-obj-proxy": "3.0.0",
+ "jest": "26.6.0",
+ "jest-circus": "26.6.0",
+ "jest-resolve": "26.6.0",
+ "jest-watch-typeahead": "0.6.1",
+ "mini-css-extract-plugin": "0.11.3",
+ "optimize-css-assets-webpack-plugin": "5.0.4",
+ "pnp-webpack-plugin": "1.6.4",
+ "postcss-flexbugs-fixes": "4.2.1",
+ "postcss-loader": "3.0.0",
+ "postcss-normalize": "8.0.1",
+ "postcss-preset-env": "6.7.0",
+ "postcss-safe-parser": "5.0.2",
+ "prompts": "2.4.0",
+ "react-app-polyfill": "^2.0.0",
+ "react-dev-utils": "^11.0.3",
+ "react-refresh": "^0.8.3",
+ "resolve": "1.18.1",
+ "resolve-url-loader": "^3.1.2",
+ "sass-loader": "^10.0.5",
+ "semver": "7.3.2",
+ "style-loader": "1.3.0",
+ "terser-webpack-plugin": "4.2.3",
+ "ts-pnp": "1.2.0",
+ "url-loader": "4.1.1",
+ "webpack": "4.44.2",
+ "webpack-dev-server": "3.11.1",
+ "webpack-manifest-plugin": "2.2.0",
+ "workbox-webpack-plugin": "5.1.4"
+ },
+ "bin": {
+ "react-scripts": "bin/react-scripts.js"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.1.3"
+ },
+ "peerDependencies": {
+ "react": ">= 16",
+ "typescript": "^3.2.1 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-syntax-highlighter": {
+ "version": "12.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "~9.15.1",
+ "lowlight": "1.12.1",
+ "prismjs": "^1.8.4",
+ "refractor": "^2.4.1"
+ },
+ "peerDependencies": {
+ "react": ">= 0.14.0"
+ }
+ },
+ "node_modules/react-transition-group": {
+ "version": "4.4.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
+ },
+ "node_modules/read-pkg": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-try": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/path-type": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/pify": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/recursive-readdir": {
+ "version": "2.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "minimatch": "3.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/redent": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/refractor": {
+ "version": "2.10.1",
+ "license": "MIT",
+ "dependencies": {
+ "hastscript": "^5.0.0",
+ "parse-entities": "^1.1.2",
+ "prismjs": "~1.17.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/refractor/node_modules/prismjs": {
+ "version": "1.17.1",
+ "license": "MIT",
+ "optionalDependencies": {
+ "clipboard": "^2.0.0"
+ }
+ },
+ "node_modules/regenerate": {
+ "version": "1.4.2",
+ "license": "MIT"
+ },
+ "node_modules/regenerate-unicode-properties": {
+ "version": "8.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "regenerate": "^1.4.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.13.7",
+ "license": "MIT"
+ },
+ "node_modules/regenerator-transform": {
+ "version": "0.14.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.8.4"
+ }
+ },
+ "node_modules/regex-not": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/regex-parser": {
+ "version": "2.2.11",
+ "license": "MIT"
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexpp": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/regexpu-core": {
+ "version": "4.7.1",
+ "license": "MIT",
+ "dependencies": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regjsgen": {
+ "version": "0.5.2",
+ "license": "MIT"
+ },
+ "node_modules/regjsparser": {
+ "version": "0.6.7",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "jsesc": "~0.5.0"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "0.5.0",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ }
+ },
+ "node_modules/relateurl": {
+ "version": "0.2.7",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/remove-trailing-separator": {
+ "version": "1.1.0",
+ "license": "ISC"
+ },
+ "node_modules/renderkid": {
+ "version": "2.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "css-select": "^2.0.2",
+ "dom-converter": "^0.2",
+ "htmlparser2": "^3.10.1",
+ "lodash": "^4.17.20",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "node_modules/renderkid/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/renderkid/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/repeat-element": {
+ "version": "1.1.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/repeat-string": {
+ "version": "1.6.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/request": {
+ "version": "2.88.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/request-promise-core": {
+ "version": "1.1.4",
+ "license": "ISC",
+ "dependencies": {
+ "lodash": "^4.17.19"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "peerDependencies": {
+ "request": "^2.34"
+ }
+ },
+ "node_modules/request-promise-native": {
+ "version": "1.0.9",
+ "license": "ISC",
+ "dependencies": {
+ "request-promise-core": "1.1.4",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=0.12.0"
+ },
+ "peerDependencies": {
+ "request": "^2.34"
+ }
+ },
+ "node_modules/request-promise-native/node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/request/node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/request/node_modules/uuid": {
+ "version": "3.4.0",
+ "license": "MIT",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-main-filename": {
+ "version": "2.0.0",
+ "license": "ISC"
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/resolve": {
+ "version": "1.18.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.0.0",
+ "path-parse": "^1.0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-pathname": {
+ "version": "3.0.0",
+ "license": "MIT"
+ },
+ "node_modules/resolve-url": {
+ "version": "0.2.1",
+ "license": "MIT"
+ },
+ "node_modules/resolve-url-loader": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "adjust-sourcemap-loader": "3.0.0",
+ "camelcase": "5.3.1",
+ "compose-function": "3.0.3",
+ "convert-source-map": "1.7.0",
+ "es6-iterator": "2.0.3",
+ "loader-utils": "1.2.3",
+ "postcss": "7.0.21",
+ "rework": "1.0.1",
+ "rework-visit": "1.0.0",
+ "source-map": "0.6.1"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/camelcase": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/emojis-list": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/json5": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/loader-utils": {
+ "version": "1.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^2.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/postcss": {
+ "version": "7.0.21",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/supports-color": {
+ "version": "6.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ret": {
+ "version": "0.1.15",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rework": {
+ "version": "1.0.1",
+ "dependencies": {
+ "convert-source-map": "^0.3.3",
+ "css": "^2.0.0"
+ }
+ },
+ "node_modules/rework-visit": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/rework/node_modules/convert-source-map": {
+ "version": "0.3.5",
+ "license": "MIT"
+ },
+ "node_modules/rgb-regex": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/rgba-regex": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/ripemd160": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "1.32.1",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/node": "*",
+ "acorn": "^7.1.0"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ }
+ },
+ "node_modules/rollup-plugin-babel": {
+ "version": "4.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "rollup-pluginutils": "^2.8.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "7 || ^7.0.0-rc.2",
+ "rollup": ">=0.60.0 <3"
+ }
+ },
+ "node_modules/rollup-plugin-terser": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.5.5",
+ "jest-worker": "^24.9.0",
+ "rollup-pluginutils": "^2.8.2",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^4.6.2"
+ },
+ "peerDependencies": {
+ "rollup": ">=0.66.0 <3"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/jest-worker": {
+ "version": "24.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^6.1.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": {
+ "version": "4.0.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/supports-color": {
+ "version": "6.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/rollup-pluginutils": {
+ "version": "2.8.2",
+ "license": "MIT",
+ "dependencies": {
+ "estree-walker": "^0.6.1"
+ }
+ },
+ "node_modules/rollup-pluginutils/node_modules/estree-walker": {
+ "version": "0.6.1",
+ "license": "MIT"
+ },
+ "node_modules/rsvp": {
+ "version": "4.8.5",
+ "license": "MIT",
+ "engines": {
+ "node": "6.* || >= 7.*"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/run-queue": {
+ "version": "1.0.3",
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^1.1.1"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "license": "MIT"
+ },
+ "node_modules/safe-regex": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ret": "~0.1.10"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "license": "MIT"
+ },
+ "node_modules/sane": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^2.0.0",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.2",
+ "execa": "^1.0.0",
+ "fb-watchman": "^2.0.0",
+ "micromatch": "^3.1.4",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "bin": {
+ "sane": "src/cli.js"
+ },
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/sane/node_modules/anymatch": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "node_modules/sane/node_modules/braces": {
+ "version": "2.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/cross-spawn": {
+ "version": "6.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "engines": {
+ "node": ">=4.8"
+ }
+ },
+ "node_modules/sane/node_modules/execa": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/sane/node_modules/fill-range": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/get-stream": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/sane/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/is-number": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/is-stream": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/micromatch": {
+ "version": "3.1.10",
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/npm-run-path": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/sane/node_modules/path-key": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/sane/node_modules/semver": {
+ "version": "5.7.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/sane/node_modules/shebang-command": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/shebang-regex": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sane/node_modules/which": {
+ "version": "1.3.1",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/sanitize.css": {
+ "version": "10.0.0",
+ "license": "CC0-1.0"
+ },
+ "node_modules/sass": {
+ "version": "1.32.8",
+ "license": "MIT",
+ "dependencies": {
+ "chokidar": ">=2.0.0 <4.0.0"
+ },
+ "bin": {
+ "sass": "sass.js"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/sass-loader": {
+ "version": "10.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "klona": "^2.0.4",
+ "loader-utils": "^2.0.0",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.0.0",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "fibers": ">= 3.1.0",
+ "node-sass": "^4.0.0 || ^5.0.0",
+ "sass": "^1.3.0",
+ "webpack": "^4.36.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "fibers": {
+ "optional": true
+ },
+ "node-sass": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/sass-loader/node_modules/schema-utils": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/sax": {
+ "version": "1.2.4",
+ "license": "ISC"
+ },
+ "node_modules/saxes": {
+ "version": "5.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.20.1",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "node_modules/schema-utils": {
+ "version": "2.7.1",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.5",
+ "ajv": "^6.12.4",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 8.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/select": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/select-hose": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/selfsigned": {
+ "version": "1.10.8",
+ "license": "MIT",
+ "dependencies": {
+ "node-forge": "^0.10.0"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.3.2",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.17.1",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.1",
+ "license": "MIT"
+ },
+ "node_modules/serialize-javascript": {
+ "version": "5.0.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-index": {
+ "version": "1.9.1",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/serve-index/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/serve-index/node_modules/http-errors": {
+ "version": "1.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-index/node_modules/inherits": {
+ "version": "2.0.3",
+ "license": "ISC"
+ },
+ "node_modules/serve-index/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/serve-index/node_modules/setprototypeof": {
+ "version": "1.1.0",
+ "license": "ISC"
+ },
+ "node_modules/serve-static": {
+ "version": "1.14.1",
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "license": "ISC"
+ },
+ "node_modules/set-value": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/set-value/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/set-value/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/setimmediate": {
+ "version": "1.0.5",
+ "license": "MIT"
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.1.1",
+ "license": "ISC"
+ },
+ "node_modules/sha.js": {
+ "version": "2.4.11",
+ "license": "(MIT AND BSD-3-Clause)",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ },
+ "bin": {
+ "sha.js": "bin.js"
+ }
+ },
+ "node_modules/shallowequal": {
+ "version": "1.1.0",
+ "license": "MIT"
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.7.2",
+ "license": "MIT"
+ },
+ "node_modules/shellwords": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.3",
+ "license": "ISC"
+ },
+ "node_modules/simple-swizzle": {
+ "version": "0.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.3.1"
+ }
+ },
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
+ "version": "0.3.2",
+ "license": "MIT"
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "license": "MIT"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/snapdragon": {
+ "version": "0.8.2",
+ "license": "MIT",
+ "dependencies": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node/node_modules/define-property": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/define-property": {
+ "version": "0.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/kind-of": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/sockjs": {
+ "version": "0.3.21",
+ "license": "MIT",
+ "dependencies": {
+ "faye-websocket": "^0.11.3",
+ "uuid": "^3.4.0",
+ "websocket-driver": "^0.7.4"
+ }
+ },
+ "node_modules/sockjs-client": {
+ "version": "1.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^3.2.6",
+ "eventsource": "^1.0.7",
+ "faye-websocket": "^0.11.3",
+ "inherits": "^2.0.4",
+ "json3": "^3.3.3",
+ "url-parse": "^1.4.7"
+ }
+ },
+ "node_modules/sockjs-client/node_modules/debug": {
+ "version": "3.2.7",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/sockjs/node_modules/uuid": {
+ "version": "3.4.0",
+ "license": "MIT",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
+ "node_modules/sort-keys": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-list-map": {
+ "version": "2.0.1",
+ "license": "MIT"
+ },
+ "node_modules/source-map": {
+ "version": "0.5.7",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-resolve": {
+ "version": "0.5.3",
+ "license": "MIT",
+ "dependencies": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.19",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-support/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-url": {
+ "version": "0.4.1",
+ "license": "MIT"
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "license": "MIT"
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "1.1.5",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.1.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-exceptions": {
+ "version": "2.3.0",
+ "license": "CC-BY-3.0"
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.7",
+ "license": "CC0-1.0"
+ },
+ "node_modules/spdy": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/spdy-transport": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ }
+ },
+ "node_modules/split-string": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/sshpk": {
+ "version": "1.16.1",
+ "license": "MIT",
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ssri": {
+ "version": "8.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/stable": {
+ "version": "0.1.8",
+ "license": "MIT"
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stack-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stackframe": {
+ "version": "1.2.0",
+ "license": "MIT"
+ },
+ "node_modules/static-extend": {
+ "version": "0.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/define-property": {
+ "version": "0.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/kind-of": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "1.5.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/stealthy-require": {
+ "version": "1.1.1",
+ "license": "ISC",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/stream-browserify": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "node_modules/stream-browserify/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/stream-browserify/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/stream-each": {
+ "version": "1.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "node_modules/stream-http": {
+ "version": "2.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "node_modules/stream-http/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/stream-http/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/stream-shift": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/strict-uri-encode": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/string-length": {
+ "version": "4.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-natural-compare": {
+ "version": "3.0.1",
+ "license": "MIT"
+ },
+ "node_modules/string-width": {
+ "version": "4.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "has-symbols": "^1.0.1",
+ "internal-slot": "^1.0.3",
+ "regexp.prototype.flags": "^1.3.1",
+ "side-channel": "^1.0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/stringify-object": {
+ "version": "3.3.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-comments": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "babel-extract-comments": "^1.0.0",
+ "babel-plugin-transform-object-rest-spread": "^6.26.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-eof": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-indent": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/style-loader": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0"
+ },
+ "engines": {
+ "node": ">= 8.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/styled-components": {
+ "version": "5.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/traverse": "^7.4.5",
+ "@emotion/is-prop-valid": "^0.8.8",
+ "@emotion/stylis": "^0.8.4",
+ "@emotion/unitless": "^0.7.4",
+ "babel-plugin-styled-components": ">= 1",
+ "css-to-react-native": "^3.0.0",
+ "hoist-non-react-statics": "^3.0.0",
+ "shallowequal": "^1.1.0",
+ "supports-color": "^5.5.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/styled-components"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0",
+ "react-dom": ">= 16.8.0",
+ "react-is": ">= 16.8.0"
+ }
+ },
+ "node_modules/stylehacks": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/stylehacks/node_modules/postcss-selector-parser": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "dot-prop": "^5.2.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/svg-parser": {
+ "version": "2.0.4",
+ "license": "MIT"
+ },
+ "node_modules/svgo": {
+ "version": "1.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^2.4.1",
+ "coa": "^2.0.2",
+ "css-select": "^2.0.0",
+ "css-select-base-adapter": "^0.1.1",
+ "css-tree": "1.0.0-alpha.37",
+ "csso": "^4.0.2",
+ "js-yaml": "^3.13.1",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.1.0",
+ "sax": "~1.2.4",
+ "stable": "^0.1.8",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/sweetalert2": {
+ "version": "10.15.6",
+ "license": "MIT",
+ "funding": {
+ "url": "https://sweetalert2.github.io/#donations"
+ }
+ },
+ "node_modules/symbol-observable": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "license": "MIT"
+ },
+ "node_modules/table": {
+ "version": "6.0.7",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table/node_modules/ajv": {
+ "version": "7.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/table/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/tapable": {
+ "version": "1.1.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.1.0",
+ "license": "ISC",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/tar/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/temp-dir": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tempy": {
+ "version": "0.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "temp-dir": "^1.0.0",
+ "type-fest": "^0.3.1",
+ "unique-string": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tempy/node_modules/type-fest": {
+ "version": "0.3.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/terminal-link": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terser": {
+ "version": "4.8.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/terser-webpack-plugin": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "cacache": "^15.0.5",
+ "find-cache-dir": "^3.3.1",
+ "jest-worker": "^26.5.0",
+ "p-limit": "^3.0.2",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
+ "source-map": "^0.6.1",
+ "terser": "^5.3.4",
+ "webpack-sources": "^1.4.3"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/commander": {
+ "version": "2.20.3",
+ "license": "MIT"
+ },
+ "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": {
+ "version": "3.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/make-dir": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/p-limit": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/terser": {
+ "version": "5.6.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "commander": "^2.20.0",
+ "source-map": "~0.7.2",
+ "source-map-support": "~0.5.19"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": {
+ "version": "0.7.3",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
+ "license": "MIT"
+ },
+ "node_modules/terser/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/test-exclude": {
+ "version": "6.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "license": "MIT"
+ },
+ "node_modules/throat": {
+ "version": "5.0.0",
+ "license": "MIT"
+ },
+ "node_modules/through2": {
+ "version": "2.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "node_modules/through2/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/through2/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/thunky": {
+ "version": "1.1.0",
+ "license": "MIT"
+ },
+ "node_modules/timers-browserify": {
+ "version": "2.0.12",
+ "license": "MIT",
+ "dependencies": {
+ "setimmediate": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/timsort": {
+ "version": "0.3.0",
+ "license": "MIT"
+ },
+ "node_modules/tiny-emitter": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/tiny-invariant": {
+ "version": "1.1.0",
+ "license": "MIT"
+ },
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "license": "MIT"
+ },
+ "node_modules/tmpl": {
+ "version": "1.0.4",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/to-arraybuffer": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-object-path": {
+ "version": "0.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-object-path/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "4.0.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tough-cookie/node_modules/universalify": {
+ "version": "0.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tryer": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/ts-pnp": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "3.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
+ "minimist": "^1.2.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/json5": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.1.0",
+ "license": "0BSD"
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "license": "0BSD"
+ },
+ "node_modules/tty-browserify": {
+ "version": "0.0.0",
+ "license": "MIT"
+ },
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "license": "Unlicense"
+ },
+ "node_modules/type": {
+ "version": "1.2.0",
+ "license": "ISC"
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.11.0",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "license": "MIT",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "license": "MIT"
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "3.9.9",
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/typescript-plugin-styled-components": {
+ "version": "1.4.4",
+ "license": "MIT",
+ "peerDependencies": {
+ "typescript": "^2.5.2 || ^3.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has-bigints": "^1.0.0",
+ "has-symbols": "^1.0.0",
+ "which-boxed-primitive": "^1.0.1"
+ }
+ },
+ "node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-value-ecmascript": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-property-aliases-ecmascript": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/union-value": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/union-value/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/uniq": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/uniqs": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/unique-filename": {
+ "version": "1.1.1",
+ "license": "ISC",
+ "dependencies": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "node_modules/unique-slug": {
+ "version": "2.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "node_modules/unique-string": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "crypto-random-string": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/unquote": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/unset-value": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-value": {
+ "version": "0.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "isarray": "1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-values": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/upath": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/urix": {
+ "version": "0.1.0",
+ "license": "MIT"
+ },
+ "node_modules/url": {
+ "version": "0.11.0",
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ }
+ },
+ "node_modules/url-loader": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
+ "schema-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "file-loader": "*",
+ "webpack": "^4.0.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "file-loader": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/url-loader/node_modules/schema-utils": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/url-parse": {
+ "version": "1.5.1",
+ "license": "MIT",
+ "dependencies": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "node_modules/url/node_modules/punycode": {
+ "version": "1.3.2",
+ "license": "MIT"
+ },
+ "node_modules/url/node_modules/querystring": {
+ "version": "0.2.0",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/use": {
+ "version": "3.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/util": {
+ "version": "0.11.1",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "2.0.3"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/util.promisify": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
+ }
+ },
+ "node_modules/util/node_modules/inherits": {
+ "version": "2.0.3",
+ "license": "ISC"
+ },
+ "node_modules/utila": {
+ "version": "0.4.0",
+ "license": "MIT"
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "license": "MIT"
+ },
+ "node_modules/v8-to-istanbul": {
+ "version": "7.1.0",
+ "license": "ISC",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/v8-to-istanbul/node_modules/source-map": {
+ "version": "0.7.3",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/value-equal": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/vendors": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "node_modules/vm-browserify": {
+ "version": "1.1.2",
+ "license": "MIT"
+ },
+ "node_modules/w3c-hr-time": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/walker": {
+ "version": "1.0.7",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "1.7.5",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0"
+ },
+ "optionalDependencies": {
+ "chokidar": "^3.4.1",
+ "watchpack-chokidar2": "^2.0.1"
+ }
+ },
+ "node_modules/watchpack-chokidar2": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "chokidar": "^2.1.8"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/anymatch": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "optional": true,
+ "dependencies": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/binary-extensions": {
+ "version": "1.13.1",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/braces": {
+ "version": "2.3.2",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/chokidar": {
+ "version": "2.1.8",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ },
+ "optionalDependencies": {
+ "fsevents": "^1.2.7"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/fill-range": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/fsevents": {
+ "version": "1.2.13",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "dependencies": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
+ "version": "3.1.0",
+ "license": "ISC",
+ "optional": true,
+ "dependencies": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "is-extglob": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/is-binary-path": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "binary-extensions": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/is-number": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/micromatch": {
+ "version": "3.1.10",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/readdirp": {
+ "version": "2.2.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/watchpack-chokidar2/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wbuf": {
+ "version": "1.7.3",
+ "license": "MIT",
+ "dependencies": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "node_modules/web-vitals": {
+ "version": "1.1.0",
+ "license": "Apache-2.0"
+ },
+ "node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=10.4"
+ }
+ },
+ "node_modules/webpack": {
+ "version": "4.44.2",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/wasm-edit": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "acorn": "^6.4.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.3.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.3",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.3",
+ "watchpack": "^1.7.4",
+ "webpack-sources": "^1.4.1"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=6.11.5"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ },
+ "webpack-command": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-dev-middleware": {
+ "version": "3.7.3",
+ "license": "MIT",
+ "dependencies": {
+ "memory-fs": "^0.4.1",
+ "mime": "^2.4.4",
+ "mkdirp": "^0.5.1",
+ "range-parser": "^1.2.1",
+ "webpack-log": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/webpack-dev-middleware/node_modules/mime": {
+ "version": "2.5.2",
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/webpack-dev-server": {
+ "version": "3.11.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-html": "0.0.7",
+ "bonjour": "^3.5.0",
+ "chokidar": "^2.1.8",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^1.6.0",
+ "debug": "^4.1.1",
+ "del": "^4.1.1",
+ "express": "^4.17.1",
+ "html-entities": "^1.3.1",
+ "http-proxy-middleware": "0.19.1",
+ "import-local": "^2.0.0",
+ "internal-ip": "^4.3.0",
+ "ip": "^1.1.5",
+ "is-absolute-url": "^3.0.3",
+ "killable": "^1.0.1",
+ "loglevel": "^1.6.8",
+ "opn": "^5.5.0",
+ "p-retry": "^3.0.1",
+ "portfinder": "^1.0.26",
+ "schema-utils": "^1.0.0",
+ "selfsigned": "^1.10.8",
+ "semver": "^6.3.0",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.21",
+ "sockjs-client": "^1.5.0",
+ "spdy": "^4.0.2",
+ "strip-ansi": "^3.0.1",
+ "supports-color": "^6.1.0",
+ "url": "^0.11.0",
+ "webpack-dev-middleware": "^3.7.2",
+ "webpack-log": "^2.0.0",
+ "ws": "^6.2.1",
+ "yargs": "^13.3.2"
+ },
+ "bin": {
+ "webpack-dev-server": "bin/webpack-dev-server.js"
+ },
+ "engines": {
+ "node": ">= 6.11.5"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/anymatch": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/binary-extensions": {
+ "version": "1.13.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/braces": {
+ "version": "2.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/camelcase": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/chokidar": {
+ "version": "2.1.8",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ },
+ "optionalDependencies": {
+ "fsevents": "^1.2.7"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/cliui": {
+ "version": "5.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/emoji-regex": {
+ "version": "7.0.3",
+ "license": "MIT"
+ },
+ "node_modules/webpack-dev-server/node_modules/fill-range": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/find-up": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/fsevents": {
+ "version": "1.2.13",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "dependencies": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/glob-parent": {
+ "version": "3.1.0",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/import-local": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "pkg-dir": "^3.0.0",
+ "resolve-cwd": "^2.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/is-absolute-url": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/is-binary-path": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/is-number": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/locate-path": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/micromatch": {
+ "version": "3.1.10",
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/p-locate": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/path-exists": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/pkg-dir": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/readdirp": {
+ "version": "2.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/resolve-cwd": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "resolve-from": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/resolve-from": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/schema-utils": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/semver": {
+ "version": "6.3.0",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/string-width": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/supports-color": {
+ "version": "6.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/wrap-ansi": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/ws": {
+ "version": "6.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/yargs": {
+ "version": "13.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.2"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/yargs-parser": {
+ "version": "13.1.2",
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ },
+ "node_modules/webpack-log": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^3.0.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/webpack-log/node_modules/ansi-colors": {
+ "version": "3.2.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-log/node_modules/uuid": {
+ "version": "3.4.0",
+ "license": "MIT",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
+ "node_modules/webpack-manifest-plugin": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "fs-extra": "^7.0.0",
+ "lodash": ">=3.5 <5",
+ "object.entries": "^1.1.0",
+ "tapable": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.11.5"
+ },
+ "peerDependencies": {
+ "webpack": "2 || 3 || 4"
+ }
+ },
+ "node_modules/webpack-manifest-plugin/node_modules/fs-extra": {
+ "version": "7.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/webpack-manifest-plugin/node_modules/jsonfile": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/webpack-manifest-plugin/node_modules/universalify": {
+ "version": "0.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/webpack-sources": {
+ "version": "1.4.3",
+ "license": "MIT",
+ "dependencies": {
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/webpack-sources/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/acorn": {
+ "version": "6.4.2",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/webpack/node_modules/braces": {
+ "version": "2.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/cacache": {
+ "version": "12.0.4",
+ "license": "ISC",
+ "dependencies": {
+ "bluebird": "^3.5.5",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.1.15",
+ "infer-owner": "^1.0.3",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.3",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
+ "node_modules/webpack/node_modules/chownr": {
+ "version": "1.1.4",
+ "license": "ISC"
+ },
+ "node_modules/webpack/node_modules/eslint-scope": {
+ "version": "4.0.3",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/webpack/node_modules/fill-range": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/is-number": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/is-wsl": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/webpack/node_modules/json5": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/webpack/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/webpack/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/webpack/node_modules/micromatch": {
+ "version": "3.1.10",
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/rimraf": {
+ "version": "2.7.1",
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/webpack/node_modules/schema-utils": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/webpack/node_modules/serialize-javascript": {
+ "version": "4.0.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/webpack/node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/ssri": {
+ "version": "6.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "figgy-pudding": "^3.5.1"
+ }
+ },
+ "node_modules/webpack/node_modules/terser-webpack-plugin": {
+ "version": "1.4.5",
+ "license": "MIT",
+ "dependencies": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^4.0.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.0"
+ },
+ "engines": {
+ "node": ">= 6.9.0"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0"
+ }
+ },
+ "node_modules/webpack/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/yallist": {
+ "version": "3.1.1",
+ "license": "ISC"
+ },
+ "node_modules/websocket-driver": {
+ "version": "0.7.4",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/whatwg-encoding": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "node_modules/whatwg-fetch": {
+ "version": "3.6.2",
+ "license": "MIT"
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "2.3.0",
+ "license": "MIT"
+ },
+ "node_modules/whatwg-url": {
+ "version": "8.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^2.0.2",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-module": {
+ "version": "2.0.0",
+ "license": "ISC"
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/workbox-background-sync": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-broadcast-update": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-build": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.8.4",
+ "@babel/preset-env": "^7.8.4",
+ "@babel/runtime": "^7.8.4",
+ "@hapi/joi": "^15.1.0",
+ "@rollup/plugin-node-resolve": "^7.1.1",
+ "@rollup/plugin-replace": "^2.3.1",
+ "@surma/rollup-plugin-off-main-thread": "^1.1.1",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^8.1.0",
+ "glob": "^7.1.6",
+ "lodash.template": "^4.5.0",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^1.31.1",
+ "rollup-plugin-babel": "^4.3.3",
+ "rollup-plugin-terser": "^5.3.1",
+ "source-map": "^0.7.3",
+ "source-map-url": "^0.4.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^1.0.2",
+ "tempy": "^0.3.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "^5.1.4",
+ "workbox-broadcast-update": "^5.1.4",
+ "workbox-cacheable-response": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-expiration": "^5.1.4",
+ "workbox-google-analytics": "^5.1.4",
+ "workbox-navigation-preload": "^5.1.4",
+ "workbox-precaching": "^5.1.4",
+ "workbox-range-requests": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4",
+ "workbox-streams": "^5.1.4",
+ "workbox-sw": "^5.1.4",
+ "workbox-window": "^5.1.4"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/fs-extra": {
+ "version": "8.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/jsonfile": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/workbox-build/node_modules/source-map": {
+ "version": "0.7.3",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/universalify": {
+ "version": "0.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/workbox-cacheable-response": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-core": {
+ "version": "5.1.4",
+ "license": "MIT"
+ },
+ "node_modules/workbox-expiration": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-google-analytics": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-background-sync": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-navigation-preload": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-precaching": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-range-requests": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-routing": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-strategies": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-streams": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-sw": {
+ "version": "5.1.4",
+ "license": "MIT"
+ },
+ "node_modules/workbox-webpack-plugin": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "fast-json-stable-stringify": "^2.0.0",
+ "source-map-url": "^0.4.0",
+ "upath": "^1.1.2",
+ "webpack-sources": "^1.3.0",
+ "workbox-build": "^5.1.4"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0"
+ }
+ },
+ "node_modules/workbox-window": {
+ "version": "5.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/worker-farm": {
+ "version": "1.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "errno": "~0.1.7"
+ }
+ },
+ "node_modules/worker-rpc": {
+ "version": "0.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "microevent.ts": "~0.1.1"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "license": "ISC"
+ },
+ "node_modules/write-file-atomic": {
+ "version": "3.0.3",
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "node_modules/ws": {
+ "version": "7.4.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xml-name-validator": {
+ "version": "3.0.0",
+ "license": "Apache-2.0"
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "license": "MIT"
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "4.0.1",
+ "license": "ISC"
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "1.10.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "15.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "18.1.3",
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/yargs-parser/node_modules/camelcase": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/highlight": "^7.12.13"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.13.8"
+ },
+ "@babel/core": {
+ "version": "7.12.3",
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.12.1",
+ "@babel/helper-module-transforms": "^7.12.1",
+ "@babel/helpers": "^7.12.1",
+ "@babel/parser": "^7.12.3",
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.19",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1"
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.13.9",
+ "requires": {
+ "@babel/types": "^7.13.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.12.13",
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.13.10",
+ "requires": {
+ "@babel/compat-data": "^7.13.8",
+ "@babel/helper-validator-option": "^7.12.17",
+ "browserslist": "^4.14.5",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0"
+ }
+ }
+ },
+ "@babel/helper-create-class-features-plugin": {
+ "version": "7.13.10",
+ "requires": {
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-member-expression-to-functions": "^7.13.0",
+ "@babel/helper-optimise-call-expression": "^7.12.13",
+ "@babel/helper-replace-supers": "^7.13.0",
+ "@babel/helper-split-export-declaration": "^7.12.13"
+ }
+ },
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.12.17",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "regexpu-core": "^4.7.1"
+ }
+ },
+ "@babel/helper-define-polyfill-provider": {
+ "version": "0.1.5",
+ "requires": {
+ "@babel/helper-compilation-targets": "^7.13.0",
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/traverse": "^7.13.0",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2",
+ "semver": "^6.1.2"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0"
+ }
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.12.13",
+ "@babel/template": "^7.12.13",
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-replace-supers": "^7.13.0",
+ "@babel/helper-simple-access": "^7.12.13",
+ "@babel/helper-split-export-declaration": "^7.12.13",
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "@babel/template": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0",
+ "lodash": "^4.17.19"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.13.0"
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "@babel/helper-wrap-function": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.13.0",
+ "@babel/helper-optimise-call-expression": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.12.11"
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.12.17"
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/template": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.13.10",
+ "requires": {
+ "@babel/template": "^7.12.13",
+ "@babel/traverse": "^7.13.0",
+ "@babel/types": "^7.13.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.13.10",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.13.10"
+ },
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-remap-async-to-generator": "^7.13.0",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ }
+ },
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-proposal-decorators": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-decorators": "^7.12.1"
+ }
+ },
+ "@babel/plugin-proposal-dynamic-import": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ }
+ },
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/compat-data": "^7.13.8",
+ "@babel/helper-compilation-targets": "^7.13.8",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.13.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-private-methods": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-syntax-decorators": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-flow": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-top-level-await": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-syntax-typescript": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-remap-async-to-generator": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-optimise-call-expression": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-replace-supers": "^7.13.0",
+ "@babel/helper-split-export-declaration": "^7.12.13",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-flow-strip-types": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-flow": "^7.12.1"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-simple-access": "^7.12.13",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.13.8",
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.13.0",
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-module-transforms": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/helper-replace-supers": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-react-constant-elements": {
+ "version": "7.13.10",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-react-display-name": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-react-jsx": {
+ "version": "7.12.17",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.12.13",
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-syntax-jsx": "^7.12.13",
+ "@babel/types": "^7.12.17"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-development": {
+ "version": "7.12.17",
+ "requires": {
+ "@babel/plugin-transform-react-jsx": "^7.12.17"
+ }
+ },
+ "@babel/plugin-transform-react-pure-annotations": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.12.13",
+ "requires": {
+ "regenerator-transform": "^0.14.2"
+ }
+ },
+ "@babel/plugin-transform-reserved-words": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-runtime": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1"
+ }
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.13.0"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-typescript": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.13.0",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/plugin-syntax-typescript": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-unicode-escapes": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.13.10",
+ "requires": {
+ "@babel/compat-data": "^7.13.8",
+ "@babel/helper-compilation-targets": "^7.13.10",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/helper-validator-option": "^7.12.17",
+ "@babel/plugin-proposal-async-generator-functions": "^7.13.8",
+ "@babel/plugin-proposal-class-properties": "^7.13.0",
+ "@babel/plugin-proposal-dynamic-import": "^7.13.8",
+ "@babel/plugin-proposal-export-namespace-from": "^7.12.13",
+ "@babel/plugin-proposal-json-strings": "^7.13.8",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
+ "@babel/plugin-proposal-numeric-separator": "^7.12.13",
+ "@babel/plugin-proposal-object-rest-spread": "^7.13.8",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.13.8",
+ "@babel/plugin-proposal-optional-chaining": "^7.13.8",
+ "@babel/plugin-proposal-private-methods": "^7.13.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.12.13",
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.12.13",
+ "@babel/plugin-transform-arrow-functions": "^7.13.0",
+ "@babel/plugin-transform-async-to-generator": "^7.13.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.12.13",
+ "@babel/plugin-transform-block-scoping": "^7.12.13",
+ "@babel/plugin-transform-classes": "^7.13.0",
+ "@babel/plugin-transform-computed-properties": "^7.13.0",
+ "@babel/plugin-transform-destructuring": "^7.13.0",
+ "@babel/plugin-transform-dotall-regex": "^7.12.13",
+ "@babel/plugin-transform-duplicate-keys": "^7.12.13",
+ "@babel/plugin-transform-exponentiation-operator": "^7.12.13",
+ "@babel/plugin-transform-for-of": "^7.13.0",
+ "@babel/plugin-transform-function-name": "^7.12.13",
+ "@babel/plugin-transform-literals": "^7.12.13",
+ "@babel/plugin-transform-member-expression-literals": "^7.12.13",
+ "@babel/plugin-transform-modules-amd": "^7.13.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.13.8",
+ "@babel/plugin-transform-modules-systemjs": "^7.13.8",
+ "@babel/plugin-transform-modules-umd": "^7.13.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13",
+ "@babel/plugin-transform-new-target": "^7.12.13",
+ "@babel/plugin-transform-object-super": "^7.12.13",
+ "@babel/plugin-transform-parameters": "^7.13.0",
+ "@babel/plugin-transform-property-literals": "^7.12.13",
+ "@babel/plugin-transform-regenerator": "^7.12.13",
+ "@babel/plugin-transform-reserved-words": "^7.12.13",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.13",
+ "@babel/plugin-transform-spread": "^7.13.0",
+ "@babel/plugin-transform-sticky-regex": "^7.12.13",
+ "@babel/plugin-transform-template-literals": "^7.13.0",
+ "@babel/plugin-transform-typeof-symbol": "^7.12.13",
+ "@babel/plugin-transform-unicode-escapes": "^7.12.13",
+ "@babel/plugin-transform-unicode-regex": "^7.12.13",
+ "@babel/preset-modules": "^0.1.4",
+ "@babel/types": "^7.13.0",
+ "babel-plugin-polyfill-corejs2": "^0.1.4",
+ "babel-plugin-polyfill-corejs3": "^0.1.3",
+ "babel-plugin-polyfill-regenerator": "^0.1.2",
+ "core-js-compat": "^3.9.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0"
+ }
+ }
+ },
+ "@babel/preset-modules": {
+ "version": "0.1.4",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ }
+ },
+ "@babel/preset-react": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13",
+ "@babel/plugin-transform-react-display-name": "^7.12.13",
+ "@babel/plugin-transform-react-jsx": "^7.12.13",
+ "@babel/plugin-transform-react-jsx-development": "^7.12.12",
+ "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
+ }
+ },
+ "@babel/preset-typescript": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-transform-typescript": "^7.12.1"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.12.1",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/runtime-corejs3": {
+ "version": "7.13.10",
+ "requires": {
+ "core-js-pure": "^3.0.0",
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/template": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/code-frame": "^7.12.13",
+ "@babel/parser": "^7.12.13",
+ "@babel/types": "^7.12.13"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/code-frame": "^7.12.13",
+ "@babel/generator": "^7.13.0",
+ "@babel/helper-function-name": "^7.12.13",
+ "@babel/helper-split-export-declaration": "^7.12.13",
+ "@babel/parser": "^7.13.0",
+ "@babel/types": "^7.13.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
+ },
+ "@babel/types": {
+ "version": "7.13.0",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@bcoe/v8-coverage": {
+ "version": "0.2.3"
+ },
+ "@cnakazawa/watch": {
+ "version": "1.0.4",
+ "requires": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ }
+ },
+ "@csstools/convert-colors": {
+ "version": "1.4.0"
+ },
+ "@csstools/normalize.css": {
+ "version": "10.1.0"
+ },
+ "@emotion/hash": {
+ "version": "0.8.0"
+ },
+ "@emotion/is-prop-valid": {
+ "version": "0.8.8",
+ "requires": {
+ "@emotion/memoize": "0.7.4"
+ }
+ },
+ "@emotion/memoize": {
+ "version": "0.7.4"
+ },
+ "@emotion/stylis": {
+ "version": "0.8.5"
+ },
+ "@emotion/unitless": {
+ "version": "0.7.5"
+ },
+ "@eslint/eslintrc": {
+ "version": "0.4.0",
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "globals": {
+ "version": "12.4.0",
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "@hapi/address": {
+ "version": "2.1.4"
+ },
+ "@hapi/bourne": {
+ "version": "1.3.2"
+ },
+ "@hapi/hoek": {
+ "version": "8.5.1"
+ },
+ "@hapi/joi": {
+ "version": "15.1.1",
+ "requires": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
+ }
+ },
+ "@hapi/topo": {
+ "version": "3.1.6",
+ "requires": {
+ "@hapi/hoek": "^8.3.0"
+ }
+ },
+ "@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "requires": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1"
+ }
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.3"
+ },
+ "@jest/console": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@jest/core": {
+ "version": "26.6.3",
+ "requires": {
+ "@jest/console": "^26.6.2",
+ "@jest/reporters": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^26.6.2",
+ "jest-config": "^26.6.3",
+ "jest-haste-map": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-resolve": "^26.6.2",
+ "jest-resolve-dependencies": "^26.6.3",
+ "jest-runner": "^26.6.3",
+ "jest-runtime": "^26.6.3",
+ "jest-snapshot": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "jest-watcher": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "p-each-series": "^2.1.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "jest-resolve": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "@jest/environment": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "jest-mock": "^26.6.2"
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "@sinonjs/fake-timers": "^6.0.1",
+ "@types/node": "*",
+ "jest-message-util": "^26.6.2",
+ "jest-mock": "^26.6.2",
+ "jest-util": "^26.6.2"
+ }
+ },
+ "@jest/globals": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/environment": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "expect": "^26.6.2"
+ }
+ },
+ "@jest/reporters": {
+ "version": "26.6.2",
+ "requires": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^26.6.2",
+ "jest-resolve": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-worker": "^26.6.2",
+ "node-notifier": "^8.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^4.0.1",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^7.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "jest-resolve": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "@jest/source-map": {
+ "version": "26.6.2",
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "@jest/test-result": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/console": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/test-sequencer": {
+ "version": "26.6.3",
+ "requires": {
+ "@jest/test-result": "^26.6.2",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^26.6.2",
+ "jest-runner": "^26.6.3",
+ "jest-runtime": "^26.6.3"
+ }
+ },
+ "@jest/transform": {
+ "version": "26.6.2",
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^26.6.2",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-util": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "pirates": "^4.0.1",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "source-map": {
+ "version": "0.6.1"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@jest/types": {
+ "version": "26.6.2",
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@material-ui/core": {
+ "version": "4.11.3",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/styles": "^4.11.3",
+ "@material-ui/system": "^4.11.3",
+ "@material-ui/types": "^5.1.0",
+ "@material-ui/utils": "^4.11.2",
+ "@types/react-transition-group": "^4.2.0",
+ "clsx": "^1.0.4",
+ "hoist-non-react-statics": "^3.3.2",
+ "popper.js": "1.16.1-lts",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0",
+ "react-transition-group": "^4.4.0"
+ },
+ "dependencies": {
+ "popper.js": {
+ "version": "1.16.1-lts"
+ }
+ }
+ },
+ "@material-ui/icons": {
+ "version": "4.11.2",
+ "requires": {
+ "@babel/runtime": "^7.4.4"
+ }
+ },
+ "@material-ui/styles": {
+ "version": "4.11.3",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@emotion/hash": "^0.8.0",
+ "@material-ui/types": "^5.1.0",
+ "@material-ui/utils": "^4.11.2",
+ "clsx": "^1.0.4",
+ "csstype": "^2.5.2",
+ "hoist-non-react-statics": "^3.3.2",
+ "jss": "^10.5.1",
+ "jss-plugin-camel-case": "^10.5.1",
+ "jss-plugin-default-unit": "^10.5.1",
+ "jss-plugin-global": "^10.5.1",
+ "jss-plugin-nested": "^10.5.1",
+ "jss-plugin-props-sort": "^10.5.1",
+ "jss-plugin-rule-value-function": "^10.5.1",
+ "jss-plugin-vendor-prefixer": "^10.5.1",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "@material-ui/system": {
+ "version": "4.11.3",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/utils": "^4.11.2",
+ "csstype": "^2.5.2",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "@material-ui/types": {
+ "version": "5.1.0",
+ "requires": {}
+ },
+ "@material-ui/utils": {
+ "version": "4.11.2",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.4",
+ "requires": {
+ "@nodelib/fs.stat": "2.0.4",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.4"
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.6",
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.4",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@npmcli/move-file": {
+ "version": "1.1.2",
+ "requires": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4"
+ }
+ }
+ },
+ "@pmmmwh/react-refresh-webpack-plugin": {
+ "version": "0.4.3",
+ "requires": {
+ "ansi-html": "^0.0.7",
+ "error-stack-parser": "^2.0.6",
+ "html-entities": "^1.2.1",
+ "native-url": "^0.2.6",
+ "schema-utils": "^2.6.5",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3"
+ }
+ }
+ },
+ "@rollup/plugin-node-resolve": {
+ "version": "7.1.3",
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8",
+ "@types/resolve": "0.0.8",
+ "builtin-modules": "^3.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.14.2"
+ }
+ },
+ "@rollup/plugin-replace": {
+ "version": "2.4.1",
+ "requires": {
+ "@rollup/pluginutils": "^3.1.0",
+ "magic-string": "^0.25.7"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "3.1.0",
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "dependencies": {
+ "@types/estree": {
+ "version": "0.0.39"
+ }
+ }
+ },
+ "@sinonjs/commons": {
+ "version": "1.8.2",
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@sinonjs/fake-timers": {
+ "version": "6.0.1",
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "@surma/rollup-plugin-off-main-thread": {
+ "version": "1.4.2",
+ "requires": {
+ "ejs": "^2.6.1",
+ "magic-string": "^0.25.0"
+ }
+ },
+ "@svgr/babel-plugin-add-jsx-attribute": {
+ "version": "5.4.0"
+ },
+ "@svgr/babel-plugin-remove-jsx-attribute": {
+ "version": "5.4.0"
+ },
+ "@svgr/babel-plugin-remove-jsx-empty-expression": {
+ "version": "5.0.1"
+ },
+ "@svgr/babel-plugin-replace-jsx-attribute-value": {
+ "version": "5.0.1"
+ },
+ "@svgr/babel-plugin-svg-dynamic-title": {
+ "version": "5.4.0"
+ },
+ "@svgr/babel-plugin-svg-em-dimensions": {
+ "version": "5.4.0"
+ },
+ "@svgr/babel-plugin-transform-react-native-svg": {
+ "version": "5.4.0"
+ },
+ "@svgr/babel-plugin-transform-svg-component": {
+ "version": "5.5.0"
+ },
+ "@svgr/babel-preset": {
+ "version": "5.5.0",
+ "requires": {
+ "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
+ "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
+ "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
+ "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
+ "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
+ "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
+ "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
+ "@svgr/babel-plugin-transform-svg-component": "^5.5.0"
+ }
+ },
+ "@svgr/core": {
+ "version": "5.5.0",
+ "requires": {
+ "@svgr/plugin-jsx": "^5.5.0",
+ "camelcase": "^6.2.0",
+ "cosmiconfig": "^7.0.0"
+ }
+ },
+ "@svgr/hast-util-to-babel-ast": {
+ "version": "5.5.0",
+ "requires": {
+ "@babel/types": "^7.12.6"
+ }
+ },
+ "@svgr/plugin-jsx": {
+ "version": "5.5.0",
+ "requires": {
+ "@babel/core": "^7.12.3",
+ "@svgr/babel-preset": "^5.5.0",
+ "@svgr/hast-util-to-babel-ast": "^5.5.0",
+ "svg-parser": "^2.0.2"
+ }
+ },
+ "@svgr/plugin-svgo": {
+ "version": "5.5.0",
+ "requires": {
+ "cosmiconfig": "^7.0.0",
+ "deepmerge": "^4.2.2",
+ "svgo": "^1.2.2"
+ }
+ },
+ "@svgr/webpack": {
+ "version": "5.5.0",
+ "requires": {
+ "@babel/core": "^7.12.3",
+ "@babel/plugin-transform-react-constant-elements": "^7.12.1",
+ "@babel/preset-env": "^7.12.1",
+ "@babel/preset-react": "^7.12.5",
+ "@svgr/core": "^5.5.0",
+ "@svgr/plugin-jsx": "^5.5.0",
+ "@svgr/plugin-svgo": "^5.5.0",
+ "loader-utils": "^2.0.0"
+ }
+ },
+ "@testing-library/dom": {
+ "version": "7.30.0",
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^4.2.0",
+ "aria-query": "^4.2.2",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.4",
+ "lz-string": "^1.4.4",
+ "pretty-format": "^26.6.2"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.13.10",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@testing-library/jest-dom": {
+ "version": "5.11.9",
+ "requires": {
+ "@babel/runtime": "^7.9.2",
+ "@types/testing-library__jest-dom": "^5.9.1",
+ "aria-query": "^4.2.2",
+ "chalk": "^3.0.0",
+ "css": "^3.0.0",
+ "css.escape": "^1.5.1",
+ "lodash": "^4.17.15",
+ "redent": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "css": {
+ "version": "3.0.0",
+ "requires": {
+ "inherits": "^2.0.4",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.6.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "source-map": {
+ "version": "0.6.1"
+ },
+ "source-map-resolve": {
+ "version": "0.6.0",
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@testing-library/react": {
+ "version": "11.2.5",
+ "requires": {
+ "@babel/runtime": "^7.12.5",
+ "@testing-library/dom": "^7.28.1"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.13.10",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ }
+ }
+ },
+ "@testing-library/user-event": {
+ "version": "12.8.3",
+ "requires": {
+ "@babel/runtime": "^7.12.5"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.13.10",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ }
+ }
+ },
+ "@types/anymatch": {
+ "version": "1.3.1"
+ },
+ "@types/aria-query": {
+ "version": "4.2.1"
+ },
+ "@types/babel__core": {
+ "version": "7.1.12",
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.2",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__template": {
+ "version": "7.4.0",
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.11.0",
+ "requires": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@types/eslint": {
+ "version": "7.2.7",
+ "requires": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.46"
+ },
+ "@types/glob": {
+ "version": "7.1.3",
+ "requires": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/graceful-fs": {
+ "version": "4.1.5",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/html-minifier-terser": {
+ "version": "5.1.1"
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.3"
+ },
+ "@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "3.0.0",
+ "requires": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/jest": {
+ "version": "26.0.20",
+ "requires": {
+ "jest-diff": "^26.0.0",
+ "pretty-format": "^26.0.0"
+ }
+ },
+ "@types/json-schema": {
+ "version": "7.0.7"
+ },
+ "@types/json5": {
+ "version": "0.0.29"
+ },
+ "@types/minimatch": {
+ "version": "3.0.3"
+ },
+ "@types/node": {
+ "version": "14.14.33"
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0"
+ },
+ "@types/parse-json": {
+ "version": "4.0.0"
+ },
+ "@types/prettier": {
+ "version": "2.2.2"
+ },
+ "@types/prop-types": {
+ "version": "15.7.3"
+ },
+ "@types/q": {
+ "version": "1.5.4"
+ },
+ "@types/react": {
+ "version": "17.0.3",
+ "requires": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.0.7"
+ }
+ }
+ },
+ "@types/react-transition-group": {
+ "version": "4.4.1",
+ "requires": {
+ "@types/react": "*"
+ }
+ },
+ "@types/resolve": {
+ "version": "0.0.8",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/scheduler": {
+ "version": "0.16.1"
+ },
+ "@types/source-list-map": {
+ "version": "0.1.2"
+ },
+ "@types/stack-utils": {
+ "version": "2.0.0"
+ },
+ "@types/tapable": {
+ "version": "1.0.6"
+ },
+ "@types/testing-library__jest-dom": {
+ "version": "5.9.5",
+ "requires": {
+ "@types/jest": "*"
+ }
+ },
+ "@types/uglify-js": {
+ "version": "3.13.0",
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "@types/webpack": {
+ "version": "4.41.26",
+ "requires": {
+ "@types/anymatch": "*",
+ "@types/node": "*",
+ "@types/tapable": "*",
+ "@types/uglify-js": "*",
+ "@types/webpack-sources": "*",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "@types/webpack-sources": {
+ "version": "2.1.0",
+ "requires": {
+ "@types/node": "*",
+ "@types/source-list-map": "*",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3"
+ }
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.13",
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "20.2.0"
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "4.17.0",
+ "requires": {
+ "@typescript-eslint/experimental-utils": "4.17.0",
+ "@typescript-eslint/scope-manager": "4.17.0",
+ "debug": "^4.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "lodash": "^4.17.15",
+ "regexpp": "^3.0.0",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "4.17.0",
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/scope-manager": "4.17.0",
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/typescript-estree": "4.17.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "4.17.0",
+ "requires": {
+ "@typescript-eslint/scope-manager": "4.17.0",
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/typescript-estree": "4.17.0",
+ "debug": "^4.1.1"
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "4.17.0",
+ "requires": {
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/visitor-keys": "4.17.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "4.17.0"
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "4.17.0",
+ "requires": {
+ "@typescript-eslint/types": "4.17.0",
+ "@typescript-eslint/visitor-keys": "4.17.0",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-glob": "^4.0.1",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "4.17.0",
+ "requires": {
+ "@typescript-eslint/types": "4.17.0",
+ "eslint-visitor-keys": "^2.0.0"
+ }
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/wast-parser": "1.9.0"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.9.0"
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.9.0"
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.9.0"
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.9.0"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.9.0"
+ },
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.9.0"
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.9.0",
+ "requires": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.9.0",
+ "requires": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.9.0"
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/helper-wasm-section": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0",
+ "@webassemblyjs/wasm-opt": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "@webassemblyjs/wast-printer": "1.9.0"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/ieee754": "1.9.0",
+ "@webassemblyjs/leb128": "1.9.0",
+ "@webassemblyjs/utf8": "1.9.0"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-api-error": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/ieee754": "1.9.0",
+ "@webassemblyjs/leb128": "1.9.0",
+ "@webassemblyjs/utf8": "1.9.0"
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/floating-point-hex-parser": "1.9.0",
+ "@webassemblyjs/helper-api-error": "1.9.0",
+ "@webassemblyjs/helper-code-frame": "1.9.0",
+ "@webassemblyjs/helper-fsm": "1.9.0",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.9.0",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/wast-parser": "1.9.0",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0"
+ },
+ "@xtuc/long": {
+ "version": "4.2.2"
+ },
+ "abab": {
+ "version": "2.0.5"
+ },
+ "accepts": {
+ "version": "1.3.7",
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "acorn": {
+ "version": "7.4.1"
+ },
+ "acorn-globals": {
+ "version": "6.0.0",
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "acorn-jsx": {
+ "version": "5.3.1",
+ "requires": {}
+ },
+ "acorn-walk": {
+ "version": "7.2.0"
+ },
+ "address": {
+ "version": "1.1.2"
+ },
+ "adjust-sourcemap-loader": {
+ "version": "3.0.0",
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "regex-parser": "^2.2.11"
+ }
+ },
+ "aggregate-error": {
+ "version": "3.1.0",
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-errors": {
+ "version": "1.0.1",
+ "requires": {}
+ },
+ "ajv-keywords": {
+ "version": "3.5.2",
+ "requires": {}
+ },
+ "alphanum-sort": {
+ "version": "1.0.2"
+ },
+ "ansi-colors": {
+ "version": "4.1.1"
+ },
+ "ansi-escapes": {
+ "version": "4.3.1",
+ "requires": {
+ "type-fest": "^0.11.0"
+ }
+ },
+ "ansi-html": {
+ "version": "0.0.7"
+ },
+ "ansi-regex": {
+ "version": "5.0.0"
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0"
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "aria-query": {
+ "version": "4.2.2",
+ "requires": {
+ "@babel/runtime": "^7.10.2",
+ "@babel/runtime-corejs3": "^7.10.2"
+ }
+ },
+ "arity-n": {
+ "version": "1.0.4"
+ },
+ "arr-diff": {
+ "version": "4.0.0"
+ },
+ "arr-flatten": {
+ "version": "1.1.0"
+ },
+ "arr-union": {
+ "version": "3.1.0"
+ },
+ "array-flatten": {
+ "version": "2.1.2"
+ },
+ "array-includes": {
+ "version": "3.1.3",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "get-intrinsic": "^1.1.1",
+ "is-string": "^1.0.5"
+ }
+ },
+ "array-union": {
+ "version": "2.1.0"
+ },
+ "array-uniq": {
+ "version": "1.0.3"
+ },
+ "array-unique": {
+ "version": "0.3.2"
+ },
+ "array.prototype.flat": {
+ "version": "1.2.4",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1"
+ }
+ },
+ "array.prototype.flatmap": {
+ "version": "1.2.4",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "arrify": {
+ "version": "2.0.1"
+ },
+ "asap": {
+ "version": "2.0.6"
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "asn1.js": {
+ "version": "5.4.1",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.0"
+ }
+ }
+ },
+ "assert": {
+ "version": "1.5.0",
+ "requires": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1"
+ },
+ "util": {
+ "version": "0.10.3",
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0"
+ },
+ "assign-symbols": {
+ "version": "1.0.0"
+ },
+ "ast-types-flow": {
+ "version": "0.0.7"
+ },
+ "astral-regex": {
+ "version": "2.0.0"
+ },
+ "async": {
+ "version": "2.6.3",
+ "requires": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "async-each": {
+ "version": "1.0.3"
+ },
+ "async-limiter": {
+ "version": "1.0.1"
+ },
+ "asynckit": {
+ "version": "0.4.0"
+ },
+ "at-least-node": {
+ "version": "1.0.0"
+ },
+ "atob": {
+ "version": "2.1.2"
+ },
+ "attr-accept": {
+ "version": "2.2.2"
+ },
+ "autoprefixer": {
+ "version": "9.8.6",
+ "requires": {
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001109",
+ "colorette": "^1.2.1",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.32",
+ "postcss-value-parser": "^4.1.0"
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0"
+ },
+ "aws4": {
+ "version": "1.11.0"
+ },
+ "axe-core": {
+ "version": "4.1.3"
+ },
+ "axios": {
+ "version": "0.21.1",
+ "requires": {
+ "follow-redirects": "^1.10.0"
+ }
+ },
+ "axobject-query": {
+ "version": "2.2.0"
+ },
+ "babel-eslint": {
+ "version": "10.1.0",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.7.0",
+ "@babel/traverse": "^7.7.0",
+ "@babel/types": "^7.7.0",
+ "eslint-visitor-keys": "^1.0.0",
+ "resolve": "^1.12.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0"
+ }
+ }
+ },
+ "babel-extract-comments": {
+ "version": "1.0.0",
+ "requires": {
+ "babylon": "^6.18.0"
+ }
+ },
+ "babel-jest": {
+ "version": "26.6.3",
+ "requires": {
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/babel__core": "^7.1.7",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "babel-loader": {
+ "version": "8.1.0",
+ "requires": {
+ "find-cache-dir": "^2.1.0",
+ "loader-utils": "^1.4.0",
+ "mkdirp": "^0.5.3",
+ "pify": "^4.0.1",
+ "schema-utils": "^2.6.5"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ }
+ }
+ },
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "requires": {
+ "object.assign": "^4.1.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "26.6.2",
+ "requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.0.0",
+ "@types/babel__traverse": "^7.0.6"
+ }
+ },
+ "babel-plugin-macros": {
+ "version": "2.8.0",
+ "requires": {
+ "@babel/runtime": "^7.7.2",
+ "cosmiconfig": "^6.0.0",
+ "resolve": "^1.12.0"
+ },
+ "dependencies": {
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ }
+ }
+ }
+ },
+ "babel-plugin-named-asset-import": {
+ "version": "0.3.7",
+ "requires": {}
+ },
+ "babel-plugin-polyfill-corejs2": {
+ "version": "0.1.10",
+ "requires": {
+ "@babel/compat-data": "^7.13.0",
+ "@babel/helper-define-polyfill-provider": "^0.1.5",
+ "semver": "^6.1.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0"
+ }
+ }
+ },
+ "babel-plugin-polyfill-corejs3": {
+ "version": "0.1.7",
+ "requires": {
+ "@babel/helper-define-polyfill-provider": "^0.1.5",
+ "core-js-compat": "^3.8.1"
+ }
+ },
+ "babel-plugin-polyfill-regenerator": {
+ "version": "0.1.6",
+ "requires": {
+ "@babel/helper-define-polyfill-provider": "^0.1.5"
+ }
+ },
+ "babel-plugin-styled-components": {
+ "version": "1.12.0",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-module-imports": "^7.0.0",
+ "babel-plugin-syntax-jsx": "^6.18.0",
+ "lodash": "^4.17.11"
+ }
+ },
+ "babel-plugin-syntax-jsx": {
+ "version": "6.18.0"
+ },
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0"
+ },
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-remove-prop-types": {
+ "version": "0.4.24"
+ },
+ "babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "26.6.2",
+ "requires": {
+ "babel-plugin-jest-hoist": "^26.6.2",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ }
+ },
+ "babel-preset-react-app": {
+ "version": "10.0.0",
+ "requires": {
+ "@babel/core": "7.12.3",
+ "@babel/plugin-proposal-class-properties": "7.12.1",
+ "@babel/plugin-proposal-decorators": "7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1",
+ "@babel/plugin-proposal-numeric-separator": "7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "7.12.1",
+ "@babel/plugin-transform-flow-strip-types": "7.12.1",
+ "@babel/plugin-transform-react-display-name": "7.12.1",
+ "@babel/plugin-transform-runtime": "7.12.1",
+ "@babel/preset-env": "7.12.1",
+ "@babel/preset-react": "7.12.1",
+ "@babel/preset-typescript": "7.12.1",
+ "@babel/runtime": "7.12.1",
+ "babel-plugin-macros": "2.8.0",
+ "babel-plugin-transform-react-remove-prop-types": "0.4.24"
+ },
+ "dependencies": {
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ }
+ },
+ "@babel/plugin-transform-react-display-name": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/compat-data": "^7.12.1",
+ "@babel/helper-compilation-targets": "^7.12.1",
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-validator-option": "^7.12.1",
+ "@babel/plugin-proposal-async-generator-functions": "^7.12.1",
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
+ "@babel/plugin-proposal-dynamic-import": "^7.12.1",
+ "@babel/plugin-proposal-export-namespace-from": "^7.12.1",
+ "@babel/plugin-proposal-json-strings": "^7.12.1",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
+ "@babel/plugin-proposal-numeric-separator": "^7.12.1",
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.1",
+ "@babel/plugin-proposal-private-methods": "^7.12.1",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-class-properties": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+ "@babel/plugin-syntax-top-level-await": "^7.12.1",
+ "@babel/plugin-transform-arrow-functions": "^7.12.1",
+ "@babel/plugin-transform-async-to-generator": "^7.12.1",
+ "@babel/plugin-transform-block-scoped-functions": "^7.12.1",
+ "@babel/plugin-transform-block-scoping": "^7.12.1",
+ "@babel/plugin-transform-classes": "^7.12.1",
+ "@babel/plugin-transform-computed-properties": "^7.12.1",
+ "@babel/plugin-transform-destructuring": "^7.12.1",
+ "@babel/plugin-transform-dotall-regex": "^7.12.1",
+ "@babel/plugin-transform-duplicate-keys": "^7.12.1",
+ "@babel/plugin-transform-exponentiation-operator": "^7.12.1",
+ "@babel/plugin-transform-for-of": "^7.12.1",
+ "@babel/plugin-transform-function-name": "^7.12.1",
+ "@babel/plugin-transform-literals": "^7.12.1",
+ "@babel/plugin-transform-member-expression-literals": "^7.12.1",
+ "@babel/plugin-transform-modules-amd": "^7.12.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.12.1",
+ "@babel/plugin-transform-modules-systemjs": "^7.12.1",
+ "@babel/plugin-transform-modules-umd": "^7.12.1",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1",
+ "@babel/plugin-transform-new-target": "^7.12.1",
+ "@babel/plugin-transform-object-super": "^7.12.1",
+ "@babel/plugin-transform-parameters": "^7.12.1",
+ "@babel/plugin-transform-property-literals": "^7.12.1",
+ "@babel/plugin-transform-regenerator": "^7.12.1",
+ "@babel/plugin-transform-reserved-words": "^7.12.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.1",
+ "@babel/plugin-transform-spread": "^7.12.1",
+ "@babel/plugin-transform-sticky-regex": "^7.12.1",
+ "@babel/plugin-transform-template-literals": "^7.12.1",
+ "@babel/plugin-transform-typeof-symbol": "^7.12.1",
+ "@babel/plugin-transform-unicode-escapes": "^7.12.1",
+ "@babel/plugin-transform-unicode-regex": "^7.12.1",
+ "@babel/preset-modules": "^0.1.3",
+ "@babel/types": "^7.12.1",
+ "core-js-compat": "^3.6.2",
+ "semver": "^5.5.0"
+ }
+ },
+ "@babel/preset-react": {
+ "version": "7.12.1",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-transform-react-display-name": "^7.12.1",
+ "@babel/plugin-transform-react-jsx": "^7.12.1",
+ "@babel/plugin-transform-react-jsx-development": "^7.12.1",
+ "@babel/plugin-transform-react-jsx-self": "^7.12.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.12.1",
+ "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
+ },
+ "dependencies": {
+ "@babel/plugin-transform-react-jsx-self": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-source": {
+ "version": "7.12.13",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "5.7.1"
+ }
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.6.12"
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1"
+ }
+ }
+ },
+ "babylon": {
+ "version": "6.18.0"
+ },
+ "balanced-match": {
+ "version": "1.0.0"
+ },
+ "base": {
+ "version": "0.11.2",
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.5.1"
+ },
+ "batch": {
+ "version": "0.6.1"
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "bfj": {
+ "version": "7.0.2",
+ "requires": {
+ "bluebird": "^3.5.5",
+ "check-types": "^11.1.1",
+ "hoopy": "^0.1.4",
+ "tryer": "^1.0.1"
+ }
+ },
+ "big.js": {
+ "version": "5.2.2"
+ },
+ "binary-extensions": {
+ "version": "2.2.0"
+ },
+ "bindings": {
+ "version": "1.5.0",
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
+ "bluebird": {
+ "version": "3.7.2"
+ },
+ "bn.js": {
+ "version": "5.2.0"
+ },
+ "body-parser": {
+ "version": "1.19.0",
+ "requires": {
+ "bytes": "3.1.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.1.0"
+ },
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ },
+ "qs": {
+ "version": "6.7.0"
+ }
+ }
+ },
+ "bonjour": {
+ "version": "3.5.0",
+ "requires": {
+ "array-flatten": "^2.1.0",
+ "deep-equal": "^1.0.1",
+ "dns-equal": "^1.0.0",
+ "dns-txt": "^2.0.2",
+ "multicast-dns": "^6.0.1",
+ "multicast-dns-service-types": "^1.1.0"
+ }
+ },
+ "boolbase": {
+ "version": "1.0.0"
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0"
+ },
+ "browser-process-hrtime": {
+ "version": "1.0.0"
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.1.0",
+ "requires": {
+ "bn.js": "^5.0.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.2.1",
+ "requires": {
+ "bn.js": "^5.1.1",
+ "browserify-rsa": "^4.0.1",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "elliptic": "^6.5.3",
+ "inherits": "^2.0.4",
+ "parse-asn1": "^5.1.5",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1"
+ }
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "browserslist": {
+ "version": "4.16.3",
+ "requires": {
+ "caniuse-lite": "^1.0.30001181",
+ "colorette": "^1.2.1",
+ "electron-to-chromium": "^1.3.649",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.70"
+ }
+ },
+ "bser": {
+ "version": "2.1.1",
+ "requires": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "buffer": {
+ "version": "4.9.2",
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1"
+ },
+ "buffer-indexof": {
+ "version": "1.1.1"
+ },
+ "buffer-xor": {
+ "version": "1.0.3"
+ },
+ "builtin-modules": {
+ "version": "3.2.0"
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0"
+ },
+ "bytes": {
+ "version": "3.0.0"
+ },
+ "cacache": {
+ "version": "15.0.5",
+ "requires": {
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.0",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4"
+ }
+ }
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "caller-callsite": {
+ "version": "2.0.0",
+ "requires": {
+ "callsites": "^2.0.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "caller-path": {
+ "version": "2.0.0",
+ "requires": {
+ "caller-callsite": "^2.0.0"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0"
+ },
+ "camel-case": {
+ "version": "4.1.2",
+ "requires": {
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "camelcase": {
+ "version": "6.2.0"
+ },
+ "camelize": {
+ "version": "1.0.0"
+ },
+ "caniuse-api": {
+ "version": "3.0.0",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001198"
+ },
+ "capture-exit": {
+ "version": "2.0.0",
+ "requires": {
+ "rsvp": "^4.8.4"
+ }
+ },
+ "case-sensitive-paths-webpack-plugin": {
+ "version": "2.3.0"
+ },
+ "caseless": {
+ "version": "0.12.0"
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "char-regex": {
+ "version": "1.0.2"
+ },
+ "character-entities": {
+ "version": "1.2.4"
+ },
+ "character-entities-legacy": {
+ "version": "1.1.4"
+ },
+ "character-reference-invalid": {
+ "version": "1.1.4"
+ },
+ "check-types": {
+ "version": "11.1.2"
+ },
+ "chokidar": {
+ "version": "3.5.1",
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.1",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.5.0"
+ }
+ },
+ "chownr": {
+ "version": "2.0.0"
+ },
+ "chrome-trace-event": {
+ "version": "1.0.2",
+ "requires": {
+ "tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1"
+ }
+ }
+ },
+ "ci-info": {
+ "version": "2.0.0"
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "cjs-module-lexer": {
+ "version": "0.6.0"
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0"
+ }
+ }
+ },
+ "clean-css": {
+ "version": "4.2.3",
+ "requires": {
+ "source-map": "~0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "clean-stack": {
+ "version": "2.2.0"
+ },
+ "clipboard": {
+ "version": "2.0.8",
+ "optional": true,
+ "requires": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "clsx": {
+ "version": "1.1.1"
+ },
+ "co": {
+ "version": "4.6.0"
+ },
+ "coa": {
+ "version": "2.0.2",
+ "requires": {
+ "@types/q": "^1.5.1",
+ "chalk": "^2.4.1",
+ "q": "^1.1.2"
+ }
+ },
+ "collect-v8-coverage": {
+ "version": "1.0.1"
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color": {
+ "version": "3.1.3",
+ "requires": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.4"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3"
+ },
+ "color-string": {
+ "version": "1.5.5",
+ "requires": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "colorette": {
+ "version": "1.2.2"
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "comma-separated-tokens": {
+ "version": "1.0.8"
+ },
+ "commander": {
+ "version": "4.1.1"
+ },
+ "common-tags": {
+ "version": "1.8.0"
+ },
+ "commondir": {
+ "version": "1.0.1"
+ },
+ "component-emitter": {
+ "version": "1.3.0"
+ },
+ "compose-function": {
+ "version": "3.0.3",
+ "requires": {
+ "arity-n": "^1.0.4"
+ }
+ },
+ "compressible": {
+ "version": "2.0.18",
+ "requires": {
+ "mime-db": ">= 1.43.0 < 2"
+ }
+ },
+ "compression": {
+ "version": "1.7.4",
+ "requires": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.16",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1"
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "confusing-browser-globals": {
+ "version": "1.0.10"
+ },
+ "connect-history-api-fallback": {
+ "version": "1.6.0"
+ },
+ "console-browserify": {
+ "version": "1.2.0"
+ },
+ "constants-browserify": {
+ "version": "1.0.0"
+ },
+ "contains-path": {
+ "version": "0.1.0"
+ },
+ "content-disposition": {
+ "version": "0.5.3",
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4"
+ },
+ "convert-source-map": {
+ "version": "1.7.0",
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "cookie": {
+ "version": "0.4.0"
+ },
+ "cookie-signature": {
+ "version": "1.0.6"
+ },
+ "copy-concurrently": {
+ "version": "1.0.5",
+ "requires": {
+ "aproba": "^1.1.1",
+ "fs-write-stream-atomic": "^1.0.8",
+ "iferr": "^0.1.5",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.0"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1"
+ },
+ "core-js": {
+ "version": "3.9.1"
+ },
+ "core-js-compat": {
+ "version": "3.9.1",
+ "requires": {
+ "browserslist": "^4.16.3",
+ "semver": "7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0"
+ }
+ }
+ },
+ "core-js-pure": {
+ "version": "3.9.1"
+ },
+ "core-util-is": {
+ "version": "1.0.2"
+ },
+ "cosmiconfig": {
+ "version": "7.0.0",
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.4",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.5.3"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.0"
+ }
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0"
+ },
+ "css": {
+ "version": "2.2.4",
+ "requires": {
+ "inherits": "^2.0.3",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.5.2",
+ "urix": "^0.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "css-blank-pseudo": {
+ "version": "0.1.4",
+ "requires": {
+ "postcss": "^7.0.5"
+ }
+ },
+ "css-color-keywords": {
+ "version": "1.0.0"
+ },
+ "css-color-names": {
+ "version": "0.0.4"
+ },
+ "css-declaration-sorter": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.1",
+ "timsort": "^0.3.0"
+ }
+ },
+ "css-has-pseudo": {
+ "version": "0.10.0",
+ "requires": {
+ "postcss": "^7.0.6",
+ "postcss-selector-parser": "^5.0.0-rc.4"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0"
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "css-loader": {
+ "version": "4.3.0",
+ "requires": {
+ "camelcase": "^6.0.0",
+ "cssesc": "^3.0.0",
+ "icss-utils": "^4.1.1",
+ "loader-utils": "^2.0.0",
+ "postcss": "^7.0.32",
+ "postcss-modules-extract-imports": "^2.0.0",
+ "postcss-modules-local-by-default": "^3.0.3",
+ "postcss-modules-scope": "^2.2.0",
+ "postcss-modules-values": "^3.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^2.7.1",
+ "semver": "^7.3.2"
+ }
+ },
+ "css-prefers-color-scheme": {
+ "version": "3.1.1",
+ "requires": {
+ "postcss": "^7.0.5"
+ }
+ },
+ "css-select": {
+ "version": "2.1.0",
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "^3.2.1",
+ "domutils": "^1.7.0",
+ "nth-check": "^1.0.2"
+ }
+ },
+ "css-select-base-adapter": {
+ "version": "0.1.1"
+ },
+ "css-to-react-native": {
+ "version": "3.0.0",
+ "requires": {
+ "camelize": "^1.0.0",
+ "css-color-keywords": "^1.0.0",
+ "postcss-value-parser": "^4.0.2"
+ }
+ },
+ "css-tree": {
+ "version": "1.0.0-alpha.37",
+ "requires": {
+ "mdn-data": "2.0.4",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "css-vendor": {
+ "version": "2.0.8",
+ "requires": {
+ "@babel/runtime": "^7.8.3",
+ "is-in-browser": "^1.0.2"
+ }
+ },
+ "css-what": {
+ "version": "3.4.2"
+ },
+ "css.escape": {
+ "version": "1.5.1"
+ },
+ "cssdb": {
+ "version": "4.4.0"
+ },
+ "cssesc": {
+ "version": "3.0.0"
+ },
+ "cssnano": {
+ "version": "4.1.10",
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "cssnano-preset-default": "^4.0.7",
+ "is-resolvable": "^1.0.0",
+ "postcss": "^7.0.0"
+ },
+ "dependencies": {
+ "cosmiconfig": {
+ "version": "5.2.1",
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ }
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "cssnano-preset-default": {
+ "version": "4.0.7",
+ "requires": {
+ "css-declaration-sorter": "^4.0.1",
+ "cssnano-util-raw-cache": "^4.0.1",
+ "postcss": "^7.0.0",
+ "postcss-calc": "^7.0.1",
+ "postcss-colormin": "^4.0.3",
+ "postcss-convert-values": "^4.0.1",
+ "postcss-discard-comments": "^4.0.2",
+ "postcss-discard-duplicates": "^4.0.2",
+ "postcss-discard-empty": "^4.0.1",
+ "postcss-discard-overridden": "^4.0.1",
+ "postcss-merge-longhand": "^4.0.11",
+ "postcss-merge-rules": "^4.0.3",
+ "postcss-minify-font-values": "^4.0.2",
+ "postcss-minify-gradients": "^4.0.2",
+ "postcss-minify-params": "^4.0.2",
+ "postcss-minify-selectors": "^4.0.2",
+ "postcss-normalize-charset": "^4.0.1",
+ "postcss-normalize-display-values": "^4.0.2",
+ "postcss-normalize-positions": "^4.0.2",
+ "postcss-normalize-repeat-style": "^4.0.2",
+ "postcss-normalize-string": "^4.0.2",
+ "postcss-normalize-timing-functions": "^4.0.2",
+ "postcss-normalize-unicode": "^4.0.1",
+ "postcss-normalize-url": "^4.0.1",
+ "postcss-normalize-whitespace": "^4.0.2",
+ "postcss-ordered-values": "^4.1.2",
+ "postcss-reduce-initial": "^4.0.3",
+ "postcss-reduce-transforms": "^4.0.2",
+ "postcss-svgo": "^4.0.2",
+ "postcss-unique-selectors": "^4.0.1"
+ }
+ },
+ "cssnano-util-get-arguments": {
+ "version": "4.0.0"
+ },
+ "cssnano-util-get-match": {
+ "version": "4.0.0"
+ },
+ "cssnano-util-raw-cache": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "cssnano-util-same-parent": {
+ "version": "4.0.1"
+ },
+ "csso": {
+ "version": "4.2.0",
+ "requires": {
+ "css-tree": "^1.1.2"
+ },
+ "dependencies": {
+ "css-tree": {
+ "version": "1.1.2",
+ "requires": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ }
+ },
+ "mdn-data": {
+ "version": "2.0.14"
+ },
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.4.4"
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8"
+ }
+ }
+ },
+ "csstype": {
+ "version": "2.6.16"
+ },
+ "cyclist": {
+ "version": "1.0.1"
+ },
+ "d": {
+ "version": "1.0.1",
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "damerau-levenshtein": {
+ "version": "1.0.6"
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "data-urls": {
+ "version": "2.0.0",
+ "requires": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.3.1",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0"
+ },
+ "decimal.js": {
+ "version": "10.2.1"
+ },
+ "decode-uri-component": {
+ "version": "0.2.0"
+ },
+ "dedent": {
+ "version": "0.7.0"
+ },
+ "deep-equal": {
+ "version": "1.1.1",
+ "requires": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ }
+ },
+ "deep-is": {
+ "version": "0.1.3"
+ },
+ "deepmerge": {
+ "version": "4.2.2"
+ },
+ "default-gateway": {
+ "version": "4.2.0",
+ "requires": {
+ "execa": "^1.0.0",
+ "ip-regex": "^2.1.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0"
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1"
+ },
+ "semver": {
+ "version": "5.7.1"
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0"
+ },
+ "which": {
+ "version": "1.3.1",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ }
+ },
+ "del": {
+ "version": "4.1.1",
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "globby": "^6.1.0",
+ "is-path-cwd": "^2.0.0",
+ "is-path-in-cwd": "^2.0.0",
+ "p-map": "^2.0.0",
+ "pify": "^4.0.1",
+ "rimraf": "^2.6.3"
+ },
+ "dependencies": {
+ "array-union": {
+ "version": "1.0.2",
+ "requires": {
+ "array-uniq": "^1.0.1"
+ }
+ },
+ "globby": {
+ "version": "6.1.0",
+ "requires": {
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0"
+ }
+ }
+ },
+ "p-map": {
+ "version": "2.1.0"
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0"
+ },
+ "delegate": {
+ "version": "3.2.0",
+ "optional": true
+ },
+ "depd": {
+ "version": "1.1.2"
+ },
+ "des.js": {
+ "version": "1.0.1",
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4"
+ },
+ "detect-newline": {
+ "version": "3.1.0"
+ },
+ "detect-node": {
+ "version": "2.0.4"
+ },
+ "detect-port-alt": {
+ "version": "1.1.6",
+ "requires": {
+ "address": "^1.0.1",
+ "debug": "^2.6.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "diff-sequences": {
+ "version": "26.6.2"
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.0"
+ }
+ }
+ },
+ "dir-glob": {
+ "version": "3.0.1",
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0"
+ },
+ "dns-packet": {
+ "version": "1.3.1",
+ "requires": {
+ "ip": "^1.1.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "dns-txt": {
+ "version": "2.0.2",
+ "requires": {
+ "buffer-indexof": "^1.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "dom-accessibility-api": {
+ "version": "0.5.4"
+ },
+ "dom-converter": {
+ "version": "0.2.0",
+ "requires": {
+ "utila": "~0.4"
+ }
+ },
+ "dom-helpers": {
+ "version": "5.2.0",
+ "requires": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.0.7"
+ }
+ }
+ },
+ "dom-serializer": {
+ "version": "0.2.2",
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "entities": "^2.0.0"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "2.1.0"
+ }
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0"
+ },
+ "domelementtype": {
+ "version": "1.3.1"
+ },
+ "domexception": {
+ "version": "2.0.1",
+ "requires": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "5.0.0"
+ }
+ }
+ },
+ "domhandler": {
+ "version": "2.4.2",
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "domutils": {
+ "version": "1.7.0",
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "dot-case": {
+ "version": "3.0.4",
+ "requires": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "dot-prop": {
+ "version": "5.3.0",
+ "requires": {
+ "is-obj": "^2.0.0"
+ },
+ "dependencies": {
+ "is-obj": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "dotenv": {
+ "version": "8.2.0"
+ },
+ "dotenv-expand": {
+ "version": "5.1.0"
+ },
+ "duplexer": {
+ "version": "0.1.2"
+ },
+ "duplexify": {
+ "version": "3.7.1",
+ "requires": {
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1"
+ },
+ "ejs": {
+ "version": "2.7.4"
+ },
+ "electron-to-chromium": {
+ "version": "1.3.684"
+ },
+ "elliptic": {
+ "version": "6.5.4",
+ "requires": {
+ "bn.js": "^4.11.9",
+ "brorand": "^1.1.0",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.1",
+ "inherits": "^2.0.4",
+ "minimalistic-assert": "^1.0.1",
+ "minimalistic-crypto-utils": "^1.0.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.0"
+ }
+ }
+ },
+ "emittery": {
+ "version": "0.7.2"
+ },
+ "emoji-regex": {
+ "version": "9.2.2"
+ },
+ "emojis-list": {
+ "version": "3.0.0"
+ },
+ "encodeurl": {
+ "version": "1.0.2"
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "4.5.0",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.5.0",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "enquirer": {
+ "version": "2.3.6",
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
+ "entities": {
+ "version": "2.2.0"
+ },
+ "errno": {
+ "version": "0.1.8",
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "error-stack-parser": {
+ "version": "2.0.6",
+ "requires": {
+ "stackframe": "^1.1.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.18.0",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.2",
+ "is-callable": "^1.2.3",
+ "is-negative-zero": "^2.0.1",
+ "is-regex": "^1.1.2",
+ "is-string": "^1.0.5",
+ "object-inspect": "^1.9.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.2",
+ "string.prototype.trimend": "^1.0.4",
+ "string.prototype.trimstart": "^1.0.4",
+ "unbox-primitive": "^1.0.0"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.53",
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.3",
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "escalade": {
+ "version": "3.1.1"
+ },
+ "escape-html": {
+ "version": "1.0.3"
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5"
+ },
+ "escodegen": {
+ "version": "2.0.0",
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.2.0"
+ },
+ "levn": {
+ "version": "0.3.0",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2"
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "optional": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ }
+ }
+ },
+ "eslint": {
+ "version": "7.21.0",
+ "requires": {
+ "@babel/code-frame": "7.12.11",
+ "@eslint/eslintrc": "^0.4.0",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash": "^4.17.20",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.4",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.12.11",
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "globals": {
+ "version": "12.4.0",
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "eslint-config-react-app": {
+ "version": "6.0.0",
+ "requires": {
+ "confusing-browser-globals": "^1.0.10"
+ }
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.4",
+ "requires": {
+ "debug": "^2.6.9",
+ "resolve": "^1.13.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.6.0",
+ "requires": {
+ "debug": "^2.6.9",
+ "pkg-dir": "^2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "eslint-plugin-flowtype": {
+ "version": "5.3.1",
+ "requires": {
+ "lodash": "^4.17.15",
+ "string-natural-compare": "^3.0.1"
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.22.1",
+ "requires": {
+ "array-includes": "^3.1.1",
+ "array.prototype.flat": "^1.2.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.4",
+ "eslint-module-utils": "^2.6.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.1",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.17.0",
+ "tsconfig-paths": "^3.9.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "1.5.0",
+ "requires": {
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "eslint-plugin-jest": {
+ "version": "24.2.1",
+ "requires": {
+ "@typescript-eslint/experimental-utils": "^4.0.1"
+ }
+ },
+ "eslint-plugin-jsx-a11y": {
+ "version": "6.4.1",
+ "requires": {
+ "@babel/runtime": "^7.11.2",
+ "aria-query": "^4.2.2",
+ "array-includes": "^3.1.1",
+ "ast-types-flow": "^0.0.7",
+ "axe-core": "^4.0.2",
+ "axobject-query": "^2.2.0",
+ "damerau-levenshtein": "^1.0.6",
+ "emoji-regex": "^9.0.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^3.1.0",
+ "language-tags": "^1.0.5"
+ }
+ },
+ "eslint-plugin-react": {
+ "version": "7.22.0",
+ "requires": {
+ "array-includes": "^3.1.1",
+ "array.prototype.flatmap": "^1.2.3",
+ "doctrine": "^2.1.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "object.entries": "^1.1.2",
+ "object.fromentries": "^2.0.2",
+ "object.values": "^1.1.1",
+ "prop-types": "^15.7.2",
+ "resolve": "^1.18.1",
+ "string.prototype.matchall": "^4.0.2"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "2.1.0",
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ }
+ }
+ },
+ "eslint-plugin-react-hooks": {
+ "version": "4.2.0",
+ "requires": {}
+ },
+ "eslint-plugin-testing-library": {
+ "version": "3.10.1",
+ "requires": {
+ "@typescript-eslint/experimental-utils": "^3.10.1"
+ },
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": {
+ "version": "3.10.1",
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/types": "3.10.1",
+ "@typescript-eslint/typescript-estree": "3.10.1",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "3.10.1"
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "3.10.1",
+ "requires": {
+ "@typescript-eslint/types": "3.10.1",
+ "@typescript-eslint/visitor-keys": "3.10.1",
+ "debug": "^4.1.1",
+ "glob": "^7.1.6",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.15",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "3.10.1",
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.3.0"
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "5.1.1",
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "2.1.0",
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0"
+ }
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "2.0.0"
+ },
+ "eslint-webpack-plugin": {
+ "version": "2.5.2",
+ "requires": {
+ "@types/eslint": "^7.2.6",
+ "arrify": "^2.0.1",
+ "jest-worker": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.0.0",
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
+ "espree": {
+ "version": "7.3.1",
+ "requires": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0"
+ }
+ }
+ },
+ "esprima": {
+ "version": "4.0.1"
+ },
+ "esquery": {
+ "version": "1.4.0",
+ "requires": {
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.2.0"
+ }
+ }
+ },
+ "esrecurse": {
+ "version": "4.3.0",
+ "requires": {
+ "estraverse": "^5.2.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.2.0"
+ }
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0"
+ },
+ "estree-walker": {
+ "version": "1.0.1"
+ },
+ "esutils": {
+ "version": "2.0.3"
+ },
+ "etag": {
+ "version": "1.8.1"
+ },
+ "eventemitter3": {
+ "version": "4.0.7"
+ },
+ "events": {
+ "version": "3.3.0"
+ },
+ "eventsource": {
+ "version": "1.0.7",
+ "requires": {
+ "original": "^1.0.0"
+ }
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "exec-sh": {
+ "version": "0.3.4"
+ },
+ "execa": {
+ "version": "4.1.0",
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2"
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ },
+ "kind-of": {
+ "version": "5.1.0"
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "expect": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "ansi-styles": "^4.0.0",
+ "jest-get-type": "^26.3.0",
+ "jest-matcher-utils": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-regex-util": "^26.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ }
+ }
+ },
+ "express": {
+ "version": "4.17.1",
+ "requires": {
+ "accepts": "~1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "~1.0.4",
+ "cookie": "0.4.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.1.2",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.5",
+ "qs": "6.7.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "~1.5.0",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "array-flatten": {
+ "version": "1.1.1"
+ },
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ },
+ "qs": {
+ "version": "6.7.0"
+ }
+ }
+ },
+ "ext": {
+ "version": "1.4.0",
+ "requires": {
+ "type": "^2.0.0"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.5.0"
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2"
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0"
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3"
+ },
+ "fast-glob": {
+ "version": "3.2.5",
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0"
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6"
+ },
+ "fastq": {
+ "version": "1.11.0",
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "fault": {
+ "version": "1.0.4",
+ "requires": {
+ "format": "^0.2.0"
+ }
+ },
+ "faye-websocket": {
+ "version": "0.11.3",
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ },
+ "fb-watchman": {
+ "version": "2.0.1",
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
+ "figgy-pudding": {
+ "version": "3.5.2"
+ },
+ "file-entry-cache": {
+ "version": "6.0.1",
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "file-loader": {
+ "version": "6.1.1",
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.0.0",
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
+ "file-selector": {
+ "version": "0.2.4",
+ "requires": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "optional": true
+ },
+ "filesize": {
+ "version": "6.1.0"
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.2",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "3.0.0",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0"
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "3.0.4",
+ "requires": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "flatted": {
+ "version": "3.1.1"
+ },
+ "flatten": {
+ "version": "1.0.3"
+ },
+ "flush-write-stream": {
+ "version": "1.1.1",
+ "requires": {
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.3.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "follow-redirects": {
+ "version": "1.13.3"
+ },
+ "for-in": {
+ "version": "1.0.2"
+ },
+ "forever-agent": {
+ "version": "0.6.1"
+ },
+ "fork-ts-checker-webpack-plugin": {
+ "version": "4.1.6",
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "chalk": "^2.4.1",
+ "micromatch": "^3.1.10",
+ "minimatch": "^3.0.4",
+ "semver": "^5.6.0",
+ "tapable": "^1.0.0",
+ "worker-rpc": "^0.1.0"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "2.3.2",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "semver": {
+ "version": "5.7.1"
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "format": {
+ "version": "0.2.2"
+ },
+ "forwarded": {
+ "version": "0.1.2"
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fresh": {
+ "version": "0.5.2"
+ },
+ "from2": {
+ "version": "2.3.0",
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "fs-extra": {
+ "version": "9.1.0",
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "fs-minipass": {
+ "version": "2.1.0",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "iferr": "^0.1.5",
+ "imurmurhash": "^0.1.4",
+ "readable-stream": "1 || 2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0"
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1"
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1"
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2"
+ },
+ "get-caller-file": {
+ "version": "2.0.5"
+ },
+ "get-intrinsic": {
+ "version": "1.1.1",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "get-own-enumerable-property-symbols": {
+ "version": "3.0.2"
+ },
+ "get-package-type": {
+ "version": "0.1.0"
+ },
+ "get-stream": {
+ "version": "5.2.0",
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6"
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "global-modules": {
+ "version": "2.0.0",
+ "requires": {
+ "global-prefix": "^3.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "3.0.0",
+ "requires": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "globals": {
+ "version": "11.12.0"
+ },
+ "globby": {
+ "version": "11.0.2",
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ignore": {
+ "version": "5.1.8"
+ }
+ }
+ },
+ "good-listener": {
+ "version": "1.2.2",
+ "optional": true,
+ "requires": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.6"
+ },
+ "growly": {
+ "version": "1.3.0",
+ "optional": true
+ },
+ "gzip-size": {
+ "version": "5.1.1",
+ "requires": {
+ "duplexer": "^0.1.1",
+ "pify": "^4.0.1"
+ }
+ },
+ "handle-thing": {
+ "version": "2.0.1"
+ },
+ "har-schema": {
+ "version": "2.0.0"
+ },
+ "har-validator": {
+ "version": "5.1.5",
+ "requires": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "harmony-reflect": {
+ "version": "1.6.1"
+ },
+ "has": {
+ "version": "1.0.3",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-bigints": {
+ "version": "1.0.1"
+ },
+ "has-flag": {
+ "version": "3.0.0"
+ },
+ "has-symbols": {
+ "version": "1.0.2"
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.1.0",
+ "requires": {
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1"
+ }
+ }
+ },
+ "hash.js": {
+ "version": "1.1.7",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "hast-util-parse-selector": {
+ "version": "2.2.5"
+ },
+ "hastscript": {
+ "version": "5.1.2",
+ "requires": {
+ "comma-separated-tokens": "^1.0.0",
+ "hast-util-parse-selector": "^2.0.0",
+ "property-information": "^5.0.0",
+ "space-separated-tokens": "^1.0.0"
+ }
+ },
+ "he": {
+ "version": "1.2.0"
+ },
+ "hex-color-regex": {
+ "version": "1.1.0"
+ },
+ "highlight.js": {
+ "version": "9.15.10"
+ },
+ "history": {
+ "version": "4.10.1",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "loose-envify": "^1.2.0",
+ "resolve-pathname": "^3.0.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0",
+ "value-equal": "^1.0.1"
+ }
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "hoist-non-react-statics": {
+ "version": "3.3.2",
+ "requires": {
+ "react-is": "^16.7.0"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1"
+ }
+ }
+ },
+ "hoopy": {
+ "version": "0.1.4"
+ },
+ "hosted-git-info": {
+ "version": "2.8.8"
+ },
+ "hpack.js": {
+ "version": "2.1.6",
+ "requires": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "hsl-regex": {
+ "version": "1.0.0"
+ },
+ "hsla-regex": {
+ "version": "1.0.0"
+ },
+ "html-comment-regex": {
+ "version": "1.1.2"
+ },
+ "html-encoding-sniffer": {
+ "version": "2.0.1",
+ "requires": {
+ "whatwg-encoding": "^1.0.5"
+ }
+ },
+ "html-entities": {
+ "version": "1.4.0"
+ },
+ "html-escaper": {
+ "version": "2.0.2"
+ },
+ "html-minifier-terser": {
+ "version": "5.1.1",
+ "requires": {
+ "camel-case": "^4.1.1",
+ "clean-css": "^4.2.3",
+ "commander": "^4.1.1",
+ "he": "^1.2.0",
+ "param-case": "^3.0.3",
+ "relateurl": "^0.2.7",
+ "terser": "^4.6.3"
+ }
+ },
+ "html-webpack-plugin": {
+ "version": "4.5.0",
+ "requires": {
+ "@types/html-minifier-terser": "^5.0.0",
+ "@types/tapable": "^1.0.5",
+ "@types/webpack": "^4.41.8",
+ "html-minifier-terser": "^5.0.1",
+ "loader-utils": "^1.2.3",
+ "lodash": "^4.17.15",
+ "pretty-error": "^2.1.1",
+ "tapable": "^1.1.3",
+ "util.promisify": "1.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ }
+ }
+ },
+ "htmlparser2": {
+ "version": "3.10.1",
+ "requires": {
+ "domelementtype": "^1.3.1",
+ "domhandler": "^2.3.0",
+ "domutils": "^1.5.1",
+ "entities": "^1.1.1",
+ "inherits": "^2.0.1",
+ "readable-stream": "^3.1.1"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "1.1.2"
+ }
+ }
+ },
+ "http-deceiver": {
+ "version": "1.2.7"
+ },
+ "http-errors": {
+ "version": "1.7.2",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3"
+ }
+ }
+ },
+ "http-parser-js": {
+ "version": "0.5.3"
+ },
+ "http-proxy": {
+ "version": "1.18.1",
+ "requires": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "0.19.1",
+ "requires": {
+ "http-proxy": "^1.17.0",
+ "is-glob": "^4.0.0",
+ "lodash": "^4.17.11",
+ "micromatch": "^3.1.10"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "2.3.2",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "https-browserify": {
+ "version": "1.0.0"
+ },
+ "human-signals": {
+ "version": "1.1.1"
+ },
+ "hyphenate-style-name": {
+ "version": "1.0.4"
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "icss-utils": {
+ "version": "4.1.1",
+ "requires": {
+ "postcss": "^7.0.14"
+ }
+ },
+ "identity-obj-proxy": {
+ "version": "3.0.0",
+ "requires": {
+ "harmony-reflect": "^1.4.6"
+ }
+ },
+ "ieee754": {
+ "version": "1.2.1"
+ },
+ "iferr": {
+ "version": "0.1.5"
+ },
+ "ignore": {
+ "version": "4.0.6"
+ },
+ "immer": {
+ "version": "8.0.1"
+ },
+ "import-cwd": {
+ "version": "2.1.0",
+ "requires": {
+ "import-from": "^2.1.0"
+ }
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "4.0.0"
+ }
+ }
+ },
+ "import-from": {
+ "version": "2.1.0",
+ "requires": {
+ "resolve-from": "^3.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "import-local": {
+ "version": "3.0.2",
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "dependencies": {
+ "pkg-dir": {
+ "version": "4.2.0",
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ }
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4"
+ },
+ "indefinite-observable": {
+ "version": "2.0.1",
+ "requires": {
+ "symbol-observable": "1.2.0"
+ }
+ },
+ "indent-string": {
+ "version": "4.0.0"
+ },
+ "indexes-of": {
+ "version": "1.0.1"
+ },
+ "infer-owner": {
+ "version": "1.0.4"
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4"
+ },
+ "ini": {
+ "version": "1.3.8"
+ },
+ "internal-ip": {
+ "version": "4.3.0",
+ "requires": {
+ "default-gateway": "^4.2.0",
+ "ipaddr.js": "^1.9.0"
+ }
+ },
+ "internal-slot": {
+ "version": "1.0.3",
+ "requires": {
+ "get-intrinsic": "^1.1.0",
+ "has": "^1.0.3",
+ "side-channel": "^1.0.4"
+ }
+ },
+ "ip": {
+ "version": "1.1.5"
+ },
+ "ip-regex": {
+ "version": "2.1.0"
+ },
+ "ipaddr.js": {
+ "version": "1.9.1"
+ },
+ "is-absolute-url": {
+ "version": "2.1.0"
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-alphabetical": {
+ "version": "1.0.4"
+ },
+ "is-alphanumerical": {
+ "version": "1.0.4",
+ "requires": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ }
+ },
+ "is-arguments": {
+ "version": "1.1.0",
+ "requires": {
+ "call-bind": "^1.0.0"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1"
+ },
+ "is-bigint": {
+ "version": "1.0.1"
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-boolean-object": {
+ "version": "1.1.0",
+ "requires": {
+ "call-bind": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6"
+ },
+ "is-callable": {
+ "version": "1.2.3"
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "is-color-stop": {
+ "version": "1.1.0",
+ "requires": {
+ "css-color-names": "^0.0.4",
+ "hex-color-regex": "^1.1.0",
+ "hsl-regex": "^1.0.0",
+ "hsla-regex": "^1.0.0",
+ "rgb-regex": "^1.0.1",
+ "rgba-regex": "^1.0.0"
+ }
+ },
+ "is-core-module": {
+ "version": "2.2.0",
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.2"
+ },
+ "is-decimal": {
+ "version": "1.0.4"
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ },
+ "is-directory": {
+ "version": "0.3.1"
+ },
+ "is-docker": {
+ "version": "2.1.1"
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1"
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0"
+ },
+ "is-generator-fn": {
+ "version": "2.1.0"
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-hexadecimal": {
+ "version": "1.0.4"
+ },
+ "is-in-browser": {
+ "version": "1.1.3"
+ },
+ "is-module": {
+ "version": "1.0.0"
+ },
+ "is-negative-zero": {
+ "version": "2.0.1"
+ },
+ "is-number": {
+ "version": "7.0.0"
+ },
+ "is-number-object": {
+ "version": "1.0.4"
+ },
+ "is-obj": {
+ "version": "1.0.1"
+ },
+ "is-path-cwd": {
+ "version": "2.2.0"
+ },
+ "is-path-in-cwd": {
+ "version": "2.1.0",
+ "requires": {
+ "is-path-inside": "^2.1.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "2.1.0",
+ "requires": {
+ "path-is-inside": "^1.0.2"
+ }
+ },
+ "is-plain-obj": {
+ "version": "1.1.0"
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-potential-custom-element-name": {
+ "version": "1.0.0"
+ },
+ "is-regex": {
+ "version": "1.1.2",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-regexp": {
+ "version": "1.0.0"
+ },
+ "is-resolvable": {
+ "version": "1.1.0"
+ },
+ "is-root": {
+ "version": "2.1.0"
+ },
+ "is-stream": {
+ "version": "2.0.0"
+ },
+ "is-string": {
+ "version": "1.0.5"
+ },
+ "is-svg": {
+ "version": "3.0.0",
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.3",
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0"
+ },
+ "is-windows": {
+ "version": "1.0.2"
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0"
+ },
+ "isexe": {
+ "version": "2.0.0"
+ },
+ "isobject": {
+ "version": "3.0.1"
+ },
+ "isstream": {
+ "version": "0.1.2"
+ },
+ "istanbul-lib-coverage": {
+ "version": "3.0.0"
+ },
+ "istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0"
+ }
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "3.0.0",
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "4.0.0",
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "3.0.2",
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "jest": {
+ "version": "26.6.0",
+ "requires": {
+ "@jest/core": "^26.6.0",
+ "import-local": "^3.0.2",
+ "jest-cli": "^26.6.0"
+ }
+ },
+ "jest-changed-files": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "execa": "^4.0.0",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-circus": {
+ "version": "26.6.0",
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^26.6.0",
+ "@jest/test-result": "^26.6.0",
+ "@jest/types": "^26.6.0",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "expect": "^26.6.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^26.6.0",
+ "jest-matcher-utils": "^26.6.0",
+ "jest-message-util": "^26.6.0",
+ "jest-runner": "^26.6.0",
+ "jest-runtime": "^26.6.0",
+ "jest-snapshot": "^26.6.0",
+ "jest-util": "^26.6.0",
+ "pretty-format": "^26.6.0",
+ "stack-utils": "^2.0.2",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-cli": {
+ "version": "26.6.3",
+ "requires": {
+ "@jest/core": "^26.6.3",
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "is-ci": "^2.0.0",
+ "jest-config": "^26.6.3",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "prompts": "^2.0.1",
+ "yargs": "^15.4.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-config": {
+ "version": "26.6.3",
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^26.6.3",
+ "@jest/types": "^26.6.2",
+ "babel-jest": "^26.6.3",
+ "chalk": "^4.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-environment-jsdom": "^26.6.2",
+ "jest-environment-node": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "jest-jasmine2": "^26.6.3",
+ "jest-regex-util": "^26.0.0",
+ "jest-resolve": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^26.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "jest-resolve": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "jest-diff": {
+ "version": "26.6.2",
+ "requires": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "26.0.0",
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^26.3.0",
+ "jest-util": "^26.6.2",
+ "pretty-format": "^26.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/environment": "^26.6.2",
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "jest-mock": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jsdom": "^16.4.0"
+ }
+ },
+ "jest-environment-node": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/environment": "^26.6.2",
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "jest-mock": "^26.6.2",
+ "jest-util": "^26.6.2"
+ }
+ },
+ "jest-get-type": {
+ "version": "26.3.0"
+ },
+ "jest-haste-map": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "@types/graceful-fs": "^4.1.2",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-regex-util": "^26.0.0",
+ "jest-serializer": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-worker": "^26.6.2",
+ "micromatch": "^4.0.2",
+ "sane": "^4.0.3",
+ "walker": "^1.0.7"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "26.6.3",
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^26.6.2",
+ "@jest/source-map": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "expect": "^26.6.2",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^26.6.2",
+ "jest-matcher-utils": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-runtime": "^26.6.3",
+ "jest-snapshot": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "pretty-format": "^26.6.2",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-leak-detector": {
+ "version": "26.6.2",
+ "requires": {
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.6.2"
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "26.6.2",
+ "requires": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-message-util": {
+ "version": "26.6.2",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@jest/types": "^26.6.2",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^26.6.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-mock": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "@types/node": "*"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.2",
+ "requires": {}
+ },
+ "jest-regex-util": {
+ "version": "26.0.0"
+ },
+ "jest-resolve": {
+ "version": "26.6.0",
+ "requires": {
+ "@jest/types": "^26.6.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.0",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.17.0",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "26.6.3",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-snapshot": "^26.6.2"
+ }
+ },
+ "jest-runner": {
+ "version": "26.6.3",
+ "requires": {
+ "@jest/console": "^26.6.2",
+ "@jest/environment": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.7.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^26.6.3",
+ "jest-docblock": "^26.0.0",
+ "jest-haste-map": "^26.6.2",
+ "jest-leak-detector": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-resolve": "^26.6.2",
+ "jest-runtime": "^26.6.3",
+ "jest-util": "^26.6.2",
+ "jest-worker": "^26.6.2",
+ "source-map-support": "^0.5.6",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "jest-resolve": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "jest-runtime": {
+ "version": "26.6.3",
+ "requires": {
+ "@jest/console": "^26.6.2",
+ "@jest/environment": "^26.6.2",
+ "@jest/fake-timers": "^26.6.2",
+ "@jest/globals": "^26.6.2",
+ "@jest/source-map": "^26.6.2",
+ "@jest/test-result": "^26.6.2",
+ "@jest/transform": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^0.6.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^26.6.3",
+ "jest-haste-map": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-mock": "^26.6.2",
+ "jest-regex-util": "^26.0.0",
+ "jest-resolve": "^26.6.2",
+ "jest-snapshot": "^26.6.2",
+ "jest-util": "^26.6.2",
+ "jest-validate": "^26.6.2",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^15.4.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "jest-resolve": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "jest-serializer": {
+ "version": "26.6.2",
+ "requires": {
+ "@types/node": "*",
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "jest-snapshot": {
+ "version": "26.6.2",
+ "requires": {
+ "@babel/types": "^7.0.0",
+ "@jest/types": "^26.6.2",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/prettier": "^2.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^26.6.2",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "jest-haste-map": "^26.6.2",
+ "jest-matcher-utils": "^26.6.2",
+ "jest-message-util": "^26.6.2",
+ "jest-resolve": "^26.6.2",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^26.6.2",
+ "semver": "^7.3.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "jest-resolve": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.6.2",
+ "read-pkg-up": "^7.0.1",
+ "resolve": "^1.18.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1"
+ }
+ }
+ },
+ "jest-util": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "micromatch": "^4.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-validate": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "camelcase": "^6.0.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^26.3.0",
+ "leven": "^3.1.0",
+ "pretty-format": "^26.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-watch-typeahead": {
+ "version": "0.6.1",
+ "requires": {
+ "ansi-escapes": "^4.3.1",
+ "chalk": "^4.0.0",
+ "jest-regex-util": "^26.0.0",
+ "jest-watcher": "^26.3.0",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-watcher": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/test-result": "^26.6.2",
+ "@jest/types": "^26.6.2",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "jest-util": "^26.6.2",
+ "string-length": "^4.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-worker": {
+ "version": "26.6.2",
+ "requires": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0"
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1"
+ },
+ "jsdom": {
+ "version": "16.5.0",
+ "requires": {
+ "abab": "^2.0.5",
+ "acorn": "^8.0.5",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "is-potential-custom-element-name": "^1.0.0",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "request": "^2.88.2",
+ "request-promise-native": "^1.0.9",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0",
+ "ws": "^7.4.4",
+ "xml-name-validator": "^3.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "8.1.0"
+ }
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2"
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2"
+ },
+ "json-parse-even-better-errors": {
+ "version": "2.3.1"
+ },
+ "json-schema": {
+ "version": "0.2.3"
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1"
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1"
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1"
+ },
+ "json3": {
+ "version": "3.3.3"
+ },
+ "json5": {
+ "version": "2.2.0",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "jss": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "indefinite-observable": "^2.0.1",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.0.7"
+ }
+ }
+ },
+ "jss-plugin-camel-case": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "hyphenate-style-name": "^1.0.3",
+ "jss": "10.5.1"
+ }
+ },
+ "jss-plugin-default-unit": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1"
+ }
+ },
+ "jss-plugin-global": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1"
+ }
+ },
+ "jss-plugin-nested": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "jss-plugin-props-sort": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1"
+ }
+ },
+ "jss-plugin-rule-value-function": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.5.1",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "jss-plugin-vendor-prefixer": {
+ "version": "10.5.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "css-vendor": "^2.0.8",
+ "jss": "10.5.1"
+ }
+ },
+ "jsx-ast-utils": {
+ "version": "3.2.0",
+ "requires": {
+ "array-includes": "^3.1.2",
+ "object.assign": "^4.1.2"
+ }
+ },
+ "killable": {
+ "version": "1.0.1"
+ },
+ "kind-of": {
+ "version": "6.0.3"
+ },
+ "kleur": {
+ "version": "3.0.3"
+ },
+ "klona": {
+ "version": "2.0.4"
+ },
+ "language-subtag-registry": {
+ "version": "0.3.21"
+ },
+ "language-tags": {
+ "version": "1.0.5",
+ "requires": {
+ "language-subtag-registry": "~0.3.2"
+ }
+ },
+ "last-call-webpack-plugin": {
+ "version": "3.0.0",
+ "requires": {
+ "lodash": "^4.17.5",
+ "webpack-sources": "^1.1.0"
+ }
+ },
+ "leven": {
+ "version": "3.1.0"
+ },
+ "levn": {
+ "version": "0.4.1",
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6"
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "2.2.0",
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0"
+ },
+ "strip-bom": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "loader-runner": {
+ "version": "2.4.0"
+ },
+ "loader-utils": {
+ "version": "2.0.0",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21"
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0"
+ },
+ "lodash.debounce": {
+ "version": "4.0.8"
+ },
+ "lodash.memoize": {
+ "version": "4.1.2"
+ },
+ "lodash.sortby": {
+ "version": "4.7.0"
+ },
+ "lodash.template": {
+ "version": "4.5.0",
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "4.2.0",
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "lodash.uniq": {
+ "version": "4.5.0"
+ },
+ "loglevel": {
+ "version": "1.7.1"
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lottie-web": {
+ "version": "5.7.7"
+ },
+ "lower-case": {
+ "version": "2.0.2",
+ "requires": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "lowlight": {
+ "version": "1.12.1",
+ "requires": {
+ "fault": "^1.0.2",
+ "highlight.js": "~9.15.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "lz-string": {
+ "version": "1.4.4"
+ },
+ "magic-string": {
+ "version": "0.25.7",
+ "requires": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1"
+ }
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2"
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "md5.js": {
+ "version": "1.3.5",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "mdn-data": {
+ "version": "2.0.4"
+ },
+ "media-typer": {
+ "version": "0.3.0"
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "merge-descriptors": {
+ "version": "1.0.1"
+ },
+ "merge-stream": {
+ "version": "2.0.0"
+ },
+ "merge2": {
+ "version": "1.4.1"
+ },
+ "methods": {
+ "version": "1.1.2"
+ },
+ "microevent.ts": {
+ "version": "0.1.1"
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.0"
+ }
+ }
+ },
+ "mime": {
+ "version": "1.6.0"
+ },
+ "mime-db": {
+ "version": "1.46.0"
+ },
+ "mime-types": {
+ "version": "2.1.29",
+ "requires": {
+ "mime-db": "1.46.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0"
+ },
+ "min-indent": {
+ "version": "1.0.1"
+ },
+ "mini-create-react-context": {
+ "version": "0.4.1",
+ "requires": {
+ "@babel/runtime": "^7.12.1",
+ "tiny-warning": "^1.0.3"
+ }
+ },
+ "mini-css-extract-plugin": {
+ "version": "0.11.3",
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "normalize-url": "1.9.1",
+ "schema-utils": "^1.0.0",
+ "webpack-sources": "^1.1.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1"
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1"
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5"
+ },
+ "minipass": {
+ "version": "3.1.3",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minipass-collect": {
+ "version": "1.0.2",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-flush": {
+ "version": "1.0.5",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-pipeline": {
+ "version": "1.2.4",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "2.1.2",
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "mississippi": {
+ "version": "3.0.0",
+ "requires": {
+ "concat-stream": "^1.5.0",
+ "duplexify": "^3.4.2",
+ "end-of-stream": "^1.1.0",
+ "flush-write-stream": "^1.0.0",
+ "from2": "^2.1.0",
+ "parallel-transform": "^1.1.0",
+ "pump": "^3.0.0",
+ "pumpify": "^1.3.3",
+ "stream-each": "^1.1.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "move-concurrently": {
+ "version": "1.0.1",
+ "requires": {
+ "aproba": "^1.1.1",
+ "copy-concurrently": "^1.0.0",
+ "fs-write-stream-atomic": "^1.0.8",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.3"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.2"
+ },
+ "multicast-dns": {
+ "version": "6.2.3",
+ "requires": {
+ "dns-packet": "^1.3.1",
+ "thunky": "^1.0.2"
+ }
+ },
+ "multicast-dns-service-types": {
+ "version": "1.1.0"
+ },
+ "nan": {
+ "version": "2.14.2",
+ "optional": true
+ },
+ "nanoid": {
+ "version": "3.1.20"
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "native-url": {
+ "version": "0.2.6",
+ "requires": {
+ "querystring": "^0.2.0"
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0"
+ },
+ "negotiator": {
+ "version": "0.6.2"
+ },
+ "neo-async": {
+ "version": "2.6.2"
+ },
+ "next-tick": {
+ "version": "1.0.0"
+ },
+ "nice-try": {
+ "version": "1.0.5"
+ },
+ "no-case": {
+ "version": "3.0.4",
+ "requires": {
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node-forge": {
+ "version": "0.10.0"
+ },
+ "node-int64": {
+ "version": "0.4.0"
+ },
+ "node-libs-browser": {
+ "version": "2.2.1",
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.1",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "^1.0.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1"
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0"
+ },
+ "node-notifier": {
+ "version": "8.0.1",
+ "optional": true,
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^2.2.0",
+ "semver": "^7.3.2",
+ "shellwords": "^0.1.1",
+ "uuid": "^8.3.0",
+ "which": "^2.0.2"
+ }
+ },
+ "node-releases": {
+ "version": "1.1.71"
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1"
+ }
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0"
+ },
+ "normalize-range": {
+ "version": "0.1.2"
+ },
+ "normalize-url": {
+ "version": "1.9.1",
+ "requires": {
+ "object-assign": "^4.0.1",
+ "prepend-http": "^1.0.0",
+ "query-string": "^4.1.0",
+ "sort-keys": "^1.0.0"
+ }
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "nth-check": {
+ "version": "1.0.2",
+ "requires": {
+ "boolbase": "~1.0.0"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2"
+ },
+ "nwsapi": {
+ "version": "2.2.0"
+ },
+ "oauth-sign": {
+ "version": "0.9.0"
+ },
+ "object-assign": {
+ "version": "4.1.1"
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0"
+ }
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-inspect": {
+ "version": "1.9.0"
+ },
+ "object-is": {
+ "version": "1.1.5",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "object-keys": {
+ "version": "1.1.1"
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.assign": {
+ "version": "4.1.2",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "object.entries": {
+ "version": "1.1.3",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "has": "^1.0.3"
+ }
+ },
+ "object.fromentries": {
+ "version": "2.0.4",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "has": "^1.0.3"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.1.2",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.values": {
+ "version": "1.1.3",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "has": "^1.0.3"
+ }
+ },
+ "obuf": {
+ "version": "1.1.2"
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "on-headers": {
+ "version": "1.0.2"
+ },
+ "once": {
+ "version": "1.4.0",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "open": {
+ "version": "7.4.2",
+ "requires": {
+ "is-docker": "^2.0.0",
+ "is-wsl": "^2.1.1"
+ }
+ },
+ "opn": {
+ "version": "5.5.0",
+ "requires": {
+ "is-wsl": "^1.1.0"
+ },
+ "dependencies": {
+ "is-wsl": {
+ "version": "1.1.0"
+ }
+ }
+ },
+ "optimize-css-assets-webpack-plugin": {
+ "version": "5.0.4",
+ "requires": {
+ "cssnano": "^4.1.10",
+ "last-call-webpack-plugin": "^3.0.0"
+ }
+ },
+ "optionator": {
+ "version": "0.9.1",
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ }
+ },
+ "original": {
+ "version": "1.0.2",
+ "requires": {
+ "url-parse": "^1.4.3"
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0"
+ },
+ "p-each-series": {
+ "version": "2.2.0"
+ },
+ "p-finally": {
+ "version": "1.0.0"
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-map": {
+ "version": "4.0.0",
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "p-retry": {
+ "version": "3.0.1",
+ "requires": {
+ "retry": "^0.12.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0"
+ },
+ "pako": {
+ "version": "1.0.11"
+ },
+ "parallel-transform": {
+ "version": "1.2.0",
+ "requires": {
+ "cyclist": "^1.0.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.1.5"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "param-case": {
+ "version": "3.0.4",
+ "requires": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.6",
+ "requires": {
+ "asn1.js": "^5.2.0",
+ "browserify-aes": "^1.0.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "parse-entities": {
+ "version": "1.2.2",
+ "requires": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "5.2.0",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "parse5": {
+ "version": "6.0.1"
+ },
+ "parseurl": {
+ "version": "1.3.3"
+ },
+ "pascal-case": {
+ "version": "3.1.2",
+ "requires": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "pascalcase": {
+ "version": "0.1.1"
+ },
+ "path-browserify": {
+ "version": "0.0.1"
+ },
+ "path-dirname": {
+ "version": "1.0.2"
+ },
+ "path-exists": {
+ "version": "4.0.0"
+ },
+ "path-is-absolute": {
+ "version": "1.0.1"
+ },
+ "path-is-inside": {
+ "version": "1.0.2"
+ },
+ "path-key": {
+ "version": "3.1.1"
+ },
+ "path-parse": {
+ "version": "1.0.6"
+ },
+ "path-to-regexp": {
+ "version": "0.1.7"
+ },
+ "path-type": {
+ "version": "4.0.0"
+ },
+ "pbkdf2": {
+ "version": "3.1.1",
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "performance-now": {
+ "version": "2.1.0"
+ },
+ "picomatch": {
+ "version": "2.2.2"
+ },
+ "pify": {
+ "version": "4.0.1"
+ },
+ "pinkie": {
+ "version": "2.0.4"
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pirates": {
+ "version": "4.0.1",
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "requires": {
+ "find-up": "^2.1.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0"
+ },
+ "path-exists": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "pkg-up": {
+ "version": "3.1.0",
+ "requires": {
+ "find-up": "^3.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "3.0.0",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "pnp-webpack-plugin": {
+ "version": "1.6.4",
+ "requires": {
+ "ts-pnp": "^1.1.6"
+ }
+ },
+ "portfinder": {
+ "version": "1.0.28",
+ "requires": {
+ "async": "^2.6.2",
+ "debug": "^3.1.1",
+ "mkdirp": "^0.5.5"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1"
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-attribute-case-insensitive": {
+ "version": "4.0.2",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^6.0.2"
+ }
+ },
+ "postcss-browser-comments": {
+ "version": "3.0.0",
+ "requires": {
+ "postcss": "^7"
+ }
+ },
+ "postcss-calc": {
+ "version": "7.0.5",
+ "requires": {
+ "postcss": "^7.0.27",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.0.2"
+ }
+ },
+ "postcss-color-functional-notation": {
+ "version": "2.0.1",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-color-gray": {
+ "version": "5.0.0",
+ "requires": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.5",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-color-hex-alpha": {
+ "version": "5.0.3",
+ "requires": {
+ "postcss": "^7.0.14",
+ "postcss-values-parser": "^2.0.1"
+ }
+ },
+ "postcss-color-mod-function": {
+ "version": "3.0.3",
+ "requires": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-color-rebeccapurple": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-colormin": {
+ "version": "4.0.3",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "color": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-convert-values": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-custom-media": {
+ "version": "7.0.8",
+ "requires": {
+ "postcss": "^7.0.14"
+ }
+ },
+ "postcss-custom-properties": {
+ "version": "8.0.11",
+ "requires": {
+ "postcss": "^7.0.17",
+ "postcss-values-parser": "^2.0.1"
+ }
+ },
+ "postcss-custom-selectors": {
+ "version": "5.1.2",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0"
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-dir-pseudo-class": {
+ "version": "5.0.0",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0"
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "4.0.2",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "4.0.2",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-double-position-gradients": {
+ "version": "1.0.0",
+ "requires": {
+ "postcss": "^7.0.5",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-env-function": {
+ "version": "2.0.2",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-flexbugs-fixes": {
+ "version": "4.2.1",
+ "requires": {
+ "postcss": "^7.0.26"
+ }
+ },
+ "postcss-focus-visible": {
+ "version": "4.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-focus-within": {
+ "version": "3.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-font-variant": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-gap-properties": {
+ "version": "2.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-image-set-function": {
+ "version": "3.0.1",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-initial": {
+ "version": "3.0.2",
+ "requires": {
+ "lodash.template": "^4.5.0",
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-lab-function": {
+ "version": "2.0.1",
+ "requires": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-load-config": {
+ "version": "2.1.2",
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "import-cwd": "^2.0.0"
+ },
+ "dependencies": {
+ "cosmiconfig": {
+ "version": "5.2.1",
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ }
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "postcss-loader": {
+ "version": "3.0.0",
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "postcss": "^7.0.0",
+ "postcss-load-config": "^2.0.0",
+ "schema-utils": "^1.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
+ }
+ },
+ "postcss-logical": {
+ "version": "3.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-media-minmax": {
+ "version": "4.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "4.0.11",
+ "requires": {
+ "css-color-names": "0.0.4",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "stylehacks": "^4.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "4.0.3",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-util-same-parent": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0",
+ "vendors": "^1.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.2",
+ "requires": {
+ "dot-prop": "^5.2.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-minify-font-values": {
+ "version": "4.0.2",
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "4.0.2",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "is-color-stop": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-minify-params": {
+ "version": "4.0.2",
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "browserslist": "^4.0.0",
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "4.0.2",
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.2",
+ "requires": {
+ "dot-prop": "^5.2.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "2.0.0",
+ "requires": {
+ "postcss": "^7.0.5"
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "3.0.3",
+ "requires": {
+ "icss-utils": "^4.1.1",
+ "postcss": "^7.0.32",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "2.2.0",
+ "requires": {
+ "postcss": "^7.0.6",
+ "postcss-selector-parser": "^6.0.0"
+ }
+ },
+ "postcss-modules-values": {
+ "version": "3.0.0",
+ "requires": {
+ "icss-utils": "^4.0.0",
+ "postcss": "^7.0.6"
+ }
+ },
+ "postcss-nesting": {
+ "version": "7.0.1",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-normalize": {
+ "version": "8.0.1",
+ "requires": {
+ "@csstools/normalize.css": "^10.1.0",
+ "browserslist": "^4.6.2",
+ "postcss": "^7.0.17",
+ "postcss-browser-comments": "^3.0.0",
+ "sanitize.css": "^10.0.0"
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-normalize-display-values": {
+ "version": "4.0.2",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-normalize-positions": {
+ "version": "4.0.2",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-normalize-repeat-style": {
+ "version": "4.0.2",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-normalize-string": {
+ "version": "4.0.2",
+ "requires": {
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-normalize-timing-functions": {
+ "version": "4.0.2",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-normalize-unicode": {
+ "version": "4.0.1",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "4.0.1",
+ "requires": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "normalize-url": {
+ "version": "3.3.0"
+ },
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-normalize-whitespace": {
+ "version": "4.0.2",
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "4.1.2",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-overflow-shorthand": {
+ "version": "2.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-page-break": {
+ "version": "2.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-place": {
+ "version": "4.0.1",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-preset-env": {
+ "version": "6.7.0",
+ "requires": {
+ "autoprefixer": "^9.6.1",
+ "browserslist": "^4.6.4",
+ "caniuse-lite": "^1.0.30000981",
+ "css-blank-pseudo": "^0.1.4",
+ "css-has-pseudo": "^0.10.0",
+ "css-prefers-color-scheme": "^3.1.1",
+ "cssdb": "^4.4.0",
+ "postcss": "^7.0.17",
+ "postcss-attribute-case-insensitive": "^4.0.1",
+ "postcss-color-functional-notation": "^2.0.1",
+ "postcss-color-gray": "^5.0.0",
+ "postcss-color-hex-alpha": "^5.0.3",
+ "postcss-color-mod-function": "^3.0.3",
+ "postcss-color-rebeccapurple": "^4.0.1",
+ "postcss-custom-media": "^7.0.8",
+ "postcss-custom-properties": "^8.0.11",
+ "postcss-custom-selectors": "^5.1.2",
+ "postcss-dir-pseudo-class": "^5.0.0",
+ "postcss-double-position-gradients": "^1.0.0",
+ "postcss-env-function": "^2.0.2",
+ "postcss-focus-visible": "^4.0.0",
+ "postcss-focus-within": "^3.0.0",
+ "postcss-font-variant": "^4.0.0",
+ "postcss-gap-properties": "^2.0.0",
+ "postcss-image-set-function": "^3.0.1",
+ "postcss-initial": "^3.0.0",
+ "postcss-lab-function": "^2.0.1",
+ "postcss-logical": "^3.0.0",
+ "postcss-media-minmax": "^4.0.0",
+ "postcss-nesting": "^7.0.0",
+ "postcss-overflow-shorthand": "^2.0.0",
+ "postcss-page-break": "^2.0.0",
+ "postcss-place": "^4.0.1",
+ "postcss-pseudo-class-any-link": "^6.0.0",
+ "postcss-replace-overflow-wrap": "^3.0.0",
+ "postcss-selector-matches": "^4.0.0",
+ "postcss-selector-not": "^4.0.0"
+ }
+ },
+ "postcss-pseudo-class-any-link": {
+ "version": "6.0.0",
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0"
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "4.0.3",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "4.0.2",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-replace-overflow-wrap": {
+ "version": "3.0.0",
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-safe-parser": {
+ "version": "5.0.2",
+ "requires": {
+ "postcss": "^8.1.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "8.2.8",
+ "requires": {
+ "colorette": "^1.2.2",
+ "nanoid": "^3.1.20",
+ "source-map": "^0.6.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "postcss-selector-matches": {
+ "version": "4.0.0",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-selector-not": {
+ "version": "4.0.1",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "6.0.4",
+ "requires": {
+ "cssesc": "^3.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "postcss-svgo": {
+ "version": "4.0.2",
+ "requires": {
+ "is-svg": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "svgo": "^1.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1"
+ }
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "4.0.1",
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "postcss": "^7.0.0",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "4.1.0"
+ },
+ "postcss-values-parser": {
+ "version": "2.0.1",
+ "requires": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.2.1"
+ },
+ "prepend-http": {
+ "version": "1.0.4"
+ },
+ "pretty-bytes": {
+ "version": "5.6.0"
+ },
+ "pretty-error": {
+ "version": "2.1.2",
+ "requires": {
+ "lodash": "^4.17.20",
+ "renderkid": "^2.0.4"
+ }
+ },
+ "pretty-format": {
+ "version": "26.6.2",
+ "requires": {
+ "@jest/types": "^26.6.2",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^17.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ }
+ }
+ },
+ "prismjs": {
+ "version": "1.23.0",
+ "requires": {
+ "clipboard": "^2.0.0"
+ }
+ },
+ "process": {
+ "version": "0.11.10"
+ },
+ "process-nextick-args": {
+ "version": "2.0.1"
+ },
+ "progress": {
+ "version": "2.0.3"
+ },
+ "promise": {
+ "version": "8.1.0",
+ "requires": {
+ "asap": "~2.0.6"
+ }
+ },
+ "promise-inflight": {
+ "version": "1.0.1"
+ },
+ "prompts": {
+ "version": "2.4.0",
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ }
+ },
+ "prop-types": {
+ "version": "15.7.2",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1"
+ }
+ }
+ },
+ "property-information": {
+ "version": "5.6.0",
+ "requires": {
+ "xtend": "^4.0.0"
+ }
+ },
+ "proxy-addr": {
+ "version": "2.0.6",
+ "requires": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.9.1"
+ }
+ },
+ "prr": {
+ "version": "1.0.1"
+ },
+ "psl": {
+ "version": "1.8.0"
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.0"
+ }
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "requires": {
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
+ },
+ "dependencies": {
+ "pump": {
+ "version": "2.0.1",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ }
+ }
+ },
+ "punycode": {
+ "version": "2.1.1"
+ },
+ "q": {
+ "version": "1.5.1"
+ },
+ "qs": {
+ "version": "6.5.2"
+ },
+ "query-string": {
+ "version": "4.3.4",
+ "requires": {
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.1"
+ },
+ "querystring-es3": {
+ "version": "0.2.1"
+ },
+ "querystringify": {
+ "version": "2.2.0"
+ },
+ "queue-microtask": {
+ "version": "1.2.2"
+ },
+ "raf": {
+ "version": "3.4.1",
+ "requires": {
+ "performance-now": "^2.1.0"
+ }
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.1"
+ },
+ "raw-body": {
+ "version": "2.4.0",
+ "requires": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.1.0"
+ }
+ }
+ },
+ "react": {
+ "version": "17.0.1",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "react-app-polyfill": {
+ "version": "2.0.0",
+ "requires": {
+ "core-js": "^3.6.5",
+ "object-assign": "^4.1.1",
+ "promise": "^8.1.0",
+ "raf": "^3.4.1",
+ "regenerator-runtime": "^0.13.7",
+ "whatwg-fetch": "^3.4.1"
+ }
+ },
+ "react-code-blocks": {
+ "version": "0.0.8",
+ "requires": {
+ "@babel/runtime": "^7.10.4",
+ "react-syntax-highlighter": "^12.2.1",
+ "styled-components": "^5.1.1",
+ "tslib": "^2.0.0",
+ "typescript-plugin-styled-components": "^1.4.4"
+ }
+ },
+ "react-dev-utils": {
+ "version": "11.0.4",
+ "requires": {
+ "@babel/code-frame": "7.10.4",
+ "address": "1.1.2",
+ "browserslist": "4.14.2",
+ "chalk": "2.4.2",
+ "cross-spawn": "7.0.3",
+ "detect-port-alt": "1.1.6",
+ "escape-string-regexp": "2.0.0",
+ "filesize": "6.1.0",
+ "find-up": "4.1.0",
+ "fork-ts-checker-webpack-plugin": "4.1.6",
+ "global-modules": "2.0.0",
+ "globby": "11.0.1",
+ "gzip-size": "5.1.1",
+ "immer": "8.0.1",
+ "is-root": "2.1.0",
+ "loader-utils": "2.0.0",
+ "open": "^7.0.2",
+ "pkg-up": "3.1.0",
+ "prompts": "2.4.0",
+ "react-error-overlay": "^6.0.9",
+ "recursive-readdir": "2.2.2",
+ "shell-quote": "1.7.2",
+ "strip-ansi": "6.0.0",
+ "text-table": "0.2.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "browserslist": {
+ "version": "4.14.2",
+ "requires": {
+ "caniuse-lite": "^1.0.30001125",
+ "electron-to-chromium": "^1.3.564",
+ "escalade": "^3.0.2",
+ "node-releases": "^1.1.61"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "2.0.0"
+ },
+ "globby": {
+ "version": "11.0.1",
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "ignore": {
+ "version": "5.1.8"
+ }
+ }
+ },
+ "react-dom": {
+ "version": "17.0.1",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "scheduler": "^0.20.1"
+ }
+ },
+ "react-dropzone": {
+ "version": "11.3.1",
+ "requires": {
+ "attr-accept": "^2.2.1",
+ "file-selector": "^0.2.2",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "react-error-overlay": {
+ "version": "6.0.9"
+ },
+ "react-is": {
+ "version": "17.0.1"
+ },
+ "react-lottie": {
+ "version": "1.2.3",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "lottie-web": "^5.1.3"
+ }
+ },
+ "react-refresh": {
+ "version": "0.8.3"
+ },
+ "react-router": {
+ "version": "5.2.0",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "hoist-non-react-statics": "^3.1.0",
+ "loose-envify": "^1.3.1",
+ "mini-create-react-context": "^0.4.0",
+ "path-to-regexp": "^1.7.0",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.6.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1"
+ },
+ "path-to-regexp": {
+ "version": "1.8.0",
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ },
+ "react-is": {
+ "version": "16.13.1"
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "5.2.0",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "loose-envify": "^1.3.1",
+ "prop-types": "^15.6.2",
+ "react-router": "5.2.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ }
+ },
+ "react-scripts": {
+ "version": "4.0.3",
+ "requires": {
+ "@babel/core": "7.12.3",
+ "@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
+ "@svgr/webpack": "5.5.0",
+ "@typescript-eslint/eslint-plugin": "^4.5.0",
+ "@typescript-eslint/parser": "^4.5.0",
+ "babel-eslint": "^10.1.0",
+ "babel-jest": "^26.6.0",
+ "babel-loader": "8.1.0",
+ "babel-plugin-named-asset-import": "^0.3.7",
+ "babel-preset-react-app": "^10.0.0",
+ "bfj": "^7.0.2",
+ "camelcase": "^6.1.0",
+ "case-sensitive-paths-webpack-plugin": "2.3.0",
+ "css-loader": "4.3.0",
+ "dotenv": "8.2.0",
+ "dotenv-expand": "5.1.0",
+ "eslint": "^7.11.0",
+ "eslint-config-react-app": "^6.0.0",
+ "eslint-plugin-flowtype": "^5.2.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-jest": "^24.1.0",
+ "eslint-plugin-jsx-a11y": "^6.3.1",
+ "eslint-plugin-react": "^7.21.5",
+ "eslint-plugin-react-hooks": "^4.2.0",
+ "eslint-plugin-testing-library": "^3.9.2",
+ "eslint-webpack-plugin": "^2.5.2",
+ "file-loader": "6.1.1",
+ "fs-extra": "^9.0.1",
+ "fsevents": "^2.1.3",
+ "html-webpack-plugin": "4.5.0",
+ "identity-obj-proxy": "3.0.0",
+ "jest": "26.6.0",
+ "jest-circus": "26.6.0",
+ "jest-resolve": "26.6.0",
+ "jest-watch-typeahead": "0.6.1",
+ "mini-css-extract-plugin": "0.11.3",
+ "optimize-css-assets-webpack-plugin": "5.0.4",
+ "pnp-webpack-plugin": "1.6.4",
+ "postcss-flexbugs-fixes": "4.2.1",
+ "postcss-loader": "3.0.0",
+ "postcss-normalize": "8.0.1",
+ "postcss-preset-env": "6.7.0",
+ "postcss-safe-parser": "5.0.2",
+ "prompts": "2.4.0",
+ "react-app-polyfill": "^2.0.0",
+ "react-dev-utils": "^11.0.3",
+ "react-refresh": "^0.8.3",
+ "resolve": "1.18.1",
+ "resolve-url-loader": "^3.1.2",
+ "sass-loader": "^10.0.5",
+ "semver": "7.3.2",
+ "style-loader": "1.3.0",
+ "terser-webpack-plugin": "4.2.3",
+ "ts-pnp": "1.2.0",
+ "url-loader": "4.1.1",
+ "webpack": "4.44.2",
+ "webpack-dev-server": "3.11.1",
+ "webpack-manifest-plugin": "2.2.0",
+ "workbox-webpack-plugin": "5.1.4"
+ }
+ },
+ "react-syntax-highlighter": {
+ "version": "12.2.1",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "~9.15.1",
+ "lowlight": "1.12.1",
+ "prismjs": "^1.8.4",
+ "refractor": "^2.4.1"
+ }
+ },
+ "react-transition-group": {
+ "version": "4.4.1",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ },
+ "dependencies": {
+ "path-type": {
+ "version": "2.0.0",
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0"
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0"
+ },
+ "path-exists": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.5.0",
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "recursive-readdir": {
+ "version": "2.2.2",
+ "requires": {
+ "minimatch": "3.0.4"
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ }
+ },
+ "refractor": {
+ "version": "2.10.1",
+ "requires": {
+ "hastscript": "^5.0.0",
+ "parse-entities": "^1.1.2",
+ "prismjs": "~1.17.0"
+ },
+ "dependencies": {
+ "prismjs": {
+ "version": "1.17.1",
+ "requires": {
+ "clipboard": "^2.0.0"
+ }
+ }
+ }
+ },
+ "regenerate": {
+ "version": "1.4.2"
+ },
+ "regenerate-unicode-properties": {
+ "version": "8.2.0",
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.7"
+ },
+ "regenerator-transform": {
+ "version": "0.14.5",
+ "requires": {
+ "@babel/runtime": "^7.8.4"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "regex-parser": {
+ "version": "2.2.11"
+ },
+ "regexp.prototype.flags": {
+ "version": "1.3.1",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "regexpp": {
+ "version": "3.1.0"
+ },
+ "regexpu-core": {
+ "version": "4.7.1",
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.2.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.2"
+ },
+ "regjsparser": {
+ "version": "0.6.7",
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0"
+ }
+ }
+ },
+ "relateurl": {
+ "version": "0.2.7"
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0"
+ },
+ "renderkid": {
+ "version": "2.0.5",
+ "requires": {
+ "css-select": "^2.0.2",
+ "dom-converter": "^0.2",
+ "htmlparser2": "^3.10.1",
+ "lodash": "^4.17.20",
+ "strip-ansi": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1"
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "repeat-element": {
+ "version": "1.1.3"
+ },
+ "repeat-string": {
+ "version": "1.6.1"
+ },
+ "request": {
+ "version": "2.88.2",
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "uuid": {
+ "version": "3.4.0"
+ }
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.4",
+ "requires": {
+ "lodash": "^4.17.19"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.9",
+ "requires": {
+ "request-promise-core": "1.1.4",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1"
+ },
+ "require-from-string": {
+ "version": "2.0.2"
+ },
+ "require-main-filename": {
+ "version": "2.0.0"
+ },
+ "requires-port": {
+ "version": "1.0.0"
+ },
+ "resolve": {
+ "version": "1.18.1",
+ "requires": {
+ "is-core-module": "^2.0.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "requires": {
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "5.0.0"
+ },
+ "resolve-pathname": {
+ "version": "3.0.0"
+ },
+ "resolve-url": {
+ "version": "0.2.1"
+ },
+ "resolve-url-loader": {
+ "version": "3.1.2",
+ "requires": {
+ "adjust-sourcemap-loader": "3.0.0",
+ "camelcase": "5.3.1",
+ "compose-function": "3.0.3",
+ "convert-source-map": "1.7.0",
+ "es6-iterator": "2.0.3",
+ "loader-utils": "1.2.3",
+ "postcss": "7.0.21",
+ "rework": "1.0.1",
+ "rework-visit": "1.0.0",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1"
+ },
+ "emojis-list": {
+ "version": "2.1.0"
+ },
+ "json5": {
+ "version": "1.0.1",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.2.3",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^2.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "postcss": {
+ "version": "7.0.21",
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1"
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "ret": {
+ "version": "0.1.15"
+ },
+ "retry": {
+ "version": "0.12.0"
+ },
+ "reusify": {
+ "version": "1.0.4"
+ },
+ "rework": {
+ "version": "1.0.1",
+ "requires": {
+ "convert-source-map": "^0.3.3",
+ "css": "^2.0.0"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "0.3.5"
+ }
+ }
+ },
+ "rework-visit": {
+ "version": "1.0.0"
+ },
+ "rgb-regex": {
+ "version": "1.0.1"
+ },
+ "rgba-regex": {
+ "version": "1.0.0"
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "rollup": {
+ "version": "1.32.1",
+ "requires": {
+ "@types/estree": "*",
+ "@types/node": "*",
+ "acorn": "^7.1.0"
+ }
+ },
+ "rollup-plugin-babel": {
+ "version": "4.4.0",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "rollup-pluginutils": "^2.8.1"
+ }
+ },
+ "rollup-plugin-terser": {
+ "version": "5.3.1",
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "jest-worker": "^24.9.0",
+ "rollup-pluginutils": "^2.8.2",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^4.6.2"
+ },
+ "dependencies": {
+ "jest-worker": {
+ "version": "24.9.0",
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "serialize-javascript": {
+ "version": "4.0.0",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "rollup-pluginutils": {
+ "version": "2.8.2",
+ "requires": {
+ "estree-walker": "^0.6.1"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "rsvp": {
+ "version": "4.8.5"
+ },
+ "run-parallel": {
+ "version": "1.2.0",
+ "requires": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "run-queue": {
+ "version": "1.0.3",
+ "requires": {
+ "aproba": "^1.1.1"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2"
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2"
+ },
+ "sane": {
+ "version": "4.1.0",
+ "requires": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^2.0.0",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.2",
+ "execa": "^1.0.0",
+ "fb-watchman": "^2.0.0",
+ "micromatch": "^3.1.4",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "2.0.0",
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0"
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1"
+ },
+ "semver": {
+ "version": "5.7.1"
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0"
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "sanitize.css": {
+ "version": "10.0.0"
+ },
+ "sass": {
+ "version": "1.32.8",
+ "requires": {
+ "chokidar": ">=2.0.0 <4.0.0"
+ }
+ },
+ "sass-loader": {
+ "version": "10.1.1",
+ "requires": {
+ "klona": "^2.0.4",
+ "loader-utils": "^2.0.0",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.0.0",
+ "semver": "^7.3.2"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.0.0",
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
+ "sax": {
+ "version": "1.2.4"
+ },
+ "saxes": {
+ "version": "5.0.1",
+ "requires": {
+ "xmlchars": "^2.2.0"
+ }
+ },
+ "scheduler": {
+ "version": "0.20.1",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "schema-utils": {
+ "version": "2.7.1",
+ "requires": {
+ "@types/json-schema": "^7.0.5",
+ "ajv": "^6.12.4",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
+ "select": {
+ "version": "1.1.2",
+ "optional": true
+ },
+ "select-hose": {
+ "version": "2.0.0"
+ },
+ "selfsigned": {
+ "version": "1.10.8",
+ "requires": {
+ "node-forge": "^0.10.0"
+ }
+ },
+ "semver": {
+ "version": "7.3.2"
+ },
+ "send": {
+ "version": "0.17.1",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.1"
+ }
+ }
+ },
+ "serialize-javascript": {
+ "version": "5.0.1",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "serve-index": {
+ "version": "1.9.1",
+ "requires": {
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "http-errors": {
+ "version": "1.6.3",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3"
+ },
+ "ms": {
+ "version": "2.0.0"
+ },
+ "setprototypeof": {
+ "version": "1.1.0"
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.14.1",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0"
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ }
+ }
+ },
+ "setimmediate": {
+ "version": "1.0.5"
+ },
+ "setprototypeof": {
+ "version": "1.1.1"
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shallowequal": {
+ "version": "1.1.0"
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0"
+ },
+ "shell-quote": {
+ "version": "1.7.2"
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "optional": true
+ },
+ "side-channel": {
+ "version": "1.0.4",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.3"
+ },
+ "simple-swizzle": {
+ "version": "0.2.2",
+ "requires": {
+ "is-arrayish": "^0.3.1"
+ },
+ "dependencies": {
+ "is-arrayish": {
+ "version": "0.3.2"
+ }
+ }
+ },
+ "sisteransi": {
+ "version": "1.0.5"
+ },
+ "slash": {
+ "version": "3.0.0"
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ }
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ },
+ "kind-of": {
+ "version": "5.1.0"
+ },
+ "ms": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "sockjs": {
+ "version": "0.3.21",
+ "requires": {
+ "faye-websocket": "^0.11.3",
+ "uuid": "^3.4.0",
+ "websocket-driver": "^0.7.4"
+ },
+ "dependencies": {
+ "uuid": {
+ "version": "3.4.0"
+ }
+ }
+ },
+ "sockjs-client": {
+ "version": "1.5.0",
+ "requires": {
+ "debug": "^3.2.6",
+ "eventsource": "^1.0.7",
+ "faye-websocket": "^0.11.3",
+ "inherits": "^2.0.4",
+ "json3": "^3.3.3",
+ "url-parse": "^1.4.7"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ },
+ "source-list-map": {
+ "version": "2.0.1"
+ },
+ "source-map": {
+ "version": "0.5.7"
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.1"
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8"
+ },
+ "space-separated-tokens": {
+ "version": "1.1.5"
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.3.0"
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.1",
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.7"
+ },
+ "spdy": {
+ "version": "4.0.2",
+ "requires": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
+ }
+ },
+ "spdy-transport": {
+ "version": "3.0.0",
+ "requires": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3"
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "ssri": {
+ "version": "8.0.1",
+ "requires": {
+ "minipass": "^3.1.1"
+ }
+ },
+ "stable": {
+ "version": "0.1.8"
+ },
+ "stack-utils": {
+ "version": "2.0.3",
+ "requires": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "dependencies": {
+ "escape-string-regexp": {
+ "version": "2.0.0"
+ }
+ }
+ },
+ "stackframe": {
+ "version": "1.2.0"
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0"
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.5.0"
+ },
+ "stealthy-require": {
+ "version": "1.1.1"
+ },
+ "stream-browserify": {
+ "version": "2.0.2",
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "stream-each": {
+ "version": "1.2.3",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.1"
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0"
+ },
+ "string_decoder": {
+ "version": "1.3.0",
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1"
+ }
+ }
+ },
+ "string-length": {
+ "version": "4.0.1",
+ "requires": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "string-natural-compare": {
+ "version": "3.0.1"
+ },
+ "string-width": {
+ "version": "4.2.2",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "emoji-regex": {
+ "version": "8.0.0"
+ }
+ }
+ },
+ "string.prototype.matchall": {
+ "version": "4.0.4",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2",
+ "has-symbols": "^1.0.1",
+ "internal-slot": "^1.0.3",
+ "regexp.prototype.flags": "^1.3.1",
+ "side-channel": "^1.0.4"
+ }
+ },
+ "string.prototype.trimend": {
+ "version": "1.0.4",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.4",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "stringify-object": {
+ "version": "3.3.0",
+ "requires": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "4.0.0"
+ },
+ "strip-comments": {
+ "version": "1.0.2",
+ "requires": {
+ "babel-extract-comments": "^1.0.0",
+ "babel-plugin-transform-object-rest-spread": "^6.26.0"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0"
+ },
+ "strip-final-newline": {
+ "version": "2.0.0"
+ },
+ "strip-indent": {
+ "version": "3.0.0",
+ "requires": {
+ "min-indent": "^1.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.1"
+ },
+ "style-loader": {
+ "version": "1.3.0",
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0"
+ }
+ },
+ "styled-components": {
+ "version": "5.2.1",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/traverse": "^7.4.5",
+ "@emotion/is-prop-valid": "^0.8.8",
+ "@emotion/stylis": "^0.8.4",
+ "@emotion/unitless": "^0.7.4",
+ "babel-plugin-styled-components": ">= 1",
+ "css-to-react-native": "^3.0.0",
+ "hoist-non-react-statics": "^3.0.0",
+ "shallowequal": "^1.1.0",
+ "supports-color": "^5.5.0"
+ }
+ },
+ "stylehacks": {
+ "version": "4.0.3",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.2",
+ "requires": {
+ "dot-prop": "^5.2.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "2.1.0",
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0"
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "svg-parser": {
+ "version": "2.0.4"
+ },
+ "svgo": {
+ "version": "1.3.2",
+ "requires": {
+ "chalk": "^2.4.1",
+ "coa": "^2.0.2",
+ "css-select": "^2.0.0",
+ "css-select-base-adapter": "^0.1.1",
+ "css-tree": "1.0.0-alpha.37",
+ "csso": "^4.0.2",
+ "js-yaml": "^3.13.1",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.1.0",
+ "sax": "~1.2.4",
+ "stable": "^0.1.8",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ }
+ },
+ "sweetalert2": {
+ "version": "10.15.6"
+ },
+ "symbol-observable": {
+ "version": "1.2.0"
+ },
+ "symbol-tree": {
+ "version": "3.2.4"
+ },
+ "table": {
+ "version": "6.0.7",
+ "requires": {
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.2.1",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0"
+ }
+ }
+ },
+ "tapable": {
+ "version": "1.1.3"
+ },
+ "tar": {
+ "version": "6.1.0",
+ "requires": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4"
+ }
+ }
+ },
+ "temp-dir": {
+ "version": "1.0.0"
+ },
+ "tempy": {
+ "version": "0.3.0",
+ "requires": {
+ "temp-dir": "^1.0.0",
+ "type-fest": "^0.3.1",
+ "unique-string": "^1.0.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.3.1"
+ }
+ }
+ },
+ "terminal-link": {
+ "version": "2.1.1",
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ }
+ },
+ "terser": {
+ "version": "4.8.0",
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3"
+ },
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "4.2.3",
+ "requires": {
+ "cacache": "^15.0.5",
+ "find-cache-dir": "^3.3.1",
+ "jest-worker": "^26.5.0",
+ "p-limit": "^3.0.2",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
+ "source-map": "^0.6.1",
+ "terser": "^5.3.4",
+ "webpack-sources": "^1.4.3"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3"
+ },
+ "find-cache-dir": {
+ "version": "3.3.1",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "schema-utils": {
+ "version": "3.0.0",
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
+ "semver": {
+ "version": "6.3.0"
+ },
+ "source-map": {
+ "version": "0.6.1"
+ },
+ "terser": {
+ "version": "5.6.0",
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.7.2",
+ "source-map-support": "~0.5.19"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3"
+ }
+ }
+ }
+ }
+ },
+ "test-exclude": {
+ "version": "6.0.0",
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0"
+ },
+ "throat": {
+ "version": "5.0.0"
+ },
+ "through2": {
+ "version": "2.0.5",
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "thunky": {
+ "version": "1.1.0"
+ },
+ "timers-browserify": {
+ "version": "2.0.12",
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
+ "timsort": {
+ "version": "0.3.0"
+ },
+ "tiny-emitter": {
+ "version": "2.1.0",
+ "optional": true
+ },
+ "tiny-invariant": {
+ "version": "1.1.0"
+ },
+ "tiny-warning": {
+ "version": "1.0.3"
+ },
+ "tmpl": {
+ "version": "1.0.4"
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1"
+ },
+ "to-fast-properties": {
+ "version": "2.0.0"
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.0"
+ },
+ "tough-cookie": {
+ "version": "4.0.0",
+ "requires": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.1.2"
+ },
+ "dependencies": {
+ "universalify": {
+ "version": "0.1.2"
+ }
+ }
+ },
+ "tr46": {
+ "version": "2.0.2",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "tryer": {
+ "version": "1.0.1"
+ },
+ "ts-pnp": {
+ "version": "1.2.0"
+ },
+ "tsconfig-paths": {
+ "version": "3.9.0",
+ "requires": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
+ "minimist": "^1.2.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0"
+ }
+ }
+ },
+ "tslib": {
+ "version": "2.1.0"
+ },
+ "tsutils": {
+ "version": "3.21.0",
+ "requires": {
+ "tslib": "^1.8.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1"
+ }
+ }
+ },
+ "tty-browserify": {
+ "version": "0.0.0"
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5"
+ },
+ "type": {
+ "version": "1.2.0"
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8"
+ },
+ "type-fest": {
+ "version": "0.11.0"
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6"
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "typescript": {
+ "version": "3.9.9",
+ "peer": true
+ },
+ "typescript-plugin-styled-components": {
+ "version": "1.4.4",
+ "requires": {}
+ },
+ "unbox-primitive": {
+ "version": "1.0.0",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has-bigints": "^1.0.0",
+ "has-symbols": "^1.0.0",
+ "which-boxed-primitive": "^1.0.1"
+ }
+ },
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4"
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.2.0"
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.1.0"
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "0.1.1"
+ }
+ }
+ },
+ "uniq": {
+ "version": "1.0.1"
+ },
+ "uniqs": {
+ "version": "2.0.0"
+ },
+ "unique-filename": {
+ "version": "1.1.1",
+ "requires": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.2",
+ "requires": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "requires": {
+ "crypto-random-string": "^1.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0"
+ },
+ "unpipe": {
+ "version": "1.0.0"
+ },
+ "unquote": {
+ "version": "1.1.1"
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4"
+ }
+ }
+ },
+ "upath": {
+ "version": "1.2.0"
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0"
+ },
+ "url": {
+ "version": "0.11.0",
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2"
+ },
+ "querystring": {
+ "version": "0.2.0"
+ }
+ }
+ },
+ "url-loader": {
+ "version": "4.1.1",
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.0.0",
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
+ "url-parse": {
+ "version": "1.5.1",
+ "requires": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "use": {
+ "version": "3.1.1"
+ },
+ "util": {
+ "version": "0.11.1",
+ "requires": {
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3"
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2"
+ },
+ "util.promisify": {
+ "version": "1.0.0",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
+ }
+ },
+ "utila": {
+ "version": "0.4.0"
+ },
+ "utils-merge": {
+ "version": "1.0.1"
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "optional": true
+ },
+ "v8-compile-cache": {
+ "version": "2.3.0"
+ },
+ "v8-to-istanbul": {
+ "version": "7.1.0",
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3"
+ }
+ }
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "value-equal": {
+ "version": "1.0.1"
+ },
+ "vary": {
+ "version": "1.1.2"
+ },
+ "vendors": {
+ "version": "1.0.4"
+ },
+ "verror": {
+ "version": "1.10.0",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "vm-browserify": {
+ "version": "1.1.2"
+ },
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "2.0.0",
+ "requires": {
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "watchpack": {
+ "version": "1.7.5",
+ "requires": {
+ "chokidar": "^3.4.1",
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0",
+ "watchpack-chokidar2": "^2.0.1"
+ }
+ },
+ "watchpack-chokidar2": {
+ "version": "2.0.1",
+ "optional": true,
+ "requires": {
+ "chokidar": "^2.1.8"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "2.0.0",
+ "optional": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "optional": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "binary-extensions": {
+ "version": "1.13.1",
+ "optional": true
+ },
+ "braces": {
+ "version": "2.3.2",
+ "optional": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "optional": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "chokidar": {
+ "version": "2.1.8",
+ "optional": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "optional": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "optional": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fsevents": {
+ "version": "1.2.13",
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "optional": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "optional": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "optional": true,
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "optional": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "optional": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "optional": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "optional": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "optional": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "optional": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "optional": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "wbuf": {
+ "version": "1.7.3",
+ "requires": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "web-vitals": {
+ "version": "1.1.0"
+ },
+ "webidl-conversions": {
+ "version": "6.1.0"
+ },
+ "webpack": {
+ "version": "4.44.2",
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/wasm-edit": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "acorn": "^6.4.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.3.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.3",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.3",
+ "watchpack": "^1.7.4",
+ "webpack-sources": "^1.4.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.2"
+ },
+ "braces": {
+ "version": "2.3.2",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cacache": {
+ "version": "12.0.4",
+ "requires": {
+ "bluebird": "^3.5.5",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.1.15",
+ "infer-owner": "^1.0.3",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.3",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
+ "chownr": {
+ "version": "1.1.4"
+ },
+ "eslint-scope": {
+ "version": "4.0.3",
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-wsl": {
+ "version": "1.1.0"
+ },
+ "json5": {
+ "version": "1.0.1",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
+ "serialize-javascript": {
+ "version": "4.0.0",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1"
+ },
+ "ssri": {
+ "version": "6.0.1",
+ "requires": {
+ "figgy-pudding": "^3.5.1"
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "1.4.5",
+ "requires": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^4.0.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "yallist": {
+ "version": "3.1.1"
+ }
+ }
+ },
+ "webpack-dev-middleware": {
+ "version": "3.7.3",
+ "requires": {
+ "memory-fs": "^0.4.1",
+ "mime": "^2.4.4",
+ "mkdirp": "^0.5.1",
+ "range-parser": "^1.2.1",
+ "webpack-log": "^2.0.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "2.5.2"
+ }
+ }
+ },
+ "webpack-dev-server": {
+ "version": "3.11.1",
+ "requires": {
+ "ansi-html": "0.0.7",
+ "bonjour": "^3.5.0",
+ "chokidar": "^2.1.8",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^1.6.0",
+ "debug": "^4.1.1",
+ "del": "^4.1.1",
+ "express": "^4.17.1",
+ "html-entities": "^1.3.1",
+ "http-proxy-middleware": "0.19.1",
+ "import-local": "^2.0.0",
+ "internal-ip": "^4.3.0",
+ "ip": "^1.1.5",
+ "is-absolute-url": "^3.0.3",
+ "killable": "^1.0.1",
+ "loglevel": "^1.6.8",
+ "opn": "^5.5.0",
+ "p-retry": "^3.0.1",
+ "portfinder": "^1.0.26",
+ "schema-utils": "^1.0.0",
+ "selfsigned": "^1.10.8",
+ "semver": "^6.3.0",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.21",
+ "sockjs-client": "^1.5.0",
+ "spdy": "^4.0.2",
+ "strip-ansi": "^3.0.1",
+ "supports-color": "^6.1.0",
+ "url": "^0.11.0",
+ "webpack-dev-middleware": "^3.7.2",
+ "webpack-log": "^2.0.0",
+ "ws": "^6.2.1",
+ "yargs": "^13.3.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1"
+ },
+ "anymatch": {
+ "version": "2.0.0",
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "binary-extensions": {
+ "version": "1.13.1"
+ },
+ "braces": {
+ "version": "2.3.2",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "camelcase": {
+ "version": "5.3.1"
+ },
+ "chokidar": {
+ "version": "2.1.8",
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ }
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0"
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "emoji-regex": {
+ "version": "7.0.3"
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "fsevents": {
+ "version": "1.2.13",
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "import-local": {
+ "version": "2.0.0",
+ "requires": {
+ "pkg-dir": "^3.0.0",
+ "resolve-cwd": "^2.0.0"
+ }
+ },
+ "is-absolute-url": {
+ "version": "3.0.3"
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1"
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0"
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0"
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "requires": {
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0"
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0"
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0"
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0"
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "ws": {
+ "version": "6.2.1",
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "yargs": {
+ "version": "13.3.2",
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.2",
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "webpack-log": {
+ "version": "2.0.0",
+ "requires": {
+ "ansi-colors": "^3.0.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "ansi-colors": {
+ "version": "3.2.4"
+ },
+ "uuid": {
+ "version": "3.4.0"
+ }
+ }
+ },
+ "webpack-manifest-plugin": {
+ "version": "2.2.0",
+ "requires": {
+ "fs-extra": "^7.0.0",
+ "lodash": ">=3.5 <5",
+ "object.entries": "^1.1.0",
+ "tapable": "^1.0.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "7.0.1",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2"
+ }
+ }
+ },
+ "webpack-sources": {
+ "version": "1.4.3",
+ "requires": {
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1"
+ }
+ }
+ },
+ "websocket-driver": {
+ "version": "0.7.4",
+ "requires": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
+ }
+ },
+ "websocket-extensions": {
+ "version": "0.1.4"
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-fetch": {
+ "version": "3.6.2"
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0"
+ },
+ "whatwg-url": {
+ "version": "8.4.0",
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^2.0.2",
+ "webidl-conversions": "^6.1.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-boxed-primitive": {
+ "version": "1.0.2",
+ "requires": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0"
+ },
+ "word-wrap": {
+ "version": "1.2.3"
+ },
+ "workbox-background-sync": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-broadcast-update": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-build": {
+ "version": "5.1.4",
+ "requires": {
+ "@babel/core": "^7.8.4",
+ "@babel/preset-env": "^7.8.4",
+ "@babel/runtime": "^7.8.4",
+ "@hapi/joi": "^15.1.0",
+ "@rollup/plugin-node-resolve": "^7.1.1",
+ "@rollup/plugin-replace": "^2.3.1",
+ "@surma/rollup-plugin-off-main-thread": "^1.1.1",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^8.1.0",
+ "glob": "^7.1.6",
+ "lodash.template": "^4.5.0",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^1.31.1",
+ "rollup-plugin-babel": "^4.3.3",
+ "rollup-plugin-terser": "^5.3.1",
+ "source-map": "^0.7.3",
+ "source-map-url": "^0.4.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^1.0.2",
+ "tempy": "^0.3.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "^5.1.4",
+ "workbox-broadcast-update": "^5.1.4",
+ "workbox-cacheable-response": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-expiration": "^5.1.4",
+ "workbox-google-analytics": "^5.1.4",
+ "workbox-navigation-preload": "^5.1.4",
+ "workbox-precaching": "^5.1.4",
+ "workbox-range-requests": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4",
+ "workbox-streams": "^5.1.4",
+ "workbox-sw": "^5.1.4",
+ "workbox-window": "^5.1.4"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "8.1.0",
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "source-map": {
+ "version": "0.7.3"
+ },
+ "universalify": {
+ "version": "0.1.2"
+ }
+ }
+ },
+ "workbox-cacheable-response": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-core": {
+ "version": "5.1.4"
+ },
+ "workbox-expiration": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-google-analytics": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-background-sync": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4"
+ }
+ },
+ "workbox-navigation-preload": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-precaching": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-range-requests": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-routing": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "workbox-strategies": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ }
+ },
+ "workbox-streams": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ }
+ },
+ "workbox-sw": {
+ "version": "5.1.4"
+ },
+ "workbox-webpack-plugin": {
+ "version": "5.1.4",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "fast-json-stable-stringify": "^2.0.0",
+ "source-map-url": "^0.4.0",
+ "upath": "^1.1.2",
+ "webpack-sources": "^1.3.0",
+ "workbox-build": "^5.1.4"
+ }
+ },
+ "workbox-window": {
+ "version": "5.1.4",
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "worker-farm": {
+ "version": "1.7.0",
+ "requires": {
+ "errno": "~0.1.7"
+ }
+ },
+ "worker-rpc": {
+ "version": "0.1.1",
+ "requires": {
+ "microevent.ts": "~0.1.1"
+ }
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2"
+ },
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "ws": {
+ "version": "7.4.4",
+ "requires": {}
+ },
+ "xml-name-validator": {
+ "version": "3.0.0"
+ },
+ "xmlchars": {
+ "version": "2.2.0"
+ },
+ "xtend": {
+ "version": "4.0.2"
+ },
+ "y18n": {
+ "version": "4.0.1"
+ },
+ "yallist": {
+ "version": "4.0.0"
+ },
+ "yaml": {
+ "version": "1.10.0"
+ },
+ "yargs": {
+ "version": "15.4.1",
+ "requires": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "18.1.3",
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1"
+ }
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0"
+ }
+ }
+}
diff --git a/frontend/package.json b/frontend/package.json
new file mode 100644
index 0000000..c89633f
--- /dev/null
+++ b/frontend/package.json
@@ -0,0 +1,49 @@
+{
+ "name": "frontend",
+ "version": "0.1.0",
+ "private": true,
+ "dependencies": {
+ "@material-ui/core": "^4.11.3",
+ "@material-ui/icons": "^4.11.2",
+ "@testing-library/jest-dom": "^5.11.9",
+ "@testing-library/react": "^11.2.5",
+ "@testing-library/user-event": "^12.8.3",
+ "axios": "^0.21.1",
+ "react": "^17.0.1",
+ "react-code-blocks": "^0.0.8",
+ "react-dom": "^17.0.1",
+ "react-dropzone": "^11.3.1",
+ "react-helmet": "^6.1.0",
+ "react-lottie": "^1.2.3",
+ "react-router-dom": "^5.2.0",
+ "react-scripts": "4.0.3",
+ "sass": "^1.32.8",
+ "sweetalert2": "^10.15.6",
+ "web-vitals": "^1.1.0"
+ },
+ "scripts": {
+ "dev": "chmod +x ./env.sh && ./env.sh && cp env-config.js ./public/ && react-scripts start",
+ "start": "react-scripts start",
+ "build": "react-scripts build",
+ "test": "react-scripts test",
+ "eject": "react-scripts eject"
+ },
+ "eslintConfig": {
+ "extends": [
+ "react-app",
+ "react-app/jest"
+ ]
+ },
+ "browserslist": {
+ "production": [
+ ">0.2%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version"
+ ]
+ }
+}
diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico
new file mode 100644
index 0000000..8d51079
Binary files /dev/null and b/frontend/public/favicon.ico differ
diff --git a/frontend/public/index.html b/frontend/public/index.html
new file mode 100644
index 0000000..d272b33
--- /dev/null
+++ b/frontend/public/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Image Uploader
+
+
+ You need to enable JavaScript to run this app.
+
+
+
+
+
diff --git a/frontend/public/logo-16.png b/frontend/public/logo-16.png
new file mode 100644
index 0000000..7f9736d
Binary files /dev/null and b/frontend/public/logo-16.png differ
diff --git a/frontend/public/logo-180.png b/frontend/public/logo-180.png
new file mode 100644
index 0000000..bb80e6f
Binary files /dev/null and b/frontend/public/logo-180.png differ
diff --git a/frontend/public/logo-192.png b/frontend/public/logo-192.png
new file mode 100644
index 0000000..5039f11
Binary files /dev/null and b/frontend/public/logo-192.png differ
diff --git a/frontend/public/logo-32.png b/frontend/public/logo-32.png
new file mode 100644
index 0000000..7f8e69c
Binary files /dev/null and b/frontend/public/logo-32.png differ
diff --git a/frontend/public/logo-512.png b/frontend/public/logo-512.png
new file mode 100644
index 0000000..9a98b1a
Binary files /dev/null and b/frontend/public/logo-512.png differ
diff --git a/frontend/public/logo.png b/frontend/public/logo.png
new file mode 100644
index 0000000..06652c5
Binary files /dev/null and b/frontend/public/logo.png differ
diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json
new file mode 100644
index 0000000..591c143
--- /dev/null
+++ b/frontend/public/manifest.json
@@ -0,0 +1,25 @@
+{
+ "short_name": "ProjectImageUploader",
+ "name": "Project Image Uploader",
+ "icons": [
+ {
+ "src": "favicon.ico",
+ "sizes": "16x16 32x32 48x48",
+ "type": "image/x-icon"
+ },
+ {
+ "src": "logo-192.png",
+ "type": "image/png",
+ "sizes": "192x192"
+ },
+ {
+ "src": "logo-512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ }
+ ],
+ "start_url": ".",
+ "display": "standalone",
+ "theme_color": "#323377",
+ "background_color": "#ffffff"
+}
diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt
new file mode 100644
index 0000000..5f3d4ea
--- /dev/null
+++ b/frontend/public/robots.txt
@@ -0,0 +1,6 @@
+# https://www.robotstxt.org/robotstxt.html
+User-agent: *
+Disallow: /groups
+Disallow: /moderation
+Disallow: /api/groups
+Disallow: /moderation/groups
diff --git a/frontend/src/App.css b/frontend/src/App.css
new file mode 100644
index 0000000..4e893b8
--- /dev/null
+++ b/frontend/src/App.css
@@ -0,0 +1,61 @@
+.cardContainer {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.loading {
+ margin-top: 20vh;
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ width: 43%;
+}
+
+body {
+ font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+
+
+@media screen and (max-height: 750px) {
+ body {
+ zoom: 90%;
+ }
+}
+
+@media screen and (max-height: 700px) {
+ body {
+ zoom: 85%;
+ }
+}
+
+@media screen and (max-height: 650px) {
+ body {
+ zoom: 80%;
+ }
+}
+
+@media screen and (max-height: 600px) {
+ body {
+ zoom: 75%;
+ }
+}
+
+@media screen and (max-height: 550px) {
+ body {
+ zoom: 70%;
+ }
+}
+
+@media screen and (max-height: 500px) {
+ body {
+ zoom: 65%;
+ }
+}
+
+@media screen and (max-height: 450px) {
+ body {
+ zoom: 60%;
+ }
+}
\ No newline at end of file
diff --git a/frontend/src/App.js b/frontend/src/App.js
new file mode 100644
index 0000000..311ad25
--- /dev/null
+++ b/frontend/src/App.js
@@ -0,0 +1,27 @@
+import './App.css';
+import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
+
+// Pages
+import UploadedImage from './Components/Pages/UploadedImagePage';
+import MultiUploadPage from './Components/Pages/MultiUploadPage';
+import SlideshowPage from './Components/Pages/SlideshowPage';
+import GroupsOverviewPage from './Components/Pages/GroupsOverviewPage';
+import ModerationPage from './Components/Pages/ModerationPage';
+import FZF from './Components/Pages/404Page.js'
+
+function App() {
+ return (
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default App;
diff --git a/frontend/src/Components/ComponentUtils/Css/Background.css b/frontend/src/Components/ComponentUtils/Css/Background.css
new file mode 100644
index 0000000..871cbff
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/Css/Background.css
@@ -0,0 +1,23 @@
+
+.allContainer {
+ /*background: url(../../../Images/background.svg) no-repeat center center fixed;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;*/
+ background-size: cover;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
+
+.allContainerNoBackground {
+ background-size: cover;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background-color: whitesmoke;
+}
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/Css/Footer.css b/frontend/src/Components/ComponentUtils/Css/Footer.css
new file mode 100644
index 0000000..dbc16f5
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/Css/Footer.css
@@ -0,0 +1,25 @@
+
+.copyright {
+ text-align:center;
+ font-size:13px;
+ color:#aaa;
+ font-family: "Roboto";
+ font-weight: lighter;
+}
+
+footer {
+ position: absolute;
+ bottom: 0;
+ width: 99%;
+ height: 2.5rem;
+}
+
+a {
+ text-align:center;
+ font-size:13px;
+ color:#aaa;
+ font-family: "Roboto";
+ font-weight: lighter;
+ text-decoration: none;
+
+}
diff --git a/frontend/src/Components/ComponentUtils/Css/Image.css b/frontend/src/Components/ComponentUtils/Css/Image.css
new file mode 100644
index 0000000..3950044
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/Css/Image.css
@@ -0,0 +1,109 @@
+.boxContainer {
+ width: max-content;
+ height: max-content;
+}
+
+.box{
+ width: max-content;
+ height: max-content;
+}
+
+/* Style the Image Used to Trigger the Modal */
+#myImg {
+ margin-top: 100px;
+ border-radius: 5px;
+ cursor: pointer;
+ transition: 0.3s;
+
+ position: relative;
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+
+ /* Style image size */
+ width: auto;
+ height: auto;
+
+ max-width: 60vh;
+ max-height: 60vh;
+
+ /* For transparent images: */
+ background-color: rgb(255, 255, 255, 1);
+
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); /* Box shadow for the image */
+ }
+
+ #myImg:hover {opacity: 0.7;}
+
+ /* The Modal (background) */
+ .modal {
+ display: none; /* Hidden by default */
+ position: fixed; /* Stay in place */
+ z-index: 1; /* Sit on top */
+ padding-top: 100px; /* Location of the box */
+ left: 0;
+ top: 0;
+ width: 100%; /* Full width */
+ height: 100%; /* Full height */
+ overflow: auto; /* Enable scroll if needed */
+ background-color: rgb(0,0,0); /* Fallback color */
+ background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
+ }
+
+ /* Modal Content (Image) */
+ .modal-content {
+ margin: auto;
+ display: block;
+ width: 80%;
+ max-width: 700px;
+ /* For transparent images: */
+ background-color: rgb(255, 255, 255, 1);
+ }
+
+ /* Caption of Modal Image (Image Text) - Same Width as the Image */
+ #caption {
+ margin: auto;
+ display: block;
+ width: 80%;
+ max-width: 700px;
+ text-align: center;
+ color: #ccc;
+ padding: 10px 0;
+ height: 150px;
+ }
+
+ /* Add Animation - Zoom in the Modal */
+ .modal-content, #caption {
+ animation-name: zoom;
+ animation-duration: 0.6s;
+ }
+
+ @keyframes zoom {
+ from {transform:scale(0)}
+ to {transform:scale(1)}
+ }
+
+ /* The Close Button */
+ .close {
+ position: absolute;
+ top: 15px;
+ right: 35px;
+ color: #f1f1f1;
+ font-size: 40px;
+ font-weight: bold;
+ transition: 0.3s;
+ }
+
+ .close:hover,
+ .close:focus {
+ color: #bbb;
+ text-decoration: none;
+ cursor: pointer;
+ }
+
+ /* 100% Image Width on Smaller Screens */
+ @media only screen and (max-width: 700px){
+ .modal-content {
+ width: 100%;
+ }
+ }
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/Css/Image.scss b/frontend/src/Components/ComponentUtils/Css/Image.scss
new file mode 100644
index 0000000..5196a7a
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/Css/Image.scss
@@ -0,0 +1,48 @@
+/*.box {
+ --border-width: 3px;
+
+ position: relative;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 300px;
+ height: 200px;
+ font-family: Lato, sans-serif;
+ font-size: 2.5rem;
+ text-transform: uppercase;
+ color: white;
+ background: #222;
+ border-radius: var(--border-width);
+
+ &::after {
+ position: absolute;
+ content: "";
+ top: calc(-1 * var(--border-width));
+ left: calc(-1 * var(--border-width));
+ z-index: -1;
+ width: calc(100% + var(--border-width) * 2);
+ height: calc(100% + var(--border-width) * 2);
+ background: linear-gradient(
+ 60deg,
+ hsl(0, 0%, 0%),
+ hsl(0, 2%, 38%),
+ hsl(0, 28%, 60%),
+ hsl(0, 6%, 85%),
+ hsl(0, 91%, 40%),
+ hsl(0, 0%, 79%),
+ hsl(0, 10%, 80%),
+ hsl(0, 0%, 0%)
+ );
+ background-size: 300% 300%;
+ background-position: 0 50%;
+ border-radius: calc(2 * var(--border-width));
+ animation: moveGradient 4s alternate infinite;
+ }
+ }
+
+ @keyframes moveGradient {
+ 50% {
+ background-position: 100% 50%;
+ }
+ }
+ */
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/Css/Navbar.css b/frontend/src/Components/ComponentUtils/Css/Navbar.css
new file mode 100644
index 0000000..b7f1322
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/Css/Navbar.css
@@ -0,0 +1,137 @@
+header {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ padding: 0px 3%;
+ background-color: rgba(132, 191, 63, 1);
+}
+
+.logo {
+ margin-right: auto;
+ color: #ECF0F1;
+ font-family: 'Montserrat', sans-serif;
+ font-size: 20px;
+ display: flex;
+ flex-direction: row;
+}
+
+.logo p {
+ padding-top: 2px;
+}
+
+.imageNav {
+ margin-top: 10px;
+ height: 50px;
+ padding-right: 15px;
+}
+
+.nav__links {
+ list-style: none;
+ display: flex;
+}
+
+.nav__links a,
+.cta,
+.overlay__content a {
+ font-family: "Montserrat", sans-serif;
+ font-weight: 500;
+ color: #edf0f1;
+ text-decoration: none;
+}
+
+.nav__links li {
+ padding: 0px 20px;
+}
+
+.nav__links li a {
+ transition: all 0.3s ease 0s;
+}
+
+.nav__links li a:hover {
+ color: #0088a9;
+}
+
+.cta {
+ margin-left: 20px;
+ padding: 9px 25px;
+ background-color: rgba(0, 136, 169, 1);
+ border: none;
+ border-radius: 50px;
+ cursor: pointer;
+ transition: all 0.3s ease 0s;
+}
+
+.cta:hover {
+ background-color: rgba(0, 136, 169, 0.8);
+}
+
+/* Mobile Nav */
+
+.menu {
+ display: none;
+}
+
+.overlay {
+ height: 100%;
+ width: 0;
+ position: fixed;
+ z-index: 1;
+ left: 0;
+ top: 0;
+ background-color: #24252a;
+ overflow-x: hidden;
+ transition: all 0.5s ease 0s;
+}
+
+.overlay--active {
+ width: 100%;
+}
+
+.overlay__content {
+ display: flex;
+ height: 100%;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.overlay a {
+ padding: 15px;
+ font-size: 36px;
+ display: block;
+ transition: all 0.3s ease 0s;
+}
+
+.overlay a:hover,
+.overlay a:focus {
+ color: #0088a9;
+}
+.overlay .close {
+ position: absolute;
+ top: 20px;
+ right: 45px;
+ font-size: 60px;
+ color: #edf0f1;
+ cursor: pointer;
+}
+
+@media screen and (max-height: 450px) {
+.overlay a {
+ font-size: 20px;
+}
+.overlay .close {
+ font-size: 40px;
+ top: 15px;
+ right: 35px;
+}
+}
+
+@media only screen and (max-width: 800px) {
+.nav__links,
+.cta {
+ display: none;
+}
+.menu {
+ display: initial;
+}
+}
diff --git a/frontend/src/Components/ComponentUtils/Footer.js b/frontend/src/Components/ComponentUtils/Footer.js
new file mode 100644
index 0000000..7b7e2ee
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/Footer.js
@@ -0,0 +1,13 @@
+import React from 'react'
+
+import './Css/Footer.css'
+
+function Footer() {
+ return (
+
+ )
+}
+
+export default Footer
diff --git a/frontend/src/Components/ComponentUtils/Headers/Navbar.js b/frontend/src/Components/ComponentUtils/Headers/Navbar.js
new file mode 100644
index 0000000..9da9aa8
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/Headers/Navbar.js
@@ -0,0 +1,25 @@
+import React from 'react'
+
+import '../Css/Navbar.css'
+
+import logo from '../../../Images/logo.png'
+import { Lock as LockIcon } from '@material-ui/icons';
+
+function Navbar() {
+ return (
+
+ )
+}
+
+export default Navbar
diff --git a/frontend/src/Components/ComponentUtils/ImageUploadCard.js b/frontend/src/Components/ComponentUtils/ImageUploadCard.js
new file mode 100644
index 0000000..aa66375
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/ImageUploadCard.js
@@ -0,0 +1,73 @@
+import React from 'react';
+import { makeStyles } from '@material-ui/core/styles';
+import Card from '@material-ui/core/Card';
+import CardContent from '@material-ui/core/CardContent';
+import Grow from '@material-ui/core/Grow';
+
+// Components
+import StyledDropzone from './StyledDropzone'
+import UploadButton from './UploadButton'
+import Loading from './LoadingAnimation/Loading';
+
+import '../../App.css'
+
+const useStyles = makeStyles({
+ root: {
+ paddingLeft: "40px",
+ paddingRight: "40px",
+ paddingTop: "10px",
+ paddingBottom: "10px",
+ borderRadius: "7px",
+ boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)",
+ display: "grid",
+ placeItems: "center"
+ },
+ headerText: {
+ fontFamily: "roboto",
+ fontWeight: "300",
+ fontSize: 20,
+ textAlign: "center",
+ paddingBottom: 0,
+ lineHeight: "0em"
+ },
+ subheaderText: {
+ fontFamily: "roboto",
+ fontWeight: "300",
+ fontSize: 11,
+ color: "grey",
+ textAlign: "center",
+ lineHeight: "0.7em",
+ paddingBottom: "20px"
+ }
+});
+
+
+export default function ImageUploadCard(props) {
+ const classes = useStyles();
+ const checked = true
+ return (
+
+ {!props.loading?
+
+
+
+
+ Upload your image
+ File should be Jpeg, Png, ...
+
+
+
+
+
+
+ :
+
+
+
+ }
+
+ );
+}
+
+
+
diff --git a/frontend/src/Components/ComponentUtils/LoadingAnimation/Loading.js b/frontend/src/Components/ComponentUtils/LoadingAnimation/Loading.js
new file mode 100644
index 0000000..bef8616
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/LoadingAnimation/Loading.js
@@ -0,0 +1,26 @@
+import '../../../App.css'
+
+import Lottie from 'react-lottie';
+import animationData from './animation.json';
+
+export default function Loading() {
+ const defaultOptions = {
+ loop: true,
+ autoplay: true,
+ animationData: animationData,
+ rendererSettings: {
+ preserveAspectRatio: "xMidYMid slice"
+ },
+ };
+
+return (
+
+
+
+ )
+}
diff --git a/frontend/src/Components/ComponentUtils/LoadingAnimation/animation.json b/frontend/src/Components/ComponentUtils/LoadingAnimation/animation.json
new file mode 100644
index 0000000..b72fbe4
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/LoadingAnimation/animation.json
@@ -0,0 +1 @@
+{"v":"4.5.7","fr":25,"ip":0,"op":225,"w":480,"h":480,"ddd":0,"assets":[{"id":"comp_12","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[240,231,0]},"a":{"a":0,"k":[-13,89,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":18,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":36,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 3","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":54,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 4","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":72,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 5","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 6","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":108,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 7","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":126,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 8","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":144,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 9","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":162,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 10","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":180,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 11","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":198,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 12","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":216,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 13","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":234,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 14","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":252,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 15","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":270,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 16","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":288,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 17","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":306,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 18","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":324,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 19","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.333,11],[-13,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.565],"y":[1.005]},"o":{"x":[0.333],"y":[0]},"n":["0p565_1p005_0p333_0"],"t":0,"s":[82],"e":[0]},{"t":11}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.439],"y":[1.006]},"o":{"x":[0.333],"y":[0]},"n":["0p439_1p006_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[-12,100],"ix":2},"a":{"a":0,"k":[-12,100],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":342,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 20","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":225,"st":0,"bm":0,"sr":1}]},{"id":"comp_13","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Layer 4 Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":46,"s":[399.094,153,0],"e":[399.094,183,0],"to":[0,5,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":106,"s":[399.094,183,0],"e":[399.094,153,0],"to":[0,0,0],"ti":[-1.33333337306976,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":166,"s":[399.094,153,0],"e":[407.094,183,0],"to":[1.33333337306976,0,0],"ti":[-1.33333337306976,-5,0]},{"t":225}]},"a":{"a":0,"k":[78,54,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":12,"s":[0,0,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":18,"s":[110,110,100],"e":[90,90,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":22,"s":[90,90,100],"e":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":25,"s":[105,105,100],"e":[100,100,100]},{"t":28}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-5.786],[5.786,0],[0,5.786],[-5.786,0]],"o":[[0,5.786],[-5.786,0],[0,-5.786],[5.786,0]],"v":[[10.477,0],[0,10.476],[-10.477,0],[0,-10.476]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-371.577,325.787],[108.423,325.787],[108.423,-154.213],[-371.577,-154.213]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-371.577,-154.213],[108.423,-154.213],[108.423,325.787],[-371.577,325.787]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[50.483,35.119],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-24.634,-5.818],[-12.156,4.848],[15.923,-23.593],[55.362,23.593],[48.915,23.593],[-55.362,23.593]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[82.402,66.313],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[65.436,41.429],[-48.976,41.429],[-65.436,41.429],[-65.436,-41.429],[65.436,-41.429]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[76.341,47.875],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[134,86]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[80.406,51.906],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":23,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":225,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":" Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":25,"s":[241.594,235,0],"e":[241.594,255,0],"to":[0,3.33333325386047,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":98,"s":[241.594,255,0],"e":[241.594,235,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":158,"s":[241.594,235,0],"e":[241.594,255,0],"to":[0,0,0],"ti":[0,-3.33333325386047,0]},{"t":224}]},"a":{"a":0,"k":[167.5,110.5,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":15,"s":[0,0,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":21,"s":[110,110,100],"e":[90,90,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":25,"s":[90,90,100],"e":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":28,"s":[105,105,100],"e":[100,100,100]},{"t":31}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-13.694],[13.694,0],[0,13.694],[-13.694,0]],"o":[[0,13.694],[-13.694,0],[0,-13.694],[13.694,0]],"v":[[24.795,0],[0,24.795],[-24.795,0],[0,-24.795]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-178.801,270.597],[301.2,270.597],[301.2,-209.403],[-178.801,-209.403]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-178.801,-209.403],[301.2,-209.403],[301.2,270.597],[-178.801,270.597]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge"},{"ty":"fl","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[104.706,74.309],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-58.304,-13.435],[-28.772,12.077],[37.686,-55.638],[131.029,55.638],[115.769,55.638],[-131.029,55.638]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[180.252,147.268],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[154.87,98.054],[-115.915,98.054],[-154.87,98.054],[-154.87,-98.054],[154.87,-98.054]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[165.906,104.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[311,199]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[172.406,110.406],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":20,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":225,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 5 Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[240,240,0]},"a":{"a":0,"k":[125.89,125.89,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":7,"s":[0,0,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":13,"s":[110,110,100],"e":[90,90,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":17,"s":[90,90,100],"e":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":20,"s":[105,105,100],"e":[100,100,100]},{"t":23}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-69.389],[69.389,0],[0,69.389],[-69.389,0]],"o":[[0,69.389],[-69.389,0],[0,-69.389],[69.389,0]],"v":[[125.64,0],[0,125.64],[-125.64,0],[0,-125.64]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,240],[240,240],[240,-240],[-240,-240]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-240],[240,-240],[240,240],[-240,240]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge"},{"ty":"fl","c":{"a":0,"k":[0.5647058823529412,0.07450980392156863,0.996078431372549,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[125.89,125.89],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":225,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"/bg -0hisjhdjnjchndoahnckfv Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[35],"e":[-325]},{"t":224}]},"p":{"a":0,"k":[240,240,0]},"a":{"a":0,"k":[151.5,151.5,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":0,"s":[0,0,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":6,"s":[110,110,100],"e":[90,90,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":10,"s":[90,90,100],"e":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":13,"s":[105,105,100],"e":[100,100,100]},{"t":16}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.938,-0.017],[0,0],[0.696,0.004],[0,0],[0.02,0],[0,0],[0.041,0],[0.003,0],[0.02,0],[0,0],[0.02,0],[0.003,0],[0.02,0],[0.004,0],[0.02,0],[0,0],[0.02,0],[0.004,0],[0.01,0],[0.005,0],[0.015,0],[0,0],[0.02,0],[0,0],[0.01,0],[0,0]],"o":[[0,0],[0.941,0],[0,0],[-0.695,-0.013],[0,0],[-0.02,0],[0,0],[-0.041,0],[-0.003,0],[-0.021,0],[0,0],[-0.02,0],[-0.003,0],[-0.021,0],[-0.005,0],[-0.02,0],[0,0],[-0.02,0],[-0.004,0],[-0.01,0],[-0.006,0],[-0.016,0],[0,0],[-0.021,0],[0,0],[-0.01,0],[0,0],[0,0]],"v":[[-0.037,-150.997],[-0.037,-147.997],[2.781,-147.971],[2.837,-150.969],[0.758,-150.994],[0.755,-150.994],[0.697,-150.994],[0.695,-150.994],[0.578,-150.995],[0.568,-150.995],[0.516,-150.995],[0.511,-150.995],[0.454,-150.995],[0.445,-150.995],[0.397,-150.995],[0.384,-150.995],[0.333,-150.997],[0.328,-150.997],[0.272,-150.997],[0.259,-150.997],[0.217,-150.997],[0.2,-150.997],[0.149,-150.997],[0.146,-150.997],[0.091,-150.997],[0.074,-150.997],[0.034,-150.997],[0.018,-150.997]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0.042,0.004],[0,0],[-3.527,-0.582],[0,0],[0,0],[0.007,0.001],[0.009,0.001],[0.006,0.001],[0.019,0.003],[0.005,0.001],[0.014,0.002],[0.004,0],[0.02,0.003],[0.002,0],[0.02,0.003],[0.003,0],[0.019,0.003],[0.004,0.001],[0.039,0.006],[0.002,0],[3.257,0.312],[0.002,0],[0.04,0.004],[0.004,0.001],[0.015,0.001],[0.004,0],[0.02,0.002],[0.004,0],[0.009,0.001],[0.008,0.001],[0.01,0.001],[0.01,0.001],[0.01,0],[0.008,0.001],[0.01,0.001],[0.011,0.001],[0.005,0],[0.024,0.003],[0.005,0],[0.013,0.001],[0,0]],"o":[[0,0],[3.569,0.324],[0,0],[0,0],[-0.007,-0.001],[-0.01,-0.001],[-0.006,-0.001],[-0.019,-0.003],[-0.005,-0.001],[-0.015,-0.002],[-0.005,-0.001],[-0.02,-0.004],[-0.002,0],[-0.02,-0.003],[-0.003,0],[-0.02,-0.004],[-0.004,0],[-0.039,-0.006],[-0.001,-0.001],[-3.193,-0.517],[-0.002,-0.001],[-0.04,-0.004],[-0.003,0],[-0.015,-0.001],[-0.004,0],[-0.019,-0.002],[-0.004,-0.001],[-0.01,-0.001],[-0.008,-0.001],[-0.009,-0.001],[-0.009,-0.001],[-0.009,-0.001],[-0.009,-0.001],[-0.01,-0.001],[-0.01,-0.001],[-0.005,0],[-0.024,-0.002],[-0.005,0],[-0.013,-0.001],[0,0],[-0.043,-0.004]],"v":[[13.818,-150.369],[13.546,-147.381],[24.239,-146.015],[24.727,-148.975],[24.721,-148.976],[24.7,-148.98],[24.667,-148.985],[24.648,-148.988],[24.6,-148.997],[24.585,-148.999],[24.545,-149.005],[24.531,-149.007],[24.484,-149.015],[24.478,-149.016],[24.424,-149.025],[24.415,-149.027],[24.369,-149.035],[24.358,-149.036],[24.248,-149.053],[24.242,-149.054],[14.571,-150.298],[14.566,-150.299],[14.453,-150.311],[14.442,-150.311],[14.397,-150.315],[14.385,-150.316],[14.332,-150.321],[14.321,-150.322],[14.281,-150.326],[14.259,-150.328],[14.228,-150.331],[14.2,-150.334],[14.159,-150.337],[14.133,-150.34],[14.11,-150.342],[14.078,-150.346],[14.067,-150.346],[13.995,-150.354],[13.989,-150.354],[13.949,-150.357],[13.945,-150.357]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ind":2,"ty":"sh","ks":{"a":0,"k":{"i":[[0.363,0.087],[0,0],[-3.407,-1.092],[0,0],[0.745,0.226],[0.001,0],[0.056,0.017],[0,0],[0.055,0.016],[0.001,0],[0.037,0.011],[0,0],[0.018,0.006],[0,0],[0.038,0.011],[0.001,0],[0.018,0.006],[0,0],[0.037,0.011],[0.003,0.001],[0.019,0.005],[0.001,0],[0.018,0.005],[0.019,0.005],[0.001,0],[0.056,0.017],[0.001,0.001],[0.038,0.011],[0.001,0.001],[0.018,0.006],[0.001,0],[0.037,0.011],[0,0.001],[0.018,0.005],[0.001,0],[0.037,0.011],[0.001,0.001],[0.112,0.032],[0.001,0],[1.375,0.355],[0.001,0.001],[0.057,0.015],[0.003,0.001],[0.038,0.01],[0.002,0],[0.019,0.005],[0.003,0.001],[0.019,0.005],[0,0],[0.019,0.005],[0.004,0.001],[0.009,0.002],[0.004,0.001],[0.019,0.005],[0.004,0],[0.009,0.003],[0.007,0.002],[0.01,0.002],[0,0],[0.019,0.005],[0.007,0.001],[0.009,0.002],[0.008,0.002],[0.009,0.003],[0.009,0.002],[0.019,0.005],[0.008,0.002],[0.01,0.002],[0.01,0.002],[0.005,0.001],[0.036,0.009],[0.005,0.001],[0.013,0.003],[0.005,0.001],[0.04,0.01],[0,0]],"o":[[0,0],[3.479,0.839],[0,0],[-0.741,-0.237],[-0.001,0],[-0.055,-0.017],[0,0],[-0.056,-0.017],[-0.002,-0.001],[-0.037,-0.012],[0,0],[-0.019,-0.006],[-0.001,0],[-0.038,-0.011],[-0.001,0],[-0.018,-0.005],[-0.001,0],[-0.037,-0.011],[-0.004,-0.001],[-0.019,-0.005],[-0.001,0],[-0.019,-0.006],[-0.019,-0.006],[-0.001,-0.001],[-0.056,-0.017],[0,0],[-0.037,-0.011],[-0.001,0],[-0.019,-0.005],[-0.002,0],[-0.037,-0.011],[-0.001,0],[-0.019,-0.005],[-0.001,0],[-0.037,-0.011],[-0.001,0],[-0.112,-0.032],[-0.001,0],[-1.36,-0.393],[0,0],[-0.056,-0.014],[-0.003,-0.001],[-0.038,-0.01],[-0.002,0],[-0.019,-0.005],[-0.003,-0.001],[-0.019,-0.004],[-0.001,0],[-0.019,-0.005],[-0.003,-0.001],[-0.009,-0.003],[-0.004,-0.001],[-0.019,-0.005],[-0.003,-0.001],[-0.009,-0.003],[-0.007,-0.001],[-0.009,-0.002],[0,0],[-0.019,-0.004],[-0.006,-0.001],[-0.009,-0.003],[-0.009,-0.002],[-0.009,-0.003],[-0.009,-0.002],[-0.019,-0.005],[-0.008,-0.002],[-0.009,-0.003],[-0.01,-0.003],[-0.005,-0.002],[-0.036,-0.009],[-0.004,-0.001],[-0.012,-0.003],[-0.004,-0.002],[-0.04,-0.01],[0,0],[-0.362,-0.091]],"v":[[35.505,-146.79],[34.801,-143.873],[45.178,-140.963],[46.094,-143.82],[43.868,-144.514],[43.866,-144.514],[43.7,-144.565],[43.7,-144.565],[43.536,-144.614],[43.532,-144.615],[43.422,-144.648],[43.422,-144.648],[43.368,-144.665],[43.366,-144.665],[43.256,-144.699],[43.253,-144.699],[43.201,-144.715],[43.199,-144.715],[43.093,-144.747],[43.083,-144.751],[43.034,-144.764],[43.032,-144.765],[42.977,-144.781],[42.923,-144.798],[42.919,-144.798],[42.755,-144.847],[42.752,-144.848],[42.643,-144.88],[42.64,-144.881],[42.589,-144.896],[42.585,-144.897],[42.476,-144.929],[42.474,-144.93],[42.421,-144.945],[42.418,-144.946],[42.309,-144.979],[42.306,-144.979],[41.974,-145.075],[41.971,-145.076],[37.87,-146.199],[37.869,-146.199],[37.705,-146.242],[37.696,-146.243],[37.589,-146.271],[37.582,-146.272],[37.536,-146.285],[37.527,-146.287],[37.476,-146.3],[37.474,-146.3],[37.421,-146.314],[37.41,-146.316],[37.369,-146.327],[37.356,-146.33],[37.307,-146.343],[37.296,-146.346],[37.256,-146.356],[37.236,-146.361],[37.202,-146.369],[37.186,-146.374],[37.138,-146.386],[37.119,-146.39],[37.089,-146.398],[37.064,-146.404],[37.04,-146.411],[37.014,-146.417],[36.97,-146.428],[36.945,-146.434],[36.922,-146.44],[36.893,-146.447],[36.874,-146.452],[36.767,-146.479],[36.758,-146.481],[36.721,-146.49],[36.716,-146.492],[36.595,-146.522],[36.594,-146.522]],"c":true}},"nm":"Path 3","mn":"ADBE Vector Shape - Group"},{"ind":3,"ty":"sh","ks":{"a":0,"k":{"i":[[0.586,0.236],[0,0],[-3.213,-1.579],[0,0],[0.042,0.021],[0.002,0.001],[2.178,0.943],[0.001,0.001],[0.036,0.015],[0.001,0],[0.018,0.007],[0.004,0.002],[0.031,0.013],[0.002,0.001],[0.018,0.007],[0.007,0.003],[0.026,0.012],[0.007,0.003],[0.013,0.006],[0.01,0.004],[0.022,0.009],[0.011,0.004],[0.013,0.005],[0.011,0.004],[0.013,0.006],[0.016,0.006],[0.009,0.004],[0.013,0.006],[0.008,0.003],[0.018,0.008],[0.009,0.003],[0.015,0.007],[0.008,0.004],[0.022,0.009],[0.004,0.002],[0.02,0.009],[0.005,0.002],[0.023,0.01],[0.004,0.002],[0.021,0.009],[0.005,0.002],[0.024,0.01],[0.005,0.002],[0.024,0.01],[0.005,0.002],[0.025,0.011],[0.004,0.001],[0.051,0.021],[0.004,0.001]],"o":[[0,0],[3.317,1.338],[0,0],[-0.043,-0.021],[-0.002,-0.001],[-2.123,-1.042],[-0.001,-0.001],[-0.035,-0.015],[0,-0.001],[-0.018,-0.008],[-0.003,-0.002],[-0.031,-0.013],[-0.002,-0.001],[-0.017,-0.007],[-0.007,-0.003],[-0.027,-0.011],[-0.007,-0.003],[-0.013,-0.006],[-0.009,-0.004],[-0.022,-0.01],[-0.011,-0.005],[-0.013,-0.006],[-0.011,-0.005],[-0.013,-0.006],[-0.015,-0.006],[-0.008,-0.004],[-0.013,-0.005],[-0.009,-0.004],[-0.019,-0.008],[-0.009,-0.004],[-0.015,-0.007],[-0.009,-0.004],[-0.022,-0.009],[-0.004,-0.002],[-0.02,-0.008],[-0.004,-0.001],[-0.023,-0.01],[-0.004,-0.001],[-0.021,-0.009],[-0.004,-0.001],[-0.024,-0.01],[-0.004,-0.002],[-0.023,-0.01],[-0.004,-0.002],[-0.025,-0.011],[-0.004,-0.001],[-0.051,-0.022],[-0.004,-0.002],[-0.582,-0.244]],"v":[[56.436,-140.081],[55.314,-137.299],[65.154,-132.903],[66.477,-135.596],[66.358,-135.654],[66.352,-135.656],[59.902,-138.632],[59.898,-138.634],[59.797,-138.678],[59.795,-138.678],[59.746,-138.699],[59.735,-138.704],[59.642,-138.744],[59.636,-138.747],[59.591,-138.766],[59.571,-138.775],[59.497,-138.807],[59.475,-138.816],[59.435,-138.833],[59.407,-138.846],[59.349,-138.87],[59.316,-138.884],[59.279,-138.9],[59.246,-138.915],[59.2,-138.934],[59.154,-138.953],[59.123,-138.967],[59.083,-138.984],[59.051,-138.997],[58.996,-139.021],[58.966,-139.033],[58.92,-139.053],[58.899,-139.062],[58.833,-139.09],[58.812,-139.1],[58.751,-139.126],[58.743,-139.128],[58.673,-139.158],[58.656,-139.165],[58.592,-139.192],[58.584,-139.195],[58.512,-139.225],[58.499,-139.231],[58.429,-139.26],[58.427,-139.261],[58.352,-139.294],[58.343,-139.296],[58.19,-139.36],[58.188,-139.361]],"c":true}},"nm":"Path 4","mn":"ADBE Vector Shape - Group"},{"ind":4,"ty":"sh","ks":{"a":0,"k":{"i":[[1.658,0.971],[0,0],[-2.95,-2.029],[0,0],[1.071,0.697],[0.001,0],[0.016,0.011],[0.003,0.002],[0.024,0.015],[0.006,0.004],[0.016,0.01],[0.006,0.004],[0.024,0.015],[0.008,0.005],[0.008,0.006],[0.01,0.007],[0.016,0.01],[0.011,0.007],[0.007,0.005],[0.016,0.01],[0.012,0.008],[0.014,0.009],[0.008,0.005],[0.02,0.013],[0.004,0.003],[0.017,0.011],[0.004,0.002],[0.021,0.013],[0.004,0.002],[0.02,0.013],[0.004,0.003],[0.046,0.03],[0.004,0.003],[0.048,0.031]],"o":[[0,0],[3.087,1.807],[0,0],[-1.053,-0.724],[-0.001,-0.001],[-0.015,-0.011],[-0.003,-0.002],[-0.024,-0.015],[-0.006,-0.004],[-0.016,-0.01],[-0.006,-0.004],[-0.024,-0.015],[-0.008,-0.005],[-0.008,-0.005],[-0.01,-0.006],[-0.016,-0.01],[-0.011,-0.007],[-0.008,-0.005],[-0.016,-0.01],[-0.012,-0.008],[-0.015,-0.009],[-0.008,-0.005],[-0.02,-0.013],[-0.004,-0.003],[-0.017,-0.011],[-0.004,-0.002],[-0.021,-0.014],[-0.004,-0.003],[-0.021,-0.014],[-0.004,-0.003],[-0.046,-0.029],[-0.004,-0.002],[-0.048,-0.03],[-1.618,-1.032]],"v":[[76.164,-130.387],[74.647,-127.798],[83.745,-122.016],[85.445,-124.488],[82.259,-126.62],[82.257,-126.622],[82.212,-126.652],[82.203,-126.657],[82.127,-126.706],[82.11,-126.717],[82.071,-126.742],[82.053,-126.755],[81.988,-126.796],[81.965,-126.811],[81.93,-126.834],[81.9,-126.854],[81.851,-126.885],[81.818,-126.906],[81.789,-126.925],[81.742,-126.955],[81.714,-126.975],[81.671,-127.001],[81.648,-127.016],[81.589,-127.054],[81.574,-127.064],[81.523,-127.097],[81.506,-127.107],[81.443,-127.148],[81.436,-127.152],[81.374,-127.192],[81.365,-127.199],[81.227,-127.287],[81.222,-127.29],[81.079,-127.381]],"c":true}},"nm":"Path 5","mn":"ADBE Vector Shape - Group"},{"ind":5,"ty":"sh","ks":{"a":0,"k":{"i":[[0.47,0.376],[0,0],[-2.625,-2.434],[0,0],[1.178,1.027],[0.001,0.001],[0.043,0.037],[0,0.001],[0.043,0.037],[0.002,0.001],[0.043,0.037],[0.002,0.001],[0.043,0.037],[0.002,0.002],[0.043,0.037],[0.001,0],[0.028,0.024],[0.001,0],[0.015,0.013],[0.001,0.001],[0.025,0.021],[0.002,0.002],[0.014,0.012],[0.001,0.001],[0.025,0.022],[0.004,0.003],[0.014,0.012],[0.004,0.003],[0.022,0.019],[0.005,0.004],[0.014,0.013],[0.001,0.001],[0.025,0.022],[0.006,0.004],[0.011,0.009],[0.005,0.003],[0.022,0.018],[0.007,0.005],[0.011,0.009],[0.003,0.003],[0.022,0.019],[0.007,0.006],[0.011,0.009],[0.012,0.009],[0.015,0.012],[0.008,0.007],[0.011,0.009],[0.015,0.013],[0.011,0.009],[0.01,0.008],[0.01,0.009],[0.015,0.013],[0.011,0.009],[0.01,0.008],[0.011,0.009],[0.016,0.013],[0.011,0.009],[0.012,0.01],[0.007,0.006],[0.016,0.014],[0.007,0.006],[0.012,0.009],[0.007,0.006],[0.016,0.013],[0.007,0.006],[0.013,0.011],[0.007,0.006],[0.017,0.014],[0.007,0.006],[0.014,0.012],[0.004,0.003],[0.016,0.013],[0.007,0.006],[0.015,0.012],[0.004,0.003],[0.016,0.014],[0.008,0.006],[0.016,0.014],[0.007,0.006],[0.017,0.014],[0.007,0.006],[0.02,0.016],[0.004,0.003],[0.018,0.015],[0.004,0.003],[0.02,0.017],[0.004,0.003],[0.019,0.016],[0.004,0.003],[0.041,0.034],[0.004,0.003],[0.021,0.017],[0,0],[0.021,0.017],[0.004,0.003],[0.043,0.036],[0,0]],"o":[[0,0],[2.793,2.236],[0,0],[-1.146,-1.061],[-0.001,-0.001],[-0.043,-0.037],[-0.001,0],[-0.043,-0.037],[-0.002,-0.002],[-0.042,-0.037],[-0.001,-0.001],[-0.043,-0.037],[-0.002,-0.002],[-0.043,-0.037],[-0.001,-0.001],[-0.028,-0.025],[-0.001,0],[-0.014,-0.013],[-0.001,0],[-0.025,-0.022],[-0.003,-0.003],[-0.015,-0.012],[-0.002,-0.002],[-0.025,-0.022],[-0.004,-0.002],[-0.014,-0.013],[-0.004,-0.003],[-0.021,-0.019],[-0.004,-0.003],[-0.014,-0.012],[-0.001,-0.001],[-0.025,-0.021],[-0.005,-0.004],[-0.01,-0.01],[-0.004,-0.004],[-0.021,-0.019],[-0.007,-0.006],[-0.011,-0.01],[-0.002,-0.002],[-0.021,-0.018],[-0.007,-0.006],[-0.011,-0.009],[-0.011,-0.01],[-0.014,-0.012],[-0.008,-0.007],[-0.011,-0.009],[-0.015,-0.012],[-0.011,-0.009],[-0.009,-0.008],[-0.01,-0.009],[-0.016,-0.013],[-0.011,-0.009],[-0.009,-0.008],[-0.011,-0.009],[-0.016,-0.013],[-0.01,-0.01],[-0.011,-0.009],[-0.007,-0.006],[-0.017,-0.014],[-0.008,-0.006],[-0.012,-0.01],[-0.007,-0.007],[-0.016,-0.014],[-0.007,-0.006],[-0.013,-0.01],[-0.007,-0.006],[-0.017,-0.014],[-0.007,-0.006],[-0.014,-0.012],[-0.004,-0.003],[-0.016,-0.014],[-0.007,-0.006],[-0.016,-0.013],[-0.004,-0.004],[-0.016,-0.014],[-0.008,-0.006],[-0.016,-0.014],[-0.008,-0.006],[-0.017,-0.014],[-0.007,-0.006],[-0.02,-0.016],[-0.003,-0.003],[-0.018,-0.015],[-0.003,-0.003],[-0.02,-0.016],[-0.004,-0.003],[-0.019,-0.015],[-0.004,-0.003],[-0.041,-0.034],[-0.004,-0.003],[-0.021,-0.017],[0,0],[-0.021,-0.016],[-0.004,-0.003],[-0.043,-0.035],[0,0],[-0.465,-0.382]],"v":[[94.273,-117.929],[92.398,-115.587],[100.564,-108.549],[102.604,-110.749],[99.125,-113.876],[99.121,-113.88],[98.996,-113.988],[98.994,-113.99],[98.869,-114.098],[98.863,-114.104],[98.74,-114.21],[98.735,-114.214],[98.612,-114.321],[98.606,-114.326],[98.482,-114.433],[98.48,-114.434],[98.396,-114.507],[98.395,-114.507],[98.353,-114.544],[98.35,-114.546],[98.272,-114.613],[98.265,-114.62],[98.225,-114.654],[98.22,-114.658],[98.145,-114.723],[98.134,-114.731],[98.097,-114.764],[98.085,-114.773],[98.017,-114.833],[98.004,-114.843],[97.966,-114.876],[97.962,-114.88],[97.889,-114.941],[97.873,-114.954],[97.837,-114.985],[97.824,-114.997],[97.762,-115.049],[97.742,-115.066],[97.707,-115.096],[97.699,-115.104],[97.632,-115.161],[97.611,-115.178],[97.578,-115.205],[97.544,-115.234],[97.503,-115.269],[97.48,-115.29],[97.448,-115.316],[97.403,-115.355],[97.374,-115.378],[97.347,-115.402],[97.319,-115.425],[97.273,-115.464],[97.244,-115.488],[97.215,-115.512],[97.188,-115.536],[97.14,-115.575],[97.115,-115.597],[97.081,-115.626],[97.059,-115.644],[97.009,-115.686],[96.985,-115.706],[96.95,-115.735],[96.926,-115.755],[96.877,-115.796],[96.854,-115.816],[96.816,-115.848],[96.796,-115.865],[96.745,-115.907],[96.724,-115.924],[96.682,-115.96],[96.662,-115.976],[96.613,-116.018],[96.593,-116.035],[96.547,-116.072],[96.531,-116.085],[96.482,-116.127],[96.461,-116.143],[96.412,-116.186],[96.399,-116.196],[96.347,-116.238],[96.332,-116.251],[96.274,-116.299],[96.268,-116.304],[96.214,-116.35],[96.201,-116.36],[96.142,-116.41],[96.137,-116.413],[96.08,-116.46],[96.07,-116.468],[95.946,-116.57],[95.939,-116.576],[95.876,-116.628],[95.874,-116.63],[95.812,-116.682],[95.807,-116.686],[95.677,-116.792],[95.676,-116.792]],"c":true}},"nm":"Path 6","mn":"ADBE Vector Shape - Group"},{"ind":6,"ty":"sh","ks":{"a":0,"k":{"i":[[0.547,0.586],[0,0],[-2.245,-2.786],[0,0],[0.922,1.081],[0.001,0],[0.037,0.043],[0.002,0.002],[0.037,0.043],[0.003,0.003],[0.037,0.043],[0.003,0.003],[0.034,0.04],[0.004,0.005],[0.019,0.022],[0.002,0.002],[0.009,0.01],[0.005,0.006],[0.015,0.017],[0.006,0.006],[0.009,0.01],[0.007,0.008],[0.016,0.018],[0.008,0.009],[0.009,0.011],[0.007,0.008],[0.016,0.018],[0.007,0.009],[0.01,0.011],[0.009,0.01],[0.012,0.014],[0.009,0.01],[0.006,0.007],[0.009,0.012],[0.012,0.014],[0.011,0.012],[0.006,0.007],[0.011,0.011],[0.009,0.01],[0.011,0.012],[0.006,0.007],[0.012,0.014],[0.009,0.011],[0.011,0.013],[0.006,0.007],[0.015,0.018],[0.003,0.003],[0,0],[0.006,0.007],[0.015,0.017],[0.006,0.007],[0.013,0.014],[0.003,0.004],[0.016,0.018],[0.007,0.007],[0.014,0.015],[0.003,0.003],[0.016,0.018],[0.006,0.007],[0.013,0.015],[0.003,0.004],[0.016,0.019],[0.003,0.004],[0.015,0.017],[0.003,0.003],[0.017,0.019],[0.004,0.004],[0.016,0.018],[0,0],[0.018,0.019],[0.003,0.003],[0.017,0.018],[0,0],[0.018,0.02],[0.003,0.004],[0.036,0.04],[0.003,0.003],[0.036,0.04],[0.003,0.003],[0.037,0.04],[0,0],[0.037,0.04],[0,0],[0.037,0.041],[0,0],[0.038,0.042],[0,0]],"o":[[0,0],[2.442,2.617],[0,0],[-0.892,-1.106],[0,0],[-0.036,-0.043],[-0.002,-0.002],[-0.037,-0.043],[-0.003,-0.003],[-0.037,-0.043],[-0.003,-0.003],[-0.033,-0.039],[-0.004,-0.005],[-0.018,-0.021],[-0.002,-0.002],[-0.009,-0.01],[-0.004,-0.006],[-0.015,-0.018],[-0.006,-0.007],[-0.009,-0.011],[-0.007,-0.008],[-0.015,-0.018],[-0.008,-0.009],[-0.009,-0.011],[-0.008,-0.008],[-0.015,-0.018],[-0.007,-0.008],[-0.01,-0.01],[-0.008,-0.009],[-0.012,-0.014],[-0.009,-0.011],[-0.006,-0.007],[-0.01,-0.011],[-0.013,-0.014],[-0.01,-0.011],[-0.006,-0.007],[-0.01,-0.012],[-0.009,-0.011],[-0.011,-0.013],[-0.006,-0.007],[-0.012,-0.015],[-0.01,-0.011],[-0.012,-0.013],[-0.007,-0.007],[-0.015,-0.017],[-0.003,-0.003],[0,0],[-0.007,-0.007],[-0.015,-0.017],[-0.006,-0.007],[-0.013,-0.015],[-0.003,-0.003],[-0.016,-0.018],[-0.006,-0.007],[-0.013,-0.015],[-0.003,-0.004],[-0.016,-0.018],[-0.006,-0.007],[-0.013,-0.016],[-0.003,-0.004],[-0.017,-0.018],[-0.004,-0.004],[-0.015,-0.017],[-0.003,-0.003],[-0.017,-0.02],[-0.003,-0.004],[-0.016,-0.018],[0,0],[-0.018,-0.02],[-0.003,-0.004],[-0.016,-0.019],[0,0],[-0.018,-0.019],[-0.003,-0.003],[-0.036,-0.04],[-0.003,-0.003],[-0.036,-0.041],[-0.004,-0.004],[-0.037,-0.041],[0,0],[-0.037,-0.041],[0,0],[-0.037,-0.041],[0,0],[-0.037,-0.042],[0,0],[-0.538,-0.595]],"v":[[110.392,-102.984],[108.199,-100.937],[115.263,-92.794],[117.599,-94.678],[114.88,-97.955],[114.879,-97.956],[114.772,-98.081],[114.767,-98.087],[114.663,-98.209],[114.655,-98.218],[114.552,-98.338],[114.544,-98.347],[114.443,-98.465],[114.43,-98.48],[114.368,-98.553],[114.363,-98.558],[114.332,-98.593],[114.318,-98.61],[114.267,-98.669],[114.25,-98.688],[114.223,-98.721],[114.203,-98.743],[114.161,-98.791],[114.137,-98.82],[114.112,-98.85],[114.09,-98.873],[114.048,-98.923],[114.026,-98.949],[114,-98.977],[113.975,-99.006],[113.94,-99.046],[113.912,-99.079],[113.889,-99.105],[113.86,-99.139],[113.83,-99.173],[113.799,-99.208],[113.777,-99.234],[113.745,-99.269],[113.718,-99.301],[113.685,-99.338],[113.665,-99.361],[113.628,-99.404],[113.606,-99.429],[113.572,-99.468],[113.554,-99.488],[113.508,-99.541],[113.495,-99.555],[113.458,-99.598],[113.441,-99.617],[113.395,-99.669],[113.382,-99.684],[113.344,-99.727],[113.329,-99.745],[113.281,-99.798],[113.269,-99.812],[113.229,-99.857],[113.216,-99.872],[113.168,-99.926],[113.155,-99.941],[113.115,-99.988],[113.104,-100.001],[113.054,-100.057],[113.044,-100.067],[112.999,-100.118],[112.991,-100.127],[112.939,-100.186],[112.931,-100.195],[112.883,-100.248],[112.878,-100.255],[112.825,-100.313],[112.817,-100.322],[112.768,-100.377],[112.764,-100.383],[112.711,-100.442],[112.703,-100.451],[112.596,-100.571],[112.59,-100.577],[112.482,-100.699],[112.476,-100.705],[112.366,-100.827],[112.362,-100.833],[112.252,-100.954],[112.247,-100.96],[112.136,-101.083],[112.133,-101.087],[112.02,-101.212],[112.019,-101.213]],"c":true}},"nm":"Path 7","mn":"ADBE Vector Shape - Group"},{"ind":7,"ty":"sh","ks":{"a":0,"k":{"i":[[0.266,0.385],[0,0],[-1.818,-3.08],[0,0],[0.002,0.004],[0.005,0.009],[0.01,0.016],[0.007,0.011],[0.005,0.008],[0.007,0.011],[0.01,0.017],[0.007,0.012],[0.005,0.008],[0.007,0.012],[0.009,0.016],[0.008,0.013],[0.005,0.008],[0.009,0.014],[0.005,0.008],[0.009,0.015],[0.005,0.008],[0.01,0.016],[0.005,0.008],[0.01,0.016],[0.005,0.008],[0.012,0.02],[0.003,0.004],[0.011,0.018],[0.005,0.008],[0.012,0.021],[0.003,0.004],[0.011,0.019],[0.002,0.004],[0.013,0.021],[0.002,0.004],[0.012,0.019],[0.003,0.005],[0.013,0.021],[0.003,0.004],[0.013,0.021],[0.003,0.004],[0.028,0.046],[0.003,0.004],[0.029,0.047],[0,0],[1.207,1.808],[0,0],[0.031,0.046],[0.002,0.004],[0.029,0.044],[0.002,0.004],[0.014,0.021],[0.003,0.004],[0.011,0.018],[0.005,0.008],[0.013,0.019],[0.006,0.008],[0.009,0.014],[0.006,0.008],[0.011,0.016],[0.005,0.007],[0.007,0.01],[0.008,0.012],[0.006,0.008],[0.013,0.02],[0.004,0.006],[0.029,0.043],[0,0.001]],"o":[[0,0],[2.039,2.944],[0,0],[-0.003,-0.004],[-0.006,-0.009],[-0.01,-0.016],[-0.006,-0.012],[-0.005,-0.008],[-0.007,-0.012],[-0.01,-0.016],[-0.007,-0.012],[-0.004,-0.008],[-0.008,-0.013],[-0.01,-0.016],[-0.008,-0.013],[-0.005,-0.008],[-0.009,-0.014],[-0.005,-0.008],[-0.008,-0.015],[-0.005,-0.008],[-0.009,-0.015],[-0.005,-0.008],[-0.01,-0.016],[-0.004,-0.008],[-0.011,-0.02],[-0.003,-0.004],[-0.01,-0.018],[-0.005,-0.008],[-0.012,-0.021],[-0.003,-0.004],[-0.011,-0.018],[-0.002,-0.004],[-0.013,-0.021],[-0.003,-0.004],[-0.012,-0.02],[-0.002,-0.004],[-0.013,-0.021],[-0.003,-0.004],[-0.013,-0.022],[-0.002,-0.004],[-0.028,-0.047],[-0.002,-0.004],[-0.029,-0.048],[0,0],[-1.13,-1.862],[0,0],[-0.03,-0.046],[-0.002,-0.004],[-0.03,-0.044],[-0.003,-0.004],[-0.015,-0.021],[-0.002,-0.004],[-0.012,-0.018],[-0.006,-0.008],[-0.013,-0.019],[-0.005,-0.008],[-0.009,-0.014],[-0.006,-0.008],[-0.01,-0.016],[-0.005,-0.008],[-0.007,-0.011],[-0.008,-0.012],[-0.006,-0.008],[-0.013,-0.02],[-0.004,-0.005],[-0.029,-0.043],[-0.001,-0.001],[-0.264,-0.388]],"v":[[124.185,-85.869],[121.718,-84.161],[127.53,-75.083],[130.114,-76.606],[130.102,-76.626],[130.086,-76.653],[130.055,-76.704],[130.035,-76.739],[130.016,-76.771],[129.996,-76.805],[129.969,-76.851],[129.947,-76.887],[129.929,-76.919],[129.907,-76.955],[129.883,-76.997],[129.859,-77.036],[129.842,-77.066],[129.815,-77.109],[129.797,-77.139],[129.771,-77.184],[129.754,-77.213],[129.726,-77.26],[129.71,-77.286],[129.681,-77.334],[129.667,-77.357],[129.632,-77.417],[129.624,-77.429],[129.592,-77.484],[129.58,-77.502],[129.543,-77.566],[129.537,-77.575],[129.503,-77.632],[129.493,-77.649],[129.454,-77.713],[129.45,-77.721],[129.414,-77.779],[129.404,-77.796],[129.365,-77.861],[129.362,-77.865],[129.323,-77.93],[129.317,-77.941],[129.233,-78.079],[129.229,-78.087],[129.142,-78.23],[129.141,-78.231],[125.634,-83.738],[125.632,-83.74],[125.54,-83.878],[125.535,-83.886],[125.447,-84.018],[125.438,-84.032],[125.395,-84.094],[125.389,-84.104],[125.354,-84.157],[125.34,-84.178],[125.301,-84.234],[125.288,-84.253],[125.261,-84.294],[125.242,-84.321],[125.21,-84.369],[125.188,-84.402],[125.167,-84.433],[125.145,-84.467],[125.128,-84.49],[125.086,-84.553],[125.075,-84.57],[124.985,-84.702],[124.983,-84.705]],"c":true}},"nm":"Path 8","mn":"ADBE Vector Shape - Group"},{"ind":8,"ty":"sh","ks":{"a":0,"k":{"i":[[0.025,0.052],[0,0],[-1.349,-3.313],[0,0],[0.007,0.018],[0.001,0.002],[0.007,0.017],[0.003,0.006],[0.01,0.026],[0.001,0.003],[0.007,0.018],[0.002,0.006],[0.011,0.027],[0.002,0.005],[0.007,0.018],[0.003,0.006],[0.011,0.026],[0.002,0.005],[0.006,0.014],[0.003,0.007],[0.011,0.026],[0.003,0.005],[0.005,0.013],[0.003,0.007],[0.011,0.026],[0.003,0.007],[0.005,0.013],[0.004,0.008],[0.009,0.023],[0.003,0.008],[0.006,0.014],[0.004,0.009],[0.01,0.022],[0.004,0.009],[0.006,0.013],[0.003,0.009],[0.009,0.022],[0.004,0.01],[0.005,0.013],[0.005,0.011],[0.01,0.022],[0.005,0.012],[0.005,0.013],[0.005,0.01],[0.006,0.014],[0.006,0.014],[0.006,0.013],[0.004,0.012],[0.006,0.013],[0.006,0.016],[0.005,0.014],[0.005,0.012],[0.005,0.013],[0.007,0.015],[0.006,0.013],[0.005,0.012],[0.005,0.013],[0.007,0.018],[0.006,0.014],[0.006,0.012],[0.006,0.013],[0.007,0.017],[0.004,0.009],[0.006,0.013],[0.004,0.009],[0.007,0.018],[0.006,0.013],[0.005,0.013],[0.006,0.014],[0.007,0.017],[0.006,0.013],[0.006,0.014],[0.004,0.009],[0.009,0.02],[0.005,0.013],[0.006,0.013],[0.004,0.009],[0.008,0.019],[0.004,0.009],[0.006,0.013],[0.003,0.009],[0.008,0.02],[0.006,0.013],[0.006,0.014],[0.004,0.009],[0.009,0.02],[0.005,0.013],[0.006,0.014],[0.004,0.008],[0.009,0.021],[0.004,0.009],[0.007,0.015],[0.004,0.009],[0,0],[0.004,0.008],[0.007,0.015],[0.004,0.009],[0.009,0.021],[0.006,0.013],[0.006,0.014],[0.004,0.008],[0.009,0.021],[0.004,0.008],[0.007,0.015],[0.004,0.009],[0.01,0.02],[0.004,0.009],[0.007,0.014],[0.004,0.009],[0.009,0.021],[0.004,0.009],[0.006,0.015],[0.004,0.008],[0.009,0.02],[0.002,0.004],[0.007,0.015],[0.004,0.009],[0.009,0.02],[0.002,0.005],[0.007,0.016],[0.004,0.009],[0.009,0.02],[0.002,0.005],[0.007,0.015],[0.004,0.008],[0.009,0.021],[0.002,0.005],[0.007,0.015],[0.004,0.009],[0.01,0.021],[0.004,0.008],[0.007,0.015],[0.004,0.009],[0.01,0.02],[0.002,0.004],[0.008,0.016],[0.004,0.008],[0.01,0.022],[0.002,0.005],[0.007,0.017],[0.004,0.009],[0.01,0.021],[0,0],[0.007,0.017],[0.004,0.009],[0.01,0.022],[0.002,0.005],[0.007,0.017],[0.004,0.009],[0.009,0.021],[0.002,0.004],[0.008,0.016],[0.004,0.008],[0.01,0.021],[0.002,0.004],[0.007,0.016],[0.004,0.009],[0.01,0.022],[0.002,0.004],[0.008,0.018],[0.004,0.009],[0.01,0.021],[0.004,0.009],[0.007,0.016],[0.004,0.009],[0.009,0.021],[0.004,0.008],[0.008,0.017],[0.004,0.009],[0.01,0.022],[0.002,0.005],[0.008,0.017],[0.004,0.008],[0.011,0.022],[0.002,0.004],[0.009,0.019],[0.002,0.004],[0.01,0.023],[0.002,0.005],[0.008,0.018],[0.004,0.008],[0.011,0.022],[0.002,0.004],[0.008,0.017],[0.002,0.005],[0.011,0.022],[0.002,0.005],[0.008,0.018],[0.002,0.004],[0.01,0.022],[0.002,0.004],[0.008,0.019],[0.002,0.004],[0.01,0.022],[0.002,0.005],[0.009,0.018],[0.002,0.004],[0.011,0.022],[0.002,0.004],[0.009,0.02],[0.002,0.004],[0.01,0.023],[0.003,0.005],[0.01,0.02],[0.003,0.004],[0.011,0.023],[0,0],[0.01,0.02],[0.002,0.004],[0.012,0.023],[0,0],[0.01,0.021],[0,0],[0.012,0.024],[0,0],[0.01,0.021],[0.002,0.005],[0.011,0.024],[0,0],[0.01,0.022],[0.002,0.004],[0.012,0.025],[0,0],[0.011,0.023],[0.002,0.004],[0.011,0.025],[0,0],[0.011,0.023],[0.002,0.004],[0.011,0.024],[0,0],[0.011,0.022],[0.002,0.005],[0.012,0.024],[0,0],[0.011,0.023],[0.002,0.004],[0.024,0.05],[0,0],[0.012,0.025],[0,0],[0.013,0.025],[0,0],[0.013,0.025],[0.012,0.025],[0,0],[0.025,0.05],[0,0],[0.025,0.051]],"o":[[0,0],[1.589,3.208],[0,0],[-0.007,-0.018],[-0.001,-0.002],[-0.007,-0.018],[-0.002,-0.006],[-0.011,-0.026],[-0.002,-0.003],[-0.008,-0.018],[-0.002,-0.005],[-0.011,-0.027],[-0.002,-0.005],[-0.008,-0.017],[-0.003,-0.006],[-0.011,-0.027],[-0.001,-0.005],[-0.005,-0.013],[-0.003,-0.006],[-0.011,-0.026],[-0.002,-0.006],[-0.005,-0.013],[-0.003,-0.007],[-0.011,-0.027],[-0.003,-0.007],[-0.005,-0.013],[-0.003,-0.008],[-0.009,-0.022],[-0.003,-0.008],[-0.006,-0.013],[-0.003,-0.008],[-0.009,-0.022],[-0.004,-0.01],[-0.005,-0.013],[-0.004,-0.009],[-0.01,-0.023],[-0.004,-0.01],[-0.006,-0.013],[-0.004,-0.01],[-0.009,-0.022],[-0.005,-0.013],[-0.006,-0.013],[-0.005,-0.011],[-0.005,-0.014],[-0.006,-0.014],[-0.005,-0.014],[-0.005,-0.012],[-0.006,-0.013],[-0.006,-0.016],[-0.006,-0.013],[-0.005,-0.012],[-0.006,-0.013],[-0.007,-0.015],[-0.005,-0.013],[-0.005,-0.012],[-0.006,-0.013],[-0.007,-0.017],[-0.006,-0.013],[-0.005,-0.012],[-0.005,-0.013],[-0.007,-0.018],[-0.004,-0.009],[-0.006,-0.013],[-0.003,-0.009],[-0.007,-0.017],[-0.006,-0.013],[-0.005,-0.012],[-0.006,-0.013],[-0.007,-0.016],[-0.006,-0.013],[-0.005,-0.014],[-0.004,-0.009],[-0.008,-0.02],[-0.005,-0.013],[-0.006,-0.013],[-0.003,-0.009],[-0.008,-0.019],[-0.004,-0.009],[-0.005,-0.013],[-0.003,-0.009],[-0.009,-0.019],[-0.006,-0.013],[-0.006,-0.014],[-0.003,-0.009],[-0.009,-0.02],[-0.006,-0.013],[-0.007,-0.014],[-0.004,-0.009],[-0.009,-0.021],[-0.004,-0.008],[-0.006,-0.015],[-0.004,-0.009],[0,0],[-0.004,-0.009],[-0.007,-0.016],[-0.004,-0.009],[-0.009,-0.02],[-0.005,-0.013],[-0.006,-0.014],[-0.004,-0.008],[-0.008,-0.02],[-0.004,-0.008],[-0.006,-0.015],[-0.004,-0.008],[-0.009,-0.021],[-0.003,-0.009],[-0.007,-0.014],[-0.003,-0.009],[-0.009,-0.02],[-0.004,-0.008],[-0.007,-0.015],[-0.004,-0.009],[-0.009,-0.021],[-0.002,-0.004],[-0.007,-0.016],[-0.004,-0.009],[-0.009,-0.02],[-0.002,-0.005],[-0.007,-0.015],[-0.004,-0.008],[-0.009,-0.02],[-0.002,-0.005],[-0.007,-0.015],[-0.004,-0.009],[-0.009,-0.021],[-0.002,-0.005],[-0.007,-0.015],[-0.004,-0.009],[-0.009,-0.021],[-0.004,-0.009],[-0.007,-0.016],[-0.004,-0.009],[-0.009,-0.021],[-0.002,-0.005],[-0.008,-0.016],[-0.003,-0.009],[-0.009,-0.022],[-0.002,-0.004],[-0.007,-0.016],[-0.004,-0.008],[-0.01,-0.021],[0,0],[-0.007,-0.017],[-0.004,-0.008],[-0.01,-0.021],[-0.002,-0.004],[-0.007,-0.016],[-0.004,-0.008],[-0.01,-0.021],[-0.002,-0.005],[-0.008,-0.017],[-0.004,-0.009],[-0.01,-0.022],[-0.002,-0.005],[-0.007,-0.017],[-0.004,-0.009],[-0.01,-0.022],[-0.002,-0.004],[-0.008,-0.018],[-0.004,-0.008],[-0.01,-0.021],[-0.004,-0.009],[-0.007,-0.016],[-0.004,-0.009],[-0.01,-0.021],[-0.004,-0.008],[-0.008,-0.017],[-0.004,-0.009],[-0.01,-0.022],[-0.002,-0.005],[-0.008,-0.017],[-0.004,-0.008],[-0.01,-0.022],[-0.002,-0.004],[-0.009,-0.018],[-0.002,-0.004],[-0.01,-0.022],[-0.002,-0.004],[-0.009,-0.018],[-0.005,-0.009],[-0.01,-0.022],[-0.002,-0.004],[-0.008,-0.018],[-0.002,-0.004],[-0.01,-0.022],[-0.002,-0.004],[-0.008,-0.018],[-0.002,-0.005],[-0.01,-0.022],[-0.002,-0.005],[-0.009,-0.019],[-0.002,-0.004],[-0.01,-0.022],[-0.002,-0.004],[-0.008,-0.018],[-0.002,-0.004],[-0.011,-0.022],[-0.002,-0.005],[-0.009,-0.02],[-0.002,-0.004],[-0.011,-0.023],[-0.003,-0.004],[-0.009,-0.02],[-0.002,-0.004],[-0.011,-0.024],[0,0],[-0.01,-0.021],[-0.002,-0.005],[-0.011,-0.023],[0,0],[-0.01,-0.021],[0,0],[-0.011,-0.023],[0,0],[-0.011,-0.021],[-0.002,-0.005],[-0.011,-0.023],[0,0],[-0.01,-0.021],[-0.002,-0.004],[-0.012,-0.025],[0,0],[-0.011,-0.023],[-0.002,-0.004],[-0.012,-0.024],[0,0],[-0.011,-0.022],[-0.002,-0.004],[-0.012,-0.024],[0,0],[-0.011,-0.022],[-0.002,-0.005],[-0.011,-0.024],[0,0],[-0.011,-0.023],[-0.002,-0.005],[-0.024,-0.05],[0,0],[-0.013,-0.025],[0,0],[-0.013,-0.025],[0,0],[-0.012,-0.025],[-0.012,-0.026],[0,0],[-0.024,-0.051],[0,0],[-0.025,-0.05],[-0.025,-0.051]],"v":[[135.352,-66.937],[132.664,-65.605],[137.092,-55.777],[139.87,-56.91],[139.849,-56.962],[139.846,-56.968],[139.827,-57.014],[139.82,-57.032],[139.785,-57.118],[139.781,-57.128],[139.762,-57.174],[139.755,-57.191],[139.721,-57.274],[139.715,-57.29],[139.697,-57.333],[139.689,-57.351],[139.654,-57.436],[139.649,-57.449],[139.631,-57.493],[139.623,-57.512],[139.59,-57.592],[139.583,-57.609],[139.566,-57.652],[139.557,-57.673],[139.526,-57.747],[139.517,-57.769],[139.5,-57.809],[139.49,-57.833],[139.461,-57.903],[139.451,-57.928],[139.434,-57.968],[139.423,-57.994],[139.396,-58.058],[139.384,-58.088],[139.368,-58.126],[139.357,-58.153],[139.33,-58.218],[139.318,-58.247],[139.302,-58.285],[139.289,-58.316],[139.266,-58.369],[139.251,-58.407],[139.236,-58.442],[139.222,-58.475],[139.201,-58.525],[139.183,-58.566],[139.169,-58.6],[139.155,-58.635],[139.136,-58.678],[139.117,-58.725],[139.103,-58.758],[139.087,-58.795],[139.069,-58.838],[139.049,-58.885],[139.035,-58.917],[139.02,-58.954],[139.004,-58.992],[138.982,-59.044],[138.968,-59.075],[138.952,-59.113],[138.936,-59.15],[138.914,-59.202],[138.901,-59.234],[138.884,-59.271],[138.869,-59.307],[138.847,-59.359],[138.833,-59.393],[138.817,-59.429],[138.8,-59.468],[138.779,-59.519],[138.765,-59.549],[138.748,-59.59],[138.736,-59.618],[138.71,-59.678],[138.698,-59.708],[138.68,-59.747],[138.667,-59.777],[138.642,-59.835],[138.629,-59.865],[138.612,-59.904],[138.6,-59.934],[138.574,-59.993],[138.561,-60.023],[138.543,-60.063],[138.531,-60.092],[138.505,-60.152],[138.493,-60.18],[138.474,-60.222],[138.463,-60.248],[138.436,-60.311],[138.424,-60.338],[138.405,-60.381],[138.394,-60.407],[138.367,-60.468],[138.356,-60.493],[138.336,-60.54],[138.325,-60.564],[138.298,-60.626],[138.286,-60.652],[138.268,-60.695],[138.255,-60.722],[138.229,-60.783],[138.217,-60.809],[138.197,-60.855],[138.187,-60.878],[138.159,-60.941],[138.148,-60.967],[138.128,-61.01],[138.117,-61.037],[138.09,-61.098],[138.078,-61.124],[138.059,-61.169],[138.047,-61.193],[138.02,-61.256],[138.009,-61.281],[137.988,-61.326],[137.977,-61.351],[137.95,-61.412],[137.939,-61.438],[137.918,-61.484],[137.908,-61.507],[137.88,-61.57],[137.869,-61.596],[137.848,-61.64],[137.837,-61.665],[137.809,-61.727],[137.799,-61.751],[137.778,-61.798],[137.767,-61.821],[137.739,-61.883],[137.728,-61.908],[137.707,-61.954],[137.696,-61.979],[137.668,-62.04],[137.658,-62.064],[137.635,-62.113],[137.626,-62.133],[137.597,-62.199],[137.587,-62.221],[137.565,-62.269],[137.555,-62.291],[137.526,-62.355],[137.516,-62.376],[137.494,-62.426],[137.484,-62.447],[137.455,-62.511],[137.445,-62.533],[137.423,-62.583],[137.413,-62.605],[137.384,-62.667],[137.374,-62.689],[137.351,-62.738],[137.342,-62.76],[137.312,-62.824],[137.302,-62.846],[137.28,-62.894],[137.27,-62.916],[137.24,-62.981],[137.231,-62.999],[137.207,-63.053],[137.198,-63.072],[137.169,-63.135],[137.158,-63.158],[137.137,-63.205],[137.126,-63.23],[137.097,-63.292],[137.087,-63.313],[137.063,-63.364],[137.054,-63.383],[137.024,-63.449],[137.015,-63.468],[136.991,-63.52],[136.982,-63.54],[136.951,-63.605],[136.944,-63.622],[136.918,-63.678],[136.91,-63.695],[136.879,-63.761],[136.871,-63.778],[136.846,-63.833],[136.837,-63.85],[136.806,-63.916],[136.798,-63.934],[136.773,-63.988],[136.764,-64.006],[136.733,-64.072],[136.725,-64.089],[136.7,-64.144],[136.691,-64.161],[136.66,-64.229],[136.653,-64.243],[136.627,-64.299],[136.618,-64.316],[136.587,-64.383],[136.579,-64.399],[136.553,-64.454],[136.545,-64.472],[136.513,-64.538],[136.506,-64.553],[136.479,-64.613],[136.472,-64.626],[136.44,-64.695],[136.433,-64.708],[136.405,-64.768],[136.398,-64.781],[136.365,-64.85],[136.361,-64.86],[136.331,-64.923],[136.325,-64.936],[136.291,-65.006],[136.287,-65.014],[136.257,-65.077],[136.251,-65.09],[136.217,-65.161],[136.213,-65.17],[136.182,-65.234],[136.177,-65.244],[136.143,-65.316],[136.139,-65.324],[136.108,-65.389],[136.103,-65.398],[136.068,-65.471],[136.066,-65.475],[136.033,-65.544],[136.029,-65.553],[135.994,-65.626],[135.991,-65.631],[135.958,-65.699],[135.954,-65.708],[135.919,-65.779],[135.916,-65.786],[135.883,-65.854],[135.879,-65.861],[135.844,-65.934],[135.842,-65.938],[135.808,-66.007],[135.804,-66.015],[135.732,-66.165],[135.73,-66.169],[135.693,-66.243],[135.693,-66.244],[135.656,-66.318],[135.654,-66.322],[135.617,-66.398],[135.581,-66.473],[135.579,-66.475],[135.505,-66.626],[135.503,-66.631],[135.428,-66.782]],"c":true}},"nm":"Path 9","mn":"ADBE Vector Shape - Group"},{"ind":9,"ty":"sh","ks":{"a":0,"k":{"i":[[0.002,0.004],[0,0],[-0.85,-3.476],[0,0],[0.121,0.473],[0,0],[0.011,0.041],[0,0],[0.003,0.012],[0.001,0.005],[0.002,0.011],[0.001,0.005],[0.005,0.019],[0.003,0.009],[0.002,0.009],[0.002,0.009],[0.002,0.007],[0.005,0.019],[0.001,0.003],[0.003,0.014],[0.001,0.003],[0.867,2.705],[0,0],[0.012,0.037],[0.001,0.003],[0.006,0.018],[0.001,0.003],[0.006,0.019],[0.001,0.004],[0.003,0.009],[0.002,0.007],[0.003,0.01],[0.003,0.008],[0.002,0.004],[0.005,0.017],[0.002,0.004],[0.003,0.011]],"o":[[0,0],[1.103,3.404],[0,0],[-0.116,-0.475],[0,0],[-0.011,-0.041],[0,0],[-0.003,-0.012],[-0.002,-0.005],[-0.003,-0.011],[-0.002,-0.005],[-0.005,-0.018],[-0.002,-0.009],[-0.002,-0.009],[-0.003,-0.009],[-0.002,-0.007],[-0.005,-0.019],[-0.001,-0.004],[-0.004,-0.014],[-0.001,-0.003],[-0.716,-2.77],[0,0],[-0.012,-0.037],[-0.001,-0.003],[-0.006,-0.018],[-0.001,-0.003],[-0.006,-0.018],[-0.001,-0.003],[-0.003,-0.009],[-0.002,-0.007],[-0.003,-0.009],[-0.003,-0.008],[-0.001,-0.004],[-0.005,-0.018],[-0.002,-0.005],[-0.003,-0.011],[-0.002,-0.004]],"v":[[143.641,-46.579],[140.787,-45.654],[143.73,-35.286],[146.644,-35.999],[146.289,-37.421],[146.289,-37.423],[146.257,-37.545],[146.257,-37.549],[146.248,-37.583],[146.244,-37.597],[146.236,-37.631],[146.233,-37.643],[146.218,-37.697],[146.212,-37.721],[146.206,-37.747],[146.199,-37.774],[146.193,-37.795],[146.181,-37.843],[146.178,-37.855],[146.167,-37.898],[146.164,-37.907],[143.79,-46.115],[143.79,-46.117],[143.756,-46.222],[143.753,-46.232],[143.739,-46.275],[143.736,-46.286],[143.72,-46.335],[143.716,-46.346],[143.704,-46.382],[143.698,-46.403],[143.689,-46.432],[143.681,-46.455],[143.674,-46.475],[143.658,-46.527],[143.653,-46.541],[143.643,-46.575]],"c":true}},"nm":"Path 10","mn":"ADBE Vector Shape - Group"},{"ind":10,"ty":"sh","ks":{"a":0,"k":{"i":[[0.06,0.355],[0,0],[-0.335,-3.567],[0,0],[0.411,2.739],[0.008,0.056],[0.001,0.005],[0.006,0.041],[0,0],[0.007,0.041],[0,0],[0.002,0.013],[0,0.004],[0.005,0.037],[0.001,0.005],[0.001,0.011],[0,0.005],[0.003,0.019],[0,0.005],[0.002,0.009],[0.002,0.01],[0.001,0.008],[0.002,0.01],[0.002,0.009],[0.002,0.009],[0.001,0.007],[0.002,0.01],[0.001,0.005],[0.003,0.02],[0.001,0.006],[0.001,0.01],[0.001,0.005],[0.003,0.019],[0.001,0.002],[0.004,0.019],[0,0.004],[0.003,0.019],[0,0.002],[0.004,0.02],[0.001,0.002],[0.003,0.019],[0.001,0.002],[0.006,0.038],[0,0.001],[0.003,0.02],[0,0]],"o":[[0,0],[0.593,3.525],[0,0],[-0.262,-2.785],[-0.008,-0.057],[-0.001,-0.005],[-0.006,-0.041],[0,0],[-0.006,-0.04],[0,0],[-0.002,-0.013],[-0.001,-0.005],[-0.006,-0.037],[-0.001,-0.005],[-0.002,-0.011],[-0.001,-0.005],[-0.003,-0.019],[-0.001,-0.005],[-0.002,-0.009],[-0.001,-0.01],[-0.001,-0.008],[-0.002,-0.01],[-0.001,-0.009],[-0.001,-0.01],[-0.001,-0.007],[-0.001,-0.009],[0,-0.005],[-0.003,-0.019],[-0.001,-0.006],[-0.001,-0.009],[-0.001,-0.005],[-0.003,-0.02],[0,-0.001],[-0.003,-0.019],[0,-0.004],[-0.003,-0.019],[0,-0.002],[-0.003,-0.019],[0,-0.002],[-0.003,-0.02],[0,-0.002],[-0.006,-0.039],[0,-0.001],[-0.003,-0.02],[0,0],[-0.058,-0.356]],"v":[[148.864,-25.229],[145.906,-24.73],[147.305,-14.043],[150.292,-14.324],[149.281,-22.61],[149.256,-22.778],[149.255,-22.781],[149.237,-22.903],[149.236,-22.908],[149.217,-23.031],[149.217,-23.033],[149.211,-23.072],[149.21,-23.079],[149.193,-23.191],[149.19,-23.209],[149.185,-23.242],[149.183,-23.256],[149.174,-23.312],[149.171,-23.333],[149.166,-23.359],[149.162,-23.385],[149.159,-23.411],[149.152,-23.45],[149.148,-23.477],[149.143,-23.508],[149.14,-23.529],[149.134,-23.566],[149.132,-23.581],[149.124,-23.631],[149.121,-23.648],[149.116,-23.684],[149.113,-23.7],[149.105,-23.752],[149.104,-23.756],[149.096,-23.807],[149.095,-23.818],[149.087,-23.867],[149.086,-23.872],[149.077,-23.926],[149.076,-23.933],[149.068,-23.984],[149.067,-23.989],[149.049,-24.102],[149.049,-24.105],[149.04,-24.161],[149.04,-24.162]],"c":true}},"nm":"Path 11","mn":"ADBE Vector Shape - Group"},{"ind":11,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0.02],[0,0],[0,-1.09],[0.124,-2.484],[0,0],[-0.031,1.377],[-0.001,0.001],[-0.001,0.021],[0,0.001],[0,0.021],[0,0.004],[-0.001,0.015],[0,0.004],[-0.001,0.015],[0,0.007],[0,0.016],[-0.001,0.007],[0,0.015],[0,0.008],[-0.001,0.015],[0,0.007],[-0.001,0.015],[0,0.009],[0,0.015],[0,0.009],[0,0.015],[-0.001,0.008],[0,0.015],[0,0.007],[0,0.015],[0,0.008],[0,0.015],[0,0.008],[-0.001,0.011],[0,0.009],[-0.001,0.01],[0,0.009],[-0.001,0.01],[0,0],[-0.001,0.01],[0,0.01],[-0.001,0.011],[0,0.009],[-0.001,0.01],[0,0.008],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.011],[-0.001,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.009],[0,0.01],[0,0.01],[0,0.01],[-0.001,0.01],[0,0.011],[0,0.009],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.011],[0,0.009],[0,0.01],[0,0.01],[0,0.01],[-0.001,0.01],[0,0.011],[0,0.01],[0,0.01],[0,0.009],[0,0.01],[0,0.01],[-0.001,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.011],[-0.001,0.009],[0,0.016],[0,0.01],[0,0.015],[0,0.009],[0,0.015],[0,0.009],[0,0.016],[0,0.009],[0,0.015],[0,0.009],[0,0.01],[0,0.01],[0,0.01],[0,0.01],[0,0.015],[0,0.008],[0,0.011],[0,0.009],[0,0.016],[0,0.008],[-0.001,0.015],[0,0.008],[0,0.016],[0,0.008],[0,0.015],[0,0.007],[0,0.015],[0,0],[0,0.016],[0,0],[0,0.021],[0,0],[0,0],[0,0],[0,0.006],[0,0],[0,0.007],[0,0.01],[0,0.008],[0,0.01],[0,0.008],[0,0.01],[0,0.008],[0,0.015],[0,0.01],[0,0.016],[0,0.009],[0,0.005],[0,0.011],[0,0.011],[0,0.011],[0,0.01],[0,0.012],[0,0.005],[0,0.065],[0,0],[0.001,0.017],[0,0],[0,0.017],[0.015,0.729],[0,0],[0,0.013],[0,0.005],[0,0.011],[0,0.01],[0,0.006]],"o":[[0,0],[0.024,1.088],[0,2.495],[0,0],[0.068,-1.368],[0,0],[0,-0.02],[0,0],[0,-0.02],[0,-0.004],[0.001,-0.015],[0,-0.004],[0,-0.015],[0,-0.006],[0.001,-0.015],[0,-0.006],[0,-0.015],[0,-0.008],[0,-0.015],[0,-0.007],[0,-0.016],[0,-0.008],[0.001,-0.015],[0,-0.009],[0.001,-0.015],[0,-0.008],[0,-0.015],[0,-0.007],[0,-0.015],[0.001,-0.009],[0,-0.015],[0.001,-0.008],[0,-0.01],[0,-0.008],[0,-0.01],[0,-0.009],[0,-0.01],[0,0],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.009],[0,-0.011],[0,-0.009],[0,-0.01],[0.001,-0.009],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.009],[0,-0.01],[0,-0.01],[0.001,-0.01],[0,-0.01],[0,-0.01],[0,-0.009],[0,-0.011],[0.001,-0.01],[0,-0.01],[0,-0.009],[0,-0.01],[0,-0.009],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.009],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0.001,-0.009],[0,-0.01],[0,-0.009],[0,-0.01],[0,-0.009],[0,-0.01],[0,-0.01],[0,-0.01],[0.001,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.009],[0,-0.015],[0,-0.009],[0,-0.015],[0,-0.009],[0,-0.015],[0.001,-0.009],[0,-0.015],[0,-0.009],[0,-0.015],[0,-0.009],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.01],[0,-0.015],[0,-0.009],[0,-0.01],[0,-0.008],[0,-0.015],[0,-0.008],[0,-0.016],[0,-0.008],[0,-0.015],[0,-0.007],[0,-0.015],[0,-0.007],[0,-0.016],[0,0],[0,-0.015],[0,0],[0,-0.021],[0,0],[0,0],[0,0],[0,-0.006],[0,0],[0,-0.007],[0,-0.011],[0,-0.007],[0,-0.01],[0,-0.008],[0,-0.011],[0,-0.008],[0,-0.015],[0,-0.01],[-0.001,-0.015],[0,-0.009],[0,-0.005],[0,-0.011],[0,-0.011],[0,-0.011],[0,-0.01],[0,-0.012],[0,-0.005],[-0.001,-0.065],[0,0],[0,-0.017],[0,0],[0,-0.017],[-0.004,-0.731],[0,0],[0,-0.014],[0,-0.005],[-0.001,-0.011],[0,-0.011],[0,-0.005],[-0.001,-0.02]],"v":[[150.927,-3.344],[147.927,-3.279],[147.963,0.003],[147.776,7.505],[150.773,7.654],[150.922,3.536],[150.923,3.535],[150.924,3.475],[150.924,3.473],[150.925,3.416],[150.925,3.403],[150.927,3.355],[150.927,3.343],[150.928,3.296],[150.928,3.277],[150.929,3.235],[150.93,3.215],[150.93,3.176],[150.931,3.153],[150.932,3.115],[150.932,3.094],[150.933,3.055],[150.933,3.03],[150.934,2.995],[150.934,2.969],[150.935,2.936],[150.936,2.91],[150.936,2.873],[150.937,2.852],[150.937,2.814],[150.938,2.789],[150.938,2.753],[150.939,2.729],[150.94,2.693],[150.94,2.667],[150.941,2.633],[150.941,2.606],[150.942,2.574],[150.942,2.546],[150.943,2.513],[150.943,2.484],[150.944,2.452],[150.944,2.425],[150.945,2.391],[150.945,2.365],[150.945,2.331],[150.946,2.303],[150.946,2.271],[150.947,2.242],[150.947,2.211],[150.948,2.182],[150.948,2.15],[150.948,2.122],[150.949,2.09],[150.949,2.061],[150.95,2.029],[150.95,2.001],[150.95,1.97],[150.951,1.94],[150.951,1.908],[150.952,1.88],[150.952,1.847],[150.952,1.82],[150.953,1.788],[150.953,1.758],[150.953,1.729],[150.954,1.699],[150.954,1.666],[150.954,1.638],[150.955,1.607],[150.955,1.577],[150.955,1.546],[150.956,1.516],[150.956,1.486],[150.956,1.456],[150.956,1.424],[150.957,1.396],[150.957,1.364],[150.957,1.335],[150.958,1.303],[150.958,1.275],[150.958,1.243],[150.958,1.214],[150.958,1.183],[150.959,1.153],[150.959,1.123],[150.959,1.093],[150.959,1.061],[150.96,1.033],[150.96,1],[150.96,0.972],[150.96,0.939],[150.96,0.912],[150.96,0.88],[150.961,0.852],[150.961,0.818],[150.961,0.791],[150.961,0.758],[150.961,0.73],[150.961,0.699],[150.962,0.669],[150.962,0.638],[150.962,0.609],[150.962,0.576],[150.962,0.549],[150.962,0.514],[150.962,0.488],[150.962,0.452],[150.962,0.428],[150.963,0.391],[150.963,0.367],[150.963,0.329],[150.963,0.306],[150.963,0.268],[150.963,0.246],[150.963,0.202],[150.963,0.186],[150.963,0.139],[150.963,0.125],[150.963,0.066],[150.963,0.064],[150.963,0.003],[150.963,-0.054],[150.963,-0.072],[150.963,-0.112],[150.963,-0.133],[150.963,-0.169],[150.963,-0.192],[150.963,-0.226],[150.963,-0.25],[150.963,-0.284],[150.963,-0.308],[150.963,-0.347],[150.963,-0.377],[150.962,-0.42],[150.962,-0.448],[150.962,-0.474],[150.962,-0.507],[150.962,-0.531],[150.962,-0.564],[150.962,-0.585],[150.962,-0.62],[150.962,-0.638],[150.961,-0.833],[150.961,-0.836],[150.96,-0.886],[150.96,-0.889],[150.96,-0.939],[150.931,-3.13],[150.931,-3.141],[150.93,-3.182],[150.93,-3.201],[150.929,-3.234],[150.928,-3.273],[150.928,-3.289]],"c":true}},"nm":"Path 12","mn":"ADBE Vector Shape - Group"},{"ind":12,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.694,-3.506],[0,0],[-0.361,2.45],[-0.001,0.003],[-0.006,0.039],[-0.001,0.005],[-0.002,0.009],[-0.001,0.004],[-0.003,0.02],[-0.001,0.005],[-0.002,0.01],[-0.001,0.007],[-0.001,0.01],[-0.002,0.012],[-0.001,0.009],[-0.001,0.009],[-0.001,0.009],[-0.001,0.011],[-0.001,0.005],[-0.005,0.038],[0,0],[-0.121,0.986]],"o":[[-0.437,3.556],[0,0],[0.477,-2.411],[0,-0.002],[0.006,-0.039],[0,-0.005],[0.001,-0.01],[0,-0.005],[0.003,-0.02],[0.001,-0.005],[0.001,-0.01],[0.001,-0.008],[0.001,-0.01],[0.002,-0.012],[0.002,-0.01],[0.001,-0.01],[0.001,-0.01],[0.002,-0.011],[0.001,-0.005],[0.005,-0.038],[0,0],[0.14,-0.981],[0,0]],"v":[[146.85,18.245],[145.146,28.888],[148.089,29.471],[149.346,22.182],[149.347,22.174],[149.363,22.066],[149.365,22.052],[149.371,22.011],[149.373,21.997],[149.38,21.946],[149.383,21.93],[149.388,21.895],[149.391,21.873],[149.395,21.844],[149.4,21.809],[149.405,21.775],[149.409,21.747],[149.412,21.727],[149.416,21.695],[149.419,21.678],[149.435,21.565],[149.436,21.561],[149.828,18.611]],"c":true}},"nm":"Path 13","mn":"ADBE Vector Shape - Group"},{"ind":13,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[1.2,-3.371],[0,0],[-0.777,2.628],[0,0],[-0.003,0.012],[-0.001,0.004],[-0.012,0.037],[-0.002,0.004],[-0.003,0.012],[-0.001,0.005],[-0.01,0.035],[-0.002,0.005],[-0.003,0.01],[-0.001,0.005],[-0.005,0.015],[-0.002,0.005],[-0.003,0.008],[-0.003,0.009],[-0.002,0.008],[-0.003,0.009],[-0.004,0.013],[-0.003,0.01],[-0.002,0.008],[-0.002,0.009],[-0.002,0.006],[-0.005,0.019],[-0.001,0.005],[-0.005,0.018],[-0.001,0.006],[-0.003,0.009],[-0.002,0.004],[-0.011,0.037],[-0.002,0.004],[-0.006,0.019],[0,0.002],[-0.006,0.019],[0,0],[-0.005,0.019],[-0.001,0.002],[-0.016,0.056],[0,0.001],[-0.127,0.463]],"o":[[-0.95,3.449],[0,0],[0.914,-2.566],[0,0],[0.004,-0.012],[0.002,-0.005],[0.011,-0.038],[0.001,-0.005],[0.003,-0.012],[0.002,-0.005],[0.011,-0.035],[0.002,-0.005],[0.002,-0.009],[0.001,-0.004],[0.005,-0.015],[0.001,-0.005],[0.002,-0.008],[0.002,-0.009],[0.002,-0.008],[0.003,-0.01],[0.003,-0.013],[0.002,-0.009],[0.002,-0.008],[0.003,-0.009],[0.002,-0.007],[0.005,-0.018],[0.002,-0.004],[0.005,-0.018],[0.002,-0.006],[0.003,-0.009],[0.001,-0.005],[0.011,-0.038],[0.001,-0.004],[0.005,-0.019],[0,-0.002],[0.006,-0.018],[0,-0.001],[0.006,-0.019],[0.001,-0.002],[0.016,-0.056],[0,-0.001],[0.132,-0.462],[0,0]],"v":[[142.669,39.378],[139.429,49.658],[142.255,50.663],[144.792,42.87],[144.792,42.867],[144.803,42.831],[144.806,42.821],[144.84,42.708],[144.842,42.701],[144.852,42.665],[144.855,42.654],[144.886,42.549],[144.892,42.53],[144.9,42.502],[144.906,42.481],[144.92,42.436],[144.927,42.411],[144.934,42.386],[144.941,42.362],[144.948,42.337],[144.956,42.311],[144.967,42.273],[144.975,42.244],[144.982,42.221],[144.99,42.192],[144.996,42.173],[145.008,42.13],[145.012,42.117],[145.024,42.076],[145.029,42.058],[145.04,42.022],[145.044,42.008],[145.073,41.906],[145.077,41.895],[145.09,41.848],[145.091,41.843],[145.107,41.789],[145.107,41.787],[145.122,41.736],[145.124,41.729],[145.171,41.566],[145.171,41.564],[145.561,40.174]],"c":true}},"nm":"Path 14","mn":"ADBE Vector Shape - Group"},{"ind":14,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[1.68,-3.161],[0,0],[-0.071,0.135],[-0.002,0.004],[-0.016,0.03],[-0.001,0.002],[-0.008,0.017],[-0.002,0.003],[-0.013,0.026],[-0.001,0.004],[-0.009,0.017],[-0.003,0.006],[-0.014,0.025],[-0.004,0.007],[-0.007,0.013],[0,0],[-0.014,0.025],[-0.004,0.008],[-0.006,0.012],[-0.005,0.01],[-0.008,0.017],[-0.005,0.011],[-0.004,0.008],[-0.005,0.011],[-0.009,0.017],[-0.006,0.013],[-0.004,0.008],[-0.007,0.014],[-0.007,0.012],[-0.008,0.016],[-0.004,0.009],[-0.007,0.014],[-0.007,0.012],[-0.008,0.017],[-0.004,0.009],[-0.009,0.017],[-0.004,0.008],[-0.01,0.019],[-0.005,0.009],[-0.009,0.018],[-0.002,0.005],[-0.011,0.02],[-0.004,0.009],[-0.01,0.02],[-0.003,0.004],[-0.011,0.022],[-0.005,0.009],[-0.01,0.02],[-0.002,0.005],[-0.011,0.023],[-0.004,0.008],[-0.011,0.021],[0,0],[-0.012,0.022],[-0.005,0.009],[-0.011,0.022],[0,0],[-0.012,0.023],[-0.004,0.009],[-0.023,0.046],[-0.002,0.004],[-0.024,0.047],[0,0],[-0.024,0.047],[0,0],[-0.024,0.048],[0,0],[-0.024,0.049],[0,0],[-0.025,0.049],[0,0],[-0.024,0.049],[0,0],[-0.025,0.05],[0,0],[-0.024,0.05],[0,0],[-0.024,0.05],[0,0],[-0.025,0.049],[0,0],[-0.025,0.049],[0,0],[-0.025,0.05],[0,0],[-0.024,0.049],[0,0],[-0.024,0.049],[0,0],[-0.024,0.049],[0,0],[-0.024,0.049],[0,0],[-0.024,0.049],[0,0],[-0.023,0.049],[0,0],[-0.023,0.048],[-0.002,0.004],[-0.023,0.048],[-0.002,0.004],[-0.011,0.023],[0,0],[-0.011,0.022],[-0.002,0.004],[-0.011,0.023],[-0.002,0.005],[-0.01,0.021],[-0.004,0.008],[-0.01,0.022],[-0.002,0.004],[0,0],[-0.004,0.009],[-0.01,0.022],[-0.002,0.004],[-0.009,0.019],[-0.004,0.008],[-0.009,0.02],[-0.002,0.004],[-0.007,0.016],[-0.004,0.008],[-0.009,0.018],[-0.006,0.013],[-0.007,0.015],[-0.004,0.009],[-0.007,0.014],[-0.006,0.013],[-0.005,0.011],[-0.004,0.009],[-0.007,0.013],[-0.008,0.017],[-0.005,0.012],[-0.007,0.013],[-0.005,0.01],[-0.01,0.022],[-0.004,0.009],[-0.006,0.013],[-0.003,0.007],[-0.012,0.026],[-0.003,0.006],[-0.008,0.017],[-0.001,0.003],[-0.016,0.035],[-0.001,0.002],[-0.024,0.052],[-0.001,0.002],[-0.024,0.052],[0,0],[-0.316,0.717]],"o":[[-1.443,3.272],[0,0],[0.071,-0.134],[0.003,-0.004],[0.015,-0.03],[0.001,-0.002],[0.009,-0.017],[0.002,-0.004],[0.014,-0.026],[0.002,-0.003],[0.009,-0.017],[0.003,-0.006],[0.014,-0.025],[0.004,-0.008],[0.006,-0.013],[0,0],[0.013,-0.025],[0.004,-0.008],[0.007,-0.013],[0.006,-0.01],[0.009,-0.017],[0.006,-0.011],[0.005,-0.009],[0.006,-0.011],[0.009,-0.017],[0.007,-0.013],[0.005,-0.008],[0.007,-0.014],[0.007,-0.012],[0.008,-0.016],[0.004,-0.008],[0.008,-0.014],[0.007,-0.013],[0.008,-0.017],[0.005,-0.008],[0.009,-0.017],[0.004,-0.009],[0.01,-0.019],[0.004,-0.008],[0.009,-0.018],[0.002,-0.004],[0.01,-0.02],[0.004,-0.009],[0.01,-0.02],[0.002,-0.004],[0.011,-0.022],[0.004,-0.009],[0.01,-0.021],[0.003,-0.005],[0.011,-0.022],[0.004,-0.008],[0.012,-0.022],[0,0],[0.011,-0.023],[0.004,-0.009],[0.011,-0.022],[0,0],[0.012,-0.022],[0.004,-0.009],[0.023,-0.046],[0.002,-0.005],[0.024,-0.047],[0,0],[0.024,-0.047],[0,0],[0.024,-0.047],[0,0],[0.024,-0.048],[0,0],[0.025,-0.049],[0,0],[0.025,-0.049],[0,0],[0.025,-0.049],[0,0],[0.024,-0.049],[0,0],[0.024,-0.05],[0,0],[0.024,-0.05],[0,0],[0.024,-0.049],[0,0],[0.024,-0.05],[0,0],[0.024,-0.049],[0,0],[0.024,-0.049],[0,0],[0.024,-0.049],[0,0],[0.024,-0.049],[0,0],[0.024,-0.049],[0,0],[0.023,-0.049],[0,0],[0.023,-0.049],[0.002,-0.004],[0.023,-0.048],[0.002,-0.004],[0.011,-0.024],[0,0],[0.011,-0.022],[0.002,-0.005],[0.011,-0.023],[0.002,-0.004],[0.01,-0.021],[0.004,-0.009],[0.011,-0.023],[0.002,-0.005],[0,0],[0.004,-0.009],[0.01,-0.021],[0.002,-0.004],[0.009,-0.018],[0.004,-0.008],[0.009,-0.02],[0.002,-0.004],[0.008,-0.017],[0.004,-0.009],[0.009,-0.019],[0.006,-0.013],[0.007,-0.015],[0.004,-0.009],[0.006,-0.014],[0.006,-0.013],[0.006,-0.012],[0.004,-0.009],[0.006,-0.013],[0.008,-0.017],[0.005,-0.012],[0.006,-0.013],[0.004,-0.01],[0.01,-0.022],[0.004,-0.008],[0.006,-0.013],[0.003,-0.008],[0.012,-0.026],[0.003,-0.007],[0.008,-0.017],[0.001,-0.003],[0.016,-0.035],[0.001,-0.002],[0.024,-0.052],[0.001,-0.002],[0.024,-0.052],[0,0],[0.327,-0.712],[0,0]],"v":[[135.443,59.671],[130.736,69.367],[133.385,70.775],[133.598,70.372],[133.605,70.36],[133.651,70.272],[133.654,70.266],[133.678,70.22],[133.684,70.209],[133.729,70.123],[133.734,70.113],[133.757,70.07],[133.766,70.052],[133.804,69.982],[133.816,69.959],[133.836,69.921],[133.848,69.896],[133.883,69.831],[133.895,69.807],[133.914,69.77],[133.93,69.74],[133.958,69.686],[133.975,69.653],[133.993,69.619],[134.01,69.586],[134.035,69.538],[134.055,69.499],[134.071,69.469],[134.092,69.428],[134.111,69.393],[134.135,69.345],[134.149,69.317],[134.172,69.274],[134.189,69.242],[134.214,69.192],[134.227,69.167],[134.253,69.117],[134.265,69.094],[134.294,69.038],[134.306,69.015],[134.333,68.962],[134.342,68.944],[134.373,68.885],[134.383,68.864],[134.414,68.804],[134.418,68.798],[134.452,68.73],[134.461,68.714],[134.492,68.651],[134.496,68.645],[134.53,68.577],[134.538,68.561],[134.572,68.496],[134.574,68.492],[134.608,68.425],[134.617,68.408],[134.65,68.341],[134.651,68.339],[134.686,68.271],[134.694,68.255],[134.764,68.117],[134.771,68.104],[134.842,67.962],[134.848,67.951],[134.92,67.809],[134.925,67.798],[134.997,67.655],[135.002,67.645],[135.074,67.5],[135.078,67.493],[135.152,67.346],[135.154,67.34],[135.228,67.193],[135.231,67.186],[135.305,67.038],[135.308,67.033],[135.381,66.884],[135.384,66.88],[135.457,66.73],[135.46,66.725],[135.533,66.577],[135.536,66.57],[135.609,66.423],[135.612,66.416],[135.685,66.268],[135.687,66.262],[135.759,66.114],[135.763,66.107],[135.835,65.96],[135.838,65.952],[135.91,65.805],[135.913,65.798],[135.985,65.65],[135.988,65.643],[136.059,65.496],[136.063,65.488],[136.133,65.342],[136.138,65.333],[136.207,65.188],[136.213,65.177],[136.281,65.033],[136.287,65.021],[136.321,64.951],[136.322,64.947],[136.355,64.88],[136.362,64.865],[136.395,64.796],[136.398,64.789],[136.428,64.727],[136.436,64.708],[136.468,64.641],[136.473,64.632],[136.501,64.572],[136.511,64.551],[136.541,64.487],[136.548,64.472],[136.574,64.417],[136.585,64.395],[136.612,64.336],[136.623,64.313],[136.646,64.264],[136.658,64.239],[136.684,64.184],[136.698,64.154],[136.719,64.11],[136.733,64.08],[136.753,64.037],[136.774,63.992],[136.79,63.957],[136.806,63.923],[136.825,63.884],[136.847,63.836],[136.863,63.801],[136.88,63.766],[136.894,63.735],[136.922,63.674],[136.935,63.648],[136.953,63.609],[136.963,63.587],[136.997,63.514],[137.006,63.494],[137.027,63.451],[137.03,63.442],[137.073,63.349],[137.077,63.342],[137.146,63.192],[137.149,63.186],[137.22,63.033],[137.22,63.033],[138.188,60.882]],"c":true}},"nm":"Path 15","mn":"ADBE Vector Shape - Group"},{"ind":15,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[2.122,-2.884],[0,0],[-0.862,1.25],[-0.032,0.047],[0,0],[-0.031,0.046],[0,0],[-0.031,0.044],[0,0],[-0.029,0.043],[-0.005,0.008],[-0.014,0.021],[-0.003,0.004],[-0.012,0.018],[-0.005,0.008],[-0.012,0.019],[-0.003,0.004],[-0.01,0.014],[-0.005,0.008],[-0.012,0.017],[-0.005,0.008],[-0.009,0.014],[-0.006,0.008],[-0.01,0.015],[-0.008,0.011],[-0.007,0.011],[-0.008,0.012],[-0.009,0.013],[-0.008,0.012],[-0.006,0.01],[-0.008,0.012],[-0.005,0.007],[-0.013,0.02],[-0.004,0.006],[-0.027,0.04],[-0.002,0.004],[-0.032,0.047],[-0.001,0.001],[-0.787,1.252]],"o":[[-1.905,3.028],[0,0],[0.898,-1.222],[0.032,-0.046],[0,0],[0.031,-0.045],[0,0],[0.03,-0.044],[0,0],[0.03,-0.043],[0.005,-0.007],[0.014,-0.02],[0.003,-0.004],[0.012,-0.017],[0.005,-0.008],[0.012,-0.018],[0.003,-0.004],[0.01,-0.015],[0.005,-0.008],[0.012,-0.017],[0.005,-0.008],[0.009,-0.013],[0.005,-0.008],[0.01,-0.015],[0.008,-0.011],[0.007,-0.011],[0.008,-0.012],[0.009,-0.013],[0.008,-0.012],[0.007,-0.009],[0.008,-0.012],[0.004,-0.007],[0.013,-0.02],[0.004,-0.006],[0.026,-0.039],[0.002,-0.003],[0.032,-0.047],[0.001,-0.001],[0.823,-1.227],[0,0]],"v":[[125.333,78.694],[119.265,87.604],[121.682,89.382],[124.323,85.675],[124.42,85.535],[124.422,85.533],[124.515,85.396],[124.521,85.388],[124.612,85.257],[124.619,85.245],[124.707,85.117],[124.717,85.102],[124.759,85.04],[124.766,85.03],[124.802,84.977],[124.816,84.957],[124.853,84.902],[124.867,84.882],[124.897,84.839],[124.913,84.814],[124.949,84.762],[124.965,84.737],[124.993,84.697],[125.011,84.671],[125.041,84.625],[125.065,84.591],[125.087,84.558],[125.107,84.528],[125.134,84.489],[125.162,84.446],[125.182,84.417],[125.205,84.384],[125.219,84.363],[125.263,84.298],[125.275,84.28],[125.361,84.152],[125.368,84.141],[125.459,84.007],[125.461,84.003],[127.872,80.291]],"c":true}},"nm":"Path 16","mn":"ADBE Vector Shape - Group"},{"ind":16,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[2.515,-2.547],[0,0],[-0.02,0.02],[0,0],[-0.039,0.04],[0,0],[-0.039,0.04],[0,0],[-0.039,0.04],[0,0],[-0.039,0.04],[0,0],[-0.038,0.04],[0,0],[-0.038,0.04],[-0.003,0.004],[-0.037,0.039],[-0.004,0.004],[-0.019,0.02],[-0.004,0.004],[-0.017,0.018],[-0.004,0.004],[-0.018,0.019],[0,0],[-0.018,0.018],[-0.003,0.003],[-0.018,0.018],[0,0],[-0.017,0.017],[-0.003,0.004],[-0.018,0.018],[-0.004,0.003],[-0.016,0.016],[0,0],[-0.017,0.018],[-0.003,0.004],[-0.014,0.015],[-0.003,0.004],[-0.017,0.018],[-0.004,0.003],[-0.014,0.015],[-0.004,0.003],[-0.016,0.017],[-0.004,0.003],[-0.014,0.014],[-0.004,0.004],[-0.017,0.017],[-0.007,0.007],[-0.014,0.014],[-0.004,0.003],[-0.016,0.016],[-0.007,0.007],[-0.012,0.012],[-0.006,0.007],[-0.013,0.014],[-0.007,0.007],[-0.011,0.012],[-0.013,0.013],[-0.01,0.011],[-0.007,0.006],[-0.011,0.011],[-0.01,0.01],[-0.009,0.01],[-0.007,0.007],[-0.01,0.01],[-0.01,0.011],[-0.008,0.009],[-0.01,0.01],[-0.008,0.009],[-0.013,0.014],[-0.008,0.009],[-0.009,0.01],[-0.007,0.008],[-0.016,0.018],[-0.006,0.007],[-0.01,0.01],[-0.005,0.005],[-0.019,0.021],[-0.006,0.005],[-0.033,0.035],[-0.005,0.005],[-0.032,0.034],[-0.005,0.005],[-0.032,0.034],[-0.004,0.004],[-0.035,0.038],[-0.003,0.003],[-0.035,0.038],[-0.002,0.002],[-0.038,0.041],[-0.001,0.001],[-0.836,0.95],[-0.001,0.001],[-0.037,0.042],[-0.002,0.002],[-0.038,0.043],[-0.003,0.003],[-0.034,0.039],[-0.005,0.006],[-0.022,0.025],[-0.001,0.001],[-0.009,0.01],[-0.006,0.006],[-0.015,0.018],[-0.008,0.009],[-0.009,0.011],[-0.007,0.008],[-0.013,0.015],[-0.01,0.012],[-0.009,0.01],[-0.009,0.01],[-0.009,0.011],[-0.014,0.015],[-0.006,0.007],[-0.012,0.014],[-0.003,0.004],[-0.014,0.017],[-0.006,0.007],[-0.014,0.017],[-0.003,0.003],[-0.016,0.018],[-0.006,0.007],[-0.016,0.018],[0,0],[-0.016,0.019],[-0.004,0.004],[-0.035,0.041],[0,0],[-0.093,0.108]],"o":[[-2.324,2.721],[0,0],[0.02,-0.021],[0,0],[0.039,-0.041],[0,0],[0.039,-0.04],[0,0],[0.039,-0.04],[0,0],[0.039,-0.04],[0,0],[0.039,-0.039],[0,0],[0.039,-0.039],[0.003,-0.003],[0.038,-0.039],[0.004,-0.003],[0.018,-0.019],[0.003,-0.003],[0.017,-0.017],[0.003,-0.003],[0.018,-0.019],[0,0],[0.017,-0.018],[0.003,-0.004],[0.018,-0.019],[0,0],[0.017,-0.018],[0.003,-0.003],[0.018,-0.018],[0.003,-0.004],[0.015,-0.017],[0,0],[0.017,-0.018],[0.003,-0.003],[0.015,-0.015],[0.004,-0.003],[0.017,-0.017],[0.004,-0.004],[0.014,-0.015],[0.004,-0.003],[0.016,-0.018],[0.004,-0.004],[0.013,-0.015],[0.003,-0.004],[0.016,-0.017],[0.006,-0.007],[0.013,-0.014],[0.003,-0.004],[0.015,-0.017],[0.006,-0.007],[0.012,-0.012],[0.007,-0.007],[0.013,-0.013],[0.006,-0.007],[0.01,-0.011],[0.013,-0.013],[0.01,-0.011],[0.006,-0.007],[0.01,-0.012],[0.009,-0.01],[0.009,-0.01],[0.006,-0.007],[0.01,-0.011],[0.01,-0.011],[0.008,-0.008],[0.01,-0.01],[0.008,-0.009],[0.013,-0.014],[0.008,-0.009],[0.01,-0.01],[0.008,-0.008],[0.016,-0.017],[0.006,-0.006],[0.01,-0.01],[0.005,-0.005],[0.02,-0.021],[0.006,-0.006],[0.032,-0.035],[0.004,-0.005],[0.032,-0.035],[0.005,-0.006],[0.032,-0.035],[0.004,-0.004],[0.036,-0.038],[0.004,-0.003],[0.035,-0.038],[0.002,-0.002],[0.038,-0.041],[0.001,-0.001],[0.858,-0.928],[0.001,0],[0.037,-0.042],[0.002,-0.002],[0.037,-0.043],[0.003,-0.003],[0.034,-0.039],[0.004,-0.005],[0.021,-0.024],[0.001,-0.001],[0.009,-0.01],[0.006,-0.007],[0.015,-0.018],[0.008,-0.009],[0.009,-0.011],[0.007,-0.008],[0.012,-0.014],[0.01,-0.011],[0.01,-0.011],[0.01,-0.011],[0.01,-0.011],[0.013,-0.015],[0.006,-0.008],[0.013,-0.014],[0.003,-0.003],[0.015,-0.017],[0.006,-0.007],[0.015,-0.017],[0.004,-0.004],[0.016,-0.019],[0.006,-0.008],[0.016,-0.019],[0,0],[0.016,-0.019],[0.003,-0.003],[0.035,-0.04],[0,0],[0.093,-0.108],[0,0]],"v":[[112.567,96.051],[105.275,103.992],[107.409,106.1],[107.469,106.038],[107.471,106.037],[107.589,105.916],[107.592,105.915],[107.71,105.794],[107.712,105.792],[107.829,105.673],[107.833,105.669],[107.95,105.549],[107.953,105.545],[108.069,105.426],[108.073,105.423],[108.188,105.304],[108.194,105.299],[108.307,105.182],[108.314,105.175],[108.37,105.118],[108.375,105.113],[108.426,105.059],[108.434,105.051],[108.489,104.994],[108.494,104.989],[108.546,104.936],[108.553,104.928],[108.607,104.873],[108.615,104.864],[108.665,104.813],[108.672,104.804],[108.726,104.749],[108.736,104.739],[108.783,104.69],[108.792,104.681],[108.843,104.627],[108.857,104.612],[108.9,104.567],[108.911,104.556],[108.962,104.503],[108.976,104.489],[109.019,104.443],[109.03,104.433],[109.079,104.382],[109.096,104.364],[109.137,104.321],[109.149,104.308],[109.198,104.257],[109.215,104.239],[109.256,104.196],[109.267,104.186],[109.314,104.135],[109.335,104.113],[109.37,104.076],[109.393,104.051],[109.432,104.011],[109.454,103.988],[109.487,103.953],[109.517,103.923],[109.548,103.889],[109.572,103.864],[109.604,103.83],[109.637,103.796],[109.665,103.765],[109.691,103.738],[109.72,103.707],[109.757,103.668],[109.781,103.643],[109.809,103.613],[109.834,103.586],[109.875,103.543],[109.899,103.518],[109.926,103.488],[109.949,103.464],[109.995,103.415],[110.014,103.395],[110.044,103.363],[110.059,103.347],[110.113,103.289],[110.13,103.272],[110.232,103.163],[110.245,103.149],[110.348,103.039],[110.362,103.024],[110.465,102.913],[110.477,102.9],[110.582,102.787],[110.592,102.777],[110.7,102.66],[110.705,102.655],[110.816,102.535],[110.82,102.531],[113.358,99.718],[113.36,99.716],[113.468,99.593],[113.474,99.587],[113.579,99.467],[113.588,99.457],[113.689,99.341],[113.703,99.326],[113.768,99.251],[113.77,99.248],[113.8,99.214],[113.817,99.195],[113.86,99.145],[113.884,99.118],[113.91,99.087],[113.932,99.063],[113.968,99.021],[113.997,98.987],[114.02,98.961],[114.048,98.929],[114.072,98.901],[114.112,98.856],[114.129,98.835],[114.166,98.792],[114.181,98.775],[114.225,98.724],[114.24,98.707],[114.284,98.656],[114.29,98.65],[114.338,98.594],[114.351,98.578],[114.4,98.522],[114.403,98.518],[114.452,98.461],[114.462,98.451],[114.566,98.328],[114.571,98.324],[114.849,97.999]],"c":true}},"nm":"Path 17","mn":"ADBE Vector Shape - Group"},{"ind":17,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[2.856,-2.156],[0,0],[-2.757,2.414]],"o":[[-2.693,2.359],[0,0],[2.929,-2.211],[0,0]],"v":[[97.427,111.382],[89.065,118.187],[90.873,120.58],[99.404,113.639]],"c":true}},"nm":"Path 18","mn":"ADBE Vector Shape - Group"},{"ind":18,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[3.136,-1.719],[0,0],[-1.932,1.175],[0,0],[-0.023,0.014],[0,0],[-0.021,0.013],[0,0],[-0.022,0.013],[-0.004,0.002],[-0.019,0.012],[0,0],[-0.021,0.013],[-0.004,0.002],[-0.017,0.011],[-0.008,0.004],[-0.02,0.012],[-0.004,0.002],[-0.014,0.009],[-0.008,0.005],[-0.019,0.011],[-0.012,0.007],[-0.012,0.007],[-0.008,0.005],[-0.017,0.011],[-0.012,0.008],[-0.009,0.006],[-0.02,0.012],[-0.007,0.005],[-0.012,0.007],[-0.006,0.003],[-0.029,0.017],[-0.001,0.001],[-0.016,0.01],[-0.004,0.003],[-0.804,0.52]],"o":[[-3.007,1.945],[0,0],[1.988,-1.089],[0,0],[0.024,-0.015],[0,0],[0.021,-0.013],[0,0],[0.022,-0.013],[0.004,-0.003],[0.019,-0.012],[0,0],[0.021,-0.013],[0.005,-0.003],[0.017,-0.011],[0.008,-0.005],[0.02,-0.013],[0.004,-0.003],[0.014,-0.009],[0.008,-0.005],[0.018,-0.011],[0.012,-0.008],[0.012,-0.008],[0.008,-0.005],[0.017,-0.011],[0.012,-0.008],[0.009,-0.005],[0.02,-0.012],[0.007,-0.005],[0.012,-0.007],[0.006,-0.004],[0.028,-0.018],[0.001,-0.001],[0.016,-0.01],[0.005,-0.003],[0.814,-0.505],[0,0]],"v":[[80.233,124.367],[70.975,129.887],[72.416,132.518],[78.297,129.122],[78.299,129.12],[78.369,129.077],[78.377,129.072],[78.44,129.035],[78.448,129.029],[78.514,128.989],[78.527,128.981],[78.584,128.946],[78.596,128.939],[78.659,128.9],[78.676,128.89],[78.727,128.859],[78.743,128.85],[78.803,128.812],[78.826,128.799],[78.869,128.771],[78.892,128.757],[78.947,128.725],[78.976,128.706],[79.011,128.684],[79.039,128.667],[79.091,128.635],[79.125,128.614],[79.152,128.597],[79.213,128.561],[79.235,128.546],[79.274,128.523],[79.292,128.511],[79.375,128.46],[79.378,128.458],[79.421,128.432],[79.434,128.424],[81.862,126.885]],"c":true}},"nm":"Path 19","mn":"ADBE Vector Shape - Group"},{"ind":19,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[3.354,-1.242],[0,0],[-1.264,0.508],[0,0],[-0.053,0.021],[-0.003,0.001],[-0.049,0.019],[-0.005,0.002],[-0.017,0.007],[-0.004,0.002],[-0.026,0.011],[-0.008,0.003],[-0.014,0.005],[-0.008,0.004],[-0.022,0.009],[-0.01,0.004],[-0.013,0.005],[-0.014,0.005],[-0.013,0.006],[-0.013,0.006],[-0.009,0.004],[-0.017,0.007],[-0.014,0.006],[-0.014,0.005],[-0.009,0.003],[-0.02,0.008],[-0.009,0.004],[-0.016,0.006],[-0.009,0.003],[-0.021,0.009],[-0.005,0.002],[-0.017,0.007],[-0.009,0.004],[-0.022,0.009],[-0.005,0.002],[-0.02,0.008],[-0.009,0.003],[-0.023,0.009],[0,0],[-0.023,0.009],[-0.004,0.002],[-0.048,0.02],[0,0],[-0.05,0.021],[0,0],[-0.051,0.022],[0,0],[-1.403,0.64]],"o":[[-3.256,1.486],[0,0],[1.28,-0.474],[0,0],[0.054,-0.021],[0.003,-0.001],[0.049,-0.02],[0.005,-0.002],[0.018,-0.008],[0.004,-0.002],[0.027,-0.011],[0.008,-0.003],[0.013,-0.006],[0.009,-0.004],[0.023,-0.009],[0.01,-0.004],[0.013,-0.006],[0.014,-0.006],[0.013,-0.006],[0.013,-0.005],[0.009,-0.003],[0.017,-0.007],[0.013,-0.005],[0.014,-0.006],[0.009,-0.004],[0.019,-0.008],[0.009,-0.004],[0.016,-0.006],[0.009,-0.004],[0.021,-0.009],[0.005,-0.002],[0.017,-0.008],[0.009,-0.004],[0.022,-0.009],[0.004,-0.002],[0.02,-0.009],[0.009,-0.004],[0.023,-0.01],[0,0],[0.023,-0.009],[0.005,-0.002],[0.049,-0.021],[0,0],[0.05,-0.02],[0,0],[0.051,-0.022],[0,0],[1.425,-0.598],[0,0]],"v":[[61.339,134.717],[51.377,138.829],[52.42,141.643],[56.24,140.167],[56.24,140.167],[56.395,140.105],[56.404,140.101],[56.551,140.042],[56.566,140.036],[56.612,140.018],[56.624,140.012],[56.706,139.98],[56.729,139.971],[56.771,139.954],[56.797,139.942],[56.861,139.916],[56.891,139.904],[56.928,139.889],[56.97,139.872],[57.015,139.854],[57.054,139.838],[57.086,139.825],[57.137,139.803],[57.172,139.79],[57.214,139.773],[57.244,139.76],[57.302,139.736],[57.327,139.725],[57.375,139.706],[57.402,139.695],[57.466,139.669],[57.482,139.662],[57.535,139.64],[57.56,139.63],[57.626,139.602],[57.637,139.598],[57.697,139.574],[57.717,139.566],[57.786,139.536],[57.789,139.535],[57.858,139.506],[57.873,139.501],[58.019,139.439],[58.03,139.434],[58.179,139.372],[58.188,139.369],[58.341,139.304],[58.343,139.303],[62.585,137.446]],"c":true}},"nm":"Path 20","mn":"ADBE Vector Shape - Group"},{"ind":20,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[3.503,-0.739],[0,0],[-0.653,0.147],[-0.002,0.001],[-0.038,0.009],[-0.002,0],[-0.019,0.004],[-0.003,0.001],[-0.038,0.009],[-0.005,0.001],[-0.01,0.002],[-0.005,0.002],[-0.019,0.005],[-0.001,0.001],[-0.015,0.003],[-0.007,0.001],[-0.009,0.002],[-0.006,0.001],[-0.019,0.004],[-0.006,0.002],[-0.009,0.002],[-0.008,0.002],[-0.009,0.002],[-0.007,0.002],[-0.019,0.004],[-0.008,0.002],[-0.009,0.002],[-0.01,0.002],[-0.005,0.002],[-0.015,0.003],[-0.005,0.001],[-0.009,0.002],[-0.01,0.003],[-0.009,0.002],[-0.005,0.001],[-0.016,0.004],[-0.004,0.001],[-0.009,0.002],[-0.009,0.003],[-0.01,0.002],[-0.005,0.001],[-0.017,0.004],[-0.004,0.002],[-0.011,0.003],[-0.005,0.001],[-0.01,0.002],[0,0],[-0.021,0.005],[-0.005,0.002],[-0.01,0.002],[-0.004,0.001],[-0.022,0.005],[0,0],[-0.01,0.003],[-0.009,0.002],[-0.01,0.002],[-0.005,0.001],[-0.021,0.005],[0,0],[-0.011,0.003],[-0.01,0.002],[-0.01,0.002],[-0.005,0.001],[-0.02,0.004],[-0.005,0.001],[-0.011,0.002],[-0.01,0.003],[-0.01,0.003],[-0.005,0.001],[-0.017,0.004],[-0.004,0.001],[-0.009,0.002],[-0.01,0.002],[-0.007,0.002],[-0.014,0.003],[-0.009,0.002],[-0.009,0.002],[-0.008,0.003],[-0.01,0.003],[-0.013,0.003],[-0.01,0.002],[-0.008,0.002],[-0.009,0.002],[-0.008,0.002],[-0.01,0.002],[-0.014,0.003],[-0.01,0.002],[-0.008,0.002],[-0.009,0.003],[-0.008,0.002],[-0.01,0.003],[-0.013,0.003],[-0.009,0.002],[-0.008,0.002],[-0.009,0.003],[-0.006,0.001],[-0.019,0.005],[-0.006,0.001],[-0.01,0.002],[-0.007,0.001],[-0.009,0.002],[-0.005,0.002],[-0.019,0.005],[-0.005,0.001],[-0.01,0.003],[-0.005,0.002],[-0.019,0.005],[-0.001,0],[-0.019,0.005],[-0.003,0.001],[-0.019,0.004],[-0.003,0.001],[-0.037,0.009],[-0.003,0.001],[-0.018,0.005],[-0.002,0.001],[-0.038,0.01],[0,0],[-0.019,0.005],[-0.001,0],[-0.037,0.01],[-0.002,0.001],[-1.677,0.485]],"o":[[-3.437,0.993],[0,0],[0.656,-0.138],[0.002,0],[0.038,-0.008],[0.002,0],[0.019,-0.004],[0.003,-0.001],[0.038,-0.009],[0.005,-0.001],[0.009,-0.002],[0.006,-0.002],[0.02,-0.004],[0.002,0],[0.015,-0.003],[0.006,-0.002],[0.009,-0.003],[0.006,-0.002],[0.019,-0.005],[0.006,-0.002],[0.01,-0.002],[0.008,-0.001],[0.009,-0.002],[0.008,-0.002],[0.019,-0.004],[0.007,-0.002],[0.009,-0.002],[0.01,-0.002],[0.004,-0.001],[0.015,-0.003],[0.005,-0.001],[0.009,-0.002],[0.01,-0.002],[0.009,-0.002],[0.005,-0.001],[0.016,-0.004],[0.004,-0.001],[0.009,-0.003],[0.009,-0.002],[0.01,-0.002],[0.004,-0.002],[0.017,-0.004],[0.005,-0.001],[0.011,-0.002],[0.004,-0.001],[0.01,-0.002],[0,0],[0.02,-0.005],[0.004,-0.001],[0.009,-0.002],[0.004,-0.002],[0.022,-0.006],[0,0],[0.01,-0.002],[0.009,-0.002],[0.011,-0.003],[0.005,-0.002],[0.021,-0.005],[0,0],[0.011,-0.003],[0.009,-0.002],[0.01,-0.003],[0.004,-0.002],[0.02,-0.005],[0.005,-0.001],[0.01,-0.002],[0.009,-0.002],[0.01,-0.002],[0.005,-0.001],[0.017,-0.004],[0.005,-0.001],[0.009,-0.003],[0.01,-0.002],[0.007,-0.002],[0.015,-0.003],[0.009,-0.002],[0.009,-0.002],[0.009,-0.002],[0.01,-0.002],[0.013,-0.003],[0.009,-0.002],[0.008,-0.002],[0.01,-0.002],[0.009,-0.002],[0.01,-0.003],[0.013,-0.003],[0.009,-0.002],[0.008,-0.002],[0.01,-0.003],[0.008,-0.002],[0.009,-0.003],[0.013,-0.003],[0.01,-0.003],[0.008,-0.002],[0.01,-0.003],[0.006,-0.001],[0.019,-0.005],[0.005,-0.001],[0.009,-0.002],[0.007,-0.002],[0.01,-0.003],[0.005,-0.001],[0.018,-0.004],[0.005,-0.001],[0.009,-0.003],[0.005,-0.001],[0.019,-0.004],[0.001,0],[0.019,-0.005],[0.003,-0.001],[0.019,-0.004],[0.003,-0.001],[0.038,-0.009],[0.004,-0.001],[0.019,-0.004],[0.002,0],[0.038,-0.009],[0,0],[0.019,-0.005],[0,0],[0.038,-0.009],[0.002,0],[1.7,-0.427],[0,0]],"v":[[41.141,142.2],[30.684,144.812],[31.304,147.747],[33.262,147.32],[33.267,147.318],[33.377,147.294],[33.383,147.292],[33.431,147.282],[33.44,147.279],[33.545,147.256],[33.56,147.252],[33.597,147.244],[33.614,147.239],[33.664,147.229],[33.668,147.227],[33.714,147.217],[33.733,147.213],[33.767,147.205],[33.785,147.201],[33.832,147.191],[33.851,147.186],[33.882,147.178],[33.905,147.174],[33.933,147.167],[33.956,147.161],[34.002,147.152],[34.025,147.145],[34.049,147.14],[34.078,147.133],[34.099,147.128],[34.144,147.118],[34.17,147.113],[34.196,147.106],[34.22,147.1],[34.246,147.094],[34.269,147.089],[34.317,147.079],[34.339,147.074],[34.367,147.066],[34.387,147.062],[34.417,147.055],[34.436,147.05],[34.488,147.038],[34.507,147.033],[34.538,147.027],[34.556,147.023],[34.586,147.015],[34.596,147.014],[34.657,146.998],[34.678,146.993],[34.707,146.988],[34.723,146.984],[34.789,146.967],[34.796,146.965],[34.827,146.958],[34.845,146.954],[34.876,146.947],[34.892,146.943],[34.956,146.928],[34.964,146.926],[34.997,146.919],[35.015,146.915],[35.045,146.907],[35.061,146.903],[35.12,146.889],[35.134,146.885],[35.165,146.878],[35.184,146.873],[35.214,146.867],[35.231,146.863],[35.283,146.85],[35.304,146.846],[35.331,146.838],[35.358,146.833],[35.381,146.826],[35.424,146.816],[35.452,146.809],[35.474,146.804],[35.5,146.798],[35.526,146.791],[35.564,146.782],[35.595,146.775],[35.618,146.769],[35.644,146.764],[35.669,146.757],[35.697,146.751],[35.737,146.74],[35.763,146.734],[35.788,146.729],[35.814,146.721],[35.838,146.717],[35.868,146.708],[35.907,146.7],[35.932,146.693],[35.956,146.687],[35.986,146.679],[36.005,146.675],[36.053,146.663],[36.07,146.66],[36.103,146.652],[36.124,146.646],[36.159,146.637],[36.174,146.633],[36.222,146.622],[36.238,146.618],[36.275,146.609],[36.291,146.605],[36.338,146.593],[36.341,146.592],[36.394,146.579],[36.404,146.576],[36.448,146.566],[36.458,146.563],[36.563,146.537],[36.573,146.535],[36.621,146.523],[36.626,146.521],[36.735,146.494],[36.741,146.493],[36.794,146.48],[36.795,146.48],[36.905,146.451],[36.91,146.45],[41.974,145.083]],"c":true}},"nm":"Path 21","mn":"ADBE Vector Shape - Group"},{"ind":21,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[3.577,-0.223],[0,0],[-2.833,0.339],[-0.005,0.001],[-0.04,0.005],[0,0],[-0.012,0.002],[0,0],[-0.023,0.003],[-0.005,0.001],[-0.011,0.001],[-0.01,0.001],[-0.008,0.001],[-0.015,0.002],[-0.009,0.001],[-0.01,0.001],[-0.007,0.001],[-0.015,0.002],[-0.003,0],[-0.02,0.003],[-0.005,0.001],[-0.009,0.002],[-0.004,0],[-0.02,0.002],[-0.002,0.001],[-0.019,0.002],[-0.002,0],[-0.039,0.005],[0,0],[-0.501,0.067]],"o":[[-3.54,0.48],[0,0],[2.878,-0.18],[0.005,-0.001],[0.04,-0.004],[0,0],[0.013,-0.002],[0,0],[0.024,-0.003],[0.005,0],[0.01,-0.001],[0.009,-0.001],[0.008,-0.001],[0.015,-0.002],[0.008,-0.001],[0.009,-0.001],[0.008,-0.001],[0.015,-0.002],[0.003,0],[0.02,-0.002],[0.005,0],[0.01,-0.001],[0.005,0],[0.02,-0.003],[0.002,0],[0.019,-0.002],[0.003,0],[0.04,-0.005],[0.001,0],[0.502,-0.063],[0,0]],"v":[[20.064,146.65],[9.337,147.712],[9.524,150.705],[18.092,149.926],[18.096,149.925],[18.216,149.911],[18.225,149.911],[18.263,149.906],[18.266,149.906],[18.337,149.896],[18.353,149.894],[18.384,149.891],[18.407,149.889],[18.432,149.885],[18.478,149.88],[18.503,149.876],[18.531,149.873],[18.554,149.87],[18.601,149.864],[18.61,149.863],[18.656,149.857],[18.672,149.855],[18.712,149.85],[18.726,149.85],[18.78,149.842],[18.785,149.842],[18.836,149.835],[18.843,149.834],[18.958,149.82],[18.959,149.82],[20.468,149.623]],"c":true}},"nm":"Path 22","mn":"ADBE Vector Shape - Group"},{"ind":22,"ty":"sh","ks":{"a":0,"k":{"i":[[3.56,0.29],[0,0],[-0.009,-0.001],[-0.004,0],[-0.02,-0.001],[-0.001,0],[-0.02,-0.002],[-0.004,-0.001],[-0.02,-0.001],[-0.003,0],[-0.02,-0.001],[-0.005,0],[-0.01,-0.001],[-0.004,-0.001],[-0.02,-0.002],[-0.004,0],[-0.01,-0.001],[-0.006,-0.001],[-0.01,-0.001],[-0.003,0],[-0.02,-0.002],[-0.006,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.001],[-0.004,0],[-0.01,0],[-0.007,-0.001],[-0.009,-0.001],[-0.007,0],[-0.01,-0.001],[-0.006,0],[-0.01,-0.001],[-0.007,0],[-0.02,-0.002],[-0.006,0],[-0.01,-0.001],[-0.007,0],[-0.01,0],[-0.008,-0.001],[-0.01,-0.001],[-0.007,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.001],[-0.006,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.001],[-0.002,-0.001],[-0.015,-0.001],[-0.006,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.002],[-0.006,-0.001],[-0.01,0],[-0.007,-0.001],[-0.015,-0.001],[-0.005,0],[-0.01,-0.001],[-0.007,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.002],[-0.007,-0.001],[-0.01,0],[-0.006,-0.001],[-0.02,-0.001],[-0.005,0],[-0.01,-0.001],[-0.006,0],[-0.01,-0.001],[-0.005,-0.001],[-0.015,-0.001],[-0.006,0],[-0.01,-0.001],[-0.007,-0.001],[-0.02,-0.001],[-0.005,0],[-0.01,-0.001],[0,0],[-0.016,-0.001],[-0.002,0],[-0.02,-0.002],[-0.006,-0.001],[-0.01,0],[-0.004,0],[-0.02,-0.002],[-0.005,-0.001],[-0.01,0],[-0.006,0],[-0.015,-0.001],[-0.003,0],[-0.015,-0.001],[-0.006,0],[-0.01,-0.001],[-0.005,0],[-0.02,-0.002],[-0.003,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.001],[-0.002,0],[-0.02,-0.002],[-0.005,-0.001],[-0.01,0],[-0.003,0],[-0.02,-0.001],[-0.006,0],[-0.01,0],[-0.005,0],[-0.02,-0.001],[-0.003,0],[-0.015,-0.001],[-0.005,-0.001],[-0.01,0],[-0.004,0],[-0.02,-0.001],[-0.005,-0.001],[-0.01,-0.001],[-0.006,0],[-0.02,-0.001],[-0.004,-0.001],[-0.01,-0.001],[-0.007,0],[-0.01,-0.001],[-0.003,0],[-0.02,-0.001],[-0.006,0],[-0.01,0],[-0.005,0],[-0.02,-0.001],[0,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.001],[-0.002,0],[-0.02,-0.001],[-0.005,-0.001],[-0.01,-0.001],[-0.005,-0.001],[-0.02,-0.001],[-0.004,0],[-0.01,0],[-0.006,0],[-0.015,-0.001],[-0.001,0],[-0.015,-0.001],[-0.006,-0.001],[-0.01,-0.001],[-0.005,0],[-0.02,-0.001],[-0.005,0],[-0.01,-0.001],[-0.006,0],[-0.015,-0.001],[-0.008,0],[-0.01,0],[-0.006,0],[-0.01,0],[-0.004,0],[-0.02,-0.001],[-0.006,0],[-0.01,-0.001],[-0.007,0],[-0.015,0],[-0.004,0],[-0.01,-0.001],[-0.007,0],[-0.01,-0.001],[-0.006,-0.001],[-0.02,-0.001],[-0.006,0],[-0.01,-0.001],[-0.006,0],[-0.02,-0.001],[-0.004,0],[-0.01,0],[-0.005,0],[-0.01,0],[-0.004,-0.001],[-0.02,-0.001],[-0.006,-0.001],[-0.011,-0.001],[-0.005,0],[-0.02,-0.001],[-0.005,0],[-0.01,-0.001],[-0.007,0],[-0.01,-0.001],[-0.004,0],[-0.015,0],[-0.007,0],[-0.01,-0.001],[-0.006,-0.001],[-0.02,-0.001],[-0.007,-0.001],[-0.01,0],[-0.008,0],[-0.01,-0.001],[-0.008,-0.001],[-0.01,0],[-0.007,0],[-0.01,0],[-0.007,0],[-0.021,0],[-0.007,0],[-0.01,0],[-0.008,0],[-0.01,-0.001],[-0.012,0],[-0.01,0],[-0.009,0],[-0.01,0],[-0.015,0],[-0.006,0],[-0.01,0],[-0.01,0],[-0.01,0],[-0.005,0],[-0.021,0],[-0.005,0],[-0.011,0],[-0.005,0],[-0.02,-0.001],[-0.006,-0.001],[-0.011,-0.001],[-0.01,0],[-0.011,-0.001],[-0.005,0],[-0.019,0],[-0.005,0],[-0.011,0],[-0.005,0],[-0.038,-0.002],[0,0],[-0.039,-0.001],[-0.005,0],[-0.013,-0.001],[0,0],[-0.042,-0.001],[0,0],[-0.043,-0.001],[-1.155,-0.01],[0,0]],"o":[[0,0],[0.01,0.001],[0.004,0],[0.02,0.001],[0.001,0],[0.02,0.001],[0.004,0],[0.02,0.001],[0.003,0.001],[0.02,0.002],[0.005,0.001],[0.01,0.001],[0.004,0],[0.02,0.001],[0.004,0],[0.01,0.001],[0.006,0.001],[0.01,0],[0.003,0],[0.02,0.001],[0.007,0],[0.01,0.001],[0.006,0],[0.019,0.002],[0.004,0.001],[0.01,0.001],[0.007,0.001],[0.01,0.001],[0.007,0],[0.01,0.001],[0.007,0],[0.01,0.001],[0.006,0],[0.019,0.002],[0.007,0],[0.01,0.001],[0.007,0],[0.01,0.001],[0.008,0.001],[0.01,0.001],[0.007,0],[0.01,0.001],[0.005,0.001],[0.02,0.002],[0.006,0],[0.01,0.001],[0.006,0],[0.02,0.002],[0.003,0],[0.015,0.001],[0.006,0],[0.01,0.001],[0.006,0],[0.02,0.001],[0.007,0],[0.01,0.001],[0.007,0.001],[0.015,0.001],[0.005,0.001],[0.01,0.001],[0.007,0],[0.01,0.001],[0.006,0],[0.02,0.001],[0.006,0],[0.01,0.001],[0.006,0.001],[0.02,0.001],[0.005,0],[0.01,0.001],[0.006,0],[0.01,0.001],[0.005,0],[0.015,0.001],[0.006,0],[0.01,0.001],[0.007,0],[0.02,0.001],[0.005,0],[0.01,0.001],[0,0],[0.015,0.001],[0.002,0],[0.02,0.002],[0.006,0],[0.01,0.001],[0.005,0.001],[0.02,0.002],[0.005,0],[0.01,0],[0.006,0.001],[0.015,0.001],[0.004,0],[0.015,0.001],[0.006,0],[0.01,0.001],[0.005,0],[0.02,0.002],[0.004,0],[0.01,0.001],[0.006,0],[0.02,0.001],[0.002,0],[0.02,0.001],[0.006,0],[0.01,0],[0.004,0],[0.02,0.001],[0.006,0],[0.01,0.001],[0.005,0.001],[0.02,0.002],[0.003,0.001],[0.015,0.001],[0.005,0],[0.01,0],[0.004,0],[0.02,0.001],[0.005,0],[0.01,0],[0.006,0],[0.02,0.001],[0.004,0],[0.01,0],[0.007,0],[0.01,0.001],[0.003,0],[0.02,0.001],[0.007,0],[0.01,0.001],[0.006,0],[0.02,0.001],[0,0],[0.01,0],[0.006,0],[0.02,0.001],[0.002,0.001],[0.02,0.001],[0.004,0],[0.01,0],[0.006,0],[0.02,0.001],[0.004,0.001],[0.01,0.001],[0.006,0.001],[0.015,0.001],[0.001,0],[0.015,0.001],[0.006,0],[0.01,0],[0.005,0],[0.021,0.002],[0.006,0],[0.01,0.001],[0.006,0],[0.015,0.001],[0.008,0],[0.01,0.001],[0.006,0],[0.01,0.001],[0.004,0],[0.021,0.001],[0.006,0.001],[0.01,0.001],[0.006,0],[0.015,0.001],[0.004,0.001],[0.011,0],[0.007,0],[0.01,0],[0.005,0],[0.02,0],[0.006,0],[0.01,0],[0.006,0],[0.02,0.001],[0.004,0],[0.01,0.001],[0.005,0.001],[0.01,0.001],[0.004,0],[0.02,0.001],[0.005,0],[0.01,0],[0.005,0],[0.02,0.001],[0.005,0],[0.01,0.001],[0.007,0],[0.01,0],[0.004,0],[0.015,0.001],[0.007,0.001],[0.01,0.001],[0.007,0],[0.02,0],[0.007,0],[0.01,0],[0.008,0],[0.01,0],[0.009,0],[0.01,0],[0.007,0],[0.01,0.001],[0.007,0.001],[0.02,0.001],[0.006,0.001],[0.01,0.001],[0.008,0.001],[0.01,0.001],[0.011,0],[0.01,0.001],[0.009,0.001],[0.01,0.001],[0.015,0.001],[0.005,0],[0.01,0.001],[0.01,0.001],[0.01,0.001],[0.005,0.001],[0.02,0.001],[0.005,0.001],[0.011,0],[0.005,0],[0.02,0.001],[0.005,0],[0.01,0],[0.01,0],[0.011,0.001],[0.005,0],[0.018,0.001],[0.005,0.001],[0.012,0],[0.005,0],[0.038,0.001],[0,0],[0.04,0.001],[0.005,0],[0.013,0.001],[0,0],[0.042,0.001],[0,0],[0.042,0.001],[1.148,0.037],[0,0],[-3.588,-0.033]],"v":[[-12.218,147.51],[-12.461,150.499],[-12.44,150.501],[-12.429,150.502],[-12.374,150.506],[-12.37,150.507],[-12.32,150.511],[-12.307,150.512],[-12.26,150.515],[-12.252,150.516],[-12.199,150.52],[-12.185,150.521],[-12.142,150.525],[-12.13,150.527],[-12.077,150.531],[-12.066,150.532],[-12.023,150.535],[-12.005,150.536],[-11.962,150.54],[-11.953,150.54],[-11.902,150.544],[-11.883,150.545],[-11.847,150.549],[-11.828,150.549],[-11.778,150.553],[-11.765,150.554],[-11.726,150.557],[-11.705,150.559],[-11.668,150.562],[-11.647,150.563],[-11.603,150.567],[-11.583,150.568],[-11.549,150.571],[-11.529,150.572],[-11.481,150.576],[-11.462,150.577],[-11.427,150.58],[-11.406,150.581],[-11.367,150.584],[-11.344,150.587],[-11.305,150.589],[-11.284,150.59],[-11.247,150.593],[-11.23,150.594],[-11.181,150.598],[-11.163,150.6],[-11.126,150.602],[-11.109,150.604],[-11.057,150.607],[-11.049,150.609],[-11.004,150.611],[-10.985,150.613],[-10.949,150.615],[-10.931,150.617],[-10.882,150.62],[-10.863,150.622],[-10.828,150.623],[-10.807,150.626],[-10.758,150.628],[-10.744,150.63],[-10.706,150.632],[-10.684,150.633],[-10.649,150.636],[-10.631,150.637],[-10.582,150.641],[-10.562,150.643],[-10.528,150.644],[-10.509,150.646],[-10.459,150.649],[-10.445,150.65],[-10.404,150.653],[-10.386,150.654],[-10.348,150.657],[-10.332,150.658],[-10.283,150.661],[-10.264,150.662],[-10.228,150.665],[-10.208,150.666],[-10.159,150.669],[-10.144,150.67],[-10.106,150.674],[-10.086,150.674],[-10.041,150.678],[-10.034,150.678],[-9.982,150.682],[-9.964,150.682],[-9.924,150.684],[-9.911,150.686],[-9.859,150.689],[-9.844,150.691],[-9.805,150.692],[-9.786,150.693],[-9.741,150.696],[-9.73,150.697],[-9.682,150.7],[-9.664,150.701],[-9.625,150.704],[-9.61,150.704],[-9.557,150.708],[-9.546,150.708],[-9.505,150.712],[-9.487,150.713],[-9.435,150.715],[-9.429,150.717],[-9.381,150.719],[-9.365,150.721],[-9.322,150.722],[-9.311,150.723],[-9.259,150.726],[-9.242,150.727],[-9.203,150.73],[-9.187,150.73],[-9.135,150.734],[-9.126,150.734],[-9.08,150.738],[-9.065,150.738],[-9.021,150.74],[-9.01,150.742],[-8.957,150.744],[-8.943,150.745],[-8.903,150.747],[-8.886,150.748],[-8.835,150.751],[-8.822,150.752],[-8.782,150.755],[-8.761,150.756],[-8.72,150.758],[-8.71,150.758],[-8.659,150.761],[-8.64,150.762],[-8.602,150.764],[-8.586,150.765],[-8.534,150.769],[-8.52,150.769],[-8.48,150.771],[-8.463,150.773],[-8.416,150.774],[-8.409,150.775],[-8.355,150.778],[-8.341,150.779],[-8.301,150.782],[-8.285,150.782],[-8.233,150.785],[-8.22,150.786],[-8.179,150.787],[-8.161,150.788],[-8.111,150.791],[-8.108,150.791],[-8.057,150.794],[-8.038,150.795],[-8,150.798],[-7.984,150.798],[-7.933,150.8],[-7.916,150.801],[-7.879,150.803],[-7.86,150.804],[-7.819,150.807],[-7.795,150.807],[-7.755,150.809],[-7.737,150.811],[-7.697,150.812],[-7.684,150.813],[-7.632,150.816],[-7.615,150.816],[-7.578,150.818],[-7.558,150.82],[-7.508,150.821],[-7.496,150.822],[-7.456,150.825],[-7.435,150.825],[-7.397,150.827],[-7.381,150.829],[-7.331,150.83],[-7.313,150.831],[-7.276,150.833],[-7.258,150.833],[-7.207,150.837],[-7.195,150.837],[-7.151,150.838],[-7.136,150.839],[-7.092,150.842],[-7.081,150.842],[-7.029,150.844],[-7.013,150.846],[-6.972,150.847],[-6.957,150.847],[-6.905,150.85],[-6.89,150.85],[-6.853,150.852],[-6.832,150.854],[-6.79,150.855],[-6.778,150.855],[-6.729,150.857],[-6.708,150.859],[-6.674,150.86],[-6.655,150.861],[-6.606,150.863],[-6.584,150.864],[-6.552,150.865],[-6.529,150.867],[-6.492,150.868],[-6.467,150.869],[-6.428,150.87],[-6.406,150.872],[-6.373,150.872],[-6.352,150.873],[-6.303,150.876],[-6.282,150.876],[-6.251,150.877],[-6.227,150.878],[-6.192,150.881],[-6.158,150.881],[-6.128,150.882],[-6.101,150.883],[-6.076,150.885],[-6.03,150.886],[-6.005,150.887],[-5.975,150.889],[-5.952,150.889],[-5.922,150.89],[-5.906,150.891],[-5.846,150.894],[-5.829,150.894],[-5.797,150.895],[-5.778,150.896],[-5.718,150.898],[-5.703,150.899],[-5.671,150.9],[-5.653,150.9],[-5.621,150.902],[-5.6,150.902],[-5.545,150.904],[-5.528,150.906],[-5.494,150.907],[-5.48,150.907],[-5.366,150.911],[-5.355,150.911],[-5.237,150.915],[-5.229,150.915],[-5.19,150.917],[-5.186,150.917],[-5.06,150.921],[-5.058,150.921],[-4.93,150.925],[-1.475,150.997],[-1.447,147.997]],"c":true}},"nm":"Path 23","mn":"ADBE Vector Shape - Group"},{"ind":23,"ty":"sh","ks":{"a":0,"k":{"i":[[3.484,0.806],[0,0],[-3.644,-0.565],[0,0]],"o":[[0,0],[3.553,0.822],[0,0],[-3.539,-0.549]],"v":[[-33.506,144.204],[-34.182,147.126],[-23.383,149.209],[-22.923,146.245]],"c":true}},"nm":"Path 24","mn":"ADBE Vector Shape - Group"},{"ind":24,"ty":"sh","ks":{"a":0,"k":{"i":[[3.332,1.308],[0,0],[-1.033,-0.38],[0,0],[-0.094,-0.034],[0,0],[-0.012,-0.005],[0,0],[-0.037,-0.014],[-0.005,-0.002],[-0.011,-0.004],[-0.005,-0.001],[-0.036,-0.013],[-0.005,-0.002],[-0.01,-0.004],[-0.005,-0.002],[-0.016,-0.006],[-0.009,-0.003],[-0.008,-0.003],[-0.009,-0.004],[-0.008,-0.003],[-0.009,-0.003],[-0.007,-0.002],[-0.018,-0.007],[-0.008,-0.003],[-0.009,-0.003],[-0.008,-0.003],[-0.005,-0.002],[-0.013,-0.005],[-0.01,-0.003],[-0.008,-0.003],[-0.009,-0.003],[-0.007,-0.003],[-0.009,-0.003],[-0.005,-0.002],[-0.019,-0.007],[-0.006,-0.002],[-0.009,-0.003],[-0.006,-0.002],[-0.014,-0.005],[0,0],[-0.018,-0.006],[-0.003,-0.001],[-0.009,-0.004],[-0.005,-0.002],[-0.036,-0.013],[-0.003,-0.001],[-0.019,-0.007],[-0.003,-0.001],[-0.018,-0.006],[-0.001,-0.001],[-0.018,-0.007],[-0.004,-0.002],[-0.014,-0.005],[-0.003,-0.001],[-0.018,-0.006],[-0.013,-0.005],[-0.005,-0.002],[-0.009,-0.003],[-0.003,-0.001],[-0.018,-0.006],[-0.001,0],[-0.018,-0.006],[-0.003,-0.001],[-0.019,-0.006],[-0.002,0],[-0.036,-0.013],[-0.003,-0.001],[-0.018,-0.006],[-0.001,0],[-0.018,-0.006],[-0.003,-0.001],[-0.019,-0.006],[-0.003,-0.001],[-0.018,-0.007],[-0.001,0],[-0.019,-0.007],[-0.001,0],[-0.019,-0.006],[-0.003,-0.001],[-0.036,-0.012],[-0.003,-0.001],[-0.018,-0.006],[-0.002,-0.001],[-0.018,-0.007],[0,0],[-0.018,-0.006],[-0.003,-0.001],[-0.019,-0.006],[-0.004,-0.001],[-0.037,-0.012],[-0.004,-0.002],[-0.009,-0.003],[-0.003,-0.001],[-0.018,-0.007],[-0.001,0],[-0.019,-0.007],[-0.004,-0.001],[-0.009,-0.003],[-0.005,-0.002],[-0.018,-0.006],[-0.003,-0.001],[-0.009,-0.003],[-0.006,-0.002],[-0.01,-0.003],[-0.004,-0.001],[-0.018,-0.006],[-0.004,-0.001],[-0.009,-0.003],[-0.007,-0.002],[-0.009,-0.003],[-0.008,-0.002],[-0.018,-0.006],[-0.008,-0.003],[-0.009,-0.003],[-0.009,-0.003],[-0.009,-0.003],[-0.009,-0.003],[-0.014,-0.005],[-0.012,-0.005],[-0.005,-0.002],[-0.01,-0.004],[-0.005,-0.001],[-0.033,-0.011],[-0.005,-0.002],[-0.01,-0.003],[-0.005,-0.002],[-0.036,-0.012],[-0.005,-0.002],[-0.012,-0.004],[0,0],[-0.039,-0.013],[0,0],[-1.015,-0.315],[0,0]],"o":[[0,0],[1.023,0.401],[0,0],[0.093,0.034],[0,0],[0.013,0.005],[0,0],[0.037,0.014],[0.005,0.001],[0.011,0.004],[0.005,0.002],[0.036,0.013],[0.005,0.002],[0.011,0.003],[0.005,0.002],[0.016,0.005],[0.009,0.003],[0.007,0.003],[0.009,0.003],[0.008,0.003],[0.009,0.003],[0.008,0.003],[0.018,0.007],[0.008,0.003],[0.009,0.004],[0.009,0.003],[0.005,0.002],[0.013,0.005],[0.01,0.003],[0.007,0.003],[0.009,0.003],[0.007,0.003],[0.009,0.003],[0.006,0.002],[0.019,0.006],[0.006,0.002],[0.009,0.004],[0.005,0.002],[0.013,0.005],[0,0],[0.018,0.007],[0.004,0.001],[0.009,0.003],[0.005,0.001],[0.036,0.013],[0.004,0.001],[0.019,0.006],[0.003,0.001],[0.019,0.006],[0.001,0],[0.018,0.006],[0.004,0.001],[0.014,0.005],[0.003,0.001],[0.018,0.006],[0.014,0.005],[0.006,0.002],[0.009,0.003],[0.003,0.001],[0.018,0.007],[0.001,0.001],[0.018,0.007],[0.003,0.001],[0.018,0.007],[0.002,0.001],[0.037,0.013],[0.003,0.001],[0.018,0.007],[0.001,0.001],[0.019,0.007],[0.003,0.001],[0.018,0.006],[0.003,0.001],[0.018,0.006],[0.001,0],[0.018,0.007],[0.001,0],[0.018,0.007],[0.003,0.001],[0.037,0.013],[0.003,0.001],[0.018,0.006],[0.003,0.001],[0.018,0.006],[0.001,0],[0.018,0.006],[0.004,0.002],[0.018,0.006],[0.003,0.001],[0.036,0.013],[0.004,0.002],[0.009,0.003],[0.004,0.002],[0.019,0.006],[0.001,0],[0.018,0.007],[0.004,0.001],[0.009,0.003],[0.005,0.001],[0.018,0.006],[0.003,0.001],[0.009,0.003],[0.006,0.002],[0.009,0.003],[0.004,0.002],[0.019,0.007],[0.004,0.001],[0.01,0.004],[0.007,0.003],[0.009,0.003],[0.007,0.002],[0.018,0.006],[0.008,0.003],[0.009,0.003],[0.009,0.003],[0.01,0.003],[0.009,0.003],[0.013,0.004],[0.013,0.004],[0.005,0.001],[0.01,0.003],[0.005,0.001],[0.033,0.012],[0.005,0.002],[0.01,0.003],[0.005,0.002],[0.036,0.012],[0.004,0.001],[0.012,0.004],[0,0],[0.039,0.013],[0,0],[1.007,0.335],[0,0],[-3.417,-1.059]],"v":[[-54.081,137.826],[-55.177,140.619],[-52.092,141.791],[-52.091,141.791],[-51.811,141.894],[-51.809,141.894],[-51.771,141.908],[-51.767,141.91],[-51.656,141.95],[-51.645,141.954],[-51.612,141.967],[-51.602,141.969],[-51.495,142.008],[-51.483,142.014],[-51.451,142.024],[-51.438,142.029],[-51.391,142.046],[-51.365,142.055],[-51.342,142.064],[-51.317,142.074],[-51.292,142.083],[-51.268,142.09],[-51.246,142.098],[-51.203,142.114],[-51.179,142.122],[-51.155,142.131],[-51.13,142.14],[-51.108,142.148],[-51.069,142.162],[-51.04,142.173],[-51.018,142.18],[-50.99,142.191],[-50.969,142.199],[-50.938,142.209],[-50.922,142.215],[-50.876,142.231],[-50.858,142.238],[-50.825,142.249],[-50.808,142.256],[-50.762,142.273],[-50.761,142.273],[-50.711,142.29],[-50.7,142.294],[-50.661,142.308],[-50.646,142.313],[-50.548,142.348],[-50.537,142.352],[-50.494,142.368],[-50.486,142.37],[-50.435,142.389],[-50.433,142.389],[-50.385,142.407],[-50.373,142.411],[-50.332,142.424],[-50.322,142.428],[-50.271,142.446],[-50.224,142.463],[-50.208,142.468],[-50.169,142.482],[-50.159,142.485],[-50.108,142.503],[-50.105,142.505],[-50.057,142.521],[-50.048,142.524],[-50.002,142.54],[-49.997,142.542],[-49.893,142.579],[-49.885,142.581],[-49.837,142.598],[-49.834,142.6],[-49.782,142.618],[-49.774,142.62],[-49.73,142.635],[-49.721,142.639],[-49.672,142.657],[-49.67,142.657],[-49.617,142.675],[-49.613,142.676],[-49.566,142.692],[-49.558,142.695],[-49.455,142.731],[-49.447,142.734],[-49.402,142.749],[-49.395,142.752],[-49.344,142.77],[-49.343,142.77],[-49.292,142.787],[-49.282,142.791],[-49.24,142.805],[-49.229,142.809],[-49.129,142.843],[-49.116,142.848],[-49.077,142.861],[-49.066,142.865],[-49.015,142.883],[-49.013,142.883],[-48.965,142.9],[-48.952,142.904],[-48.915,142.917],[-48.9,142.923],[-48.852,142.938],[-48.843,142.941],[-48.803,142.955],[-48.786,142.962],[-48.749,142.973],[-48.738,142.977],[-48.689,142.994],[-48.676,142.998],[-48.64,143.01],[-48.62,143.018],[-48.592,143.027],[-48.57,143.035],[-48.527,143.049],[-48.503,143.057],[-48.48,143.066],[-48.453,143.075],[-48.431,143.081],[-48.406,143.09],[-48.374,143.101],[-48.336,143.114],[-48.317,143.12],[-48.288,143.131],[-48.271,143.135],[-48.171,143.169],[-48.154,143.175],[-48.123,143.186],[-48.109,143.191],[-48.002,143.226],[-47.993,143.23],[-47.957,143.242],[-47.953,143.243],[-47.836,143.282],[-47.832,143.283],[-44.799,144.258],[-43.91,141.394]],"c":true}},"nm":"Path 25","mn":"ADBE Vector Shape - Group"},{"ind":25,"ty":"sh","ks":{"a":0,"k":{"i":[[3.106,1.78],[0,0],[-0.008,-0.005],[-0.015,-0.008],[-0.008,-0.005],[-0.021,-0.012],[-0.005,-0.003],[-0.018,-0.01],[-0.004,-0.002],[-0.022,-0.013],[-0.004,-0.003],[-0.022,-0.013],[-0.004,-0.002],[-0.048,-0.027],[-0.004,-0.003],[-1.187,-0.632],[0,0],[-0.05,-0.027],[-0.004,-0.002],[-0.048,-0.025],[-0.004,-0.002],[-0.022,-0.012],[-0.004,-0.003],[-0.023,-0.012],[-0.005,-0.003],[-0.021,-0.011],[-0.005,-0.002],[-0.022,-0.012],[-0.004,-0.002],[-0.018,-0.009],[-0.004,-0.003],[-0.02,-0.011],[-0.008,-0.004],[-0.014,-0.008],[-0.008,-0.005],[-0.019,-0.01],[-0.008,-0.004],[-0.014,-0.007],[-0.012,-0.006],[-0.015,-0.008],[-0.009,-0.005],[-0.011,-0.005],[-0.017,-0.009],[-0.01,-0.006],[-0.013,-0.006],[-0.009,-0.004],[-0.026,-0.013],[-0.007,-0.003],[-0.017,-0.009],[-0.007,-0.003],[-0.025,-0.014],[-0.004,-0.002],[-0.017,-0.008],[-0.004,-0.002],[-0.046,-0.024],[0,0],[-1.338,-0.642],[0,0]],"o":[[0,0],[0.008,0.004],[0.015,0.008],[0.008,0.005],[0.02,0.012],[0.004,0.002],[0.018,0.01],[0.004,0.003],[0.022,0.013],[0.004,0.003],[0.022,0.012],[0.004,0.002],[0.048,0.027],[0.004,0.002],[1.168,0.663],[0,0],[0.05,0.026],[0.004,0.002],[0.048,0.026],[0.004,0.003],[0.023,0.012],[0.004,0.003],[0.023,0.012],[0.004,0.002],[0.02,0.011],[0.004,0.002],[0.022,0.012],[0.004,0.002],[0.018,0.009],[0.004,0.002],[0.021,0.01],[0.009,0.004],[0.015,0.008],[0.009,0.004],[0.019,0.009],[0.008,0.004],[0.013,0.008],[0.013,0.007],[0.016,0.008],[0.009,0.005],[0.01,0.005],[0.017,0.009],[0.01,0.005],[0.013,0.006],[0.008,0.005],[0.025,0.013],[0.007,0.004],[0.017,0.009],[0.007,0.003],[0.025,0.013],[0.004,0.001],[0.017,0.009],[0.005,0.003],[0.047,0.024],[0.001,0],[1.316,0.679],[0,0],[-3.224,-1.547]],"v":[[-73.504,128.511],[-74.995,131.114],[-74.979,131.123],[-74.935,131.148],[-74.911,131.162],[-74.85,131.197],[-74.836,131.205],[-74.781,131.236],[-74.766,131.245],[-74.699,131.283],[-74.694,131.286],[-74.628,131.325],[-74.62,131.329],[-74.476,131.411],[-74.473,131.412],[-70.94,133.355],[-70.939,133.356],[-70.79,133.436],[-70.784,133.438],[-70.64,133.514],[-70.63,133.52],[-70.563,133.555],[-70.559,133.558],[-70.49,133.594],[-70.475,133.602],[-70.413,133.635],[-70.406,133.639],[-70.34,133.674],[-70.321,133.683],[-70.268,133.712],[-70.252,133.721],[-70.191,133.752],[-70.165,133.765],[-70.122,133.788],[-70.096,133.803],[-70.04,133.831],[-70.012,133.846],[-69.971,133.868],[-69.936,133.885],[-69.89,133.91],[-69.856,133.928],[-69.825,133.943],[-69.77,133.972],[-69.74,133.988],[-69.702,134.007],[-69.677,134.02],[-69.61,134.055],[-69.589,134.066],[-69.548,134.088],[-69.529,134.097],[-69.45,134.139],[-69.438,134.144],[-69.394,134.167],[-69.381,134.174],[-69.238,134.248],[-69.237,134.249],[-65.26,136.23],[-63.963,133.524]],"c":true}},"nm":"Path 26","mn":"ADBE Vector Shape - Group"},{"ind":26,"ty":"sh","ks":{"a":0,"k":{"i":[[2.816,2.211],[0,0],[-1.927,-1.372],[-0.002,-0.002],[-0.042,-0.031],[-0.004,-0.003],[-0.015,-0.011],[-0.001,-0.001],[-0.027,-0.02],[-0.006,-0.004],[-0.012,-0.008],[-0.002,-0.001],[-0.023,-0.016],[-0.007,-0.005],[-0.012,-0.009],[-0.011,-0.008],[-0.016,-0.011],[-0.01,-0.007],[-0.012,-0.008],[-0.016,-0.012],[-0.012,-0.009],[-0.01,-0.008],[-0.011,-0.008],[-0.017,-0.012],[-0.008,-0.005],[-0.013,-0.009],[-0.008,-0.005],[-0.018,-0.013],[-0.012,-0.009],[-0.014,-0.009],[-0.008,-0.006],[-0.019,-0.013],[-0.003,-0.003],[-0.016,-0.01],[-0.008,-0.005],[-0.02,-0.014],[-0.004,-0.003],[-0.018,-0.012],[-0.004,-0.003],[-0.021,-0.015],[-0.004,-0.003],[-0.021,-0.014],[-0.004,-0.002],[-0.022,-0.015],[-0.004,-0.003],[-0.044,-0.031],[0,0],[-0.045,-0.031],[0,0],[-0.046,-0.032],[0,0],[-0.047,-0.032],[0,0],[-0.381,-0.256],[0,0]],"o":[[0,0],[1.857,1.459],[0.002,0.002],[0.043,0.03],[0.005,0.003],[0.016,0.011],[0.002,0.001],[0.027,0.019],[0.006,0.004],[0.011,0.008],[0.002,0.002],[0.024,0.017],[0.007,0.005],[0.011,0.008],[0.011,0.008],[0.015,0.011],[0.009,0.007],[0.011,0.008],[0.016,0.011],[0.012,0.008],[0.01,0.007],[0.012,0.008],[0.018,0.013],[0.008,0.005],[0.013,0.009],[0.008,0.005],[0.017,0.013],[0.012,0.008],[0.013,0.009],[0.007,0.005],[0.018,0.013],[0.004,0.003],[0.016,0.011],[0.007,0.006],[0.02,0.014],[0.004,0.003],[0.018,0.013],[0.004,0.003],[0.021,0.015],[0.004,0.003],[0.02,0.014],[0.004,0.003],[0.022,0.015],[0.004,0.003],[0.044,0.031],[0,0],[0.046,0.031],[0,0],[0.046,0.032],[0,0],[0.047,0.032],[0,0],[0.378,0.26],[0,0],[-2.966,-2]],"v":[[-91.37,116.469],[-93.222,118.829],[-87.546,123.075],[-87.539,123.081],[-87.411,123.173],[-87.398,123.182],[-87.357,123.21],[-87.353,123.213],[-87.274,123.269],[-87.256,123.282],[-87.218,123.308],[-87.211,123.313],[-87.136,123.367],[-87.115,123.381],[-87.08,123.407],[-87.047,123.429],[-87,123.463],[-86.972,123.482],[-86.941,123.505],[-86.892,123.54],[-86.862,123.561],[-86.831,123.583],[-86.803,123.601],[-86.751,123.639],[-86.725,123.657],[-86.687,123.683],[-86.663,123.7],[-86.61,123.738],[-86.584,123.756],[-86.545,123.782],[-86.524,123.798],[-86.468,123.837],[-86.447,123.851],[-86.4,123.883],[-86.385,123.894],[-86.325,123.937],[-86.309,123.947],[-86.254,123.985],[-86.246,123.992],[-86.183,124.036],[-86.17,124.044],[-86.109,124.087],[-86.106,124.088],[-86.041,124.133],[-86.03,124.141],[-85.898,124.234],[-85.892,124.238],[-85.756,124.331],[-85.751,124.334],[-85.613,124.43],[-85.611,124.432],[-85.471,124.527],[-85.47,124.528],[-84.332,125.303],[-82.656,122.816]],"c":true}},"nm":"Path 27","mn":"ADBE Vector Shape - Group"},{"ind":27,"ty":"sh","ks":{"a":0,"k":{"i":[[2.467,2.594],[0,0],[-0.541,-0.552],[-0.003,-0.003],[-0.039,-0.039],[0,0],[-0.038,-0.039],[-0.003,-0.003],[-0.038,-0.037],[0,0],[-0.037,-0.038],[-0.004,-0.004],[-0.018,-0.018],[-0.004,-0.003],[-0.016,-0.016],[-0.003,-0.004],[-0.018,-0.017],[-0.003,-0.003],[-0.015,-0.015],[-0.006,-0.007],[-0.016,-0.017],[-0.007,-0.006],[-0.012,-0.012],[-0.007,-0.007],[-0.016,-0.016],[-0.007,-0.007],[-0.011,-0.011],[-0.01,-0.01],[-0.015,-0.015],[-0.007,-0.007],[-0.01,-0.01],[-0.01,-0.01],[-0.015,-0.015],[-0.01,-0.01],[-0.008,-0.008],[-0.01,-0.01],[-0.004,-0.004],[-0.02,-0.02],[-0.005,-0.005],[-0.033,-0.034],[-0.004,-0.004],[-0.037,-0.037],[-0.002,-0.002],[-1.602,-1.458],[0,0]],"o":[[0,0],[0.533,0.56],[0.003,0.004],[0.039,0.04],[0,0],[0.038,0.038],[0.003,0.003],[0.037,0.038],[0,0],[0.037,0.037],[0.003,0.003],[0.018,0.018],[0.003,0.004],[0.016,0.017],[0.004,0.004],[0.018,0.017],[0.003,0.004],[0.015,0.015],[0.007,0.007],[0.017,0.016],[0.007,0.007],[0.012,0.012],[0.006,0.007],[0.016,0.015],[0.007,0.007],[0.01,0.011],[0.01,0.01],[0.015,0.015],[0.006,0.006],[0.009,0.01],[0.01,0.01],[0.015,0.014],[0.01,0.01],[0.008,0.007],[0.01,0.01],[0.004,0.004],[0.02,0.02],[0.005,0.005],[0.033,0.033],[0.004,0.003],[0.037,0.037],[0.002,0.002],[1.538,1.524],[0,0],[-2.648,-2.409]],"v":[[-107.308,101.969],[-109.482,104.036],[-107.871,105.704],[-107.869,105.708],[-107.752,105.826],[-107.747,105.831],[-107.633,105.947],[-107.625,105.955],[-107.513,106.068],[-107.504,106.079],[-107.393,106.191],[-107.382,106.201],[-107.328,106.256],[-107.323,106.26],[-107.274,106.311],[-107.261,106.325],[-107.208,106.376],[-107.199,106.386],[-107.155,106.43],[-107.139,106.447],[-107.09,106.497],[-107.072,106.514],[-107.036,106.549],[-107.016,106.57],[-106.969,106.618],[-106.949,106.637],[-106.917,106.669],[-106.895,106.691],[-106.849,106.738],[-106.826,106.76],[-106.797,106.79],[-106.773,106.814],[-106.729,106.857],[-106.702,106.885],[-106.679,106.907],[-106.65,106.937],[-106.638,106.949],[-106.577,107.01],[-106.562,107.024],[-106.455,107.131],[-106.443,107.143],[-106.331,107.253],[-106.325,107.26],[-101.62,111.727],[-99.601,109.508]],"c":true}},"nm":"Path 28","mn":"ADBE Vector Shape - Group"},{"ind":28,"ty":"sh","ks":{"a":0,"k":{"i":[[2.065,2.921],[0,0],[-0.841,-1.123],[0,0],[-0.033,-0.045],[0,0],[-0.033,-0.044],[0,0],[-0.032,-0.043],[0,0],[-0.032,-0.043],[-0.003,-0.004],[-0.032,-0.041],[-0.002,-0.004],[-0.016,-0.021],[-0.003,-0.004],[-0.014,-0.018],[-0.003,-0.003],[-0.015,-0.02],[-0.002,-0.004],[-0.013,-0.017],[-0.003,-0.003],[-0.015,-0.019],[-0.005,-0.007],[-0.012,-0.016],[-0.003,-0.004],[-0.014,-0.019],[-0.006,-0.008],[-0.012,-0.015],[-0.003,-0.004],[-0.015,-0.019],[-0.006,-0.007],[-0.011,-0.015],[-0.003,-0.004],[-0.014,-0.019],[-0.006,-0.007],[-0.011,-0.014],[-0.006,-0.008],[-0.014,-0.018],[-0.006,-0.008],[-0.01,-0.012],[-0.006,-0.008],[-0.014,-0.018],[-0.006,-0.008],[-0.009,-0.012],[-0.006,-0.007],[-0.013,-0.017],[-0.009,-0.011],[-0.009,-0.013],[-0.005,-0.008],[-0.013,-0.017],[-0.005,-0.007],[-0.009,-0.011],[-0.006,-0.008],[-0.012,-0.015],[-0.008,-0.011],[-0.008,-0.011],[-0.012,-0.015],[-0.009,-0.011],[-0.006,-0.008],[-0.008,-0.01],[-0.012,-0.015],[-0.009,-0.01],[-0.006,-0.007],[-0.008,-0.01],[-0.011,-0.015],[-0.008,-0.01],[-0.005,-0.007],[-0.007,-0.009],[-0.012,-0.015],[-0.006,-0.008],[-0.009,-0.011],[-0.007,-0.008],[-0.012,-0.015],[-0.008,-0.008],[-0.009,-0.011],[0,0],[-0.015,-0.019],[-0.005,-0.006],[-0.008,-0.011],[-0.004,-0.005],[-0.017,-0.022],[-0.004,-0.005],[-0.008,-0.012],[-0.002,-0.002],[-0.02,-0.026],[-0.004,-0.004],[-0.032,-0.041],[-0.004,-0.005],[-0.035,-0.044],[-0.003,-0.003],[-0.036,-0.044],[-0.002,-0.003],[-0.071,-0.089],[0,-0.001],[-0.41,-0.5],[0,0]],"o":[[0,0],[0.81,1.148],[0,0],[0.034,0.044],[0,0],[0.033,0.044],[0,0],[0.032,0.043],[0,0],[0.032,0.043],[0.003,0.003],[0.032,0.042],[0.003,0.004],[0.016,0.02],[0.002,0.003],[0.014,0.018],[0.003,0.004],[0.015,0.02],[0.003,0.004],[0.013,0.017],[0.003,0.004],[0.015,0.019],[0.006,0.008],[0.012,0.016],[0.003,0.004],[0.014,0.019],[0.006,0.008],[0.012,0.015],[0.003,0.004],[0.014,0.018],[0.005,0.007],[0.011,0.015],[0.003,0.004],[0.014,0.018],[0.006,0.007],[0.011,0.015],[0.006,0.008],[0.014,0.018],[0.006,0.007],[0.009,0.012],[0.006,0.008],[0.014,0.017],[0.005,0.007],[0.009,0.012],[0.006,0.007],[0.013,0.018],[0.009,0.011],[0.009,0.012],[0.006,0.007],[0.014,0.017],[0.006,0.008],[0.009,0.012],[0.005,0.008],[0.012,0.015],[0.009,0.011],[0.008,0.01],[0.012,0.014],[0.008,0.011],[0.006,0.007],[0.008,0.009],[0.012,0.015],[0.008,0.01],[0.005,0.008],[0.008,0.01],[0.011,0.015],[0.008,0.01],[0.006,0.007],[0.007,0.009],[0.012,0.014],[0.006,0.008],[0.009,0.011],[0.007,0.008],[0.011,0.015],[0.007,0.009],[0.008,0.012],[0,0],[0.014,0.019],[0.005,0.006],[0.009,0.011],[0.005,0.005],[0.018,0.023],[0.005,0.005],[0.009,0.011],[0.002,0.001],[0.02,0.026],[0.003,0.004],[0.032,0.041],[0.003,0.004],[0.035,0.044],[0.003,0.003],[0.035,0.045],[0.001,0.002],[0.07,0.088],[0,0],[0.404,0.505],[0,0],[-2.272,-2.767]],"v":[[-120.986,85.321],[-123.435,87.052],[-120.957,90.458],[-120.956,90.46],[-120.855,90.594],[-120.851,90.599],[-120.752,90.731],[-120.747,90.737],[-120.65,90.867],[-120.643,90.875],[-120.547,91.003],[-120.539,91.013],[-120.444,91.138],[-120.435,91.151],[-120.388,91.212],[-120.382,91.22],[-120.341,91.274],[-120.33,91.288],[-120.285,91.348],[-120.277,91.359],[-120.238,91.41],[-120.226,91.425],[-120.182,91.483],[-120.171,91.498],[-120.135,91.546],[-120.121,91.563],[-120.078,91.619],[-120.066,91.635],[-120.031,91.68],[-120.017,91.699],[-119.974,91.755],[-119.961,91.772],[-119.927,91.817],[-119.913,91.835],[-119.87,91.891],[-119.856,91.91],[-119.823,91.952],[-119.808,91.971],[-119.767,92.025],[-119.749,92.048],[-119.72,92.085],[-119.703,92.108],[-119.662,92.161],[-119.644,92.184],[-119.616,92.221],[-119.598,92.243],[-119.559,92.296],[-119.539,92.32],[-119.511,92.357],[-119.494,92.38],[-119.454,92.43],[-119.434,92.456],[-119.406,92.492],[-119.386,92.518],[-119.35,92.564],[-119.328,92.593],[-119.304,92.624],[-119.271,92.665],[-119.245,92.699],[-119.222,92.729],[-119.199,92.758],[-119.165,92.802],[-119.14,92.833],[-119.117,92.863],[-119.093,92.893],[-119.058,92.939],[-119.035,92.968],[-119.011,92.999],[-118.99,93.026],[-118.95,93.076],[-118.931,93.102],[-118.905,93.134],[-118.885,93.16],[-118.845,93.21],[-118.824,93.236],[-118.799,93.27],[-118.781,93.291],[-118.736,93.349],[-118.721,93.368],[-118.693,93.404],[-118.68,93.421],[-118.629,93.485],[-118.616,93.501],[-118.586,93.54],[-118.581,93.546],[-118.521,93.621],[-118.511,93.633],[-118.415,93.755],[-118.405,93.768],[-118.308,93.89],[-118.3,93.899],[-118.2,94.025],[-118.195,94.033],[-117.986,94.294],[-117.985,94.296],[-116.767,95.798],[-114.449,93.893]],"c":true}},"nm":"Path 29","mn":"ADBE Vector Shape - Group"},{"ind":29,"ty":"sh","ks":{"a":0,"k":{"i":[[1.618,3.19],[0,0],[-0.004,-0.008],[-0.006,-0.012],[-0.007,-0.013],[-0.005,-0.01],[-0.011,-0.021],[-0.004,-0.008],[-0.006,-0.013],[-0.004,-0.008],[-0.013,-0.026],[-0.003,-0.006],[-0.007,-0.012],[-0.004,-0.007],[-0.013,-0.026],[-0.003,-0.006],[-0.007,-0.013],[-0.003,-0.005],[-0.024,-0.047],[-0.002,-0.004],[-0.024,-0.047],[-0.002,-0.002],[-0.026,-0.051],[-0.001,-0.002],[-1.365,-2.325],[0,0],[-0.029,-0.049],[-0.001,-0.001],[-0.01,-0.016],[-0.001,-0.002],[-0.02,-0.032],[-0.001,-0.002],[-0.009,-0.016],[-0.002,-0.002],[-0.017,-0.028],[-0.003,-0.005],[-0.01,-0.017],[-0.003,-0.005],[-0.014,-0.024],[-0.004,-0.006],[-0.01,-0.017],[-0.003,-0.006],[-0.014,-0.025],[-0.005,-0.008],[-0.007,-0.013],[-0.006,-0.009],[-0.012,-0.02],[-0.005,-0.008],[-0.008,-0.012],[-0.006,-0.01],[-0.009,-0.016],[-0.006,-0.011],[-0.007,-0.012],[-0.01,-0.016],[-0.007,-0.012],[-0.008,-0.013],[-0.005,-0.008],[-0.011,-0.018],[-0.005,-0.008],[-0.009,-0.014],[-0.004,-0.008],[-0.012,-0.02],[-0.005,-0.008],[-0.009,-0.015],[-0.005,-0.008],[0,0]],"o":[[0,0],[0.004,0.008],[0.006,0.012],[0.006,0.012],[0.005,0.01],[0.011,0.021],[0.004,0.009],[0.007,0.013],[0.004,0.007],[0.013,0.025],[0.002,0.005],[0.006,0.012],[0.003,0.007],[0.013,0.025],[0.003,0.005],[0.007,0.013],[0.003,0.005],[0.024,0.047],[0.002,0.004],[0.024,0.046],[0.001,0.003],[0.026,0.051],[0.001,0.001],[1.242,2.402],[0,0.001],[0.029,0.049],[0.001,0.001],[0.009,0.016],[0.001,0.001],[0.019,0.032],[0.001,0.003],[0.01,0.017],[0.002,0.002],[0.016,0.029],[0.003,0.005],[0.009,0.016],[0.002,0.004],[0.014,0.024],[0.004,0.006],[0.009,0.016],[0.003,0.005],[0.015,0.024],[0.005,0.007],[0.007,0.012],[0.005,0.009],[0.012,0.02],[0.005,0.009],[0.007,0.012],[0.006,0.01],[0.01,0.016],[0.007,0.011],[0.007,0.012],[0.009,0.016],[0.007,0.012],[0.008,0.013],[0.005,0.008],[0.011,0.019],[0.005,0.008],[0.009,0.015],[0.005,0.008],[0.012,0.02],[0.005,0.008],[0.009,0.015],[0.005,0.008],[0,0],[-1.848,-3.067]],"v":[[-132.107,66.869],[-134.782,68.227],[-134.768,68.255],[-134.75,68.29],[-134.732,68.326],[-134.717,68.355],[-134.686,68.416],[-134.673,68.442],[-134.653,68.482],[-134.641,68.505],[-134.603,68.579],[-134.595,68.595],[-134.574,68.635],[-134.563,68.658],[-134.526,68.731],[-134.517,68.748],[-134.495,68.79],[-134.487,68.806],[-134.416,68.945],[-134.41,68.957],[-134.336,69.099],[-134.332,69.106],[-134.257,69.253],[-134.255,69.257],[-130.345,76.345],[-130.344,76.347],[-130.259,76.492],[-130.257,76.495],[-130.229,76.542],[-130.227,76.546],[-130.174,76.635],[-130.17,76.643],[-130.143,76.689],[-130.138,76.696],[-130.09,76.777],[-130.081,76.793],[-130.056,76.835],[-130.048,76.849],[-130.005,76.923],[-129.993,76.941],[-129.969,76.982],[-129.96,76.998],[-129.919,77.067],[-129.905,77.09],[-129.883,77.127],[-129.867,77.153],[-129.832,77.212],[-129.817,77.237],[-129.795,77.274],[-129.777,77.305],[-129.747,77.355],[-129.728,77.387],[-129.709,77.418],[-129.681,77.465],[-129.662,77.497],[-129.638,77.537],[-129.622,77.564],[-129.588,77.62],[-129.575,77.643],[-129.549,77.686],[-129.535,77.709],[-129.499,77.768],[-129.488,77.787],[-129.46,77.833],[-129.452,77.846],[-126.883,76.298]],"c":true}},"nm":"Path 30","mn":"ADBE Vector Shape - Group"},{"ind":30,"ty":"sh","ks":{"a":0,"k":{"i":[[1.135,3.393],[0,0],[-0.004,-0.014],[-0.001,-0.001],[-0.019,-0.055],[-0.001,-0.003],[-0.017,-0.05],[-0.002,-0.005],[-0.006,-0.019],[-0.001,-0.002],[-0.011,-0.032],[-0.002,-0.007],[-0.006,-0.019],[-0.002,-0.004],[-0.009,-0.027],[-0.003,-0.008],[-0.005,-0.014],[-0.003,-0.008],[-0.008,-0.022],[-0.003,-0.009],[-0.005,-0.014],[-0.003,-0.011],[-0.006,-0.018],[-0.004,-0.012],[-0.004,-0.009],[-0.005,-0.012],[-0.007,-0.018],[-0.004,-0.013],[-0.003,-0.009],[-0.005,-0.014],[-0.006,-0.018],[-0.005,-0.015],[-0.003,-0.009],[-0.006,-0.016],[-0.004,-0.009],[-0.006,-0.017],[-0.003,-0.009],[-0.007,-0.018],[-0.003,-0.009],[-0.007,-0.02],[-0.003,-0.009],[-0.007,-0.021],[-0.002,-0.005],[-0.008,-0.024],[-0.003,-0.01],[-0.007,-0.021],[-0.002,-0.005],[-0.008,-0.024],[-0.001,-0.005],[-0.008,-0.023],[0,0],[-0.009,-0.025],[-0.002,-0.004],[-0.009,-0.025],[-0.001,-0.005],[-0.01,-0.026],[-0.002,-0.005],[-0.018,-0.051],[-0.002,-0.005],[-0.018,-0.052],[-0.002,-0.005],[-1.047,-2.502],[0,0]],"o":[[0,0],[0.005,0.014],[0.001,0.001],[0.018,0.055],[0.001,0.003],[0.016,0.051],[0.001,0.005],[0.006,0.018],[0.001,0.002],[0.011,0.032],[0.002,0.006],[0.006,0.018],[0.002,0.004],[0.009,0.028],[0.003,0.008],[0.005,0.014],[0.002,0.009],[0.008,0.023],[0.003,0.01],[0.005,0.014],[0.004,0.011],[0.007,0.019],[0.004,0.012],[0.003,0.009],[0.004,0.013],[0.006,0.019],[0.004,0.013],[0.004,0.009],[0.005,0.014],[0.006,0.018],[0.005,0.015],[0.003,0.009],[0.006,0.016],[0.003,0.009],[0.006,0.017],[0.003,0.009],[0.006,0.018],[0.003,0.01],[0.007,0.02],[0.003,0.009],[0.007,0.022],[0.002,0.005],[0.008,0.024],[0.004,0.009],[0.007,0.02],[0.002,0.004],[0.008,0.024],[0.002,0.004],[0.009,0.024],[0,0],[0.009,0.026],[0.001,0.005],[0.008,0.025],[0.001,0.004],[0.009,0.025],[0.001,0.004],[0.018,0.051],[0.002,0.005],[0.018,0.052],[0.002,0.005],[0.913,2.568],[0,0],[-1.382,-3.302]],"v":[[-140.421,46.997],[-143.266,47.949],[-143.252,47.992],[-143.25,47.996],[-143.197,48.154],[-143.194,48.162],[-143.143,48.314],[-143.138,48.33],[-143.122,48.378],[-143.12,48.384],[-143.089,48.477],[-143.082,48.495],[-143.067,48.541],[-143.062,48.554],[-143.034,48.637],[-143.026,48.661],[-143.011,48.703],[-143.003,48.729],[-142.979,48.798],[-142.97,48.826],[-142.956,48.865],[-142.945,48.899],[-142.925,48.957],[-142.913,48.992],[-142.9,49.028],[-142.887,49.066],[-142.869,49.118],[-142.857,49.156],[-142.845,49.19],[-142.83,49.232],[-142.815,49.277],[-142.799,49.322],[-142.789,49.352],[-142.772,49.401],[-142.76,49.434],[-142.742,49.486],[-142.733,49.513],[-142.714,49.567],[-142.706,49.592],[-142.685,49.651],[-142.677,49.674],[-142.655,49.738],[-142.652,49.745],[-142.628,49.816],[-142.621,49.836],[-142.599,49.898],[-142.595,49.91],[-142.57,49.981],[-142.565,49.996],[-142.54,50.067],[-142.539,50.069],[-142.512,50.145],[-142.508,50.156],[-142.482,50.23],[-142.482,50.232],[-142.454,50.309],[-142.451,50.318],[-142.397,50.471],[-142.394,50.48],[-142.339,50.636],[-142.337,50.639],[-139.396,58.244],[-136.628,57.086]],"c":true}},"nm":"Path 31","mn":"ADBE Vector Shape - Group"},{"ind":31,"ty":"sh","ks":{"a":0,"k":{"i":[[0.628,3.525],[0,0],[-0.133,-0.692],[0,0],[-0.007,-0.04],[-0.001,-0.005],[-0.002,-0.012],[-0.001,-0.005],[-0.005,-0.023],[0,0],[-0.002,-0.01],[-0.002,-0.009],[-0.002,-0.011],[-0.001,-0.005],[-0.003,-0.014],[-0.002,-0.01],[-0.002,-0.008],[-0.001,-0.01],[-0.002,-0.007],[-0.002,-0.01],[-0.001,-0.007],[-0.002,-0.009],[-0.002,-0.006],[-0.002,-0.009],[-0.001,-0.005],[-0.004,-0.019],[-0.001,-0.005],[-0.002,-0.01],[-0.002,-0.006],[-0.003,-0.014],[-0.001,-0.003],[-0.004,-0.019],[0,-0.003],[-0.003,-0.019],[0,-0.002],[-0.008,-0.038],[-0.001,-0.003],[-0.004,-0.019],[0,-0.002],[-0.007,-0.038],[0,-0.003],[-0.012,-0.058],[0,0],[-0.61,-2.396],[0,0]],"o":[[0,0],[0.123,0.695],[0,0],[0.008,0.04],[0.001,0.005],[0.002,0.012],[0.001,0.005],[0.005,0.023],[0,0],[0.002,0.01],[0.002,0.009],[0.002,0.01],[0.001,0.004],[0.003,0.014],[0.002,0.01],[0.001,0.008],[0.001,0.01],[0.002,0.007],[0.001,0.01],[0.001,0.007],[0.002,0.01],[0.001,0.006],[0.002,0.01],[0.001,0.005],[0.004,0.02],[0.001,0.005],[0.002,0.01],[0.001,0.006],[0.002,0.015],[0.001,0.003],[0.004,0.019],[0.001,0.004],[0.004,0.02],[0.001,0.003],[0.008,0.039],[0,0.003],[0.003,0.02],[0.001,0.002],[0.008,0.039],[0.001,0.003],[0.012,0.058],[0,0],[0.494,2.44],[0,0],[-0.883,-3.465]],"v":[[-145.74,26.123],[-148.693,26.649],[-148.308,28.729],[-148.308,28.73],[-148.285,28.849],[-148.283,28.859],[-148.276,28.895],[-148.274,28.908],[-148.26,28.977],[-148.259,28.983],[-148.253,29.013],[-148.249,29.033],[-148.243,29.064],[-148.239,29.084],[-148.231,29.126],[-148.225,29.156],[-148.22,29.18],[-148.215,29.21],[-148.21,29.231],[-148.202,29.274],[-148.198,29.296],[-148.191,29.33],[-148.187,29.348],[-148.18,29.386],[-148.177,29.401],[-148.167,29.451],[-148.164,29.465],[-148.157,29.503],[-148.153,29.52],[-148.145,29.563],[-148.143,29.572],[-148.133,29.624],[-148.131,29.634],[-148.122,29.68],[-148.12,29.688],[-148.098,29.798],[-148.096,29.806],[-148.087,29.855],[-148.086,29.86],[-148.064,29.969],[-148.062,29.979],[-148.028,30.147],[-148.028,30.147],[-146.371,37.399],[-143.463,36.658]],"c":true}},"nm":"Path 32","mn":"ADBE Vector Shape - Group"},{"ind":32,"ty":"sh","ks":{"a":0,"k":{"i":[[0.111,3.585],[0,0],[-0.341,-3.423],[0,-0.001],[-0.004,-0.04],[0,-0.003],[-0.002,-0.02],[0,-0.004],[-0.002,-0.02],[-0.001,-0.004],[-0.001,-0.009],[-0.001,-0.006],[-0.002,-0.01],[-0.001,-0.005],[-0.002,-0.015],[-0.001,-0.008],[-0.001,-0.01],[-0.001,-0.008],[-0.001,-0.01],[-0.001,-0.015],[0,-0.005],[-0.001,-0.01],[0,0],[0,0]],"o":[[0,0],[0.109,3.486],[0,0.001],[0.004,0.04],[0.001,0.002],[0.002,0.02],[0,0.003],[0.002,0.02],[0.001,0.005],[0.001,0.01],[0,0.007],[0.001,0.01],[0,0.005],[0.001,0.015],[0.001,0.007],[0.001,0.01],[0.001,0.008],[0.001,0.01],[0.001,0.015],[0.001,0.005],[0.001,0.01],[0,0],[0,0],[-0.368,-3.553]],"v":[[-147.964,4.693],[-150.963,4.786],[-150.287,15.143],[-150.287,15.146],[-150.276,15.261],[-150.275,15.268],[-150.27,15.316],[-150.269,15.327],[-150.264,15.38],[-150.262,15.393],[-150.258,15.432],[-150.256,15.451],[-150.252,15.49],[-150.251,15.505],[-150.246,15.553],[-150.244,15.576],[-150.241,15.604],[-150.238,15.63],[-150.235,15.658],[-150.231,15.703],[-150.229,15.723],[-150.225,15.755],[-150.225,15.759],[-147.241,15.451]],"c":true}},"nm":"Path 33","mn":"ADBE Vector Shape - Group"},{"ind":33,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.022,-0.208],[0,-0.001],[0.004,-0.04],[0.001,-0.001],[0.002,-0.02],[0,-0.003],[0.004,-0.04],[0,-0.004],[0.002,-0.02],[0,-0.001],[0.002,-0.02],[0,-0.005],[0.001,-0.01],[0,-0.006],[0.003,-0.02],[0.001,-0.005],[0.001,-0.01],[0,-0.007],[0.001,-0.01],[0.001,-0.008],[0.002,-0.015],[0.001,-0.007],[0.001,-0.01],[0.001,-0.008],[0.001,-0.01],[0.001,-0.012],[0.002,-0.01],[0.001,-0.01],[0.001,-0.005],[0.001,-0.018],[0,-0.005],[0.001,-0.011],[0.001,-0.01],[0.002,-0.011],[0,0],[0.003,-0.024],[0.001,-0.005],[0.001,-0.012],[0,-0.005],[0.004,-0.04],[0,0],[0.004,-0.041],[0,0],[0.001,-0.014],[0.001,-0.005],[0.004,-0.041],[0,0],[0.004,-0.041],[0.001,-0.005],[0.006,-0.056],[0,0],[0.005,-0.056],[0,-0.005],[0.004,-0.042],[0,0],[0.056,-0.699],[0,0],[0.005,-0.058],[0.004,-0.042],[0,0],[0.004,-0.057],[0,0],[0.004,-0.042],[0,0],[0.005,-0.056],[0,0],[0.003,-0.041],[0,0],[0.004,-0.056],[0,0],[0.003,-0.04],[0.001,-0.005],[0.001,-0.012],[0,0],[0.003,-0.04],[0,-0.005],[0.002,-0.039],[0,-0.005],[0.001,-0.012],[0,-0.005],[0.001,-0.025],[0,0],[0,-0.013],[0,-0.005],[0.003,-0.037],[0,-0.005],[0.001,-0.011],[0,-0.005],[0.001,-0.02],[0,-0.005],[0.001,-0.011],[0.001,-0.005],[0.002,-0.036],[0,-0.005],[0,-0.01],[0.001,-0.005],[0.001,-0.018],[0.001,-0.005],[0,-0.01],[0.001,-0.01],[0.001,-0.011],[0,0],[0.002,-0.021],[0,-0.005],[0.001,-0.011],[0,-0.005],[0.001,-0.022],[0.001,-0.005],[0.001,-0.011],[0,-0.01],[0.001,-0.01],[0,-0.005],[0.002,-0.017],[0,-0.005],[0.001,-0.009],[0,-0.005],[0.001,-0.017],[0.001,-0.005],[0.001,-0.01],[0.001,-0.01],[0.001,-0.009],[0.001,-0.01],[0.001,-0.012],[0,-0.011],[0,-0.01],[0.001,-0.01],[0.001,-0.012],[0.001,-0.01],[0.001,-0.009],[0,-0.011],[0.001,-0.008],[0.001,-0.015],[0.001,-0.007],[0,-0.01],[0.001,-0.008],[0,-0.01],[0.001,-0.014],[0.001,-0.01],[0,-0.008],[0.001,-0.01],[0,-0.01],[0.001,-0.01],[0.001,-0.012],[0.001,-0.01],[0,-0.009],[0.001,-0.01],[0.001,-0.013],[0.001,-0.01],[0,-0.009],[0.001,-0.01],[0.001,-0.009],[0.001,-0.01],[0.001,-0.012],[0,-0.01],[0.001,-0.009],[0,-0.01],[0.001,-0.015],[0,-0.005],[0.001,-0.01],[0.001,-0.01],[0,-0.01],[0.001,-0.005],[0.001,-0.017],[0,-0.005],[0.001,-0.011],[0,-0.005],[0.001,-0.019],[0,-0.005],[0,-0.011],[0,-0.01],[0,-0.011],[0.001,-0.005],[0.001,-0.021],[0,-0.005],[0,-0.01],[0,-0.005],[0.001,-0.016],[0,-0.005],[0.001,-0.009],[0.001,-0.01],[0,-0.01],[0,-0.005],[0.001,-0.02],[0.001,-0.005],[0,-0.011],[0,-0.005],[0.001,-0.037],[0,-0.006],[0.001,-0.011],[0,-0.005],[0.001,-0.022],[0,-0.005],[0.001,-0.011],[0,-0.006],[0.001,-0.025],[0,0],[0,-0.011],[0,-0.005],[0.001,-0.011],[0,-0.005],[0.001,-0.024],[0.001,-0.005],[0,-0.012],[0,-0.005],[0.002,-0.039],[0,0],[0.002,-0.041],[0,0],[0,-0.014],[0,0],[0.003,-0.085],[0,0],[-0.402,3.549]],"o":[[-0.023,0.207],[0,0.001],[-0.004,0.04],[0,0.001],[-0.002,0.019],[-0.001,0.002],[-0.004,0.039],[0,0.004],[-0.002,0.02],[0,0.001],[-0.002,0.02],[0,0.005],[-0.001,0.01],[-0.001,0.006],[-0.002,0.02],[0,0.004],[-0.001,0.01],[-0.001,0.007],[-0.001,0.01],[0,0.008],[-0.002,0.015],[0,0.007],[-0.001,0.01],[-0.001,0.008],[-0.001,0.01],[-0.002,0.012],[-0.001,0.01],[0,0.01],[0,0.004],[-0.002,0.018],[-0.001,0.005],[-0.001,0.011],[-0.001,0.01],[-0.001,0.011],[0,0],[-0.003,0.024],[0,0.005],[-0.001,0.012],[-0.001,0.005],[-0.004,0.039],[0,0],[-0.004,0.04],[0,0],[-0.002,0.014],[-0.001,0.005],[-0.004,0.041],[0,0],[-0.004,0.041],[-0.001,0.005],[-0.005,0.056],[0,0],[-0.006,0.056],[-0.001,0.005],[-0.004,0.041],[0,0],[-0.066,0.696],[0,0],[-0.004,0.057],[-0.003,0.043],[0,0],[-0.004,0.056],[0,0],[-0.003,0.042],[0,0],[-0.004,0.056],[0,0],[-0.003,0.042],[0,0],[-0.005,0.056],[0,0],[-0.003,0.04],[0,0.005],[-0.001,0.012],[0,0],[-0.003,0.04],[-0.001,0.005],[-0.003,0.039],[-0.001,0.005],[-0.001,0.012],[0,0.005],[-0.002,0.025],[0,0],[-0.001,0.012],[-0.001,0.005],[-0.003,0.037],[0,0.005],[-0.001,0.012],[-0.001,0.005],[-0.002,0.02],[-0.001,0.005],[-0.001,0.012],[0,0.005],[-0.002,0.036],[0,0.005],[-0.001,0.011],[-0.001,0.005],[-0.001,0.018],[0,0.005],[0,0.01],[-0.001,0.01],[0,0.01],[0,0],[-0.002,0.021],[0,0.005],[-0.001,0.01],[0,0.005],[-0.001,0.022],[0,0.005],[0,0.01],[0,0.01],[-0.001,0.01],[0,0.005],[-0.001,0.017],[0,0.005],[-0.001,0.009],[0,0.005],[-0.001,0.017],[-0.001,0.005],[0,0.01],[0,0.01],[0,0.009],[0,0.01],[-0.001,0.012],[-0.001,0.01],[-0.001,0.01],[-0.001,0.01],[0,0.011],[0,0.01],[0,0.009],[0,0.01],[-0.001,0.008],[-0.001,0.015],[-0.001,0.007],[0,0.01],[-0.001,0.009],[0,0.01],[-0.001,0.014],[0,0.01],[0,0.009],[-0.001,0.01],[0,0.01],[-0.001,0.01],[-0.001,0.012],[-0.001,0.01],[0,0.01],[-0.001,0.01],[0,0.013],[0,0.01],[0,0.009],[-0.001,0.01],[0,0.009],[-0.001,0.01],[-0.001,0.012],[0,0.01],[-0.001,0.009],[0,0.01],[-0.001,0.015],[0,0.005],[-0.001,0.009],[0,0.01],[0,0.011],[-0.001,0.006],[0,0.017],[0,0.005],[-0.001,0.01],[0,0.005],[-0.001,0.019],[0,0.005],[0,0.011],[-0.001,0.01],[-0.001,0.01],[0,0.005],[-0.001,0.021],[0,0.005],[0,0.01],[-0.001,0.005],[-0.001,0.016],[0,0.005],[-0.001,0.009],[0,0.01],[0,0.011],[0,0.005],[-0.001,0.02],[0,0.005],[0,0.011],[-0.001,0.005],[-0.002,0.037],[-0.001,0.005],[-0.001,0.011],[0,0.005],[-0.001,0.022],[-0.001,0.005],[0,0.012],[0,0.005],[-0.001,0.024],[0,0],[0,0.012],[-0.001,0.005],[-0.001,0.011],[0,0.005],[-0.001,0.024],[0,0.005],[0,0.013],[-0.001,0.005],[-0.001,0.039],[0,0],[-0.002,0.042],[0,0],[0,0.014],[0,0],[-0.003,0.086],[0,0],[0.145,-3.583],[0,0]],"v":[[-150.07,-17.18],[-150.138,-16.567],[-150.139,-16.562],[-150.151,-16.446],[-150.152,-16.443],[-150.157,-16.39],[-150.158,-16.383],[-150.17,-16.273],[-150.171,-16.261],[-150.177,-16.209],[-150.177,-16.208],[-150.183,-16.153],[-150.184,-16.139],[-150.188,-16.101],[-150.19,-16.084],[-150.196,-16.032],[-150.197,-16.019],[-150.201,-15.98],[-150.203,-15.96],[-150.207,-15.928],[-150.209,-15.905],[-150.214,-15.86],[-150.216,-15.839],[-150.219,-15.807],[-150.222,-15.784],[-150.225,-15.748],[-150.229,-15.711],[-150.232,-15.689],[-150.235,-15.659],[-150.237,-15.637],[-150.242,-15.583],[-150.244,-15.566],[-150.247,-15.534],[-150.249,-15.516],[-150.253,-15.482],[-150.253,-15.476],[-150.261,-15.404],[-150.262,-15.394],[-150.265,-15.357],[-150.266,-15.35],[-150.278,-15.23],[-150.279,-15.223],[-150.291,-15.101],[-150.291,-15.099],[-150.295,-15.058],[-150.296,-15.053],[-150.308,-14.93],[-150.308,-14.928],[-150.32,-14.805],[-150.321,-14.799],[-150.337,-14.633],[-150.337,-14.629],[-150.353,-14.461],[-150.353,-14.458],[-150.365,-14.333],[-150.365,-14.332],[-150.548,-12.24],[-150.548,-12.239],[-150.562,-12.068],[-150.572,-11.941],[-150.572,-11.939],[-150.585,-11.769],[-150.585,-11.767],[-150.595,-11.641],[-150.595,-11.639],[-150.608,-11.471],[-150.608,-11.465],[-150.617,-11.342],[-150.617,-11.339],[-150.63,-11.171],[-150.63,-11.166],[-150.639,-11.047],[-150.64,-11.035],[-150.642,-10.998],[-150.643,-10.993],[-150.651,-10.873],[-150.652,-10.862],[-150.66,-10.745],[-150.661,-10.736],[-150.664,-10.699],[-150.664,-10.691],[-150.669,-10.615],[-150.67,-10.61],[-150.672,-10.573],[-150.673,-10.561],[-150.681,-10.449],[-150.682,-10.434],[-150.684,-10.4],[-150.685,-10.383],[-150.689,-10.323],[-150.69,-10.309],[-150.693,-10.275],[-150.694,-10.258],[-150.701,-10.148],[-150.702,-10.133],[-150.704,-10.101],[-150.706,-10.082],[-150.709,-10.028],[-150.711,-10.006],[-150.712,-9.976],[-150.714,-9.956],[-150.716,-9.924],[-150.716,-9.916],[-150.721,-9.852],[-150.722,-9.829],[-150.724,-9.799],[-150.725,-9.782],[-150.729,-9.717],[-150.73,-9.707],[-150.732,-9.674],[-150.733,-9.654],[-150.735,-9.624],[-150.736,-9.604],[-150.74,-9.551],[-150.741,-9.529],[-150.743,-9.501],[-150.744,-9.477],[-150.747,-9.424],[-150.749,-9.405],[-150.751,-9.375],[-150.752,-9.352],[-150.754,-9.325],[-150.756,-9.288],[-150.758,-9.252],[-150.759,-9.228],[-150.761,-9.199],[-150.763,-9.174],[-150.765,-9.139],[-150.767,-9.103],[-150.769,-9.076],[-150.77,-9.049],[-150.772,-9.023],[-150.774,-8.977],[-150.776,-8.956],[-150.777,-8.924],[-150.779,-8.9],[-150.78,-8.873],[-150.783,-8.832],[-150.785,-8.801],[-150.786,-8.775],[-150.788,-8.751],[-150.789,-8.721],[-150.791,-8.689],[-150.793,-8.653],[-150.795,-8.625],[-150.796,-8.597],[-150.798,-8.572],[-150.8,-8.534],[-150.802,-8.501],[-150.803,-8.474],[-150.805,-8.447],[-150.806,-8.421],[-150.808,-8.387],[-150.81,-8.35],[-150.811,-8.323],[-150.813,-8.297],[-150.814,-8.27],[-150.817,-8.225],[-150.818,-8.199],[-150.82,-8.17],[-150.821,-8.148],[-150.822,-8.118],[-150.824,-8.094],[-150.826,-8.044],[-150.827,-8.023],[-150.829,-7.992],[-150.83,-7.973],[-150.833,-7.917],[-150.834,-7.898],[-150.835,-7.867],[-150.836,-7.847],[-150.838,-7.814],[-150.839,-7.804],[-150.842,-7.741],[-150.843,-7.722],[-150.844,-7.692],[-150.845,-7.67],[-150.848,-7.622],[-150.849,-7.595],[-150.851,-7.567],[-150.852,-7.546],[-150.853,-7.514],[-150.854,-7.499],[-150.857,-7.439],[-150.858,-7.421],[-150.859,-7.387],[-150.86,-7.372],[-150.865,-7.262],[-150.866,-7.243],[-150.868,-7.211],[-150.868,-7.2],[-150.871,-7.133],[-150.872,-7.12],[-150.874,-7.086],[-150.874,-7.069],[-150.878,-6.995],[-150.878,-6.993],[-150.879,-6.96],[-150.88,-6.943],[-150.882,-6.909],[-150.882,-6.898],[-150.885,-6.827],[-150.886,-6.819],[-150.887,-6.781],[-150.888,-6.771],[-150.893,-6.653],[-150.893,-6.644],[-150.899,-6.519],[-150.899,-6.518],[-150.9,-6.477],[-150.901,-6.473],[-150.911,-6.215],[-147.914,-6.094],[-147.089,-16.842]],"c":true}},"nm":"Path 34","mn":"ADBE Vector Shape - Group"},{"ind":34,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.531,-2.52],[0,-0.001],[0.008,-0.038],[0.001,-0.001],[0.004,-0.02],[0.001,-0.003],[0.004,-0.019],[0,-0.001],[0.004,-0.019],[0.001,-0.006],[0.002,-0.01],[0,0],[0.003,-0.014],[0.001,-0.008],[0.002,-0.01],[0.002,-0.007],[0.002,-0.009],[0.001,-0.006],[0.004,-0.019],[0.002,-0.008],[0.002,-0.009],[0.002,-0.009],[0.001,-0.005],[0.008,-0.036],[0.001,-0.004],[0.011,-0.055],[0,0],[0.144,-0.764],[0,0],[-0.916,3.457]],"o":[[-0.655,2.471],[0,0.001],[-0.008,0.038],[0,0.001],[-0.004,0.019],[-0.001,0.003],[-0.004,0.02],[0,0.001],[-0.004,0.019],[-0.001,0.005],[-0.002,0.009],[0,0],[-0.003,0.014],[-0.002,0.008],[-0.002,0.01],[-0.002,0.007],[-0.002,0.01],[-0.002,0.007],[-0.004,0.02],[-0.002,0.008],[-0.002,0.009],[-0.002,0.01],[-0.001,0.005],[-0.007,0.035],[-0.001,0.004],[-0.011,0.055],[0,0],[-0.155,0.76],[0,0],[0.661,-3.519],[0,0]],"v":[[-146.009,-38.782],[-147.79,-31.292],[-147.79,-31.29],[-147.814,-31.178],[-147.815,-31.174],[-147.825,-31.123],[-147.827,-31.115],[-147.838,-31.063],[-147.838,-31.061],[-147.849,-31.01],[-147.852,-30.993],[-147.86,-30.956],[-147.863,-30.941],[-147.872,-30.898],[-147.877,-30.873],[-147.884,-30.84],[-147.889,-30.82],[-147.895,-30.787],[-147.899,-30.769],[-147.909,-30.721],[-147.914,-30.697],[-147.919,-30.673],[-147.925,-30.644],[-147.929,-30.624],[-147.951,-30.519],[-147.953,-30.506],[-147.987,-30.342],[-147.987,-30.342],[-148.435,-28.055],[-145.486,-27.501],[-143.109,-38.014]],"c":true}},"nm":"Path 35","mn":"ADBE Vector Shape - Group"},{"ind":35,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.011,-0.026],[0.002,-0.004],[0.022,-0.051],[0,0],[0.022,-0.052],[0.111,-0.263],[0,0],[0.022,-0.052],[0,0],[0.022,-0.052],[0,0],[0.022,-0.052],[0,0],[0.021,-0.052],[0,0],[0.022,-0.052],[0,0],[0.021,-0.052],[0,0],[0.022,-0.053],[0.002,-0.004],[0.022,-0.053],[0,0],[0.021,-0.052],[0,0],[0.021,-0.052],[0,0],[0.01,-0.026],[0,0],[0.01,-0.026],[0,0],[0.011,-0.026],[0,0],[0.011,-0.026],[0,0],[0.01,-0.025],[0,0],[0.01,-0.025],[0,0],[0.01,-0.025],[0,0],[0.011,-0.026],[0,0],[0.009,-0.025],[0,0],[0.011,-0.025],[0,0],[0.01,-0.024],[0,0],[0.01,-0.025],[0,0],[0.009,-0.023],[0.002,-0.004],[0.01,-0.025],[0,0],[0.009,-0.024],[0.002,-0.004],[0.01,-0.025],[0,0],[0.01,-0.024],[0.001,-0.004],[0.019,-0.05],[0.002,-0.005],[0.01,-0.025],[0.002,-0.005],[0.009,-0.022],[0.002,-0.004],[0.01,-0.024],[0.002,-0.005],[0.009,-0.024],[0.002,-0.005],[0.01,-0.025],[0,0],[0.009,-0.024],[0.002,-0.004],[0.01,-0.024],[0,0],[0.009,-0.023],[0.002,-0.004],[0.01,-0.025],[0,0],[0.009,-0.023],[0.001,-0.005],[0.009,-0.024],[0,0],[0.009,-0.023],[0.003,-0.009],[0.009,-0.024],[0,0],[0.008,-0.023],[0.004,-0.009],[0.018,-0.047],[0.004,-0.009],[0.009,-0.024],[0.01,-0.024],[0.004,-0.009],[0.018,-0.048],[0.003,-0.009],[0.009,-0.024],[0,0],[0.009,-0.024],[0.003,-0.009],[0.008,-0.022],[0.002,-0.004],[0.009,-0.024],[0.003,-0.009],[0.007,-0.021],[0.001,-0.005],[0.009,-0.023],[0.002,-0.005],[0.008,-0.021],[0.002,-0.004],[0.008,-0.024],[0.002,-0.005],[0.008,-0.021],[0.001,-0.005],[0.009,-0.023],[0.002,-0.004],[0.008,-0.021],[0.001,-0.004],[0.009,-0.025],[0.001,-0.004],[0.008,-0.022],[0.002,-0.004],[0.009,-0.024],[0.002,-0.005],[0.008,-0.021],[0.002,-0.005],[0.008,-0.024],[0.002,-0.004],[0.008,-0.022],[0,0],[0.009,-0.025],[0.001,-0.005],[0.008,-0.023],[0,0],[0.009,-0.025],[0.002,-0.004],[0.008,-0.022],[0,0],[0.009,-0.025],[0.001,-0.004],[0.009,-0.023],[0,0],[0.009,-0.025],[0,0],[0.009,-0.024],[0,0],[0.009,-0.026],[0,0],[0.009,-0.024],[0,0],[0.009,-0.026],[0,0],[0.009,-0.025],[0,0],[0.01,-0.026],[0,0],[0.009,-0.024],[0,0],[0.019,-0.053],[0,0],[0.019,-0.054],[0,0],[0.019,-0.053],[0.001,-0.005],[0.019,-0.054],[0.141,-0.407],[0,0],[-1.413,3.288]],"o":[[-0.011,0.025],[-0.001,0.004],[-0.022,0.052],[0,0],[-0.022,0.052],[-0.112,0.263],[0,0],[-0.022,0.052],[0,0],[-0.022,0.053],[0,0],[-0.022,0.052],[0,0],[-0.022,0.052],[0,0],[-0.022,0.053],[0,0],[-0.021,0.052],[0,0],[-0.021,0.053],[-0.001,0.004],[-0.022,0.053],[0,0],[-0.022,0.052],[0,0],[-0.021,0.052],[0,0],[-0.01,0.025],[0,0],[-0.01,0.026],[0,0],[-0.011,0.025],[0,0],[-0.011,0.026],[0,0],[-0.01,0.025],[0,0],[-0.01,0.026],[0,0],[-0.01,0.026],[0,0],[-0.011,0.027],[0,0],[-0.01,0.025],[0,0],[-0.01,0.025],[0,0],[-0.01,0.024],[0,0],[-0.01,0.026],[0,0],[-0.009,0.023],[-0.002,0.005],[-0.01,0.025],[0,0],[-0.01,0.024],[-0.002,0.005],[-0.01,0.026],[0,0],[-0.01,0.024],[-0.001,0.004],[-0.02,0.05],[-0.002,0.005],[-0.009,0.024],[-0.002,0.005],[-0.009,0.022],[-0.001,0.005],[-0.01,0.025],[-0.002,0.005],[-0.009,0.023],[-0.002,0.004],[-0.01,0.025],[0,0],[-0.009,0.024],[-0.002,0.004],[-0.01,0.025],[0,0],[-0.009,0.023],[-0.002,0.005],[-0.009,0.024],[0,0],[-0.009,0.023],[-0.002,0.004],[-0.01,0.024],[0,0],[-0.009,0.022],[-0.003,0.009],[-0.009,0.024],[0,0],[-0.009,0.022],[-0.004,0.009],[-0.018,0.047],[-0.003,0.009],[-0.009,0.024],[-0.009,0.024],[-0.003,0.009],[-0.018,0.048],[-0.004,0.009],[-0.009,0.024],[0,0],[-0.009,0.024],[-0.003,0.009],[-0.008,0.022],[-0.002,0.004],[-0.009,0.024],[-0.003,0.009],[-0.008,0.02],[-0.002,0.004],[-0.009,0.023],[-0.001,0.005],[-0.008,0.021],[-0.001,0.004],[-0.009,0.024],[-0.002,0.005],[-0.008,0.021],[-0.001,0.004],[-0.009,0.023],[-0.001,0.005],[-0.008,0.022],[-0.002,0.005],[-0.009,0.024],[-0.002,0.004],[-0.008,0.022],[-0.002,0.004],[-0.009,0.024],[-0.002,0.004],[-0.007,0.02],[-0.001,0.005],[-0.009,0.024],[-0.002,0.005],[-0.008,0.022],[0,0],[-0.009,0.024],[-0.002,0.004],[-0.009,0.022],[0,0],[-0.009,0.025],[-0.002,0.004],[-0.008,0.022],[0,0],[-0.009,0.025],[-0.001,0.004],[-0.009,0.023],[0,0],[-0.01,0.025],[0,0],[-0.009,0.024],[0,0],[-0.01,0.026],[0,0],[-0.008,0.024],[0,0],[-0.009,0.025],[0,0],[-0.009,0.024],[0,0],[-0.009,0.026],[0,0],[-0.009,0.025],[0,0],[-0.019,0.053],[0,0],[-0.019,0.054],[0,0],[-0.019,0.053],[-0.002,0.005],[-0.019,0.054],[-0.145,0.406],[0,0],[1.167,-3.381],[0,0]],"v":[[-138.835,-59.558],[-138.869,-59.481],[-138.87,-59.48],[-138.936,-59.325],[-138.937,-59.321],[-139.004,-59.165],[-139.338,-58.376],[-139.338,-58.376],[-139.404,-58.218],[-139.404,-58.217],[-139.47,-58.061],[-139.47,-58.058],[-139.536,-57.902],[-139.536,-57.9],[-139.601,-57.743],[-139.602,-57.743],[-139.667,-57.585],[-139.668,-57.583],[-139.732,-57.426],[-139.733,-57.425],[-139.798,-57.268],[-139.798,-57.266],[-139.863,-57.109],[-139.863,-57.107],[-139.927,-56.95],[-139.928,-56.949],[-139.992,-56.791],[-139.993,-56.788],[-140.024,-56.712],[-140.025,-56.71],[-140.056,-56.632],[-140.057,-56.63],[-140.089,-56.553],[-140.089,-56.551],[-140.121,-56.473],[-140.122,-56.471],[-140.152,-56.395],[-140.154,-56.391],[-140.185,-56.314],[-140.186,-56.312],[-140.217,-56.234],[-140.217,-56.234],[-140.249,-56.154],[-140.25,-56.152],[-140.279,-56.079],[-140.282,-56.071],[-140.313,-55.995],[-140.314,-55.992],[-140.343,-55.919],[-140.346,-55.912],[-140.376,-55.837],[-140.378,-55.831],[-140.406,-55.761],[-140.41,-55.751],[-140.44,-55.676],[-140.441,-55.673],[-140.469,-55.601],[-140.473,-55.592],[-140.503,-55.516],[-140.504,-55.514],[-140.533,-55.441],[-140.536,-55.432],[-140.595,-55.282],[-140.6,-55.271],[-140.629,-55.197],[-140.631,-55.192],[-140.658,-55.124],[-140.663,-55.11],[-140.692,-55.037],[-140.693,-55.033],[-140.721,-54.963],[-140.725,-54.951],[-140.755,-54.876],[-140.755,-54.876],[-140.783,-54.803],[-140.788,-54.79],[-140.817,-54.717],[-140.818,-54.714],[-140.845,-54.644],[-140.851,-54.63],[-140.879,-54.557],[-140.88,-54.553],[-140.907,-54.484],[-140.913,-54.467],[-140.941,-54.396],[-140.942,-54.393],[-140.969,-54.325],[-140.975,-54.307],[-141.003,-54.235],[-141.004,-54.232],[-141.03,-54.165],[-141.038,-54.145],[-141.092,-54.003],[-141.099,-53.985],[-141.126,-53.915],[-141.154,-53.842],[-141.161,-53.825],[-141.215,-53.682],[-141.221,-53.665],[-141.248,-53.594],[-141.249,-53.592],[-141.276,-53.521],[-141.283,-53.502],[-141.308,-53.437],[-141.31,-53.432],[-141.337,-53.36],[-141.344,-53.34],[-141.367,-53.279],[-141.371,-53.269],[-141.398,-53.2],[-141.405,-53.179],[-141.429,-53.117],[-141.432,-53.109],[-141.458,-53.037],[-141.465,-53.019],[-141.489,-52.956],[-141.492,-52.946],[-141.519,-52.876],[-141.526,-52.859],[-141.55,-52.794],[-141.552,-52.786],[-141.579,-52.713],[-141.585,-52.699],[-141.609,-52.633],[-141.613,-52.624],[-141.639,-52.553],[-141.646,-52.536],[-141.669,-52.473],[-141.673,-52.463],[-141.699,-52.39],[-141.705,-52.376],[-141.729,-52.311],[-141.732,-52.301],[-141.759,-52.229],[-141.764,-52.214],[-141.789,-52.148],[-141.792,-52.14],[-141.819,-52.066],[-141.824,-52.053],[-141.848,-51.988],[-141.851,-51.979],[-141.879,-51.903],[-141.882,-51.894],[-141.908,-51.825],[-141.91,-51.816],[-141.938,-51.742],[-141.941,-51.734],[-141.967,-51.661],[-141.969,-51.656],[-141.997,-51.579],[-142,-51.571],[-142.026,-51.499],[-142.028,-51.493],[-142.056,-51.416],[-142.058,-51.411],[-142.085,-51.338],[-142.087,-51.331],[-142.115,-51.255],[-142.116,-51.249],[-142.143,-51.175],[-142.145,-51.169],[-142.202,-51.01],[-142.203,-51.01],[-142.26,-50.848],[-142.261,-50.846],[-142.318,-50.687],[-142.319,-50.683],[-142.376,-50.523],[-142.804,-49.303],[-139.968,-48.324],[-136.079,-58.374]],"c":true}},"nm":"Path 36","mn":"ADBE Vector Shape - Group"},{"ind":36,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.38,-0.639],[0,0],[0.028,-0.047],[0.002,-0.004],[0.013,-0.021],[0,0],[0.013,-0.023],[0.002,-0.005],[0.012,-0.02],[0.002,-0.004],[0.012,-0.022],[0.002,-0.004],[0.01,-0.018],[0.002,-0.004],[0.012,-0.02],[0.005,-0.008],[0.009,-0.016],[0.004,-0.009],[0.011,-0.019],[0.005,-0.008],[0.009,-0.014],[0.005,-0.009],[0.011,-0.018],[0.005,-0.008],[0.007,-0.012],[0.007,-0.012],[0.007,-0.013],[0.007,-0.012],[0.006,-0.01],[0.01,-0.017],[0.006,-0.011],[0.007,-0.012],[0.006,-0.01],[0.009,-0.016],[0.006,-0.01],[0.007,-0.012],[0.005,-0.009],[0.012,-0.021],[0.005,-0.008],[0.007,-0.012],[0.005,-0.008],[0.014,-0.024],[0.004,-0.006],[0.01,-0.017],[0.003,-0.005],[0.014,-0.025],[0.003,-0.005],[0.009,-0.016],[0.003,-0.005],[0.015,-0.025],[0.002,-0.004],[0.01,-0.016],[0.002,-0.004],[0.014,-0.025],[0.003,-0.005],[0.01,-0.016],[0.001,-0.003],[0.014,-0.025],[0.002,-0.003],[0.029,-0.049],[0.001,-0.001],[0.01,-0.017],[0,-0.001],[0.018,-0.033],[0.002,-0.003],[0.029,-0.05],[0.001,-0.002],[0.028,-0.049],[0.001,-0.003],[0.028,-0.05],[0.001,-0.002],[0.028,-0.05],[0.001,-0.002],[0.026,-0.045],[0.002,-0.004],[0.026,-0.046],[0.002,-0.004],[0.025,-0.046],[0.002,-0.004],[0.026,-0.046],[0.002,-0.004],[0.028,-0.05],[0.002,-0.003],[0.026,-0.046],[0.003,-0.005],[0.023,-0.042],[0.003,-0.004],[0.023,-0.041],[0.004,-0.006],[0.023,-0.042],[0.004,-0.007],[0.022,-0.042],[0.004,-0.007],[0.023,-0.042],[0.004,-0.008],[0.014,-0.025],[0.002,-0.004],[0.007,-0.012],[0.005,-0.008],[0.011,-0.021],[0.004,-0.008],[0.006,-0.012],[0.004,-0.008],[0.012,-0.021],[0.005,-0.008],[0.007,-0.012],[0.004,-0.008],[0.014,-0.025],[0.004,-0.007],[0.007,-0.012],[0.005,-0.008],[0.012,-0.021],[0.005,-0.009],[0.007,-0.013],[0.005,-0.008],[0.012,-0.021],[0.006,-0.01],[0.007,-0.012],[0.004,-0.009],[0.012,-0.021],[0.004,-0.008],[0.007,-0.012],[0.004,-0.008],[0.014,-0.025],[0.004,-0.007],[0.007,-0.012],[0.005,-0.008],[0.012,-0.021],[0.005,-0.009],[0.007,-0.013],[0.004,-0.009],[0.011,-0.021],[0.005,-0.009],[0.007,-0.012],[0.004,-0.008],[0.013,-0.025],[0.004,-0.007],[0.007,-0.013],[0.003,-0.006],[0.014,-0.025],[0.003,-0.006],[0.009,-0.017],[0.003,-0.006],[0.013,-0.025],[0.003,-0.005],[0.008,-0.017],[0.003,-0.006],[0.014,-0.025],[0.003,-0.007],[0.009,-0.017],[0.002,-0.006],[0.014,-0.025],[0.002,-0.003],[0.009,-0.017],[0.001,-0.003],[0.015,-0.03],[0.001,-0.002],[0.009,-0.016],[0.001,-0.002],[0.018,-0.034],[0.002,-0.002],[0.009,-0.017],[0,0],[0.017,-0.034],[0,0],[0.044,-0.084],[0,0],[-1.877,3.049]],"o":[[-0.39,0.632],[0,0],[-0.028,0.047],[-0.003,0.004],[-0.013,0.022],[0,0],[-0.013,0.022],[-0.002,0.004],[-0.012,0.019],[-0.003,0.004],[-0.013,0.022],[-0.003,0.004],[-0.01,0.017],[-0.003,0.004],[-0.012,0.021],[-0.005,0.008],[-0.009,0.015],[-0.005,0.008],[-0.012,0.019],[-0.005,0.008],[-0.008,0.014],[-0.004,0.008],[-0.011,0.018],[-0.004,0.008],[-0.007,0.013],[-0.007,0.012],[-0.007,0.013],[-0.007,0.012],[-0.006,0.01],[-0.009,0.017],[-0.006,0.011],[-0.007,0.013],[-0.006,0.011],[-0.009,0.016],[-0.006,0.01],[-0.007,0.012],[-0.005,0.009],[-0.012,0.02],[-0.004,0.008],[-0.007,0.012],[-0.004,0.008],[-0.014,0.024],[-0.004,0.007],[-0.009,0.017],[-0.003,0.004],[-0.014,0.024],[-0.003,0.005],[-0.01,0.016],[-0.003,0.005],[-0.014,0.025],[-0.002,0.003],[-0.01,0.016],[-0.002,0.004],[-0.014,0.025],[-0.003,0.005],[-0.009,0.017],[-0.002,0.004],[-0.015,0.025],[-0.002,0.003],[-0.029,0.049],[-0.001,0.002],[-0.009,0.017],[0,0.001],[-0.019,0.033],[-0.002,0.003],[-0.028,0.049],[-0.001,0.002],[-0.028,0.05],[-0.002,0.003],[-0.028,0.049],[-0.001,0.002],[-0.028,0.049],[-0.002,0.002],[-0.026,0.046],[-0.002,0.004],[-0.026,0.046],[-0.002,0.004],[-0.026,0.046],[-0.002,0.004],[-0.026,0.046],[-0.002,0.004],[-0.028,0.05],[-0.002,0.003],[-0.025,0.046],[-0.002,0.004],[-0.023,0.041],[-0.003,0.004],[-0.023,0.042],[-0.003,0.007],[-0.023,0.041],[-0.004,0.007],[-0.023,0.042],[-0.004,0.006],[-0.023,0.042],[-0.004,0.007],[-0.013,0.025],[-0.003,0.005],[-0.007,0.013],[-0.004,0.008],[-0.011,0.021],[-0.004,0.008],[-0.007,0.012],[-0.005,0.008],[-0.011,0.021],[-0.004,0.009],[-0.007,0.013],[-0.005,0.009],[-0.014,0.026],[-0.004,0.007],[-0.006,0.012],[-0.004,0.009],[-0.011,0.021],[-0.004,0.009],[-0.006,0.012],[-0.005,0.008],[-0.011,0.021],[-0.005,0.01],[-0.006,0.013],[-0.005,0.009],[-0.012,0.021],[-0.004,0.008],[-0.007,0.012],[-0.004,0.008],[-0.013,0.026],[-0.004,0.007],[-0.006,0.013],[-0.005,0.009],[-0.011,0.021],[-0.005,0.01],[-0.007,0.013],[-0.004,0.008],[-0.012,0.021],[-0.005,0.008],[-0.007,0.012],[-0.004,0.008],[-0.013,0.026],[-0.004,0.007],[-0.007,0.012],[-0.004,0.006],[-0.014,0.026],[-0.002,0.005],[-0.009,0.016],[-0.003,0.006],[-0.014,0.025],[-0.003,0.006],[-0.009,0.017],[-0.004,0.006],[-0.013,0.025],[-0.003,0.007],[-0.009,0.017],[-0.003,0.006],[-0.014,0.025],[-0.002,0.004],[-0.009,0.017],[-0.001,0.003],[-0.016,0.029],[-0.001,0.002],[-0.009,0.017],[-0.001,0.003],[-0.018,0.033],[-0.001,0.002],[-0.008,0.017],[0,0],[-0.018,0.034],[0,0],[-0.044,0.085],[0,0],[1.648,-3.174],[0,0]],"v":[[-128.705,-79.066],[-129.86,-77.158],[-129.862,-77.156],[-129.946,-77.014],[-129.952,-77.005],[-129.991,-76.939],[-129.993,-76.934],[-130.033,-76.868],[-130.041,-76.854],[-130.076,-76.794],[-130.081,-76.786],[-130.119,-76.721],[-130.13,-76.704],[-130.161,-76.65],[-130.169,-76.637],[-130.205,-76.576],[-130.219,-76.553],[-130.246,-76.506],[-130.257,-76.488],[-130.291,-76.43],[-130.307,-76.403],[-130.332,-76.361],[-130.346,-76.337],[-130.378,-76.283],[-130.395,-76.255],[-130.416,-76.217],[-130.441,-76.175],[-130.463,-76.137],[-130.483,-76.104],[-130.501,-76.074],[-130.53,-76.023],[-130.549,-75.99],[-130.569,-75.956],[-130.587,-75.925],[-130.618,-75.872],[-130.635,-75.842],[-130.656,-75.807],[-130.671,-75.781],[-130.707,-75.719],[-130.721,-75.695],[-130.743,-75.657],[-130.756,-75.635],[-130.794,-75.568],[-130.806,-75.549],[-130.83,-75.506],[-130.838,-75.493],[-130.882,-75.416],[-130.891,-75.4],[-130.915,-75.359],[-130.924,-75.344],[-130.97,-75.264],[-130.976,-75.253],[-131.002,-75.209],[-131.008,-75.199],[-131.053,-75.119],[-131.062,-75.105],[-131.087,-75.062],[-131.092,-75.051],[-131.141,-74.967],[-131.146,-74.958],[-131.228,-74.816],[-131.231,-74.811],[-131.258,-74.762],[-131.259,-74.76],[-131.311,-74.669],[-131.316,-74.661],[-131.397,-74.519],[-131.4,-74.512],[-131.48,-74.372],[-131.485,-74.363],[-131.566,-74.221],[-131.569,-74.214],[-131.649,-74.072],[-131.653,-74.066],[-131.732,-73.926],[-131.738,-73.915],[-131.816,-73.777],[-131.822,-73.765],[-131.899,-73.627],[-131.906,-73.615],[-131.983,-73.477],[-131.989,-73.467],[-132.067,-73.327],[-132.073,-73.317],[-132.149,-73.179],[-132.157,-73.165],[-132.232,-73.029],[-132.24,-73.016],[-132.314,-72.882],[-132.324,-72.863],[-132.396,-72.734],[-132.407,-72.713],[-132.478,-72.583],[-132.49,-72.562],[-132.561,-72.432],[-132.573,-72.411],[-132.614,-72.335],[-132.621,-72.322],[-132.643,-72.283],[-132.656,-72.26],[-132.691,-72.195],[-132.704,-72.17],[-132.724,-72.133],[-132.738,-72.109],[-132.772,-72.046],[-132.786,-72.02],[-132.806,-71.984],[-132.82,-71.958],[-132.857,-71.889],[-132.868,-71.869],[-132.889,-71.831],[-132.902,-71.807],[-132.936,-71.744],[-132.95,-71.718],[-132.97,-71.68],[-132.984,-71.656],[-133.016,-71.596],[-133.032,-71.566],[-133.051,-71.531],[-133.065,-71.503],[-133.1,-71.441],[-133.112,-71.416],[-133.133,-71.378],[-133.146,-71.355],[-133.182,-71.287],[-133.194,-71.265],[-133.214,-71.227],[-133.228,-71.201],[-133.26,-71.143],[-133.275,-71.113],[-133.295,-71.075],[-133.308,-71.05],[-133.342,-70.988],[-133.356,-70.962],[-133.376,-70.924],[-133.389,-70.9],[-133.425,-70.833],[-133.436,-70.812],[-133.457,-70.771],[-133.468,-70.751],[-133.508,-70.676],[-133.516,-70.661],[-133.538,-70.618],[-133.547,-70.601],[-133.587,-70.527],[-133.596,-70.51],[-133.618,-70.467],[-133.628,-70.45],[-133.667,-70.376],[-133.677,-70.356],[-133.699,-70.316],[-133.707,-70.299],[-133.75,-70.218],[-133.756,-70.208],[-133.78,-70.161],[-133.784,-70.152],[-133.831,-70.063],[-133.835,-70.057],[-133.86,-70.01],[-133.863,-70.002],[-133.911,-69.911],[-133.915,-69.904],[-133.94,-69.855],[-133.94,-69.855],[-133.992,-69.756],[-133.993,-69.755],[-134.127,-69.497],[-131.464,-68.114],[-126.151,-77.493]],"c":true}},"nm":"Path 37","mn":"ADBE Vector Shape - Group"},{"ind":37,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.072,-0.087],[0.003,-0.003],[0.034,-0.041],[0.003,-0.004],[0.017,-0.02],[0.003,-0.004],[0.015,-0.018],[0.003,-0.004],[0.016,-0.019],[0.003,-0.004],[0.012,-0.015],[0.003,-0.004],[0.015,-0.017],[0.006,-0.008],[0.01,-0.013],[0.009,-0.011],[0.014,-0.017],[0.006,-0.007],[0.01,-0.011],[0.009,-0.011],[0.013,-0.016],[0.009,-0.011],[0.007,-0.008],[0.018,-0.022],[0.004,-0.005],[0.009,-0.011],[0.006,-0.007],[0.03,-0.036],[0.004,-0.004],[0.033,-0.04],[0.003,-0.003],[0.033,-0.04],[0.002,-0.002],[0.942,-1.231],[0.001,-0.001],[0.034,-0.045],[0.002,-0.002],[0.031,-0.041],[0.003,-0.004],[0.029,-0.038],[0.004,-0.005],[0.017,-0.022],[0.003,-0.004],[0.009,-0.011],[0.005,-0.008],[0.014,-0.019],[0.008,-0.01],[0.009,-0.011],[0.007,-0.01],[0.009,-0.012],[0.009,-0.012],[0.006,-0.008],[0.01,-0.012],[0.008,-0.011],[0.011,-0.015],[0.006,-0.008],[0.011,-0.015],[0.003,-0.004],[0.014,-0.018],[0.005,-0.007],[0.013,-0.018],[0,0],[0.014,-0.019],[0.006,-0.008],[0.016,-0.021],[0,0],[0.015,-0.02],[0.002,-0.004],[0.033,-0.044],[0,0],[0.486,-0.674],[0,0],[-2.299,2.745]],"o":[[-0.072,0.086],[-0.003,0.004],[-0.034,0.041],[-0.003,0.003],[-0.016,0.02],[-0.003,0.004],[-0.015,0.018],[-0.003,0.004],[-0.016,0.019],[-0.003,0.004],[-0.012,0.015],[-0.003,0.004],[-0.015,0.018],[-0.006,0.008],[-0.01,0.012],[-0.009,0.011],[-0.014,0.016],[-0.006,0.007],[-0.01,0.011],[-0.009,0.011],[-0.013,0.016],[-0.009,0.011],[-0.007,0.009],[-0.018,0.022],[-0.004,0.004],[-0.009,0.011],[-0.006,0.007],[-0.03,0.036],[-0.004,0.005],[-0.033,0.041],[-0.003,0.003],[-0.033,0.04],[-0.002,0.002],[-0.979,1.2],[-0.001,0.001],[-0.035,0.045],[-0.002,0.002],[-0.031,0.041],[-0.003,0.004],[-0.029,0.038],[-0.004,0.005],[-0.017,0.023],[-0.003,0.004],[-0.009,0.011],[-0.006,0.008],[-0.014,0.019],[-0.008,0.01],[-0.008,0.011],[-0.007,0.01],[-0.009,0.011],[-0.009,0.012],[-0.006,0.008],[-0.009,0.012],[-0.008,0.012],[-0.012,0.015],[-0.006,0.008],[-0.011,0.015],[-0.003,0.004],[-0.013,0.018],[-0.005,0.007],[-0.014,0.018],[0,0],[-0.014,0.019],[-0.006,0.008],[-0.015,0.02],[0,0],[-0.016,0.02],[-0.003,0.004],[-0.033,0.044],[0,0],[-0.497,0.665],[0,0],[2.093,-2.902],[0,0]],"v":[[-115.85,-96.895],[-116.067,-96.635],[-116.073,-96.63],[-116.175,-96.505],[-116.184,-96.495],[-116.234,-96.436],[-116.238,-96.43],[-116.283,-96.376],[-116.295,-96.361],[-116.342,-96.305],[-116.353,-96.292],[-116.39,-96.247],[-116.405,-96.229],[-116.45,-96.175],[-116.466,-96.156],[-116.497,-96.117],[-116.516,-96.094],[-116.558,-96.044],[-116.576,-96.021],[-116.605,-95.988],[-116.626,-95.962],[-116.665,-95.915],[-116.689,-95.885],[-116.71,-95.859],[-116.761,-95.798],[-116.772,-95.783],[-116.8,-95.749],[-116.817,-95.73],[-116.91,-95.615],[-116.922,-95.601],[-117.02,-95.481],[-117.028,-95.471],[-117.129,-95.348],[-117.134,-95.342],[-120.011,-91.7],[-120.013,-91.697],[-120.113,-91.566],[-120.118,-91.561],[-120.214,-91.434],[-120.224,-91.421],[-120.317,-91.299],[-120.329,-91.285],[-120.382,-91.213],[-120.391,-91.201],[-120.418,-91.166],[-120.435,-91.143],[-120.473,-91.093],[-120.497,-91.062],[-120.52,-91.032],[-120.541,-91.003],[-120.574,-90.96],[-120.6,-90.925],[-120.621,-90.898],[-120.649,-90.861],[-120.671,-90.831],[-120.705,-90.786],[-120.723,-90.762],[-120.757,-90.717],[-120.77,-90.7],[-120.81,-90.648],[-120.824,-90.628],[-120.864,-90.574],[-120.872,-90.564],[-120.914,-90.508],[-120.926,-90.492],[-120.972,-90.432],[-120.972,-90.43],[-121.019,-90.368],[-121.026,-90.359],[-121.125,-90.226],[-121.127,-90.223],[-122.601,-88.214],[-120.168,-86.459],[-113.55,-94.969]],"c":true}},"nm":"Path 38","mn":"ADBE Vector Shape - Group"},{"ind":38,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.063,-0.058],[0,0],[0.042,-0.038],[0,0],[0.04,-0.037],[0.003,-0.003],[0.02,-0.018],[0,0],[0.019,-0.017],[0.003,-0.003],[0.019,-0.017],[0.004,-0.004],[0.017,-0.015],[0.004,-0.003],[0.019,-0.017],[0.003,-0.003],[0.015,-0.014],[0.003,-0.004],[0.017,-0.016],[0.007,-0.006],[0.013,-0.012],[0.003,-0.003],[0.017,-0.015],[0.007,-0.006],[0.012,-0.011],[0.007,-0.006],[0.016,-0.015],[0.007,-0.007],[0.011,-0.01],[0.007,-0.006],[0.015,-0.014],[0.01,-0.009],[0.009,-0.009],[0.007,-0.006],[0.016,-0.014],[0.01,-0.01],[0.009,-0.008],[0.014,-0.012],[0.011,-0.01],[0.01,-0.01],[0.008,-0.007],[0.017,-0.016],[0.008,-0.008],[0.01,-0.01],[0.008,-0.007],[0.014,-0.013],[0.007,-0.006],[0.014,-0.013],[0.005,-0.005],[0.021,-0.019],[0.004,-0.005],[0.014,-0.013],[0.004,-0.004],[0.021,-0.019],[0.005,-0.005],[0.014,-0.013],[0.003,-0.004],[0.021,-0.019],[0.005,-0.004],[0.014,-0.013],[0.004,-0.004],[0.021,-0.02],[0.005,-0.005],[0.014,-0.013],[0.003,-0.003],[0.02,-0.019],[0.005,-0.005],[0.013,-0.013],[0.002,-0.002],[0.021,-0.02],[0.005,-0.004],[0.035,-0.032],[0.005,-0.005],[0.01,-0.01],[0.001,-0.001],[0.024,-0.022],[0.005,-0.005],[0.034,-0.032],[0.005,-0.004],[0.035,-0.032],[0.005,-0.005],[0.034,-0.032],[0.005,-0.005],[0.021,-0.019],[0.003,-0.004],[0.011,-0.009],[0.006,-0.006],[0.017,-0.016],[0.007,-0.005],[0.01,-0.009],[0.006,-0.006],[0.021,-0.019],[0.006,-0.006],[0.01,-0.009],[0.007,-0.006],[0.017,-0.017],[0.008,-0.007],[0.011,-0.01],[0.009,-0.008],[0.014,-0.013],[0.01,-0.009],[0.007,-0.007],[0.009,-0.008],[0.014,-0.013],[0.01,-0.009],[0.007,-0.006],[0.01,-0.01],[0.013,-0.013],[0.009,-0.009],[0.007,-0.007],[0.011,-0.011],[0.01,-0.01],[0.009,-0.009],[0.01,-0.01],[0.014,-0.014],[0.007,-0.007],[0.011,-0.01],[0.007,-0.007],[0.016,-0.015],[0.006,-0.006],[0.012,-0.012],[0.003,-0.003],[0.016,-0.016],[0.007,-0.007],[0.012,-0.012],[0.003,-0.003],[0.017,-0.016],[0.007,-0.006],[0.013,-0.012],[0.007,-0.007],[0.017,-0.016],[0.004,-0.004],[0.015,-0.014],[0.007,-0.007],[0.017,-0.016],[0.004,-0.003],[0.015,-0.014],[0.003,-0.003],[0.018,-0.017],[0.003,-0.003],[0.017,-0.016],[0.003,-0.003],[0.018,-0.018],[0.003,-0.004],[0.017,-0.017],[0.003,-0.003],[0.019,-0.018],[0.003,-0.003],[0.038,-0.037],[0.003,-0.004],[0.038,-0.038],[0,0],[0.039,-0.038],[0,0],[0.04,-0.039],[0,0],[0.758,-0.782],[0,0],[-2.67,2.383]],"o":[[-0.064,0.057],[0,0],[-0.042,0.038],[0,0],[-0.04,0.037],[-0.004,0.003],[-0.02,0.018],[0,0],[-0.018,0.017],[-0.003,0.003],[-0.019,0.017],[-0.004,0.003],[-0.017,0.015],[-0.004,0.003],[-0.018,0.017],[-0.003,0.003],[-0.015,0.014],[-0.003,0.003],[-0.018,0.016],[-0.007,0.006],[-0.014,0.012],[-0.004,0.004],[-0.017,0.015],[-0.007,0.007],[-0.012,0.011],[-0.007,0.006],[-0.016,0.015],[-0.007,0.006],[-0.011,0.01],[-0.007,0.006],[-0.015,0.014],[-0.01,0.01],[-0.01,0.009],[-0.007,0.006],[-0.015,0.014],[-0.01,0.01],[-0.009,0.008],[-0.014,0.012],[-0.01,0.01],[-0.01,0.01],[-0.008,0.007],[-0.017,0.016],[-0.009,0.008],[-0.011,0.01],[-0.009,0.007],[-0.014,0.013],[-0.007,0.007],[-0.014,0.013],[-0.005,0.005],[-0.021,0.02],[-0.005,0.005],[-0.014,0.013],[-0.004,0.005],[-0.021,0.019],[-0.005,0.004],[-0.014,0.012],[-0.003,0.003],[-0.021,0.019],[-0.004,0.004],[-0.014,0.013],[-0.004,0.004],[-0.021,0.019],[-0.005,0.004],[-0.014,0.012],[-0.003,0.003],[-0.021,0.019],[-0.005,0.005],[-0.014,0.013],[-0.003,0.002],[-0.021,0.02],[-0.005,0.004],[-0.034,0.033],[-0.005,0.005],[-0.01,0.01],[-0.001,0],[-0.024,0.023],[-0.005,0.005],[-0.034,0.032],[-0.005,0.005],[-0.035,0.033],[-0.005,0.005],[-0.035,0.032],[-0.006,0.005],[-0.021,0.02],[-0.004,0.004],[-0.011,0.01],[-0.006,0.006],[-0.017,0.016],[-0.006,0.006],[-0.01,0.01],[-0.006,0.006],[-0.02,0.02],[-0.006,0.006],[-0.01,0.009],[-0.007,0.007],[-0.017,0.016],[-0.007,0.007],[-0.01,0.01],[-0.008,0.008],[-0.013,0.013],[-0.01,0.009],[-0.006,0.007],[-0.009,0.008],[-0.014,0.013],[-0.009,0.009],[-0.007,0.006],[-0.01,0.01],[-0.014,0.013],[-0.01,0.01],[-0.007,0.007],[-0.011,0.011],[-0.01,0.009],[-0.009,0.009],[-0.01,0.009],[-0.014,0.014],[-0.007,0.007],[-0.01,0.01],[-0.007,0.006],[-0.015,0.015],[-0.006,0.007],[-0.012,0.012],[-0.004,0.003],[-0.016,0.015],[-0.007,0.006],[-0.012,0.011],[-0.004,0.003],[-0.017,0.016],[-0.006,0.006],[-0.013,0.013],[-0.007,0.007],[-0.017,0.016],[-0.003,0.004],[-0.014,0.014],[-0.006,0.007],[-0.017,0.017],[-0.004,0.004],[-0.014,0.015],[-0.003,0.004],[-0.018,0.017],[-0.003,0.004],[-0.017,0.016],[-0.003,0.004],[-0.019,0.018],[-0.004,0.003],[-0.017,0.017],[-0.004,0.003],[-0.019,0.018],[-0.004,0.004],[-0.038,0.037],[-0.003,0.003],[-0.038,0.037],[0,0],[-0.039,0.039],[0,0],[-0.04,0.039],[0,0],[-0.774,0.765],[0,0],[2.491,-2.571],[0,0]],"v":[[-100.553,-112.682],[-100.745,-112.51],[-100.746,-112.51],[-100.872,-112.396],[-100.876,-112.393],[-100.997,-112.283],[-101.005,-112.277],[-101.065,-112.222],[-101.067,-112.221],[-101.123,-112.17],[-101.134,-112.161],[-101.191,-112.109],[-101.198,-112.102],[-101.249,-112.057],[-101.263,-112.044],[-101.318,-111.994],[-101.329,-111.984],[-101.375,-111.942],[-101.39,-111.928],[-101.443,-111.88],[-101.459,-111.867],[-101.5,-111.829],[-101.518,-111.812],[-101.569,-111.766],[-101.589,-111.748],[-101.625,-111.715],[-101.646,-111.696],[-101.695,-111.652],[-101.717,-111.631],[-101.75,-111.601],[-101.774,-111.58],[-101.82,-111.538],[-101.846,-111.514],[-101.875,-111.488],[-101.9,-111.465],[-101.946,-111.423],[-101.973,-111.398],[-102,-111.373],[-102.04,-111.337],[-102.071,-111.308],[-102.101,-111.281],[-102.124,-111.26],[-102.171,-111.217],[-102.196,-111.193],[-102.226,-111.165],[-102.251,-111.143],[-102.301,-111.097],[-102.321,-111.079],[-102.355,-111.048],[-102.371,-111.032],[-102.431,-110.977],[-102.445,-110.963],[-102.481,-110.932],[-102.494,-110.919],[-102.557,-110.86],[-102.571,-110.847],[-102.607,-110.814],[-102.617,-110.804],[-102.683,-110.744],[-102.696,-110.732],[-102.731,-110.699],[-102.744,-110.687],[-102.807,-110.628],[-102.821,-110.615],[-102.857,-110.583],[-102.866,-110.574],[-102.931,-110.514],[-102.946,-110.499],[-102.981,-110.467],[-102.988,-110.46],[-103.056,-110.396],[-103.071,-110.383],[-103.181,-110.281],[-103.196,-110.266],[-103.23,-110.234],[-103.233,-110.231],[-103.305,-110.165],[-103.32,-110.149],[-103.429,-110.048],[-103.444,-110.033],[-103.553,-109.932],[-103.569,-109.915],[-103.677,-109.813],[-103.693,-109.798],[-103.756,-109.739],[-103.767,-109.729],[-103.801,-109.697],[-103.818,-109.68],[-103.874,-109.627],[-103.893,-109.61],[-103.924,-109.58],[-103.943,-109.562],[-103.998,-109.51],[-104.016,-109.492],[-104.047,-109.463],[-104.068,-109.443],[-104.119,-109.394],[-104.141,-109.374],[-104.171,-109.346],[-104.196,-109.322],[-104.237,-109.282],[-104.266,-109.255],[-104.293,-109.229],[-104.32,-109.204],[-104.362,-109.163],[-104.39,-109.136],[-104.417,-109.111],[-104.447,-109.081],[-104.484,-109.046],[-104.513,-109.018],[-104.539,-108.993],[-104.572,-108.962],[-104.609,-108.926],[-104.637,-108.899],[-104.663,-108.874],[-104.706,-108.833],[-104.73,-108.811],[-104.762,-108.779],[-104.785,-108.757],[-104.832,-108.712],[-104.851,-108.693],[-104.887,-108.658],[-104.907,-108.639],[-104.955,-108.592],[-104.974,-108.574],[-105.011,-108.538],[-105.029,-108.521],[-105.079,-108.473],[-105.097,-108.456],[-105.135,-108.419],[-105.152,-108.402],[-105.203,-108.354],[-105.218,-108.338],[-105.261,-108.298],[-105.274,-108.285],[-105.325,-108.234],[-105.341,-108.219],[-105.385,-108.176],[-105.396,-108.165],[-105.45,-108.113],[-105.461,-108.101],[-105.512,-108.053],[-105.517,-108.048],[-105.572,-107.993],[-105.584,-107.981],[-105.636,-107.93],[-105.639,-107.928],[-105.696,-107.872],[-105.705,-107.863],[-105.819,-107.751],[-105.827,-107.743],[-105.942,-107.63],[-105.949,-107.624],[-106.065,-107.51],[-106.07,-107.505],[-106.19,-107.386],[-106.19,-107.385],[-108.488,-105.066],[-106.333,-102.977],[-98.556,-110.443]],"c":true}},"nm":"Path 39","mn":"ADBE Vector Shape - Group"},{"ind":39,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[2.427,-1.821],[0,0],[0.044,-0.034],[0,0],[0.042,-0.031],[0.008,-0.006],[0.021,-0.015],[0.004,-0.002],[0.018,-0.014],[0.008,-0.006],[0.017,-0.012],[0.004,-0.003],[0.013,-0.011],[0.008,-0.006],[0.014,-0.01],[0.011,-0.009],[0.009,-0.006],[0.011,-0.009],[0.007,-0.006],[0.018,-0.014],[0.005,-0.004],[0.041,-0.031],[0.002,-0.001],[0.191,-0.147],[0,0],[-2.985,1.971]],"o":[[-2.537,1.675],[0,0],[-0.044,0.033],[0,0],[-0.043,0.032],[-0.007,0.006],[-0.02,0.015],[-0.003,0.003],[-0.017,0.014],[-0.008,0.006],[-0.017,0.012],[-0.004,0.003],[-0.014,0.011],[-0.008,0.005],[-0.013,0.01],[-0.011,0.008],[-0.009,0.007],[-0.011,0.009],[-0.007,0.005],[-0.019,0.014],[-0.006,0.004],[-0.042,0.031],[-0.001,0.002],[-0.192,0.146],[0,0],[2.837,-2.184],[0,0]],"v":[[-83.138,-126.092],[-90.585,-120.846],[-90.586,-120.846],[-90.719,-120.745],[-90.726,-120.74],[-90.853,-120.645],[-90.867,-120.635],[-90.928,-120.588],[-90.933,-120.585],[-90.986,-120.544],[-91.007,-120.528],[-91.058,-120.49],[-91.079,-120.475],[-91.12,-120.442],[-91.146,-120.423],[-91.186,-120.393],[-91.225,-120.363],[-91.252,-120.343],[-91.285,-120.317],[-91.306,-120.301],[-91.368,-120.255],[-91.384,-120.242],[-91.511,-120.146],[-91.516,-120.143],[-92.089,-119.704],[-90.259,-117.326],[-81.485,-123.589]],"c":true}},"nm":"Path 40","mn":"ADBE Vector Shape - Group"},{"ind":40,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[1.189,-0.595],[0,0],[0.051,-0.025],[0,0],[0.051,-0.026],[0.002,-0.001],[0.034,-0.017],[0.001,-0.001],[0.017,-0.008],[0.003,-0.002],[0.034,-0.017],[0.002,-0.001],[0.017,-0.009],[0.004,-0.003],[0.03,-0.015],[0.002,-0.001],[0.017,-0.009],[0.005,-0.003],[0.025,-0.013],[0.004,-0.003],[0.017,-0.009],[0.005,-0.002],[0.025,-0.013],[0.006,-0.003],[0.017,-0.009],[0.006,-0.003],[0.025,-0.013],[0.007,-0.004],[0.013,-0.007],[0.008,-0.005],[0.025,-0.013],[0.008,-0.004],[0.017,-0.008],[0.008,-0.004],[0.022,-0.011],[0.009,-0.005],[0.013,-0.006],[0.009,-0.005],[0.017,-0.009],[0.01,-0.005],[0.009,-0.005],[0.01,-0.006],[0.017,-0.009],[0.012,-0.007],[0.009,-0.004],[0.013,-0.006],[0.017,-0.009],[0.013,-0.007],[0.008,-0.004],[0.014,-0.007],[0.008,-0.004],[0.015,-0.007],[0.009,-0.004],[0.015,-0.007],[0.008,-0.004],[0.015,-0.007],[0.009,-0.004],[0.016,-0.008],[0.009,-0.004],[0.016,-0.008],[0.009,-0.005],[0.018,-0.01],[0.009,-0.005],[0.016,-0.009],[0.008,-0.005],[0.02,-0.01],[0.004,-0.002],[0.018,-0.01],[0.008,-0.004],[0.021,-0.011],[0.005,-0.003],[0.02,-0.011],[0.008,-0.005],[0.022,-0.012],[0,0],[0.021,-0.011],[0.004,-0.002],[0.022,-0.012],[0.004,-0.003],[0.021,-0.011],[0.004,-0.002],[0.046,-0.025],[0.004,-0.002],[0.047,-0.025],[0.004,-0.003],[0.048,-0.026],[0.004,-0.002],[0.049,-0.026],[0.004,-0.003],[0.049,-0.027],[0,0],[0.748,-0.419],[0,0],[-3.24,1.516]],"o":[[-1.206,0.565],[-0.001,0],[-0.051,0.026],[0,0],[-0.051,0.026],[-0.003,0.001],[-0.034,0.017],[-0.002,0.001],[-0.017,0.009],[-0.003,0.002],[-0.034,0.017],[-0.001,0.001],[-0.017,0.008],[-0.004,0.002],[-0.03,0.015],[-0.002,0.001],[-0.017,0.009],[-0.004,0.002],[-0.025,0.013],[-0.005,0.002],[-0.017,0.008],[-0.005,0.003],[-0.026,0.013],[-0.006,0.003],[-0.017,0.009],[-0.006,0.003],[-0.026,0.013],[-0.007,0.003],[-0.012,0.006],[-0.008,0.004],[-0.026,0.013],[-0.008,0.003],[-0.016,0.009],[-0.008,0.004],[-0.021,0.011],[-0.008,0.004],[-0.013,0.006],[-0.009,0.005],[-0.017,0.009],[-0.011,0.005],[-0.009,0.005],[-0.01,0.005],[-0.017,0.009],[-0.012,0.006],[-0.008,0.004],[-0.013,0.007],[-0.016,0.009],[-0.013,0.007],[-0.008,0.004],[-0.014,0.008],[-0.009,0.005],[-0.014,0.008],[-0.008,0.005],[-0.014,0.008],[-0.008,0.005],[-0.015,0.008],[-0.008,0.005],[-0.015,0.008],[-0.008,0.004],[-0.015,0.009],[-0.008,0.005],[-0.017,0.009],[-0.008,0.004],[-0.016,0.008],[-0.008,0.004],[-0.02,0.01],[-0.004,0.003],[-0.019,0.01],[-0.009,0.005],[-0.022,0.012],[-0.005,0.003],[-0.02,0.011],[-0.009,0.005],[-0.023,0.011],[0,0],[-0.021,0.011],[-0.004,0.002],[-0.022,0.012],[-0.005,0.002],[-0.021,0.011],[-0.004,0.002],[-0.046,0.024],[-0.004,0.002],[-0.047,0.025],[-0.004,0.003],[-0.048,0.025],[-0.004,0.002],[-0.048,0.026],[-0.004,0.003],[-0.049,0.026],[0,0],[-0.756,0.407],[0,0],[3.124,-1.75],[0,0]],"v":[[-63.962,-136.837],[-67.555,-135.097],[-67.557,-135.096],[-67.709,-135.02],[-67.71,-135.02],[-67.86,-134.945],[-67.867,-134.941],[-67.961,-134.893],[-67.965,-134.891],[-68.013,-134.867],[-68.022,-134.863],[-68.114,-134.816],[-68.119,-134.813],[-68.165,-134.79],[-68.178,-134.783],[-68.266,-134.739],[-68.272,-134.736],[-68.318,-134.712],[-68.332,-134.705],[-68.413,-134.665],[-68.426,-134.657],[-68.47,-134.635],[-68.486,-134.627],[-68.563,-134.588],[-68.58,-134.579],[-68.622,-134.557],[-68.641,-134.548],[-68.712,-134.511],[-68.734,-134.501],[-68.773,-134.48],[-68.798,-134.467],[-68.864,-134.433],[-68.887,-134.423],[-68.926,-134.402],[-68.95,-134.39],[-69.015,-134.356],[-69.04,-134.343],[-69.078,-134.324],[-69.106,-134.309],[-69.162,-134.281],[-69.194,-134.264],[-69.23,-134.245],[-69.261,-134.229],[-69.312,-134.204],[-69.348,-134.184],[-69.38,-134.169],[-69.419,-134.148],[-69.462,-134.126],[-69.501,-134.105],[-69.532,-134.089],[-69.574,-134.067],[-69.611,-134.048],[-69.654,-134.027],[-69.684,-134.01],[-69.727,-133.988],[-69.763,-133.969],[-69.807,-133.946],[-69.836,-133.932],[-69.883,-133.906],[-69.913,-133.891],[-69.96,-133.867],[-69.986,-133.852],[-70.039,-133.824],[-70.064,-133.811],[-70.112,-133.786],[-70.138,-133.772],[-70.197,-133.742],[-70.211,-133.734],[-70.266,-133.705],[-70.287,-133.695],[-70.352,-133.66],[-70.359,-133.656],[-70.42,-133.624],[-70.438,-133.614],[-70.505,-133.579],[-70.509,-133.577],[-70.573,-133.544],[-70.589,-133.535],[-70.656,-133.499],[-70.661,-133.497],[-70.724,-133.463],[-70.741,-133.454],[-70.878,-133.381],[-70.89,-133.376],[-71.031,-133.3],[-71.041,-133.294],[-71.185,-133.217],[-71.19,-133.215],[-71.336,-133.137],[-71.342,-133.133],[-71.489,-133.054],[-71.491,-133.053],[-73.746,-131.816],[-72.28,-129.199],[-62.69,-134.12]],"c":true}},"nm":"Path 41","mn":"ADBE Vector Shape - Group"},{"ind":41,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[2.062,-0.717],[0.001,0],[0.037,-0.013],[0.002,0],[0.019,-0.007],[0.002,-0.001],[0.036,-0.012],[0.002,-0.001],[0.013,-0.004],[0.004,-0.001],[0.018,-0.006],[0.002,-0.001],[0.013,-0.005],[0.006,-0.003],[0.009,-0.003],[0.006,-0.002],[0.009,-0.003],[0.01,-0.004],[0.009,-0.003],[0.007,-0.002],[0.009,-0.003],[0.007,-0.003],[0.009,-0.003],[0.012,-0.004],[0.005,-0.001],[0.009,-0.003],[0.009,-0.003],[0.008,-0.003],[0.009,-0.004],[0.014,-0.005],[0.004,-0.002],[0.01,-0.003],[0.004,-0.001],[0.033,-0.012],[0.004,-0.001],[0.011,-0.003],[0.004,-0.002],[0.037,-0.013],[0.004,-0.002],[0.012,-0.004],[0.004,-0.002],[0.092,-0.033],[0,0],[0.867,-0.331],[0,0],[-3.427,1.026]],"o":[[-2.101,0.629],[0,0.001],[-0.036,0.013],[-0.002,0.001],[-0.019,0.007],[-0.002,0],[-0.037,0.013],[-0.003,0.001],[-0.013,0.004],[-0.005,0.002],[-0.019,0.007],[-0.002,0.001],[-0.013,0.005],[-0.006,0.002],[-0.009,0.003],[-0.006,0.003],[-0.009,0.003],[-0.01,0.003],[-0.009,0.003],[-0.007,0.002],[-0.009,0.004],[-0.007,0.003],[-0.009,0.003],[-0.012,0.005],[-0.004,0.002],[-0.009,0.004],[-0.009,0.003],[-0.008,0.003],[-0.009,0.003],[-0.014,0.005],[-0.004,0.002],[-0.01,0.003],[-0.004,0.002],[-0.033,0.012],[-0.005,0.002],[-0.011,0.004],[-0.004,0.002],[-0.037,0.013],[-0.005,0.002],[-0.013,0.005],[-0.005,0.002],[-0.093,0.033],[0,0],[-0.874,0.315],[0,0],[3.343,-1.276],[0,0]],"v":[[-43.424,-144.67],[-49.67,-142.65],[-49.672,-142.649],[-49.778,-142.613],[-49.784,-142.61],[-49.831,-142.593],[-49.837,-142.591],[-49.941,-142.555],[-49.948,-142.553],[-49.99,-142.538],[-50.004,-142.533],[-50.049,-142.518],[-50.055,-142.515],[-50.1,-142.499],[-50.119,-142.492],[-50.15,-142.482],[-50.169,-142.475],[-50.202,-142.463],[-50.233,-142.452],[-50.262,-142.442],[-50.283,-142.436],[-50.311,-142.425],[-50.333,-142.417],[-50.365,-142.406],[-50.401,-142.393],[-50.422,-142.386],[-50.449,-142.376],[-50.472,-142.368],[-50.496,-142.359],[-50.524,-142.35],[-50.566,-142.335],[-50.584,-142.328],[-50.613,-142.318],[-50.63,-142.312],[-50.73,-142.277],[-50.745,-142.271],[-50.777,-142.26],[-50.789,-142.255],[-50.899,-142.216],[-50.904,-142.214],[-50.941,-142.201],[-50.946,-142.199],[-51.224,-142.1],[-51.226,-142.098],[-53.837,-141.13],[-52.767,-138.327],[-42.564,-141.796]],"c":true}},"nm":"Path 42","mn":"ADBE Vector Shape - Group"},{"ind":42,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[2.591,-0.517],[0,0],[0.041,-0.008],[0,0],[0.012,-0.002],[0,0],[0.037,-0.008],[0.005,-0.001],[0.011,-0.003],[0.004,-0.001],[0.036,-0.007],[0.005,-0.001],[0.011,-0.002],[0.004,-0.001],[0.022,-0.005],[0.005,-0.001],[0.01,-0.002],[0.005,-0.001],[0.034,-0.007],[0.01,-0.002],[0.008,-0.002],[0.009,-0.002],[0.008,-0.001],[0.019,-0.004],[0.007,-0.001],[0.009,-0.002],[0.005,-0.001],[0.019,-0.004],[0.003,-0.001],[0.019,-0.004],[0.005,-0.001],[0.01,-0.002],[0.005,-0.001],[0.019,-0.004],[0.003,-0.001],[0.019,-0.004],[0.005,-0.001],[0.019,-0.004],[0,0],[0.019,-0.004],[0.001,0],[0.019,-0.004],[0.001,0],[0.039,-0.008],[0.482,-0.107],[0,0],[-3.545,0.516]],"o":[[-2.637,0.384],[0,0],[-0.041,0.008],[0,0],[-0.013,0.003],[0,0],[-0.037,0.008],[-0.005,0.001],[-0.011,0.002],[-0.005,0.001],[-0.036,0.007],[-0.005,0.001],[-0.011,0.002],[-0.005,0.001],[-0.022,0.005],[-0.004,0.001],[-0.01,0.002],[-0.005,0.001],[-0.033,0.007],[-0.01,0.002],[-0.008,0.001],[-0.01,0.002],[-0.008,0.001],[-0.019,0.004],[-0.007,0.001],[-0.01,0.002],[-0.006,0.001],[-0.019,0.004],[-0.003,0],[-0.02,0.004],[-0.005,0.001],[-0.01,0.002],[-0.004,0.001],[-0.019,0.004],[-0.003,0.001],[-0.019,0.004],[-0.004,0.001],[-0.019,0.004],[0,0],[-0.019,0.004],[-0.001,0],[-0.019,0.004],[-0.001,0.001],[-0.039,0.008],[-0.484,0.102],[0,0],[3.491,-0.772],[0,0]],"v":[[-21.962,-149.416],[-29.805,-148.063],[-29.809,-148.062],[-29.93,-148.038],[-29.934,-148.037],[-29.972,-148.029],[-29.979,-148.028],[-30.09,-148.005],[-30.107,-148.002],[-30.139,-147.995],[-30.154,-147.992],[-30.261,-147.971],[-30.276,-147.967],[-30.309,-147.962],[-30.32,-147.959],[-30.385,-147.945],[-30.398,-147.943],[-30.429,-147.936],[-30.447,-147.933],[-30.547,-147.912],[-30.571,-147.907],[-30.596,-147.902],[-30.624,-147.896],[-30.647,-147.893],[-30.692,-147.882],[-30.713,-147.878],[-30.746,-147.872],[-30.763,-147.868],[-30.809,-147.859],[-30.818,-147.856],[-30.865,-147.846],[-30.881,-147.843],[-30.92,-147.835],[-30.934,-147.833],[-30.985,-147.822],[-30.993,-147.82],[-31.038,-147.811],[-31.051,-147.808],[-31.101,-147.798],[-31.102,-147.798],[-31.158,-147.785],[-31.162,-147.785],[-31.215,-147.774],[-31.218,-147.773],[-31.332,-147.749],[-32.78,-147.436],[-32.133,-144.507],[-21.53,-146.447]],"c":true}},"nm":"Path 43","mn":"ADBE Vector Shape - Group"},{"ind":43,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.011,0],[0,0],[0.02,0],[0,0],[0.01,0],[0.006,0],[0.02,0],[0,0],[0.02,0],[0.005,0],[0.021,0],[0.002,0],[0.02,0],[0.005,0],[0.01,0],[0.005,0],[0.021,0],[0,0],[0.021,0],[0.005,0],[0.02,0],[0.002,0],[0.02,0],[0.004,0],[0.015,0],[0.005,0],[0.02,0],[0.004,0],[0.01,0],[0.006,0],[0.015,0],[0,0],[0.02,0],[0.005,0],[0.01,0],[0.004,0],[0.02,0],[0.004,0],[0.01,0],[0.005,0],[0.021,0],[0.001,0],[0.021,0],[0.005,0],[0.015,0],[0.005,0],[0.02,-0.001],[0.004,0],[0.01,0],[0,0],[0.02,0],[0.002,0],[0.015,0],[0.005,-0.001],[0.01,0],[0.004,0],[0.02,0],[0.006,0],[0.01,0],[0.005,0],[0.02,0],[0.006,-0.001],[0.01,0],[0.006,0],[0.015,0],[0.003,0],[0.021,-0.001],[0.006,0],[0.01,0],[0.006,0],[0.021,0],[0.004,0],[0.01,0],[0.006,-0.001],[0.016,0],[0.003,0],[0.02,0],[0.006,0],[0.01,0],[0.005,0],[0.02,0],[0.006,0],[0.01,0],[0.005,0],[0.02,0],[0.003,0],[0.015,0],[0.005,-0.001],[0.01,0],[0.004,-0.001],[0.021,0],[0.007,0],[0.01,0],[0.008,0],[0.01,0],[0.01,0],[0.01,0],[0.008,0],[0.01,0],[0.006,0],[0.015,0],[0.009,0],[0.01,-0.001],[0.008,0],[0.016,0],[0.008,-0.001],[0.011,0],[0.009,-0.001],[0.01,0],[0.013,0],[0.01,0],[0.009,-0.001],[0.01,0],[0.01,-0.001],[0.005,0],[0.016,0],[0.01,0],[0.011,-0.001],[0.005,0],[0.02,-0.001],[0.005,0],[0.011,-0.001],[0.006,0],[0.037,-0.001],[0.005,0],[0.012,0],[0.005,-0.001],[0.023,0],[0.005,-0.001],[0.012,-0.001],[0.005,0],[0.025,-0.001],[0,0],[0.012,0],[0,0],[0.039,-0.002],[0.005,0],[0.012,0],[0.005,0],[0.025,0],[0,0],[0.012,-0.001],[0,0],[0.04,-0.001],[0.005,0],[0.055,-0.002],[0,0],[2.041,-0.147],[0,0],[-3.588,0]],"o":[[0,0],[0,0],[-0.01,0],[0,0],[-0.02,0],[0,0],[-0.01,0],[-0.006,0],[-0.02,0],[0,0],[-0.021,0],[-0.005,0],[-0.02,0],[-0.002,0],[-0.02,0],[-0.005,0],[-0.01,0],[-0.005,0],[-0.02,0],[0,0],[-0.02,0],[-0.004,0],[-0.02,0.001],[-0.001,0],[-0.02,0],[-0.004,0],[-0.015,0],[-0.004,0],[-0.02,0.001],[-0.004,0],[-0.01,0],[-0.006,0],[-0.015,0],[0,0],[-0.02,0.001],[-0.005,0],[-0.01,0],[-0.004,0],[-0.02,0.001],[-0.004,0],[-0.01,0],[-0.005,0],[-0.021,0.001],[-0.001,0],[-0.02,0],[-0.004,0],[-0.015,0.001],[-0.004,0],[-0.02,0],[-0.004,0],[-0.01,0],[0,0],[-0.021,0],[-0.002,0],[-0.016,0],[-0.005,0],[-0.01,0],[-0.004,0],[-0.02,0],[-0.005,0],[-0.01,0],[-0.006,0.001],[-0.021,0],[-0.006,0],[-0.01,0],[-0.006,0],[-0.015,0],[-0.002,0],[-0.02,0],[-0.005,0],[-0.01,0],[-0.006,0.001],[-0.02,0],[-0.004,0.001],[-0.01,0],[-0.006,0],[-0.015,0],[-0.002,0],[-0.02,0.001],[-0.006,0],[-0.01,0.001],[-0.005,0],[-0.02,0.001],[-0.006,0],[-0.01,0.001],[-0.006,0],[-0.021,0.001],[-0.003,0],[-0.015,0.001],[-0.006,0],[-0.01,0],[-0.004,0],[-0.02,0],[-0.007,0.001],[-0.01,0],[-0.008,0.001],[-0.01,0],[-0.01,0],[-0.01,0],[-0.009,0],[-0.01,0.001],[-0.006,0],[-0.015,0.001],[-0.008,0.001],[-0.01,0],[-0.008,0],[-0.015,0],[-0.007,0],[-0.01,0],[-0.009,0],[-0.01,0],[-0.013,0.001],[-0.01,0],[-0.009,0],[-0.01,0],[-0.01,0],[-0.005,0],[-0.016,0.001],[-0.011,0.001],[-0.01,0],[-0.005,0],[-0.021,0.001],[-0.005,0],[-0.012,0],[-0.005,0],[-0.037,0.001],[-0.006,0],[-0.011,0.001],[-0.005,0],[-0.022,0],[-0.005,0],[-0.011,0],[-0.005,0],[-0.025,0.001],[0,0],[-0.012,0],[0,0],[-0.038,0.001],[-0.005,0],[-0.013,0],[-0.005,0],[-0.025,0.001],[0,0],[-0.013,0.001],[0,0],[-0.039,0.001],[-0.005,0.001],[-0.055,0.001],[0,0],[-2.062,0.065],[0,0],[3.562,-0.256],[0,0]],"v":[[-0.037,-150.997],[-0.091,-150.997],[-0.107,-150.997],[-0.15,-150.997],[-0.163,-150.997],[-0.216,-150.997],[-0.23,-150.997],[-0.271,-150.997],[-0.288,-150.997],[-0.341,-150.997],[-0.346,-150.997],[-0.397,-150.997],[-0.411,-150.997],[-0.459,-150.995],[-0.466,-150.995],[-0.52,-150.995],[-0.535,-150.995],[-0.578,-150.995],[-0.592,-150.995],[-0.646,-150.995],[-0.654,-150.995],[-0.702,-150.995],[-0.715,-150.995],[-0.766,-150.994],[-0.771,-150.994],[-0.826,-150.994],[-0.838,-150.994],[-0.883,-150.994],[-0.896,-150.994],[-0.95,-150.993],[-0.961,-150.993],[-1.004,-150.993],[-1.022,-150.993],[-1.074,-150.993],[-1.075,-150.993],[-1.129,-150.992],[-1.144,-150.992],[-1.188,-150.992],[-1.2,-150.992],[-1.254,-150.992],[-1.266,-150.992],[-1.31,-150.992],[-1.324,-150.992],[-1.379,-150.99],[-1.382,-150.99],[-1.435,-150.99],[-1.448,-150.99],[-1.492,-150.989],[-1.505,-150.989],[-1.558,-150.988],[-1.571,-150.988],[-1.614,-150.988],[-1.629,-150.988],[-1.683,-150.988],[-1.689,-150.988],[-1.737,-150.988],[-1.753,-150.986],[-1.797,-150.986],[-1.809,-150.986],[-1.861,-150.985],[-1.878,-150.985],[-1.917,-150.985],[-1.933,-150.984],[-1.984,-150.984],[-2.002,-150.984],[-2.04,-150.984],[-2.058,-150.984],[-2.105,-150.982],[-2.112,-150.982],[-2.165,-150.981],[-2.182,-150.981],[-2.22,-150.981],[-2.238,-150.98],[-2.29,-150.98],[-2.303,-150.979],[-2.344,-150.979],[-2.362,-150.979],[-2.411,-150.979],[-2.418,-150.979],[-2.468,-150.977],[-2.487,-150.977],[-2.525,-150.976],[-2.541,-150.976],[-2.592,-150.975],[-2.609,-150.975],[-2.648,-150.975],[-2.665,-150.975],[-2.717,-150.973],[-2.726,-150.973],[-2.772,-150.972],[-2.788,-150.971],[-2.831,-150.971],[-2.844,-150.971],[-2.895,-150.971],[-2.916,-150.969],[-2.947,-150.969],[-2.971,-150.968],[-3.011,-150.967],[-3.041,-150.967],[-3.071,-150.966],[-3.096,-150.966],[-3.13,-150.965],[-3.148,-150.965],[-3.196,-150.964],[-3.221,-150.963],[-3.251,-150.962],[-3.274,-150.962],[-3.322,-150.962],[-3.345,-150.96],[-3.374,-150.96],[-3.4,-150.959],[-3.428,-150.959],[-3.468,-150.958],[-3.499,-150.958],[-3.526,-150.956],[-3.549,-150.956],[-3.579,-150.955],[-3.605,-150.955],[-3.652,-150.954],[-3.674,-150.953],[-3.706,-150.952],[-3.721,-150.952],[-3.783,-150.95],[-3.797,-150.95],[-3.831,-150.949],[-3.849,-150.949],[-3.96,-150.946],[-3.973,-150.946],[-4.008,-150.945],[-4.02,-150.945],[-4.087,-150.943],[-4.1,-150.942],[-4.135,-150.941],[-4.149,-150.941],[-4.224,-150.939],[-4.225,-150.939],[-4.261,-150.938],[-4.275,-150.938],[-4.391,-150.934],[-4.4,-150.934],[-4.438,-150.933],[-4.445,-150.933],[-4.52,-150.932],[-4.527,-150.932],[-4.564,-150.929],[-4.575,-150.929],[-4.693,-150.926],[-4.702,-150.925],[-4.867,-150.92],[-4.874,-150.92],[-11.029,-150.602],[-10.813,-147.61],[-0.037,-147.997]],"c":true}},"nm":"Path 44","mn":"ADBE Vector Shape - Group"},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240.037,240.003],[239.963,240.003],[239.963,-239.997],[-240.037,-239.997]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240.037,-239.997],[239.963,-239.997],[239.963,240.003],[-240.037,240.003]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge"},{"ty":"fl","c":{"a":0,"k":[0.64,0.64,0.64,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[151.213,151.247],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":48,"mn":"ADBE Vector Group"}],"ip":0,"op":225,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":0,"nm":"explosion","refId":"comp_12","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[112.00000000000001,199,0]},"a":{"a":0,"k":[240,240,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":480,"h":480,"ip":57,"op":282,"st":57,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":0,"nm":"explosion","refId":"comp_12","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[358,134,0]},"a":{"a":0,"k":[240,240,0]},"s":{"a":0,"k":[70.417,70.417,100]}},"ao":0,"w":480,"h":480,"ip":47,"op":272,"st":47,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"explosion","refId":"comp_12","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[110.00000000000001,156,0]},"a":{"a":0,"k":[240,240,0]},"s":{"a":0,"k":[114.792,114.792,100]}},"ao":0,"w":480,"h":480,"ip":15,"op":240,"st":15,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":0,"nm":"explosion","refId":"comp_12","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[368,376,0]},"a":{"a":0,"k":[240,240,0]},"s":{"a":0,"k":[70.417,70.417,100]}},"ao":0,"w":480,"h":480,"ip":35,"op":260,"st":35,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":0,"nm":"Image - precomp","refId":"comp_13","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[240,240,0]},"a":{"a":0,"k":[240,240,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":480,"h":480,"ip":0,"op":225,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":0,"nm":"explosion","refId":"comp_12","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[240,240,0]},"a":{"a":0,"k":[240,240,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":480,"h":480,"ip":0,"op":225,"st":0,"bm":0,"sr":1}]}
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/MultiUpload/DescriptionInput.js b/frontend/src/Components/ComponentUtils/MultiUpload/DescriptionInput.js
new file mode 100644
index 0000000..0890ff9
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/MultiUpload/DescriptionInput.js
@@ -0,0 +1,164 @@
+import React from 'react';
+import { makeStyles } from '@material-ui/core/styles';
+import { TextField, Typography, Grid, Box } from '@material-ui/core';
+
+const useStyles = makeStyles({
+ container: {
+ marginTop: '20px',
+ marginBottom: '20px'
+ },
+ sectionTitle: {
+ fontFamily: 'roboto',
+ fontSize: '18px',
+ color: '#333333',
+ marginBottom: '15px',
+ display: 'block',
+ fontWeight: '500'
+ },
+ fieldLabel: {
+ fontFamily: 'roboto',
+ fontSize: '14px',
+ color: '#555555',
+ marginBottom: '8px',
+ display: 'block'
+ },
+ textField: {
+ width: '100%',
+ marginBottom: '15px',
+ '& .MuiOutlinedInput-root': {
+ borderRadius: '8px'
+ }
+ },
+ requiredField: {
+ '& .MuiOutlinedInput-root': {
+ borderRadius: '8px',
+ '& fieldset': {
+ borderColor: '#E57373'
+ }
+ }
+ },
+ optionalField: {
+ '& .MuiOutlinedInput-root': {
+ borderRadius: '8px',
+ '& fieldset': {
+ borderColor: '#E0E0E0'
+ }
+ }
+ },
+ characterCount: {
+ fontSize: '12px',
+ color: '#999999',
+ textAlign: 'right',
+ marginTop: '-10px',
+ marginBottom: '10px'
+ },
+ requiredIndicator: {
+ color: '#E57373',
+ fontSize: '16px'
+ },
+ optionalIndicator: {
+ color: '#9E9E9E',
+ fontSize: '12px',
+ fontStyle: 'italic'
+ }
+});
+
+function DescriptionInput({
+ metadata = {},
+ onMetadataChange
+}) {
+ const classes = useStyles();
+
+ const handleFieldChange = (field, value) => {
+ const updatedMetadata = {
+ ...metadata,
+ [field]: value
+ };
+ onMetadataChange(updatedMetadata);
+ };
+
+ const currentYear = new Date().getFullYear();
+
+ return (
+
+
+ đ Projekt-Informationen
+
+
+
+
+
+ Jahr *
+
+ handleFieldChange('year', parseInt(e.target.value))}
+ placeholder={currentYear.toString()}
+ inputProps={{
+ min: 1900,
+ max: currentYear + 10
+ }}
+ />
+
+
+
+
+ Titel *
+
+ handleFieldChange('title', e.target.value)}
+ placeholder="z.B. Wohnzimmer Renovierung"
+ inputProps={{
+ maxLength: 100
+ }}
+ />
+
+
+
+
+ Beschreibung (optional)
+
+ handleFieldChange('description', e.target.value)}
+ placeholder="Detaillierte Beschreibung des Projekts..."
+ inputProps={{
+ maxLength: 500
+ }}
+ />
+
+ {(metadata.description || '').length} / 500 Zeichen
+
+
+
+
+
+ Name/Ersteller (optional)
+
+ handleFieldChange('name', e.target.value)}
+ placeholder="Dein Name oder Projektersteller"
+ inputProps={{
+ maxLength: 50
+ }}
+ />
+
+
+
+ );
+}
+
+export default DescriptionInput;
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/MultiUpload/ImagePreviewGallery.js b/frontend/src/Components/ComponentUtils/MultiUpload/ImagePreviewGallery.js
new file mode 100644
index 0000000..96e9b7d
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/MultiUpload/ImagePreviewGallery.js
@@ -0,0 +1,142 @@
+import React from 'react';
+import { makeStyles } from '@material-ui/core/styles';
+import { Grid, Card, CardMedia, IconButton, Typography, Box } from '@material-ui/core';
+import { Close as CloseIcon, DragIndicator as DragIcon } from '@material-ui/icons';
+
+const useStyles = makeStyles({
+ galleryContainer: {
+ marginTop: '20px',
+ marginBottom: '20px'
+ },
+ imageCard: {
+ position: 'relative',
+ borderRadius: '8px',
+ overflow: 'hidden',
+ transition: 'transform 0.2s ease',
+ '&:hover': {
+ transform: 'scale(1.02)'
+ }
+ },
+ imageMedia: {
+ height: 150,
+ objectFit: 'cover'
+ },
+ removeButton: {
+ position: 'absolute',
+ top: '5px',
+ right: '5px',
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
+ color: '#f44336',
+ '&:hover': {
+ backgroundColor: '#ffffff',
+ color: '#d32f2f'
+ }
+ },
+ dragHandle: {
+ position: 'absolute',
+ top: '5px',
+ left: '5px',
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
+ color: '#666666',
+ cursor: 'grab'
+ },
+ imageOrder: {
+ position: 'absolute',
+ bottom: '5px',
+ left: '5px',
+ backgroundColor: 'rgba(0, 0, 0, 0.7)',
+ color: 'white',
+ borderRadius: '12px',
+ padding: '2px 8px',
+ fontSize: '12px',
+ fontWeight: 'bold'
+ },
+ fileName: {
+ position: 'absolute',
+ bottom: '0',
+ left: '0',
+ right: '0',
+ backgroundColor: 'rgba(0, 0, 0, 0.7)',
+ color: 'white',
+ padding: '5px',
+ fontSize: '11px',
+ textOverflow: 'ellipsis',
+ overflow: 'hidden',
+ whiteSpace: 'nowrap'
+ },
+ galleryHeader: {
+ marginBottom: '15px',
+ fontFamily: 'roboto',
+ color: '#333333'
+ }
+});
+
+function ImagePreviewGallery({ images, onRemoveImage, onReorderImages }) {
+ const classes = useStyles();
+
+ if (!images || images.length === 0) {
+ return null;
+ }
+
+ const handleRemoveImage = (index) => {
+ onRemoveImage(index);
+ };
+
+ const formatFileSize = (bytes) => {
+ if (bytes === 0) return '0 Bytes';
+ const k = 1024;
+ const sizes = ['Bytes', 'KB', 'MB', 'GB'];
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
+ };
+
+ return (
+
+
+ Vorschau ({images.length} Bild{images.length !== 1 ? 'er' : ''})
+
+
+
+ {images.map((image, index) => (
+
+
+
+
+ handleRemoveImage(index)}
+ title="Bild entfernen"
+ >
+
+
+
+
+
+
+
+
+ {index + 1}
+
+
+
+ {image.name} âą {formatFileSize(image.size)}
+
+
+
+ ))}
+
+
+ );
+}
+
+export default ImagePreviewGallery;
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/MultiUpload/MultiImageDropzone.js b/frontend/src/Components/ComponentUtils/MultiUpload/MultiImageDropzone.js
new file mode 100644
index 0000000..b533e98
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/MultiUpload/MultiImageDropzone.js
@@ -0,0 +1,99 @@
+import React, { useCallback } from 'react';
+import { useDropzone } from 'react-dropzone';
+import { makeStyles } from '@material-ui/core/styles';
+
+const useStyles = makeStyles({
+ dropzone: {
+ border: '2px dashed #cccccc',
+ borderRadius: '8px',
+ padding: '40px 20px',
+ textAlign: 'center',
+ cursor: 'pointer',
+ transition: 'all 0.3s ease',
+ backgroundColor: '#fafafa',
+ minHeight: '200px',
+ display: 'flex',
+ flexDirection: 'column',
+ justifyContent: 'center',
+ alignItems: 'center',
+ '&:hover': {
+ borderColor: '#999999',
+ backgroundColor: '#f0f0f0'
+ }
+ },
+ dropzoneActive: {
+ borderColor: '#4CAF50',
+ backgroundColor: '#e8f5e8'
+ },
+ dropzoneText: {
+ fontSize: '18px',
+ fontFamily: 'roboto',
+ color: '#666666',
+ margin: '10px 0'
+ },
+ dropzoneSubtext: {
+ fontSize: '14px',
+ color: '#999999',
+ fontFamily: 'roboto'
+ },
+ fileCount: {
+ fontSize: '16px',
+ color: '#4CAF50',
+ fontWeight: 'bold',
+ marginTop: '10px'
+ }
+});
+
+function MultiImageDropzone({ onImagesSelected, selectedImages = [] }) {
+ const classes = useStyles();
+
+ const onDrop = useCallback((acceptedFiles) => {
+ // Filter nur Bilddateien
+ const imageFiles = acceptedFiles.filter(file =>
+ file.type.startsWith('image/')
+ );
+
+ if (imageFiles.length !== acceptedFiles.length) {
+ alert('Nur Bilddateien sind erlaubt!');
+ }
+
+ onImagesSelected(imageFiles);
+ }, [onImagesSelected]);
+
+ const { getRootProps, getInputProps, isDragActive } = useDropzone({
+ onDrop,
+ accept: {
+ 'image/*': ['.jpeg', '.jpg', '.png', '.gif', '.bmp', '.webp']
+ },
+ multiple: true,
+ maxSize: 10 * 1024 * 1024 // 10MB pro Datei
+ });
+
+ return (
+
+
+
+
+ {isDragActive ?
+ 'Bilder hierher ziehen...' :
+ 'Mehrere Bilder hier hinziehen oder klicken zum AuswÀhlen'
+ }
+
+
+
+ UnterstĂŒtzte Formate: JPG, PNG, GIF, WebP (max. 10MB pro Datei)
+
+
+ {selectedImages.length > 0 && (
+
+ đž {selectedImages.length} Bild{selectedImages.length !== 1 ? 'er' : ''} ausgewĂ€hlt
+
+ )}
+
+ );
+}
+
+export default MultiImageDropzone;
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/MultiUpload/SimpleMultiImageDropzone.js b/frontend/src/Components/ComponentUtils/MultiUpload/SimpleMultiImageDropzone.js
new file mode 100644
index 0000000..a8cd039
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/MultiUpload/SimpleMultiImageDropzone.js
@@ -0,0 +1,142 @@
+import React, { useCallback } from 'react';
+import { makeStyles } from '@material-ui/core/styles';
+
+const useStyles = makeStyles({
+ dropzone: {
+ border: '2px dashed #cccccc',
+ borderRadius: '8px',
+ padding: '40px 20px',
+ textAlign: 'center',
+ cursor: 'pointer',
+ transition: 'all 0.3s ease',
+ backgroundColor: '#fafafa',
+ minHeight: '200px',
+ display: 'flex',
+ flexDirection: 'column',
+ justifyContent: 'center',
+ alignItems: 'center',
+ '&:hover': {
+ borderColor: '#999999',
+ backgroundColor: '#f0f0f0'
+ }
+ },
+ dropzoneActive: {
+ borderColor: '#4CAF50',
+ backgroundColor: '#e8f5e8'
+ },
+ dropzoneText: {
+ fontSize: '18px',
+ fontFamily: 'roboto',
+ color: '#666666',
+ margin: '10px 0'
+ },
+ dropzoneSubtext: {
+ fontSize: '14px',
+ color: '#999999',
+ fontFamily: 'roboto'
+ },
+ fileCount: {
+ fontSize: '16px',
+ color: '#4CAF50',
+ fontWeight: 'bold',
+ marginTop: '10px'
+ },
+ hiddenInput: {
+ display: 'none'
+ }
+});
+
+function MultiImageDropzone({ onImagesSelected, selectedImages = [] }) {
+ const classes = useStyles();
+
+ const handleFiles = (files) => {
+ // Filter nur Bilddateien
+ const imageFiles = Array.from(files).filter(file =>
+ file.type.startsWith('image/')
+ );
+
+ if (imageFiles.length !== files.length) {
+ alert('Nur Bilddateien sind erlaubt!');
+ }
+
+ if (imageFiles.length > 0) {
+ console.log('Selected images:', imageFiles);
+ onImagesSelected(imageFiles);
+ }
+ };
+
+ const handleDragOver = (e) => {
+ e.preventDefault();
+ e.stopPropagation();
+ };
+
+ const handleDragEnter = (e) => {
+ e.preventDefault();
+ e.stopPropagation();
+ };
+
+ const handleDragLeave = (e) => {
+ e.preventDefault();
+ e.stopPropagation();
+ };
+
+ const handleDrop = (e) => {
+ e.preventDefault();
+ e.stopPropagation();
+
+ const files = e.dataTransfer.files;
+ handleFiles(files);
+ };
+
+ const handleFileInputChange = (e) => {
+ const files = e.target.files;
+ if (files && files.length > 0) {
+ handleFiles(files);
+ }
+ };
+
+ const handleClick = () => {
+ const fileInput = document.getElementById('multi-file-input');
+ if (fileInput) {
+ fileInput.click();
+ }
+ };
+
+ return (
+
+
+
+ đž Mehrere Bilder hier hinziehen oder klicken zum AuswĂ€hlen
+
+
+
+ UnterstĂŒtzte Formate: JPG, PNG, GIF, WebP (max. 10MB pro Datei)
+
+
+ {selectedImages.length > 0 && (
+
+ â
{selectedImages.length} Bild{selectedImages.length !== 1 ? 'er' : ''} ausgewÀhlt
+
+ )}
+
+
+
+
+ );
+}
+
+export default MultiImageDropzone;
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/MultiUpload/UploadProgress.js b/frontend/src/Components/ComponentUtils/MultiUpload/UploadProgress.js
new file mode 100644
index 0000000..0d86317
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/MultiUpload/UploadProgress.js
@@ -0,0 +1,79 @@
+import React from 'react';
+import { makeStyles } from '@material-ui/core/styles';
+import { LinearProgress, Typography, Box } from '@material-ui/core';
+
+const useStyles = makeStyles({
+ container: {
+ marginTop: '20px',
+ marginBottom: '20px',
+ padding: '20px',
+ border: '1px solid #e0e0e0',
+ borderRadius: '8px',
+ backgroundColor: '#fafafa'
+ },
+ progressBar: {
+ height: '8px',
+ borderRadius: '4px',
+ marginBottom: '10px'
+ },
+ progressText: {
+ fontSize: '14px',
+ color: '#666666',
+ textAlign: 'center'
+ },
+ fileInfo: {
+ fontSize: '12px',
+ color: '#999999',
+ textAlign: 'center',
+ marginTop: '5px'
+ }
+});
+
+function UploadProgress({
+ progress = 0,
+ currentFile = null,
+ totalFiles = 0,
+ completedFiles = 0,
+ isUploading = false
+}) {
+ const classes = useStyles();
+
+ if (!isUploading) {
+ return null;
+ }
+
+ return (
+
+
+
+
+
+
+
+ {Math.round(progress)}%
+
+
+
+
+
+ {currentFile ? (
+ <>đ€ Uploading: {currentFile}>
+ ) : (
+ <>đ€ Uploading {totalFiles} Bild{totalFiles !== 1 ? 'er' : ''}...>
+ )}
+
+
+ {totalFiles > 1 && (
+
+ {completedFiles} von {totalFiles} Dateien abgeschlossen
+
+ )}
+
+ );
+}
+
+export default UploadProgress;
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/SocialMedia/Css/SocialMedia.css b/frontend/src/Components/ComponentUtils/SocialMedia/Css/SocialMedia.css
new file mode 100644
index 0000000..af75a4c
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/SocialMedia/Css/SocialMedia.css
@@ -0,0 +1,143 @@
+i {
+ opacity: 0;
+ font-size: 28px;
+ color: #1F1E1E;
+ will-change: transform;
+ -webkit-transform: scale(.1);
+ transform: scale(.1);
+ -webkit-transition: all .3s ease;
+ transition: all .3s ease;
+}
+
+.btn_wrap {
+ margin-top: 50px;
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ position: relative;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ overflow: hidden;
+ cursor: pointer;
+ width: 232px;
+ height: 60px;
+ background-color: #EEEEED;
+ border-radius: 80px;
+ padding: 0 18px;
+ will-change: transform;
+ -webkit-transition: all .2s ease-in-out;
+ transition: all .2s ease-in-out;
+}
+
+.btn_wrap:hover {
+ /* transition-delay: .4s; */
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1)
+}
+
+.socialSpan {
+ position: absolute;
+ z-index: 99;
+ width: 240px;
+ height: 72px;
+ border-radius: 80px;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ font-size: 20px;
+ text-align: center;
+ line-height: 70px;
+ letter-spacing: 2px;
+ color: #EEEEED;
+ background-color: #25252A;
+ padding: 0 18px;
+ -webkit-transition: all 1.2s ease;
+ transition: all 1.2s ease;
+}
+
+.shareWrap {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: distribute;
+ justify-content: space-around;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ width: 240px;
+ height: 64px;
+ border-radius: 80px;
+}
+
+.shareWrap i:nth-of-type(1) {
+ -webkit-transition-delay: .5s;
+ transition-delay: .5s;
+}
+
+.shareWrap i:nth-of-type(2) {
+ -webkit-transition-delay: .9s;
+ transition-delay: .9s;
+}
+
+.shareWrap i:nth-of-type(3) {
+ -webkit-transition-delay: .7s;
+ transition-delay: .7s;
+}
+
+.shareWrap i:nth-of-type(4) {
+ -webkit-transition-delay: .4s;
+ transition-delay: .4s;
+}
+
+.btn_wrap:hover span {
+ -webkit-transition-delay: .25s;
+ transition-delay: .25s;
+ -webkit-transform: translateX(-520px);
+ transform: translateX(-520px)
+}
+
+.btn_wrap:hover i {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+}
+
+.iconButton {
+ cursor: pointer;
+ border: none;
+ transition: all .2s ease-in-out;
+}
+
+.iconButton:focus {
+ outline: none;
+}
+
+.iconButton:hover {
+ transform: scale(1.2)
+}
+
+.iconButton:after {
+ content: "";
+ background: #f1f1f1;
+ display: block;
+ position: absolute;
+ padding-top: 300%;
+ padding-left: 350%;
+ margin-left: -0px !important;
+ margin-top: -120%;
+ opacity: 0;
+ transition: all 0.8s
+ }
+
+.iconButton:active:after {
+ padding: 0;
+ margin: 0;
+ opacity: 1;
+ transition: 0s
+}
+
diff --git a/frontend/src/Components/ComponentUtils/SocialMedia/SocialMediaShareButtons.js b/frontend/src/Components/ComponentUtils/SocialMedia/SocialMediaShareButtons.js
new file mode 100644
index 0000000..7bb0a4e
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/SocialMedia/SocialMediaShareButtons.js
@@ -0,0 +1,24 @@
+import React, { Component } from 'react'
+import './Css/SocialMedia.css'
+
+export default class SocialMediaShareButtons extends Component {
+ render() {
+ const path = this.props.image_url
+ const URL = `${window._env_.CLIENT_URL}/upload/${path}`
+ const SERVER_URL = `${window._env_.API_URL}/download/${path}`
+ const TEXT = `Hey, look at this cool image I uploaded!`
+ return (
+
+
Share
+
+
+
+
+
{navigator.clipboard.writeText(URL)}} className="iconButton" >
+
+
+
+ )
+ }
+}
+
diff --git a/frontend/src/Components/ComponentUtils/StyledDropzone.js b/frontend/src/Components/ComponentUtils/StyledDropzone.js
new file mode 100644
index 0000000..b81f499
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/StyledDropzone.js
@@ -0,0 +1,96 @@
+import React, { useMemo, useRef } from 'react';
+import { useDropzone } from 'react-dropzone';
+
+import { sendRequest } from '../../Utils/sendRequest'
+import goingUpImage from '../../Images/going_up.svg'
+
+
+const baseStyle = {
+ flex: 1,
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ padding: '20px',
+ borderWidth: 2,
+ borderRadius: 2,
+ borderColor: '#eeeeee',
+ borderStyle: 'dashed',
+ backgroundColor: '#fafafa',
+ color: '#bdbdbd',
+ outline: 'none',
+ transition: 'border .24s ease-in-out',
+};
+
+const activeStyle = {
+ borderColor: '#2196f3'
+};
+
+const acceptStyle = {
+ borderColor: '#00e676'
+};
+
+const rejectStyle = {
+ borderColor: '#ff1744'
+};
+
+const textStyle = {
+ fontFamily: "Roboto",
+ fontWeight: "300",
+ fontSize: "14px"
+}
+
+const divStyle = {
+ float:"left",
+ position:"absolute",
+ marginTop: "56px",
+ marginRight: "10px",
+ padding:"20px",
+ color:"#FFFFFF",
+ cursor: "pointer"
+}
+
+
+export default function StyledDropzone(props) {
+ const {
+ getRootProps,
+ isDragActive,
+ isDragAccept,
+ isDragReject
+ } = useDropzone({accept: 'image/jpeg, image/png, image/gif', onDrop: (file) => {
+ sendRequest(file[0], props.handleLoading, props.handleResponse)
+ }});
+
+ const style = useMemo(() => ({
+ ...baseStyle,
+ ...(isDragActive ? activeStyle : {}),
+ ...(isDragAccept ? acceptStyle : {}),
+ ...(isDragReject ? rejectStyle : {})
+ }), [
+ isDragActive,
+ isDragReject,
+ isDragAccept
+ ]);
+
+ const inputFile = useRef(null)
+
+ const handleChange = event => {
+ const fileUploaded = event.target.files[0];
+ sendRequest(fileUploaded, props.handleLoading, props.handleResponse)
+ }
+
+ const onDivClick = () => {
+ inputFile.current.click();
+ }
+
+ return (
+
+
+
Drag 'n' drop your image here
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/frontend/src/Components/ComponentUtils/UploadButton.js b/frontend/src/Components/ComponentUtils/UploadButton.js
new file mode 100644
index 0000000..5aa43d8
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/UploadButton.js
@@ -0,0 +1,49 @@
+import React, { Fragment, useRef } from 'react';
+import { makeStyles } from '@material-ui/core/styles';
+
+import { sendRequest } from '../../Utils/sendRequest';
+
+import Button from '@material-ui/core/Button';
+
+import CloudUploadIcon from '@material-ui/icons/CloudUpload';
+
+const useStyles = makeStyles({
+ button: {
+ margin: 10,
+ marginTop: 20,
+ left: "14%"
+ },
+ });
+
+export default function UploadButton(props) {
+ const classes = useStyles();
+
+ const inputFile = useRef(null)
+
+ const onButtonClick = () => {
+ inputFile.current.click();
+ }
+
+ const handleChange = event => {
+ const fileUploaded = event.target.files[0];
+ sendRequest(fileUploaded, props.handleLoading, props.handleResponse)
+ }
+
+ return(
+
+
+
+ }
+ onClick={onButtonClick}
+ >
+ Choose Image
+
+
+ )
+}
+
diff --git a/frontend/src/Components/ComponentUtils/UploadedImage.js b/frontend/src/Components/ComponentUtils/UploadedImage.js
new file mode 100644
index 0000000..c06c4a6
--- /dev/null
+++ b/frontend/src/Components/ComponentUtils/UploadedImage.js
@@ -0,0 +1,43 @@
+import React, { Component, Fragment } from 'react'
+
+import './Css/Image.css'
+import './Css/Image.scss'
+
+export default class UploadedImage extends Component {
+ state = {
+ showModal: false,
+ caption: '',
+ modalSrc: '',
+ };
+
+ render() {
+ const image_url = window._env_.API_URL + "/upload/" + this.props.image_url
+
+ return (
+
+ {
+ this.setState({ showModal: true, caption: "Uploaded", modalSrc: image_url});
+ }}
+ alt="Uploaded"
+ onError={() => this.props.imageNotFound()}
+ />
+
+
+
+
this.setState({ showModal: false })}>
+ ×
+
+
+
+
+
+ );
+ }
+ }
\ No newline at end of file
diff --git a/frontend/src/Components/Pages/404Page.js b/frontend/src/Components/Pages/404Page.js
new file mode 100644
index 0000000..8eb9da7
--- /dev/null
+++ b/frontend/src/Components/Pages/404Page.js
@@ -0,0 +1,33 @@
+import React from 'react'
+import Navbar from '../ComponentUtils/Headers/Navbar'
+
+import './Css/404Page.css'
+
+function FZF() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export default FZF
diff --git a/frontend/src/Components/Pages/Css/404Page.css b/frontend/src/Components/Pages/Css/404Page.css
new file mode 100644
index 0000000..ebd479b
--- /dev/null
+++ b/frontend/src/Components/Pages/Css/404Page.css
@@ -0,0 +1,68 @@
+.container404{
+ margin-top: 25vh;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-align-content: center;
+ -ms-flex-line-pack: center;
+ align-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.page404 {
+ width: 400px;
+ height: auto;
+}
+
+#tree{
+ stroke: #59513C;
+}
+
+#wood-stump{
+ stroke: #59513C;
+ -webkit-animation: wood-stump 3s infinite ease-in-out;
+ -moz-animation: wood-stump 3s infinite ease-in-out;
+ -o-animation: wood-stump 3s infinite ease-in-out;
+ animation: wood-stump 3s infinite ease-in-out;
+}
+
+@-webkit-keyframes wood-stump{ 0% { -webkit-transform: translate(100px) } 50% { -webkit-transform: translate(50px); } 100% { -webkit-transform: translate(100px); } }
+@-moz-keyframes wood-stump{ 0% { -moz-transform: translate(100px); } 50% { -moz-transform: translate(50px); } 100% { -moz-transform: translate(100px); } }
+@-o-keyframes wood-stump{ 0% { -o-transform: translate(100px); } 50% { -o-transform: translate(50px); } 100% { -o-transform: translate(100px); } }
+@keyframes wood-stump{ 0% {-webkit-transform: translate(100px);-moz-transform: translate(100px);-ms-transform: translate(100px);transform: translate(100px); } 50% {-webkit-transform: translate(0px);-moz-transform: translate(0px);-ms-transform: translate(0px);transform: translate(0px); } 100% {-webkit-transform: translate(100px); -moz-transform: translate(100px);-ms-transform: translate(100px);transform: translate(100px); } }
+
+
+#leaf{
+ stroke: #59513C;
+ -webkit-animation: leaf 7s infinite ease-in-out;
+ -moz-animation: leaf 7s infinite ease-in-out;
+ -o-animation: leaf 7s infinite ease-in-out;
+ animation: leaf 7s infinite ease-in-out;
+}
+
+@-webkit-keyframes leaf{ 0% { -webkit-transform: translate(0, 70px) } 50% { -webkit-transform: translate(0, 50px); } 100% { -webkit-transform: translate(0, 70px); } }
+@-moz-keyframes leaf{ 0% { -moz-transform: translate(0, 70px); } 50% { -moz-transform: translate(0, 50px); } 100% { -moz-transform: translate(0, 70px); } }
+@-o-keyframes leaf{ 0% { -o-transform: translate(0, 70px); } 50% { -o-transform: translate(0, 50px); } 100% { -o-transform: translate(0, 70px); } }
+@keyframes leaf{ 0% {-webkit-transform: translate(0, 70px);-moz-transform: translate(0, 70px);-ms-transform: translate(0, 70px);transform: translate(0, 70px); } 50% {-webkit-transform: translate(0px);-moz-transform: translate(0px);-ms-transform: translate(0px);transform: translate(0px); } 100% {-webkit-transform: translate(0, 70px); -moz-transform: translate(0, 70px);-ms-transform: translate(0, 70px);transform: translate(0, 70px); } }
+
+#border{
+ stroke: #59513C;
+}
+
+#Page{
+ fill: #59513C;
+}
+#notFound{
+ fill: #A7444B;
+}
diff --git a/frontend/src/Components/Pages/Css/ModerationPage.css b/frontend/src/Components/Pages/Css/ModerationPage.css
new file mode 100644
index 0000000..fbcc9d7
--- /dev/null
+++ b/frontend/src/Components/Pages/Css/ModerationPage.css
@@ -0,0 +1,360 @@
+.moderation-page {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 20px;
+}
+
+.moderation-page h1 {
+ text-align: center;
+ color: #333;
+ margin-bottom: 30px;
+}
+
+.moderation-loading, .moderation-error {
+ text-align: center;
+ padding: 50px;
+ font-size: 18px;
+}
+
+.moderation-error {
+ color: #dc3545;
+}
+
+/* Statistiken */
+.moderation-stats {
+ display: flex;
+ justify-content: center;
+ gap: 40px;
+ margin-bottom: 40px;
+ padding: 20px;
+ background: #f8f9fa;
+ border-radius: 12px;
+}
+
+.stat-item {
+ text-align: center;
+}
+
+.stat-number {
+ display: block;
+ font-size: 2.5rem;
+ font-weight: bold;
+ color: #007bff;
+}
+
+.stat-label {
+ display: block;
+ font-size: 0.9rem;
+ color: #6c757d;
+ margin-top: 5px;
+}
+
+/* Sections */
+.moderation-section {
+ margin-bottom: 50px;
+}
+
+.moderation-section h2 {
+ color: #333;
+ border-bottom: 2px solid #e9ecef;
+ padding-bottom: 10px;
+ margin-bottom: 25px;
+}
+
+.no-groups {
+ text-align: center;
+ color: #6c757d;
+ font-style: italic;
+ padding: 30px;
+}
+
+/* Groups Grid */
+.groups-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
+ gap: 20px;
+}
+
+/* Group Card */
+.group-card {
+ background: white;
+ border-radius: 12px;
+ overflow: hidden;
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
+ transition: transform 0.2s, box-shadow 0.2s;
+}
+
+.group-card:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 4px 16px rgba(0,0,0,0.15);
+}
+
+.group-card.pending {
+ border-left: 5px solid #ffc107;
+}
+
+.group-card.approved {
+ border-left: 5px solid #28a745;
+}
+
+.group-preview {
+ position: relative;
+ height: 200px;
+ background: #f8f9fa;
+}
+
+.preview-image {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+
+.no-preview {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ color: #6c757d;
+ font-style: italic;
+}
+
+.image-count {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ background: rgba(0,0,0,0.7);
+ color: white;
+ padding: 4px 8px;
+ border-radius: 12px;
+ font-size: 0.8rem;
+}
+
+.group-info {
+ padding: 15px;
+}
+
+.group-info h3 {
+ margin: 0 0 10px 0;
+ color: #333;
+}
+
+.group-meta {
+ color: #007bff;
+ font-weight: 500;
+ margin: 5px 0;
+}
+
+.group-description {
+ color: #6c757d;
+ font-size: 0.9rem;
+ margin: 8px 0;
+ line-height: 1.4;
+}
+
+.upload-date {
+ color: #6c757d;
+ font-size: 0.8rem;
+ margin: 10px 0 0 0;
+}
+
+.group-actions {
+ padding: 15px;
+ background: #f8f9fa;
+ display: flex;
+ gap: 8px;
+ flex-wrap: wrap;
+}
+
+/* Buttons */
+.btn {
+ padding: 8px 12px;
+ border: none;
+ border-radius: 6px;
+ cursor: pointer;
+ font-size: 0.85rem;
+ transition: background-color 0.2s;
+ flex: 1;
+ min-width: 80px;
+}
+
+.btn-secondary {
+ background: #6c757d;
+ color: white;
+}
+
+.btn-secondary:hover {
+ background: #5a6268;
+}
+
+.btn-success {
+ background: #28a745;
+ color: white;
+}
+
+.btn-success:hover {
+ background: #218838;
+}
+
+.btn-warning {
+ background: #ffc107;
+ color: #212529;
+}
+
+.btn-warning:hover {
+ background: #e0a800;
+}
+
+.btn-danger {
+ background: #dc3545;
+ color: white;
+}
+
+.btn-danger:hover {
+ background: #c82333;
+}
+
+.btn-sm {
+ padding: 4px 8px;
+ font-size: 0.75rem;
+ min-width: auto;
+}
+
+/* Image Modal */
+.image-modal-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: rgba(0,0,0,0.8);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 1000;
+ padding: 20px;
+}
+
+.image-modal {
+ background: white;
+ border-radius: 12px;
+ max-width: 90vw;
+ max-height: 90vh;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+
+.modal-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 20px;
+ border-bottom: 1px solid #e9ecef;
+ background: #f8f9fa;
+}
+
+.modal-header h2 {
+ margin: 0;
+ color: #333;
+}
+
+.close-btn {
+ background: none;
+ border: none;
+ font-size: 2rem;
+ cursor: pointer;
+ color: #6c757d;
+ padding: 0;
+ width: 40px;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.close-btn:hover {
+ color: #333;
+}
+
+.modal-body {
+ padding: 20px;
+ overflow-y: auto;
+}
+
+.group-details {
+ background: #f8f9fa;
+ padding: 15px;
+ border-radius: 8px;
+ margin-bottom: 20px;
+}
+
+.group-details p {
+ margin: 5px 0;
+}
+
+.images-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ gap: 15px;
+}
+
+.image-item {
+ background: #f8f9fa;
+ border-radius: 8px;
+ overflow: hidden;
+ position: relative;
+}
+
+.modal-image {
+ width: 100%;
+ height: 150px;
+ object-fit: cover;
+ display: block;
+}
+
+.image-actions {
+ padding: 10px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: white;
+}
+
+.image-name {
+ font-size: 0.8rem;
+ color: #6c757d;
+ flex: 1;
+ margin-right: 10px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+/* Responsive */
+@media (max-width: 768px) {
+ .moderation-stats {
+ flex-direction: column;
+ gap: 20px;
+ }
+
+ .groups-grid {
+ grid-template-columns: 1fr;
+ }
+
+ .group-actions {
+ flex-direction: column;
+ }
+
+ .btn {
+ width: 100%;
+ }
+
+ .image-modal {
+ max-width: 95vw;
+ max-height: 95vh;
+ }
+
+ .images-grid {
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
+ }
+}
\ No newline at end of file
diff --git a/frontend/src/Components/Pages/Css/UploadedImagePage.css b/frontend/src/Components/Pages/Css/UploadedImagePage.css
new file mode 100644
index 0000000..dbd15e4
--- /dev/null
+++ b/frontend/src/Components/Pages/Css/UploadedImagePage.css
@@ -0,0 +1,19 @@
+.rowContainer {
+ display: flex;
+ flex-direction: row;
+}
+
+.rootUploadWrap {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.FZFImage {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ width: 50%;
+ height: 50%;
+ padding-top: 50px;
+}
\ No newline at end of file
diff --git a/frontend/src/Components/Pages/GroupsOverviewPage.js b/frontend/src/Components/Pages/GroupsOverviewPage.js
new file mode 100644
index 0000000..52cda76
--- /dev/null
+++ b/frontend/src/Components/Pages/GroupsOverviewPage.js
@@ -0,0 +1,349 @@
+import React, { useState, useEffect } from 'react';
+import { useHistory } from 'react-router-dom';
+import { Helmet } from 'react-helmet';
+import { makeStyles } from '@material-ui/core/styles';
+import {
+ Container,
+ Card,
+ CardContent,
+ Typography,
+ Button,
+ Grid,
+ CardMedia,
+ Box,
+ CircularProgress,
+ Chip
+} from '@material-ui/core';
+import {
+ Slideshow as SlideshowIcon,
+ Add as AddIcon,
+ Home as HomeIcon
+} from '@material-ui/icons';
+import Swal from 'sweetalert2/dist/sweetalert2.js';
+
+// Components
+import Navbar from '../ComponentUtils/Headers/Navbar';
+import Footer from '../ComponentUtils/Footer';
+
+// Utils
+import { fetchAllGroups, deleteGroup } from '../../Utils/batchUpload';
+
+// Styles
+import '../../App.css';
+import '../ComponentUtils/Css/Background.css';
+
+const useStyles = makeStyles({
+ container: {
+ paddingTop: '20px',
+ paddingBottom: '40px',
+ minHeight: '80vh'
+ },
+ headerCard: {
+ borderRadius: '12px',
+ boxShadow: '0 4px 12px rgba(0, 0, 0, 0.1)',
+ marginBottom: '30px',
+ textAlign: 'center',
+ padding: '20px'
+ },
+ headerTitle: {
+ fontFamily: 'roboto',
+ fontWeight: '500',
+ fontSize: '28px',
+ color: '#333333',
+ marginBottom: '10px'
+ },
+ headerSubtitle: {
+ fontFamily: 'roboto',
+ fontSize: '16px',
+ color: '#666666',
+ marginBottom: '20px'
+ },
+ groupCard: {
+ borderRadius: '12px',
+ boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)',
+ transition: 'all 0.3s ease',
+ height: '100%',
+ display: 'flex',
+ flexDirection: 'column',
+ '&:hover': {
+ transform: 'translateY(-4px)',
+ boxShadow: '0 8px 20px rgba(0, 0, 0, 0.15)'
+ }
+ },
+ groupImage: {
+ height: '180px',
+ objectFit: 'cover'
+ },
+ groupContent: {
+ flexGrow: 1,
+ display: 'flex',
+ flexDirection: 'column'
+ },
+ groupTitle: {
+ fontFamily: 'roboto',
+ fontWeight: '500',
+ fontSize: '16px',
+ color: '#333333',
+ marginBottom: '8px',
+ display: '-webkit-box',
+ WebkitLineClamp: 2,
+ WebkitBoxOrient: 'vertical',
+ overflow: 'hidden'
+ },
+ groupMeta: {
+ fontSize: '12px',
+ color: '#999999',
+ marginBottom: '15px'
+ },
+ groupActions: {
+ marginTop: 'auto',
+ display: 'flex',
+ gap: '8px',
+ justifyContent: 'space-between'
+ },
+ viewButton: {
+ borderRadius: '20px',
+ textTransform: 'none',
+ fontSize: '12px',
+ padding: '6px 16px',
+ background: 'linear-gradient(45deg, #4CAF50 30%, #45a049 90%)',
+ color: 'white',
+ '&:hover': {
+ background: 'linear-gradient(45deg, #45a049 30%, #4CAF50 90%)'
+ }
+ },
+ actionButtons: {
+ display: 'flex',
+ gap: '15px',
+ justifyContent: 'center',
+ flexWrap: 'wrap',
+ marginTop: '20px'
+ },
+ primaryButton: {
+ borderRadius: '25px',
+ padding: '12px 30px',
+ fontSize: '16px',
+ fontWeight: '500',
+ textTransform: 'none',
+ background: 'linear-gradient(45deg, #2196F3 30%, #1976D2 90%)',
+ color: 'white',
+ '&:hover': {
+ background: 'linear-gradient(45deg, #1976D2 30%, #2196F3 90%)',
+ transform: 'translateY(-2px)'
+ }
+ },
+ homeButton: {
+ borderRadius: '25px',
+ padding: '12px 30px',
+ fontSize: '16px',
+ fontWeight: '500',
+ textTransform: 'none',
+ border: '2px solid #4CAF50',
+ color: '#4CAF50',
+ backgroundColor: 'transparent',
+ '&:hover': {
+ backgroundColor: '#4CAF50',
+ color: 'white',
+ transform: 'translateY(-2px)'
+ }
+ },
+ emptyState: {
+ textAlign: 'center',
+ padding: '60px 20px'
+ },
+ loadingContainer: {
+ textAlign: 'center',
+ padding: '60px 20px'
+ }
+});
+
+function GroupsOverviewPage() {
+ const classes = useStyles();
+ const history = useHistory();
+
+ const [groups, setGroups] = useState([]);
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(null);
+
+ useEffect(() => {
+ loadGroups();
+ }, []);
+
+ const loadGroups = async () => {
+ try {
+ setLoading(true);
+ const response = await fetchAllGroups();
+ setGroups(response.groups || []);
+ setError(null);
+ } catch (err) {
+ setError(err.message);
+ console.error('Error loading groups:', err);
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ const handleViewSlideshow = (groupId) => {
+ history.push(`/slideshow/${groupId}`);
+ };
+
+ const handleCreateNew = () => {
+ history.push('/multi-upload');
+ };
+
+ const handleGoHome = () => {
+ history.push('/');
+ };
+
+ const formatDate = (dateString) => {
+ return new Date(dateString).toLocaleDateString('de-DE', {
+ year: 'numeric',
+ month: 'short',
+ day: 'numeric'
+ });
+ };
+
+ if (loading) {
+ return (
+
+
+
+
+
+
+ Slideshows werden geladen...
+
+
+
+
+
+ );
+ }
+
+ return (
+
+
+ GruppenĂŒbersicht - Interne Verwaltung
+
+
+
+
+
+
+
+ {/* Header */}
+
+
+ đŹ Alle Slideshows
+
+
+ Verwalten Sie Ihre hochgeladenen Bildersammlungen
+
+
+
+ }
+ size="large"
+ >
+ â Neue Slideshow erstellen
+
+
+ }
+ size="large"
+ >
+ đ Zur Startseite
+
+
+
+
+ {/* Groups Grid */}
+ {error ? (
+
+
+ đ Fehler beim Laden
+
+
+ {error}
+
+
+ đ Erneut versuchen
+
+
+ ) : groups.length === 0 ? (
+
+
+ đž Keine Slideshows vorhanden
+
+
+ Erstellen Sie Ihre erste Slideshow, indem Sie mehrere Bilder hochladen.
+
+
+ â Erste Slideshow erstellen
+
+
+ ) : (
+ <>
+
+
+ đ {groups.length} Slideshow{groups.length !== 1 ? 's' : ''} gefunden
+
+
+
+
+ {groups.map((group) => (
+
+
+ {group.images && group.images.length > 0 && (
+
+ )}
+
+
+
+ {group.description || 'Unbenannte Slideshow'}
+
+
+
+ đ
{formatDate(group.uploadDate)} âą đž {group.images?.length || 0} Bilder
+
+
+
+ handleViewSlideshow(group.groupId)}
+ startIcon={ }
+ fullWidth
+ >
+ Anzeigen
+
+
+
+
+
+ ))}
+
+ >
+ )}
+
+
+
+
+
+
+ );
+}
+
+export default GroupsOverviewPage;
\ No newline at end of file
diff --git a/frontend/src/Components/Pages/ModerationPage.js b/frontend/src/Components/Pages/ModerationPage.js
new file mode 100644
index 0000000..7519585
--- /dev/null
+++ b/frontend/src/Components/Pages/ModerationPage.js
@@ -0,0 +1,346 @@
+import React, { useState, useEffect } from 'react';
+import { Helmet } from 'react-helmet';
+import './Css/ModerationPage.css';
+
+const ModerationPage = () => {
+ const [groups, setGroups] = useState([]);
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(null);
+ const [selectedGroup, setSelectedGroup] = useState(null);
+ const [showImages, setShowImages] = useState(false);
+
+ useEffect(() => {
+ loadModerationGroups();
+ }, []);
+
+ const loadModerationGroups = async () => {
+ try {
+ setLoading(true);
+ const response = await fetch('/moderation/groups');
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ const data = await response.json();
+ setGroups(data.groups);
+ } catch (error) {
+ console.error('Fehler beim Laden der Moderations-Gruppen:', error);
+ setError('Fehler beim Laden der Gruppen');
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ const approveGroup = async (groupId, approved) => {
+ try {
+ const response = await fetch(`/groups/${groupId}/approve`, {
+ method: 'PATCH',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: JSON.stringify({ approved: approved })
+ });
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ // Update local state
+ setGroups(groups.map(group =>
+ group.group_id === groupId
+ ? { ...group, approved: approved }
+ : group
+ ));
+ } catch (error) {
+ console.error('Fehler beim Freigeben der Gruppe:', error);
+ alert('Fehler beim Freigeben der Gruppe');
+ }
+ };
+
+ const deleteImage = async (groupId, imageId) => {
+ console.log('deleteImage called with:', { groupId, imageId });
+ console.log('API_URL:', window._env_.API_URL);
+
+ try {
+ // Use relative URL to go through Nginx proxy
+ const url = `/groups/${groupId}/images/${imageId}`;
+ console.log('DELETE request to:', url);
+
+ const response = await fetch(url, {
+ method: 'DELETE'
+ });
+
+ console.log('Response status:', response.status);
+ console.log('Response ok:', response.ok);
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ // Remove image from selectedGroup
+ if (selectedGroup && selectedGroup.group_id === groupId) {
+ const updatedImages = selectedGroup.images.filter(img => img.id !== imageId);
+ setSelectedGroup({
+ ...selectedGroup,
+ images: updatedImages,
+ imageCount: updatedImages.length
+ });
+ }
+
+ // Update group image count
+ setGroups(groups.map(group =>
+ group.group_id === groupId
+ ? { ...group, image_count: group.image_count - 1 }
+ : group
+ ));
+
+ } catch (error) {
+ console.error('Fehler beim Löschen des Bildes:', error);
+ console.error('Error details:', error.message, error.stack);
+ alert('Fehler beim Löschen des Bildes: ' + error.message);
+ }
+ };
+
+ const deleteGroup = async (groupId) => {
+ if (!window.confirm('Gruppe wirklich löschen? Diese Aktion kann nicht rĂŒckgĂ€ngig gemacht werden.')) {
+ return;
+ }
+
+ try {
+ const response = await fetch(`/groups/${groupId}`, {
+ method: 'DELETE'
+ });
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ setGroups(groups.filter(group => group.group_id !== groupId));
+ if (selectedGroup && selectedGroup.group_id === groupId) {
+ setSelectedGroup(null);
+ setShowImages(false);
+ }
+ } catch (error) {
+ console.error('Fehler beim Löschen der Gruppe:', error);
+ alert('Fehler beim Löschen der Gruppe');
+ }
+ };
+
+ const viewGroupImages = async (group) => {
+ try {
+ const response = await fetch(`/moderation/groups/${group.group_id}`);
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ const data = await response.json();
+ setSelectedGroup(data);
+ setShowImages(true);
+ } catch (error) {
+ console.error('Fehler beim Laden der Bilder:', error);
+ alert('Fehler beim Laden der Bilder');
+ }
+ };
+
+ if (loading) {
+ return Lade Gruppen...
;
+ }
+
+ if (error) {
+ return {error}
;
+ }
+
+ const pendingGroups = groups.filter(g => !g.approved);
+ const approvedGroups = groups.filter(g => g.approved);
+
+ return (
+
+
+ Moderation - Interne Verwaltung
+
+
+
+
+
Moderation
+
+
+
+ {pendingGroups.length}
+ Wartend
+
+
+ {approvedGroups.length}
+ Freigegeben
+
+
+ {groups.length}
+ Gesamt
+
+
+
+ {/* Wartende Gruppen */}
+
+ đ Wartende Freigabe ({pendingGroups.length})
+ {pendingGroups.length === 0 ? (
+ Keine wartenden Gruppen
+ ) : (
+
+ {pendingGroups.map(group => (
+
+ ))}
+
+ )}
+
+
+ {/* Freigegebene Gruppen */}
+
+ â
Freigegebene Gruppen ({approvedGroups.length})
+ {approvedGroups.length === 0 ? (
+ Keine freigegebenen Gruppen
+ ) : (
+
+ {approvedGroups.map(group => (
+
+ ))}
+
+ )}
+
+
+ {/* Bilder-Modal */}
+ {showImages && selectedGroup && (
+
{
+ setShowImages(false);
+ setSelectedGroup(null);
+ }}
+ onDeleteImage={deleteImage}
+ />
+ )}
+
+ );
+};
+
+const GroupCard = ({ group, onApprove, onViewImages, onDelete, isPending }) => {
+ const previewUrl = group.preview_image ? `/download/${group.preview_image.split('/').pop()}` : null;
+
+ return (
+
+
+ {previewUrl ? (
+
+ ) : (
+
Kein Vorschaubild
+ )}
+
{group.image_count} Bilder
+
+
+
+
{group.title}
+
{group.year} âą {group.name}
+ {group.description && (
+
{group.description}
+ )}
+
+ Hochgeladen: {new Date(group.upload_date).toLocaleDateString('de-DE')}
+
+
+
+
+ onViewImages(group)}
+ >
+ đïž Bilder ansehen
+
+
+ {isPending ? (
+ onApprove(group.group_id, true)}
+ >
+ â
Freigeben
+
+ ) : (
+ onApprove(group.group_id, false)}
+ >
+ âžïž Sperren
+
+ )}
+
+ onDelete(group.group_id)}
+ >
+ đïž Löschen
+
+
+
+ );
+};
+
+const ImageModal = ({ group, onClose, onDeleteImage }) => {
+ return (
+
+
e.stopPropagation()}>
+
+
{group.title}
+ Ă
+
+
+
+
+
Jahr: {group.year}
+
Ersteller: {group.name}
+ {group.description && (
+
Beschreibung: {group.description}
+ )}
+
Bilder: {group.images.length}
+
+
+
+ {group.images.map(image => (
+
+
+
+ {image.originalName}
+ onDeleteImage(group.group_id, image.id)}
+ title="Bild löschen"
+ >
+ đïž
+
+
+
+ ))}
+
+
+
+
+ );
+};
+
+export default ModerationPage;
\ No newline at end of file
diff --git a/frontend/src/Components/Pages/MultiUploadPage.js b/frontend/src/Components/Pages/MultiUploadPage.js
new file mode 100644
index 0000000..8a2c7f7
--- /dev/null
+++ b/frontend/src/Components/Pages/MultiUploadPage.js
@@ -0,0 +1,284 @@
+import React, { useState } from 'react';
+import { makeStyles } from '@material-ui/core/styles';
+import { Button, Card, CardContent, Typography, Container, Box } from '@material-ui/core';
+import Swal from 'sweetalert2/dist/sweetalert2.js';
+import 'sweetalert2/src/sweetalert2.scss';
+
+// Components
+import Navbar from '../ComponentUtils/Headers/Navbar';
+import Footer from '../ComponentUtils/Footer';
+import MultiImageDropzone from '../ComponentUtils/MultiUpload/SimpleMultiImageDropzone';
+import ImagePreviewGallery from '../ComponentUtils/MultiUpload/ImagePreviewGallery';
+import DescriptionInput from '../ComponentUtils/MultiUpload/DescriptionInput';
+import UploadProgress from '../ComponentUtils/MultiUpload/UploadProgress';
+import Loading from '../ComponentUtils/LoadingAnimation/Loading';
+
+// Utils
+import { uploadImageBatch } from '../../Utils/batchUpload';
+
+// Styles
+import '../../App.css';
+import '../ComponentUtils/Css/Background.css';
+
+const useStyles = makeStyles({
+ container: {
+ paddingTop: '20px',
+ paddingBottom: '40px',
+ minHeight: '80vh'
+ },
+ card: {
+ borderRadius: '12px',
+ boxShadow: '0 4px 12px rgba(0, 0, 0, 0.1)',
+ padding: '20px',
+ marginBottom: '20px'
+ },
+ headerText: {
+ fontFamily: 'roboto',
+ fontWeight: '400',
+ fontSize: '28px',
+ textAlign: 'center',
+ marginBottom: '10px',
+ color: '#333333'
+ },
+ subheaderText: {
+ fontFamily: 'roboto',
+ fontWeight: '300',
+ fontSize: '16px',
+ color: '#666666',
+ textAlign: 'center',
+ marginBottom: '30px'
+ },
+ actionButtons: {
+ display: 'flex',
+ gap: '15px',
+ justifyContent: 'center',
+ marginTop: '20px',
+ flexWrap: 'wrap'
+ },
+ uploadButton: {
+ borderRadius: '25px',
+ padding: '12px 30px',
+ fontSize: '16px',
+ fontWeight: '500',
+ textTransform: 'none',
+ background: 'linear-gradient(45deg, #4CAF50 30%, #45a049 90%)',
+ color: 'white',
+ '&:hover': {
+ background: 'linear-gradient(45deg, #45a049 30%, #4CAF50 90%)',
+ transform: 'translateY(-2px)',
+ boxShadow: '0 4px 12px rgba(76, 175, 80, 0.3)'
+ },
+ '&:disabled': {
+ background: '#cccccc',
+ color: '#666666'
+ }
+ },
+ clearButton: {
+ borderRadius: '25px',
+ padding: '12px 30px',
+ fontSize: '16px',
+ fontWeight: '500',
+ textTransform: 'none',
+ border: '2px solid #f44336',
+ color: '#f44336',
+ backgroundColor: 'transparent',
+ '&:hover': {
+ backgroundColor: '#f44336',
+ color: 'white',
+ transform: 'translateY(-2px)',
+ boxShadow: '0 4px 12px rgba(244, 67, 54, 0.3)'
+ }
+ }
+});
+
+function MultiUploadPage() {
+ const classes = useStyles();
+
+ const [selectedImages, setSelectedImages] = useState([]);
+ const [metadata, setMetadata] = useState({
+ year: new Date().getFullYear(),
+ title: '',
+ description: '',
+ name: ''
+ });
+ const [uploading, setUploading] = useState(false);
+ const [uploadProgress, setUploadProgress] = useState(0);
+
+ const handleImagesSelected = (newImages) => {
+ console.log('handleImagesSelected called with:', newImages);
+ setSelectedImages(prev => {
+ const updated = [...prev, ...newImages];
+ console.log('Updated selected images:', updated);
+ return updated;
+ });
+ };
+
+ const handleRemoveImage = (indexToRemove) => {
+ setSelectedImages(prev =>
+ prev.filter((_, index) => index !== indexToRemove)
+ );
+ };
+
+ const handleClearAll = () => {
+ setSelectedImages([]);
+ setMetadata({
+ year: new Date().getFullYear(),
+ title: '',
+ description: '',
+ name: ''
+ });
+ };
+
+ const handleUpload = async () => {
+ if (selectedImages.length === 0) {
+ Swal.fire({
+ icon: 'warning',
+ title: 'Keine Bilder ausgewÀhlt',
+ text: 'Bitte wÀhlen Sie mindestens ein Bild zum Upload aus.',
+ confirmButtonColor: '#4CAF50'
+ });
+ return;
+ }
+
+ if (!metadata.year || !metadata.title.trim()) {
+ Swal.fire({
+ icon: 'warning',
+ title: 'Pflichtfelder fehlen',
+ text: 'Bitte geben Sie Jahr und Titel an.',
+ confirmButtonColor: '#4CAF50'
+ });
+ return;
+ }
+
+ setUploading(true);
+ setUploadProgress(0);
+
+ try {
+ // Simuliere Progress (da wir noch keinen echten Progress haben)
+ const progressInterval = setInterval(() => {
+ setUploadProgress(prev => {
+ if (prev >= 90) {
+ clearInterval(progressInterval);
+ return 90;
+ }
+ return prev + 10;
+ });
+ }, 200);
+
+ const result = await uploadImageBatch(selectedImages, metadata);
+
+ clearInterval(progressInterval);
+ setUploadProgress(100);
+
+ // Kurze Verzögerung fĂŒr UX
+ setTimeout(() => {
+ setUploading(false);
+
+ Swal.fire({
+ icon: 'success',
+ title: 'Upload erfolgreich!',
+ text: `${result.imageCount} Bild${result.imageCount !== 1 ? 'er' : ''} wurden hochgeladen.`,
+ confirmButtonColor: '#4CAF50',
+ timer: 2000,
+ showConfirmButton: false
+ });
+
+ // Seite neu laden fĂŒr nĂ€chsten Upload
+ setTimeout(() => {
+ window.location.reload();
+ }, 2000);
+ }, 500);
+
+ } catch (error) {
+ setUploading(false);
+ console.error('Upload error:', error);
+
+ Swal.fire({
+ icon: 'error',
+ title: 'Upload fehlgeschlagen',
+ text: error.message || 'Ein Fehler ist beim Upload aufgetreten.',
+ confirmButtonColor: '#f44336'
+ });
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+ Project Image Uploader
+
+
+ Lade ein oder mehrere Bilder von deinem Projekt hoch und beschreibe es in wenigen Worten.
+
+ Die Bilder werden nur hier im Hobbyhimmel auf dem Monitor gezeigt, es wird an keine Dritten weiter gegeben.
+
+
+ {!uploading ? (
+ <>
+
+
+
+
+ {selectedImages.length > 0 && (
+ <>
+
+
+
+
+ đ {selectedImages.length} Bild{selectedImages.length !== 1 ? 'er' : ''} hochladen
+
+
+
+ đïž Alle entfernen
+
+
+ >
+ )}
+
+
+ >
+ ) : (
+
+
+
+
+ )}
+
+
+
+
+
+
+
+
+ );
+}
+
+export default MultiUploadPage;
\ No newline at end of file
diff --git a/frontend/src/Components/Pages/SlideshowPage.js b/frontend/src/Components/Pages/SlideshowPage.js
new file mode 100644
index 0000000..cdfb9ee
--- /dev/null
+++ b/frontend/src/Components/Pages/SlideshowPage.js
@@ -0,0 +1,313 @@
+import React, { useState, useEffect, useCallback } from 'react';
+import { useHistory } from 'react-router-dom';
+import { makeStyles } from '@material-ui/core/styles';
+import {
+ Typography,
+ Box,
+ CircularProgress,
+ IconButton
+} from '@material-ui/core';
+import {
+ Home as HomeIcon,
+ ExitToApp as ExitIcon
+} from '@material-ui/icons';
+
+// Utils
+import { fetchAllGroups } from '../../Utils/batchUpload';
+
+const useStyles = makeStyles({
+ fullscreenContainer: {
+ position: 'fixed',
+ top: 0,
+ left: 0,
+ width: '100%',
+ height: '100%',
+ backgroundColor: '#000',
+ display: 'flex',
+ flexDirection: 'column',
+ justifyContent: 'center',
+ alignItems: 'center',
+ zIndex: 9999,
+ overflow: 'hidden'
+ },
+ exitButton: {
+ position: 'absolute',
+ top: '20px',
+ right: '20px',
+ color: 'white',
+ backgroundColor: 'rgba(0,0,0,0.5)',
+ '&:hover': {
+ backgroundColor: 'rgba(0,0,0,0.8)'
+ }
+ },
+ homeButton: {
+ position: 'absolute',
+ top: '20px',
+ left: '20px',
+ color: 'white',
+ backgroundColor: 'rgba(0,0,0,0.5)',
+ '&:hover': {
+ backgroundColor: 'rgba(0,0,0,0.8)'
+ }
+ },
+ slideshowImage: {
+ maxWidth: '100%',
+ maxHeight: '100%',
+ objectFit: 'contain',
+ transition: 'opacity 0.5s ease-in-out'
+ },
+ descriptionContainer: {
+ position: 'fixed',
+ left: 40,
+ bottom: 40,
+ backgroundColor: 'rgba(0,0,0,0.8)',
+ padding: '25px 35px',
+ borderRadius: '12px',
+ maxWidth: '35vw',
+ minWidth: '260px',
+ textAlign: 'left',
+ backdropFilter: 'blur(5px)',
+ zIndex: 10001,
+ boxShadow: '0 4px 24px rgba(0,0,0,0.4)'
+ },
+ titleText: {
+ color: 'white',
+ fontSize: '28px',
+ fontWeight: '500',
+ margin: '0 0 8px 0',
+ fontFamily: 'roboto'
+ },
+ yearAuthorText: {
+ color: '#FFD700',
+ fontSize: '18px',
+ fontWeight: '400',
+ margin: '0 0 12px 0',
+ fontFamily: 'roboto'
+ },
+ descriptionText: {
+ color: '#E0E0E0',
+ fontSize: '16px',
+ fontWeight: '300',
+ margin: '0 0 12px 0',
+ fontFamily: 'roboto',
+ lineHeight: '1.4'
+ },
+ metaText: {
+ color: '#999',
+ fontSize: '12px',
+ marginTop: '8px',
+ fontFamily: 'roboto'
+ },
+ loadingContainer: {
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ color: 'white'
+ }
+});
+
+function SlideshowPage() {
+ const classes = useStyles();
+ const history = useHistory();
+
+ const [allGroups, setAllGroups] = useState([]);
+ const [currentGroupIndex, setCurrentGroupIndex] = useState(0);
+ const [currentImageIndex, setCurrentImageIndex] = useState(0);
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(null);
+ const [fadeOut, setFadeOut] = useState(false);
+
+ // Slideshow-Timing Konstanten
+ const IMAGE_DISPLAY_TIME = 4000; // 4 Sekunden pro Bild
+ const TRANSITION_TIME = 500; // 0.5 Sekunden fĂŒr Fade-Effekt
+
+ // Gruppen laden
+ useEffect(() => {
+ const loadAllGroups = async () => {
+ try {
+ setLoading(true);
+ const groupsData = await fetchAllGroups();
+
+ if (groupsData.groups && groupsData.groups.length > 0) {
+ // Mische die Gruppen zufÀllig
+ const shuffledGroups = [...groupsData.groups].sort(() => Math.random() - 0.5);
+ setAllGroups(shuffledGroups);
+ setCurrentGroupIndex(0);
+ setCurrentImageIndex(0);
+ } else {
+ setError('Keine Slideshows gefunden');
+ }
+ } catch (err) {
+ console.error('Fehler beim Laden der Gruppen:', err);
+ setError('Fehler beim Laden der Slideshows');
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ loadAllGroups();
+ }, []);
+
+ // Automatischer Slideshow-Wechsel
+ const nextImage = useCallback(() => {
+ if (allGroups.length === 0) return;
+
+ const currentGroup = allGroups[currentGroupIndex];
+ if (!currentGroup || !currentGroup.images) return;
+
+ setFadeOut(true);
+
+ setTimeout(() => {
+ if (currentImageIndex + 1 < currentGroup.images.length) {
+ // NĂ€chstes Bild in der aktuellen Gruppe
+ setCurrentImageIndex(prev => prev + 1);
+ } else {
+ // Zur nÀchsten Gruppe wechseln (zufÀllig)
+ const nextGroupIndex = Math.floor(Math.random() * allGroups.length);
+ setCurrentGroupIndex(nextGroupIndex);
+ setCurrentImageIndex(0);
+ }
+ setFadeOut(false);
+ }, TRANSITION_TIME);
+ }, [allGroups, currentGroupIndex, currentImageIndex]);
+
+ // Timer fĂŒr automatischen Wechsel
+ useEffect(() => {
+ if (loading || error || allGroups.length === 0) return;
+
+ const timer = setInterval(nextImage, IMAGE_DISPLAY_TIME);
+ return () => clearInterval(timer);
+ }, [loading, error, allGroups, nextImage]);
+
+ // Keyboard-Navigation
+ useEffect(() => {
+ const handleKeyPress = (event) => {
+ switch (event.key) {
+ case 'Escape':
+ history.push('/');
+ break;
+ case ' ':
+ case 'ArrowRight':
+ nextImage();
+ break;
+ default:
+ break;
+ }
+ };
+
+ document.addEventListener('keydown', handleKeyPress);
+ return () => document.removeEventListener('keydown', handleKeyPress);
+ }, [nextImage, history]);
+
+ // Aktuelle Gruppe und Bild
+ const currentGroup = allGroups[currentGroupIndex];
+ const currentImage = currentGroup?.images?.[currentImageIndex];
+
+ if (loading) {
+ return (
+
+
+
+ Slideshow wird geladen...
+
+
+ );
+ }
+
+ if (error) {
+ return (
+
+
+ {error}
+ history.push('/')}
+ title="Zur Startseite"
+ >
+
+
+
+
+ );
+ }
+
+ if (!currentGroup || !currentImage) {
+ return (
+
+
+
+ Keine Bilder verfĂŒgbar
+
+ history.push('/')}
+ title="Zur Startseite"
+ >
+
+
+
+
+ );
+ }
+
+ return (
+
+ {/* Navigation Buttons */}
+ history.push('/')}
+ title="Zur Startseite"
+ >
+
+
+
+ history.push('/')}
+ title="Slideshow beenden"
+ >
+
+
+
+ {/* Hauptbild */}
+
+
+ {/* Beschreibung */}
+
+ {/* Titel */}
+
+ {currentGroup.title || 'Unbenanntes Projekt'}
+
+
+ {/* Jahr und Name */}
+
+ {currentGroup.year}
+ {currentGroup.name && ` âą ${currentGroup.name}`}
+
+
+ {/* Beschreibung (wenn vorhanden) */}
+ {currentGroup.description && (
+
+ {currentGroup.description}
+
+ )}
+
+ {/* Meta-Informationen */}
+
+ Bild {currentImageIndex + 1} von {currentGroup.images.length} âą
+ Slideshow {currentGroupIndex + 1} von {allGroups.length}
+
+
+
+ );
+}
+
+export default SlideshowPage;
diff --git a/frontend/src/Components/Pages/UploadPage.js b/frontend/src/Components/Pages/UploadPage.js
new file mode 100644
index 0000000..d18d9e9
--- /dev/null
+++ b/frontend/src/Components/Pages/UploadPage.js
@@ -0,0 +1,103 @@
+import React, { useState } from 'react'
+import '../../App.css'
+import Footer from '../ComponentUtils/Footer'
+
+import ImageUploadCard from '../ComponentUtils/ImageUploadCard'
+
+import Navbar from '../ComponentUtils/Headers/Navbar'
+
+import { useHistory } from "react-router-dom";
+import { Button, Container, Box } from '@material-ui/core';
+import { makeStyles } from '@material-ui/core/styles';
+import Swal from 'sweetalert2/dist/sweetalert2.js'
+import 'sweetalert2/src/sweetalert2.scss'
+
+import { sendRequest } from '../../Utils/sendRequest'
+
+import '../ComponentUtils/Css/Background.css'
+
+const useStyles = makeStyles({
+ multiUploadButton: {
+ borderRadius: '25px',
+ padding: '12px 30px',
+ fontSize: '16px',
+ fontWeight: '500',
+ textTransform: 'none',
+ background: 'linear-gradient(45deg, #2196F3 30%, #1976D2 90%)',
+ color: 'white',
+ marginTop: '20px',
+ '&:hover': {
+ background: 'linear-gradient(45deg, #1976D2 30%, #2196F3 90%)',
+ transform: 'translateY(-2px)',
+ boxShadow: '0 4px 12px rgba(33, 150, 243, 0.3)'
+ }
+ },
+ buttonContainer: {
+ textAlign: 'center',
+ marginTop: '20px',
+ marginBottom: '20px'
+ }
+});
+
+function UploadPage() {
+ const classes = useStyles();
+
+
+ // History for pushing to a new link after uploading image
+ const history = useHistory();
+
+ const [loading, setLoading] = useState(false)
+
+
+ const handleLoading = () => {
+ setLoading(true)
+ }
+
+ const handleResponse = (value) => {
+ // Router push to uploadd page
+ setTimeout(() => {
+ setLoading(false)
+ history.push(value.data.filePath)
+ Swal.fire({
+ icon: 'success',
+ title: "Your image was uploaded!",
+ showConfirmButton: false,
+ timer: 1500
+ })
+ }, 1400)
+ }
+
+ const handlePaste = (event) => {
+ const fileUploaded = event.clipboardData.files[0]
+ sendRequest(fileUploaded, handleLoading, handleResponse)
+ }
+
+ const handleMultiUpload = () => {
+ history.push('/multi-upload')
+ }
+
+ return (
+
+
+
+
+
+
+
+ đž Mehrere Bilder hochladen
+
+
+
+
+
+
+
+
+ )
+}
+
+export default UploadPage
diff --git a/frontend/src/Components/Pages/UploadedImagePage.js b/frontend/src/Components/Pages/UploadedImagePage.js
new file mode 100644
index 0000000..282af9e
--- /dev/null
+++ b/frontend/src/Components/Pages/UploadedImagePage.js
@@ -0,0 +1,38 @@
+import React, { useState } from 'react'
+import { useParams } from 'react-router'
+
+import './Css/UploadedImagePage.css'
+
+// Components
+import UploadedImage from '../ComponentUtils/UploadedImage'
+import Footer from '../ComponentUtils/Footer'
+import Navbar from '../ComponentUtils/Headers/Navbar'
+import SocialMediaShareButtons from '../ComponentUtils/SocialMedia/SocialMediaShareButtons'
+
+import FZF from './404Page'
+
+function UploadedImagePage() {
+
+ // Get the uploaded image url by url
+ const { image_url } = useParams()
+ const [imageFound, setImageFound] = useState(true)
+
+ return (
+
+ {imageFound?
+
+
+
+ setImageFound(false)}/>
+
+
+
+
+ :
+
+ }
+
+ )
+}
+
+export default UploadedImagePage
diff --git a/frontend/src/Images/404.png b/frontend/src/Images/404.png
new file mode 100644
index 0000000..fc7baac
Binary files /dev/null and b/frontend/src/Images/404.png differ
diff --git a/frontend/src/Images/404.svg b/frontend/src/Images/404.svg
new file mode 100644
index 0000000..12676b3
--- /dev/null
+++ b/frontend/src/Images/404.svg
@@ -0,0 +1 @@
+page not found
\ No newline at end of file
diff --git a/frontend/src/Images/404_blue.svg b/frontend/src/Images/404_blue.svg
new file mode 100644
index 0000000..9628680
--- /dev/null
+++ b/frontend/src/Images/404_blue.svg
@@ -0,0 +1 @@
+page not found
\ No newline at end of file
diff --git a/frontend/src/Images/404_green.svg b/frontend/src/Images/404_green.svg
new file mode 100644
index 0000000..06f5527
--- /dev/null
+++ b/frontend/src/Images/404_green.svg
@@ -0,0 +1 @@
+page not found
\ No newline at end of file
diff --git a/frontend/src/Images/Backgrounds/bg1.svg b/frontend/src/Images/Backgrounds/bg1.svg
new file mode 100644
index 0000000..8339755
--- /dev/null
+++ b/frontend/src/Images/Backgrounds/bg1.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/src/Images/Backgrounds/bg2.svg b/frontend/src/Images/Backgrounds/bg2.svg
new file mode 100644
index 0000000..2e3f8fc
--- /dev/null
+++ b/frontend/src/Images/Backgrounds/bg2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/src/Images/Backgrounds/bg3.svg b/frontend/src/Images/Backgrounds/bg3.svg
new file mode 100644
index 0000000..0bf1f55
--- /dev/null
+++ b/frontend/src/Images/Backgrounds/bg3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/src/Images/Backgrounds/bg4.svg b/frontend/src/Images/Backgrounds/bg4.svg
new file mode 100644
index 0000000..be239fb
--- /dev/null
+++ b/frontend/src/Images/Backgrounds/bg4.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/src/Images/Backgrounds/bg5.svg b/frontend/src/Images/Backgrounds/bg5.svg
new file mode 100644
index 0000000..4d490a3
--- /dev/null
+++ b/frontend/src/Images/Backgrounds/bg5.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/src/Images/Backgrounds/bg6.svg b/frontend/src/Images/Backgrounds/bg6.svg
new file mode 100644
index 0000000..a63bff0
--- /dev/null
+++ b/frontend/src/Images/Backgrounds/bg6.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/src/Images/background.svg b/frontend/src/Images/background.svg
new file mode 100644
index 0000000..75e87e0
--- /dev/null
+++ b/frontend/src/Images/background.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/src/Images/going_up.png b/frontend/src/Images/going_up.png
new file mode 100644
index 0000000..188ce53
Binary files /dev/null and b/frontend/src/Images/going_up.png differ
diff --git a/frontend/src/Images/going_up.svg b/frontend/src/Images/going_up.svg
new file mode 100644
index 0000000..63030ba
--- /dev/null
+++ b/frontend/src/Images/going_up.svg
@@ -0,0 +1 @@
+going up
\ No newline at end of file
diff --git a/frontend/src/Images/going_up_rm.png b/frontend/src/Images/going_up_rm.png
new file mode 100644
index 0000000..66cdc08
Binary files /dev/null and b/frontend/src/Images/going_up_rm.png differ
diff --git a/frontend/src/Images/logo.png b/frontend/src/Images/logo.png
new file mode 100644
index 0000000..2f367be
Binary files /dev/null and b/frontend/src/Images/logo.png differ
diff --git a/frontend/src/Utils/batchUpload.js b/frontend/src/Utils/batchUpload.js
new file mode 100644
index 0000000..f5482db
--- /dev/null
+++ b/frontend/src/Utils/batchUpload.js
@@ -0,0 +1,87 @@
+// Batch-Upload Funktion fĂŒr mehrere Bilder
+export const uploadImageBatch = async (images, metadata, onProgress) => {
+ if (!images || images.length === 0) {
+ throw new Error('Keine Bilder zum Upload ausgewÀhlt');
+ }
+
+ const formData = new FormData();
+
+ // FĂŒge alle Bilder hinzu
+ images.forEach((image) => {
+ formData.append('images', image);
+ });
+
+ // FĂŒge Metadaten hinzu
+ formData.append('metadata', JSON.stringify(metadata || {}));
+
+ try {
+ const response = await fetch('/api/upload/batch', {
+ method: 'POST',
+ body: formData
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.message || `HTTP error! status: ${response.status}`);
+ }
+
+ const result = await response.json();
+ return result;
+ } catch (error) {
+ console.error('Batch upload error:', error);
+ throw error;
+ }
+};
+
+// Einzelne Gruppe abrufen
+export const fetchGroup = async (groupId) => {
+ try {
+ const response = await fetch(`/api/groups/${groupId}`);
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.message || `HTTP error! status: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('Error fetching group:', error);
+ throw error;
+ }
+};
+
+// Alle Gruppen abrufen
+export const fetchAllGroups = async () => {
+ try {
+ const response = await fetch('/api/groups');
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.message || `HTTP error! status: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('Error fetching groups:', error);
+ throw error;
+ }
+};
+
+// Gruppe löschen
+export const deleteGroup = async (groupId) => {
+ try {
+ const response = await fetch(`/api/groups/${groupId}`, {
+ method: 'DELETE'
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.message || `HTTP error! status: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('Error deleting group:', error);
+ throw error;
+ }
+};
\ No newline at end of file
diff --git a/frontend/src/Utils/sendRequest.js b/frontend/src/Utils/sendRequest.js
new file mode 100644
index 0000000..babc33a
--- /dev/null
+++ b/frontend/src/Utils/sendRequest.js
@@ -0,0 +1,38 @@
+import axios from 'axios'
+
+//import swal from 'sweetalert';
+import Swal from 'sweetalert2/dist/sweetalert2.js'
+
+
+export async function sendRequest(file, handleLoading, handleResponse) {
+ if (file === undefined || !file.name.match(/.(jpg|jpeg|png|gif)$/i)){
+ Swal.fire({
+ icon: 'error',
+ title: 'Oops...',
+ text: 'Seems like you didn\'t submit an image.',
+ })
+
+ return
+ }
+
+ const formData = new FormData()
+ formData.append("file", file)
+
+ // Change loading state in root component
+ handleLoading()
+
+ try {
+ const res = await axios.post(window._env_.API_URL + '/upload', formData, {
+ headers: {
+ "Content-Type": "multipart/form-data"
+ }
+ })
+
+ handleResponse(res)
+
+ }
+ catch(err) {
+ console.error(err);
+ }
+ }
+
\ No newline at end of file
diff --git a/frontend/src/index.js b/frontend/src/index.js
new file mode 100644
index 0000000..c1f31c5
--- /dev/null
+++ b/frontend/src/index.js
@@ -0,0 +1,10 @@
+import React from 'react';
+import ReactDOM from 'react-dom';
+import App from './App';
+
+ReactDOM.render(
+
+
+ ,
+ document.getElementById('root')
+);
diff --git a/prod.sh b/prod.sh
new file mode 100755
index 0000000..848fbbe
--- /dev/null
+++ b/prod.sh
@@ -0,0 +1,134 @@
+#!/bin/bash
+# Production-Skript fĂŒr Image-Uploader Production Environment
+
+set -e
+
+# Farben fĂŒr Output
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+BLUE='\033[0;34m'
+YELLOW='\033[1;33m'
+NC='\033[0m' # No Color
+
+# Image Namen definieren
+FRONTEND_IMAGE="gitea.lan.hobbyhimmel.de/hobbyhimmel/image-uploader-frontend"
+BACKEND_IMAGE="gitea.lan.hobbyhimmel.de/hobbyhimmel/image-uploader-backend"
+VERSION="latest"
+
+echo -e "${BLUE}=== Image-Uploader Production Environment ===${NC}"
+echo -e "${BLUE}Frontend Image: ${FRONTEND_IMAGE}:${VERSION}${NC}"
+echo -e "${BLUE}Backend Image: ${BACKEND_IMAGE}:${VERSION}${NC}"
+echo
+
+# MenĂŒ anzeigen
+echo -e "${BLUE}WĂ€hle eine Option:${NC}"
+echo "1) Production Container starten"
+echo "2) Production Images bauen"
+echo "3) Production Images zur Registry pushen"
+echo "4) Container neu bauen und starten"
+echo "5) Production Container stoppen"
+echo "6) Frontend Container Shell öffnen"
+echo "7) Backend Container Shell öffnen"
+echo "8) Frontend Logs anzeigen"
+echo "9) Backend Logs anzeigen"
+echo "10) Alle Logs anzeigen"
+echo "11) Container Status anzeigen"
+echo "12) Upload-Verzeichnis anzeigen"
+echo "13) Production Container stoppen/löschen inkl Volumes"
+echo "0) Beenden"
+echo
+
+read -p "Deine Wahl (0-13): " choice
+
+case $choice in
+ 1)
+ echo -e "${GREEN}Starte Production Container...${NC}"
+ docker compose up -d
+ echo -e "${GREEN}Container gestartet!${NC}"
+ echo -e "${BLUE}Frontend: http://localhost${NC}"
+ echo -e "${BLUE}Backend: http://localhost:5000${NC}"
+ echo -e "${BLUE}Slideshow: http://localhost/slideshow${NC}"
+ echo -e "${BLUE}Logs verfolgen mit: docker compose logs -f${NC}"
+ ;;
+ 2)
+ echo -e "${GREEN}Baue Production Images...${NC}"
+ echo -e "${BLUE}Baue Frontend Image...${NC}"
+ docker build -t ${FRONTEND_IMAGE}:${VERSION} ./frontend
+ echo -e "${BLUE}Baue Backend Image...${NC}"
+ docker build -t ${BACKEND_IMAGE}:${VERSION} ./backend
+ echo -e "${GREEN}Production Images erfolgreich gebaut!${NC}"
+ ;;
+ 3)
+ echo -e "${GREEN}Pushe Production Images zur Registry...${NC}"
+ echo -e "${BLUE}Pushe Frontend Image...${NC}"
+ docker push ${FRONTEND_IMAGE}:${VERSION}
+ echo -e "${BLUE}Pushe Backend Image...${NC}"
+ docker push ${BACKEND_IMAGE}:${VERSION}
+ echo -e "${GREEN}Production Images erfolgreich gepusht!${NC}"
+ ;;
+ 4)
+ echo -e "${GREEN}Baue Container neu...${NC}"
+ docker compose down
+ docker compose up --build -d
+ echo -e "${GREEN}Container neu gebaut und gestartet!${NC}"
+ echo -e "${BLUE}Frontend: http://localhost${NC}"
+ echo -e "${BLUE}Slideshow: http://localhost/slideshow${NC}"
+ ;;
+ 5)
+ echo -e "${YELLOW}Stoppe Container...${NC}"
+ docker compose down
+ echo -e "${GREEN}Container gestoppt!${NC}"
+ ;;
+ 6)
+ echo -e "${GREEN}Ăffne Frontend Container Shell...${NC}"
+ docker compose exec image-uploader-frontend bash
+ ;;
+ 7)
+ echo -e "${GREEN}Ăffne Backend Container Shell...${NC}"
+ docker compose exec image-uploader-backend bash
+ ;;
+ 8)
+ echo -e "${GREEN}Zeige Frontend Logs...${NC}"
+ docker compose logs -f image-uploader-frontend
+ ;;
+ 9)
+ echo -e "${GREEN}Zeige Backend Logs...${NC}"
+ docker compose logs -f image-uploader-backend
+ ;;
+ 10)
+ echo -e "${GREEN}Zeige alle Logs...${NC}"
+ docker compose logs -f
+ ;;
+ 11)
+ echo -e "${GREEN}Container Status:${NC}"
+ docker compose ps
+ echo
+ echo -e "${BLUE}Detaillierte Informationen:${NC}"
+ docker images | grep "image-uploader" || echo "Keine lokalen Images gefunden"
+ ;;
+ 12)
+ echo -e "${GREEN}Upload-Verzeichnis Inhalt:${NC}"
+ if docker compose ps -q image-uploader-backend > /dev/null 2>&1; then
+ echo -e "${BLUE}Hochgeladene Bilder:${NC}"
+ docker compose exec image-uploader-backend ls -la /usr/src/app/src/upload/ || echo "Upload-Verzeichnis ist leer"
+ echo
+ echo -e "${BLUE}JSON Metadaten:${NC}"
+ docker compose exec image-uploader-backend ls -la /usr/src/app/src/data/ || echo "Keine Metadaten vorhanden"
+ else
+ echo -e "${YELLOW}Backend Container ist nicht gestartet.${NC}"
+ fi
+ ;;
+ 13)
+ echo -e "${YELLOW}Stoppe und lösche Container inkl. Volumes...${NC}"
+ docker compose down -v
+ echo -e "${GREEN}Container und Volumes gelöscht!${NC}"
+ ;;
+ 0)
+ echo -e "${GREEN}Auf Wiedersehen!${NC}"
+ exit 0
+ ;;
+ *)
+ echo -e "${RED}UngĂŒltige Option! Bitte wĂ€hle 0-12.${NC}"
+ exit 1
+ ;;
+esac
\ No newline at end of file
diff --git a/scripts/README.md b/scripts/README.md
new file mode 100644
index 0000000..8000e26
--- /dev/null
+++ b/scripts/README.md
@@ -0,0 +1,255 @@
+# Batch Image Uploader
+
+Ein Python-Skript fĂŒr automatischen Batch-Upload von Bildern mit Metadaten-Extraktion.
+
+## Features
+
+- đ **Rekursives Verzeichnis-Scanning** nach unterstĂŒtzten Bildformaten
+- đ **Automatische Metadaten-Extraktion** aus EXIF-Daten und Pfad-Struktur
+- đ **Batch-Upload** mit konfigurierbarer Chunk-GröĂe
+- đ **Progress-Tracking** und Error-Handling
+- đïž **Strukturierte Metadaten** (Jahr, Titel, Beschreibung, Name)
+
+## Installation
+
+```bash
+# Python Dependencies installieren
+pip install -r requirements.txt
+
+# Oder einzeln:
+pip install requests pillow
+```
+
+## Usage
+
+### Einfacher Upload
+```bash
+# Linux/macOS
+python batch_uploader.py /path/to/images --titel "Meine Foto-Sammlung"
+
+# Windows
+python batch_uploader.py "C:\Users\username\Photos" --titel "Meine Foto-Sammlung"
+```
+
+### Erweiterte Optionen
+```bash
+# Linux/macOS - Mit Standard-Name und Backend-URL
+python batch_uploader.py ./photos \
+ --titel "Urlaubsbilder 2024" \
+ --name "Max Mustermann" \
+ --backend http://localhost:5000 \
+ --chunk-size 10
+
+# Windows - Absolute Pfade mit Leerzeichen
+python batch_uploader.py "C:\Users\lotzm\Nextcloud2\HH DropFolder with quota\=NutzerBildUploads=" \
+ --titel "Nextcloud Archive" \
+ --name "Lotz M." \
+ --verbose
+
+# Dry-Run (nur Analyse) - Cross-Platform
+python batch_uploader.py /photos --dry-run --verbose
+python batch_uploader.py "D:\Photos" --dry-run --verbose
+
+# Nicht-rekursiv (nur Top-Level)
+python batch_uploader.py ./images --no-recursive
+```
+
+### Parameter
+
+| Parameter | Beschreibung | Standard |
+|-----------|--------------|----------|
+| `directory` | Verzeichnis mit Bildern (Required) | - |
+| `--titel` | Standard-Titel fĂŒr alle Bilder | Aus Pfad extrahiert |
+| `--name` | Standard-Name fĂŒr alle Bilder | Leer |
+| `--backend` | Backend-URL | `http://localhost:5000` |
+| `--chunk-size` | ~~Bilder pro Upload-Batch~~ (Deprecated) | ~~5~~ |
+| `--no-recursive` | Nicht in Unterverzeichnisse | `False` |
+| `--dry-run` | Nur Analyse, kein Upload | `False` |
+| `--verbose` | Detailliertes Logging | `False` |
+
+## Metadaten-Extraktion
+
+### Erwartete Struktur: `Photos/Jahr/Name/Projekt/dateiname.endung`
+
+### Jahr
+1. **Verzeichnis-Struktur**: Aus dem Jahr-Verzeichnis (z.B. `2024/`)
+2. **EXIF-Daten**: `DateTime`, `DateTimeOriginal`, `DateTimeDigitized`
+3. **Pfad-Pattern**: `2024`, `2023`, etc. in anderen Verzeichnis/Dateinamen
+4. **Fallback**: Aktuelles Jahr
+
+### Titel
+1. **Parameter**: `--titel` (ĂŒberschreibt alles)
+2. **Projekt-Verzeichnis**: `Urlaub_Mallorca` â `Urlaub Mallorca`
+3. **Cleaning**: Unterstriche/Bindestriche â Leerzeichen
+
+### Beschreibung
+1. **README.md im Projekt-Verzeichnis**: Erste Zeile der README.md
+2. **README.md im Name-Verzeichnis**: Als Fallback
+3. **Pfad-Info**: `Jahr: 2024 | Name: Max Mustermann | Projekt: Urlaub Mallorca`
+4. **Final-Fallback**: Verzeichnis-Pfad
+
+### Name
+1. **Parameter**: `--name` (ĂŒberschreibt alles)
+2. **Name-Verzeichnis**: Aus dem Namen-Verzeichnis (z.B. `Max_Mustermann`)
+3. **Fallback**: Leer
+
+## UnterstĂŒtzte Formate
+
+- **Bilder**: `.jpg`, `.jpeg`, `.png`, `.gif`, `.bmp`, `.webp`, `.tiff`, `.tif`
+- **Max. GröĂe**: 10MB pro Datei
+
+## Beispiel-Output
+
+```
+12:34:56 - __main__ - INFO - Teste Verbindung zu http://localhost:5000...
+12:34:56 - __main__ - INFO - â
Backend erreichbar
+12:34:56 - __main__ - INFO - Scanne Verzeichnis: /home/user/photos
+12:34:56 - __main__ - INFO - đ 25 Bilder gefunden
+12:34:56 - __main__ - INFO - đ Starte Upload...
+12:34:56 - __main__ - INFO - Starte Upload von 25 Bildern in 5er Batches
+12:34:57 - __main__ - INFO - Chunk erfolgreich: 5 Bilder
+12:34:57 - __main__ - INFO - Progress: 20.0% (5/25)
+12:34:58 - __main__ - INFO - Chunk erfolgreich: 5 Bilder
+12:34:58 - __main__ - INFO - Progress: 40.0% (10/25)
+...
+12:35:01 - __main__ - INFO - đ Upload abgeschlossen:
+12:35:01 - __main__ - INFO - â
Erfolgreich: 25
+12:35:01 - __main__ - INFO - â Fehlgeschlagen: 0
+```
+
+## Verzeichnis-Struktur Beispiele
+
+### Input-Struktur: `Photos/Jahr/Name/Projekt/dateiname.endung`
+
+**Linux/macOS:**
+```
+photos/
+âââ 2024/
+â âââ Max_Mustermann/
+â â âââ Urlaub_Mallorca/
+â â â âââ README.md
+â â â âââ sonnenuntergang.jpg
+â â â âââ strand_spaziergang.jpg
+â â âââ Hochzeit_Anna/
+â â âââ README.md
+â â âââ zeremonie.jpg
+â â âââ party.jpg
+â âââ Anna_Schmidt/
+â âââ Architektur_Berlin/
+â âââ README.md
+â âââ brandenburger_tor.jpg
+âââ 2023/
+ âââ Familie_Mueller/
+ âââ Weihnachten/
+ âââ README.md
+ âââ weihnachtsbaum.jpg
+```
+
+**Windows:**
+```
+C:\Users\lotzm\Nextcloud2\HH DropFolder with quota\=NutzerBildUploads=\
+âââ 2024\
+â âââ Familie_Schmidt\
+â â âââ Urlaub_Toskana\
+â â â âââ README.md
+â â â âââ florenz_dom.jpg
+â â â âââ vineyard_sunset.jpg
+â â âââ Geburtstag_Opa\
+â â âââ README.md
+â â âââ torte.jpg
+â â âââ familie_komplett.jpg
+â âââ Max_Mueller\
+â âââ Business_Frankfurt\
+â âââ README.md
+â âââ skyline_evening.jpg
+âââ 2023\
+ âââ Events\
+ âââ Hochzeit_Sarah\
+ âââ README.md
+ âââ kirche_aussen.jpg
+```
+
+### README.md Beispiel
+```markdown
+# Urlaub Mallorca
+
+Traumhafter Urlaub auf Mallorca mit Sonne, Strand und entspannten Momenten am Pool.
+
+## Details
+- Jahr: 2024
+- Fotograf: Max Mustermann
+- Projekt: Urlaub Mallorca
+```
+
+### Extrahierte Metadaten
+```json
+{
+ "jahr": "2024",
+ "titel": "Urlaub Mallorca",
+ "beschreibung": "Traumhafter Urlaub auf Mallorca mit Sonne, Strand und entspannten Momenten am Pool.",
+ "name": "Max Mustermann"
+}
+```
+
+## Error-Handling
+
+- **Connection-Timeout**: 10s fĂŒr Backend-Test, 60s fĂŒr Upload
+- **File-Errors**: Automatisches Skip von beschÀdigten Bildern
+- **Chunk-Failures**: Einzelne Chunks können fehlschlagen ohne Abbruch
+- **Retry-Logic**: Verwendet Session fĂŒr Connection-Reuse
+
+## Cross-Platform Support
+
+- **â
Windows**: VollstĂ€ndige UnterstĂŒtzung fĂŒr Windows-Pfade und Leerzeichen
+- **â
Linux/macOS**: Native Unix-Pfad UnterstĂŒtzung
+- **â
Nextcloud/Dropbox**: Funktioniert mit Sync-Ordnern
+- **â
Netzwerk-Pfade**: UNC-Pfade (`\\server\share`) unterstĂŒtzt
+
+### Windows-spezifische Hinweise
+```bash
+# Absolute Pfade mit Leerzeichen in AnfĂŒhrungszeichen
+python batch_uploader.py "C:\Users\lotzm\Nextcloud2\HH DropFolder with quota\=NutzerBildUploads="
+
+# Escape-Zeichen fĂŒr Sonderzeichen im Pfad
+python batch_uploader.py "D:\Photos\Familie Schmidt\2024 Events"
+
+# UNC-Netzwerk-Pfade
+python batch_uploader.py "\\\\nas-server\\photos\\2024" --verbose
+```
+
+## Performance
+
+- **Single-Group Upload**: Alle Bilder einer Session gehören zu EINER Gruppe (Fixed!)
+- **Session-Reuse**: HTTP-Connections werden wiederverwendet
+- **Memory-Effizient**: Bilder werden einzeln gelesen und direkt uploaded
+- **Path-Performance**: `pathlib.Path.resolve()` fĂŒr optimale Pfad-Verarbeitung
+- **Robuste Uploads**: LĂ€ngere Timeouts fĂŒr groĂe Batches (120s)
+
+## Troubleshooting
+
+### Backend nicht erreichbar
+```bash
+### Backend Status prĂŒfen
+```bash
+# PrĂŒfe Backend-Status
+curl http://localhost:5000/groups
+
+# Backend starten
+cd ../
+./prod.sh
+```
+
+### EXIF-Fehler
+```bash
+# Pillow neu installieren
+pip install --upgrade Pillow
+```
+
+### Performance bei groĂen Batches
+```bash
+# Kleinere Chunk-Size verwenden
+python batch_uploader.py /photos --chunk-size 3
+
+# Progress verfolgen
+python batch_uploader.py /photos --verbose
+```
\ No newline at end of file
diff --git a/scripts/batch_uploader.py b/scripts/batch_uploader.py
new file mode 100644
index 0000000..60a6a9d
--- /dev/null
+++ b/scripts/batch_uploader.py
@@ -0,0 +1,682 @@
+#!/usr/bin/env python3
+"""
+Batch Image Uploader fĂŒr Image-Uploader System
+=============================================
+
+Automatisches Parsen von Verzeichnissen und Upload von Bildern
+mit strukturierten Metadaten an das Image-Uploader Backend.
+
+Features:
+- Rekursives Verzeichnis-Scanning nach Bildern
+- Metadaten-Extraktion aus Verzeichnis-/Dateinamen
+- Batch-Upload an das Backen self.logger.info(f"đ Upload abgeschlossen: {len(project_groups)} Gruppen erstellt")
+
+ return {
+ 'total': total_images,
+ 'successful': total_successful,
+ 'failed': total_failed,
+ 'failed_files': failed_files,
+ 'project_groups': project_groups # FĂŒr Ăbersicht am Ende
+ }Progress-Tracking und Error-Handling
+- EXIF-Daten UnterstĂŒtzung (optional)
+
+Usage:
+ python batch_uploader.py /path/to/images --titel "Meine Sammlung"
+"""
+
+import os
+import sys
+import json
+import requests
+import argparse
+from pathlib import Path
+from typing import List, Dict, Optional, Tuple
+import mimetypes
+from PIL import Image, ExifTags
+from PIL.ExifTags import TAGS
+import re
+from datetime import datetime
+import logging
+
+# Konfiguration
+DEFAULT_BACKEND_URL = "https://deinprojekt.lan.hobbyhimmel.de/api"
+#DEFAULT_BACKEND_URL = "http://localhost/api"
+SUPPORTED_FORMATS = {'.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp', '.tiff', '.tif'}
+MAX_FILE_SIZE = 10 * 1024 * 1024 # 10MB
+
+class ImageMetadataExtractor:
+ """Extrahiert Metadaten aus Bildern und Verzeichnissen
+
+ Erwartet Struktur: Photos/Jahr/Name/Projekt/dateiname.endung
+ """
+
+ def __init__(self):
+ self.logger = logging.getLogger(__name__)
+
+ def parse_structured_path(self, file_path: Path) -> Dict[str, str]:
+ """
+ Parst strukturierten Pfad: Photos/Jahr/Name/Projekt/dateiname.endung
+
+ Returns:
+ Dict mit 'jahr', 'name', 'projekt', 'dateiname' oder None wenn nicht parsbar
+ """
+ parts = file_path.parts
+
+ # Mindestens 4 Verzeichnisse + Datei erforderlich
+ if len(parts) < 5:
+ self.logger.debug(f"Pfad zu kurz fĂŒr Struktur-Parsing: {file_path}")
+ return {}
+
+ try:
+ # RĂŒckwĂ€rts vom Ende her parsen
+ dateiname = file_path.stem
+ projekt = parts[-2] # Projekt-Verzeichnis
+ name = parts[-3] # Name-Verzeichnis
+ jahr = parts[-4] # Jahr-Verzeichnis
+
+ # Jahr validieren (4-stellige Zahl)
+ if not re.match(r'^(19|20)\d{2}$', jahr):
+ self.logger.debug(f"UngĂŒltiges Jahr in Pfad: {jahr}")
+ # Versuche Jahr aus anderen Teilen zu extrahieren
+ jahr = self.extract_year_from_path(file_path)
+
+ return {
+ 'jahr': jahr,
+ 'name': name,
+ 'projekt': projekt,
+ 'dateiname': dateiname
+ }
+
+ except (IndexError, ValueError) as e:
+ self.logger.debug(f"Struktur-Parsing fehlgeschlagen fĂŒr {file_path}: {e}")
+ return {}
+
+ def extract_year_from_path(self, file_path: Path) -> Optional[str]:
+ """Extrahiert Jahr aus Pfad oder Dateinamen (Fallback)"""
+ year_pattern = r'\b(19|20)\d{2}\b'
+
+ # Zuerst im Verzeichnisnamen
+ for part in file_path.parts:
+ match = re.search(year_pattern, part)
+ if match:
+ return match.group()
+
+ # Dann im Dateinamen
+ match = re.search(year_pattern, file_path.stem)
+ if match:
+ return match.group()
+
+ return None
+
+ def extract_exif_date(self, image_path: Path) -> Optional[str]:
+ """Extrahiert Aufnahmedatum aus EXIF-Daten"""
+ try:
+ with Image.open(image_path) as img:
+ exifdata = img.getexif()
+ if exifdata:
+ for tag_id in exifdata:
+ tag = TAGS.get(tag_id, tag_id)
+ if tag in ['DateTime', 'DateTimeOriginal', 'DateTimeDigitized']:
+ date_str = exifdata.get(tag_id)
+ if date_str:
+ # Format: "2023:12:25 10:30:00" -> "2023"
+ return date_str.split(':')[0]
+ except Exception as e:
+ self.logger.warning(f"EXIF-Extraktion fehlgeschlagen fĂŒr {image_path}: {e}")
+
+ return None
+
+ def read_readme_description(self, directory: Path) -> Optional[str]:
+ """
+ Liest Beschreibung aus README.md im Verzeichnis.
+ Extrahiert den Text nach '## Beschreibung' bis zur nĂ€chsten Ăberschrift, --- oder 500 Zeichen.
+ """
+ readme_files = ['README.md', 'readme.md', 'Readme.md', 'README.txt', 'readme.txt']
+ for readme_name in readme_files:
+ readme_path = directory / readme_name
+ if readme_path.exists() and readme_path.is_file():
+ try:
+ with open(readme_path, 'r', encoding='utf-8') as f:
+ content = f.read()
+ # Suche nach '## Beschreibung'
+ beschr_start = re.search(r'^\s*##\s*Beschreibung\s*$', content, re.MULTILINE)
+ if beschr_start:
+ start_idx = beschr_start.end()
+ rest = content[start_idx:]
+ # Suche nach nĂ€chster Ăberschrift oder --- nach '## Beschreibung'
+ next_header = re.search(r'^\s*#+\s+', rest, re.MULTILINE)
+ next_sep = re.search(r'^\s*-{3,}\s*$', rest, re.MULTILINE)
+ # Finde das frĂŒheste Ende (nĂ€chste Ăberschrift oder ---)
+ end_idx = None
+ if next_header and next_sep:
+ end_idx = min(next_header.start(), next_sep.start())
+ elif next_header:
+ end_idx = next_header.start()
+ elif next_sep:
+ end_idx = next_sep.start()
+ if end_idx is not None:
+ beschreibung = rest[:end_idx]
+ else:
+ beschreibung = rest
+ # Auf max. 500 Zeichen kĂŒrzen und Whitespace sĂ€ubern
+ beschreibung = beschreibung.strip()
+ beschreibung = beschreibung[:500]
+ if beschreibung:
+ self.logger.debug(f"README Beschreibung gefunden in {directory}: {beschreibung[:50]}...")
+ return beschreibung
+ except Exception as e:
+ self.logger.warning(f"Fehler beim Lesen von {readme_path}: {e}")
+ continue
+ return None
+
+ def extract_title_from_structured_path(self, path_info: Dict[str, str]) -> str:
+ """Extrahiert Titel aus strukturiertem Pfad"""
+ if 'projekt' in path_info and path_info['projekt']:
+ # Projekt-Name als Titel verwenden
+ title = path_info['projekt']
+ # Unterstriche/Bindestriche durch Leerzeichen ersetzen
+ title = re.sub(r'[_-]+', ' ', title)
+ return title.title()
+
+ return "Unbenannt"
+
+ def extract_description_from_structured_path(self, file_path: Path, path_info: Dict[str, str]) -> str:
+ """
+ Generiert Beschreibung aus strukturiertem Pfad
+
+ PrioritÀt:
+ 1. README.md im Projekt-Verzeichnis
+ 2. README.md im Name-Verzeichnis
+ 3. VollstÀndiger Verzeichnisname als Fallback
+ """
+
+ # 1. README.md im Projekt-Verzeichnis suchen
+ projekt_dir = file_path.parent
+ readme_description = self.read_readme_description(projekt_dir)
+ if readme_description:
+ return readme_description
+
+ # 2. README.md im Name-Verzeichnis suchen
+ if len(file_path.parts) >= 3:
+ name_dir = file_path.parents[1] # Zwei Ebenen nach oben
+ readme_description = self.read_readme_description(name_dir)
+ if readme_description:
+ return readme_description
+
+ # 3. Fallback: VollstÀndiger Verzeichnisname
+ if path_info:
+ parts = []
+ if 'jahr' in path_info and path_info['jahr']:
+ parts.append(f"Jahr: {path_info['jahr']}")
+ if 'name' in path_info and path_info['name']:
+ parts.append(f"Name: {path_info['name']}")
+ if 'projekt' in path_info and path_info['projekt']:
+ parts.append(f"Projekt: {path_info['projekt']}")
+
+ if parts:
+ return " | ".join(parts)
+
+ # Final Fallback: Pfad-basiert
+ return f"Aus: {' â '.join(file_path.parts[-3:-1])}"
+
+class BatchUploader:
+ """Haupt-Klasse fĂŒr Batch-Upload"""
+
+ def __init__(self, backend_url: str = DEFAULT_BACKEND_URL, user: str = None, password: str = None):
+ self.backend_url = backend_url.rstrip('/')
+ self.metadata_extractor = ImageMetadataExtractor()
+ self.logger = logging.getLogger(__name__)
+
+ # Session fĂŒr Connection-Reuse
+ self.session = requests.Session()
+ self.session.headers.update({
+ 'User-Agent': 'Batch-Uploader/1.0'
+ })
+ self.auth = (user, password) if user and password else None
+
+ def scan_directory(self, directory: Path, recursive: bool = True) -> List[Path]:
+ """Scannt Verzeichnis nach unterstĂŒtzten Bildern"""
+ images = []
+
+ if not directory.exists() or not directory.is_dir():
+ raise ValueError(f"Verzeichnis nicht gefunden: {directory}")
+
+ pattern = "**/*" if recursive else "*"
+
+ for file_path in directory.glob(pattern):
+ if (file_path.is_file() and
+ file_path.suffix.lower() in SUPPORTED_FORMATS and
+ file_path.stat().st_size <= MAX_FILE_SIZE):
+ images.append(file_path)
+
+ return sorted(images)
+
+ def prepare_image_metadata(self, image_path: Path,
+ default_titel: Optional[str] = None,
+ default_name: Optional[str] = None) -> Dict:
+ """
+ Bereitet Metadaten fĂŒr ein Bild vor
+
+ Erwartet Struktur: Photos/Jahr/Name/Projekt/dateiname.endung
+ """
+
+ # Strukturierten Pfad parsen
+ path_info = self.metadata_extractor.parse_structured_path(image_path)
+
+ # Jahr bestimmen (Struktur > EXIF > Pfad > Aktuell)
+ jahr = None
+ if path_info and 'jahr' in path_info and path_info['jahr']:
+ jahr = path_info['jahr']
+ else:
+ # Fallback: EXIF oder Pfad-Pattern
+ jahr = (self.metadata_extractor.extract_exif_date(image_path) or
+ self.metadata_extractor.extract_year_from_path(image_path) or
+ str(datetime.now().year))
+
+ # Titel bestimmen (Parameter > Struktur)
+ titel = None
+ if default_titel:
+ titel = default_titel
+ elif path_info:
+ titel = self.metadata_extractor.extract_title_from_structured_path(path_info)
+ else:
+ # Fallback fĂŒr unstrukturierte Pfade
+ titel = "Unbenannt"
+
+ # Beschreibung generieren (README > Pfad-Info)
+ beschreibung = self.metadata_extractor.extract_description_from_structured_path(
+ image_path, path_info
+ )
+
+ # Name bestimmen (Parameter > Struktur > Leer)
+ name = ""
+ if default_name:
+ name = default_name
+ elif path_info and 'name' in path_info and path_info['name']:
+ name = path_info['name']
+
+ return {
+ 'jahr': jahr,
+ 'titel': titel,
+ 'beschreibung': beschreibung,
+ 'name': name
+ }
+
+ def upload_batch(self, images: List[Path],
+ default_titel: Optional[str] = None,
+ default_name: Optional[str] = None,
+ dry_run: bool = False) -> Dict:
+ """
+ Uploaded Bilder gruppiert nach PROJEKTEN (Jahr/Name/Projekt)
+
+ KORREKT: Jedes Projekt wird eine eigene Gruppe!
+ """
+
+ total_images = len(images)
+
+ if not images:
+ return {'total': 0, 'successful': 0, 'failed': 0, 'failed_files': []}
+
+ # 1. Bilder nach Projekten gruppieren
+ project_groups = {}
+
+ for image_path in images:
+ path_info = self.metadata_extractor.parse_structured_path(image_path)
+
+ # Eindeutigen Projekt-Key erstellen
+ if path_info and all(k in path_info for k in ['jahr', 'name', 'projekt']):
+ project_key = f"{path_info['jahr']}/{path_info['name']}/{path_info['projekt']}"
+ else:
+ # Fallback fĂŒr unstrukturierte Pfade
+ project_key = f"unbekannt/{image_path.parent.name}"
+
+ if project_key not in project_groups:
+ project_groups[project_key] = []
+ project_groups[project_key].append(image_path)
+
+ self.logger.info(f"đ {len(project_groups)} Projekte gefunden mit {total_images} Bildern")
+
+ # Dry-Run oder Upload
+ if dry_run:
+ self.logger.info("đ Dry-Run Mode - Kein Upload")
+ self.logger.info(f"WĂŒrde {len(images)} Bilder uploaden")
+
+ # README-Dateien erstellen im Dry-Run Mode
+ self.logger.info("đ Erstelle README-Dateien in Projekt-Verzeichnissen...")
+ readme_count = self.create_readme_files(images)
+ self.logger.info(f"â
{readme_count} README-Dateien erstellt")
+
+
+
+ # 2. Jedes Projekt als eigene Gruppe uploaden
+ total_successful = 0
+ total_failed = 0
+ failed_files = []
+
+ for project_key, project_images in project_groups.items():
+ self.logger.info(f"đ Upload Projekt '{project_key}': {len(project_images)} Bilder")
+
+ # Metadaten fĂŒr dieses Projekt
+ group_metadata = self.prepare_image_metadata(project_images[0], default_titel, default_name)
+
+ # Backend erwartet year/title/description/name
+ backend_metadata = {
+ 'year': int(group_metadata.get('jahr', datetime.now().year)),
+ 'title': group_metadata.get('titel', project_key.split('/')[-1]), # Projekt-Name als Titel
+ 'description': group_metadata.get('beschreibung', f"Projekt: {project_key}"),
+ 'name': group_metadata.get('name', '')
+ }
+
+ # Dieses Projekt uploaden
+ if not dry_run:
+ try:
+ files = []
+
+ # Alle Dateien fĂŒr den Upload vorbereiten
+ for image_path in project_images:
+ files.append(('images', (
+ image_path.name,
+ open(image_path, 'rb'),
+ mimetypes.guess_type(str(image_path))[0] or 'image/jpeg'
+ )))
+
+ # Ein Upload-Request pro Projekt
+ response = self.session.post(
+ f"{self.backend_url}/upload/batch",
+ files=files,
+ data={'metadata': json.dumps(backend_metadata)},
+ timeout=120,
+ auth=self.auth
+ )
+
+ # Files schlieĂen
+ for _, file_tuple in files:
+ if hasattr(file_tuple[1], 'close'):
+ file_tuple[1].close()
+
+ if response.status_code == 200:
+ self.logger.info(f"â
Projekt '{project_key}': {len(project_images)} Bilder")
+ total_successful += len(project_images)
+ else:
+ self.logger.error(f"â Projekt '{project_key}' Fehler: {response.status_code}")
+ total_failed += len(project_images)
+ failed_files.extend([str(img) for img in project_images])
+
+ except Exception as e:
+ self.logger.error(f"đ„ Projekt '{project_key}' Fehler: {e}")
+ total_failed += len(project_images)
+ failed_files.extend([str(img) for img in project_images])
+
+ self.logger.info(f"ïżœ Upload abgeschlossen: {len(project_groups)} Gruppen erstellt")
+
+ return {
+ 'total': total_images,
+ 'successful': total_successful,
+ 'failed': total_failed,
+ 'failed_files': failed_files,
+ 'project_groups': project_groups
+ }
+
+ def create_readme_files(self, images: List[Path]) -> int:
+ """
+ Erstellt README.md Dateien in jedem Projekt-Verzeichnis (nur bei --dry-run)
+
+ Returns:
+ Anzahl der erstellten README-Dateien
+ """
+ created_count = 0
+ project_dirs = set()
+
+ # Sammle alle Projekt-Verzeichnisse
+ for image_path in images:
+ path_info = self.metadata_extractor.parse_structured_path(image_path)
+
+ if path_info and all(k in path_info for k in ['jahr', 'name', 'projekt']):
+ # Projekt-Verzeichnis ist das parent des Bildes
+ project_dir = image_path.parent
+ if project_dir not in project_dirs:
+ project_dirs.add(project_dir)
+
+ # Erstelle README.md in jedem Projekt-Verzeichnis
+ for project_dir in project_dirs:
+ readme_path = project_dir / 'README.md'
+
+ # PrĂŒfe ob README bereits existiert
+ if readme_path.exists():
+ self.logger.debug(f"README existiert bereits: {readme_path}")
+ continue
+
+ # Extrahiere Metadaten aus Pfad
+ path_info = self.metadata_extractor.parse_structured_path(project_dir / 'dummy.jpg')
+
+ if not path_info:
+ continue
+
+ # README-Inhalt generieren
+ readme_content = self._generate_readme_content(path_info)
+
+ try:
+ readme_path.write_text(readme_content, encoding='utf-8')
+ self.logger.info(f"â
README erstellt: {readme_path}")
+ created_count += 1
+ except Exception as e:
+ self.logger.error(f"â Fehler beim Erstellen von {readme_path}: {e}")
+
+ return created_count
+
+ def _generate_readme_content(self, path_info: Dict[str, str]) -> str:
+ """Generiert README-Inhalt basierend auf Pfad-Informationen"""
+ jahr = path_info.get('jahr', 'YYYY')
+ name = path_info.get('name', 'Name')
+ projekt = path_info.get('projekt', 'Projekt')
+
+ # Projekt-Titel formatieren
+ projekt_titel = projekt.replace('_', ' ').replace('-', ' ').title()
+
+ content = f"""# {projekt_titel}
+
+## Projekt-Details
+
+**Jahr:** {jahr}
+**Ersteller:** {name}
+**Projekt:** {projekt_titel}
+
+## Beschreibung
+
+[TODO: Beschreibung des Projekts hier einfĂŒgen]
+
+
+---
+*Diese README wurde automatisch generiert und kann bearbeitet werden.*
+"""
+ return content
+
+ def print_upload_summary(self, project_groups: Dict[str, List[Path]]) -> None:
+ """Druckt eine Ăbersicht aller erstellten Slideshows"""
+
+ if not project_groups:
+ self.logger.info("đ Keine Projekte gefunden")
+ return
+
+ self.logger.info("")
+ self.logger.info("=" * 80)
+ self.logger.info(f"đ SLIDESHOW ĂBERSICHT - {len(project_groups)} Projekte erstellt")
+ self.logger.info("=" * 80)
+
+ # Sortiere Projekte nach Jahr, dann Name, dann Projekt
+ sorted_projects = sorted(project_groups.items(), key=lambda x: x[0])
+
+ current_year = None
+ current_name = None
+
+ for project_key, images in sorted_projects:
+ parts = project_key.split('/')
+ if len(parts) == 3:
+ jahr, name, projekt = parts
+ else:
+ jahr, name, projekt = "?", "?", project_key
+
+ # Gruppierung nach Jahr
+ if current_year != jahr:
+ if current_year is not None:
+ self.logger.info("")
+ self.logger.info(f"đ
{jahr}")
+ self.logger.info("-" * 50)
+ current_year = jahr
+ current_name = None
+
+ # Gruppierung nach Name (innerhalb des Jahres)
+ if current_name != name:
+ if current_name is not None:
+ self.logger.info("")
+ self.logger.info(f"đ€ {name}")
+ current_name = name
+
+ # Projekt-Details
+ self.logger.info(f" đș {projekt.ljust(30)} - {len(images):3d} Bilder")
+
+ self.logger.info("")
+ self.logger.info("=" * 80)
+ total_images = sum(len(images) for images in project_groups.values())
+ self.logger.info(f"đ GESAMT: {len(project_groups)} Slideshows mit {total_images} Bildern")
+ self.logger.info("=" * 80)
+
+ def test_connection(self) -> bool:
+ """Testet Verbindung zum Backend (mit optionaler Auth)"""
+ try:
+ response = self.session.get(f"{self.backend_url}/groups", timeout=10, auth=self.auth)
+ return response.status_code == 200
+ except Exception as e:
+ self.logger.error(f"Verbindungstest fehlgeschlagen: {e}")
+ return False
+
+def setup_logging(verbose: bool = False):
+ """Konfiguriert Logging"""
+ level = logging.DEBUG if verbose else logging.INFO
+
+ logging.basicConfig(
+ level=level,
+ format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
+ datefmt='%H:%M:%S'
+ )
+
+def main():
+ """Hauptfunktion"""
+ parser = argparse.ArgumentParser(
+ description="Batch Image Uploader fĂŒr Image-Uploader System",
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ epilog="""
+Beispiele:
+ python batch_uploader.py /home/user/photos --titel "Urlaubsbilder"
+ python batch_uploader.py ./images --name "Max Mustermann" --no-recursive
+ python batch_uploader.py /photos --backend http://myserver:5000 --dry-run --verbose
+ """
+ )
+
+ parser.add_argument('directory',
+ help='Verzeichnis mit Bildern zum Upload')
+
+ parser.add_argument('--titel',
+ help='Standard-Titel fĂŒr alle Bilder')
+
+ parser.add_argument('--name',
+ help='Standard-Name fĂŒr alle Bilder')
+
+ parser.add_argument('--backend',
+ default=DEFAULT_BACKEND_URL,
+ help=f'Backend URL (Standard: {DEFAULT_BACKEND_URL})')
+
+ parser.add_argument('--user',
+ help='HTTP Basic Auth Benutzername (optional)')
+ parser.add_argument('--password',
+ help='HTTP Basic Auth Passwort (optional)')
+ parser.add_argument('--no-recursive',
+ action='store_true',
+ help='Nicht rekursiv in Unterverzeichnisse')
+
+ parser.add_argument('--dry-run',
+ action='store_true',
+ help='Nur Analyse, kein Upload')
+
+ parser.add_argument('--verbose', '-v',
+ action='store_true',
+ help='Verbose Output')
+
+ args = parser.parse_args()
+
+ # Logging Setup
+ setup_logging(args.verbose)
+ logger = logging.getLogger(__name__)
+
+ try:
+ # Verzeichnis validieren
+ directory = Path(args.directory).resolve()
+ uploader = BatchUploader(args.backend, args.user, args.password)
+
+ # Verbindung testen (nur bei echtem Upload)
+ if not args.dry_run:
+ logger.info(f"Teste Verbindung zu {args.backend}...")
+ if not uploader.test_connection():
+ logger.error("â Backend nicht erreichbar!")
+ return 1
+ logger.info("â
Backend erreichbar")
+ else:
+ logger.info("đ Dry-Run Mode - Ăberspringe Verbindungstest")
+
+ # Bilder scannen
+ logger.info(f"Scanne Verzeichnis: {directory}")
+ recursive = not args.no_recursive
+ images = uploader.scan_directory(directory, recursive)
+
+ if not images:
+ logger.warning("Keine unterstĂŒtzten Bilder gefunden!")
+ return 0
+
+ logger.info(f"đ {len(images)} Bilder gefunden")
+
+ # Beispiel-Metadaten zeigen
+ if args.verbose and images:
+ sample_image = images[0]
+ sample_metadata = uploader.prepare_image_metadata(
+ sample_image, args.titel, args.name
+ )
+ logger.debug(f"Beispiel-Metadaten fĂŒr {sample_image.name}:")
+ for key, value in sample_metadata.items():
+ logger.debug(f" {key}: {value}")
+
+
+ # Upload starten
+ logger.info(f"đ Starte Upload...")
+ result = uploader.upload_batch(
+ images,
+ args.titel,
+ args.name,
+ args.dry_run
+ )
+
+ # Ergebnis
+ if not args.dry_run:
+ logger.info("đ Upload abgeschlossen:")
+ logger.info(f" â
Erfolgreich: {result['successful']}")
+ logger.info(f" â Fehlgeschlagen: {result['failed']}")
+
+ if result['failed_files'] and args.verbose:
+ logger.info("Fehlgeschlagene Dateien:")
+ for failed_file in result['failed_files']:
+ logger.info(f" - {failed_file}")
+
+ # Upload-Ăbersicht anzeigen (nach erfolgreichem Upload)
+ if 'project_groups' in result and result['project_groups']:
+ uploader.print_upload_summary(result['project_groups'])
+
+ return 0 if result['failed'] == 0 else 1
+
+ except Exception as e:
+ logger.error(f"đ„ Unerwarteter Fehler: {e}")
+ if args.verbose:
+ import traceback
+ traceback.print_exc()
+ return 1
+
+if __name__ == "__main__":
+ sys.exit(main())
\ No newline at end of file
diff --git a/scripts/examples.sh b/scripts/examples.sh
new file mode 100755
index 0000000..35f6a2e
--- /dev/null
+++ b/scripts/examples.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+"""
+Beispiel-Verwendung des Batch-Uploaders
+======================================
+
+Dieses Skript zeigt verschiedene AnwendungsfÀlle des batch_uploader.py
+"""
+
+echo "đ Batch Uploader Beispiele"
+echo "=========================="
+
+# Backend Status prĂŒfen
+echo -e "\n1. Backend Status prĂŒfen:"
+echo "curl http://localhost:5000/api/groups"
+
+# Beispiel 1: Einfacher Upload
+echo -e "\n2. Einfacher Upload:"
+echo "python batch_uploader.py ./test_images --titel \"Test Sammlung\""
+
+# Beispiel 2: Erweiterte Optionen
+echo -e "\n3. Mit allen Optionen:"
+echo "python batch_uploader.py /home/user/photos \\"
+echo " --titel \"Urlaubsbilder 2024\" \\"
+echo " --name \"Max Mustermann\" \\"
+echo " --backend http://localhost:5000 \\"
+echo " --chunk-size 10 \\"
+echo " --verbose"
+
+# Beispiel 3: Dry Run
+echo -e "\n4. Dry Run (Analyse ohne Upload):"
+echo "python batch_uploader.py ./images --dry-run --verbose"
+
+# Beispiel 4: GroĂe Sammlung
+echo -e "\n5. GroĂe Sammlung optimiert:"
+echo "python batch_uploader.py /massive/photo/archive \\"
+echo " --titel \"Foto Archiv\" \\"
+echo " --chunk-size 3 \\"
+echo " --verbose"
+
+# Test-Verzeichnis erstellen
+echo -e "\n6. Test-Verzeichnis erstellen:"
+echo "mkdir -p test_images/2024_Urlaub/Strand"
+echo "mkdir -p test_images/2023_Familie"
+echo "# Kopiere einige Testbilder in diese Verzeichnisse"
+
+echo -e "\nâ
Bereit fĂŒr Tests!"
+
+# Interaktiver Modus
+if [ "$1" = "--interactive" ]; then
+ echo -e "\nđŻ Interaktiver Test-Modus"
+
+ # Backend prĂŒfen
+ echo -e "\nPrĂŒfe Backend-Verbindung..."
+ if curl -s http://localhost:5000/api/groups > /dev/null; then
+ echo "â
Backend lÀuft"
+ else
+ echo "â Backend nicht erreichbar - starte mit ./prod.sh"
+ exit 1
+ fi
+
+ # Test-Verzeichnis mit Beispiel-Struktur erstellen
+ echo -e "\nErstelle Test-Struktur..."
+ mkdir -p test_images/2024_Urlaub/{Strand,Stadt}
+ mkdir -p test_images/2023_Familie
+
+ echo "đ Test-Struktur erstellt:"
+ echo "test_images/"
+ echo "âââ 2024_Urlaub/"
+ echo "â âââ Strand/"
+ echo "â âââ Stadt/"
+ echo "âââ 2023_Familie/"
+ echo ""
+ echo "đĄ Kopiere jetzt Testbilder in diese Verzeichnisse"
+ echo "đĄ Dann teste mit: python batch_uploader.py test_images --dry-run"
+fi
\ No newline at end of file
diff --git a/scripts/requirements.txt b/scripts/requirements.txt
new file mode 100644
index 0000000..655c375
--- /dev/null
+++ b/scripts/requirements.txt
@@ -0,0 +1,2 @@
+requests>=2.31.0
+Pillow>=10.0.0
\ No newline at end of file
diff --git a/scripts/test_images/2023/Familie_Mueller/Weihnachten/README.md b/scripts/test_images/2023/Familie_Mueller/Weihnachten/README.md
new file mode 100644
index 0000000..4177b8e
--- /dev/null
+++ b/scripts/test_images/2023/Familie_Mueller/Weihnachten/README.md
@@ -0,0 +1,8 @@
+# Weihnachten
+
+Besinnliche Weihnachtszeit mit der ganzen Familie, Geschenken und traditionellem Fest.
+
+## Details
+- Jahr: 2023
+- Fotograf: Familie Mueller
+- Projekt: Weihnachten
diff --git a/scripts/test_images/2023/Familie_Mueller/Weihnachten/familienfoto.jpg b/scripts/test_images/2023/Familie_Mueller/Weihnachten/familienfoto.jpg
new file mode 100644
index 0000000..1fe5117
Binary files /dev/null and b/scripts/test_images/2023/Familie_Mueller/Weihnachten/familienfoto.jpg differ
diff --git a/scripts/test_images/2023/Familie_Mueller/Weihnachten/geschenke.jpg b/scripts/test_images/2023/Familie_Mueller/Weihnachten/geschenke.jpg
new file mode 100644
index 0000000..f06170a
Binary files /dev/null and b/scripts/test_images/2023/Familie_Mueller/Weihnachten/geschenke.jpg differ
diff --git a/scripts/test_images/2023/Familie_Mueller/Weihnachten/weihnachtsbaum.jpg b/scripts/test_images/2023/Familie_Mueller/Weihnachten/weihnachtsbaum.jpg
new file mode 100644
index 0000000..db198f0
Binary files /dev/null and b/scripts/test_images/2023/Familie_Mueller/Weihnachten/weihnachtsbaum.jpg differ
diff --git a/scripts/test_images/2023/Thomas_Weber/Business_Trip/README.md b/scripts/test_images/2023/Thomas_Weber/Business_Trip/README.md
new file mode 100644
index 0000000..387b9fb
--- /dev/null
+++ b/scripts/test_images/2023/Thomas_Weber/Business_Trip/README.md
@@ -0,0 +1,8 @@
+# Business Trip
+
+GeschÀftsreise mit wichtigen Meetings, Konferenzen und wertvollen Networking-Gelegenheiten.
+
+## Details
+- Jahr: 2023
+- Fotograf: Thomas Weber
+- Projekt: Business Trip
diff --git a/scripts/test_images/2023/Thomas_Weber/Business_Trip/konferenz.jpg b/scripts/test_images/2023/Thomas_Weber/Business_Trip/konferenz.jpg
new file mode 100644
index 0000000..98f04ba
Binary files /dev/null and b/scripts/test_images/2023/Thomas_Weber/Business_Trip/konferenz.jpg differ
diff --git a/scripts/test_images/2023/Thomas_Weber/Business_Trip/networking.jpg b/scripts/test_images/2023/Thomas_Weber/Business_Trip/networking.jpg
new file mode 100644
index 0000000..4c77903
Binary files /dev/null and b/scripts/test_images/2023/Thomas_Weber/Business_Trip/networking.jpg differ
diff --git a/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/README.md b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/README.md
new file mode 100644
index 0000000..6ec5619
--- /dev/null
+++ b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/README.md
@@ -0,0 +1,8 @@
+# Architektur Berlin
+
+Architektonische Highlights Berlins - eine fotografische Reise durch die Hauptstadt.
+
+## Details
+- Jahr: 2024
+- Fotograf: Anna Schmidt
+- Projekt: Architektur Berlin
diff --git a/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/brandenburger_tor.jpg b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/brandenburger_tor.jpg
new file mode 100644
index 0000000..3c1c5f1
Binary files /dev/null and b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/brandenburger_tor.jpg differ
diff --git a/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/potsdamer_platz.jpg b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/potsdamer_platz.jpg
new file mode 100644
index 0000000..a7f9bfb
Binary files /dev/null and b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/potsdamer_platz.jpg differ
diff --git a/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/reichstag.jpg b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/reichstag.jpg
new file mode 100644
index 0000000..01d76b1
Binary files /dev/null and b/scripts/test_images/2024/Anna_Schmidt/Architektur_Berlin/reichstag.jpg differ
diff --git a/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/README.md b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/README.md
new file mode 100644
index 0000000..a554ab8
--- /dev/null
+++ b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/README.md
@@ -0,0 +1,8 @@
+# Hochzeit Anna
+
+Unvergessliche Hochzeitsfeier von Anna und Max mit wunderschöner Zeremonie und ausgelassener Party.
+
+## Details
+- Jahr: 2024
+- Fotograf: Max Mustermann
+- Projekt: Hochzeit Anna
diff --git a/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/party.jpg b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/party.jpg
new file mode 100644
index 0000000..ba6dee5
Binary files /dev/null and b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/party.jpg differ
diff --git a/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/torte.jpg b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/torte.jpg
new file mode 100644
index 0000000..698b464
Binary files /dev/null and b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/torte.jpg differ
diff --git a/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/zeremonie.jpg b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/zeremonie.jpg
new file mode 100644
index 0000000..219c778
Binary files /dev/null and b/scripts/test_images/2024/Max_Mustermann/Hochzeit_Anna/zeremonie.jpg differ
diff --git a/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/README.md b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/README.md
new file mode 100644
index 0000000..050d8b6
--- /dev/null
+++ b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/README.md
@@ -0,0 +1,8 @@
+# Urlaub Mallorca
+
+Traumhafter Urlaub auf Mallorca mit Sonne, Strand und entspannten Momenten am Pool.
+
+## Details
+- Jahr: 2024
+- Fotograf: Max Mustermann
+- Projekt: Urlaub Mallorca
diff --git a/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/hotel_pool.jpg b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/hotel_pool.jpg
new file mode 100644
index 0000000..c0dd8a5
Binary files /dev/null and b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/hotel_pool.jpg differ
diff --git a/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/sonnenuntergang.jpg b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/sonnenuntergang.jpg
new file mode 100644
index 0000000..a87a962
Binary files /dev/null and b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/sonnenuntergang.jpg differ
diff --git a/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/strand_spaziergang.jpg b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/strand_spaziergang.jpg
new file mode 100644
index 0000000..b14ed79
Binary files /dev/null and b/scripts/test_images/2024/Max_Mustermann/Urlaub_Mallorca/strand_spaziergang.jpg differ
diff --git a/scripts/test_path_compatibility.py b/scripts/test_path_compatibility.py
new file mode 100644
index 0000000..6afb184
--- /dev/null
+++ b/scripts/test_path_compatibility.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python3
+"""
+Windows Path Compatibility Test
+=============================
+
+Testet die KompatibilitÀt des Batch-Uploaders mit verschiedenen Pfad-Formaten.
+"""
+
+from pathlib import Path
+import os
+import sys
+
+def test_path_compatibility():
+ """Testet verschiedene Pfad-Formate"""
+
+ print("đ§Ș Path Compatibility Test")
+ print("=" * 40)
+
+ # Test verschiedene Pfad-Formate
+ test_paths = [
+ # Unix/Linux Pfade
+ "/home/user/photos",
+ "./relative/path",
+ "../parent/dir",
+
+ # Windows Pfade (simuliert)
+ r"C:\Users\lotzm\Photos",
+ r"C:\Users\lotzm\Nextcloud2\HH DropFolder with quota\=NutzerBildUploads=",
+ r"D:\Backup Fotos\2024\Familie Schmidt",
+
+ # Problematische Pfade
+ "path with spaces",
+ "path/with/Ă€Ă¶ĂŒ/unicode",
+ "path-with-special=chars",
+
+ # Relative Windows-Style (simuliert)
+ r".\Windows\Style\Path",
+ r"..\Parent\Windows\Path"
+ ]
+
+ print("đ Pfad-Verarbeitung Test:")
+ print()
+
+ for i, test_path in enumerate(test_paths, 1):
+ try:
+ # Python pathlib verarbeitet automatisch cross-platform
+ path_obj = Path(test_path)
+ resolved = path_obj.resolve() if path_obj.exists() else "Pfad existiert nicht (OK fĂŒr Test)"
+
+ print(f"{i:2}. â
Input: {test_path}")
+ print(f" đ Resolved: {resolved}")
+ print(f" đ Parts: {path_obj.parts}")
+ print(f" đ§ Suffix: {path_obj.suffix}")
+ print(f" đ Name: {path_obj.name}")
+ print()
+
+ except Exception as e:
+ print(f"{i:2}. â FEHLER: {test_path}")
+ print(f" đ„ Error: {e}")
+ print()
+
+ print("đŻ Spezial-Test: Windows-Pfad mit Leerzeichen")
+ print("-" * 50)
+
+ # Simuliere Windows-Pfad Verhalten
+ windows_path = r"C:\Users\lotzm\Nextcloud2\HH DropFolder with quota\=NutzerBildUploads="
+ path_obj = Path(windows_path)
+
+ print(f"Original: {windows_path}")
+ print(f"Path Object: {path_obj}")
+ print(f"Parts: {path_obj.parts}")
+ print(f"Parent: {path_obj.parent}")
+ print(f"Name: {path_obj.name}")
+
+ # Struktur-Parsing Test (wie im batch_uploader.py)
+ print(f"\nđ Struktur-Parsing Test:")
+ if len(path_obj.parts) >= 4:
+ print(f"Jahr: {path_obj.parts[-4] if len(path_obj.parts) > 3 else 'N/A'}")
+ print(f"Name: {path_obj.parts[-3] if len(path_obj.parts) > 2 else 'N/A'}")
+ print(f"Projekt: {path_obj.parts[-2] if len(path_obj.parts) > 1 else 'N/A'}")
+ print(f"Datei: {path_obj.parts[-1] if path_obj.parts else 'N/A'}")
+ else:
+ print("Pfad zu kurz fĂŒr Struktur-Parsing")
+
+if __name__ == "__main__":
+ test_path_compatibility()
+
+ print("\nâ
Path Compatibility Test abgeschlossen!")
+ print("đĄ Python pathlib.Path unterstĂŒtzt automatisch:")
+ print(" - Windows Pfade (C:\\, \\\\UNC)")
+ print(" - Unix Pfade (/home, ./relative)")
+ print(" - Leerzeichen und Sonderzeichen")
+ print(" - Cross-platform Konvertierung")
\ No newline at end of file
diff --git a/scripts/test_setup.py b/scripts/test_setup.py
new file mode 100644
index 0000000..4ac9d8c
--- /dev/null
+++ b/scripts/test_setup.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python3
+"""
+Test-Setup fĂŒr Batch Uploader
+=============================
+
+Erstellt Test-Struktur und fĂŒhrt Validierungs-Tests durch.
+Neue Struktur: Photos/Jahr/Name/Projekt/dateiname.endung
+"""
+
+import os
+import sys
+from pathlib import Path
+import tempfile
+import shutil
+from PIL import Image
+import logging
+
+# Test-Setup
+TEST_DIR = Path("test_images")
+BACKEND_URL = "http://localhost:5000"
+
+def create_test_image(path: Path, size=(800, 600), color=(255, 0, 0)):
+ """Erstellt ein Test-Bild"""
+ path.parent.mkdir(parents=True, exist_ok=True)
+
+ img = Image.new('RGB', size, color)
+ img.save(path, 'JPEG', quality=85)
+ print(f"â
Erstellt: {path}")
+
+def setup_test_structure():
+ """Erstellt Test-Verzeichnis-Struktur mit Beispielbildern
+
+ Neue Struktur: Photos/Jahr/Name/Projekt/dateiname.endung
+ """
+ print("đïž Erstelle Test-Struktur (Photos/Jahr/Name/Projekt/)...")
+
+ # Test-Struktur nach neuem Schema
+ test_structure = {
+ "2024/Max_Mustermann/Urlaub_Mallorca": [
+ ("sonnenuntergang.jpg", (1200, 800), (255, 165, 0)),
+ ("strand_spaziergang.jpg", (800, 600), (135, 206, 235)),
+ ("hotel_pool.jpg", (800, 600), (0, 191, 255))
+ ],
+ "2024/Max_Mustermann/Hochzeit_Anna": [
+ ("zeremonie.jpg", (1000, 750), (255, 182, 193)),
+ ("torte.jpg", (600, 600), (139, 69, 19)),
+ ("party.jpg", (800, 600), (255, 215, 0))
+ ],
+ "2024/Anna_Schmidt/Architektur_Berlin": [
+ ("brandenburger_tor.jpg", (1000, 750), (128, 128, 128)),
+ ("reichstag.jpg", (800, 600), (70, 70, 70)),
+ ("potsdamer_platz.jpg", (900, 600), (105, 105, 105))
+ ],
+ "2023/Familie_Mueller/Weihnachten": [
+ ("weihnachtsbaum.jpg", (800, 600), (34, 139, 34)),
+ ("geschenke.jpg", (600, 600), (255, 0, 0)),
+ ("familienfoto.jpg", (800, 600), (255, 192, 203))
+ ],
+ "2023/Thomas_Weber/Business_Trip": [
+ ("konferenz.jpg", (800, 600), (0, 0, 139)),
+ ("networking.jpg", (700, 500), (25, 25, 112))
+ ]
+ }
+
+ # README-Inhalte fĂŒr Projekte
+ readme_contents = {
+ "2024/Max_Mustermann/Urlaub_Mallorca": "Traumhafter Urlaub auf Mallorca mit Sonne, Strand und entspannten Momenten am Pool.",
+ "2024/Max_Mustermann/Hochzeit_Anna": "Unvergessliche Hochzeitsfeier von Anna und Max mit wunderschöner Zeremonie und ausgelassener Party.",
+ "2024/Anna_Schmidt/Architektur_Berlin": "Architektonische Highlights Berlins - eine fotografische Reise durch die Hauptstadt.",
+ "2023/Familie_Mueller/Weihnachten": "Besinnliche Weihnachtszeit mit der ganzen Familie, Geschenken und traditionellem Fest.",
+ "2023/Thomas_Weber/Business_Trip": "GeschÀftsreise mit wichtigen Meetings, Konferenzen und wertvollen Networking-Gelegenheiten."
+ }
+
+ # Erstelle Struktur mit README-Dateien
+ for dir_path, images in test_structure.items():
+ # Verzeichnis erstellen
+ full_dir_path = TEST_DIR / dir_path
+ full_dir_path.mkdir(parents=True, exist_ok=True)
+
+ # README.md erstellen wenn Inhalt vorhanden
+ if dir_path in readme_contents:
+ readme_path = full_dir_path / "README.md"
+ with open(readme_path, 'w', encoding='utf-8') as f:
+ f.write(f"# {dir_path.split('/')[-1].replace('_', ' ')}\n\n")
+ f.write(readme_contents[dir_path] + "\n\n")
+ f.write("## Details\n")
+ f.write(f"- Jahr: {dir_path.split('/')[0]}\n")
+ f.write(f"- Fotograf: {dir_path.split('/')[1].replace('_', ' ')}\n")
+ f.write(f"- Projekt: {dir_path.split('/')[2].replace('_', ' ')}\n")
+ print(f"đ README erstellt: {readme_path}")
+
+ # Bilder erstellen
+ for image_name, size, color in images:
+ image_path = full_dir_path / image_name
+ create_test_image(image_path, size, color)
+
+ print(f"đ Test-Struktur erstellt in: {TEST_DIR.absolute()}")
+ return TEST_DIR
+
+def show_test_structure():
+ """Zeigt die erstellte Test-Struktur"""
+ print("\nđ Test-Struktur (Photos/Jahr/Name/Projekt/):")
+ print("test_images/")
+
+ for root, dirs, files in os.walk(TEST_DIR):
+ level = root.replace(str(TEST_DIR), '').count(os.sep)
+ indent = ' ' * 2 * level
+ subindent = ' ' * 2 * (level + 1)
+
+ if level > 0:
+ print(f"{indent}âââ {os.path.basename(root)}/")
+
+ for file in sorted(files):
+ icon = "đ" if file == "README.md" else "đž"
+ if file.endswith(('.jpg', '.jpeg', '.png')) or file == "README.md":
+ print(f"{subindent}âââ {icon} {file}")
+
+def run_test_commands():
+ """Zeigt Test-Kommandos"""
+ print(f"\nđ§Ș Test-Kommandos:")
+ print(f"cd {Path.cwd()}")
+ print()
+
+ commands = [
+ "# 1. Dry-Run Test (Neue Struktur)",
+ f"python3 batch_uploader.py {TEST_DIR} --dry-run --verbose",
+ "",
+ "# 2. Einzelnes Projekt testen",
+ f"python3 batch_uploader.py {TEST_DIR}/2024/Max_Mustermann/Urlaub_Mallorca --titel \"Mallorca Test\" --chunk-size 2",
+ "",
+ "# 3. VollstÀndiger Upload (Neue Struktur)",
+ f"python3 batch_uploader.py {TEST_DIR} --titel \"Test Sammlung\" --name \"Test User\" --verbose",
+ "",
+ "# 4. Backend Status prĂŒfen",
+ "curl http://localhost:5000/api/groups",
+ "",
+ "# 5. Struktur-Test fĂŒr spezifischen Namen",
+ f"python3 batch_uploader.py {TEST_DIR}/2024/Anna_Schmidt --dry-run --verbose"
+ ]
+
+ for cmd in commands:
+ print(cmd)
+
+def main():
+ """Haupt-Test-Setup"""
+ if len(sys.argv) > 1 and sys.argv[1] == "--clean":
+ if TEST_DIR.exists():
+ shutil.rmtree(TEST_DIR)
+ print(f"đ§č {TEST_DIR} gelöscht")
+ return
+
+ # Setup
+ setup_test_structure()
+ show_test_structure()
+ run_test_commands()
+
+ print(f"\nâ
Test-Setup abgeschlossen!")
+ print(f"đĄ Starte Backend mit: cd .. && ./prod.sh")
+ print(f"đĄ Dann teste mit einem der obigen Kommandos")
+ print(f"đĄ Cleanup mit: python3 test_setup.py --clean")
+
+if __name__ == "__main__":
+ main()
\ No newline at end of file
diff --git a/test_photos/2023/Familie_Mueller/Urlaub/README.md b/test_photos/2023/Familie_Mueller/Urlaub/README.md
new file mode 100644
index 0000000..7d55020
--- /dev/null
+++ b/test_photos/2023/Familie_Mueller/Urlaub/README.md
@@ -0,0 +1,36 @@
+# Urlaub
+
+## Projekt-Details
+
+**Jahr:** 2023
+**Ersteller:** Familie_Mueller
+**Projekt:** Urlaub
+
+## Beschreibung
+
+[TODO: Beschreibung des Projekts hier einfĂŒgen]
+
+## Materialien
+
+- [TODO: Liste der verwendeten Materialien]
+
+## Werkzeuge
+
+- [TODO: Liste der verwendeten Werkzeuge]
+
+## Arbeitsschritte
+
+1. [TODO: Schritt 1]
+2. [TODO: Schritt 2]
+3. [TODO: Schritt 3]
+
+## Erkenntnisse
+
+[TODO: Was wurde gelernt? Was wĂŒrde beim nĂ€chsten Mal anders gemacht?]
+
+## Links
+
+- [TODO: Relevante Links, Tutorials, etc.]
+
+---
+*Diese README wurde automatisch generiert und kann bearbeitet werden.*
diff --git a/test_photos/2023/Familie_Mueller/Urlaub/logo.png b/test_photos/2023/Familie_Mueller/Urlaub/logo.png
new file mode 100644
index 0000000..0b6d11e
Binary files /dev/null and b/test_photos/2023/Familie_Mueller/Urlaub/logo.png differ
diff --git a/test_photos/2023/Familie_Mueller/Weihnachten/README.md b/test_photos/2023/Familie_Mueller/Weihnachten/README.md
new file mode 100644
index 0000000..d27f75a
--- /dev/null
+++ b/test_photos/2023/Familie_Mueller/Weihnachten/README.md
@@ -0,0 +1,36 @@
+# Weihnachten
+
+## Projekt-Details
+
+**Jahr:** 2023
+**Ersteller:** Familie_Mueller
+**Projekt:** Weihnachten
+
+## Beschreibung
+
+[TODO: Beschreibung des Projekts hier einfĂŒgen]
+
+## Materialien
+
+- [TODO: Liste der verwendeten Materialien]
+
+## Werkzeuge
+
+- [TODO: Liste der verwendeten Werkzeuge]
+
+## Arbeitsschritte
+
+1. [TODO: Schritt 1]
+2. [TODO: Schritt 2]
+3. [TODO: Schritt 3]
+
+## Erkenntnisse
+
+[TODO: Was wurde gelernt? Was wĂŒrde beim nĂ€chsten Mal anders gemacht?]
+
+## Links
+
+- [TODO: Relevante Links, Tutorials, etc.]
+
+---
+*Diese README wurde automatisch generiert und kann bearbeitet werden.*
diff --git a/test_photos/2023/Familie_Mueller/Weihnachten/screenshot.png b/test_photos/2023/Familie_Mueller/Weihnachten/screenshot.png
new file mode 100644
index 0000000..3b58bcb
Binary files /dev/null and b/test_photos/2023/Familie_Mueller/Weihnachten/screenshot.png differ
diff --git a/test_photos/2024/TestUser/TestProjekt/README.md b/test_photos/2024/TestUser/TestProjekt/README.md
new file mode 100644
index 0000000..88a7792
--- /dev/null
+++ b/test_photos/2024/TestUser/TestProjekt/README.md
@@ -0,0 +1,36 @@
+# Testprojekt
+
+## Projekt-Details
+
+**Jahr:** 2024
+**Ersteller:** TestUser
+**Projekt:** Testprojekt
+
+## Beschreibung
+
+[TODO: Beschreibung des Projekts hier einfĂŒgen]
+
+## Materialien
+
+- [TODO: Liste der verwendeten Materialien]
+
+## Werkzeuge
+
+- [TODO: Liste der verwendeten Werkzeuge]
+
+## Arbeitsschritte
+
+1. [TODO: Schritt 1]
+2. [TODO: Schritt 2]
+3. [TODO: Schritt 3]
+
+## Erkenntnisse
+
+[TODO: Was wurde gelernt? Was wĂŒrde beim nĂ€chsten Mal anders gemacht?]
+
+## Links
+
+- [TODO: Relevante Links, Tutorials, etc.]
+
+---
+*Diese README wurde automatisch generiert und kann bearbeitet werden.*
diff --git a/test_photos/2024/TestUser/TestProjekt/logo.png b/test_photos/2024/TestUser/TestProjekt/logo.png
new file mode 100644
index 0000000..0b6d11e
Binary files /dev/null and b/test_photos/2024/TestUser/TestProjekt/logo.png differ
diff --git a/test_photos/2024/TestUser/TestProjekt2/example-video.gif b/test_photos/2024/TestUser/TestProjekt2/example-video.gif
new file mode 100644
index 0000000..44f3dcf
Binary files /dev/null and b/test_photos/2024/TestUser/TestProjekt2/example-video.gif differ