From b14cb90808a9c0d4e0b4901061cdf65a122c5dfe Mon Sep 17 00:00:00 2001 From: Tancredi Date: Fri, 30 Aug 2024 16:42:31 +0200 Subject: [PATCH 1/4] feat: added a telegram mini-app --- .gitignore | 4 + module/commands/gdrive.py | 88 +- module/utils/drive_utils.py | 43 + requirements.txt | 1 + webapp/.postcssrc | 5 + webapp/app.py | 48 + webapp/drive/index.html | 48 + webapp/drive/static/scripts/back.ts | 33 + webapp/drive/static/scripts/container.ts | 51 + webapp/drive/static/scripts/file.ts | 58 + webapp/drive/static/scripts/folder.ts | 46 + webapp/drive/static/scripts/images.ts | 19 + webapp/drive/static/scripts/index.ts | 3 + webapp/drive/static/scripts/resource.ts | 7 + webapp/drive/static/scripts/update.ts | 18 + webapp/drive/static/style.css | 105 + webapp/drive/static/web/sw.js | 11 + webapp/index.html | 58 + webapp/package-lock.json | 4880 ++++++++++++++++++++++ webapp/package.json | 18 + webapp/static/assets/logo.ico | Bin 0 -> 126928 bytes webapp/static/assets/logo.png | Bin 0 -> 92120 bytes webapp/static/style.css | 21 + webapp/tailwind.config.js | 9 + webapp/yarn.lock | 2159 ++++++++++ 25 files changed, 7667 insertions(+), 66 deletions(-) create mode 100644 module/utils/drive_utils.py create mode 100644 webapp/.postcssrc create mode 100644 webapp/app.py create mode 100644 webapp/drive/index.html create mode 100644 webapp/drive/static/scripts/back.ts create mode 100644 webapp/drive/static/scripts/container.ts create mode 100644 webapp/drive/static/scripts/file.ts create mode 100644 webapp/drive/static/scripts/folder.ts create mode 100644 webapp/drive/static/scripts/images.ts create mode 100644 webapp/drive/static/scripts/index.ts create mode 100644 webapp/drive/static/scripts/resource.ts create mode 100644 webapp/drive/static/scripts/update.ts create mode 100644 webapp/drive/static/style.css create mode 100644 webapp/drive/static/web/sw.js create mode 100644 webapp/index.html create mode 100644 webapp/package-lock.json create mode 100644 webapp/package.json create mode 100644 webapp/static/assets/logo.ico create mode 100644 webapp/static/assets/logo.png create mode 100644 webapp/static/style.css create mode 100644 webapp/tailwind.config.js create mode 100644 webapp/yarn.lock diff --git a/.gitignore b/.gitignore index 977fbb58..22c8bdb7 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,7 @@ pydrive/* .idea data/json/subjs.json **/.DS_Store + +# Webapp +node_modules/ +.parcel-cache/ \ No newline at end of file diff --git a/module/commands/gdrive.py b/module/commands/gdrive.py index 43936dfd..7d0de001 100644 --- a/module/commands/gdrive.py +++ b/module/commands/gdrive.py @@ -1,9 +1,4 @@ """/drive command""" -import os - -import yaml -from pydrive2.auth import AuthError, GoogleAuth -from pydrive2.drive import GoogleDrive from pydrive2.files import GoogleDriveFile from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, Bot from telegram.ext import CallbackContext @@ -11,23 +6,7 @@ from module.debug import log_error from module.data.vars import TEXT_IDS, PLACE_HOLDER from module.utils.multi_lang_utils import get_locale - -gdrive_interface = None - -with open('config/settings.yaml', 'r', encoding='utf-8') as yaml_config: - config_map = yaml.load(yaml_config, Loader=yaml.SafeLoader) - - -def get_gdrive_interface() -> GoogleDrive: - global gdrive_interface - - if gdrive_interface is None: - # gauth uses all the client_config of settings.yaml - gauth = GoogleAuth(settings_file="config/settings.yaml") - gauth.CommandLineAuth() - gdrive_interface = GoogleDrive(gauth) - - return gdrive_interface +from module.utils.drive_utils import drive_utils def drive(update: Update, context: CallbackContext) -> None: @@ -39,7 +18,6 @@ def drive(update: Update, context: CallbackContext) -> None: context: context passed by the handler """ check_log(update, "drive") - gdrive: GoogleDrive = get_gdrive_interface() chat_id: int = update.message.chat_id locale: str = update.message.from_user.language_code if chat_id < 0: @@ -48,24 +26,20 @@ def drive(update: Update, context: CallbackContext) -> None: ) return - try: - file_list = gdrive.ListFile( - { - 'q': f"'{config_map['drive_folder_id']}' in parents and trashed=false", - 'orderBy': 'folder,title', - } - ).GetList() - - except AuthError as err: - log_error(header="drive", error=err) - - # keyboard that allows the user to navigate the folder - keyboard = get_files_keyboard(file_list, row_len=3) - context.bot.sendMessage( - chat_id=chat_id, - text=get_locale(locale, TEXT_IDS.DRIVE_HEADER_TEXT_ID), - reply_markup=InlineKeyboardMarkup(keyboard), - ) + file_list = drive_utils.list_files() + if file_list: + # keyboard that allows the user to navigate the folder + keyboard = get_files_keyboard(file_list, row_len=3) + context.bot.sendMessage( + chat_id=chat_id, + text=get_locale(locale, TEXT_IDS.DRIVE_HEADER_TEXT_ID), + reply_markup=InlineKeyboardMarkup(keyboard), + ) + else: + context.bot.sendMessage( + chat_id=chat_id, + text=get_locale(locale, TEXT_IDS.DRIVE_ERROR_DEVS_TEXT_ID), + ) def drive_handler(update: Update, context: CallbackContext) -> None: @@ -78,28 +52,17 @@ def drive_handler(update: Update, context: CallbackContext) -> None: """ bot: Bot = context.bot - gdrive: GoogleDrive = get_gdrive_interface() - query_data: str = update.callback_query.data.replace("drive_file_", "") chat_id: int = update.callback_query.from_user.id message_id: int = update.callback_query.message.message_id locale: str = update.callback_query.from_user.language_code - fetched_file: GoogleDriveFile = gdrive.CreateFile({'id': query_data}) + fetched_file: GoogleDriveFile = drive_utils.get_file(query_data) # the user clicked on a folder if fetched_file['mimeType'] == "application/vnd.google-apps.folder": - try: - istance_file = gdrive.ListFile( - { - 'q': f"'{fetched_file['id']}' in parents and trashed=false", - 'orderBy': 'folder,title', - } - ) - file_list = istance_file.GetList() + file_list = drive_utils.list_files(fetched_file['id']) - # pylint: disable=broad-except - except Exception as e: - log_error(header="drive_handler", error=e) + if file_list is None: bot.editMessageText( chat_id=chat_id, message_id=message_id, @@ -139,19 +102,12 @@ def drive_handler(update: Update, context: CallbackContext) -> None: else: # the user clicked on a file try: - file_d = gdrive.CreateFile({'id': fetched_file['id']}) - + file_d = drive_utils.get_file(fetched_file['id']) if int(file_d['fileSize']) < 5e7: - - file_path = f"file/{fetched_file['title']}" - file_d.GetContentFile(file_path) - + f = file_d.GetContentIOBuffer() + f.name = fetched_file['title'] bot.sendChatAction(chat_id=chat_id, action="UPLOAD_DOCUMENT") - - with open(file_path, 'rb') as f: - bot.sendDocument(chat_id=chat_id, document=f) - - os.remove(file_path) + bot.sendDocument(chat_id=chat_id, document=f) else: bot.sendMessage( diff --git a/module/utils/drive_utils.py b/module/utils/drive_utils.py new file mode 100644 index 00000000..3ebb4d23 --- /dev/null +++ b/module/utils/drive_utils.py @@ -0,0 +1,43 @@ +import yaml +from typing import Optional +from pydrive2.auth import GoogleAuth +from pydrive2.drive import GoogleDrive +from pydrive2.files import GoogleDriveFileList, GoogleDriveFile +from module.debug import log_error + + +class DriveUtils: + def __init__(self): + self._gdrive = None + with open('config/settings.yaml', 'r', encoding='utf-8') as yaml_config: + self.config_map = yaml.load(yaml_config, Loader=yaml.SafeLoader) + + @property + def gdrive(self) -> GoogleDrive: + 'Returns the active drive.GoogleDrive instance.' + if self._gdrive is None: + # gauth uses all the client_config of settings.yaml + gauth = GoogleAuth(settings_file="./config/settings.yaml") + gauth.CommandLineAuth() + self._gdrive = GoogleDrive(gauth) + return self._gdrive + + def list_files(self, folder_id: Optional[str] = None) -> Optional[GoogleDriveFileList]: + 'Returns a list of files or folders in the given directory' + folder_id = folder_id or self.config_map['drive_folder_id'] + try: + return self.gdrive.ListFile({ + 'q': f"'{folder_id}' in parents and trashed=false", + 'orderBy': 'folder,title', + }).GetList() + # pylint: disable=broad-except + except Exception as e: + log_error(header="drive_handler", error=e) + return None + + def get_file(self, file_id: str) -> GoogleDriveFile: + 'Shorthand for self.gdrive.CreateFile' + return self.gdrive.CreateFile({'id': file_id}) + + +drive_utils = DriveUtils() diff --git a/requirements.txt b/requirements.txt index d4c59653..028d818f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +numpy==1.26.4 python-telegram-bot==13.8.1 PyDrive2==1.10.0 requests==2.26.0 diff --git a/webapp/.postcssrc b/webapp/.postcssrc new file mode 100644 index 00000000..d42c370f --- /dev/null +++ b/webapp/.postcssrc @@ -0,0 +1,5 @@ +{ + "plugins": { + "tailwindcss": {} + } +} \ No newline at end of file diff --git a/webapp/app.py b/webapp/app.py new file mode 100644 index 00000000..480eb86c --- /dev/null +++ b/webapp/app.py @@ -0,0 +1,48 @@ +from fastapi import FastAPI +from fastapi.staticfiles import StaticFiles +from fastapi.responses import FileResponse, JSONResponse, StreamingResponse +from module.utils.drive_utils import drive_utils + + +app = FastAPI() + +@app.get('/favicon.ico') +def favicon(): + 'Serve the website favicon' + return FileResponse('webapp/static/assets/logo.ico') + +@app.get('/drive/folder') +def _(folder_id: str): + 'Returns content of a folder in the DMI Drive.' + files = drive_utils.list_files(folder_id) or [] + keys = 'id', 'title', 'mimeType' + response = JSONResponse([{key: file[key] for key in keys} for file in files]) + response.headers['Access-Control-Allow-Origin'] = '*' + return response + +@app.get('/drive/file') +def _(file_id: str): + 'Returns content of a file in the DMI Drive.' + file = drive_utils.get_file(file_id) + if not file: + return JSONResponse({'error': 'File not found.'}, status_code = 204) + content = file.GetContentIOBuffer() + return StreamingResponse( + stream(content), + media_type = file['mimeType'], + headers = { + # delivering it as a download + 'Content-Disposition': f"attachment; filename=\"{file['title']}\"", + # making it accessible from web browsers + 'Access-Control-Allow-Origin': '*' + } + ) + +def stream(content): + chunk = True + while chunk: + chunk = content.read() + if chunk: + yield chunk + +app.mount('/', StaticFiles(directory = 'webapp/dist/', html = True), name = 'dist') diff --git a/webapp/drive/index.html b/webapp/drive/index.html new file mode 100644 index 00000000..20813f21 --- /dev/null +++ b/webapp/drive/index.html @@ -0,0 +1,48 @@ + + + + DMI Drive + + + + + + + + +
+
+ + +
+
+
+ + + + + + + +
+ + + \ No newline at end of file diff --git a/webapp/drive/static/scripts/back.ts b/webapp/drive/static/scripts/back.ts new file mode 100644 index 00000000..614d58b6 --- /dev/null +++ b/webapp/drive/static/scripts/back.ts @@ -0,0 +1,33 @@ +import { Folder, FOLDERMIME } from "./folder"; +import { update_content } from "./update"; + +export class BackButton extends Folder { + foldersHistory = new Array(); + + connectedCallback() { + this.update({ + title: '..', + id: 'back', + mimeType: FOLDERMIME + }) + } + + onFolderChange(folderId: string) { + this.foldersHistory.push(folderId); + if (folderId != '') { + this.show(); + } else { + this.hide(); + } + } + + override onClick(): void { + const previousFolderId = this.foldersHistory[this.foldersHistory.length - 2]; + // Removing the last folder id in the history + this.foldersHistory.splice(this.foldersHistory.length - 2); + // Showing content of the previous folder + update_content(previousFolderId); + } +} + +window.customElements.define('drive-back-button', BackButton); \ No newline at end of file diff --git a/webapp/drive/static/scripts/container.ts b/webapp/drive/static/scripts/container.ts new file mode 100644 index 00000000..2880412b --- /dev/null +++ b/webapp/drive/static/scripts/container.ts @@ -0,0 +1,51 @@ +export abstract class Containable extends HTMLElement { + // The HTMLElement to be collected. + data: T + + abstract update(data: T): void; + abstract show(): void; + abstract hide(): void; +}; + +export class Container { + // Makes it easier to add elements or + // update already existing ones. + content = new Array>(); + parent: HTMLElement; + elementType: new (p: HTMLElement, i: number) => Containable; + + constructor(parent: HTMLElement, elementType: new (p: HTMLElement, i: number) => Containable) { + this.parent = parent; + this.elementType = elementType; + } + + setContent(content: T[]) { + // Displays the given list of objects + for (var i=0; i < content.length; i++) + this.addOrUpdate(content[i], i); + this.hideFrom(i); + } + + addOrUpdate(data: T, i: number = 0) { + if (this.content[i]) { + // If an object has been created already, + // update its content and show it + this.content[i].update(data); + this.content[i].show(); + } else { + // Otherwise, create a new one + let e = new this.elementType(this.parent, i); + e.update(data); + e.show(); + this.content.push(e); + this.parent.append(e); + } + } + + hideFrom(i: number = 0) { + // Start hiding elements from i till the end + for (; i < this.content.length; i++) { + this.content[i].hide(); + } + } +}; diff --git a/webapp/drive/static/scripts/file.ts b/webapp/drive/static/scripts/file.ts new file mode 100644 index 00000000..8d9475dc --- /dev/null +++ b/webapp/drive/static/scripts/file.ts @@ -0,0 +1,58 @@ +import { Container } from "./container"; +import { DriveResource } from "./resource"; +import { match } from './images'; + + +class File extends HTMLElement { + data: DriveResource; + image: HTMLImageElement; + label: HTMLElement; + link: HTMLAnchorElement; + clicked: boolean = false; + + constructor(parent: HTMLElement, i: number) { + super(); + + this.image = document.createElement('img') as HTMLImageElement; + this.label = document.createElement('file-name'); + this.link = document.createElement('a') as HTMLAnchorElement; + this.link.style.display = 'none'; + this.append(this.image, this.label, this.link); + this.addEventListener('click', this.onClick.bind(this)); + this.classList.add('drive-file'); + } + + onClick() { + if (!this.clicked) { + this.clicked = true; + this.classList.add('clicked'); + this.link.href = `/drive/file?file_id=${this.data.id}`; + this.link.download = this.data.title; + this.link.click(); + setTimeout(() => { + this.classList.remove('clicked'); + this.clicked = false; + }, 5000) + } + } + + update(data: DriveResource) { + this.data = data; + this.label.textContent = this.data.title; + this.image.src = match(data.mimeType) + } + + show() { + this.classList.remove('hidden'); + } + + hide() { + this.classList.add('hidden'); + } +}; + + + +const filesList = document.getElementById('files-list') as HTMLElement; +export const files = new Container(filesList, File); +window.customElements.define('drive-file', File); \ No newline at end of file diff --git a/webapp/drive/static/scripts/folder.ts b/webapp/drive/static/scripts/folder.ts new file mode 100644 index 00000000..9a9d89c0 --- /dev/null +++ b/webapp/drive/static/scripts/folder.ts @@ -0,0 +1,46 @@ +import { Container } from "./container"; +import { DriveResource } from "./resource"; +import { update_content } from "./update"; + + +export const FOLDERMIME = 'application/vnd.google-apps.folder'; + +export class Folder extends HTMLElement { + data: DriveResource; + label: HTMLElement; + + constructor(parent: HTMLElement, i: number) { + super(); + + const icon = document.createElement('i'); + icon.classList.add('gg-folder'); + this.label = document.createElement('folder-name'); + this.append(icon, this.label); + this.addEventListener('click', this.onClick.bind(this)); + this.classList.add('drive-folder'); + } + + onClick() { + // this.classList.add('fadeout'); + update_content(this.data.id); + } + + update(data: DriveResource) { + this.data = data; + this.label.textContent = this.data.title; + } + + show() { + this.classList.remove('hidden'); + } + + hide() { + this.classList.add('hidden'); + } +}; + + + +const foldersList = document.getElementById('folders-list') as HTMLElement; +export const folders = new Container(foldersList, Folder); +window.customElements.define('drive-folder', Folder); \ No newline at end of file diff --git a/webapp/drive/static/scripts/images.ts b/webapp/drive/static/scripts/images.ts new file mode 100644 index 00000000..0299f153 --- /dev/null +++ b/webapp/drive/static/scripts/images.ts @@ -0,0 +1,19 @@ +const images = { + audio: 'https://telegra.ph/file/83285485816f7cf0fcf67.png', + image: 'https://telegra.ph/file/a1f5285c74ce80d8fa554.png', + pdf: 'https://telegra.ph/file/cc429f1e5d235f54a4500.png', + document: 'https://telegra.ph/file/a12324faf7e9385ed23e8.png', + file: 'https://telegra.ph/file/6995dd010a84417175963.png' +} + + +export function match(mime: string) { + const entries = Object.entries(images); + for (let i=0; i < entries.length; i++) { + if (mime.includes(entries[i][0])) { + return entries[i][1]; + } + } + + return images.file; +} \ No newline at end of file diff --git a/webapp/drive/static/scripts/index.ts b/webapp/drive/static/scripts/index.ts new file mode 100644 index 00000000..807b6ba6 --- /dev/null +++ b/webapp/drive/static/scripts/index.ts @@ -0,0 +1,3 @@ +import { update_content } from './update'; + +update_content(""); \ No newline at end of file diff --git a/webapp/drive/static/scripts/resource.ts b/webapp/drive/static/scripts/resource.ts new file mode 100644 index 00000000..f4268c15 --- /dev/null +++ b/webapp/drive/static/scripts/resource.ts @@ -0,0 +1,7 @@ +export class DriveResource { + // Represents a file or a folder + // as received from Google Drive. + id: string; + title: string; + mimeType: string; +}; diff --git a/webapp/drive/static/scripts/update.ts b/webapp/drive/static/scripts/update.ts new file mode 100644 index 00000000..9f25c53f --- /dev/null +++ b/webapp/drive/static/scripts/update.ts @@ -0,0 +1,18 @@ +import { Folder, FOLDERMIME, folders } from "./folder"; +import { files } from "./file"; +import { DriveResource } from "./resource"; +import { BackButton } from "./back"; + + +const backButton = document.getElementById('back-button') as BackButton; + +export function update_content(folderId: string) { + fetch(`/drive/folder?folder_id=${folderId}`) + .then(response => response.json()) + .then((data: DriveResource[]) => { + folders.setContent(data.filter((res => res.mimeType == FOLDERMIME))); + files.setContent(data.filter((res => res.mimeType != FOLDERMIME))); + // Include a special link to go back to the previous folder + backButton.onFolderChange(folderId); + }); +} \ No newline at end of file diff --git a/webapp/drive/static/style.css b/webapp/drive/static/style.css new file mode 100644 index 00000000..66012444 --- /dev/null +++ b/webapp/drive/static/style.css @@ -0,0 +1,105 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +body { + background-color: var(--tg-theme-bg-color, white); + background-image: radial-gradient(var(--tg-theme-secondary-bg-color, #00000026) 2px,#0000 0); + background-size: 32px 32px; + color: var(--tg-theme-text-color, black); + + -webkit-tap-highlight-color: transparent; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} + +#folders-list, #files-list { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-top: 2.5rem; + width: 75%; +} + +#files-list { + flex-direction: row; + align-items: flex-start; + flex-wrap: wrap; + margin-bottom: 2.5rem; + width: 95%; +} + +.drive-folder { + display: flex; + flex-direction: row; + align-items: center; + width: 100%; + height: 2.5rem; + padding: 1.5rem; + border-radius: 0.375rem; + margin-bottom: 1rem; + + background-color: var(--tg-theme-secondary-bg-color, #e5e5e5); + box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + transition: box-shadow opacity; + cursor: pointer; +} + +.drive-folder.fadeout { + opacity: 0%; +} + +.drive-folder:hover { + box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); +} + +.drive-folder > i { + color: var(--tg-theme-text-color, #737373); + margin-right: 1.25rem; +} + +.drive-folder > folder-name { + font-weight: bold; + color: var(--tg-theme-text-color, #404040); + max-width: 70%; + white-space: nowrap; + overflow: hidden !important; + text-overflow: ellipsis; +} + +.drive-file { + display: flex; + flex-direction: column; + padding: 1.25rem; + border-radius: 0.375rem; + margin-left: 12px; + margin-bottom: 12px; + width: 45%; + + background-color: var(--tg-theme-secondary-bg-color, #e5e5e5); + box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + transition: box-shadow; + cursor: pointer; +} + +.drive-file:hover { + box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); +} + +.drive-file img { + width: 8rem; + border-radius: 0.375rem 0.375rem 0.375rem 1.75rem; +} + +.drive-file file-name { + word-wrap: break-word; + margin-top: 1.25rem; + font-weight: bold; + color: var(--tg-theme-text-color, #171717); + width: 80%; +} + +.drive-file.clicked { + opacity: 50%; + cursor: progress; +} \ No newline at end of file diff --git a/webapp/drive/static/web/sw.js b/webapp/drive/static/web/sw.js new file mode 100644 index 00000000..ea67f078 --- /dev/null +++ b/webapp/drive/static/web/sw.js @@ -0,0 +1,11 @@ +// Required for Progressive Web Apps. +var cacheName = 'v1:static'; + +self.addEventListener('install', function(e) { + e.waitUntil( + caches.open(cacheName).then(function(cache) { + // cache.addAll(['/index.html']); + self.skipWaiting(); + }) + ); +}); \ No newline at end of file diff --git a/webapp/index.html b/webapp/index.html new file mode 100644 index 00000000..ff03137c --- /dev/null +++ b/webapp/index.html @@ -0,0 +1,58 @@ + + + + DMI Bot + + + + + + + + + + +
+
+
+ + +
+
+
+
+ Card Index Dividers + Telegram Hub +
+
+ Books + Book Market +
+
+ File Folder + DMI Drive +
+
+ Speech Balloon + Spotted DMI +
+
+ Question Mark + Ask DMI +
+
+ Bar Chart + OPIS Manager +
+
+ + + \ No newline at end of file diff --git a/webapp/package-lock.json b/webapp/package-lock.json new file mode 100644 index 00000000..011cb75a --- /dev/null +++ b/webapp/package-lock.json @@ -0,0 +1,4880 @@ +{ + "name": "dmi-bot-webapp", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "dmi-bot-webapp", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "parcel": "^2.12.0" + }, + "devDependencies": { + "@parcel/packager-raw-url": "2.12.0", + "@parcel/transformer-webmanifest": "2.12.0", + "tailwindcss": "^3.4.10" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lezer/common": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", + "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==", + "license": "MIT" + }, + "node_modules/@lezer/lr": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz", + "integrity": "sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz", + "integrity": "sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz", + "integrity": "sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz", + "integrity": "sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz", + "integrity": "sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz", + "integrity": "sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz", + "integrity": "sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz", + "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0", + "@lezer/lr": "^1.0.0", + "json5": "^2.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", + "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", + "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", + "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", + "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", + "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", + "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/bundler-default": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.12.0.tgz", + "integrity": "sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/graph": "3.2.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/cache": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.12.0.tgz", + "integrity": "sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw==", + "license": "MIT", + "dependencies": { + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/utils": "2.12.0", + "lmdb": "2.8.5" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@parcel/codeframe": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.12.0.tgz", + "integrity": "sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/compressor-raw": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz", + "integrity": "sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/config-default": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.12.0.tgz", + "integrity": "sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==", + "license": "MIT", + "dependencies": { + "@parcel/bundler-default": "2.12.0", + "@parcel/compressor-raw": "2.12.0", + "@parcel/namer-default": "2.12.0", + "@parcel/optimizer-css": "2.12.0", + "@parcel/optimizer-htmlnano": "2.12.0", + "@parcel/optimizer-image": "2.12.0", + "@parcel/optimizer-svgo": "2.12.0", + "@parcel/optimizer-swc": "2.12.0", + "@parcel/packager-css": "2.12.0", + "@parcel/packager-html": "2.12.0", + "@parcel/packager-js": "2.12.0", + "@parcel/packager-raw": "2.12.0", + "@parcel/packager-svg": "2.12.0", + "@parcel/packager-wasm": "2.12.0", + "@parcel/reporter-dev-server": "2.12.0", + "@parcel/resolver-default": "2.12.0", + "@parcel/runtime-browser-hmr": "2.12.0", + "@parcel/runtime-js": "2.12.0", + "@parcel/runtime-react-refresh": "2.12.0", + "@parcel/runtime-service-worker": "2.12.0", + "@parcel/transformer-babel": "2.12.0", + "@parcel/transformer-css": "2.12.0", + "@parcel/transformer-html": "2.12.0", + "@parcel/transformer-image": "2.12.0", + "@parcel/transformer-js": "2.12.0", + "@parcel/transformer-json": "2.12.0", + "@parcel/transformer-postcss": "2.12.0", + "@parcel/transformer-posthtml": "2.12.0", + "@parcel/transformer-raw": "2.12.0", + "@parcel/transformer-react-refresh-wrap": "2.12.0", + "@parcel/transformer-svg": "2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@parcel/core": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.12.0.tgz", + "integrity": "sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q==", + "license": "MIT", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/graph": "3.2.0", + "@parcel/logger": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/profiler": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.9.9", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/diagnostic": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.12.0.tgz", + "integrity": "sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==", + "license": "MIT", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/events": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.12.0.tgz", + "integrity": "sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==", + "license": "MIT", + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/fs": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", + "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", + "license": "MIT", + "dependencies": { + "@parcel/rust": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@parcel/graph": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.2.0.tgz", + "integrity": "sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==", + "license": "MIT", + "dependencies": { + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/logger": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.12.0.tgz", + "integrity": "sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/markdown-ansi": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz", + "integrity": "sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/namer-default": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.12.0.tgz", + "integrity": "sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/node-resolver-core": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz", + "integrity": "sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA==", + "license": "MIT", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz", + "integrity": "sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz", + "integrity": "sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@parcel/optimizer-image": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz", + "integrity": "sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@parcel/optimizer-svgo": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz", + "integrity": "sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@parcel/optimizer-swc": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz", + "integrity": "sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "@swc/core": "^1.3.36", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/package-manager": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.12.0.tgz", + "integrity": "sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/node-resolver-core": "3.3.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "@swc/core": "^1.3.36", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@parcel/packager-css": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.12.0.tgz", + "integrity": "sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-html": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.12.0.tgz", + "integrity": "sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-js": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.12.0.tgz", + "integrity": "sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.12.0.tgz", + "integrity": "sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw-url": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.12.0.tgz", + "integrity": "sha512-sH7cvLbotS+qknhQUCGfd9mslQr4KcanlZE5CgzM0uGn3SnyZoKznqHrbouzgnIP/LHgXKOKmMaNjPLtVe4rcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-svg": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.12.0.tgz", + "integrity": "sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "posthtml": "^0.16.4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-wasm": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz", + "integrity": "sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0" + }, + "engines": { + "node": ">=12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/plugin": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.12.0.tgz", + "integrity": "sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==", + "license": "MIT", + "dependencies": { + "@parcel/types": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/profiler": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.12.0.tgz", + "integrity": "sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "chrome-trace-event": "^1.0.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-cli": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz", + "integrity": "sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "chalk": "^4.1.0", + "term-size": "^2.2.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-dev-server": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz", + "integrity": "sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-tracer": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz", + "integrity": "sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "chrome-trace-event": "^1.0.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/resolver-default": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.12.0.tgz", + "integrity": "sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA==", + "license": "MIT", + "dependencies": { + "@parcel/node-resolver-core": "3.3.0", + "@parcel/plugin": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz", + "integrity": "sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-js": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.12.0.tgz", + "integrity": "sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz", + "integrity": "sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-service-worker": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz", + "integrity": "sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.12.0.tgz", + "integrity": "sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==", + "license": "MIT", + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/source-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", + "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": "^12.18.3 || >=14" + } + }, + "node_modules/@parcel/transformer-babel": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz", + "integrity": "sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-css": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.12.0.tgz", + "integrity": "sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-html": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.12.0.tgz", + "integrity": "sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2", + "srcset": "4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-html/node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@parcel/transformer-image": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.12.0.tgz", + "integrity": "sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@parcel/transformer-js": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.12.0.tgz", + "integrity": "sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "@swc/helpers": "^0.5.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@parcel/transformer-json": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.12.0.tgz", + "integrity": "sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "json5": "^2.2.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-postcss": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz", + "integrity": "sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-posthtml": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz", + "integrity": "sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-raw": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz", + "integrity": "sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz", + "integrity": "sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw==", + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-svg": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz", + "integrity": "sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-webmanifest": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.12.0.tgz", + "integrity": "sha512-suiUv9DDEpyryHtzahbIeJSZTIeE/t4cdrU0Ikb/O46wsy5RLo59nE4E6TGWM84R7fQO8m/MhzeQM5Y3NV6jKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" + }, + "engines": { + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/types": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.12.0.tgz", + "integrity": "sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==", + "license": "MIT", + "dependencies": { + "@parcel/cache": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.12.0", + "utility-types": "^3.10.0" + } + }, + "node_modules/@parcel/utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.12.0.tgz", + "integrity": "sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==", + "license": "MIT", + "dependencies": { + "@parcel/codeframe": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/markdown-ansi": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/workers": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", + "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/profiler": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@swc/core": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.2.tgz", + "integrity": "sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.4.2", + "@swc/core-darwin-x64": "1.4.2", + "@swc/core-linux-arm-gnueabihf": "1.4.2", + "@swc/core-linux-arm64-gnu": "1.4.2", + "@swc/core-linux-arm64-musl": "1.4.2", + "@swc/core-linux-x64-gnu": "1.4.2", + "@swc/core-linux-x64-musl": "1.4.2", + "@swc/core-win32-arm64-msvc": "1.4.2", + "@swc/core-win32-ia32-msvc": "1.4.2", + "@swc/core-win32-x64-msvc": "1.4.2" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.2.tgz", + "integrity": "sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.2.tgz", + "integrity": "sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.2.tgz", + "integrity": "sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.2.tgz", + "integrity": "sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.2.tgz", + "integrity": "sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.2.tgz", + "integrity": "sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.2.tgz", + "integrity": "sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.2.tgz", + "integrity": "sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.2.tgz", + "integrity": "sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz", + "integrity": "sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.12.tgz", + "integrity": "sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@swc/types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", + "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", + "license": "Apache-2.0" + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base-x": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001653", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", + "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0", + "optional": true, + "peer": true + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=6" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/htmlnano": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz", + "integrity": "sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^9.0.0", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + }, + "peerDependencies": { + "cssnano": "^7.0.0", + "postcss": "^8.3.11", + "purgecss": "^6.0.0", + "relateurl": "^0.2.7", + "srcset": "5.0.1", + "svgo": "^3.0.2", + "terser": "^5.10.0", + "uncss": "^0.17.3" + }, + "peerDependenciesMeta": { + "cssnano": { + "optional": true + }, + "postcss": { + "optional": true + }, + "purgecss": { + "optional": true + }, + "relateurl": { + "optional": true + }, + "srcset": { + "optional": true + }, + "svgo": { + "optional": true + }, + "terser": { + "optional": true + }, + "uncss": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "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/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "license": "ISC" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.26.0.tgz", + "integrity": "sha512-a/XZ5hdgifrofQJUArr5AiJjx26SwMam3SJUSMjgebZbESZ96i+6Qsl8tLi0kaUsdMzBWXh9sN1Oe6hp2/dkQw==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.26.0", + "lightningcss-darwin-x64": "1.26.0", + "lightningcss-freebsd-x64": "1.26.0", + "lightningcss-linux-arm-gnueabihf": "1.26.0", + "lightningcss-linux-arm64-gnu": "1.26.0", + "lightningcss-linux-arm64-musl": "1.26.0", + "lightningcss-linux-x64-gnu": "1.26.0", + "lightningcss-linux-x64-musl": "1.26.0", + "lightningcss-win32-arm64-msvc": "1.26.0", + "lightningcss-win32-x64-msvc": "1.26.0" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.26.0.tgz", + "integrity": "sha512-n4TIvHO1NY1ondKFYpL2ZX0bcC2y6yjXMD6JfyizgR8BCFNEeArINDzEaeqlfX9bXz73Bpz/Ow0nu+1qiDrBKg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.26.0.tgz", + "integrity": "sha512-Rf9HuHIDi1R6/zgBkJh25SiJHF+dm9axUZW/0UoYCW1/8HV0gMI0blARhH4z+REmWiU1yYT/KyNF3h7tHyRXUg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.26.0.tgz", + "integrity": "sha512-C/io7POAxp6sZxFSVGezjajMlCKQ8KSwISLLGRq8xLQpQMokYrUoqYEwmIX8mLmF6C/CZPk0gFmRSzd8biWM0g==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.26.0.tgz", + "integrity": "sha512-Aag9kqXqkyPSW+dXMgyWk66C984Nay2pY8Nws+67gHlDzV3cWh7TvFlzuaTaVFMVqdDTzN484LSK3u39zFBnzg==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.26.0.tgz", + "integrity": "sha512-iJmZM7fUyVjH+POtdiCtExG+67TtPUTer7K/5A8DIfmPfrmeGvzfRyBltGhQz13Wi15K1lf2cPYoRaRh6vcwNA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.26.0.tgz", + "integrity": "sha512-XxoEL++tTkyuvu+wq/QS8bwyTXZv2y5XYCMcWL45b8XwkiS8eEEEej9BkMGSRwxa5J4K+LDeIhLrS23CpQyfig==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.26.0.tgz", + "integrity": "sha512-1dkTfZQAYLj8MUSkd6L/+TWTG8V6Kfrzfa0T1fSlXCXQHrt1HC1/UepXHtKHDt/9yFwyoeayivxXAsApVxn6zA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.26.0.tgz", + "integrity": "sha512-yX3Rk9m00JGCUzuUhFEojY+jf/6zHs3XU8S8Vk+FRbnr4St7cjyMXdNjuA2LjiT8e7j8xHRCH8hyZ4H/btRE4A==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.26.0.tgz", + "integrity": "sha512-X/597/cFnCogy9VItj/+7Tgu5VLbAtDF7KZDPdSw0MaL6FL940th1y3HiOzFIlziVvAtbo0RB3NAae1Oofr+Tw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.26.0.tgz", + "integrity": "sha512-pYS3EyGP3JRhfqEFYmfFDiZ9/pVNfy8jVIYtrx9TVNusVyDK3gpW1w/rbvroQ4bDJi7grdUtyrYU6V2xkY/bBw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/lmdb": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz", + "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "msgpackr": "^1.9.5", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.1.1", + "ordered-binary": "^1.4.1", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "2.8.5", + "@lmdb/lmdb-darwin-x64": "2.8.5", + "@lmdb/lmdb-linux-arm": "2.8.5", + "@lmdb/lmdb-linux-arm64": "2.8.5", + "@lmdb/lmdb-linux-x64": "2.8.5", + "@lmdb/lmdb-win32-x64": "2.8.5" + } + }, + "node_modules/lmdb/node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0", + "optional": true, + "peer": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/msgpackr": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", + "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "license": "MIT", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", + "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.0.7" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2" + } + }, + "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", + "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", + "license": "MIT", + "optional": true, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", + "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", + "license": "MIT", + "engines": { + "node": "^16 || ^18 || >= 20" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz", + "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp-build-optional-packages/node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/ordered-binary": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz", + "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==", + "license": "MIT" + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parcel": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.12.0.tgz", + "integrity": "sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==", + "license": "MIT", + "dependencies": { + "@parcel/config-default": "2.12.0", + "@parcel/core": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/reporter-cli": "2.12.0", + "@parcel/reporter-dev-server": "2.12.0", + "@parcel/reporter-tracer": "2.12.0", + "@parcel/utils": "2.12.0", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0" + }, + "bin": { + "parcel": "lib/bin.js" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "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/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "devOptional": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "license": "MIT", + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "license": "MIT", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "license": "MIT", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml/node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "license": "MIT", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "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/react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "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/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/srcset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz", + "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", + "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/webapp/package.json b/webapp/package.json new file mode 100644 index 00000000..cb8195c3 --- /dev/null +++ b/webapp/package.json @@ -0,0 +1,18 @@ +{ + "devDependencies": { + "@parcel/packager-raw-url": "2.12.0", + "@parcel/transformer-webmanifest": "2.12.0", + "tailwindcss": "^3.4.10" + }, + "name": "dmi-bot-webapp", + "version": "1.0.0", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "parcel": "^2.12.0" + } +} diff --git a/webapp/static/assets/logo.ico b/webapp/static/assets/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..23514699601194740187fa0ae518f9f122afd958 GIT binary patch literal 126928 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

vkGs?Dh1uprI$y+wtvhh%Fa8J19$St`I*S6V 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

9}PdX^6C1=AAPdvnde_<@7}$)J(bBd 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 literal 0 HcmV?d00001 diff --git a/webapp/static/style.css b/webapp/static/style.css new file mode 100644 index 00000000..2fc6faaf --- /dev/null +++ b/webapp/static/style.css @@ -0,0 +1,21 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +body { + background-color: var(--tg-theme-bg-color, white); + background-image: radial-gradient(var(--tg-theme-secondary-bg-color, #00000026) 2px,#0000 0); + background-size: 32px 32px; + color: var(--tg-theme-text-color, black); + + -webkit-tap-highlight-color: transparent; + font-family: "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} + +.bubble { + background-color: var(--tg-theme-section-separator-color, rgb(206, 206, 206)); +} + +.bubble:hover { + background-color: var(--tg-theme-secondary-bg-color, rgb(178, 178, 178)); +} \ No newline at end of file diff --git a/webapp/tailwind.config.js b/webapp/tailwind.config.js new file mode 100644 index 00000000..8066c6e6 --- /dev/null +++ b/webapp/tailwind.config.js @@ -0,0 +1,9 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["index.html", "static/**/*.{html,js,ts}", "drive/index.html", "drive/static/**/*.{html,js,ts}"], + theme: { + extend: {}, + }, + plugins: [], +} + diff --git a/webapp/yarn.lock b/webapp/yarn.lock new file mode 100644 index 00000000..37f09a51 --- /dev/null +++ b/webapp/yarn.lock @@ -0,0 +1,2159 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@babel/code-frame@^7.0.0": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== + dependencies: + "@babel/highlight" "^7.24.7" + picocolors "^1.0.0" + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@lezer/common@^1.0.0": + version "1.2.1" + resolved "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz" + integrity sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ== + +"@lezer/lr@^1.0.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz" + integrity sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg== + dependencies: + "@lezer/common" "^1.0.0" + +"@lmdb/lmdb-win32-x64@2.8.5": + version "2.8.5" + resolved "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz" + integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== + +"@mischnic/json-sourcemap@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz" + integrity sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w== + dependencies: + "@lezer/common" "^1.0.0" + "@lezer/lr" "^1.0.0" + json5 "^2.2.1" + +"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz" + integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@parcel/bundler-default@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.12.0.tgz" + integrity sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/graph" "3.2.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" + nullthrows "^1.1.1" + +"@parcel/cache@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/cache/-/cache-2.12.0.tgz" + integrity sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw== + dependencies: + "@parcel/fs" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/utils" "2.12.0" + lmdb "2.8.5" + +"@parcel/codeframe@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.12.0.tgz" + integrity sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg== + dependencies: + chalk "^4.1.0" + +"@parcel/compressor-raw@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz" + integrity sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A== + dependencies: + "@parcel/plugin" "2.12.0" + +"@parcel/config-default@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.12.0.tgz" + integrity sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg== + dependencies: + "@parcel/bundler-default" "2.12.0" + "@parcel/compressor-raw" "2.12.0" + "@parcel/namer-default" "2.12.0" + "@parcel/optimizer-css" "2.12.0" + "@parcel/optimizer-htmlnano" "2.12.0" + "@parcel/optimizer-image" "2.12.0" + "@parcel/optimizer-svgo" "2.12.0" + "@parcel/optimizer-swc" "2.12.0" + "@parcel/packager-css" "2.12.0" + "@parcel/packager-html" "2.12.0" + "@parcel/packager-js" "2.12.0" + "@parcel/packager-raw" "2.12.0" + "@parcel/packager-svg" "2.12.0" + "@parcel/packager-wasm" "2.12.0" + "@parcel/reporter-dev-server" "2.12.0" + "@parcel/resolver-default" "2.12.0" + "@parcel/runtime-browser-hmr" "2.12.0" + "@parcel/runtime-js" "2.12.0" + "@parcel/runtime-react-refresh" "2.12.0" + "@parcel/runtime-service-worker" "2.12.0" + "@parcel/transformer-babel" "2.12.0" + "@parcel/transformer-css" "2.12.0" + "@parcel/transformer-html" "2.12.0" + "@parcel/transformer-image" "2.12.0" + "@parcel/transformer-js" "2.12.0" + "@parcel/transformer-json" "2.12.0" + "@parcel/transformer-postcss" "2.12.0" + "@parcel/transformer-posthtml" "2.12.0" + "@parcel/transformer-raw" "2.12.0" + "@parcel/transformer-react-refresh-wrap" "2.12.0" + "@parcel/transformer-svg" "2.12.0" + +"@parcel/core@^2.12.0", "@parcel/core@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/core/-/core-2.12.0.tgz" + integrity sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + "@parcel/cache" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/graph" "3.2.0" + "@parcel/logger" "2.12.0" + "@parcel/package-manager" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/profiler" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" + abortcontroller-polyfill "^1.1.9" + base-x "^3.0.8" + browserslist "^4.6.6" + clone "^2.1.1" + dotenv "^7.0.0" + dotenv-expand "^5.1.0" + json5 "^2.2.0" + msgpackr "^1.9.9" + nullthrows "^1.1.1" + semver "^7.5.2" + +"@parcel/diagnostic@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.12.0.tgz" + integrity sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + nullthrows "^1.1.1" + +"@parcel/events@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/events/-/events-2.12.0.tgz" + integrity sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA== + +"@parcel/fs@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz" + integrity sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q== + dependencies: + "@parcel/rust" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/watcher" "^2.0.7" + "@parcel/workers" "2.12.0" + +"@parcel/graph@3.2.0": + version "3.2.0" + resolved "https://registry.npmjs.org/@parcel/graph/-/graph-3.2.0.tgz" + integrity sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA== + dependencies: + nullthrows "^1.1.1" + +"@parcel/logger@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/logger/-/logger-2.12.0.tgz" + integrity sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" + +"@parcel/markdown-ansi@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz" + integrity sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w== + dependencies: + chalk "^4.1.0" + +"@parcel/namer-default@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.12.0.tgz" + integrity sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + nullthrows "^1.1.1" + +"@parcel/node-resolver-core@3.3.0": + version "3.3.0" + resolved "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz" + integrity sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" + nullthrows "^1.1.1" + semver "^7.5.2" + +"@parcel/optimizer-css@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz" + integrity sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.12.0" + browserslist "^4.6.6" + lightningcss "^1.22.1" + nullthrows "^1.1.1" + +"@parcel/optimizer-htmlnano@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz" + integrity sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ== + dependencies: + "@parcel/plugin" "2.12.0" + htmlnano "^2.0.0" + nullthrows "^1.1.1" + posthtml "^0.16.5" + svgo "^2.4.0" + +"@parcel/optimizer-image@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz" + integrity sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" + +"@parcel/optimizer-svgo@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz" + integrity sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + svgo "^2.4.0" + +"@parcel/optimizer-swc@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz" + integrity sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.12.0" + "@swc/core" "^1.3.36" + nullthrows "^1.1.1" + +"@parcel/package-manager@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.12.0.tgz" + integrity sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/node-resolver-core" "3.3.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" + "@swc/core" "^1.3.36" + semver "^7.5.2" + +"@parcel/packager-css@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.12.0.tgz" + integrity sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.12.0" + lightningcss "^1.22.1" + nullthrows "^1.1.1" + +"@parcel/packager-html@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.12.0.tgz" + integrity sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + nullthrows "^1.1.1" + posthtml "^0.16.5" + +"@parcel/packager-js@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.12.0.tgz" + integrity sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + globals "^13.2.0" + nullthrows "^1.1.1" + +"@parcel/packager-raw-url@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.12.0.tgz" + integrity sha512-sH7cvLbotS+qknhQUCGfd9mslQr4KcanlZE5CgzM0uGn3SnyZoKznqHrbouzgnIP/LHgXKOKmMaNjPLtVe4rcA== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + +"@parcel/packager-raw@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.12.0.tgz" + integrity sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA== + dependencies: + "@parcel/plugin" "2.12.0" + +"@parcel/packager-svg@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.12.0.tgz" + integrity sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + posthtml "^0.16.4" + +"@parcel/packager-wasm@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz" + integrity sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A== + dependencies: + "@parcel/plugin" "2.12.0" + +"@parcel/plugin@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.12.0.tgz" + integrity sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g== + dependencies: + "@parcel/types" "2.12.0" + +"@parcel/profiler@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.12.0.tgz" + integrity sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" + chrome-trace-event "^1.0.2" + +"@parcel/reporter-cli@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz" + integrity sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + chalk "^4.1.0" + term-size "^2.2.1" + +"@parcel/reporter-dev-server@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz" + integrity sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + +"@parcel/reporter-tracer@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz" + integrity sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + chrome-trace-event "^1.0.3" + nullthrows "^1.1.1" + +"@parcel/resolver-default@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.12.0.tgz" + integrity sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA== + dependencies: + "@parcel/node-resolver-core" "3.3.0" + "@parcel/plugin" "2.12.0" + +"@parcel/runtime-browser-hmr@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz" + integrity sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + +"@parcel/runtime-js@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.12.0.tgz" + integrity sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + nullthrows "^1.1.1" + +"@parcel/runtime-react-refresh@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz" + integrity sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + react-error-overlay "6.0.9" + react-refresh "^0.9.0" + +"@parcel/runtime-service-worker@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz" + integrity sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + nullthrows "^1.1.1" + +"@parcel/rust@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/rust/-/rust-2.12.0.tgz" + integrity sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw== + +"@parcel/source-map@^2.1.1": + version "2.1.1" + resolved "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz" + integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== + dependencies: + detect-libc "^1.0.3" + +"@parcel/transformer-babel@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz" + integrity sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.12.0" + browserslist "^4.6.6" + json5 "^2.2.0" + nullthrows "^1.1.1" + semver "^7.5.2" + +"@parcel/transformer-css@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.12.0.tgz" + integrity sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.12.0" + browserslist "^4.6.6" + lightningcss "^1.22.1" + nullthrows "^1.1.1" + +"@parcel/transformer-html@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.12.0.tgz" + integrity sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + nullthrows "^1.1.1" + posthtml "^0.16.5" + posthtml-parser "^0.10.1" + posthtml-render "^3.0.0" + semver "^7.5.2" + srcset "4" + +"@parcel/transformer-image@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.12.0.tgz" + integrity sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" + nullthrows "^1.1.1" + +"@parcel/transformer-js@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.12.0.tgz" + integrity sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" + "@swc/helpers" "^0.5.0" + browserslist "^4.6.6" + nullthrows "^1.1.1" + regenerator-runtime "^0.13.7" + semver "^7.5.2" + +"@parcel/transformer-json@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.12.0.tgz" + integrity sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ== + dependencies: + "@parcel/plugin" "2.12.0" + json5 "^2.2.0" + +"@parcel/transformer-postcss@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz" + integrity sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" + clone "^2.1.1" + nullthrows "^1.1.1" + postcss-value-parser "^4.2.0" + semver "^7.5.2" + +"@parcel/transformer-posthtml@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz" + integrity sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + nullthrows "^1.1.1" + posthtml "^0.16.5" + posthtml-parser "^0.10.1" + posthtml-render "^3.0.0" + semver "^7.5.2" + +"@parcel/transformer-raw@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz" + integrity sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ== + dependencies: + "@parcel/plugin" "2.12.0" + +"@parcel/transformer-react-refresh-wrap@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz" + integrity sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw== + dependencies: + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + react-refresh "^0.9.0" + +"@parcel/transformer-svg@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz" + integrity sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + nullthrows "^1.1.1" + posthtml "^0.16.5" + posthtml-parser "^0.10.1" + posthtml-render "^3.0.0" + semver "^7.5.2" + +"@parcel/transformer-webmanifest@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.12.0.tgz" + integrity sha512-suiUv9DDEpyryHtzahbIeJSZTIeE/t4cdrU0Ikb/O46wsy5RLo59nE4E6TGWM84R7fQO8m/MhzeQM5Y3NV6jKg== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + +"@parcel/types@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/types/-/types-2.12.0.tgz" + integrity sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ== + dependencies: + "@parcel/cache" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/package-manager" "2.12.0" + "@parcel/source-map" "^2.1.1" + "@parcel/workers" "2.12.0" + utility-types "^3.10.0" + +"@parcel/utils@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/utils/-/utils-2.12.0.tgz" + integrity sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g== + dependencies: + "@parcel/codeframe" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/markdown-ansi" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/source-map" "^2.1.1" + chalk "^4.1.0" + nullthrows "^1.1.1" + +"@parcel/watcher-win32-x64@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz" + integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== + +"@parcel/watcher@^2.0.7": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz" + integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.4.1" + "@parcel/watcher-darwin-arm64" "2.4.1" + "@parcel/watcher-darwin-x64" "2.4.1" + "@parcel/watcher-freebsd-x64" "2.4.1" + "@parcel/watcher-linux-arm-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-musl" "2.4.1" + "@parcel/watcher-linux-x64-glibc" "2.4.1" + "@parcel/watcher-linux-x64-musl" "2.4.1" + "@parcel/watcher-win32-arm64" "2.4.1" + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + +"@parcel/workers@2.12.0": + version "2.12.0" + resolved "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz" + integrity sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/profiler" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + nullthrows "^1.1.1" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@swc/core-win32-x64-msvc@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz" + integrity sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw== + +"@swc/core@^1.3.36": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core/-/core-1.4.2.tgz" + integrity sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg== + dependencies: + "@swc/counter" "^0.1.2" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.4.2" + "@swc/core-darwin-x64" "1.4.2" + "@swc/core-linux-arm-gnueabihf" "1.4.2" + "@swc/core-linux-arm64-gnu" "1.4.2" + "@swc/core-linux-arm64-musl" "1.4.2" + "@swc/core-linux-x64-gnu" "1.4.2" + "@swc/core-linux-x64-musl" "1.4.2" + "@swc/core-win32-arm64-msvc" "1.4.2" + "@swc/core-win32-ia32-msvc" "1.4.2" + "@swc/core-win32-x64-msvc" "1.4.2" + +"@swc/counter@^0.1.2": + version "0.1.3" + resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@^0.5.0": + version "0.5.12" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.12.tgz" + integrity sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g== + dependencies: + tslib "^2.4.0" + +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +abortcontroller-polyfill@^1.1.9: + version "1.7.5" + resolved "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz" + integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.8: + version "3.0.10" + resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz" + integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== + dependencies: + safe-buffer "^5.0.1" + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.6.6, "browserslist@>= 4.21.0": + version "4.23.3" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== + dependencies: + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-lite@^1.0.30001646: + version "1.0.30001653" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz" + integrity sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^7.0.0, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +cosmiconfig@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== + dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.0.1, css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + +detect-libc@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.2.0, domhandler@^4.2.2, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz" + integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +electron-to-chromium@^1.5.4: + version "1.5.13" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz" + integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + +entities@^4.2.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +foreground-child@^3.1.0: + version "3.3.0" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +get-port@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz" + integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^10.3.10: + version "10.4.5" + resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +globals@^13.2.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +htmlnano@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz" + integrity sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw== + dependencies: + cosmiconfig "^9.0.0" + posthtml "^0.16.5" + timsort "^0.3.0" + +htmlparser2@^7.1.1: + version "7.2.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.2" + domutils "^2.8.0" + entities "^3.0.1" + +import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.15.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-json@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz" + integrity sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jiti@^1.21.0: + version "1.21.6" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json5@^2.2.0, json5@^2.2.1: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +lightningcss-win32-x64-msvc@1.26.0: + version "1.26.0" + resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.26.0.tgz" + integrity sha512-pYS3EyGP3JRhfqEFYmfFDiZ9/pVNfy8jVIYtrx9TVNusVyDK3gpW1w/rbvroQ4bDJi7grdUtyrYU6V2xkY/bBw== + +lightningcss@^1.22.1: + version "1.26.0" + resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.26.0.tgz" + integrity sha512-a/XZ5hdgifrofQJUArr5AiJjx26SwMam3SJUSMjgebZbESZ96i+6Qsl8tLi0kaUsdMzBWXh9sN1Oe6hp2/dkQw== + dependencies: + detect-libc "^1.0.3" + optionalDependencies: + lightningcss-darwin-arm64 "1.26.0" + lightningcss-darwin-x64 "1.26.0" + lightningcss-freebsd-x64 "1.26.0" + lightningcss-linux-arm-gnueabihf "1.26.0" + lightningcss-linux-arm64-gnu "1.26.0" + lightningcss-linux-arm64-musl "1.26.0" + lightningcss-linux-x64-gnu "1.26.0" + lightningcss-linux-x64-musl "1.26.0" + lightningcss-win32-arm64-msvc "1.26.0" + lightningcss-win32-x64-msvc "1.26.0" + +lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lilconfig@^3.0.0: + version "3.1.2" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lmdb@2.8.5: + version "2.8.5" + resolved "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz" + integrity sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ== + dependencies: + msgpackr "^1.9.5" + node-addon-api "^6.1.0" + node-gyp-build-optional-packages "5.1.1" + ordered-binary "^1.4.1" + weak-lru-cache "^1.2.2" + optionalDependencies: + "@lmdb/lmdb-darwin-arm64" "2.8.5" + "@lmdb/lmdb-darwin-x64" "2.8.5" + "@lmdb/lmdb-linux-arm" "2.8.5" + "@lmdb/lmdb-linux-arm64" "2.8.5" + "@lmdb/lmdb-linux-x64" "2.8.5" + "@lmdb/lmdb-win32-x64" "2.8.5" + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +msgpackr-extract@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz" + integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== + dependencies: + node-gyp-build-optional-packages "5.0.7" + optionalDependencies: + "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" + +msgpackr@^1.9.5, msgpackr@^1.9.9: + version "1.11.0" + resolved "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz" + integrity sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw== + optionalDependencies: + msgpackr-extract "^3.0.2" + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +node-addon-api@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz" + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== + +node-addon-api@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz" + integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== + +node-gyp-build-optional-packages@5.0.7: + version "5.0.7" + resolved "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz" + integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== + +node-gyp-build-optional-packages@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz" + integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw== + dependencies: + detect-libc "^2.0.1" + +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nullthrows@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +ordered-binary@^1.4.1: + version "1.5.1" + resolved "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz" + integrity sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A== + +package-json-from-dist@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz" + integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + +parcel@^2.12.0: + version "2.12.0" + resolved "https://registry.npmjs.org/parcel/-/parcel-2.12.0.tgz" + integrity sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg== + dependencies: + "@parcel/config-default" "2.12.0" + "@parcel/core" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/package-manager" "2.12.0" + "@parcel/reporter-cli" "2.12.0" + "@parcel/reporter-dev-server" "2.12.0" + "@parcel/reporter-tracer" "2.12.0" + "@parcel/utils" "2.12.0" + chalk "^4.1.0" + commander "^7.0.0" + get-port "^4.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + 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" + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== + dependencies: + lilconfig "^3.0.0" + yaml "^2.3.4" + +postcss-nested@^6.0.1: + version "6.2.0" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz" + integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== + dependencies: + postcss-selector-parser "^6.1.1" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1: + version "6.1.2" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.0.0, postcss@^8.2.14, postcss@^8.3.11, postcss@^8.4.21, postcss@^8.4.23, postcss@>=8.0.9: + version "8.4.41" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz" + integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + +posthtml-parser@^0.10.1: + version "0.10.2" + resolved "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz" + integrity sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg== + dependencies: + htmlparser2 "^7.1.1" + +posthtml-parser@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz" + integrity sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw== + dependencies: + htmlparser2 "^7.1.1" + +posthtml-render@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz" + integrity sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA== + dependencies: + is-json "^2.0.1" + +posthtml@^0.16.4, posthtml@^0.16.5: + version "0.16.6" + resolved "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz" + integrity sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ== + dependencies: + posthtml-parser "^0.11.0" + posthtml-render "^3.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +react-error-overlay@6.0.9: + version "6.0.9" + resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz" + integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== + +react-refresh@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz" + integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regenerator-runtime@^0.13.7: + version "0.13.11" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.1.7, resolve@^1.22.2: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.0.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +semver@^7.5.2: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +srcset@4: + version "4.0.0" + resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" + integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== + +srcset@5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz" + integrity sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw== + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +sucrase@^3.32.0: + version "3.35.0" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "^10.3.10" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svgo@^2.4.0: + version "2.8.0" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +svgo@^3.0.2: + version "3.3.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz" + integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" + picocolors "^1.0.0" + +tailwindcss@^3.4.10: + version "3.4.10" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz" + integrity sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.21.0" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +term-size@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +tslib@^2.4.0: + version "2.7.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utility-types@^3.10.0: + version "3.11.0" + resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz" + integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== + +weak-lru-cache@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz" + integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^2.3.4: + version "2.5.0" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz" + integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== From 3cb7391167ffd8ad43837ebd2edc5bb6007b50a3 Mon Sep 17 00:00:00 2001 From: Tancredi Date: Fri, 30 Aug 2024 16:49:59 +0200 Subject: [PATCH 2/4] running web server in main --- main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 1ce404f0..eb6bbce7 100755 --- a/main.py +++ b/main.py @@ -23,7 +23,8 @@ from module.shared import config_map from module.utils.multi_lang_utils import load_translations, get_regex_multi_lang from module.debug import error_handler, log_message - +from webapp.app import app +import uvicorn def add_commands(up: Updater) -> None: """Adds the list of commands with their description to the bot @@ -195,6 +196,7 @@ def main() -> None: add_jobs(updater.dispatcher) updater.start_polling() + uvicorn.run(app, host="0.0.0.0", port=8000) updater.idle() From c34c3f6466a1dac1d5b3679eefc29768d8ad59b2 Mon Sep 17 00:00:00 2001 From: Tancredi Date: Mon, 2 Sep 2024 12:05:58 +0200 Subject: [PATCH 3/4] fix: applied suggestions and pylint complaints --- module/commands/lezioni.py | 4 +- module/data/lesson.py | 2 +- requirements.txt | 3 +- webapp/app.py | 4 +- webapp/drive/static/scripts/back.ts | 4 +- webapp/drive/static/scripts/container.ts | 8 +- webapp/drive/static/scripts/file.ts | 8 +- webapp/drive/static/scripts/folder.ts | 8 +- webapp/drive/static/scripts/images.ts | 2 +- webapp/drive/static/scripts/resource.ts | 2 +- webapp/drive/static/scripts/update.ts | 4 +- webapp/drive/static/web/sw.js | 2 +- webapp/package.json | 4 +- webapp/yarn.lock | 2159 ---------------------- 14 files changed, 29 insertions(+), 2185 deletions(-) delete mode 100644 webapp/yarn.lock diff --git a/module/commands/lezioni.py b/module/commands/lezioni.py index 0f615af0..a3d099d4 100644 --- a/module/commands/lezioni.py +++ b/module/commands/lezioni.py @@ -35,8 +35,8 @@ def get_url(courses: str) -> str: endl_index = courses.find("\n", course_index) if token_pos != -1: - main_link = courses[token_pos + 1:endl_index] - return main_link + return courses[token_pos + 1:endl_index] + return '' def get_orario_file() -> Optional[bytes]: diff --git a/module/data/lesson.py b/module/data/lesson.py index 5d95fa37..3aa4d953 100644 --- a/module/data/lesson.py +++ b/module/data/lesson.py @@ -75,7 +75,7 @@ def scrape(cls, year_exams: str, delete: bool = False): if soup.find('b', id='attivo').text[0] == 'S': semestre = 2 - elif soup.find('b', id='attivo').text[0] == 'P': + else: semestre = 1 table = soup.find('table', id='tbl_small_font') diff --git a/requirements.txt b/requirements.txt index 028d818f..cf56a4cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,4 +7,5 @@ python-gitlab==2.10.1 matplotlib==3.5.0 pandas==1.3.4 Pillow==8.4.0 -lxml==4.6.4 \ No newline at end of file +lxml==4.6.4 +uvicorn==0.30.6 \ No newline at end of file diff --git a/webapp/app.py b/webapp/app.py index 480eb86c..248192fe 100644 --- a/webapp/app.py +++ b/webapp/app.py @@ -1,6 +1,8 @@ from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from fastapi.responses import FileResponse, JSONResponse, StreamingResponse +from pydrive2.files import MediaIoReadable +from starlette.responses import ContentStream from module.utils.drive_utils import drive_utils @@ -38,7 +40,7 @@ def _(file_id: str): } ) -def stream(content): +def stream(content: MediaIoReadable) -> ContentStream: chunk = True while chunk: chunk = content.read() diff --git a/webapp/drive/static/scripts/back.ts b/webapp/drive/static/scripts/back.ts index 614d58b6..20ada572 100644 --- a/webapp/drive/static/scripts/back.ts +++ b/webapp/drive/static/scripts/back.ts @@ -4,7 +4,7 @@ import { update_content } from "./update"; export class BackButton extends Folder { foldersHistory = new Array(); - connectedCallback() { + connectedCallback(): void { this.update({ title: '..', id: 'back', @@ -12,7 +12,7 @@ export class BackButton extends Folder { }) } - onFolderChange(folderId: string) { + onFolderChange(folderId: string): void { this.foldersHistory.push(folderId); if (folderId != '') { this.show(); diff --git a/webapp/drive/static/scripts/container.ts b/webapp/drive/static/scripts/container.ts index 2880412b..d2e82ff3 100644 --- a/webapp/drive/static/scripts/container.ts +++ b/webapp/drive/static/scripts/container.ts @@ -19,14 +19,14 @@ export class Container { this.elementType = elementType; } - setContent(content: T[]) { + setContent(content: T[]): void { // Displays the given list of objects for (var i=0; i < content.length; i++) this.addOrUpdate(content[i], i); this.hideFrom(i); } - addOrUpdate(data: T, i: number = 0) { + addOrUpdate(data: T, i: number = 0): void { if (this.content[i]) { // If an object has been created already, // update its content and show it @@ -34,7 +34,7 @@ export class Container { this.content[i].show(); } else { // Otherwise, create a new one - let e = new this.elementType(this.parent, i); + const e = new this.elementType(this.parent, i); e.update(data); e.show(); this.content.push(e); @@ -42,7 +42,7 @@ export class Container { } } - hideFrom(i: number = 0) { + hideFrom(i: number = 0): void { // Start hiding elements from i till the end for (; i < this.content.length; i++) { this.content[i].hide(); diff --git a/webapp/drive/static/scripts/file.ts b/webapp/drive/static/scripts/file.ts index 8d9475dc..f4d84319 100644 --- a/webapp/drive/static/scripts/file.ts +++ b/webapp/drive/static/scripts/file.ts @@ -22,7 +22,7 @@ class File extends HTMLElement { this.classList.add('drive-file'); } - onClick() { + onClick(): void { if (!this.clicked) { this.clicked = true; this.classList.add('clicked'); @@ -36,17 +36,17 @@ class File extends HTMLElement { } } - update(data: DriveResource) { + update(data: DriveResource): void { this.data = data; this.label.textContent = this.data.title; this.image.src = match(data.mimeType) } - show() { + show(): void { this.classList.remove('hidden'); } - hide() { + hide(): void { this.classList.add('hidden'); } }; diff --git a/webapp/drive/static/scripts/folder.ts b/webapp/drive/static/scripts/folder.ts index 9a9d89c0..2f32f05a 100644 --- a/webapp/drive/static/scripts/folder.ts +++ b/webapp/drive/static/scripts/folder.ts @@ -20,21 +20,21 @@ export class Folder extends HTMLElement { this.classList.add('drive-folder'); } - onClick() { + onClick(): void { // this.classList.add('fadeout'); update_content(this.data.id); } - update(data: DriveResource) { + update(data: DriveResource): void { this.data = data; this.label.textContent = this.data.title; } - show() { + show(): void { this.classList.remove('hidden'); } - hide() { + hide(): void { this.classList.add('hidden'); } }; diff --git a/webapp/drive/static/scripts/images.ts b/webapp/drive/static/scripts/images.ts index 0299f153..60542f64 100644 --- a/webapp/drive/static/scripts/images.ts +++ b/webapp/drive/static/scripts/images.ts @@ -7,7 +7,7 @@ const images = { } -export function match(mime: string) { +export function match(mime: string): string { const entries = Object.entries(images); for (let i=0; i < entries.length; i++) { if (mime.includes(entries[i][0])) { diff --git a/webapp/drive/static/scripts/resource.ts b/webapp/drive/static/scripts/resource.ts index f4268c15..93c768fb 100644 --- a/webapp/drive/static/scripts/resource.ts +++ b/webapp/drive/static/scripts/resource.ts @@ -1,4 +1,4 @@ -export class DriveResource { +export interface DriveResource { // Represents a file or a folder // as received from Google Drive. id: string; diff --git a/webapp/drive/static/scripts/update.ts b/webapp/drive/static/scripts/update.ts index 9f25c53f..bb2078da 100644 --- a/webapp/drive/static/scripts/update.ts +++ b/webapp/drive/static/scripts/update.ts @@ -1,4 +1,4 @@ -import { Folder, FOLDERMIME, folders } from "./folder"; +import { FOLDERMIME, folders } from "./folder"; import { files } from "./file"; import { DriveResource } from "./resource"; import { BackButton } from "./back"; @@ -6,7 +6,7 @@ import { BackButton } from "./back"; const backButton = document.getElementById('back-button') as BackButton; -export function update_content(folderId: string) { +export function update_content(folderId: string): void { fetch(`/drive/folder?folder_id=${folderId}`) .then(response => response.json()) .then((data: DriveResource[]) => { diff --git a/webapp/drive/static/web/sw.js b/webapp/drive/static/web/sw.js index ea67f078..d8ad28e7 100644 --- a/webapp/drive/static/web/sw.js +++ b/webapp/drive/static/web/sw.js @@ -1,5 +1,5 @@ // Required for Progressive Web Apps. -var cacheName = 'v1:static'; +const cacheName = 'v1:static'; self.addEventListener('install', function(e) { e.waitUntil( diff --git a/webapp/package.json b/webapp/package.json index cb8195c3..771d5c3a 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -2,7 +2,7 @@ "devDependencies": { "@parcel/packager-raw-url": "2.12.0", "@parcel/transformer-webmanifest": "2.12.0", - "tailwindcss": "^3.4.10" + "tailwindcss": "3.4.10" }, "name": "dmi-bot-webapp", "version": "1.0.0", @@ -13,6 +13,6 @@ "license": "ISC", "description": "", "dependencies": { - "parcel": "^2.12.0" + "parcel": "2.12.0" } } diff --git a/webapp/yarn.lock b/webapp/yarn.lock deleted file mode 100644 index 37f09a51..00000000 --- a/webapp/yarn.lock +++ /dev/null @@ -1,2159 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - -"@babel/code-frame@^7.0.0": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== - dependencies: - "@babel/highlight" "^7.24.7" - picocolors "^1.0.0" - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.24": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@lezer/common@^1.0.0": - version "1.2.1" - resolved "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz" - integrity sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ== - -"@lezer/lr@^1.0.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz" - integrity sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg== - dependencies: - "@lezer/common" "^1.0.0" - -"@lmdb/lmdb-win32-x64@2.8.5": - version "2.8.5" - resolved "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz" - integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== - -"@mischnic/json-sourcemap@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz" - integrity sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w== - dependencies: - "@lezer/common" "^1.0.0" - "@lezer/lr" "^1.0.0" - json5 "^2.2.1" - -"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2": - version "3.0.2" - resolved "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz" - integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@parcel/bundler-default@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.12.0.tgz" - integrity sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/graph" "3.2.0" - "@parcel/plugin" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/utils" "2.12.0" - nullthrows "^1.1.1" - -"@parcel/cache@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/cache/-/cache-2.12.0.tgz" - integrity sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw== - dependencies: - "@parcel/fs" "2.12.0" - "@parcel/logger" "2.12.0" - "@parcel/utils" "2.12.0" - lmdb "2.8.5" - -"@parcel/codeframe@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.12.0.tgz" - integrity sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg== - dependencies: - chalk "^4.1.0" - -"@parcel/compressor-raw@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz" - integrity sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A== - dependencies: - "@parcel/plugin" "2.12.0" - -"@parcel/config-default@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.12.0.tgz" - integrity sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg== - dependencies: - "@parcel/bundler-default" "2.12.0" - "@parcel/compressor-raw" "2.12.0" - "@parcel/namer-default" "2.12.0" - "@parcel/optimizer-css" "2.12.0" - "@parcel/optimizer-htmlnano" "2.12.0" - "@parcel/optimizer-image" "2.12.0" - "@parcel/optimizer-svgo" "2.12.0" - "@parcel/optimizer-swc" "2.12.0" - "@parcel/packager-css" "2.12.0" - "@parcel/packager-html" "2.12.0" - "@parcel/packager-js" "2.12.0" - "@parcel/packager-raw" "2.12.0" - "@parcel/packager-svg" "2.12.0" - "@parcel/packager-wasm" "2.12.0" - "@parcel/reporter-dev-server" "2.12.0" - "@parcel/resolver-default" "2.12.0" - "@parcel/runtime-browser-hmr" "2.12.0" - "@parcel/runtime-js" "2.12.0" - "@parcel/runtime-react-refresh" "2.12.0" - "@parcel/runtime-service-worker" "2.12.0" - "@parcel/transformer-babel" "2.12.0" - "@parcel/transformer-css" "2.12.0" - "@parcel/transformer-html" "2.12.0" - "@parcel/transformer-image" "2.12.0" - "@parcel/transformer-js" "2.12.0" - "@parcel/transformer-json" "2.12.0" - "@parcel/transformer-postcss" "2.12.0" - "@parcel/transformer-posthtml" "2.12.0" - "@parcel/transformer-raw" "2.12.0" - "@parcel/transformer-react-refresh-wrap" "2.12.0" - "@parcel/transformer-svg" "2.12.0" - -"@parcel/core@^2.12.0", "@parcel/core@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/core/-/core-2.12.0.tgz" - integrity sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q== - dependencies: - "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/cache" "2.12.0" - "@parcel/diagnostic" "2.12.0" - "@parcel/events" "2.12.0" - "@parcel/fs" "2.12.0" - "@parcel/graph" "3.2.0" - "@parcel/logger" "2.12.0" - "@parcel/package-manager" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/profiler" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - "@parcel/workers" "2.12.0" - abortcontroller-polyfill "^1.1.9" - base-x "^3.0.8" - browserslist "^4.6.6" - clone "^2.1.1" - dotenv "^7.0.0" - dotenv-expand "^5.1.0" - json5 "^2.2.0" - msgpackr "^1.9.9" - nullthrows "^1.1.1" - semver "^7.5.2" - -"@parcel/diagnostic@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.12.0.tgz" - integrity sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA== - dependencies: - "@mischnic/json-sourcemap" "^0.1.0" - nullthrows "^1.1.1" - -"@parcel/events@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/events/-/events-2.12.0.tgz" - integrity sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA== - -"@parcel/fs@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz" - integrity sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q== - dependencies: - "@parcel/rust" "2.12.0" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - "@parcel/watcher" "^2.0.7" - "@parcel/workers" "2.12.0" - -"@parcel/graph@3.2.0": - version "3.2.0" - resolved "https://registry.npmjs.org/@parcel/graph/-/graph-3.2.0.tgz" - integrity sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA== - dependencies: - nullthrows "^1.1.1" - -"@parcel/logger@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/logger/-/logger-2.12.0.tgz" - integrity sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/events" "2.12.0" - -"@parcel/markdown-ansi@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz" - integrity sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w== - dependencies: - chalk "^4.1.0" - -"@parcel/namer-default@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.12.0.tgz" - integrity sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - nullthrows "^1.1.1" - -"@parcel/node-resolver-core@3.3.0": - version "3.3.0" - resolved "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz" - integrity sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA== - dependencies: - "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/diagnostic" "2.12.0" - "@parcel/fs" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/utils" "2.12.0" - nullthrows "^1.1.1" - semver "^7.5.2" - -"@parcel/optimizer-css@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz" - integrity sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.12.0" - browserslist "^4.6.6" - lightningcss "^1.22.1" - nullthrows "^1.1.1" - -"@parcel/optimizer-htmlnano@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz" - integrity sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ== - dependencies: - "@parcel/plugin" "2.12.0" - htmlnano "^2.0.0" - nullthrows "^1.1.1" - posthtml "^0.16.5" - svgo "^2.4.0" - -"@parcel/optimizer-image@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz" - integrity sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/utils" "2.12.0" - "@parcel/workers" "2.12.0" - -"@parcel/optimizer-svgo@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz" - integrity sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - svgo "^2.4.0" - -"@parcel/optimizer-swc@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz" - integrity sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.12.0" - "@swc/core" "^1.3.36" - nullthrows "^1.1.1" - -"@parcel/package-manager@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.12.0.tgz" - integrity sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/fs" "2.12.0" - "@parcel/logger" "2.12.0" - "@parcel/node-resolver-core" "3.3.0" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - "@parcel/workers" "2.12.0" - "@swc/core" "^1.3.36" - semver "^7.5.2" - -"@parcel/packager-css@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.12.0.tgz" - integrity sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.12.0" - lightningcss "^1.22.1" - nullthrows "^1.1.1" - -"@parcel/packager-html@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.12.0.tgz" - integrity sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - nullthrows "^1.1.1" - posthtml "^0.16.5" - -"@parcel/packager-js@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.12.0.tgz" - integrity sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - globals "^13.2.0" - nullthrows "^1.1.1" - -"@parcel/packager-raw-url@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.12.0.tgz" - integrity sha512-sH7cvLbotS+qknhQUCGfd9mslQr4KcanlZE5CgzM0uGn3SnyZoKznqHrbouzgnIP/LHgXKOKmMaNjPLtVe4rcA== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - -"@parcel/packager-raw@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.12.0.tgz" - integrity sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA== - dependencies: - "@parcel/plugin" "2.12.0" - -"@parcel/packager-svg@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.12.0.tgz" - integrity sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - posthtml "^0.16.4" - -"@parcel/packager-wasm@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz" - integrity sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A== - dependencies: - "@parcel/plugin" "2.12.0" - -"@parcel/plugin@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.12.0.tgz" - integrity sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g== - dependencies: - "@parcel/types" "2.12.0" - -"@parcel/profiler@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.12.0.tgz" - integrity sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/events" "2.12.0" - chrome-trace-event "^1.0.2" - -"@parcel/reporter-cli@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz" - integrity sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - chalk "^4.1.0" - term-size "^2.2.1" - -"@parcel/reporter-dev-server@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz" - integrity sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - -"@parcel/reporter-tracer@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz" - integrity sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - chrome-trace-event "^1.0.3" - nullthrows "^1.1.1" - -"@parcel/resolver-default@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.12.0.tgz" - integrity sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA== - dependencies: - "@parcel/node-resolver-core" "3.3.0" - "@parcel/plugin" "2.12.0" - -"@parcel/runtime-browser-hmr@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz" - integrity sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - -"@parcel/runtime-js@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.12.0.tgz" - integrity sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - nullthrows "^1.1.1" - -"@parcel/runtime-react-refresh@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz" - integrity sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - react-error-overlay "6.0.9" - react-refresh "^0.9.0" - -"@parcel/runtime-service-worker@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz" - integrity sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - nullthrows "^1.1.1" - -"@parcel/rust@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/rust/-/rust-2.12.0.tgz" - integrity sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw== - -"@parcel/source-map@^2.1.1": - version "2.1.1" - resolved "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz" - integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== - dependencies: - detect-libc "^1.0.3" - -"@parcel/transformer-babel@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz" - integrity sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.12.0" - browserslist "^4.6.6" - json5 "^2.2.0" - nullthrows "^1.1.1" - semver "^7.5.2" - -"@parcel/transformer-css@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.12.0.tgz" - integrity sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.12.0" - browserslist "^4.6.6" - lightningcss "^1.22.1" - nullthrows "^1.1.1" - -"@parcel/transformer-html@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.12.0.tgz" - integrity sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/rust" "2.12.0" - nullthrows "^1.1.1" - posthtml "^0.16.5" - posthtml-parser "^0.10.1" - posthtml-render "^3.0.0" - semver "^7.5.2" - srcset "4" - -"@parcel/transformer-image@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.12.0.tgz" - integrity sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - "@parcel/workers" "2.12.0" - nullthrows "^1.1.1" - -"@parcel/transformer-js@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.12.0.tgz" - integrity sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.12.0" - "@parcel/workers" "2.12.0" - "@swc/helpers" "^0.5.0" - browserslist "^4.6.6" - nullthrows "^1.1.1" - regenerator-runtime "^0.13.7" - semver "^7.5.2" - -"@parcel/transformer-json@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.12.0.tgz" - integrity sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ== - dependencies: - "@parcel/plugin" "2.12.0" - json5 "^2.2.0" - -"@parcel/transformer-postcss@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz" - integrity sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/utils" "2.12.0" - clone "^2.1.1" - nullthrows "^1.1.1" - postcss-value-parser "^4.2.0" - semver "^7.5.2" - -"@parcel/transformer-posthtml@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz" - integrity sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - nullthrows "^1.1.1" - posthtml "^0.16.5" - posthtml-parser "^0.10.1" - posthtml-render "^3.0.0" - semver "^7.5.2" - -"@parcel/transformer-raw@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz" - integrity sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ== - dependencies: - "@parcel/plugin" "2.12.0" - -"@parcel/transformer-react-refresh-wrap@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz" - integrity sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw== - dependencies: - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - react-refresh "^0.9.0" - -"@parcel/transformer-svg@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz" - integrity sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/rust" "2.12.0" - nullthrows "^1.1.1" - posthtml "^0.16.5" - posthtml-parser "^0.10.1" - posthtml-render "^3.0.0" - semver "^7.5.2" - -"@parcel/transformer-webmanifest@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.12.0.tgz" - integrity sha512-suiUv9DDEpyryHtzahbIeJSZTIeE/t4cdrU0Ikb/O46wsy5RLo59nE4E6TGWM84R7fQO8m/MhzeQM5Y3NV6jKg== - dependencies: - "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/diagnostic" "2.12.0" - "@parcel/plugin" "2.12.0" - "@parcel/utils" "2.12.0" - -"@parcel/types@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/types/-/types-2.12.0.tgz" - integrity sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ== - dependencies: - "@parcel/cache" "2.12.0" - "@parcel/diagnostic" "2.12.0" - "@parcel/fs" "2.12.0" - "@parcel/package-manager" "2.12.0" - "@parcel/source-map" "^2.1.1" - "@parcel/workers" "2.12.0" - utility-types "^3.10.0" - -"@parcel/utils@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/utils/-/utils-2.12.0.tgz" - integrity sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g== - dependencies: - "@parcel/codeframe" "2.12.0" - "@parcel/diagnostic" "2.12.0" - "@parcel/logger" "2.12.0" - "@parcel/markdown-ansi" "2.12.0" - "@parcel/rust" "2.12.0" - "@parcel/source-map" "^2.1.1" - chalk "^4.1.0" - nullthrows "^1.1.1" - -"@parcel/watcher-win32-x64@2.4.1": - version "2.4.1" - resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz" - integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== - -"@parcel/watcher@^2.0.7": - version "2.4.1" - resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz" - integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== - dependencies: - detect-libc "^1.0.3" - is-glob "^4.0.3" - micromatch "^4.0.5" - node-addon-api "^7.0.0" - optionalDependencies: - "@parcel/watcher-android-arm64" "2.4.1" - "@parcel/watcher-darwin-arm64" "2.4.1" - "@parcel/watcher-darwin-x64" "2.4.1" - "@parcel/watcher-freebsd-x64" "2.4.1" - "@parcel/watcher-linux-arm-glibc" "2.4.1" - "@parcel/watcher-linux-arm64-glibc" "2.4.1" - "@parcel/watcher-linux-arm64-musl" "2.4.1" - "@parcel/watcher-linux-x64-glibc" "2.4.1" - "@parcel/watcher-linux-x64-musl" "2.4.1" - "@parcel/watcher-win32-arm64" "2.4.1" - "@parcel/watcher-win32-ia32" "2.4.1" - "@parcel/watcher-win32-x64" "2.4.1" - -"@parcel/workers@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz" - integrity sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw== - dependencies: - "@parcel/diagnostic" "2.12.0" - "@parcel/logger" "2.12.0" - "@parcel/profiler" "2.12.0" - "@parcel/types" "2.12.0" - "@parcel/utils" "2.12.0" - nullthrows "^1.1.1" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@swc/core-win32-x64-msvc@1.4.2": - version "1.4.2" - resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz" - integrity sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw== - -"@swc/core@^1.3.36": - version "1.4.2" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.4.2.tgz" - integrity sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg== - dependencies: - "@swc/counter" "^0.1.2" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.4.2" - "@swc/core-darwin-x64" "1.4.2" - "@swc/core-linux-arm-gnueabihf" "1.4.2" - "@swc/core-linux-arm64-gnu" "1.4.2" - "@swc/core-linux-arm64-musl" "1.4.2" - "@swc/core-linux-x64-gnu" "1.4.2" - "@swc/core-linux-x64-musl" "1.4.2" - "@swc/core-win32-arm64-msvc" "1.4.2" - "@swc/core-win32-ia32-msvc" "1.4.2" - "@swc/core-win32-x64-msvc" "1.4.2" - -"@swc/counter@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" - integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== - -"@swc/helpers@^0.5.0": - version "0.5.12" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.12.tgz" - integrity sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g== - dependencies: - tslib "^2.4.0" - -"@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -abortcontroller-polyfill@^1.1.9: - version "1.7.5" - resolved "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz" - integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.8: - version "3.0.10" - resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz" - integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== - dependencies: - safe-buffer "^5.0.1" - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.6.6, "browserslist@>= 4.21.0": - version "4.23.3" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== - dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" - node-releases "^2.0.18" - update-browserslist-db "^1.1.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -caniuse-lite@^1.0.30001646: - version "1.0.30001653" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz" - integrity sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^7.0.0, commander@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -cosmiconfig@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz" - integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== - dependencies: - env-paths "^2.2.1" - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - -cross-spawn@^7.0.0: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.0.1, css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== - -detect-libc@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^4.2.0, domhandler@^4.2.2, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz" - integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -electron-to-chromium@^1.5.4: - version "1.5.13" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz" - integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -entities@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz" - integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== - -entities@^4.2.0: - version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -env-paths@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -get-port@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz" - integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^10.3.10: - version "10.4.5" - resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" - integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^3.1.2" - minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^1.11.1" - -globals@^13.2.0: - version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -htmlnano@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz" - integrity sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw== - dependencies: - cosmiconfig "^9.0.0" - posthtml "^0.16.5" - timsort "^0.3.0" - -htmlparser2@^7.1.1: - version "7.2.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz" - integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.2" - domutils "^2.8.0" - entities "^3.0.1" - -import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.13.0: - version "2.15.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== - dependencies: - hasown "^2.0.2" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-json@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz" - integrity sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jiti@^1.21.0: - version "1.21.6" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json5@^2.2.0, json5@^2.2.1: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -lightningcss-win32-x64-msvc@1.26.0: - version "1.26.0" - resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.26.0.tgz" - integrity sha512-pYS3EyGP3JRhfqEFYmfFDiZ9/pVNfy8jVIYtrx9TVNusVyDK3gpW1w/rbvroQ4bDJi7grdUtyrYU6V2xkY/bBw== - -lightningcss@^1.22.1: - version "1.26.0" - resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.26.0.tgz" - integrity sha512-a/XZ5hdgifrofQJUArr5AiJjx26SwMam3SJUSMjgebZbESZ96i+6Qsl8tLi0kaUsdMzBWXh9sN1Oe6hp2/dkQw== - dependencies: - detect-libc "^1.0.3" - optionalDependencies: - lightningcss-darwin-arm64 "1.26.0" - lightningcss-darwin-x64 "1.26.0" - lightningcss-freebsd-x64 "1.26.0" - lightningcss-linux-arm-gnueabihf "1.26.0" - lightningcss-linux-arm64-gnu "1.26.0" - lightningcss-linux-arm64-musl "1.26.0" - lightningcss-linux-x64-gnu "1.26.0" - lightningcss-linux-x64-musl "1.26.0" - lightningcss-win32-arm64-msvc "1.26.0" - lightningcss-win32-x64-msvc "1.26.0" - -lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0: - version "3.1.2" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lmdb@2.8.5: - version "2.8.5" - resolved "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz" - integrity sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ== - dependencies: - msgpackr "^1.9.5" - node-addon-api "^6.1.0" - node-gyp-build-optional-packages "5.1.1" - ordered-binary "^1.4.1" - weak-lru-cache "^1.2.2" - optionalDependencies: - "@lmdb/lmdb-darwin-arm64" "2.8.5" - "@lmdb/lmdb-darwin-x64" "2.8.5" - "@lmdb/lmdb-linux-arm" "2.8.5" - "@lmdb/lmdb-linux-arm64" "2.8.5" - "@lmdb/lmdb-linux-x64" "2.8.5" - "@lmdb/lmdb-win32-x64" "2.8.5" - -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - -msgpackr-extract@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz" - integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== - dependencies: - node-gyp-build-optional-packages "5.0.7" - optionalDependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" - -msgpackr@^1.9.5, msgpackr@^1.9.9: - version "1.11.0" - resolved "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz" - integrity sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw== - optionalDependencies: - msgpackr-extract "^3.0.2" - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -node-addon-api@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz" - integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - -node-addon-api@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz" - integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== - -node-gyp-build-optional-packages@5.0.7: - version "5.0.7" - resolved "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz" - integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== - -node-gyp-build-optional-packages@5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz" - integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw== - dependencies: - detect-libc "^2.0.1" - -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nullthrows@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" - integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -ordered-binary@^1.4.1: - version "1.5.1" - resolved "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz" - integrity sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A== - -package-json-from-dist@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz" - integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== - -parcel@^2.12.0: - version "2.12.0" - resolved "https://registry.npmjs.org/parcel/-/parcel-2.12.0.tgz" - integrity sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg== - dependencies: - "@parcel/config-default" "2.12.0" - "@parcel/core" "2.12.0" - "@parcel/diagnostic" "2.12.0" - "@parcel/events" "2.12.0" - "@parcel/fs" "2.12.0" - "@parcel/logger" "2.12.0" - "@parcel/package-manager" "2.12.0" - "@parcel/reporter-cli" "2.12.0" - "@parcel/reporter-dev-server" "2.12.0" - "@parcel/reporter-tracer" "2.12.0" - "@parcel/utils" "2.12.0" - chalk "^4.1.0" - commander "^7.0.0" - get-port "^4.2.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - 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" - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.11.1: - version "1.11.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-load-config@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" - integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== - dependencies: - lilconfig "^3.0.0" - yaml "^2.3.4" - -postcss-nested@^6.0.1: - version "6.2.0" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz" - integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== - dependencies: - postcss-selector-parser "^6.1.1" - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1: - version "6.1.2" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz" - integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.0.0, postcss@^8.2.14, postcss@^8.3.11, postcss@^8.4.21, postcss@^8.4.23, postcss@>=8.0.9: - version "8.4.41" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz" - integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.1" - source-map-js "^1.2.0" - -posthtml-parser@^0.10.1: - version "0.10.2" - resolved "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz" - integrity sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg== - dependencies: - htmlparser2 "^7.1.1" - -posthtml-parser@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz" - integrity sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw== - dependencies: - htmlparser2 "^7.1.1" - -posthtml-render@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz" - integrity sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA== - dependencies: - is-json "^2.0.1" - -posthtml@^0.16.4, posthtml@^0.16.5: - version "0.16.6" - resolved "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz" - integrity sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ== - dependencies: - posthtml-parser "^0.11.0" - posthtml-render "^3.0.0" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-error-overlay@6.0.9: - version "6.0.9" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz" - integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== - -react-refresh@^0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz" - integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regenerator-runtime@^0.13.7: - version "0.13.11" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.1.7, resolve@^1.22.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.0.1: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -semver@^7.5.2: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -srcset@4: - version "4.0.0" - resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" - integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== - -srcset@5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz" - integrity sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw== - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -sucrase@^3.32.0: - version "3.35.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" - integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svgo@^2.4.0: - version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -svgo@^3.0.2: - version "3.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz" - integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.3.1" - css-what "^6.1.0" - csso "^5.0.5" - picocolors "^1.0.0" - -tailwindcss@^3.4.10: - version "3.4.10" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz" - integrity sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.0" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.21.0" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" - -term-size@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" - integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tslib@^2.4.0: - version "2.7.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== - dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" - -util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utility-types@^3.10.0: - version "3.11.0" - resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz" - integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== - -weak-lru-cache@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz" - integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^2.3.4: - version "2.5.0" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz" - integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== From ba06439e7faefe67ca162b165415908dd9b25b5a Mon Sep 17 00:00:00 2001 From: Tancredi Date: Tue, 3 Sep 2024 18:10:20 +0200 Subject: [PATCH 4/4] fix: forcing .hidden to hide the element --- requirements.txt | 3 ++- webapp/drive/static/style.css | 4 ++++ webapp/package-lock.json | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index cf56a4cc..53fd1bcd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,4 +8,5 @@ matplotlib==3.5.0 pandas==1.3.4 Pillow==8.4.0 lxml==4.6.4 -uvicorn==0.30.6 \ No newline at end of file +uvicorn==0.30.6 +fastapi==0.112.2 \ No newline at end of file diff --git a/webapp/drive/static/style.css b/webapp/drive/static/style.css index 66012444..c417973d 100644 --- a/webapp/drive/static/style.css +++ b/webapp/drive/static/style.css @@ -102,4 +102,8 @@ body { .drive-file.clicked { opacity: 50%; cursor: progress; +} + +.hidden { + display: none; } \ No newline at end of file diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 011cb75a..38cacd29 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -9,12 +9,12 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "parcel": "^2.12.0" + "parcel": "2.12.0" }, "devDependencies": { "@parcel/packager-raw-url": "2.12.0", "@parcel/transformer-webmanifest": "2.12.0", - "tailwindcss": "^3.4.10" + "tailwindcss": "3.4.10" } }, "node_modules/@alloc/quick-lru": {